From 2b832689d2fccb2253c989b116c4e439cb485982 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 26 Jul 2014 16:10:12 -0600 Subject: [PATCH 001/555] Stake For Charity on RPC --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/main.cpp | 5 +++++ src/qt/walletmodel.cpp | 13 ++++++++++++ src/qt/walletmodel.h | 3 +++ src/rpcwallet.cpp | 46 ++++++++++++++++++++++++++++++++++++++++-- src/wallet.cpp | 44 ++++++++++++++++++++++++++++++++++++---- src/wallet.h | 16 ++++++++++++--- 8 files changed, 121 insertions(+), 9 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 8dae519d5..67bbc0bdc 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -272,6 +272,7 @@ static const CRPCCommand vRPCCommands[] = { "resendtx", &resendtx, false, true}, { "makekeypair", &makekeypair, false, true}, { "sendalert", &sendalert, false, false}, + { "stakeforcharity", &stakeforcharity, false, false }, }; CRPCTable::CRPCTable() @@ -1195,6 +1196,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); + if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index f89271382..f26fba06d 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -191,6 +191,7 @@ extern json_spirit::Value makekeypair(const json_spirit::Array& params, bool fHe extern json_spirit::Value validatepubkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getnewpubkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index df5b84856..950ec1fd4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2341,6 +2341,11 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) printf("ProcessBlock: ACCEPTED\n"); + // If turned on stakeforcharity, send a portion of stake reward to savings account address + if (pwalletMain->fStakeForCharity) + if (!pwalletMain->StakeForCharity() ) + printf("ERROR While trying to send portion of stake reward to savings account"); + // ppcoin: if responsible for sync-checkpoint send it if (pfrom && !CSyncCheckpoint::strMasterPrivKey.empty()) Checkpoints::SendSyncCheckpoint(Checkpoints::AutoSelectSyncCheckpoint()); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 6c3283426..3ff0298d9 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -310,6 +310,19 @@ bool WalletModel::backupWallet(const QString &filename) return BackupWallet(*wallet, filename.toLocal8Bit().data()); } +int WalletModel::getStakeForCharityPercent() +{ + return wallet->nStakeForCharityPercent; +} + +QString WalletModel::getStakeForCharityAddress() +{ + if (!wallet->StakeForCharityAddress.IsValid()) + return "Not Saving"; + else + return wallet->StakeForCharityAddress.ToString().c_str(); +} + void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) { wallet->GetStakeWeightFromValue(nTime, nValue, nWeight); diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 0a7023129..2424bc904 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -100,6 +100,9 @@ class WalletModel : public QObject void repairWallet(int& nMismatchSpent, qint64& nBalanceInQuestion, int& nOrphansFound); //Stake Weight for coin control dialog void getStakeWeightFromValue(const qint64& nTime, const qint64& nValue, quint64& nWeight); + //Wallet Information about StakeForCharity + int getStakeForCharityPercent(); + QString getStakeForCharityAddress(); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2c177dfe1..c8d0a5e83 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -337,6 +337,48 @@ Value getaccountaddress(const Array& params, bool fHelp) return ret; } +Value stakeforcharity(const Array ¶ms, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "stakeforcharity \n" + "Gives a percentage of a found stake to a different address, after stake matures\n" + "Percent is a whole number 1 to 50.\n" + "Set percentage to zero to turn off" + + HelpRequiringPassphrase()); + + CBitcoinAddress address(params[0].get_str()); + if (!address.IsValid()) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); + + if (params[1].get_int() < 0) + throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid percentage"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); + + unsigned int nPer = (unsigned int) params[1].get_int(); + + //Turn off if we set to zero. + //Future: After we allow multiple addresses, only turn of this address + if(nPer == 0) + { + pwalletMain->fStakeForCharity = false; + pwalletMain->StakeForCharityAddress = ""; + pwalletMain->nStakeForCharityPercent = 0; + return Value::null; + } + + //For now max percentage is 50. + if (nPer > 50 ) + nPer = 50; + + pwalletMain->StakeForCharityAddress = address; + pwalletMain->nStakeForCharityPercent = nPer; + pwalletMain->fStakeForCharity = true; + + return Value::null; +} Value setaccount(const Array& params, bool fHelp) @@ -437,7 +479,7 @@ Value sendtoaddress(const Array& params, bool fHelp) if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx); + string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx, false, false); if (strError != "") throw JSONRPCError(RPC_WALLET_ERROR, strError); @@ -869,7 +911,7 @@ Value sendfrom(const Array& params, bool fHelp) throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Account has insufficient funds"); // Send - string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx); + string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx, false, false); if (strError != "") throw JSONRPCError(RPC_WALLET_ERROR, strError); diff --git a/src/wallet.cpp b/src/wallet.cpp index b7140ed9c..1560d08b1 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1107,6 +1107,40 @@ int64 CWallet::GetNewMint() const return nTotal; } +bool CWallet::StakeForCharity() +{ + + if ( IsInitialBlockDownload() || IsLocked() ) + return false; + + CWalletTx wtx; + int64 nNet = 0; + + { + LOCK(cs_wallet); + for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) + { + const CWalletTx* pcoin = &(*it).second; + if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() == 0 && pcoin->GetDepthInMainChain() == nCoinbaseMaturity+20) + { + // Calculate Amount for Savings + nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; + + // Do not send if amount is too low + if (nNet < MIN_TXOUT_AMOUNT ) + { + printf("StakeForCharity: Amount: %s is below MIN_TXOUT_AMOUNT: %s\n",FormatMoney(nNet).c_str(),FormatMoney(MIN_TXOUT_AMOUNT).c_str()); + return false; + } + + printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), StakeForCharityAddress.ToString().c_str()); + SendMoneyToDestination(StakeForCharityAddress.Get(), nNet, wtx, false,true); + } + } + } + return true; +} + bool CWallet::SelectCoinsMinConf(int64 nTargetValue, unsigned int nSpendTime, int nConfMine, int nConfTheirs, vector vCoins, set >& setCoinsRet, int64& nValueRet) const { setCoinsRet.clear(); @@ -1769,7 +1803,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) -string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee) +string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee, bool fAllowStakeForCharity) { CReserveKey reservekey(this); int64 nFeeRequired; @@ -1780,12 +1814,14 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, printf("SendMoney() : %s", strError.c_str()); return strError; } - if (fWalletUnlockMintOnly) + // stakeforcharity is the only allowable option to send coins when the UnlockMintOnly flag is set. + if ( fWalletUnlockMintOnly && !fAllowStakeForCharity ) { string strError = _("Error: Wallet unlocked for block minting only, unable to create transaction."); printf("SendMoney() : %s", strError.c_str()); return strError; } + if (!CreateTransaction(scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired)) { string strError; @@ -1808,7 +1844,7 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, -string CWallet::SendMoneyToDestination(const CTxDestination& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee) +string CWallet::SendMoneyToDestination(const CTxDestination& address, int64 nValue, CWalletTx& wtxNew, bool fAskFee, bool fAllowStakeForCharity) { // Check amount if (nValue <= 0) @@ -1820,7 +1856,7 @@ string CWallet::SendMoneyToDestination(const CTxDestination& address, int64 nVal CScript scriptPubKey; scriptPubKey.SetDestination(address); - return SendMoney(scriptPubKey, nValue, wtxNew, fAskFee); + return SendMoney(scriptPubKey, nValue, wtxNew, fAskFee, fAllowStakeForCharity); } diff --git a/src/wallet.h b/src/wallet.h index 5bc3f6db5..749e56fa7 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -85,7 +85,10 @@ class CWallet : public CCryptoKeyStore bool fFileBacked; std::string strWalletFile; - + bool fStakeForCharity; + int nStakeForCharityPercent; + CBitcoinAddress StakeForCharityAddress; + std::set setKeyPool; @@ -101,6 +104,9 @@ class CWallet : public CCryptoKeyStore nMasterKeyMaxID = 0; pwalletdbEncryption = NULL; nOrderPosNext = 0; + fStakeForCharity = false; + nStakeForCharityPercent = 0; + StakeForCharityAddress = ""; } CWallet(std::string strWalletFileIn) { @@ -111,6 +117,9 @@ class CWallet : public CCryptoKeyStore nMasterKeyMaxID = 0; pwalletdbEncryption = NULL; nOrderPosNext = 0; + fStakeForCharity = false; + nStakeForCharityPercent = 0; + StakeForCharityAddress = ""; } std::map mapWallet; @@ -175,6 +184,7 @@ class CWallet : public CCryptoKeyStore int64 GetImmatureBalance() const; int64 GetStake() const; int64 GetNewMint() const; + bool StakeForCharity(); bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); @@ -182,8 +192,8 @@ class CWallet : public CCryptoKeyStore bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); - std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); - std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false); + std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); + std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); bool NewKeyPool(); bool TopUpKeyPool(); From f59424693fed05ebfca29b3004e8ca1d023fcfcb Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 27 Jul 2014 19:35:43 -0600 Subject: [PATCH 002/555] Stake For Charity GUI --- HyperStake-qt.pro | 3 + src/qt/bitcoingui.cpp | 17 +++++ src/qt/bitcoingui.h | 4 + src/qt/charitydialog.cpp | 84 ++++++++++++++++++++ src/qt/charitydialog.h | 29 +++++++ src/qt/forms/charitydialog.ui | 140 ++++++++++++++++++++++++++++++++++ 6 files changed, 277 insertions(+) create mode 100644 src/qt/charitydialog.cpp create mode 100644 src/qt/charitydialog.h create mode 100644 src/qt/forms/charitydialog.ui diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index d26088d3b..e6c5162c1 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -131,6 +131,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ + src/qt/charitydialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -223,6 +224,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ + src/qt/charitydialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -297,6 +299,7 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ + src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ src/qt/forms/overviewpage.ui \ diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0a648cdd3..05f3d4cf7 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -11,6 +11,7 @@ #include "signverifymessagedialog.h" #include "optionsdialog.h" #include "aboutdialog.h" +#include "charitydialog.h" #include "clientmodel.h" #include "walletmodel.h" #include "editaddressdialog.h" @@ -265,6 +266,11 @@ void BitcoinGUI::createActions() aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About HyperStake"), this); aboutAction->setToolTip(tr("Show information about HyperStake")); aboutAction->setMenuRole(QAction::AboutRole); + + charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); + charityAction->setToolTip(tr("Enable Stake For Charity")); + charityAction->setMenuRole(QAction::AboutRole); + aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); @@ -299,6 +305,9 @@ void BitcoinGUI::createActions() connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); + + connect(charityAction, SIGNAL(triggered()), this, SLOT(charityClicked())); + connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); connect(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden())); @@ -339,6 +348,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(lockWalletToggleAction); settings->addAction(checkWalletAction); settings->addAction(repairWalletAction); + settings->addAction(charityAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -502,6 +512,13 @@ void BitcoinGUI::aboutClicked() dlg.exec(); } +void BitcoinGUI::charityClicked() +{ + charityDialog dlg; + dlg.setModel(clientModel); + dlg.exec(); +} + void BitcoinGUI::setNumConnections(int count) { QString icon; diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index c3884fb59..022abee30 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -84,6 +84,7 @@ class BitcoinGUI : public QMainWindow QAction *signMessageAction; QAction *verifyMessageAction; QAction *aboutAction; + QAction *charityAction; QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; @@ -97,6 +98,7 @@ class BitcoinGUI : public QMainWindow QAction *repairWalletAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; + QSystemTrayIcon *trayIcon; Notificator *notificator; @@ -163,6 +165,8 @@ private slots: void optionsClicked(); /** Show about dialog */ void aboutClicked(); + /** Show Stake For Charity Dialog */ + void charityClicked(); #ifndef Q_OS_MAC /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp new file mode 100644 index 000000000..029069f99 --- /dev/null +++ b/src/qt/charitydialog.cpp @@ -0,0 +1,84 @@ +#include "charitydialog.h" +#include "ui_charitydialog.h" + +#include "clientmodel.h" +#include "notificator.h" +#include "version.h" + +#include "wallet.h" +#include "walletdb.h" +#include "main.h" +#include "init.h" + +charityDialog::charityDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::charityDialog) +{ + ui->setupUi(this); +} + +charityDialog::~charityDialog() +{ + delete ui; +} + +void charityDialog::setModel(ClientModel *model) +{ + +} + +void charityDialog::on_buttonBox_accepted() +{ + CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); + + if (!address.IsValid()) + { + //notificator->notify(Notificator::Warning, tr("Invalid HyperStake address")); + close(); + } + + + QString str = ui->charityPercentEdit->text(); + bool fIntConversion; + unsigned int nCharityPercent = str.toInt(&fIntConversion, 10); + + //if (nCharityPercent < 0) + // { + //notificator->notify(Notificator::Warning, tr("Invalid parameter, expected valid percentage")); + // close(); + // } + + + if (pwalletMain->IsLocked()) + { + // notificator->notify(Notificator::Warning, tr("Error: Please enter the wallet passphrase with walletpassphrase first.")); + close(); + } + + //Turn off if we set to zero. + //Future: After we allow multiple addresses, only turn of this address + if(nCharityPercent == 0) + { + pwalletMain->fStakeForCharity = false; + pwalletMain->StakeForCharityAddress = ""; + pwalletMain->nStakeForCharityPercent = 0; + // notificator->notify(Notificator::Warning, tr("0 Percent Selected, void")); + close(); + } + + //For now max percentage is 50. + if (nCharityPercent > 50 ) + nCharityPercent = 50; + + pwalletMain->StakeForCharityAddress = address; + pwalletMain->nStakeForCharityPercent = nCharityPercent; + pwalletMain->fStakeForCharity = true; + + // notificator->notify(Notificator::Warning, tr("Stake For Charity Set")); + close(); +} + +void charityDialog::on_buttonBox_rejected() +{ + close(); +} diff --git a/src/qt/charitydialog.h b/src/qt/charitydialog.h new file mode 100644 index 000000000..380d548b5 --- /dev/null +++ b/src/qt/charitydialog.h @@ -0,0 +1,29 @@ +#ifndef CHARITYDIALOG_H +#define CHARITYDIALOG_H + +#include + +namespace Ui { +class charityDialog; +} +class ClientModel; + +class charityDialog : public QDialog +{ + Q_OBJECT + +public: + explicit charityDialog(QWidget *parent = 0); + ~charityDialog(); + + void setModel(ClientModel *model); +private slots: + void on_buttonBox_accepted(); + + void on_buttonBox_rejected(); + +private: + Ui::charityDialog *ui; +}; + +#endif // CHARITYDIALOG_H diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui new file mode 100644 index 000000000..1d4b198f1 --- /dev/null +++ b/src/qt/forms/charitydialog.ui @@ -0,0 +1,140 @@ + + + charityDialog + + + + 0 + 0 + 250 + 300 + + + + S4C + + + + + -130 + 250 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 40 + 190 + 171 + 20 + + + + Enter % to Send (1-50) + + + + + + 40 + 220 + 171 + 20 + + + + Enter Address to Send to + + + + + + 0 + 10 + 251 + 31 + + + + + 16 + + + + Stake For Charity + + + false + + + Qt::AlignCenter + + + + + + 35 + 42 + 181 + 141 + + + + 1 + + + Stake For Charity allows you to automatically send up to 50% of your stake to another HyperStake address. Stake For Charity requires that the staked block recieve 30 confirmations before the transaction is automatically sent. Stake For Charity is not stored in long term memory and must be set each time the wallet is started. + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + + buttonBox + accepted() + charityDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + charityDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + From 0da134ddf6e34c761985b885717330e6d08b7854 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 27 Jul 2014 21:49:09 -0600 Subject: [PATCH 003/555] Add msgBox errors to S4C GUI --- src/qt/charitydialog.cpp | 46 +++++++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 029069f99..ab15c42cd 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -10,6 +10,8 @@ #include "main.h" #include "init.h" +#include + charityDialog::charityDialog(QWidget *parent) : QDialog(parent), ui(new Ui::charityDialog) @@ -29,30 +31,30 @@ void charityDialog::setModel(ClientModel *model) void charityDialog::on_buttonBox_accepted() { + QMessageBox msgBox; CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); + QString str = ui->charityPercentEdit->text(); + bool fIntConversion; + unsigned int nCharityPercent = str.toInt(&fIntConversion, 10); + if (!address.IsValid()) { - //notificator->notify(Notificator::Warning, tr("Invalid HyperStake address")); - close(); + msgBox.setText("Invalid HyperStake address"); + msgBox.exec(); + return; + } + if (nCharityPercent < 1) + { + msgBox.setText("Invalid parameter, expected valid percentage"); + msgBox.exec(); + return; } - - - QString str = ui->charityPercentEdit->text(); - bool fIntConversion; - unsigned int nCharityPercent = str.toInt(&fIntConversion, 10); - - //if (nCharityPercent < 0) - // { - //notificator->notify(Notificator::Warning, tr("Invalid parameter, expected valid percentage")); - // close(); - // } - - if (pwalletMain->IsLocked()) { - // notificator->notify(Notificator::Warning, tr("Error: Please enter the wallet passphrase with walletpassphrase first.")); - close(); + msgBox.setText("Error: Please enter the wallet passphrase with walletpassphrase first."); + msgBox.exec(); + return; } //Turn off if we set to zero. @@ -62,10 +64,13 @@ void charityDialog::on_buttonBox_accepted() pwalletMain->fStakeForCharity = false; pwalletMain->StakeForCharityAddress = ""; pwalletMain->nStakeForCharityPercent = 0; - // notificator->notify(Notificator::Warning, tr("0 Percent Selected, void")); - close(); + + msgBox.setText("0 Percent Selected, void"); + msgBox.exec(); + return; } + //For now max percentage is 50. if (nCharityPercent > 50 ) nCharityPercent = 50; @@ -74,7 +79,8 @@ void charityDialog::on_buttonBox_accepted() pwalletMain->nStakeForCharityPercent = nCharityPercent; pwalletMain->fStakeForCharity = true; - // notificator->notify(Notificator::Warning, tr("Stake For Charity Set")); + msgBox.setText("Stake For Charity Set"); + msgBox.exec(); close(); } From 4acd219aa410311d59959cc54be223195942ce2f Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 27 Jul 2014 23:22:07 -0600 Subject: [PATCH 004/555] Update linux .pro --- HyperStake-qt-linux.pro | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro index e98bb1287..414a73437 100644 --- a/HyperStake-qt-linux.pro +++ b/HyperStake-qt-linux.pro @@ -34,7 +34,7 @@ QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 # This can be enabled for Windows, when we switch to MinGW >= 4.4.x. } # for extra security on Windows: enable ASLR and DEP via GCC linker flags -win32:QMAKE_LFLAGS *= -Wl,--dynamicbase -Wl,--nxcompat +win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static # use: qmake "USE_QRCODE=1" # libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support @@ -114,6 +114,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ + src/qt/charitydialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -206,6 +207,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ + src/qt/charitydialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -280,6 +282,7 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ + src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ src/qt/forms/overviewpage.ui \ From 2ae0d430ec085aad09707ff37841877bed012cdc Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 28 Jul 2014 00:24:59 -0600 Subject: [PATCH 005/555] Hours Until Next Maturity to Notificator --- src/qt/bitcoingui.cpp | 6 +++--- src/qt/bitcoingui.h | 1 + src/wallet.cpp | 20 ++++++++++++++++---- src/wallet.h | 2 +- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 05f3d4cf7..4cb5ff905 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -162,7 +162,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): timerMintingWeights->start(30 * 1000); connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights - nWeight, nNetworkWeight = 0; + nWeight, nHoursToMaturity, nNetworkWeight = 0; // Progress bar and label for blocks download progressBarLabel = new QLabel(); @@ -1047,7 +1047,7 @@ void BitcoinGUI::updateMintingIcon() } else if (!nWeight) { - labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
Network weight is %1").arg(nNetworkWeight)); + labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
Next block matures in %2 hours
Network weight is %1").arg(nNetworkWeight).arg(nHoursToMaturity)); labelMintingIcon->setEnabled(false); } else if (nLastCoinStakeSearchInterval) @@ -1090,7 +1090,7 @@ void BitcoinGUI::updateMintingWeights() nWeight = 0; if (pwalletMain) - pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight); + pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); nNetworkWeight = GetPoSKernelPS(); } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 022abee30..cf912d55f 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -110,6 +110,7 @@ class BitcoinGUI : public QMainWindow uint64 nMinMax; uint64 nWeight; uint64 nNetworkWeight; + uint64 nHoursToMaturity; /** Create the main UI actions. */ void createActions(); diff --git a/src/wallet.cpp b/src/wallet.cpp index 1560d08b1..c06158614 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1478,11 +1478,12 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint } //This is added for informational purposes since staking takes 8.8 days min approx. because of bug -bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight) +bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity) { // Choose coins to use int64 nBalance = GetBalance(); - + + int64 nReserveBalance = 0; if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) return error("CreateCoinStake : invalid reserve balance amount"); @@ -1498,7 +1499,11 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin if (setCoins.empty()) return false; - + + // variables for next stake calculation + uint64 nPrevAge = 0; + uint64 nStakeAge = 60 * 60 * 24 * 88 / 10; + CTxDB txdb("r"); BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { @@ -1508,7 +1513,14 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin if (!txdb.ReadTxIndex(pcoin.first->GetHash(), txindex)) continue; } - + + // Time Until Next Maturity + uint64 nCurrentAge = (int64)GetTime() - (int64)pcoin.first->nTime; + if (nCurrentAge > nPrevAge) + { + nPrevAge = nCurrentAge; + nHoursToMaturity = ((nStakeAge - nPrevAge) / 60 / 60) + 1; + } int64 nTimeWeight = GetWeight2((int64)pcoin.first->nTime, (int64)GetTime()); CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); diff --git a/src/wallet.h b/src/wallet.h index 749e56fa7..f31a6bf24 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -189,7 +189,7 @@ class CWallet : public CCryptoKeyStore bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); - bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); + bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); From 04ac726333324af51a169c80df665dbce9d6bb36 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 28 Jul 2014 18:11:55 -0600 Subject: [PATCH 006/555] Show 0 hours to maturity with no confirmed blocks --- src/qt/bitcoingui.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 4cb5ff905..e460935b9 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1091,7 +1091,9 @@ void BitcoinGUI::updateMintingWeights() if (pwalletMain) pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); - + + if (nHoursToMaturity > 212) + nHoursToMaturity = 0; nNetworkWeight = GetPoSKernelPS(); } } From 15266a3e4e365cb9a88ac104b36bdd243a724c55 Mon Sep 17 00:00:00 2001 From: Tranz5 Date: Wed, 30 Jul 2014 00:47:50 -0400 Subject: [PATCH 007/555] QT: Sort Trans by Date --- src/qt/overviewpage.cpp | 2 +- src/qt/transactionview.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index f43a3d554..1798f852a 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -164,7 +164,7 @@ void OverviewPage::setModel(WalletModel *model) filter->setLimit(NUM_ITEMS); filter->setDynamicSortFilter(true); filter->setSortRole(Qt::EditRole); - filter->sort(TransactionTableModel::Status, Qt::DescendingOrder); + filter->sort(TransactionTableModel::Date, Qt::DescendingOrder); ui->listTransactions->setModel(filter); ui->listTransactions->setModelColumn(TransactionTableModel::ToAddress); diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 7a1af98d6..6a32f26bb 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -171,7 +171,7 @@ void TransactionView::setModel(WalletModel *model) transactionView->setSelectionBehavior(QAbstractItemView::SelectRows); transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection); transactionView->setSortingEnabled(true); - transactionView->sortByColumn(TransactionTableModel::Status, Qt::DescendingOrder); + transactionView->sortByColumn(TransactionTableModel::Date, Qt::DescendingOrder); transactionView->verticalHeader()->hide(); transactionView->horizontalHeader()->resizeSection( From 3afd1b322c513b59bac8bc66120339249fb12ea0 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 31 Jul 2014 14:55:59 -0600 Subject: [PATCH 008/555] Add S4C to Minting Notificator --- src/qt/bitcoingui.cpp | 19 ++++++++++++------- src/qt/bitcoingui.h | 2 ++ src/qt/walletmodel.cpp | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index e460935b9..f3f8dc423 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1032,22 +1032,22 @@ void BitcoinGUI::updateMintingIcon() { if (pwalletMain && pwalletMain->IsLocked()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
Network weight is %1").arg(nNetworkWeight)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
Network weight is %1.
S4C %: %2
S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); } else if (vNodes.empty()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
Network weight is %1").arg(nNetworkWeight)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
Network weight is %1.
S4C %: %2
S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); } else if (IsInitialBlockDownload()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
Network weight is %1").arg(nNetworkWeight)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
Network weight is %1.
S4C %: %2
S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); } else if (!nWeight) { - labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
Next block matures in %2 hours
Network weight is %1").arg(nNetworkWeight).arg(nHoursToMaturity)); + labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
Next block matures in %2 hours
Network weight is %1
S4C %: %3
S4C Address: %4").arg(nNetworkWeight).arg(nHoursToMaturity).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); } else if (nLastCoinStakeSearchInterval) @@ -1073,7 +1073,7 @@ void BitcoinGUI::updateMintingIcon() } labelMintingIcon->setEnabled(true); - labelMintingIcon->setToolTip(tr("Minting.
Your weight is %1.
Network weight is %2.
Expected time to earn reward is %3.").arg(nWeight).arg(nNetworkWeight).arg(text)); + labelMintingIcon->setToolTip(tr("Minting.
Your weight is %1.
Network weight is %2.
Expected time to earn reward is %3.
S4C %: %4
S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); } else { @@ -1088,10 +1088,15 @@ void BitcoinGUI::updateMintingWeights() if ((clientModel && clientModel->getNumBlocks() == clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) { nWeight = 0; - + nCharityPercent = 0; + if (pwalletMain) - pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); + pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); + nCharityPercent = walletModel->getStakeForCharityPercent(); + strCharityAddress = walletModel->getStakeForCharityAddress(); + + if (nHoursToMaturity > 212) nHoursToMaturity = 0; nNetworkWeight = GetPoSKernelPS(); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index cf912d55f..56eeb6154 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -111,6 +111,8 @@ class BitcoinGUI : public QMainWindow uint64 nWeight; uint64 nNetworkWeight; uint64 nHoursToMaturity; + int nCharityPercent; + QString strCharityAddress; /** Create the main UI actions. */ void createActions(); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 3ff0298d9..58710e3d0 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -318,7 +318,7 @@ int WalletModel::getStakeForCharityPercent() QString WalletModel::getStakeForCharityAddress() { if (!wallet->StakeForCharityAddress.IsValid()) - return "Not Saving"; + return "Not Set"; else return wallet->StakeForCharityAddress.ToString().c_str(); } From af3fc03858642431a98670f26dfcedad32d5bf2e Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 31 Jul 2014 15:09:20 -0600 Subject: [PATCH 009/555] reduce stake prediction --- src/qt/bitcoingui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f3f8dc423..7ee9e3fd3 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1052,7 +1052,7 @@ void BitcoinGUI::updateMintingIcon() } else if (nLastCoinStakeSearchInterval) { - uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight; + uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; QString text; if (nEstimateTime < 60) From 3be8fe95c7ad8f91e75ffb8d3087291dfd1991d9 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 31 Jul 2014 22:36:24 -0600 Subject: [PATCH 010/555] Add Disable S4C Button & update 30 secs --- src/qt/charitydialog.cpp | 12 ++++++++++++ src/qt/charitydialog.h | 2 ++ src/qt/forms/charitydialog.ui | 15 ++++++++++++++- src/qt/guiconstants.h | 2 +- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index ab15c42cd..263f1490e 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -88,3 +88,15 @@ void charityDialog::on_buttonBox_rejected() { close(); } + +void charityDialog::on_pushButton_clicked() +{ + QMessageBox msgBox; + pwalletMain->fStakeForCharity = false; + pwalletMain->StakeForCharityAddress = ""; + pwalletMain->nStakeForCharityPercent = 0; + + msgBox.setText("Stake For Charity Disabled"); + msgBox.exec(); + +} diff --git a/src/qt/charitydialog.h b/src/qt/charitydialog.h index 380d548b5..d37b6d013 100644 --- a/src/qt/charitydialog.h +++ b/src/qt/charitydialog.h @@ -22,6 +22,8 @@ private slots: void on_buttonBox_rejected(); + void on_pushButton_clicked(); + private: Ui::charityDialog *ui; }; diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index 1d4b198f1..fa9f1266a 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -7,7 +7,7 @@ 0 0 250 - 300 + 318 @@ -101,6 +101,19 @@ true + + + + 90 + 280 + 91 + 23 + + + + Disable S4C + + diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 405ba396b..60e290101 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 500; +static const int MODEL_UPDATE_DELAY = 30; //update every 30 seconds /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; From a54b0e91f89591607f074846f69a97eaea77dcb2 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 31 Jul 2014 22:49:17 -0600 Subject: [PATCH 011/555] Update charitydialog to fit address --- src/qt/forms/charitydialog.ui | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index fa9f1266a..e9d94b267 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -32,9 +32,9 @@ - 40 + 10 190 - 171 + 231 20 @@ -45,12 +45,17 @@ - 40 + 10 220 - 171 + 231 20 + + + 7 + + Enter Address to Send to From 15a2ccfdcd3df3ed9038c50b75ea9516a4cc0cbf Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 31 Jul 2014 23:36:58 -0600 Subject: [PATCH 012/555] Fix icon updating --- src/qt/bitcoingui.cpp | 2 +- src/qt/guiconstants.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7ee9e3fd3..01e23fb63 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -159,7 +159,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); - timerMintingWeights->start(30 * 1000); + timerMintingWeights->start(MODEL_UPDATE_DELAY); connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights nWeight, nHoursToMaturity, nNetworkWeight = 0; diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 60e290101..2bd31cddf 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 30; //update every 30 seconds +static const int MODEL_UPDATE_DELAY = 30 * 1000; //update every 30 seconds /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; From a2871b256275655d38695fbdbdc12196a006a575 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Aug 2014 09:06:58 -0600 Subject: [PATCH 013/555] Icon & Update to Timer --- src/qt/bitcoingui.cpp | 2 +- src/qt/guiconstants.h | 2 +- src/qt/res/icons/hyperstake.ico | Bin 100544 -> 22382 bytes 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 01e23fb63..7ee9e3fd3 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -159,7 +159,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); - timerMintingWeights->start(MODEL_UPDATE_DELAY); + timerMintingWeights->start(30 * 1000); connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights nWeight, nHoursToMaturity, nNetworkWeight = 0; diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 2bd31cddf..6e80a02aa 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 30 * 1000; //update every 30 seconds +static const int MODEL_UPDATE_DELAY = 1000; //update every second /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; diff --git a/src/qt/res/icons/hyperstake.ico b/src/qt/res/icons/hyperstake.ico index 6eee86c9e7cc973c5b512a0ce081f46d2cdbc28a..6ab12862891e7b2fc1038d37e32a6e586f7e2ec8 100644 GIT binary patch literal 22382 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

E!Ax7vhF`nzo@S-;wsm3j>Yb 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 Date: Sat, 2 Aug 2014 13:44:39 -0600 Subject: [PATCH 014/555] getstaketx RPC --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 57 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 67bbc0bdc..d2d28919c 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -244,6 +244,7 @@ static const CRPCCommand vRPCCommands[] = { "getblockbynumber", &getblockbynumber, false, false }, { "getblockhash", &getblockhash, false, false }, { "gettransaction", &gettransaction, false, false }, + { "getstaketx", &getstaketx, false, false }, { "listtransactions", &listtransactions, false, false }, { "listaddressgroupings", &listaddressgroupings, false, false }, { "signmessage", &signmessage, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index f26fba06d..7a7291a53 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -175,6 +175,7 @@ extern json_spirit::Value listaddressgroupings(const json_spirit::Array& params, extern json_spirit::Value listaccounts(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listsinceblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value gettransaction(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getstaketx(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value backupwallet(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value keypoolrefill(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value walletpassphrase(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c8d0a5e83..ded53aef6 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1471,6 +1471,61 @@ Value listsinceblock(const Array& params, bool fHelp) return ret; } +Value getstaketx(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getstaketx \n" + "Get detailed information about a specific stake "); + + uint256 hash; + hash.SetHex(params[0].get_str()); + + Object entry; + Array vin; + + if (pwalletMain->mapWallet.count(hash)) + { + const CWalletTx& wtx = pwalletMain->mapWallet[hash]; + + BOOST_FOREACH(const CTxIn& txin, wtx.vin) + { + Object in; + if (wtx.IsCoinBase()) + entry.push_back(Pair("coinbase", HexStr(txin.scriptSig.begin(), txin.scriptSig.end()))); + else + { + CTransaction& txPrev = pwalletMain->mapWallet[txin.prevout.hash]; //first transaction + uint64 nTime = wtx.nTime; //stake tx time + uint64 nPrevTime = txPrev.nTime; //previous tx time + uint64 nTimeToStake = nTime - nPrevTime; // time to stake in seconds + double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; + + //entry.push_back(Pair("txid", txin.prevout.hash.GetHex())); previous txid - not necessary to display right now + entry.push_back(Pair("stake tx time", nTime)); + entry.push_back(Pair("previous time", nPrevTime)); + entry.push_back(Pair("days to stake", dDaysToStake)); + + int64 nDebit = wtx.GetDebit(); + int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); + + int64 nGeneratedImmature, nGeneratedMature, nFee2; + string strSentAccount; + list > listReceived; + list > listSent; + wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); + uint64 nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); + + entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); + entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); + entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); + entry.push_back(Pair("Size of Each New Block", ValueFromAmount(nGeneratedAmount/2))); + } + } + } + return entry; +} + Value gettransaction(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) From d72d20057bc299159115fbbc8f7c33711dbb181d Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 2 Aug 2014 13:50:44 -0600 Subject: [PATCH 015/555] format getstaketx text --- src/rpcwallet.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index ded53aef6..026f75e45 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1502,9 +1502,9 @@ Value getstaketx(const Array& params, bool fHelp) double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; //entry.push_back(Pair("txid", txin.prevout.hash.GetHex())); previous txid - not necessary to display right now - entry.push_back(Pair("stake tx time", nTime)); - entry.push_back(Pair("previous time", nPrevTime)); - entry.push_back(Pair("days to stake", dDaysToStake)); + entry.push_back(Pair("Stake TX Time", nTime)); + entry.push_back(Pair("Previous Time", nPrevTime)); + entry.push_back(Pair("Days To Stake", dDaysToStake)); int64 nDebit = wtx.GetDebit(); int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); From 795b0ed2f2570de098e2206a32be917064f6bc43 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 2 Aug 2014 15:20:05 -0600 Subject: [PATCH 016/555] tweak icons --- src/qt/bitcoin.qrc | 6 ++++-- src/qt/bitcoingui.cpp | 4 ++-- src/qt/res/icons/hyperstake.ico | Bin 22382 -> 5430 bytes 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index f7d6349c0..171e79236 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -1,6 +1,8 @@ - res/icons/hyperstake-128.png + res/icons/hyperstake-16.png + res/icons/hyperstake-16.png + res/icons/hyperstake-32.png res/icons/address-book.png res/icons/quit.png res/icons/send.png @@ -22,7 +24,7 @@ res/icons/editpaste.png res/icons/editcopy.png res/icons/add.png - res/icons/hyperstake-128.png + res/icons/hyperstake-16.png res/icons/hyperstake-16.png res/icons/edit.png res/icons/history.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7ee9e3fd3..23f516ef6 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -80,8 +80,8 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): resize(850, 550); setWindowTitle(tr("HyperStake") + " - " + tr("Wallet")); #ifndef Q_OS_MAC - qApp->setWindowIcon(QIcon(":icons/bitcoin")); - setWindowIcon(QIcon(":icons/bitcoin")); + qApp->setWindowIcon(QIcon(":icons/bitcoin32")); + setWindowIcon(QIcon(":icons/bitcoin32")); #else setUnifiedTitleAndToolBarOnMac(true); QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); diff --git a/src/qt/res/icons/hyperstake.ico b/src/qt/res/icons/hyperstake.ico index 6ab12862891e7b2fc1038d37e32a6e586f7e2ec8..8e2f9e4bd47f9332b2ab549061bb664c238e7053 100644 GIT binary patch delta 46 ucmaF2j&Ylo3IhWp0~3RQ0Ekv#$Y5b$P-9?VP*8yIR{+KPST>pni2?whaRx5{ literal 22382 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

E!Ax7vhF`nzo@S-;wsm3j>Yb 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 Date: Sat, 2 Aug 2014 15:21:20 -0600 Subject: [PATCH 017/555] Version 1.0.4 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 58f323260..546bec412 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.3" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.4" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index d15458767..fa3eeeb41 100644 --- a/src/version.h +++ b/src/version.h @@ -46,7 +46,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 3 +#define DISPLAY_VERSION_REVISION 4 #define DISPLAY_VERSION_BUILD 0 #endif From ba807c5ee9e828dd3e913f3d958cad3a7ccaaf0b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 2 Aug 2014 17:36:33 -0600 Subject: [PATCH 018/555] fix timer causing startup fail for slow machines --- src/qt/bitcoingui.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 23f516ef6..4790bdc9b 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -159,7 +159,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); - timerMintingWeights->start(30 * 1000); + timerMintingWeights->start(1 * 1000); connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights nWeight, nHoursToMaturity, nNetworkWeight = 0; @@ -1092,10 +1092,11 @@ void BitcoinGUI::updateMintingWeights() if (pwalletMain) pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); - + if(walletModel) + { nCharityPercent = walletModel->getStakeForCharityPercent(); strCharityAddress = walletModel->getStakeForCharityAddress(); - + } if (nHoursToMaturity > 212) nHoursToMaturity = 0; From b4e71cb2a2ee1de0fe7f4bfe653ecf6a51db9404 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 3 Aug 2014 09:26:33 -0600 Subject: [PATCH 019/555] getstaketx use uint64_t --- src/rpcwallet.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 026f75e45..194146198 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1496,9 +1496,9 @@ Value getstaketx(const Array& params, bool fHelp) else { CTransaction& txPrev = pwalletMain->mapWallet[txin.prevout.hash]; //first transaction - uint64 nTime = wtx.nTime; //stake tx time - uint64 nPrevTime = txPrev.nTime; //previous tx time - uint64 nTimeToStake = nTime - nPrevTime; // time to stake in seconds + uint64_t nTime = wtx.nTime; //stake tx time + uint64_t nPrevTime = txPrev.nTime; //previous tx time + uint64_t nTimeToStake = nTime - nPrevTime; // time to stake in seconds double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; //entry.push_back(Pair("txid", txin.prevout.hash.GetHex())); previous txid - not necessary to display right now @@ -1514,7 +1514,7 @@ Value getstaketx(const Array& params, bool fHelp) list > listReceived; list > listSent; wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); - uint64 nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); + uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); From d293b07d9d958a5f68571e43904627aff80e6abb Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 3 Aug 2014 09:27:23 -0600 Subject: [PATCH 020/555] linux .pro static --- HyperStake-qt-linux.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro index 414a73437..6e88eb74b 100644 --- a/HyperStake-qt-linux.pro +++ b/HyperStake-qt-linux.pro @@ -4,6 +4,7 @@ VERSION = 0.7.2 INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES CONFIG += no_include_pwd +CONFIG += static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets From 10596b7d24ae5cee01b3adfcf4bbb0df025c888e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 3 Aug 2014 10:58:50 -0600 Subject: [PATCH 021/555] add copy txid to transactionview --- src/qt/transactionview.cpp | 11 +++++++++++ src/qt/transactionview.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 6a32f26bb..f7568079b 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -128,14 +128,18 @@ TransactionView::TransactionView(QWidget *parent) : QAction *copyLabelAction = new QAction(tr("Copy label"), this); QAction *copyAmountAction = new QAction(tr("Copy amount"), this); QAction *editLabelAction = new QAction(tr("Edit label"), this); + QAction *copyTxID = new QAction(tr("Copy Tx ID"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); + contextMenu = new QMenu(); contextMenu->addAction(copyAddressAction); contextMenu->addAction(copyLabelAction); contextMenu->addAction(copyAmountAction); contextMenu->addAction(editLabelAction); + contextMenu->addAction(copyTxID); contextMenu->addAction(showDetailsAction); + // Connect actions connect(dateWidget, SIGNAL(activated(int)), this, SLOT(chooseDate(int))); @@ -150,7 +154,9 @@ TransactionView::TransactionView(QWidget *parent) : connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(copyLabel())); connect(copyAmountAction, SIGNAL(triggered()), this, SLOT(copyAmount())); connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); + connect(copyTxID, SIGNAL(triggered()), this, SLOT(copyTx())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); + } void TransactionView::setModel(WalletModel *model) @@ -318,6 +324,11 @@ void TransactionView::copyAmount() GUIUtil::copyEntryData(transactionView, 0, TransactionTableModel::FormattedAmountRole); } +void TransactionView::copyTx() +{ + GUIUtil::copyEntryData(transactionView, 0, TransactionTableModel::TxIDRole); +} + void TransactionView::editLabel() { if(!transactionView->selectionModel() ||!model) diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 4ade3ecd5..93dc12542 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -65,6 +65,7 @@ private slots: void editLabel(); void copyLabel(); void copyAmount(); + void copyTx(); signals: void doubleClicked(const QModelIndex&); From 5f8f7c9f668061d294b941ac2e4faf7aec75e5a4 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 10 Aug 2014 12:01:27 -0600 Subject: [PATCH 022/555] Add Age Column to CoinControlDialog (moneromooo) --- src/qt/coincontroldialog.cpp | 17 +++++++++++------ src/qt/coincontroldialog.h | 1 + src/qt/forms/coincontroldialog.ui | 10 ++++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 1a5e40b5b..4e4126a53 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -104,13 +104,14 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : // (un)select all connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); - ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 84); + ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 45); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); - ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 100); - ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 100); - ui->treeWidget->setColumnWidth(COLUMN_LABEL, 170); - ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 290); - ui->treeWidget->setColumnWidth(COLUMN_DATE, 110); + ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 80); + ui->treeWidget->setColumnWidth(COLUMN_AGE, 50); + ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 75); + ui->treeWidget->setColumnWidth(COLUMN_LABEL, 125); + ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 275); + ui->treeWidget->setColumnWidth(COLUMN_DATE, 100); ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100); ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transacton hash in this column, but dont show it ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true); // store vout index in this column, but dont show it @@ -699,6 +700,10 @@ void CoinControlDialog::updateView() // List Mode Weight itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nTxWeight), 8, " ")); + // Age + float age = (GetTime() - out.tx->GetTxTime()) / (float)(1440 * 60); + itemOutput->setText(COLUMN_AGE, QString::number(age, 'g', 3)); + // transaction hash uint256 txhash = out.tx->GetHash(); itemOutput->setText(COLUMN_TXHASH, txhash.GetHex().c_str()); diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index befd748f7..282dea337 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -54,6 +54,7 @@ class CoinControlDialog : public QDialog COLUMN_CHECKBOX, COLUMN_AMOUNT, COLUMN_CONFIRMATIONS, + COLUMN_AGE, COLUMN_WEIGHT, COLUMN_LABEL, COLUMN_ADDRESS, diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index dbff5ab2a..c729db58f 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -464,7 +464,7 @@ - + Select @@ -482,6 +482,13 @@ + + + Age + + + + Weight @@ -507,7 +514,6 @@ - Priority From a0dca72c02513fc7a858cadfbaf180b87d2d41df Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 13 Aug 2014 15:26:50 -0600 Subject: [PATCH 023/555] Fix S4C notification --- src/qt/bitcoingui.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 4790bdc9b..d872fcc88 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1092,14 +1092,17 @@ void BitcoinGUI::updateMintingWeights() if (pwalletMain) pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); - if(walletModel) - { - nCharityPercent = walletModel->getStakeForCharityPercent(); - strCharityAddress = walletModel->getStakeForCharityAddress(); - } if (nHoursToMaturity > 212) nHoursToMaturity = 0; nNetworkWeight = GetPoSKernelPS(); } + + //stake for charity check + if(walletModel) + { + nCharityPercent = walletModel->getStakeForCharityPercent(); + strCharityAddress = walletModel->getStakeForCharityAddress(); + } + } From 1bd291027dc2e38a6f1b62554e8c659c85fc7799 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Aug 2014 11:38:11 -0600 Subject: [PATCH 024/555] change getmininginfo to include PoS diff --- src/rpcmining.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index 0556b6441..05b406a77 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -72,7 +72,8 @@ Value getmininginfo(const Array& params, bool fHelp) obj.push_back(Pair("blocks", (int)nBestHeight)); obj.push_back(Pair("currentblocksize",(uint64_t)nLastBlockSize)); obj.push_back(Pair("currentblocktx",(uint64_t)nLastBlockTx)); - obj.push_back(Pair("difficulty", (double)GetDifficulty())); + obj.push_back(Pair("PoW difficulty", (double)GetDifficulty())); + obj.push_back(Pair("PoS difficulty", GetDifficulty(GetLastBlockIndex(pindexBest, true)))); obj.push_back(Pair("errors", GetWarnings("statusbar"))); obj.push_back(Pair("generate", GetBoolArg("-gen"))); obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", -1))); From f1b03bbe72c5490b001ecf93e857372fa19c6f1c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Aug 2014 13:43:35 -0600 Subject: [PATCH 025/555] initial gui changes --- src/qt/bitcoin.qrc | 3 + src/qt/bitcoingui.cpp | 18 ++++ src/qt/forms/overviewpage.ui | 5 ++ src/qt/res/text/style.qss | 166 +++++++++++++++++++++++++++++++++++ src/rpcblockchain.cpp | 2 +- 5 files changed, 193 insertions(+), 1 deletion(-) create mode 100644 src/qt/res/text/style.qss diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 171e79236..555535a08 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -56,4 +56,7 @@ locale/bitcoin_en.qm locale/bitcoin_ru.qm + + res/text/style.qss + diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index d872fcc88..829305d9a 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -100,6 +100,24 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Create the tray icon (or setup the dock icon) createTrayIcon(); + + QPalette p; + p.setColor(QPalette::Window, QColor(0x22, 0x22, 0x22)); + p.setColor(QPalette::Button, QColor(0x22, 0x22, 0x22)); + p.setColor(QPalette::Mid, QColor(0x22, 0x22, 0x22)); + p.setColor(QPalette::Base, QColor(0x22, 0x22, 0x22)); + p.setColor(QPalette::AlternateBase, QColor(0x22, 0x22, 0x22)); + setPalette(p); + QFile style(":/text/res/text/style.qss"); + style.open(QFile::ReadOnly); + setStyleSheet(QString::fromUtf8(style.readAll())); + + /* don't override the background color of the toolbar on mac os x due to + the whole component it resides on not being paintable + */ +#ifdef Q_OS_MAC + toolbar->setStyleSheet("QToolBar { background-color: transparent; border: 0px solid black; padding: 3px; }"); +#endif // Create tabs overviewPage = new OverviewPage(); diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index 8831b85e2..ffe51cb3f 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -1,7 +1,9 @@ OverviewPage + + 0 @@ -72,6 +74,9 @@ + + + diff --git a/src/qt/res/text/style.qss b/src/qt/res/text/style.qss new file mode 100644 index 000000000..211e2dd8d --- /dev/null +++ b/src/qt/res/text/style.qss @@ -0,0 +1,166 @@ +QDialog, QMainWindow, QFrame { + color: white; + background-color: #222; + border: none; +} + +QLabel { + background-color: transparent; +} + +QCheckBox { + color: white; +} + +QFrame#central { background-color: #222; border: none } +QFrame#frame, QFrame#frame_2, QFrame#frame_3 { + background-color: #111; + border-style: plain; + border-width: 20px; + border-radius: 20px; + border-color: #111; + min-width: 10em; + padding: 6px; +} +QLabel[openExternalLinks=true], QHeaderView { color: #cca000 } +QLabel[openExternalLinks=false] { color: white; font-weight: normal } +QPushButton, QToolButton { + border: 4px solid #111; + border-radius: 12px; + background-color: #111; + color: white; + padding: 6px; + margin: 6px; +} +QPushButton:pressed, QToolButton:checked { + color: #cca000; +} +QPushButton:pressed, QToolButton:pressed { + border-color: #cca000; + color: #cca000; +} +QPushButton:disabled, QToolButton:disabled { + color: #444; + background-color: #222; +} + + +#scrollAreaWidgetContents QToolButton { + border-radius: 8px; + border-width: 0px; +} + +/* the background-color is overridden to transparent for mac os x + due to the entire toolbar area not being drawable in a regular + QMainWindow +*/ +QToolBar { background: #222; border: 0px solid black; padding: 3px; } + +QToolBar::handle { image: url(handle.png); } +QStatusBar { background: #222; } +QMenuBar { background: #222; } +QMenuBar::item { background: #222; color: white; } + +#scrollAreaWidgetContents { background: #222 } +#scrollAreaWidgetContents > QFrame { background-color: #222; border-width: 0px; border-style: none; } + +QLineEdit { + border-radius: 6px; + border-width: 2px; + border-color: #222; + padding: 8px; + background-color: #111; + color: white; +} + +QComboBox { + border-radius: 6px; + border-width: 0; + border-style: none; + padding: 8px; + background-color: #111; + color: white; +} + +QComboBox::drop-down { + border-width: 0; + border-style: none; + background-color: #111; + color: white; +} + +QTableView { + background: #111; + color: white; + border-style: none; + selection-background-color: #cca000; + alternate-background-color: #222; + selection-color: #111; + border: 0px solid black; +} + +QHeaderView { color: #cca000; background-color: #111; background-image: none; } +QHeaderView::section { color: #cca000; background-color: #222; } +QHeaderView::section:checked { background-color: #111; } + +QTabWidget { + background: #111; +} + + QTabWidget::pane { + border-top: 2px solid #111; + border: 4px solid #111; + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; + border-top-right-radius: 8px; + background: #111; + } + + QTabWidget::tab-bar { + left: 5px; /* move to the right by 5px */ + } + + /* Style the tab using the tab sub-control. Note that + it reads QTabBar _not_ QTabWidget */ + QTabBar::tab { + background: #111; + border: 4px solid #222; + border-bottom-color: #111; /* same as the pane color */ + border-top-left-radius: 4px; + border-top-right-radius: 4px; + min-width: 8ex; + padding: 4px; + color: #888; + } + + QTabBar::tab:selected, QTabBar::tab:hover { + color: #cca000 + } + + QTabBar::tab:selected { + border-color: #111; /* same as pane color */ + border-top-color: #cca000; + } + + QTabBar::tab:!selected { + margin-top: 2px; /* make non-selected tabs look smaller */ + } + + /* make use of negative margins for overlapping tabs */ + QTabBar::tab:selected { + /* expand/overlap to the left and right by 4px */ + margin-left: -4px; + margin-right: -4px; + } + + QTabBar::tab:first:selected { + margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ + } + + QTabBar::tab:last:selected { + margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ + } + + QTabBar::tab:only-one { + margin: 0; /* if there is only one tab, we don't want overlapping margins */ + } \ No newline at end of file diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 71ffdafdc..99559cb77 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -127,7 +127,7 @@ Value getblockcount(const Array& params, bool fHelp) return nBestHeight; } - +//comment Value getdifficulty(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) From fb81c0709c3e28ae7e82b7acafe6b8245c03e719 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Aug 2014 14:57:57 -0600 Subject: [PATCH 026/555] icon changes round 1 --- src/qt/res/icons/Icons.txt | 5 +++++ src/qt/res/icons/add.png | Bin 1279 -> 26319 bytes src/qt/res/icons/add.xcf | Bin 0 -> 280407 bytes src/qt/res/icons/address-book.png | Bin 1916 -> 29573 bytes src/qt/res/icons/address-book.xcf | Bin 0 -> 156695 bytes src/qt/res/icons/chains.xcf | Bin 0 -> 449379 bytes src/qt/res/icons/clock1.png | Bin 946 -> 9143 bytes src/qt/res/icons/clock2.png | Bin 944 -> 12661 bytes src/qt/res/icons/clock3.png | Bin 946 -> 14241 bytes src/qt/res/icons/clock4.png | Bin 962 -> 17523 bytes src/qt/res/icons/clock5.png | Bin 956 -> 22815 bytes src/qt/res/icons/clocks.xcf | Bin 0 -> 767627 bytes src/qt/res/icons/configure.png | Bin 1055 -> 80193 bytes src/qt/res/icons/configure.xcf | Bin 0 -> 682524 bytes src/qt/res/icons/connect.xcf | Bin 0 -> 540968 bytes src/qt/res/icons/connect0_16.png | Bin 702 -> 14063 bytes src/qt/res/icons/connect0_161.png | Bin 0 -> 702 bytes src/qt/res/icons/connect1_16.png | Bin 612 -> 13660 bytes src/qt/res/icons/connect1_161.png | Bin 0 -> 612 bytes src/qt/res/icons/connect2_16.png | Bin 623 -> 13367 bytes src/qt/res/icons/connect2_161.png | Bin 0 -> 623 bytes src/qt/res/icons/connect3_16.png | Bin 625 -> 13099 bytes src/qt/res/icons/connect3_161.png | Bin 0 -> 625 bytes src/qt/res/icons/connect4_16.png | Bin 673 -> 12700 bytes src/qt/res/icons/connect4_161.png | Bin 0 -> 673 bytes src/qt/res/icons/debugwindow.png | Bin 5402 -> 37875 bytes src/qt/res/icons/debugwindow.xcf | Bin 0 -> 215838 bytes src/qt/res/icons/debugwindow1.png | Bin 0 -> 5402 bytes src/qt/res/icons/edit-depth.png | Bin 0 -> 16036 bytes src/qt/res/icons/edit.png | Bin 1627 -> 37318 bytes src/qt/res/icons/edit.xcf | Bin 0 -> 279514 bytes src/qt/res/icons/editcopy.png | Bin 879 -> 18688 bytes src/qt/res/icons/editcopy.xcf | Bin 0 -> 125124 bytes src/qt/res/icons/editcopypaste.xcf | Bin 0 -> 153729 bytes src/qt/res/icons/editpaste.png | Bin 1458 -> 18618 bytes src/qt/res/icons/export.png | Bin 2148 -> 36776 bytes src/qt/res/icons/export.xcf | Bin 0 -> 140747 bytes src/qt/res/icons/history.png | Bin 1432 -> 27177 bytes src/qt/res/icons/history.xcf | Bin 0 -> 165524 bytes src/qt/res/icons/key.png | Bin 1727 -> 44888 bytes src/qt/res/icons/key.xcf | Bin 0 -> 117899 bytes src/qt/res/icons/lock-closed.png | Bin 0 -> 11827 bytes src/qt/res/icons/lock-open.png | Bin 0 -> 12799 bytes src/qt/res/icons/lock-open2.png | Bin 0 -> 11458 bytes src/qt/res/icons/lock.xcf | Bin 0 -> 110912 bytes src/qt/res/icons/lock_closed.png | Bin 1679 -> 52505 bytes src/qt/res/icons/lock_closed_2.png | Bin 0 -> 10960 bytes src/qt/res/icons/lock_open.png | Bin 1644 -> 58811 bytes src/qt/res/icons/lock_open2.png | Bin 0 -> 46219 bytes src/qt/res/icons/lock_open_2.png | Bin 0 -> 10285 bytes src/qt/res/icons/mining.png | Bin 839 -> 28528 bytes src/qt/res/icons/mining.xcf | Bin 0 -> 283362 bytes src/qt/res/icons/mining1.png | Bin 0 -> 839 bytes src/qt/res/icons/mining_active.png | Bin 466 -> 28528 bytes src/qt/res/icons/mining_active2.png | Bin 0 -> 28939 bytes src/qt/res/icons/mining_active3.png | Bin 0 -> 28591 bytes src/qt/res/icons/mining_active4.png | Bin 0 -> 28795 bytes src/qt/res/icons/mining_inactive.png | Bin 483 -> 17471 bytes src/qt/res/icons/notsynced.png | Bin 1013 -> 43800 bytes src/qt/res/icons/notsynced.xcf | Bin 0 -> 458573 bytes src/qt/res/icons/notsynced1.png | Bin 0 -> 1013 bytes src/qt/res/icons/notsynced2.png | Bin 0 -> 43162 bytes src/qt/res/icons/overview.png | Bin 5226 -> 33335 bytes src/qt/res/icons/overview.xcf | Bin 0 -> 143964 bytes src/qt/res/icons/qrcode.png | Bin 237 -> 59358 bytes src/qt/res/icons/qrcode.xcf | Bin 0 -> 231126 bytes src/qt/res/icons/qrcode1.png | Bin 0 -> 237 bytes src/qt/res/icons/quit.png | Bin 2163 -> 48847 bytes src/qt/res/icons/quit.xcf | Bin 0 -> 194691 bytes src/qt/res/icons/receive.png | Bin 1437 -> 27405 bytes src/qt/res/icons/receive.xcf | Bin 0 -> 132424 bytes src/qt/res/icons/save.png | Bin 0 -> 27301 bytes src/qt/res/icons/save.xcf | Bin 0 -> 116916 bytes src/qt/res/icons/send.png | Bin 1487 -> 21460 bytes src/qt/res/icons/send.xcf | Bin 0 -> 95392 bytes src/qt/res/icons/star.png | Bin 0 -> 24486 bytes src/qt/res/icons/star.xcf | Bin 0 -> 216380 bytes src/qt/res/icons/transaction0.png | Bin 569 -> 16655 bytes src/qt/res/icons/transaction0.xcf | Bin 0 -> 135560 bytes src/qt/res/icons/transaction2-1.png | Bin 0 -> 41854 bytes src/qt/res/icons/transaction2-2.png | Bin 0 -> 41515 bytes src/qt/res/icons/transaction2-3.png | Bin 0 -> 41447 bytes src/qt/res/icons/transaction2-4.png | Bin 0 -> 39786 bytes src/qt/res/icons/transaction2-5.png | Bin 0 -> 38296 bytes src/qt/res/icons/transaction2-6.png | Bin 0 -> 35800 bytes src/qt/res/icons/transaction2-7.png | Bin 0 -> 33511 bytes src/qt/res/icons/transaction2-8.png | Bin 0 -> 29893 bytes src/qt/res/icons/transaction2.xcf | Bin 0 -> 1650102 bytes src/qt/res/icons/tx_input.png | Bin 2152 -> 17367 bytes src/qt/res/icons/tx_output.png | Bin 2129 -> 17369 bytes 90 files changed, 5 insertions(+) create mode 100644 src/qt/res/icons/Icons.txt create mode 100644 src/qt/res/icons/add.xcf create mode 100644 src/qt/res/icons/address-book.xcf create mode 100644 src/qt/res/icons/chains.xcf create mode 100644 src/qt/res/icons/clocks.xcf create mode 100644 src/qt/res/icons/configure.xcf create mode 100644 src/qt/res/icons/connect.xcf create mode 100644 src/qt/res/icons/connect0_161.png create mode 100644 src/qt/res/icons/connect1_161.png create mode 100644 src/qt/res/icons/connect2_161.png create mode 100644 src/qt/res/icons/connect3_161.png create mode 100644 src/qt/res/icons/connect4_161.png create mode 100644 src/qt/res/icons/debugwindow.xcf create mode 100644 src/qt/res/icons/debugwindow1.png create mode 100644 src/qt/res/icons/edit-depth.png create mode 100644 src/qt/res/icons/edit.xcf create mode 100644 src/qt/res/icons/editcopy.xcf create mode 100644 src/qt/res/icons/editcopypaste.xcf create mode 100644 src/qt/res/icons/export.xcf create mode 100644 src/qt/res/icons/history.xcf create mode 100644 src/qt/res/icons/key.xcf create mode 100644 src/qt/res/icons/lock-closed.png create mode 100644 src/qt/res/icons/lock-open.png create mode 100644 src/qt/res/icons/lock-open2.png create mode 100644 src/qt/res/icons/lock.xcf create mode 100644 src/qt/res/icons/lock_closed_2.png create mode 100644 src/qt/res/icons/lock_open2.png create mode 100644 src/qt/res/icons/lock_open_2.png create mode 100644 src/qt/res/icons/mining.xcf create mode 100644 src/qt/res/icons/mining1.png create mode 100644 src/qt/res/icons/mining_active2.png create mode 100644 src/qt/res/icons/mining_active3.png create mode 100644 src/qt/res/icons/mining_active4.png create mode 100644 src/qt/res/icons/notsynced.xcf create mode 100644 src/qt/res/icons/notsynced1.png create mode 100644 src/qt/res/icons/notsynced2.png create mode 100644 src/qt/res/icons/overview.xcf create mode 100644 src/qt/res/icons/qrcode.xcf create mode 100644 src/qt/res/icons/qrcode1.png create mode 100644 src/qt/res/icons/quit.xcf create mode 100644 src/qt/res/icons/receive.xcf create mode 100644 src/qt/res/icons/save.png create mode 100644 src/qt/res/icons/save.xcf create mode 100644 src/qt/res/icons/send.xcf create mode 100644 src/qt/res/icons/star.png create mode 100644 src/qt/res/icons/star.xcf create mode 100644 src/qt/res/icons/transaction0.xcf create mode 100644 src/qt/res/icons/transaction2-1.png create mode 100644 src/qt/res/icons/transaction2-2.png create mode 100644 src/qt/res/icons/transaction2-3.png create mode 100644 src/qt/res/icons/transaction2-4.png create mode 100644 src/qt/res/icons/transaction2-5.png create mode 100644 src/qt/res/icons/transaction2-6.png create mode 100644 src/qt/res/icons/transaction2-7.png create mode 100644 src/qt/res/icons/transaction2-8.png create mode 100644 src/qt/res/icons/transaction2.xcf diff --git a/src/qt/res/icons/Icons.txt b/src/qt/res/icons/Icons.txt new file mode 100644 index 000000000..cbd788d7e --- /dev/null +++ b/src/qt/res/icons/Icons.txt @@ -0,0 +1,5 @@ +http://www.clker.com/clipart-gears.html (public domain) +http://openclipart.org/detail/161695/curved-arrow-by-f_featherbrain (public domain) +http://openclipart.org/detail/17020/icon_arrow_right_green-by-jean_victor_balin (public domain) +http://www.clker.com/clipart-brokenchain.html (public domain) + diff --git a/src/qt/res/icons/add.png b/src/qt/res/icons/add.png index f98e2a8ca7386c19292423b94c97818052a38674..fb88264266acce0cec3acb36e5605caea0fd3a26 100644 GIT binary patch literal 26319 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 Wf8NTEVYwVZ1L)i}&?r&23Hm?LJxT}w literal 1279 zcmV-i5SR2M2sP1Q8DgD*PY4i$8=S_9=hi%Zn8a+)G%E|(Y(Ls{k>Jy-J+^gZRuz6 zDMVfr6%hp!3OZK*1J_>+Nw9kpW4RBBPTyNef0EVViE#Mz~k^Z z98Me_&xM=cKGS})@#W@g{hzADHB|u+7LOe`R65Lr`O%3-o?TQ_l|Y~v zDN4|w0p5`4rb{=aV!G*jO_P7$nhjOcFQQIlO(YQPX#BsUz1D7@~A*RS$Q3S?U8O{k< z1w-4S{3q*?=*W>Fz*NOYeLvjc{Q5Vn^jFYGArb_gf&f9K5FbGRR-Nj=4+`3%bG?6kRMTPBD))hq$kAJt;&u(6^0DryJy|T~E z95~ZDyw`I+vl*GqsN0Oh#%K`f(!IQXcJu4~V#17%<4FKPXeDi0NsC6@Ad557D8&WG zjjBOs0`QbiwxV^?4xMzKR@$Z+H_76RdQ@k}Z_gk<%PZMLYbGt)B|sNlZc-)u>1H!i}U!C!HsYvzZc_ z1z??=U4tQ#2y5)~lB>U8{bKFyjistF{{@~KDQfpwvA_TT002ovPDHLkV1nEmR^I>s diff --git a/src/qt/res/icons/add.xcf b/src/qt/res/icons/add.xcf new file mode 100644 index 0000000000000000000000000000000000000000..63e53280fe2dc72e04dbda0f83bbea7b5b0fd7e2 GIT binary patch literal 280407 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

<{@BjZONzU18X3eZwviDx| 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≶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

~2i`$EKg|lhS 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 MpvJ%W)#oPv59M|C2LJ#7 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png index d41dbe6539f64829c004d0f7fc9bf0ba1aa4d7df..99e8a2f183f515be8d950184588bbb689ff8a76d 100644 GIT binary patch literal 29573 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 delta 1899 zcmV-x2bB1Q=K=fy{D6rKo@@i2XskIMF-mp8VLp+#?&x&000L3NklvU_$n zm)#_g5FjCv8xRAjm=Kt%U`n`X6>G;z8EhHxGE|F9Ne9P{7kbh9!S+M7Us|ivViDR- z0wc(vnIa0sAtaEHkPAr`awW;`CfV%S-E+=+`hnO=1u1`u1^nvaPxYt z@TRrTE2!ny55TfNJ9M4&;zd7u=DCVoaPZJWr7Q^f=?+F%@Po&)GZXH33CQ|t6fkX4 zKUlQk*;hAyFW;NOP$)_yZnJsgeA3&R=}-1j_V9m}J5rUoKLI>n4nPv%G(nL;kw6H% z2Xf|ZcwzmE58gJDaor>wjxjNzlj@tomIw2&PMl^mKbOL#n;!Kr?O{H3m%f++pSp^^ z4^kaPcP@RUYD;N`VZnvr2&zNDv}`Vnj8RgY$M+XyFxb$7yJ9h!v%d3;1Lv~qumv_4 z7OsD!uWf(s`L!#OWiMxY!w4jzF@dVe*fs>lBCK0i#+sQP&UKt)#{G9?q$jU_QAW!B zasawX^1-6YC#%-}u%v7n9lbibZV`|Vc)|R<5 z^R@zs@-@kB0|t1jb5h*3GnX&Bchzfa*3WD$sjB4U&ZVWL zfxezLQZnYC$D^2vO;nbcmEb~iE1axr3##doHc*Cm9X)lHi+3 zI2OU{R*{ojga$|X^Lyv$s69phV9kdDQ3IU$j1PqTAN|EM5@2`XPubzj;&2~06@g)z zI5ibTmNDWMl5Hc|0%4fA5>$WmXau1+$d$cI5aoW7}V^nr?JjYcf;#V zQ9{+gv5P0{KLCbfM}O10^LKBj$8M!|{%PLoJ4o9^KT}e?2w@Wn>L`kYBukj4MUqcL zRV19UjVhVA5|f#hna5yH6Y*FC6Zp7$Kd1VK={i(BG-|h3Pf9;}*(`q$i0I((dt3YW z>^>bnRLYS*X;k-AVJYKiZYM5}1Je{}nnF^th8Z)^GzqsuCKit)gh9siS@@Et5a{k8 zv95zN?-+C*I%fC-@74nQ0RQKvp^4}@cY5!SICVUjf=sE8+CQwx6l^$pMda>S$Y`{sU9E1$%@RS@bA6OUW?d~RGW6_-=R63`d2IqwfLw!e+{ zj}LJ+MI)3MruogE_l)$Ocn$aiFmPFey&M3bWTjQSxo~~ey2O8>gS;H-CH2KEsKsSS zwv9abZd>;V?Faq*<5++;)n;_6#mLxsMw;sM3rCK2>Cwi$0(%G0ctwZ50sso0?EJiM z*W}*)NJ+``3JOQdSg>g?Q{5U32RdnN33GNV!hjkkYz#BpaVpl=a=34_)8A?ns5cSy zzzLxHVncb2004gu63dsY*z!(d!OGOe{wLCFFcUk7MYI3_002ovPDHLkV1i|ti+un9 diff --git a/src/qt/res/icons/address-book.xcf b/src/qt/res/icons/address-book.xcf new file mode 100644 index 0000000000000000000000000000000000000000..7040beb84fa8d45bac65df4e4d3075a86734d666 GIT binary patch literal 156695 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
-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 I=|LC&1rmRxGynhq literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/chains.xcf b/src/qt/res/icons/chains.xcf new file mode 100644 index 0000000000000000000000000000000000000000..45f45b2022aeeca3f11290b0e34fdfd8a54c2e36 GIT binary patch literal 449379 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�~Gb)pB>$FS+1c%LQStGXlvT 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/clock1.png b/src/qt/res/icons/clock1.png index 448e47f947d3da4e023f69279e7f8a830ed5ca75..c8a7e2717acdd161d51c5bbd2a5fdae35adc84eb 100644 GIT binary patch literal 9143 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 K_$wp#g#QCv!iC}h delta 938 zcmV;b16BODN3sVoiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVE_OC1am@3 zR0s$N2z&@+h><`Se*hVDMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0009o zNkl%9YSrF;8H z=W?8QTBTX7vbFux{tzDgQM2|!xmf;eVC zD>{P~JB=6gfBpT4?}O)ZG2wo>u(0s8wbpt7<#PG-gqQecz|DDbXOA7FDfIWV@n{`f zhfyy!)hgQIL zPY=yPAGR~cJNdp-uItWtN~tN?lf&7M$>eh=EJ7PFmZ04tjw0fYB#%c&+3D`0U^ITa zO*C{2y}5D5aiyGAu19DTBIywueOSfw7rT_#9`bqRF5lj~L98|V!2v&ByGkGx9ZF4k zT5C@lf6dl*m29euLN*6hgEhQAGlR93SjNOk5@T>uN#6bN1LBS(+8ECXw5}KoBV#AY z6ncq;{l8eWD^M=bk-$x-h^*$>Zi7b9#L5U?>tzpEc579_fnlC({zGqf51CXNgvB}* ztqlf?!XSlVqqaq8HPgFEq?EsTjYgw#KZ@2*e+~^#L=LE=OYAvVr7^~09MHz#M=ktT zz{KPm#E#|m&)1)YVYuj&N~LJ4-Tp-Wxu%E5$MCY<-1&W#wXIDePw-c*N?TYS|6Ajy zTQ>+@(0A{chra)5rBd-7fMT)u;AXx4g}T40m9X@l7$!3`Kp+g)E4Qh)e2z_=;-hmP zaAQ}N&3EV!udS@CH0=@SKhXx{3^ThEGXMYp M07*qoM6N<$f{*3FoB#j- diff --git a/src/qt/res/icons/clock2.png b/src/qt/res/icons/clock2.png index c1a6e99f7f28d66f4dd6901f4c09a2e4325ac3b7..e657941f5c6f42fe2b9b823420d6d58f0f72a279 100644 GIT binary patch literal 12661 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 E2SXRang9R* delta 936 zcmV;Z16Ta@Vz37>iBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVE_OC1am@3 zR0s$N2z&@+h><`Se*hVDMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0009m zNkl@gPga@BI9p)AI=D z9Q&D{pO--poK{Lr`q(o{DHkeTQA#aEQFOalEXMouVy{35AxfoEzTY$7zA-#-D%Ceg zZ;<6^{E+7M12!L3-4C_!uWH*}ER{;j?u97#8s^{CRmgh0 z7D%?AwHfjSAEa$U2hA^@pFh6{Ec!wSIg&|VJ)Fvo$}mRyKGK(1YuH#{C#Rc?B)W{a zCPH=i<)P+mU&~vHk5DBcW3353!4q+@#ia-ABOkenCu*+iE>cF|h^%CTbzrBGUf z_s+_(jdTj0%O49 z(0&hp1ShFPioST8$z+7qdP(l=?39;@|9O2pe|IAGJajUFl0Hs5thHEAV631ON3=R2 z`L`yp!tmp*Yqcn9{OlEr#dxz3ei&`tGo$%2WH!UiyUVO>-Y1rld(|qT5Ug!&@zag# zM7~eFQL!tJ+ZW2^a?1lK6bj4NR<}RW_m?f6W8ml!foO3UoX?Aw@^k^Wzo_KZSxJ_r+^#Y7Fq@y~nvBk|l*J>+Io?mz& z+n3(B$IQ%3Z#tcx)>==dggs-7_Uj#0)><#^?(SZ#R4PrkPx=ps^~c_I7%Wc!0000< KMNUMnLSTX>R=(W; diff --git a/src/qt/res/icons/clock3.png b/src/qt/res/icons/clock3.png index e429a402cfba88ebcff6eada2d1226557c3ea736..e1ab2dd85823b8fa9f8fe7f7c07c8555f4ca8eef 100644 GIT binary patch literal 14241 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 SN>U!G1DP0D>euSI#r{8#+oa_H delta 938 zcmV;b16BN?Z?Xq5iBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVE_OC1am@3 zR0s$N2z&@+h><`Se*hVDMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs0009o zNkl07lQf?+(lWuWuL&ML<$%iWrS)NU>d57n-tUqlUO>ieceS-I%yC zAx7Pfn2w35Hn9seb>YGoe_~<{X+vQo^^e+?pHQHf0`0t+f9bq;-+lMGDG5F6?|i!> zoOA4Da&l7nzJF9}J*1>N9>=k3#HOsZo{ysF%GA_Uymv2l4}=h+R4NU$Wz(;o>dhZ% z&E;v%7U&Ds33qO>y1C)L`#t)5eaoFHl}cCL15xeD#bWW)U~lH^0a?iS+LG}s_1XsY z#Nx|5ouuOJf9IE<{`Q~xm3U&}Eg{4w&N-(5N~O}k;A737b!w%O`WAPLVSh&lH~+m3 zJst-;7609-)8ScOIh15f-1w+AHZ}{)dO`?wpwRq7UrW&A=@_Lvl;>fsWo3DZ_H0O3 zpy_H25w5|{Wy6Vqs+_-_IZ^ub{5cr}!SEBk!B7&0f81JMCou*KB*qX{LgLyzFjcU1 z(xgE?cb|3lji2E9MP!=LsYM%$PAywIcPU+1VB)JOD zb4}Vxe^%Ev2wJl2&j(-~SjP(|M|iI5B1xi2jRq0X-WK!0YX-m7V2trpwWcqrOyi}V z$NLdRqm2P4z=4$>DwEQbFU}ZviDdPPL zHSiM7UJTNuO>uf=W~M3uipAp9U&~u>nD9@F=P2~_;deet-3rcpUuCVLIeE^_uApK9Xs^1<^|Dj^GNlCLiXtBafN z^aI&GRO2qAqoXakTyDe|GnCEPV_L^Dtf#ZanE6Vj@>9874&5Hk M07*qoM6N<$g3}hhod5s; diff --git a/src/qt/res/icons/clock4.png b/src/qt/res/icons/clock4.png index ba036f47d33e7ac9a3db80ccdec293e0ee3be034..55838e5d36b10c1c71cbe52ae34153d9fcfeeff9 100644 GIT binary patch literal 17523 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 delta 956 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 Aq5uE@ delta 949 zcmV;m14{g#vH`pYF^N!4M-2)Z3IG5A4M|8uQUCw|5C8xG5C{eU001BJ|6u?C00eVF zNmK|32nc)#WQdVK7k>a5bVXQnQ*UN;cVTj60C#tHE@^ISb7Ns}WiD@WXPfRk8UO$T zIY~r8R5*=QlTA!qRTzffbMLvp%s4-E7&{aZ2`xcwYC}3|qV8-HLqeJ^Y+R6%bfc_H zTy>!diyGb0SzI@eCc4rlO>Ep$lPZRV15D5=sU@@`1e!VwWqF z;92-6yuh*ZxQQbLi?=W6Kv3)2#l4FQ02X}481F15ZVw#G_5@sj2R^v(!#az#wTB2g zBczWibQB{Pw6OdGq5sX;d+=-U)^zyQbuXLEmWropr+<0(U2JS_Kx=|^fL4SkiqMq1 z(1@YYgtRRLxqW1E5-*SL4Eer)juTNS)4k7lHb$WYctHc^Q4w}8g=Vt_p(GSzFwihu zpyySAD3&N3H!vnS%$=`aOXd|?kwsfZ!}|O1PHe+PDb&BMp&D+2Pcs}n-iGs6x)D7Q zxbbldXMeA1`0bq~ZjIpt!pdxb{D4OBMFqeBnHEN_WZ+l|q!px5&=BB9Bt||Z*bIS) zd@h=%vb&9U2S#Feo`i-0KyZ$Lc7g+ewGjdsD5kKrDxjc1k%v}n7de2%`WjrSVA!8` z7z!s0I-gT;%)mjzf?%OR&@fQAzbGKBKr){J5q~Z5dc9t8Kea7)y@Hd<5-cYuMsQC5 zA285}pJ>F9!0Goa_Jxm|@8{Nq5VyT@xhxxx+}IztI&}Y8LdP+}>~+HLKN2J(-1|j9 zI*t2Pfty$NprBEi$(s5@cBxXS#LPJd#u%HJnE0UgjooWQ7wUX#MIzNDk<1gO#~V2R zxq64(^9E8FEX-ug@{MOcnVp^c%sFSDI@9?0_?cvv`f}i%ouTYNjCAilEEIOu86MyB zaQEx%`t}2NX>M-rXXl)K>Wv4Cj*cc1iNrY~8fJkm5ox~_+eIQ;YBU<(SF6>?9g_Y9 XA3)B5jeNmf00000NkvXXu0mjf%yqVU diff --git a/src/qt/res/icons/clocks.xcf b/src/qt/res/icons/clocks.xcf new file mode 100644 index 0000000000000000000000000000000000000000..59e10cbc99d11b353adda7322ba6f2b09a1c5887 GIT binary patch literal 767627 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

LkR|fCKw-;K8k% zH?CU);VYIb`1QwczxwojSpUouV}&(Y}G zfo_ZF%vzr%wwvoTs&iXok(G z{4aCAneh>rHSf-x1BZ`6Z?fhW*bD6W2Bar}9kP!drRyOZwy%Za@cXYn%%1V_^w)!! zAs4(61vcSLF?o+1I=CN3Z`+aywG&n?UHIFNv%ma!dJ)b7qae&<7iPEUeewk5!seaS zdJRlo_UCUue*5LeMOh0x5gwbcrsVp>qPd_kT#X>jvPJX3SsY^|7!6T4T{uN1_1(My zj#|B(jK%Rqn|$e}Kv9)uZd_}!6~|@s*u4%|Y2>fT%N5S!$Ivve(a%_v&tvn1gH0>C zP75U4KDfq`S1ea4lWScbJc^ctaRE%risgy&hKZ#0T0!)@!v}qW;)-R7h8RP&hd9ur)0L9$6eG3PMKrklzg4kaZH6{&K2DFv!gnO0xmnye|JzvNhvefsI(%o z^N#3gb5X4qtl__(Oq2@N~Ac-&w8*s94V`O3(?*)220DBvWs)J83^A`oRp)E<-5EEM}iUK6#Gs_S~i2ztj7 z*;wtQnx=86xHLEMJ1TCh3czVZ<@n1jt;EVkT%_S6&?2;EsD%xJbepJMKG~M$X8q++ zEZl(Z^%i7b%Yy{h67&b}v5B z#d$7#u?y2Sc5gS8$GJL8ZFW_;%!uO2&g!(x%<#CAIwkW|ny8~X$ypzZ5Xq#Rgo%wc z8QZC2aj}?E7LI2V@m|AS0b|hhDEHM#Nlh8et%1N;_5_Cg1O4$jL6i!}(VpS0e1Mbe;eX#sVOFnJ3fOhiVdQvtF|)4i;RScmU6MA&%K!u zRa7ET$`oXar6eLX4{Z<&*SWl2I>i8`L_V`989Fk04Dn2qLkih?@t>t+HH9cI=QobY zbR6fKL5sf+K~wnA^pAFSRkeX(c3my!zA!qH(2-o|uj@=5tct5bTi9>7w@NFwSrvp$oJom={jMa)d(} zqD4>}R0jD0soVUaBA5a-QVxk4RzJ~xtBh+TmU{9UX?T0fH8RZGLxtnw7=g=TDQ_1Q zh3jA-dMEJ^%Hv8_0avbyxKI%zp)#&PRdBr_W&*>z)sf)BO78J08uYOnq><72|y zPMwsJ;HgW=EaozU2Drx+luWjdmU+BE(37oUA{?7bs~47z$i-|ih-H)|}G5?mrcz3OTc z-cP4I`^4B$cMKVHRsTNSI*3nTNU-GUDig1xuT7co#F&w{-*Vj*m%w|lrA|#tN3$hu zMm4n&Z=dhH_QErdKX}jZn+9Iqucw$pH3izjZ*^6*@yFSCy`K8~_{Sc&`?edez3ieM zFo~MNk$S912eKKsy5o&_#)ogeI(gh9_un~mFs$m

<3nINkJ;PlGCI!=JzX@XZ$= zy!py=Pd|JgTyW(jy}LqPxKz7JJRly$^?ljGU+2#H?EN=hn)u|{QMccG-4#^0Il8G< zBEbEX)w;N)3xD~3=BMwzK4k*T8%CAsTvH7_WTX)c1JsGDVi(N&?yFCxzxMq2M@QcU zt^4=!DdKAiQ3O}ULU1Y}*oP3n1>TiHARi$g@clp34?;fpxAcQE!P*dHA%r||!N>z4 z*M(e%KtTw>15ug)coYOrB;phDOUN(m2%*k!Hh>yr^@nc4h`yTGO2Pf*?AShk2Yj9X zt`4@p9hSl04O=0k&))~b0t8}K*);&y zqMIONNY#Go&{1^M|FjR1+=UYHBoUD7Q;?3Tm$Wnr&eUTfs+1rjk*jBL+(J@hx%$K` zGP4PrYEEVavQTPdow8IVCb%${OI=7M*_F)#3z6_hE;BW-d2o@e=n?W9j5@staVy7-7BL9#o2%T-3^d96fO5=kX; zWV)yu&x+_?lC%s}#Ec|&Zz=_O(jwNrr_TL0cS551hj)?#TZo3vYn7HhJx z%zSrtv7}W@(rua)OUw7?>?)SBs!6#$fU;P^Y9?Ve39<0}$iaQZ(p5LNwbG4 zohX*1u8`~&QKyQfs3#PAgyJj&M*d!yR4hS#sUe3o6kFav%J-uDEX79t{=8y~8w&Tn z{NhU+d2QmR;@hl|@b1qqw&KPp+*fesGNYjQN}GUhe?hTTHib54EV6rwuP+8n|GJW9 zUgHe4ow=mBcfY4td(K$U;tbcR(D}Ul0*~Pd`Qg9q2U}FOPQAdiJ`+li8WNCOQIV+L zQ9H2mBOpJ+Oe|sUM49p+(C;6731M=DpU_OMhz1BZKw1kRz)S@3N9S?ad^!cvGL=IzN@^pc#IMyJNHLAmsVi1xwPBmQq7@@j z@>?V~rWUFA#$~0*n6-)KR#iZeIFm%?--u$!>!}I*L}FlFM6je6th$8A5*VnvuO=kT z)S%lrAP$WvsYJU8)Bzfy^{}v>))f{f{e``O2C_3$ zR@IaMDi&KE6N<#6)pYZi)$M|6Fu>PBrI^_R`DpEG+Vv4W#V177nnzkO=gqN~&y-x>j?r z!Ppk)x|P_n1P2u#Ne-GtC8J8Z0NSjQs_1u&Pm=Z^TC1WeSF9x6SYmHQCD@`xB$+L5 z_Ku3EsuCbx0~#~Z>=)8^Dys5Y-@QWO*F;|=z%AXzlA_0l)xRulpl}6MIY5e~gXNXr zQev9w;h`9r91j>>9Zp@P@S>CsojYd+U9 zm-C!N99`#4WclB6P(WMy>tdG)Y9?Q628sMXK*nbaZRuGZ65P3c&7@mkt;9kQmSF_Q zjQcRnDk*7o3Np=@#W&xVyH*K#QyRX@aBpQ$O5#S6o|cLXJ7k<8jf^R5I&rF!3QO7u zDjnN0D^EqT7jn)r+>*lO&rYkz>@>SO6P4+Uo#-3 z4GCZPQW_G;_=&izOk@mdMet!&0EuOqH8O`!FKnQhZkU-IuhYXUYJo(g>J0DUAL)^R zhQIK=IDAYm1K%;r%Je1Hl}GiW{1&MYb!x?!kC%+)&FB1=Mi=`J-<45~M3_K+bp*xTbkYy4C6y?L*TRH|y zn&e6|y-VY@deQI|)r*o}3fqSvfgY0Nj-%DqNVWkt&Z=6l=}>1l#DrB zJx+M-u>qYAGJs%6_1Ks;4O>Y2PZBJa+NHs9N8D+d{;uZ5=O)Z}w?zL5UV$d!7{%la?L$Jnj62_Q8X*fh0z!2i3r8^5f?xcB5%Sdnq+tHfdhdyoRr}X z8XR7HCWN4^CJH4%Cc#f7(GiJ(%*zmy$%7l2Y%t&P$u{nNrgYzHZ^84T03ldX~B#b;M6=F&1Qc^R-J?_y7aH!%3) z&cZ;nRthq3KVrVSd=phWoDT-(1(`xjsNN$`#MBIoL?h*J#DOct8Lzu+5R;JKh0IAu0jLIyu2zjc-;BW9on0ysA<;HK`$UXc_D;;|f*McON7&HQcdFfm~ zFA3&a2r8lF-UqQMJYg zHLQ(TyWHA(%gILEU2ALaEu*+~z(bz35tG;2I^jXa+KAH|xOKs&F9J7W_!i!};UgDk z+KBi2uin-sC#+oZ`%m9~`O(|2B7OVbJ8rq&%E+!|rKOvx-Ui@+*RDx+u2?+(N2Yrt zgL}-#;Wz1=Z06%5Io-;4mn7?oDr0@RJAV0}zs{Zc*?Y+0e(V8B%4T+WlLmkbVAgr5 z2wx_71(mUBU79OyDYLjgerM|BaSz{j2eRM$^+cL_qk2p|530X{T9cKzHZ^h8l0Sa> zcE*Qqy(|jdc4)yU{pNv^haS_A8SdrE_-!x@aO~N!Rm_O} z<7a3EH$Cy--M8Ivb^qR7+O=p>U%VP9qnt{^9C+5ojFg0xi|0eFcVB;D{3G{|fZ-SS z=-3*LEg}Rg2Xc08-?CwiC@VJj z^^cCea|qhIN2k`!w3vYQFo5Hn3Yaymn{&mYU+2OBuRizG*ipj+<n5}&oiOv$>GX7vprFP# z$aLb^;e&A9mW|?ud2_ymv!8ujBx%n_>G-=AYTVhQ{mAc`&2xSp>c zTipg+oVf?$+zvETvUB;uU$iV(1@~Rty(4-X@e9h9*02zeWf)~~uu(2bD zu{)s40mz_gMQad=?~3@r4SIe-xRlO;k-F$u_@0ya^D>{UwbKg6UGHc zw$;ngU{NYbuV(OzTRea6%un8VWfJ=O&_V3DmP-OVhwxDznn3$9e%XSbXMgeD>o1IZ zn2l{Zg&jUnP4Ho@0GCf_f$Pvq7XAADS0BCg(z9rTTdupTZ#P_0Ft*r9%?m~Oj3Me){`@3thev#d=?Sn=mCrf2TG{ibUM z^zOpuE37Fb7FZ%Vbhcm=#G&D5e)9G!6CZ!z&LM0;pQ_rW(p!X)Mxx8Gf3oexIiJ7x z+T^Flq7D7J>Jg_Qa}0b%)np>>Y(H_@{{ud z8e~mUTl#rV2S2#OsL%M6#;@{A3-$cvYd%Kv53p_3zGMX(X`8nCB)EB+M zy;@qvG!-MWOWS6Rc!3LaQn<*}mY$UEz^*GTV_G@{V})b7Zp}htEF550Sf`Lg7t19< zH%@9I`~4TRb?iMH+1)#|Eb1nc*);bQyD-MLnEUJZx@AWVyWy(h9TmjvvlwF)NP2U> z{`jqzCOmqdHmuYYErvK)=KNi4N-`%UKX zS(oBmj-LG4^j9Z6fdM=4vOZn)NDuI|VQ5yPAjN8540en>^o)7met|)tJ5}FqbTuv# z=#RKZ0;&dAPrQc88YSr(+E=(v0H{jse z3*)3iN+Z>;buM0ZEV_9K+>9r;&{D<8x=W&cbbtP7)~C2eJ$C;cH(xWL zS7%%<3ipcuR$Nn$AC=y`E|pD-LI3K+$48F{=oLX-sxa#zUZpVTmoN17id*DTQ?x?` zv7W+Zinjo>SA72N)aRr_>8n(o8v6QX^~GRT89`u8!|?-SA3IdyN{(FJ7xl208#39KF~2p1pvejW zmlc9FD+GF02okL@Vp?HDwKjsVmM1BnlB?dDDX2)cXKtfp+~cT~@0=e#t!2PDA0Ata zfRp)zM35?*2b|4A?yY$`2BIaC+ZL6Jv)1XRq&Cl==6P&VO_P9vzjT3F(g-z4uC|F@ zKz*>R_}`4X6oBv)jQ?bzLRov!!;c`P`TPh|fw)tCG^!wwDj#%}U}IV9!IRvBtBXC&<>e$;7V7NO)Sh)kq+_$ak9K7q{n^EFmE(jmczr$EQN7D+;Z-DbZL z3MMnbPbQT(MSjXkHjI!&vRK$6+$Tgg=7^Z5m|a+&1Y&`Wok)Bj9gt_4w`U|5;A|Pw zJ(4#k3-YN5@>F!UW15;jzxB*0XCc&_|2Aq)@ijXGn&nX#$PT=K8Q&1wo% zui~vg3#ivwpumVOb|wU|vmuY26|(H?XlG|fO4BH8XM|Zh2T0qwFy1tZ+*v^4&IvPj zZlt;rz}=MuHLoP-dnJPL(};jZ{!T8(J|iMv3E>5+OMfx)&xKZ4V)(<7BPyN;Oyl{W zKb{w?WO=Ux!^Oxi8Diym!eN#LD5DLPXQHA0VoM>ME8a%9LQ_ZS-^Op$KrSE|#Sfgixt{_*j+|%M)($7PP_941@3h=K#iw%3$Jw)w^JMT>eyUOGfUKRDsgen5S0(>8(W$Ktpm z!DY)&F(rvr`*Xmxc|!&~0j{6EEsiZh*o?e13WLYRu$*1lTQ_aUNO7%R25H}ZS(MQz z2=mw>&&b=Jdzx*l1=6;xP3zYrC&n%N^EYsQEND_^#9t$Z5Z(e7_0?VuzM1G%XNHX{G4`BvTT2)u=}{OU>^v~>N&>JasDJ@rbu>+^ z6BI=a)K?O~Kk4G75LISEu>&^kaSwb97 z@%%YKLC=XTT0)FcFQyd$4%OY!bmuJva2Km}QMUI64Z$ z&Kl>^G3x_XmF=*LN=U0y4{3RHUBN=Fukl%h0;lAkG=->I2C6my9A{uLNX+348Rb<& z4gP6F<@k-I9)v&?2@Oppq+IGJzYJIOg$k;X+R5f8w=SiAlrAPTR#rceLeStm?!Nc| zFlA#1-(y(@0y%G?sWwr&eOBu-C`JEc$Tkf?*|=b+3=85-kdY7>ED=D*1ww*cI0}gm z_r#1SN!(L{XM%i!*i!MxCyY#$7+ggnXTZ5SFZdQKc2`;;Mi?U`>etS*;>7rQ2oj~i zXpEFS=LVxG0)2y6AOmk_g}%8!xShhNJ~jZ1FuHmsR38&-81zeH_z=*nFz6S9ykgk-VvGe~nrRRr z#*Zy9As?=ppnny{HM=knHH5VtCR$q%W*frXfO|SKWSbdr2Ybok;RJ*ZlQ3v5wp)o{ z==_LxhvoXrfra+wAY)A$RgMTnh2i)j0j!7a0dfpIiV|eKR0~;81DaVVQISQk`vSo0 z2;L_!bbj!@I0A!30`(gz%j{ED<0fzGx$t7IVDliIB6w9_Dk-K{`Fr zm@o@L4Yl9Sj;tt6D?j0cC}nFAd=pSt0G0%bSMflOg}@@=a?00ig5amYB28pQ6D*R* zc$?&oBec?7X91*?t3!rdS7qQsFZ0rh5y6%&3V0c5cJ7kkX#yz>HL`Qs0}(s5`RH{f zmY^T>wG0stWwy!y1KrET$!A3cHD`u0K}}ikDlF%rg>G6Hc{HC*CR0nTRcA>bGiq1TTR zYIrMaL`S(6i4V!5aX}AdxB)tABJ=`SaFUng>#2aa0_2386;0BUlH&miOXysGhp(dH zEDiT|-Akx6u;>y~h(x?9!-983wI0@8MG=`+RAws@ZZ#n()s+fJIO-AWisf}w>rqvq z7xMY>n45@@9MANJk#q>4hN6cL3DxGUN~dYgM2W#bMB zva~cDB>?f#YzI?vjq^e+I}`dD&lg5ZTyc(#E}o-p0L!>Sm$5 zac`l&S!i$;Ivn>zj3aU!w-)F*+?u16xiv$haEtL)Q%&I{ZhoW$gt9e0!}&uy{N)3b zNE4Wm^8u9LWYh)1SX?l8hKVBMgY5Xmg6t49mNP+i1fj8{^*c}%LsASD4(t8 zMvn3!U7bH%m5D%*06n}=h(!(P2=E@CFd$W)6VS0RdgSjvYN$$} zM*=ub!w(W3%miixoRbYOkQazlDb5Ej-e$ss3Q#2=5={WkGooTz0G#Y107xwv0B4GT zO#{8$)X=qU3AeIm#wKynNwvpc) z0s6AA)NFuN6~Ncb^8$Q5e^l8LBG>xBam$}SIIao58(U)d-ICz@`W*#4;Pb=}K2LaJ zpn9GU`0={LRk4I7{$%=V&yRm}v|t(c0hX}|H5>rQY6DdAy11pl44(Pvy8u3Z{K0#M z-Kc?*0mMllV+&?j!(!sybJ@aQ=g#`<{WpNBJa*LWHxu=kn8fvoE2~kAt?OlFmHFpy zKM;ZW6(Ba>H)6=3EBg~tnQBz6C{T8S+h^dCfEUl-ew;ny!?$0ZJnoVE?;JY#>Hz>p zZXIJP;X~o&#iNSa2-1(W(3UuIk?hD9$mB2+9oHQUGiEP<*SaP19e0@!2QG-V57dQ1_0ln^8+* zF`Fo^T6T5y&w?^Lpbhnbk6}3qzQ)*G+u zg-X!V%o5NB@dT6zGMc}(z!FM{=8x!xdsAd7G)XC`OV5l(nk6_}MxVy7%$Z7wpnC?C z=tA_&L@`Xxh5Tx^;lvF4K$H93pH46VkwJ6nG?WL#1Qd2ikfd$0d)T&{RYFH4h z3up=IV_g(YF{*{y#}S9d(Poky8_#PIG*UB=!*||a5o?lqr1!ES$j3$zk)(&=q7r|o z5R8y|fNf35Wyyd|3RFwAAC~}a%4^t2XLT#qy932@w=Wg>kM5HPHOn!|1l^aAoUUsj_9tlt#owod7Ep zh13WmqJugC60_=3MyZbKSe1%UgB7vbZptW=CzW+mr^}aPB{+Awa>WYxgGbe>RK_1X zs$H{YwJKFqPnC}&H8E@=zR7C${{JDSAb5u_vf91-=XhO3P$!HePclAeVYn&h04XxF z0bjHV5wQeJ7Pyn__`HVwtfiR$NYWC{#LpQ;zY3Yzv04DWo{@|Iq5cquCrKzyY87HL z<1p=koQo8Gi3TK?Vos)tLFM=eL?UCC$lY)u01j=Xj=hLO!wlBp#zaFRK99uEBIYL% z@C=}cBgI+?tRrTN4}st_YNjW0q>8xI_%yf6m7boQ%D5voTQX*3v@ItBNDSA>Bm{9K zkcjDgPBc;#oA>ynAS$G#V7`&DYDOQm+icz(eC#H6P9~*oaHXfEX`}R{Aqb_S-K24m zW`!#wA&tRRsU-#CppquqX%VeYb|s`@noL5WPz$P|q21_AhIg9~&5uh3QF=T+oTaC3 z7z0IoHOZox6YH9v<``Dz}Tle|*mgL0&jLSQcqA;p}vnCZDH)B>o>HOI$?D@U<_5qS2agf~K*10c3(! zr&;ULWx@d!F|dpu(b(bLsZH9Pk%|B_!o8du<#ZsT$t!Dn;8Z}T2BwSWl3!rh3=Cm0EcR&&Be2=-e7Si=U6($qxsg46C)PTvSg zHb@`@PL)ddeI|0Oh+6;xr#r!&knD20;Bl8#F3z4G zo1MBc69nn*R2q=xPQ_X#n|P7pA%Nu>m~TLIKGl_+h+?}J!(mRWRUDrj=USD{a+Ed# zGY1PksiV0w;$3M@S1M;N(@|>o?h)0bG&?n8y(<~TZcLM48Izr35qh&QHqNC><4~-c zplq*IHa{~<3gf{WXBCkT8j&#@oGaI7y0E^j8o#Ckr& z9C|CXjWNmQHRd34AKS+K%Ra~Ow!^V~lHKc>gIidHH*8Wz747YgliYg2ZxfBB=;igj z|IV$Rs^=|ktFP*M1GfgMj+a|QRok~UQnkF?8mpS#CaQ*PO;vSojH>2srmA|It18|W zsE!%g$_=-WdjeKa_3)4RM^7}ya zg#Qnk?|$XY!q7+rzIs};?|#u0gNEKS_G!qPQJAJ|#VXLJMf+|h&GWCnKV!}>!S$Sj zCM+DXNK;qpx%~QD?;i8i^;k4DK+~>UU(!7I%>WyI*m zo_+bPkH7w2XbfAno%*1j$~EdVY}U3*?*Z4|e8+u{PI&Q+4`OFub7&db3)03x8|8!;%nrgKhG;P(fN53lv z4~6lQUU}=IF9T^xMU^REsamc2O+zz*ga#Oc=p9KQeCe zD{ltUn8s7-4&5)hY~anqM~-=7!V6PDV>gH#AwJYPH)+wXYw!M755D!z`yPJk*(tnP z8is9$J_(9--iJ zb5>HTUZa>+B)R1BtFODkq%iEeSxJ;sQUh|DwQAqFd!K%nUU>~D?5JZGrI>Y8t68T( zlV+{jb?Vlu?I*_g;N*-(?NEr3RQ%wtU4Z)oXzu zrbX-apfJk~dycLE1eK~(uUV&lqo&PTwrSUacV0wR_Go^1i{;g7)~?r}anoikTA`TL z8}_}_kl8yBP`PT2T6O9*Xw)PI#bGGUv4;f}S7UkohP*AK?!CU!(q+q4s8qRXwHh^R z*Fhm!4Z9I`kX2*#Z<%uCQCy{3^%}S-TZMiNM|00Zx1aBh2n-sltsg9N5BIsR$f7>}{}*uzBowS&YO9+-?lqQf0$! z)!=Q_LbqtB(IX-e8z>YJ@14ehQ?jBvh=-lz1G6B#{N+rcfigJY<@AJQ|(j zn4ioq)rc-@(IGoQJV05eOj^-`M%eJyY{yA0R#&KhkC=i{2pZ;8*rUUu!f?!Tt5Pnt zKWJ7edXknEqt}^)ft8-{lY%i<6FX3I*#KhGL5GAEKhbgk6%2T&Y7n8W`+&bzQe!ZY z7L8PiraOegY9P&_>y}Q;{)z)5$`)BR%7_dPptj*}BkCyE-)kM%g`q^G9a|KXLG2d3 z5p9p!XK5^+kfr&eHORuE@)?hT6f#9b35JSI?+g)%Yyy)V(n{;G2mc_tQ(4OG0g4$E zWwsB+kRu{OJE(%tg_+dZnl89zQkR04M4f1@1QaBxEoy5a4y%6V5g@CIB#uZ=bYz(6 zDyjO( z#!diA^bs7hL3G`02oZv7V+CdKT4amTN;ymhEx?H0Z*f2!p9s5>j#5t4pa@oO(Q4IE zJ+I5<`JGw}$Z%{n=wUat*%wr;mr)^Xb)c@G3%oppJ;Pk&+d{Q>71UQrfI3D^S6($ox`e z%0z~vI!gDH!41SHMT<_OLOQatGNQ|9u`INevPGUU>nN|VbS}KKQ93f(PF9TsNsfkf0mv`3+c$6?oheaDv z4%lETbGmFfx#u=gp0Z`^Wo)G#WsI^$Iiq|5Zp1Mvze4%)l zVlHXs@?QQge=>;1LqV+x$LeZ^Y9t-SV&EUA5T0Qa#|KE0OFHs#aXCXo2m+avL=$&L zRDu99VBtQP{*WJH%h=uaBq|F|T@`4EnuEU_?xP}t)qu}j2was5cI8;K zVvO^+UI57;84CbWBjoaBbOb=5mtF*pI=Ql641&27k8d2KW(W|~sDTEl35Qx5@rW2V z+>=#U$!B>SD)lK#!YE8?D81^!q!=#((1gg*u)PGYI!4RUegce4Y0xQ2ejDKK8 zDj0ZpBo=`RhDpQaBNT|J9v5-TvTW|qc(Q6-!zG#BM&iU4jl+Esv0<7jk;2m{_;NF9 zpx>JS|-XKauQgF^lJ|;qw5JjX-I#{n=hy*dZKt_c~ zXC+4RcJ>=L#3Am;fN>ghUY+1hN9>#?N!XQYODnN~FhKApTUcBydw!PMzz~L$&?Kn< zaKL(E`FOe6LAfGXMk@E(VN3{sWPCH7uE3gUv(KD{x2f} z^uj}K^dgfv2~CuWKxX`gjO0uVt^x?K1FVYN+5(Y|r zGr)ukAT8yXBZ*dkI#6@b05!10mBz~heNN#kTc!f+9t>WUM=bc-G?)Y;_6ArdIiy8M?4ZcJbx!sChd1cg3R`e3y~AC-^@Zwi@mg>^D#v zb;wCn41Rin>;BpF1#8o6DyjGslV`Jw)8oHx6 zVP&!l%i&##^a>{tU_K_iAl#Ll4!1*hu*3G1upP=%JYviA4u+y5X*E2Kfec1+gBKGY zX(>stI#q)H!W!$!7R|XHA8~1EVEE3KXmiJL#(*@2?^=8bR%J7YCNu8t_)1vfe}`2hRh6PIG94&x^R=E zZiIQml#!a2o{#`DFvEZ<;!`mTN4^!wuFUnC5sfpS1eEFH3|FT!oa5t~fB#L0VgScM`JcN~!$K$;oLEX}E;D4uWmy`98%Q$anC#Qf;aB*sxTa>y*%u z(8$1yh(%~j3P%ovCo9f~b7b4&j4X)E^k^bIPvV`!*%73-IFJzGnV)H7I%1*1d`zm$ zfk+{umYkyrN1jB!YtEdE@C;*)!)1s1HnRZfE^xOi++}#fVlmqyr%N%p#2Xul6Jh3w z+N$)Na8wnAnH6JFBqm`>V@{(Q<}E5=uA;0=%uFA{Q+W^gcDgIOAlytQP)hLa>kD=dlumtPPe2t!7$TM&kbO>|H&jkaX2OHWQ% zwR9mCU18Nz5IoUexp{f{`2}GnYZ6!qyaW&>0520Z?f}22@_P^w0S}eK+&758j^o!h|P;eM|Q4eFu*mJ3)Tq zw2^B&ZT#hgWWqSnUT95&*R8=_1#18L}*KL5-UV;8MVOk2NY`|iC54j(8MSCdV(Plh+jr&cKXl|6 zxKEz4oia`uC!E3!wZXk(8}wew`x$)w8x;TIqv@}|^xU||9vpecpDPkl*KOLiGiU$7 z!$(m;*a_qKY7uPmZqK6DcobL#(ZBrg?N_k+wJ8&ye&m6BZXdF6xicA)t=YTxg8j(R zWA0bbJ$v^bIA}j;9EjV$Z!aZ-c@stB>I%gd{QA>(vu1qq-dj_l`J)ex8Zq?7 zfmimQzj$S0O2)=5+ji{Qle2f9ec#HxIeT{R+L^t5>y}L$){)t{YWb3dzx_OS_E!)+ z?d8ePd^GGHeC_3z^!atsa!f$4&&=AEy>r*@J+?h7!MlUZn={w1U6blgj3@W}c~Ja| zkKTO~vd29(=H9!8-8|^(%lh^1HgCbwI9E!>`phj`w`cFL?J%;ZY~My^h)&0i7K#h^ zoS8E|dH?O#Uz+^PlMg>I@{XZ5UU%hyi+XnH@ZYYv3}#GEm>Jxw`OH+*}Q2Z znei0lT)lGXV#=N~YsRM^yff{U7bZUa*qHn78h*>*Yp>|vw@2spt-t?e;nG!@9bdC{ z{f3RWm>C;aZCJOK+(`-0Ja*B7-^l*uryov#F^8X5aoa zf6=m4PNW8>ugS1ytXhM+A?{A`aVwTC`SbT*f1dm8%o$*QbLxxFJ@e!v58i7Ezo=)| z4sBXAZ8Y=ydA~1OwsJL=z~HfT1#ha()vH!4Tk_|E`SX7Ke)iW;9Lz6Gp77M8WADHF z_FHeH=sw+{dh;d?>wWRf+#zJc_Q-g|r6t1nKT@bqI3jUIL9upu`Lyz0_^y(u5s*RNBv+IydT`OSAf&in26 zKNc?hbK$}TfBgR2FF*e{cg{C6zx?du52nBM`YThOoA8uy4gjcUpslwDZ-~H&b8DGzu{p}pvoE6{B{$}P^Gd}ewO-ktvT zo6}x<<)s&%1NY+(kGX%;U3c7e%MB)b*N*MrIC`GavC^${)Dz<;KL6q?Q(v1l?Tt64 zO?&;dS6_bdg~^j9jC&Hyqwl?E#PC~h9t^h)xVTS`uARUg)3`ys+BIo97vV)kj(zmW zaT6v@e*T3iwkglQ@ciUS&ptEmsV5$Nh|G81KJ=CwufO)H%lcp38{F_)GxVA|wW?Qz z=@gD7e4|E>edO^cpB^`U{4?Xnk9+#5Cmws`p)n8KH|p*Y!*3gM)1ZM@UvcRr7r|}N zyd}8n*MaH~UQUE#eeNB1jk@oFF=HQo_z~lg6%Ri&cFY5#!F=Z(!ytO_b=O=8*?oF; z>rBJRPRpxQGFJg|d9UM^p~FYqb2&Jci%bU_F+SZ+4rhqU3=9Pm-X-0 zw|5W9Zqu@P)5cnNnC@5J0e<@xS6_SGpusoXc$0CHapS5R248>Oz-z!f;F60WyIYrz z?IFBblSU2TxEj?oyIv?6PVt!9>ev6$%dfoZ>T7J*7+0rWb>$V8UD_YKy?b`=+8NAn z8)et6P0K~NI9_ZIvtv%pcB*IZz8Ckqq<{Yb#sGK!OD^emao;|@dUo&DrBjD?ZCbTx z9wWlh=vCo4C{KR09DFC@QGwC9OSkSld-dvV^fr1KJ=1%DxpT)3?I65Gv!-OPTe~Ke zhv&hMZbN=keSQ=CbeneVJ9O;SIjnO=r;Z)kw`<#moH0!rHzaGV8W0WD*=GWIF|%j0 z8@bI|v~1P7jiZgxdPA$0Et-?9QG@#R>W~j6Ynie()DlWYhmqT;anq(T%^b}#W12Pv zPeU+4SWS@zOQ~uA8)g~dY_O@i_3Afh7~armkX654y}FPCmTJ&2fQO4y=^%^Art)gm zs$IKIcpam5R;`+3@NtM3*u@T|ok~IBhFuv|J=Ln)sv9-z)s1RK)g4%F3K^mpG}EpK z=5eU}ij^u=HY(ey*ee^AjEV^CmOoIgEG&U3;&;t}=}r+6q4LX>FJB>|0%E}B5E?Fn z@G_#ue^DD!V!{=DjOs)xTbWX2ZHOV0fRTEHzQZxkDm6tQ56BZ0Z9`-mQwS)wq1a{? zhuICjkF~|T+P)!9|Ht%>ISny6%bS3 zuZ44tiIW~+!aPAs%o7}hN~6qQhlX#XM}ub+Nq-yK@GtLlJ@Et|HjM+CNW@r2X$NwGym+UP7qK`^scBnsZ(TxZRJ%L z^_O+nRh^dFxEwkc)nIO=yUOEI2h~FrfVP+NR8SM6o&_X87NaHzzajj=uvs#YP29vU z$PR!GsHwIxSi`^=DH0HE0?dKN4amaFcI+Iywbn#sjQufECh@J51BlpR;UMA`f>?le zYGNVOQdyv3ZCE#&h*(dW%ME0KLYM)y)m8+6K!>nhN@60EN=eutzyi=q0~Of3AVLg= zYP$fuAT**o;1m$+kYI)3t)sRfECXSrK@^If<$1t69T}%!~zuXrMjfn+9s9 zJ0Ss~8AQHxxj;Dh%CV}`okPq9EHovzl$w^>@b4m8V}sJ%&O^K`^bX)*Nm6*X1++^K8h5s)lg5~KD* zM>H#foosy{OEYzV0bGDn$a%zC*ez^WcX$x8GZA7#gpD52r(38)tQ_4DXJcc{08~qL zSR$DW1^Q05Qb!n|V}yj2O0BKc(bQ~K=s(p)9g|p^mQ2xY)d^wJGVKT@ob)r;z3tU0 z=wsE`QT>HuC`ZmtDp#MkdpoN~KiMNJo zjN!tKp@)X($J`pAt6J+uxxSNYIk|q5VF|rvvk}&8HkLJ;)xAw6R8bXcHmksQm9b`% zagd5wvsuC08f!M&sB$o@474xp?SM6^9aR+6E#>W^BD`HyIJ67%_7K$!Z*Q&I61DmD z7biaX(0wCr9enkr7j;MSSCjfo>5>c=reEo_sv2sGkli`-hHH=`CYfJIJws9(vy@0D z$*48emS<6!P+i=!b34iU(#c#pmCPc`(p1-8c5%-x?OMhlHw;vTQn_lWtz%i$wU=Lv z1Tx7Bt6o`W%*eBgNUW{0?;Sy!em)ve-qOmzBT8+xZN#lNKo&`wHL6z|X=8rHwMuo= z_926>F-eeuSEEXRZJMO6%Eo&u6hR)L*!`fy(LLscqp>I-ktA7IegGWkaULQF+uHfoCAI1skb7XxoN$ z0}8F?wHu98PIJDJX~&S!U)EUdZOnH)Ja{vK3fh`=+Knb^AM`A)q^a5u1K6Zskw-C6 z!;Z&;1AKdtWFrdE>e-EE>L42h52qsAI^A3yrC3uVF*M9*p^llaFP7)R@W^qT54L<} zBClZ!Gg>LEQDSYrGp*H0ZJI^WMx782EiTMxt4;@yw^zB=Gj^EKL3#MRZbQW#m41Tl zgeM`9)I}M1GVQ87Hau`*lo=RhMo(oJ7-a@708149n`CZ0zR29LGt5m6O5OFq*too!V)CswV?)>>6?Vimg+tJ$4c)$aTUR%?S33M#E) zK3fN`7Y}frp?Hewt_o}~;||nK6-54qy9{nRmA2w3tc&v0_J-qb9o_!ZNU*7~Tdx_jn*T1`c-M22~Zm^;8Y~)>3uwTV2)1Z&lS0zm-%I z{8msg_${ZJFMk3j&4~H{eicKw*c^B zy}X{syb~RLFf4FE#R%kN6d%U;aK;BVKE&~Xjt_Z!=p!N+5yFTX#(5~tM-gp|b5lek zBT^aXt2l2()U)nhhw1?hdSOnhH$?a01lL6S#E`&$gG)c|kb>sqRu|WLYpbIgIJx1K#<$f{jhxno*B)o!Rs;8jzzukL&f>OexJv!2 zwvhe*>+SEE?5&8mW=|h)C0wID6}*+Xn~PnH@?7h!g12i=Mci7j`wF`z%G1MJ4Oj94 zM}h1;_j#)$pyH|It-;-N>>4UheQ!`Cd17!!!tPh>@MVI=-rC&F#I7D6rs{Av z89S^Tj>H`cyBqax4|a8wr>VCdchj(|jg`vY`rP%>yII&_9dape1MYh0-3Qp!#9IgM zde}A6yHR?VfL#sciSRb!u9@E5sdw|R!)gn|+nBrZde>I(hUwk=dbbWc1bhwLPqB;E zyIOkJPVcVNyODY~N$)<@yWjNArFUEO?ttE%(z}A7oq5tEF&W7I?|2Rj)%ovvz7F~I zU+-6bFtzZ;XAnmE81duAhfqcUxiK2Zs312+2)XeAl^Y|6+!#gV#)npJTnJ@tj5c!9 z+2T5DoDa6vW<@8hy+7MrXP)aUbY`LlZ^7B>ftl;)e;l$u)c*g={l6p+$HhHZ^IYHq zIFAD#(0Ob;%V7)|GFBR5H246U=mk+*(ST7}fLE(cs zH%9Lm#bY$jitI7U$7mm;evJNw>_7Jl(*N!D_m~fu=HsUM@M%7Znh&PtW2*VkYCgj9 zffkRxe7wcZeAqP~ea#19^Rbu@$#{U~BQtj91GM=#&4+6|c=J&kJM+QYd<^G9IiA${ zi0*%2=i@t`>G?44f3)X=zWLa1z69XSfUgAp7X-d8m@g0JtAzPtVZLUVFCFG9i1|Wd zzMhybE9R?9V%GKUjbN=vU<}n-m0+z*K#TcS zCxq-j_q&kQ-i7y}_Sf&9mLIHsZ|(mH{hzbjoaN?hH)p*$`^{N!&W3YVoU`MYt#J0? zbos>xroVA|6)^pifWW&7#`%q^dQ?YR$P?bFkK&tTjh#&DmOWxYnGmZ<5!V_4Q2y z`)7uIlf?lO$N|&JtySSUXEy#sqc5jidtvUCbFiF?<(#bbMJnqnQ`VQHIG1bX7;=u6 zbG@AN<=ijlfH@b;OEoV)ysh#U%3EY9^t9hY!u~aG= zj0?2N>IGUI>W_SU+_e`OPC0fBP>$W8JAx%!`Qw$N;C4)f*FatUS=T>s zJ=MQyQQ6;gnbrYkLITkg(${X>vVGUygUBUDu0^=hNH|P9jlk0laI-7sG_pCIhY|`C z*F;Dz`0NqXTn#G9f=>+A;K*@{?MQ1onhtS|7N-DcKM7OM;jojra^ zmBu=QqGzKJq%3;26vCQC&xT`FLD91g)vTDacGaSovo@?`J79We!)DPJnki>1=fNUp zovn*j;A|5*_c!yw;ld5aC4!-Ggt3gC9U4b+)$|SZzggccaxwca>K7VEGGapaqr%tI z|6-r~JB^Q$>Qd}DD*T!n@D3aBX6t*~^}hi7-ifW3WZzq}^%`xxR$H&x)@!%*8g9Lo zTd(QXYrFXtZ@ttPSsI;pIxoM#WA}7X`Y6m3hL>LJI1(?x)^TaP6kErbdGj4t!b`Jt zz6xHVt>fx=skV-5;w9TUu8o&&>$omn!mZ=_cqzAz8)5;rb==rn-gn#tFY(s-7%a@T zj+$n|)2G((V1QD#`jtDAP$DI&lu#P)> zbCu;ZuXVD^f9;6t+kIM?N1;ZvJQ8X|PZ$=qhDPFlV8n7H{%12y{yEtV7o3O@N(=a3 zPYd{8w?C8?;a}DD4@`?_8ww?cUM-KG3i;q~;DfZaMMH#gZl}aieQlJM0lJ+z2M}8= z=G@7^bHpV*aQK*Y4#?aY>o;u$$m`)_CrmouxqSeB^_@#yvrbS+fyjz;M#2%|6RlZ? z2_XQT9y+Se=}Dpuo44*D^s0Fdu}%od)R?5swoZm3$P42LGrG?@C1e|MZs%^CG7^qr zx(GO!Yu9IP-nxBf%!btoJ_3%u3=xXQhG3mwhw$M3FZx$Vep>zLwzl5%Kp{rdj+ItD2kc&d7H{{nS>fl<&H7#ychu_V91UeLr- z)_eK{K4yUrVHo)iltz0`T3@Kh%eUo+fh59vLVq>lG{0M6*j#AEj!KP2CSIEC*~ zoX*9UF!JnDaPWY9sDa;^IQ18c$YV!M4Ly5v^j8@88Hk`_R$14R!;d83D+~Be!_i~< zQxj5wRd-EK_Vyh+ck@dM7S-{>VjKlkJy~0}Zp+@mFD6)osIQPjDpbj{HFFc*oVIPx z-T~r(YPE3dLmOgoInTy*_=v%#&0D~rYY$+c9{8?CpeLd|Yw(7(j$b~ogaoKW6N^zk z!V?-GXB!}x={ASJf9ohTL_Z=-94_05*2EJH*K~(&|jOG&ZM{rhi$REM}I9Jwt2<_&7 z9qs0S-Tn~Tj|LU}=c4^|vgUJTLf5JP#J6qv(RXKOr!B#jh|kC-0r{PW9+$Jb)1Kf- zboRvG6U$CA889FGU*hL;n~|1=uRU6k6NXy~#b=6-=7f1tF^7#w?0~RKv9X$Bf;$QL z=sRY>F$FH7E!kQ$qc&#?_1FsNV1C!#NJ)nLqRO8=?qkbmqu8W|#NsSChxvI42HMi* z(;>Z(73Xq-$C+SHum@DI#xkNv@T#aAoHnNe%$ELZMgNj`z!?rkt+vg*p1v>IbVUqz zMmfWRRLweII9Gxzxzz;J8Klu_h1oyowW-ocr-{s zCqDTQpwaOFjhu}GR5 z7P^KM>4?GMKh4b<5tI&Jw4)UINuH+{2}4b--?PiaDdZN^DnX3dqC z44mfkFCU!st3yFbD$Yg8;}{=SJ#N()NX%jKh};Ai%{*!X{AOE%Ms}{|B(k&K^e1QV z)k^sU4Zd7yqC8g;lxKXwQjnhU6-z;T#+NLC_*_oD=>{B0AU>B7#Akff5~$D7^6fW# z*%AnOkwC~R1%$i^LCC`wE`gHg07_n%6W`whQeJ3$=90HW7kOUY}nQCdOpCd6}ujKR|>o8 zUe7GtV6p3^cj4Go^LnPKCfqf}uBz9w2e59~-Kckw*j4d*CaW0ks$*B#>zS#Van~5T zN?y;esyTNt*j4m;=BgIl)yJ-a*E3zUEK5=_`wZ6a`B@X0%H0Ps`PJ<5_=%<%cOb#kG<~zjH=q!KIhD2l1vIo2)*~-iy&2` zsHj*$umUP7Dt1&v5V0#Z>=i4-j*5yU(qhV#OybZ2gx;%2Pcr}at-a68q`-ae|L=SM zeea@7GC6zowfC7bYwxvI>4}5eR~Xacrm=V{J=YhW>zjj0vG5!!2g7qNcrF&6i$`x; zH@e&=!h1>Z9xBD=q!{gU(okIxm15yV_CI8gMD|Z)e?|6OWIskeIP)Qy55aNps8ovm z-^$Dgh0w>iPpD*lbpvfyPkfI?*J!(1`lN-{*u6t#R~inK-!1EkCe=MdrOT=tG3c0D zdXI$)tldLp=yQ)os->?dpg(q(P}u+@0sU1=pG`o;$PS^>b?uF0^j$5z+%&482W#mA z2}UYv^p-wf!>Eory`{73qGDz9Q0Zf}P|vbysB}V-Q3o}9OBVHa7$_7SDxFl@Xowqk z$>VKIJT24=ojCYFYYR8(>Y#uVnV{_}6^>_ZLt4Z?D$$zn|ghdQ_*|bf0ch{=d3S zJD*toGi_J?C&S`2OK6%o5J%kp=X5Lkf06ayR^NZoXQF@hvl=>6aX#aFsu9BOTL=-= z5O(Q82wsH#Q`ZdO8o1zu^E<-WkPRD-=-?j0j$Q~|Ekp9mkYxPBT~>ZZ*gLECZwvZ1 z!JchR{B-A}hMMA>P%?g|=D6{*Mve*Sc&cdeHbd2w6Ce!+TxP_Np$BfWiQiNF89 zom=|9*mpi{4SQbj_i1ZHtPxpzsj~LaSvG`jveGMYT0--G#ocwe<^2!ZyZ*1(y64`_ z>7C_&%APq)dFrj!3ZtBU_;0#?@%=#k!mscKCf|g2S|{8(X)^x)|F+ZGkIdyiSEH}h zo3NnRX>H^&TwCtK>)~=^uEwjEmmCv zIxm6+uelN-Ra_io!x^dFH3(`$l8-x{m&u&Kq)AXP#gTwr8X8i#<3$7thU@7HTyO|Y zI=r5yh-)hG@j#2`_0(iiCpd=yjaT@3EM=GLq$G4wL`LWiS>od<4(PWrb}IT|Is|to zr~zR>LUNHfG9a9xmQd2f+&EUYBRv&l;wTqb;~#{g5*!ikiit1)k4hutqW?wVgsg13x=CtX}aPojdMD?dY4TP zIYJ!~`8B6ILRN-}Z$5l)h0F{qWM#H9ocPPcNLeV;%q)AuV|v=++Og@OP(}tXSsp7` zwgA3$h7R#!D3lrUc!FloEGo?`#(^V;5ZDjkOk58ZWoBk&c|14+%7HyX#pB7q^!hsx* z567Pzq3z+Z;!SD@BiXqg3|gUWWG9Hlz{~a&GA{rep##)$L9qyto9*{n zUWf0vA3_q}6dMYQz)Ha{$P45Lm|^7cTYgHpF~VSpr!e2|Erj_!`2pr2dGm4PEdl}_ zSw2s0ARjdVKmi39n5zVkn9vrHVd>gnzz1uvGy@9w=llJ>e3Ed4HevR{R1jhXc=*BI z>jRVzKYU(5n4t}}EdtpE-~lNi0>tsb=3o>JLwyQ-p27k)1%OpSj{jGL@dTFv2n4)& z`Ba#!%E1(SmU>`QU$!qV;LFbg9scwAqjGd-d@)ygXnVL`^@^GXsGfuOts%3k6LO1A}QjhW;HK_r9;AuPdA zW(Ejl7p#Kr1wIkj>$7|(U?rcx{5@UUIUDvdJ%?z${5+BYSgDslj?kfUFo(Ul;6sry z^G=962(%*#$WvJ8hk*c-k4aMk{e{j>1(I2m~WDW{&6tJ5`1`3XQnPAcq5)bmX#I)9_?1gA!0!4O0j# z5$du>L16Y0g3HY3b$Cs`+?&#dnU-DL^pgM3K`VwsDo|{u6e=4d`SJ02O|6Gbq^!84nClw!^7jG=>YcK^_Hz zmN-!#LQ-Q0fkJsPpn`y+yl~f3)h?u%h}e5F&&lz?;J60@ZPd4ytiU3S6M6`Mbrh;2`rZxYsR%Q zoB%f+ykfeJ#>U0T*NzsrOw0q$m>8FfSMltG?`+NGI>8UfbpR(MCM6|TlMz!0?T>NA z#sUEY$<=!?o)+Xxyx2>vkPGch%$D6uKM3X*FusYuKcDtF|4w zbnDrhpZCIjyTVVZmX=xALH12n)^ArS9Qtd@%L22EPDZr{0kuf7A$9tr?U zC~PAIcLD^cS*L#E=B?Xz>CwCYprPkopdq$Ik*Hm-QL|R~a36sSc1M^af+ThWqW4GS@2cJ9QvN6|;2L$EVthgj3 zDH^TXcR8cq+2@Y9e9Uz>+!75!Hc+J=h;-`F=d58DTsG#q8*ja{90>TN)u_{;NlOsv zKX~{hqp!X3*1PVH0)Z$n7-VhMx?}e<&pKzs$g8iPc-Q?8^Ui8+q_nPBxGbeQ__S!- z`HX&p&%bocxSQ|1|KY~~LUA`~aUo0X`e4+x_rPHzMqP8`?e|Tc`Ajqnluk~CFipX! z&!F=z88hydyB?hJ)C(10lr(KR_3Ss~{L8Ms;r9C;etgy|p<3y+C~~(m2c386mDk@k zdHPc?zWG5V7^u~%L-#&s55Mf{8z((5pmIqS9e=0;#> zLcmaUs&(P0>u$b#>f_J9F(*S{HrQsSc^Wo@>ivg~xMJ+YdmeuB#kW5Cyh@nPXY?O7 z;)-#%-aGB7m*4*Q%agzi7GU3`U}nyGea>g!RRz1KR)(4AOfcOs309(&bS$}={&+1z z$SU4)TM1^OnRJ{Vx~cexDvOUxj&sDDZd0z8;5zQIW^6)|Bi0dTVc-Zp()rE-i+D znQ)_39%5rEG}M&W+m=V!s7xTJA@#(r5XS-5t|f-aq%XInhD1e z6`UD=R6SaxB0tRGPKbAk;ue7Rl0ujmgiAG&C>(S}EZ7;y0$lAx`v4M36UX1bjTF1!c^g#>t) z0GES>tS+O3Vd84kM`Wds%!J*VvL*}$pc?~gx-B+WmkeN5g*;)3Q^NEN*L8l74izf)J(Q(1TmsK>w$#8dm?>A)XKpnp0vDS0%LLfn=rCn%|$wo)4vC}_arf)&M#C}u*c5O>N? z%e}q=LYRweQb3jTD2XgB*KUOrML#wcw4o#f;Z&h$_$$^HOH2-HLN3z{b+mNC46^_> z6OZ7!SXWtrE^@fHX=tEmet0JcU=p9~Hnq)^Y`}px_YxHP1Cr|FEu~9vSEq%+3BpdSQMZN%S&NEr?TZvz68yrXu>j}5b;@c_Atm==TV##THIoeZcoK8cDj-X? zhc#LJ5{nTq#Rjx#9@IdTGznT@CIeIlZ33*x%? z!*U;08fv7LQ6tB+?xIjDP}3OEOxh4WMp24l&^GF_UO9kk7j;#66&Kq_U9{Ej5WWW9 zTC$E1Ko}YBS_np%)8j*q>4^wCpp?V(kQ*@sE9A^{VKaeS3~{0QMpg2w(!hv;nFc zWyM)$R?H?xmRXFEqOt|pjIcaMvHu`@7O2%QJrond=d34S1ss{qfaN)|DJ!cuGqXs6 zTA3x>mH^S|E}ZPPmd0i8Ub%E>Fqjz#cs!dlWDucC#aUBKG){Q@{v`!51!YSRrNn6V z{*_CC^poHe6$NdSGDSQFN5@NoIV(WO@;N+3D{_Ka1xx&yp6qO*c|71GSRTp_i9*w- zhnyjNs-h@XZZ61Sdn7j(FSllo&gHWFy|6lSS4<-jqeg9!M;E zK@ivxau~-w-kkhAPmHH9FFyyt;ymDc0tj*D+Q=)HLgB1ps2jnB#HMk)0I^h$H^yrc z85YSS$tPV})$S>+?Gi&MgQaGR&=!0^k>bYam~kQ|*E)2M0XU2~$9B&>e6z2P2ffY6Z%Ai~Z0wLKGpyo@#6yaJ1gu&fU61fHWUPulb zV9O`CMDZ^c%Paj6W9C)@rO)(x@_?VmNIkb)uw6kK5S}7nOG%S}72p7E!Vp5-*t7rz z7!Re`5FyS%=p3z+K^gy(hTn_57jNDlg&?s^q#y~ULnuQavBQEextVYJvlubAQL&8y zF|b#`y)Zu%5g}j(xH>dA!V)9S^qdssh_J=$UKlXVb7CVgN z4gnEO|8a%p^li2gH~|Ee=r9>}E`9O7L%ffWCx*n*+)u*w0{|93gCotyF-!%^3zI?W z81E6Td;t=)ILuRrl9(HHL@@nMXema+sQ(cArjsas3KQ;-;ZJ$5Su0D6tNif(VeIRX zn{4AA13U6Fy#V(6+`eOAqilJM5@OKw9i)pyI~vFG9pW8^(+dD8M1%WCLp3`yqF45^oy+vDIOL<2>>QCosU5+ zdf$?XVCEmg5?0CpnG=%|JA7)&nEn{s`AYIwFt%U-C<`oz;ZG*hILs*g?eHCv>(B}u zIJ=MV)=k5Zv>3yM{Y!`MsK9|!EN3+h1GbnvGzu|~Ln;_g%Pj8Vtpx1x0tSsNfD~sR z{lOP6fs&du%6v|G3s)968Jh}gmYvKmI6i9_D2Mp*h5R360 zq#7hHTI$gR;zC+14FJI(6qgK$Z+amSCB^?PwGIg?Gl0Yu%mJAgim>8~`zhQ80ECcPD8A zy;5wZZgPf3GPCJ#HQ#xEYRVxISbIg;Q05nB6TftDhm*UN%|i81FR3=tJ8Bs1Le-6q zp%kQOCL7&C38=;tkF?EL)M|<`&I~z?z9Gx#A1X6K(-K0VT4pPwnw4laHPR7L!dDjT zvBf)L5hto=II)!&=ZtZu@<@98PT1Sg|I) zj9^zN9s$Q#%Y|)7eK`ejxdaR0Mg+zXUjVWm1~cqT;wwi|T(X7uCt^Z~HE`Snx(Rd# zs3sUC)lyPYV^a|@t%d+;5+a`ohY{YuVbfTbD+ZgHPDLr+C`qecJ>5*VYBSh`O ztSNh{CF3Y54jSStqC$vq62ZYuQNyfRR;#vE+pOcLZPqetZpL}o>S?Jw3ad`3MsS=C zQ*dI86Lss=uiwDcz^q?fuWsEswQJR?S%X+9)qrI)f?%+f;6Og(M8ignn>2MbHJhw$ z+^A8*2KDO^(Z;jS(n6moEXz3Fta;0pty;&lUe&5)%NEU>HEq(kQA0tsG38J$&b5XS zEvR+OXx+A5`wksrI+`6;wQtw9P3u-b1}@lwD})sVAu82_q#~#VlOOBYxl7k>-FrBD z1iN?Z+NE=+jvd;yC3e#$WL&2<_)<|hhg%NUVIJ+#vsdpvef#z^`sK80uY?$xtL zx2~N#kwnWD%}Akcomw?vDw-F}d3aa!bzuM5G>`P@H{h&6XAd4c#2n%qeD>Lc&Kl6a zZy!+U-nDbb_HEm=B8>+1>OzPx3Cf^JnAQ<<(BPrxoHzXZ3#<#w^8>@rJ9pU7!DpW} zpkJTfXY}aS1%kA0*}Q3EDgq$+~Irgd1HvLWy*sO+<)Ia zcinOOt)MaXnyW^Sykx}r=MFu4V87lyL7^QfP>mYZVN9*Xq`N0SICc7rM`u1}JvL+J zqcf&I{Lq8<-*@*Nw@7daoNQeoI7L? zNYD^1n>V2;wG1<#n)TAFZ@l&Hd+*P&<}7*ty?5Sz^YvF>esR__Pd+vSB<{K6wwrGl zd-dqcHHDttI<;@pvRUH>n3y8NGcUaI=DTw~`eg3B3@c;0@!Pz)pMLz|ocG>&^YvF= zdLBd`nfl;;cin!=jpMEvGmxY}Xn>)E6O=UwrNDIUmpc?8~penLq#A`SZW| z`peHV=6>?goOj;>iCND)@#wUNCf_}2;sj8j6oUu$?FCzEAz+AC-~Qm!&%T=f{SQAb zT=?_Cg+KlH!}s5Q^VJs_pMLxSNX&lmxu+lm6d{Gtm&2H659o77w@z>;?NBrQ?GNUD z@y+)?{qo!Iixyjp7ccrf^VeS%{`md3Uw`r0rytFE=gn7Nn)USKGp0Tu6s{h9*@)po z2leaS1MU<%)O!EZFXsR7bLQfuS$|~bm^n+b|HxXlWbyC6{`}Jd(8&1Y!}s2PefIOu zJTc?p2kx0P@y4-Njk@GQXrW}FFFyW!{tv$_TKWf$!QnA}3F9C+e=J+F=r>T9|JCPn zA;jymUjTur_uoC~mg}#D8O|Rzs6Rz$)1qmkd0#L1Wzn)699%uGJ8yu%=%u`hNbG8J~Or63;*V*z_s)-3cA897z%S_3GZaUF)wF{JI1u zSA#28uUS`IyncOg@w&BZReQhH)LR+o?XBDWid|Pt}H6vu!&Xft?f&;ZQZhY(?*h5x%|(74-^&)g?S&n|K=+% zJoDJJ2k*K4rtw#gx&%7(?X}?7rFr?m)$2BFW^eUfj$KQ4?${0zq_74uAcT=a0^fi0 z#oQ0yedFa>PtKS+`Ob+qTs!*G3(q;b{|`8iT(Dxz`b}H6v!$$KueoR0?p-@~Y}>kd z(}vdMlR0m_`ohzXLW5hbzvhZdeqNlLzkJR5 z&D(bYo88tOhs?j19sEluKmn}YE4eq)X7WjEdUSP%A4O@5Y zR*mitA2E+uhqDg-{WnSM-6IrWg;mQLe_5Kj@cXYn`}qAgXG4Pr@44;9>wa09SFm#3 z#;rT|?Ei~x>W?~)nn%pTIfn#)pWtuWux<^Ei1-TxnE%D6AH4m_^H0r~a_{XEeqH7% zT(xe~wq1J<93=8F*D>>G&XL1lPX+eu+5ro$U%Pt6pJ2Y^x1YZIYTk$Myaw$bx^I%; z7H{4T!T&x4)Z^CivJ=P6<0eSt9ytseN`W2QV8S)4z&~f%?>{eq_|X5EnN#okb(yzt zl@R#r@54uq9Y21;b%N-*M~_efV(*6iApPnUh5o#(#lQYA|MO4Yf8*t6AA9(>EbpJI z*Kgjjd;edD4ukiJ6D2Vv)`{%n$Bqd$jHjdrYlh7z{I_3xI_FIwE8HzR_Uu0hxrtg* z>L_)TnBeXOI(Q%ai>3!}=)N3+!|vaGId{%mv!5%648FjPEwuzUU*jIww|6&`-mtC+ zV&^XVec|_C&Hdo5*_AL$%~EHXLy&zU_u)h23!S%6>OZ0KqMyJ2YTgHLRYol>i!HMR zHUD^+E!+i(VQK_v7X7jSm{lRh1JM+L3k6enQr@+zV5mP96R|411dUgy8H%V>bMMpas7f4n$SIswDgiO`_U{cd%Bm720c=dMViAQ?C_A)lRbZH9$(qSt2!<&Z;StQA z7W=z_!rT3fQtaOMHBRu*AnIiw=jMDW>SrIrF+jfSWgO)WH~09@FpkJ>H{bU(4spvI z8>htUZv2g{aO}AP8-I2)4q|}E4%FXWjlT#fJJ=wahU~lpYTKM7UpIlw@E00;x1|y-oAHoF7(lU5l7R{xf^-}A)-Z2da!o%4!-5?R;l?o)C4q2gq9qUzTL%#` zDOU49FCrzxHl+xDQU+>h>(SVl<{W60g)pBjWT!h&9Rk~H4iptF#kP$DN$V%LSBI_5 zGmPWRh~mW_#xdEM;rs5!5!t6wK;4YP-1V^mkxa@>n9NL#*x5Lkm5D7iZftP_(8Bre zzXF@EQxitAkim6;`yNHX44aS@>R{}beF!3J>K4w8@5|!uf^3m!9u`iL@AV;I4-zDc z1P*WlqqfE#hT=Wp>y!Z3+ZekUVJ{H!wj3O2ZR|qkQ?`dJunVIlGsDaYv*>LHGQ;0*|i{P6kwzO!Xl)w_v>3uJXV@X8s;;(^RF%;zIjHDUsf><#Cu%F5uN^0TfRGDmoPbfsA zn1GbXXE8ZLMn;dpo{4fuAzLZ-vxTf>Aj-@Ajf1is$Ngr&;_rQs6n511QO2%mtYVm5 zk>%bOR)-f8$%Fa2Ld#$it_f+Ozv59~1;zpl1F)5yPG* z%5LenN8+d_?~!JxpWGvzp)*mykaM-G{LlQ zidoGU!@CP3<)Hb)9h&=lLQyK8)b}fa;%$ioN+`o-qkq9u$=y@i*Z!P#{{{v zaabaMVd#zq4r-}Dp2p~4{LKKNVChTkje|Nsgm|UC*3S4#l@K5@$O-wj#$MDKU_47- zg`^O%jj@L@A{G)TcfGZ-n;{PjFpFGEO@vm)u0}c@!?;w`NK0d9bA)>sFOt0fsG%0d z4hB&WjISc>E>|+5^e&Nu8I&SivS8h#gp$4D2ffsG;IiX zNok0%UKX}E);+AiAXXn3u%!Z%dIGlkmRZ+W_xLmoHx!2K)V4*F25*k^|K+Fe zzy88gk34Ya%`m}vXZJe;;=-iLRAK?KDDLlz7Jm1|C-1)Y{1ekAPnvM;sEf{}z-=&1 zl@L+pPd8R%{l4(q&p&?WmFFIt3iYn0$TY4NLoFF`f@uOeZ&~I~^FRCW?b**hI_2(( z<019n{$WAFt`I?RXT*u;=-27852p)U;Jec4A|LkMR}SC4q20bMI2NCLJ^~KBgkQhl+F=}Z9e#rz=)fb zgY@-ykwBOAQJ3`yiU&ms{)9)=VAM#IaTo?*!68%+!Xug3KncvBGN8-}Arw8zEd$B| zkW5)d{ZzG!w8-=T=mQ=SgNKrsOf)UxO4%eli-EaKivEfZms6th5d=4{tIsaG3XdinP0dwJtGL7j)=fBFOyK{zn80b%oi-i5`~MpkaM6`~K;SqWj^%~xwq%k-6oBQ$*e%pj zK4MiKIWi|yb_xhWzXiG$jw*HI#4%M>#b%cRK=B?Vl<0ao#5ZvaSQmh)SeJ)!MW#03 zR08cGxiDtvD9b3R@;*4Pi(|kHnpv!6qsj!a;8wXZK@7w~T%PY!!dM|GCB&LU;c`Pb zgo#KQkG0Z<%pngQv}+QfxKVDv3><;v!VO-OgUrnO)s>5M2_%#^@)WQ@7DHn=P66E` zrJYnMB~*XP$qQh@&`$uv|4}eORgx*o=SPYNJpl-kiKZiEbWmrCVMFFQNHmat2^~ny zl3Mu35>cjSe*v=qBp8XGQn!iKs5nkDqS_KSwo5uN9G=&WEBMhk&1P*klTX@BgYxGjZhJBQQiwxud)%%WyDgBq;guY zf)@*P*~PQK32}Jjr>Jlxk^)%rBeXeO11!rI4CLg12r6_jn+Dcpk+1!cB47R$*_gSg z4aH(sTx+NpM-W|T4CTz0qRLk=0IMS$jaqDkVZ}2?Xs;@#=E=}%1*gY1Grm`?w41quGu3M8DC=U=B-#c5yskMu>nUF-yfXHHfO zM#D6ZDo#_WU`&-TACxO9gMvD$5Ka^w6uGGy2E}q%24TGhx!?X-_;aAgV%{6b@q<7wd-iZt1!Fm{r=vhrnIKmD0w-1l z8+px*x7|B+W;qZgO#Q|!+I8;Pj}^+s-gL+0hc$@l*lO1wQzgo}ojGvWg_mD7{+2r@ z1H@rQ)l)-NIMnh2mA-?{y$DszZeb;~3N_hk)os+Qb%(CK`VT(u;!yzMGahD^UDpi< zoInJ1&N_8JbHI?{02$9GNpmxjRirc=Ytx16x(ysM{GyRp3V>

T*1@l&(s{b?I^D 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/configure.png b/src/qt/res/icons/configure.png index 95bd319ce13d756a20341b7521bd554cffbe54b9..000e7161509fcd0425bed99d3b662a27dc2fad27 100644 GIT binary patch literal 80193 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µq(-%7yLl*a`{o~ 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

a1F7=w*UAk*v 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 BtegM< literal 1055 zcmV+)1mOFLP))u014Kkn1^4&({_*ki{s#vI#oXNG@BRJ!JR2Jo2NM$z00II4 zG}hMN*7*4P)cN`R0Q>v<0P^zn02db$03#zD00M{!XvlJ)nWmpVe`UCO^$x?+r!OX* zIdkpghYz2@Hpt0IG4Swkdj9zFgZbC5Uku;A|72ieV`Gq#5(CQv1Q3&qjCioDtoX`b zzkcif{ri`JgM+==+S<^DmzNvpt>0ipKyS#t|MZjl>(}oLpFVzJ;N|6H(9ux>%K-!s z3mY5rH&<6%MPQ(Vf4!IgG^xblzj4+9&+XLuk21Q4^BnC74V{~3HWG~^jXLgw-0|Nj64_V)My>gw$P_xJb!1_=-V1MJ2C8Rd}x8TjQ701*dC^Y#Yx^6BZv@#xt9 z0R##E0*Em*w3Ok?moGpKKfO6QIqZ3Pxir3h{rN&jOwusSLBK@j)g%U~-}e|qfYyEE zWMz27$ouE+ZRX;yUw=&c{OvCTKmf6T{K3e`#K6kRvK1K0TR(mJ#`%wt>ATp!z2^Tf z-rT07^-+kIoeS(=?*9x7%1l34{{H9eyK8D>l|NF+q!{#cX#>&jV&(6RAq?rHyXAtH3#q^Jf+2i?Z#+LvA#KM3B z{AXZf`1O}*%8@e+Y`^|9^q9J_GBUjT!NBm~3j^by{|vgqzZoA3ayJ455KaTYQN+x^ z08Cqb`;IXD`T6}vpN;BYW(E#m;(h;{feDz%xS9S60R#|U17L;#y*6pr5e9~z&;Iv0 zTd^=Ru>WUx|B`{>$|L4W00BhM0C0K-TKbO>Xvi&2hI=o6)Cuu0u-|*ne*NtarW}9( Z0|4(~c&K0)VI}|o002ovPDHLkV1f~|8dU%Q diff --git a/src/qt/res/icons/configure.xcf b/src/qt/res/icons/configure.xcf new file mode 100644 index 0000000000000000000000000000000000000000..419fcc7f641eaa19970333e82d1713242cd7ef24 GIT binary patch literal 682524 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 `X$hUqDX zX{!R$Q%;wU&p5!*hmPsv?6=N->+HAAev2?V&gZT3dFy=M{trKIxA0qOHk2<|U%euX z6NcAsJY=OLp^I1D`&Jh+jSfzmyL8Q#USW)2&YL)M(dt(Ru-{-HJ!ky%1*`vLqh;_o z>{ghz@ScC+xIa85d365tMGv%Le?osiXiRd}gjvhp#YrFDvSLzmCe2%YofgvZ(iI+; zkvDzG7dY!h`cZ5N$(lIt-hL!M?Nw=!12#52Z^p7BI;9ONfyg2`dEpmyN-xI#2oyMB z?n^lBK^jW7&t=@q)kCyoj~8b*@4%>(vD20|(z%qL-_8cxU zTph+FmG;ws9CoivT5y?S$n_R~{mSMSp2bVF`Pt`Rd}Vt@A7)HFJSDrNgqa2N&STQo za_i75FFo`4BO4#saQ_CpKR@=&<~L6EW44F)b|jhf3yI4dKery!zTV+uTVH(Y;Rn{= zvvL{Up8N6kyl%t8&;9nJ5m?{g*o^$SLzoYqZ~Aca(+}T&&+=w)_yQ;Q6_sG2~7tEZTKPD?PJ(WwnnU*mcF$8BXx&QIa?-H<>E%X3pn4MKy zpWU=>>D;OLITRB$1~1Gv>4iBXCx7PR^-pZ(nKF@^b8I(ep+7gj`s}8)OJ+^V9hJfY ztlD3gw@9d z3lFbbGOHjvH7-2J-`m6Oju+>^@VM06$t)o##0fzwocx<2dgZva1BIPckdqo49_VY2 zWJ|BmH`v}EG|;qMT7$rjB`iV2r;nX9d-W$Z6uI

!!6!XHU#Yiz7rW3z182)YtGv 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 &2ilH~>!(f)KLd-wh^H*KG}TnjgKbiz>m=0} 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�yp3BdAY-N+rRJe=RiSrlKRF?o(1~Y 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≠!*k1Y5tFOJTy&iwjW^$VTYo$L)|-ER^_3T% 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

k#(hB*L6F?z_X8)D(sQ)G@> zNGIE#rzZ%X^-MiV5Q^o$#R684qe*@u1cn4{AN}pwwD6o?T^pSlw+Jdn^syXG3jkLh?Ia?@ixJ)+m+$xaMYUo>~U$LqsGhit96 z`SC4>)^ao^FwKLfcRZC@5A@prk6&`|6oy9(^Ra&$J@%nlZeBhfF3jGxs$YY-`30?L z5w|+s%B}GrSJ0|;ThUAPvyuBoKXjq6b=&qG@hD+-w$bb?FTb!=n|2*Kb;UyjZ9*iO z8&!|ML>Ies>q)COv%FT4?577u*=^@;J$m=UV}nWlTCk+ZFKi9)&Ru)->N{Yt=xAYI zosPXr_g;Pa4;nTS>v58Z)kz|VdJxg4-=Lu*#*7#36t3k-@!4q^IAr+faTE6!Z7hww3$vx`0 zlTJPJ+=~R(URF!etJ)+fYQTu<5t8a(ocOCV&bjci-@u-bB!0evNEh7riTfXN#4#tF zeEQiJTzb`Y*u5*N=A`k^uA>@P@Bkqme)Ms_JnhW$F23TL8*iT~JQitl(pfQwdMpX_ zsAEt1)vwRJ=<=&?xb@C^AA+4CIr?*K9JOsvDkwQ3;T{R$GDp|na>v~dJo-CYxmh{G znUzy1#KDIjbNtDtpLPBvS6+M5Z;S4KCd$-+n@54_# z^ZYBX1Cmw+%^hycV~Wz82p%uIjCj1~!N-30hnHV{vlw9JTni@|Rca0`8k*E1H4wz; zQ_sElr#Jrk?gtuHC#*h5X=kn;>7&SM1#VB1+}=L*KH~O|e}3zo_dos=HZe9flq(p+5wu0CcWZl=%RwbzRb(ywPys^VF zoVKq^-A4JF+t*>sf+cxbI;Xr*ReML?)pToqx1{;Ih}v`kr0nT{wo_*9y0Biid`AZ=TDYUrX}gMjUHXnLW&h3lO8miQj#|^c4iC|^6K)~# z0I3Hc*7CIRGjg!Eumv}kj0 zk%!%_2c^bx8q=4e7a8bt%d%qL7H>+7<-1 zwwQ)CWP*hucBi!JncbRG+9b7Y;2YT>lN>C>ZK<0~i;AR9im82IH?=V_nG8r#n)o__ zEN+%*JTXk2GGnqR>8_So>MyBuG)k#gQnB`s#xwdcP5gb#McAex=5MkOr38IRiPEJv zh@maw1`!&3lk$)kP4(7-qo@Z`k70pbQ77fL$M7G<^r^UQLC|uOi=+-Tr5-yQ(GASGMmWQ4k+z$XoMn4jZ9=|CMQ_F z&y3S%? zVsi}WfB{8X$k+fgx3K{RGEXrt0f0~hp*9&zc8yF+u=W6h7AD&gwq8aRs~VHlgl!47 zA}R!h`abaAx($>tG7T=$9-76pR0SxuD2CxqRu;4QjakZMQ$lv7T?8J^YBkGlQPQG# z^-hbpfl`V@N}X-fjmJn?lRRXI(oxHbY-bE+BNWE#tQIAJ$?{#6*^DfeY>OflPqVRB zkX@6c83Gj9yz1!HFxbp83|WM727|S$glpQuv1%q=Ptl>l{8CA)w>yE4n(`uG|*4XT@?#Om3%|;f| z=>N5M9q>_AS%2P40%SrBJyZpxDOGw`v7oLfx)#)BZEM4h1-mY*Ys0nkxmZvv$m*hi z6{7+nWipdV2)zeLXo7S|nEC$ybMJferX}I~?e3@hd+R17nRD(r_uO;e%zOWH{ufru z5=_z;^#~Tu;ZQYtSO%4N{2|e^SC9XQoD4^;@_=8S=Br1`wms6oe^}g*s2`DY#RC31 z{++Qngt;#aJP|hh`{}oNlv#?V#lEGH8BYqdT?FB=RtY?Ga>6ZLciz`Kp z0GNc{2nSSJ%6#33H(tjyNCu~jrT8loZUeDjo9=k==%4#9#HaF!Q=V53alH}bJpKb* zevLMy`aQN3$AtzSU|1`X@^oKPk`MzIN+AsDLq5uozha6D}qjpGi9>;`O z%r#I`j85g<_Ee6U2-8rKOcGe<0!+8$Kr&x^(JG_UthqphLKRgNBVPpvFkqqaQuX3mJ`@Bm!!v z12hFFP9mU&&wu&gKeKf#P-Egh3KnR0LNrh#&z`O4zpdH;sW~YTP(#cK#_<@QxJB2K zdGlaB!8U;!!JnG7ARa`So_%6~8ao!Hzyk{P8<+s7Nw+H!S_&)%siNG3m zpe7d9AnbDKl@qSJQ3Ew@&$4Rq41zA#-8At|3#TzsmQ@2}2zqqm#5?buTs2M;i(vpl z0w6T`(I=DPG*!SClc4tWbFnxLanJZQ0U#DZE{Hum_u?zjI8Aicwzgw=CTd}#Ew4_S zo(QK&2<~Z^Oo2)-zB=u#88fTHX-u?l%mo)~oJIpn(`S4z>(eNlCMNr1;Xgs8fYS)J z^e&V?pJ(DUIkEVXo^b>Y)EJtH)69hS{I3_V_*qcr$2@ZrZx$0Dw4rIw{q40k-yz5} z|C%EVFGJU<^$3;u>c<_))N4?V4j!FOtYvpuK7HmNJ=m75nmDJFGaL6Gyd5$%@r$p}n!y?w{7pMTyhSN3QK-rA*trpm-W{o+fkcuqbhzH-gF zjipL^_nu#Vk+K0BDj&5^6`uMLQ(dh%CcbV%>6Wr>u)XJ(y?giVOMufyZPXbb&i*G- z{insb1%+zjmiE5=`wtvYm!_l}^@C47o6BUy9VS+M&H9a;_)gm1xBtLF_rXObia#80 zJ!9i{sZLf*oUY5ncmBLvX&>?&T1?JQjTQD0sJu=6nPpmXRUiQ<>=xg@hE@P_EcGl8E-+nc5%ka?$M(a zo(kh=P6DXkzB_f2%34`7J_2QuF2|#WcyLl zGHSN&W3|E29jvV2+lDM|;+-h#bMO#OWK%PBA4`K?VP%E+c9Coc+Si5W2&O}=sIo#; zGR#W0@oYYFcBvt>OF(g1Wd)}8{>MpooX$VwfKf@cRH!XIR#}0xt9qlU#G!+!q1sSd zcC4~ey#*%SUlEmBp|r3&vhr9)v26zoYAzmKeW)PwkHh*zISoInFe zuZ6U_lqcIIDzFV98#-3$s`Q|aq(S}q^-}8@^(%R2)XjCI5&nW=b)#-dy1TAX? zGElB@MCwckETy3L!AL)h_63%q;r6RS&^mWoY8_7+kT`tcz?*&(+<%2wAmT=miMx(F z?XdpL2_WYvVbj|6jC!ec-Szg?*Ee#w^T=olB*&;7qW!dVqwc8xztCIpZ_Ntdz%tvS1Drby3p}OfQ7?~{`hIfB@U0pHP zFasi$geZ-4g0#Eqiru<2fcJ8Y(8k4*7Fa+}2&xA>rSU(IFFa8ZTR z_45F@x9OX{GL$V{ghNrHfpC;_7z}UypA+I*w{)d>kKxaTcbl@JB)A%ugx9;p=7kKx z*En4nAsv&jd_cVPG|iVoX-HE+Tn&WGbc1n4EKDJk1t4q6^i0J@j6`h(=SGQO1U*Q7 zPK8jdJ9-dGV0G~&5_LF;5hJ3*S~HPGu+u>1fjp65sYQ{cXEenC*4>Q+N+iMT78x!a z2G9YC8YSe#-c7AmEK(+6NE##=t%hQ#o{$m>2B-?(e$8S!`c-)ENJO%osqDlfIv$4> z<*dfdZ+1zpk!vhBa<`RaqkYDgvk0xC>)BB%U8n2-ZRT1D!II@Z|KeayPH}Ng5S0$g zOCX(te$nhKCClDZ1F{E7P@7Sl2gonG&|PTw%YAt{eqU};VD*YD)mxgyrYs6KbsY*8 z`}~Fcmg3)9B9g^HU&%t>iV{6AWa&c_*C9U$`U1gxA5fW1B>;Vjf`O8}LSM0ec~Jn4 zz>irz4$YC9xDEmb^aTooMSK9hxu7VBzL#8d&Cp|rWAqZuiR%tGb}fT+fgfZ0^8x|% z>-Y-s*$_n-IrtCaa2!3c=HQJnIA#>^73Ad?8ikwk0o366i9eWw?^N)u2>QeuOI_&o$f`LMWWm6Ev4FQ0IMgBq&&!zk8 z>5m#d!v%mxgaZK#zZv5At)Qq7vnhlU<_w3__$lc4IK*};V6cS<3_=+w$Y*mJm9tbb)2%|9;H&|1i|Q6BYC+!=oWlgOb8^KoNhNm} zZb6>W6)c|KZAA+c;{our5DT5>TbRSxa_*Ghr@dmF2zhN{jSUtW9eTcCeqM>cC?~7b zoJJVsJqE!^6)gOd;unk#8i+AMW%z#aXJZz2jS3M5G)8QHBQk|?gF~DF0?bL<#gFoJ ze}TJTwfu|O2hg?!VI(i+fZs6ZMdVe~p>5z|a3VqSa1t;93x!DIU_K^PygaZdNEH>@ z2Ch`%{^9`4A;&4sWe?^T`SOEUJ~OPc`y04`eWe1|6hlPyHe+-oJbuUSK%jJ7BL?CKk3XE;e~3$XYDLEXyZ?h62~6_z?syuiL*}Ipr_%;gTludg&Ut zj=};o1c-C{E2sg-4!{6Ig})U)`)pIE=%|=5JY(V{>4aD zn=4Xjz;%{V01t5Yom}3CDAH7WO}H4)Hv^9H2-G(1qF|mmrpjkGy5M9zd0EsDFL7>5 zHW=9|l*Qt(LPXaBaDr@cH2gnvXhc0m+~db(5!2uoFlSs!-32@GmV>mXaAaR`Y>nCC z(#geUHA29gyTY%S!WCo;~w`iG}*~-(( z$lTGgMRN#Chn*G``WBCYJBVf|`DoR;P1|-U?TohNZCYoxY~HL%2D_UgqJ)7Vn%SyN z+x91%*r8)e$1NRBJfVHtHmzDVZ_07ebs`>MSjytVecSdYcIb3c=Pq5lxw~!d+NJYJ z9Xp)Ru1#hOj16%Nt^C!}9XfUH+U?|1di3n&?p4~e$0^;rb?MaMgto0)HrL{uo*o<@ z*1L2&rDv}`ef#zI^e^pqYTw>HPwv*a(~0dwya7U|d=Xc0BhaIF-+luI4IVOdm@&*4 zS~_^pfK&VQJh|&h9iY&x31$lC&EX9L!=E}}@X+BSN1c9#`;3jJpEhd5u)zaP?R`o& zrO=q}+YB^v9UL-z)aj$oI%mwe=Nad1JolWl&pdtPutEL%^yqfdiS1goXqsVJ5RV$U zmYz2H>~qh*;KGZ>U3~Gli!Qw2{4r;qK4Qp#zEo(N*}O?3v7jex7`S&BbN<+Imt1!F z_$!So*N?yAvfp1k_WW~3j~qInPmivh+P7)hG@~IVAu$pY4PA#Wy5#clS5LU++Utz# z)?a(ggsaD2I_`ooqel+u-}~e)9on_hMmTM)QGCVKf4uHbH{EjU#EG}wa`TPXUvu>p zmyA7k^vJ>edUZSL1lnj&&kGxB84Lq9uKm-^6K}uk?t3N~lh)mR*X_67c-@5Ymy8{A z#_)lCPl1ul=8f%cQKk6S+wZ>j{>cwL{K&%(Kls3Xci(=?4N&>r*{2Qd->X}v_N_JJ zo_32GhbP_t(4&t(Ipr_LU)D}}^6^I|-+Sk+H%z!<+<9k?7}WQa&L_5|V_Xn56H$5O z@hML~^W5_<7%!}S{@JIeJpRyqciwXS)t8Pv=d_{ydUoxI*(=8+!bsN!t|L!9^Zbi1 zzw(;2Dctt)Bko zwAWsG{^=(knsnO@f4Fq)*`o&2u{JH5VjWdxA;boBir)D9+wZDqsO?l+r+itk( z5_mSCSGSJsGMmZtZ7N4Up8eUJ&*vI*SA8+(vrj&JZ~E&m{`K((?!0NjWfz<^0<-DV zUgmEL89s;4nLGchufH+AS@rdobLY(daK@XjJU`{3dv3YriVM#fHK@MYkA1m|fBbI#XCJ-u#?-$&boWgYF8$r; zVf}k{>40n&D{47qX^M(VN|u!@Eh;R?U6l3J=d)(~&)=SUJ=r0`HR2*^0N=$dga;2@0)n- z6&Id8Vjwc0ZD!L9dGn?X>sBoNvSO5Iz?N^_B;{MyNgUZN( zy%VVvm6ey5ZQWA3Va_P;FMvwPQ$ZCf_3T~Q<| zGoUj0jvJy?ymHCc`*Ppjy?b`=+`e_wx)sH~#S7-nHdV%nl}=H+Oj+5#bl)#~c5N>! zUAK}d^JdSOHdU;Q8-oqgJ(0?RrTh2p`FTfK>H3w$1vOGBI&|>BKJc)XZ(hG@X+ie) z^Jc#{ZR!-xC8-sv?Ehu=&f`%zeCXi*y}NgAI}R&HsImtt8*1#>k;4ZM?A^0#+m_=| zIdov(@u?g=eEcd$9F^k?vJ$d15qU;5BL|1XnDRZAX;HlvX%p9s9CSkZ z+SL!RCV)N|65<#+Vi+9A$f2ie&B8P-qbR0D+yPmR%Zy^#15wMchBqd3Ko6uE?6o5R z_St2RB7#kkv7%=x0)TQ&qQy;eBc;Yue3d#R$}iPrEli6oTn&AYQd9;tCu>?)4cy9yrmoE*jVYPTm@;`aI9!c%d%L|&T^nMA#odS_gsG_@9o}dh z7CsJZXx+=N++e7z;Z4TJGThF{9WK6mRSG0@M4P^!*%kGG+#jQ5kc*^{Rb%mACb1O(rtq$3r=n|Zs+1i*x&WFx*y(Lil) z17rXPrmXVX8du3m1p-}RwFg=%w&DXM!^rWqsGgx-PdzXyZAh=eX=<;zsG@=ID6=qg z1%8uy!0wrzr(DWl~~WYD&BmjB!&< zUB2TQz&vA}RXr6^%SQ>RnmH3pGcYJQb1ty2Op9G^4O6b3x2|ienl!hC64X-gQ3NIG z^&wcM1*4`RQRg*EC0`=Bi0#OD4LF{92tzML1mElqid`)S$8;_ui6U}RfJ70M3|d4F z#u&^0WuS)MDmh+{sD6A`JGEiK6r1`9intZq9N28*o`%7GZ3Qxqp^YJqaoVocvX z+s`zGMXX`nM;xKB(Dq{pCD=!g;+B-~`WQFj8t2i3rq*C1*T6PQlX6zK2D1%Kv%K2G zq8qKH7dV!}f`JCTD!4p-vFxPiS<^(OG)>N4t6e;nHKGvj5GKum&3-a2QoKKCs##f6 z?L#~zt?Ky=6#^3XfV6d`NvSG1LsniP%`G7_t&M*a5HRJ78C&su{%SamW_1-aUn0Iy zu*iB8`EA&Ya@Hb}0+S~M47KqrqiB)ygx4w?To*DGiwRBRYmw9%{#2lslwM6~hH}1S z)M`@jD*jW{tpMUBEryL$)bOXrDuJjNlb{8035Y#uYEh)(1x>AXhX!O(bLc+lJ&5qq z07_U02ciiWR03X*luG(3c`!@BA2l=>aOn;)Xtt=60oLPB!}uE>V?@sCL1GSpz{RTL=P(NP|4Y z9p0v$%gUza@}Msd^#Z7WA%X8D42DA<&7v#Y1@Xxd+%T=-(#SPgdzI=E75vdwt zDThGofc8x=S*jeQ`5oGx@Fr!kGzd?F%Zh`*$5EZd`T>4nl663Zz>*yNfoTPUYI-Hu zZ>ZHm)s_@JpqhjpN?`*!ujwfU&>i8S0<>DXc`5}x#X9B$mgk^I2SqMHXg~|H)PTRK zLL8v1v3LWVGaeB1gRq32BBnIz%M0eB7)7kHnniodY6>FqEEy5l9i<04u8dH2a77?D z$B)z3p(y1GWVS)M25VLnmjU&Wt8SJ?VSUi(8F3pU6k)nS6qbPz0)-NA7(&n$e4oE@ zX{9M&tQ)Y7{iOX~*UiY>c{Y( zGRkTQDMv^pT?Hp!Pymk&Zg~l`cDzfk|W@pXR<7YjV43O$)xS-30Qo*L*SSFZ<1Q%K93d@46I0p%0 z@M3~WGA>ijLM$-r2@zztiK-<|7!a{mSKJM{5<}~5GNV=G_Z1gG6+4W?sFwS6!Hx&^k2!M_X)?ksk z$X=Bia2vbgq$5CZd+&CyH!T~@Aub)aCi&>Ia#F|RxCmdrMZ5~ z*An{^MOZL}>x2R7ZaApOMd*X5ZS`mSC=;9b|%$0G42kvGl`5i)NQ zde?Rh5K?avd-E&RHAucl@@;;R?A!k3b`1?D`Z8R@Knh;{S8|SUa`NKj2h9qsIKou} zHV^yZt4F09I-VlDtBoNbF-17q17aw`O^)qE6yan~z~}r3?SM%Uj*h4}ig2MH*Nwiy zJV8&56q6#{Vuv6_xH-9J&~*d9UtG#ao0w5$}1ub5Q+<#xo&91a}vc@y~^s!*Gw6iQ8Wm;f0gGy zXqt{y9GqEXhAOtJS~#ll!CfgVH^+|?YIsUH3_IIF!h< z9W<3Nc@p8n4%y#TTy0$EXhda8IB55%Rj9SlO~sBtu|y_#;b2F6!PIg6&3Ay5{86fwEh?GQuS1HC%Ew9}pIW>kDor>g}dXHd;~ji}hZL+9>2 z`wkpB3gq?5PqqUqvU7B#vf~??%BCMSrOB*O<7O=}#V&Al&~RlD#PPZt7@Xl2EdlQi zWS$^tuO&@gRBcVw-u(uTIOCiPE=Fu_zJ1bUwG3c7H=Awwft_aau_QPPk#>-48rEfEa%FU)7Y)o zv_hQG}M1A*$s7wQFme3y{rr651Vc1v-*|FF}?TzJ_Z zZkRafp(met@%8ENVa8uA0N;g>MwkQyT0KXCmWJld#?3R^b?DmT)WM_9zTo#)U4QF6 z4?g+K-(G*~{aOE<_YF-e>I9R3z^=}P3=1*cb@-iP*@NsKa;kNjBrmdz?Dtv~$K@HsQuQ?tkp*siOVmf}fV;qcGnh zP5|w~{sU0w+?QzQ(KFk;Rr^k2{rpR=x_;uMNB;7{tJB~AWX_ih7UJBWk`=J6`sx)4 zfn8sD-?Gh#ologIc+@!;UjE0M?wb7MvoF8--Yiis2rgR*;stO%fNw(cF2v|7_q+D& zKkSV2F23^m+wOhz=@;L4=cCW&fA>>PLD8~R;1VG9f<+~8)TUos#a`SWIO41eE}d}G zT@U{GxmTyp{KwpHe_Y}VLLI)7a6<7XuuWX_h4%%UG#wqs2tM6EZOlbiTzl&zn4k9U ztT|t0EzS>?P#wNUjDv~*Og(M``rI(oZ;I)6>CtZ}+`sCEJ05uA*;inG-ggUg14~z~ z-MFQkzV9QGfo^JtKK|!kB$=yHuWg5}z4{M7^LO{fJ%K1&@8iE$8Nm`jy!wp<=1cmFTMHx?7819%quKewZ7ESS1s~v!&eD_ zYYnyz@~5$^f1g34&bes(b+_IB__MFP^}%Of;vrSh3i!WmrV@Ngx&|2uMz8e89Oo~R31AP0#kuxuNdd*H))}wKl=RNPq^vshoAb}|GfW?dEYPg z6|Y#gscbuJA7J23?>>y(1r<9DjX4%{t-A_;93i6RywA*f+~SrxPhv~90LHv26z}v@O#9B1#bdk zswtztSfC=|IeZK`zGDgmsu6^-cC3>zNVgRSyOUzPR;(r_R_*jS3W@!r$?^fN$P(zt zKn8!%z^MwX1|i+Ye|CXrqGLSX+v*pC-q!Z6Nsm1cBWj-ZwKS1orD&wD_3B)yL84Jd zoK?W(@e}-0F9j{#Nh%VeGgK{v>1V1*@Xx@<7Aa_uSq7G ze}(!f{MM@o{%g8YRS^6~?H9p@h2LN8M71enQr(0z8P*8Dzii(aNfk?2pr}dj&p%cb za#PO6x*t)o@}LPu%K(6;JSQ+dU@1zh07FQb0o12x0nX$a-;1^#h~M*M{J0sQy>|3=!*xM^hg0y5+FL zFd;kvo}!VkD0*bYj=G|NPt;8y%;I^DKC2O60G_cCOd?0}Qa&!^lhEXdCyydjsFGq1 zSFMXs0|9n4v@3^gR!5b*2G1yy1ET8u#yGCzb$HmPk>Uj4D7@nljy9rX7{RkaC`Az5 zSeTTLT2t9Wn2;&Cv>-WX%99)u5GJGTRY8eF@8XYfOh}nrRuG7u4+Aaa{BhLbnlrgP za^z?%dRh&Aa&7+>8@o1e2ZRR?(*a>&LHL+BnlRjCQ%1))=7k9*LR0xj8WH3}T)_+& z^Hgw*%X4Ao6%S99hD9}qBJ&IkEj2#@dnkCFy(+T2Nf_)qZDY)3iwFg)3YBCmnMZ9e! zybxFb=*vRKt#(rZ9!b{#0ogHPDw_X0!}M5EC2?lTvf^6?ahYlvzFSw%=-u4%Nb}Ig zC7pQMT*$<^Kit?cNzx52wW43hCwqEz;IGjs)JeIIzsKdu2?-eEBcX<(edxZ{IM#Ak zF?1)nisG^vmv6l}tb~1l`bpVe(<0*Sh#ylVw6OTRoG&vh;LdstI0jSjwqMFHC^%1CeW^Hm6$55imam04itXi((Xj;@n zY~t}}phj~Q;|Z!s1AC-qyVTBAypxo@7VoHaf^dzwilZ4)tKFq$vJxjyOvh17sWscB zcCKQ}b$O1+bCQpXt2mlDby3ZBY4n;!2vLntcFneFf|=v-t0$BfIgz-kUCI@YteGNx zO$qsIrxI7OMX}r_U$Morniq}%>UdIb%}7_>;Q}1HY(aI&x29SsAu3iBte$XCpGsWK zrsVT^c}8uL+ZHDw4v*Q47C$kWXKROx?8gw-Y;tMgrS`LjlkYqA1f6!g;T6Y2L!26_ z8(#JH`!!`BP7T!$uS`n&9krE&)3;%Gwf*fa>Bgbwjl%1NeLkMhJ9?9(h8l<0F@A}; zyCd5nHPke`!QAjRkSr<_jAOMz&BB`#^Ksjky+wGdCK|UmsAK)g3~v$s_hkDsHPkv> zmV`W8b=4t(_){n+FGZE zIY|F7*^~!_Q$vG52|XligocGfp)furhNVeCKkiabCnJx-hVls*A8(mo=Cdz(;n8~E zdsC!#?pczgBnnzfAy&Sq+*xUJ;& zf*;ls-)FQ@pP_kN5bw(qc+gILK*uNN$jx+TeV?PBcj$Wx>z3d|{~p}eC%Qq#C>?QY zrunq++sPc=EW*{F>pQFa%(y$1u4+d3#BcxD-<`ioWaNGVcPQ2^p}wi;VU7oTa(@tW zZ#J?zB8iAPn$>rQ?+`QhY;)I&PN^*mW3>c|M^>TtaA5b(_5h;<_1M8JuF69Fdz zP6V6?I1z9n@EeK1Z;j>tU+r(v(O)U0rsJ4Hr|Zz^9tX>_vyqRR0Y_wI{D$`$GO(K8 zJ0OkZC|yT6KRdpqLY`&kWDnkM*Fvd1isV^v4nk?x-J|$k%GgPoEd8xG={cg51#0JI zV45X?FFAvyE(5~`_Q4RV?ODK2dR^+^%mC07mu9Wb2G0a_a0)ir&S5|}f5}duPS%$8 zS*3I^qGYhMKrs`$HOn~&x`nh?Y(N+Pri!hdvq0$~wieTcLK3T^1>PvY+@+tqo+2LC z;#;-2FI$NVk1^?QwX_uRr$wpkQYxU;ri!9I_JF3rEcBP&>?mjKqNK9t0oc<2kQs3~ zs}xe?M3w>N==Lh4awsKy#%Pp}8VpAwfH9n;-x!Q+$rQtM@WqY_zcTrMlq$5w0#S3) zu^cHg_D&?6NW|_(CnuboaB?Eq`;fCcs@NUXbJW*_$Nsk~x*v}<`=D4S6a4XH<(pHPl~QIu#=_=JE^HkPU4nr6{+lnB!va3>$|hQ_-;{t(aLqD z;6>fLADpa0PHKc|#i(X9&9qdnzx@HKg3xu5uXv?Us*)773ROjA3o2TwzVHUPU>AVR zRa9-1sCKL5;jLTWV!;*F$$zHmyakI3NaPAC)(D$woT^EnO9I?0ufIc7XDihWiB$uL zuvk^9-Fu5FxNrab!n7H)=Y5|It3m*4T19|Wl#**so%UWrO#`d~Tver6Cr$JHip_CX z(&q7Lg6VnCs4=1ms@)pd)EvW|x`QLw(PZw1Vphe8P+Z145pwp5@K-x~#kp!KCUYkf zoJ?>s0jD)MpQNnM+2sjaNBJf*^z`vU5<+nDT)6?(t^gBKMPEWtn)BpXv+3!u8 zI%V=5H(WVx%&0+qx_4@q*^I5~b!w%ic-)3zG;ldrOXq6oTrHierE|4(u9nW5#joML R(&chJroZryYoz{i{V$f-=z#zL literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect0_16.png b/src/qt/res/icons/connect0_16.png index 66f3ae4f86a864755c59d0622cfb1bec43b018d2..0e7fbfd2a0b89d6021402f1118ecf76b6629ffc0 100644 GIT binary patch literal 14063 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 literal 612 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 JPDHLkV1jPI6o&u+ diff --git a/src/qt/res/icons/connect2_161.png b/src/qt/res/icons/connect2_161.png new file mode 100644 index 0000000000000000000000000000000000000000..6d9a37281ab6fffb97293f758f756ac2acfb3bc7 GIT binary patch literal 623 zcmV-#0+9WQP)l4QHqyuv1=lpU`&ZD@XMC2Bb z0Su6EE($m^zXMK0J`BTVv)QzPKG64l-#HiHd0u=Lxm&B%EZ_GN zzyOHq^?Ee1Lht>;i%z%m2!X5Di=VzU8jZQRxg+3oe}CW6TBm?9P^(s}mnIUlyT`AJ zH)mIh#TzTFAMIy5J39&B1Q;|LjdZ8e5ugg_>FMe01mHM`L65+UI2w%cJkJJ(KvXW5 zM`0KOSb!xWlPe4Y0}_LY8H5nWaS8~5?Y+G{1E_!RoyzL!)BeWBbBSZFEH8ho{9Xsq zAckQCySuw1zyqv8q2MZ|6yN|lkw{pMS1LWZwzTwe6a*ZUN^x)xL=2cQ!D&P~opym7 zU~;)!+8C4M?>lSPbzSGz;USmT)-X!ZOC||!k0A~LA&4NG&1QiJFs|#mTI;E^N+y*` zWt?FqqjO=1R*EQ}H-oSzBbfr=bUYNxveF`w1B`9kmN6y`vaDU$3T>l)mfja<7sjo9LGZyd=u#{4pe*n6I6nJ9G$GZRk002ov JPDHLkV1jPI6o&u+ literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect3_16.png b/src/qt/res/icons/connect3_16.png index a211700785d4f811bd535432234fcb76acdf2f46..46bc3a6ac9501ca510118be09a01f6cce6544ada 100644 GIT binary patch literal 13099 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 LNkvXXu0mjfwnP^- diff --git a/src/qt/res/icons/connect3_161.png b/src/qt/res/icons/connect3_161.png new file mode 100644 index 0000000000000000000000000000000000000000..a211700785d4f811bd535432234fcb76acdf2f46 GIT binary patch literal 625 zcmV-%0*?KOP)2L+d?h)FCT*>tVx`haXp0VY(7~xtJ1Dq`;M_mp z;tz217jzMX;_RTfH-lITF(rf0q&34iNli&|PR{51z7BQ}GK4sxUAaqya4C{zVG|PnGWXvu3^! zMKPsx05T$oGCa?-ff10kTCHRXaJIMhve)lDLBow(x4(}2ZRWEP$b=x0NGXdz1{^h; z&ABOn-#>r7w6wg5%II``*HIbd5vZ6j(e!#f4Kx8&tJNw~8JveX$P`q{V3aY5CCC`1 z6yqQwiXs35Ftpajl!H;IKvZQHO;>h)(gH#c9UVaRd4o`(-WYXvGJoFt@< zg)j}!noJ2?*LC?HCQ1lV0;+&?9LE-K*49=!jmATO z<@NO+$Hk+{&);%Y02?dj!JYZsuK!|H15ela{_fi~A9w^9LWqOE9sC=h=ivQ^00000 LNkvXXu0mjfwnP^- literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect4_16.png b/src/qt/res/icons/connect4_16.png index c1232f5682289555dc5b221c34fa27e3b6820ff0..174370fd0a6c4ece096039543e03d4ce66bfb42f 100644 GIT binary patch literal 12700 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 delta 664 zcmV;J0%!f4W1$5hiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZygfByjg z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+yn~|G%yRkT`2$n0wGC6 zK~y-)mC(UUR8bVi@$Y@}=BYVl8VMO1f~!EK78SU0qn>u_Z5P^wK z&dvZGE1&@+&~cClgGj)qe|z}Cq2c5iz?X)2b9wo3dwu>Q;rQ! zaZN3>4}hLeH49adN)1#9(i3C*WU%N*Rl#{NuV!YZwl_EL15D1&e%|W;R{Q#^oHoF{ ysmhmIBcWRV!L$MoXW3XCW8nBZ(<(6ffQ^5ghC{t8vU%kI0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyb; z5i~FhzFjE*00JRNL_t(I%azc1MurT^76CD+K)h40KN?$DcwSh`R=pnVT~HMekL~3YNsOsP zpo$kmB^IhRK?N!##D}}PTwhs1jG>t%*xRS2q1YS>O`uW*luU%GM)dW26d{&=;&gDZ zyzCsMG2}x-(s4~Kv=4xuPc;iwkxC6z2+|W{`(&`_M^(XjF|TH3rnWaX?*mNE&VJtN z|5p3@tDH8#y{XEVTO*-b|G~5Z4`Px#24YJ`L;%eI%>d1mWGo8+000SaNLh0L05@C!05@C#%g3a-001BWNkl$N^+X#yB$h z6GX@+ErJ+FhR_f|f+El$NOm{6i_FNZ%F0({#J%TRGQQW|``b5O-93{--c!hmh#NQV z>zw^sd+oIaztBPH-vam}NO-sZ4}#wZ@cTD>*gwXE!*MwNIUaw2bff$IN%{BNVEFq# z0Cee{K;PDKx1ba`+qN3h=s$c>HvriTB(0eRZ!_Zj>V z1mA5RrtCHF&&$`pbB^Tk;Tk*~|AmgP-Orzbcmm@26%OKA`TCV}3i}*Fbp}6F4nb!H ze{z$uAa(+BXXC%A;r|AJjWhac@Y>j)DI@-5t+PGhr+a3XUqrTV2n*&~OIDW;) z17~Qj)a~{Ahw47nNjw7aSUHC?=M=OH?H@6)b}-hjrcXquZI6UNQ?AKiR_Dt?mxqXN5#;;QmOsJ zV&w1DYkUvEC+)+`$Gh_TbN9i2a=0cB$1nMK>wZ2dU+))Vd!z1mstoY7IEUA!{!e&S zvWG8_nnT!ucm!gnGJ_v0N1)3Coe@N3fp-D{E+9kX|HB)k{5tAiXZYVh@ZDngj{(e( z7UjRfgonl0pJT#GYv;gAy$#~|JVc;{}< z4uW_Km=1jc-`)rD2EgY?cn#pSatIGWtR+Ku1mY_YpMlppf_>RQR1!4KfK*bCGJfqX zbjt6ezE1alD=_?}{Cfq#T)tOE|J@JS$T>k+Qu$P{fNIQ~A^ZSoo_2!p!WsJUp4$({ z;rLZMfO{pff7o+-$xP)Klr{e>C)r_4N9E@PO1bY>$HgI3XRs^Ipk@TSz!CgS`CgX= zIvemMLACAT1iAzG!zKJ5GQuPnn z;BgO>6HwlmuaNtod<%Y+ulMW>PLPZvh%$oz9%;x1-Z(~KR1W+HQ1+tz+W2+kug0&V z{wXGW1Hq;kd|>#PAip+2YLri}F!4SF7Z9G72tGl$#e@@p*@y+l0N<78e2|TsTV>$e z;sB1?&((<>oWSAuSt{)|4x#{Z&3Z87@ug640E(HFzV z0>K5Q$6HK1h44-JT8)0j)C_)CjQ=;Yyhs1V&K`J>({k7fd#A9uwG2n4$!RRhvNROE2{l8*@~yw+HZe*xQn)nTxq z{i!*FgoG0$N%?1)kuW1kLc&^ZFV5ig1_`@-JL>oMK><5KJEsJ~!3-eKkz6B6d5Z1BQ_8B=ivQ*j289Rb$j6a<2VY0d_mfyK)L zDkcbP7a%*B>;Tpt{h7+|XO$u7Y~gSmj+-7Os<-dUbtY5)9&>R3D}aLb%L-yD_4!e$ z%K@$v5~l1FBxR$=oH>M&LBE^b5*gAmgB7Zf0o$_xnV*|k!)8hqGs_Fg?Gv^ZF^VgXy4qz>jo|rj7P#nW7 zm}Y^1n3x?yj`vIH4$RpJ6mKk8I|k6&g|or}(r`i#$Kklyu@2F{C;V#z|5C#MX4U)8 z4uY~N##qV%Arb^>CAj81ARBiAAy|=0X^@aau*!_JmJ6~X$%0jONYje+^{!+DTM!$p ztt7ZW8k|6s2^1%=3`0G-)wfY?K5zU-CGF3xzv=ODHvaS;3lkF^l>3#!a7NI2AFc>Uj?hINSv@k!d#;IirgXF;k;bI#FP@ig!K3U zc3;0KuWTs+FmeK4A>p?G{0)e|hTsoC{BgF2#UTEb-uqjs&;O$W_|58{iu_oL@z0oe zj)lZrqdvEovBQG#v+gs!-e^y)lMLPt=T}z ztwHWwv|r03>ozECtceVTw$};H%*$usDQNeoi1rBFT(( zN=RwOiVGwxSmzl#?2u%epMBk7Cr6n04v7;)fE616A6lf}t?#g4DX-`P30q9qfT|lO zWx`PKW1u(zluV!aA!IRTfxWUW|EZkus zOVmHkPGH_(p0`*yW9AMEQo#f^*->yViPr+*TJU{fTGlrBn;k(#0H#*sXGgKiU>{di z`_qz!%BeUUhvWJTKnvd2_?@pMNCgM$Rh5lB-&68E1qGBN(oQ)7S+HZi-zr-q*1hD_GfA z0Dc3+-$L+j^7~nu@$1z8uORqWh2eKn`uv;n?;R#>{M=#2X^z|^7H+bUV=BL!u@IQ2 zOKj3q48Qm%E|@{gIKs>o3u^5@VJ0vw0-<0oRhhIdL9V!_66r;^{5Y9YSMRNlLn&}L zuEPLmt`@c$zh7BXyKibvqJN(YggJkmXRNXVcY;JIO==>^5q3;iv9zAmuGq&qU1HwN z*a|Rlhn;LNu{ON3LxP+F++tpr>;#?wc)3L%PX-cRLGVer=6??0yX77IH3UBZ7yJOg zaY_Ai%P*G$KZ4*y)%|Pk<7117$Hn+(Oq86`lUT?S;eid-;s}6cPS}*lzrlos6K1Sf z2xN3%iy2eS2&PGss_83Me@zNQqblSh>Z5xzzeV4wt#(zrzBV6Q*^>wzRq{ z&AykhsQ};;xUN{{1v{JrI4>E>rNRTwk?;c$KQ7V#Pb&tHqkmTL`G>-|J8MLr{BMV; zfq}KvC#B}!IOAWj!Hk8Ou)A=F&9qUsXENo&OzT-7n7Lq{*6a+(3=|46GqrZ%1gKI# znt@LZ++*|66(8`3zmzoXkO3Ty>ob6q!Mzqs`}M?T?$Sa{j>&UD{gDy>0zD@HNr1$; zwE6_AB&;c??kgs&1ZK%yv7O8r5T6!ocUw%7J7YTmz|~<{33=Aw1iLh$T2)3bUIT?a znCD@6eLMlF_o`^-AwExVO@z86Sfr0SaUX9 zx?|H3utkE%3|y{&%z+bNM*oulk7n#%Etv2Q311-3%WR81KLha@fFDEfeGq>G$rwP@ zGxEPj8{XhE_b2`Grgoz14U@jRzPWy}T1K4oI221|RlnKL>a$CZ(OjsybnArw% zaS*u_NLUKcH-VU>mIEwV09rE;NUco>R}$EoUrYse$N~<>J_pdR4!SEw8qn9iO0D(t z-75x=AV`ukft6Ef0cIQBF;mzUnXn_UPQX?K(=K6_1v80BSc05DWQH(T|HA47YPUif z0Vx%B?ey8Vn7`S&QlRJ-;0(Zn@;Xl-ON;)0Rak&J`kw%Jg$a*x>facCM5WkMB)_YPwzf_|C4B(=q{*}(V=KB?5&&(ZW0`t*S(tg3Fr2R*nvB3^Ui(o@y z!<1=6ECZAzHj=Q2U=fr~K+OOod&4qcHDz3;IE365?5sdGSg`qVW9d{Sz#$7b9Q&fb z0s&1P**gJ!=3fe)FIicqqW>wU{46eGl}!3si&NNvNX*swj#H8M0A>NUSTRo%E(MSs zF>xuWeqkI=1m+32Wa%UZ*w;;5qva*uP%_`_79kF36v3HoduLOV6FX+3u5@F zpo=B?KYoj8y@!eCn7Ao)-3u&*%Rgf-NPjB8AC&PEN1U)BaYWz1E`Xc`Ocflg zG=|K#nu!Jg&Ql&Jno5e_I|0%NLK*GvGlbpP#T5hx^FJK%!O$tx|EJO&unvJ#9RQh- zQcla)1_0(Z-wI-p>=foC_;T!=+$AtEh>R=mZ; z6HJdUFnyhcL#8r0*t38g1TQfy_&$J_1tB~y8GwuaX~x7l-a8kTA2H!HlYEFW0i99& z4JAi*Fh~8R7(cUS&xQ#{?|*=QcevIL$KmM5=@0S0Hx8`iNV+2+Ymx1hLMF;&qlKAY zu;3Wvdn6<*vgGz7x7luSfeDvbu~At-W)dbm$a(=_dEDs4yXEX9FG0R z{r?yLD}YN8Tyn)_ns6z^h2+8bOCc^raIsyn#St!Ki>)l!3b2*S@^!*GP1t>VfgL`< z4m%JFcGwmXkxL}}44m-8(%*m8`0~=^yj~SGpKTHID8L-+U=Oj(3CjjW76hf$mxaML zi(n%q{XZE0;W!*OJBpngkvNiKN0^FTr3R>PHko9XOXqDPS^k_2%s^?~6=q*+`LVPDvn0aiVEl*U zaNODnY)Ur0Axmd16+0`$xq_3;Ra2wdC#Pb=r^Sw!V%KkroqrC&-(p(u5`r&~*K}== zH}G5*^1zIV7npdIfw(%A$CUZ|SaZ*w6$~U6EUk~fsl9(9knTJjhvRTuhejSjijc^J z#DpYEPUe}%i02Y;6OMA^mkBH9Or9f(4(BN*oFn0(($>t2c8ehBt8&Ae;w8=jOpr%a zv%hNiWvby^oWL~CZKi)|-2Q~k0&M2Y`QL!py#Jj8;CDC<$8C@Izk`2QxH6j=Se8-( z5ZT@^VVQw>p0hn775glNAkL)>s5+hJfZ4SPV8IuKM*9xH+cGxz0CKV|ioM^KcH6xs z(=}njJOlHz!$K+3eK{Se?7kVjC3vki@BjS2{U3+3eK`I_9{=&*|J&=bfJIVP9Hd|+ zavKquML2`m4k1`mmLFLun1n@k9}s*BIk^PRA3*SR$?z{A_zp1P6$I}v;e7!JK84^M za=b0+!?BX?7EC-U)Z5f(xt$Lnn5WA5pUObcHR9X{<3Ak#l8%VU72c~J+eRCmIJ%fiYl zl-+_V&dA_Io@km29#BexgYh4Z!*ORPu%MFUq}W#l-%;#uDwy1){*z4S=bRVu;J6t6 z3kV(*d;biW@I)6K5PSlhNKxUvXo4E83xEmJoCQ2*5);=v83OB&I20o>LLqO-*uN@UC?6wwO*N+jrg7SsuR}wf$E~vc~|| zl0uY;K%%7oQdD}`JrPkR`b2prX_>&`I2?!LE(b@O;#6?AdRwN?OVP@hnAhXwmf(Z3 zT(@l7#)o3_?=tY8jdSj4KhBFT|3%r&_rAn^6d};6%Uhqc@bM?M`TeE7=m{-dx$*Ho z{g1!bReZqC%qBs}vOonK>9+@;8jFNbo88P4UG4k&Ae1^q1d!^H)Zexl@jCQb<~%i0 zLm>ve0Rr~b_WPKpD$j@TefY;J;|$chC^5eN`uCJVDA&(rKEd{WN8-DC;^>vJ|G7Y& zH}#nL+^Ltr;obG0^yAQ;V=LuA)CVQir_kPqeZz!)fbzKjO3cSSX7twG=i7cPZ;bYY zj-OY#=|BC=k8ffB*^Uy5ik4uJGC9b}NRrGg^_L>zgAClu5muIwezPs(4J1>4-;}8T zAm4s`4B!N4i#j(zO)cuu4o+FTlWUpdUrRNDCg!n}=zqI)98?#Nx=^UD2y@wpK+pYE z1qZMGAyOZ*Cpr3xBK=7%=Fp6v?j`m~BMJ&xTNx(n!#GP9Wi06T5&gQFzp=MUp{b+)%9^}SI!%P!V57?UuTY83r(yLTz}GNGUu za(gcE&(lt(d$Z79y(@o+e*M|D>$NEMte0P^`}TJ`oG~e6{yPkzH9W29W9Dw$jHJqd zsbuFxNCZ>K1hxgoyMP=Y1Ncxn0Pk~oFnIv*bk29+W!u<0aV^>ascrA6-b65GwO*Ms zJFvdMsm?OrVIL257=YRc?oKW_8km4KT5C@(Hge|2G~vBCihOm^KcO}T+Uz8{Sm_K^ z8$VryUDCRu7vEkRZ!)j6o!RW7MA7b*=g`?=lN0if8E z^o?3F7h+zG5!E)UjNYbL-#rNKl^1paIjL0OPXK%hO!zE+gE<2P{7?YDW1y|$E}MJX zx~{sQBP;Pt)1)H*)Kq+RopSS|gc2J8s4jdAsi$?pGM-$~={HRj9Rf|YP$5jMP{Kh= zvn7t^>Q}=>SfdqHRO7Z!Omc1IKO=_*xP%WmN2 zIjrZ<7j2I+4v2K8k}4|qC?K%ruR$zzag~eC2+v4RWVegdr8TS$IG`?Hgf;c1 zw*EL#r~168UYq_5s52XJDgKb0+wx;b{5X^~I{0%R0Ab#?1X+p82N{5+(jB_FtwerM zTxsfGJnd^%*PF>0qYUnPQ)s32RP8CL$S+N;J9q1rW~Z4iSX8trC95CXjOHi7htd&v zP^@65kpIdLsMmYe=@W%jNi7SMfaiQm(>I|*B&d&D0cNjWaj3b)mc}$Wyf_-luZ_|b zr>&gp`9L!UrA0;)J-Xpg`rnG_V$jydbl{_MU&}$JP`d=;BB`mi_qU+ve(x?EF|UChUQ%F@ znEsV0Kv21gTue9&uVypGbn4TJ7pLpjyGiNm=V2-k=_#njAcP(dYmQQ6#OEbAlO$Zb zjK(<)z`HQGpOxO#%OAb9Q|KE8Dst1EBAbU*h1j7~;HVVe+Q)RO#rWIW6ls<7OZYpD#~r<|MLRE*O>635Q5%U2T;@h`|ioN zWjLs&6mwg~*}YLOxN8`E z8S~|n{(JVeAC(@gG2O06tOAd66*y90AxB z9K}X`y>+*tkX%jFZ@T8UE&p2-W=x8qPv1L#W2ocCbg!g>4)L-X1AC3`AuGBI&={+2 zjd`$&SAsoa!Ax~gN&swWhvC}p&GDI*mF;$yoX7%y;sF6#kgvJ0c5#pOd@dn63qwXK zR3l``*y>kV)Yz$yqPJ%VRj!A546*i!0S8p28Eq2i8b@PKm*Y92GIlCVSng5-NU@`& z>}plRcnMRn!(RKR(hb-lZxcK!%SBNfgR=Jt?@B!Y;PeCJxEk!XJY@Mp?jZ9DnJ2ZJ za|2AGq`3=7+!T8OnbI9H0Ku3J8(%`(C6?Z^ZY>)+8ctg!G?4XdMxh8Hj0iR*GKfPS zL|HFQ)KXaq>wRSaHHSV&X^XXtV;~di4OKca(ze5cmQ^QIa7^cgL!C|Ws6F=pX(P7| z4Ke4CEHQw*_wolK{8k&fO8W&7AS|wJWc&DzXUSll}zZ7l&ij>H% zk%4LrGPMbVWYU#e*8fC12aEtUi;QKEE{iXVs%>f5dG7BVk!at=II`Zv)N-2qK~G;H z$Mim;;R^Rsi^W8Dn&6{LA5m0Wn%+ZfNapp|=V{=ZEs+Lt%u=V@f8bqmxw^*kdFb+j`4X9=xpg9LR`w225()Igm zPuwkIpcJxCFGcj@imLtf_KnKcq;d*2?e4GN1a;GK(2+g>MFgf);(p}0Yyx471Bq=x zS4Sj!NK`j;0eTVc)J}Aj?w`xOHaXod9DscKPt_w;ZqKR40D!y|2*Dleaa^2$MjP|@ z)3j?qU*FYNHlcL9&6zh)$){#UD z3KdbsqwX9pz=|S!e7^VfZN?(v>+aUGv)61dV@)v)UR4&0?(0}zXQ`s?0 zsBPFKyPoQdPPNVY``!KqJkL8BXu_we3s3++bMKw{Id3MF_C&M8_-k6yp}{*)pKOG$ zJ!o4Fh>F%Dx@`cgif#`?B5?yN7&{CY=70vaoPW*azR2O}iq-fBY`OK(b$S^BNQ`?3 za0V^oJruEJEK?+?7lyW_A=bFhk>Z?d$4%%dxXpXY&_Th#N1)+Nw1FwHPRMis{HN<{ zdC{pqqf0QTGQhVix902nlZr#VY3uHQsNWh4qyuvp zP8(J}y$npZ0jBQlH`T$QVX|4Cf*(>L**Y0?okmZ7$xhKtujn83W7LeoG5f@KIjC?G z2~t)D9S!m3sLLq9K*QQcG8)!7!%}l$Y1bNH3n&94s9Il#12C)e5>d+}8GxKR!}Q&1 z-9f1tm2@DPq5HjYK&$~5fQs-_!%cyI-9psM7QKI(}x>@|z2ZU{?GG0d8pk?aB3x)UDjeyFKU2@5(2qACqZ ziep>BbFXXy!Z9m}oWcmSK#lm?sY|pG^O1JghN(}qC+K^bKKzbQG zwT~^ea$FRaCmIAaS-kHu+~_5&1po|Ej<%9pzu=w)+^O}cS!4Qxg}@O{dJZaZo;^z3 z82j-&u_oc<7!`k=)Ga#(tvrVYMI=W0W`K%U+;6s^;yD5nX3;w4|=ENkdb)`|QVO8YXe8gE|bl(4_Agc3;U} z*3gtl$u;oZc)Hv^1)w-v+cS;OSi1XcR(JVs>;N|E!6xNtD(J9LkI=XB!tnp@xQ3hl z>Yy6zaiCcx(RlbS%wPkqin%W!bM9@ny4&??LuPNy`MJ$p|zu zE*7t-z?qCP6(g;m0nloRJi6Oq9kZQI^jVAyJOtHoF!TLt+}M;R{k%~8E#8?^;Xo4Q z1?F|NXOS3)CifdG9VPayJcC4jf7Nk#lgRanWC2-0k{b_ed10c@~e*Ui@-6V)~!lG(1VArfjbdL%V7+adqe~D zJ>XVf$I3gtCTQ|!Vja^yP?n4VP6=L?B1?cnLyCq|(FcfZNph!Qpt9BMKx+`M)+a5N3s1y(ADSHw)S}nti zg9Bm2PRH2~Z=7uOV3KZTWDI1?c>Fxe(AEHlu8VDx1|`KX?Z;vK*6=PEIe3>DxewRS zzQs)svU*bS4fx^x39SGlRn{otq#kL<$L%E`sv}d%PTEXv7;f@-67Oslqg~0Jius`o zn69c1ZvEmS!%w$!27YYXe5PW(be*bm!*HYXph_>rdVR~#tU#f}BAvn2Tx&?fC=4cW zBuI&y0ZSDAW&a0kxbzH+w_m7xFhK)y_{@nzpHsE+n!|N0OO9NJ3d+imkjcoD6B)@p zVky=QaW~?w$#rYSHnKPz$VjV+14R+bPWjA;zFsn7uU5j2!&P~UBeEY}(_LF{ZgUfU zNeB5$dK?wHG~gP6vJ4zV&$T4Zk$RpMM04pvpxA@n`RE^UCe7>yq>|aA4crylO#730NidS;l zLs^a$d;`o0L8Ybehk%n7qffMv|4wG&oxpUBz1>2Jce)NGG|0bPGuk%0D3fkq3fRFB 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 RSZ9Jjnrb?#mC7j0{{UqMhiCu* diff --git a/src/qt/res/icons/debugwindow.xcf b/src/qt/res/icons/debugwindow.xcf new file mode 100644 index 0000000000000000000000000000000000000000..faea1e9e28863f71ded5eb6a85a8178d8f0db661 GIT binary patch literal 215838 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 X_CPvT0@+yBf&ZfHA3kqy|2X~+sLzoQ literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/debugwindow1.png b/src/qt/res/icons/debugwindow1.png new file mode 100644 index 0000000000000000000000000000000000000000..1712adf0e719fa1d8865fd31d2907b4736e6f0e7 GIT binary patch literal 5402 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 RSZ9Jjnrb?#mC7j0{{UqMhiCu* literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/edit-depth.png b/src/qt/res/icons/edit-depth.png new file mode 100644 index 0000000000000000000000000000000000000000..8354efb1ee344413d88fa3fc58e327c3ca3b1119 GIT binary patch literal 16036 zcmdtJg;!Kj_cu;Sw@P)z@bFb}7al1w z?n&1`RUht#?`^8Bj`wSfZ4dW{_@%zK1|Ig`ub{2$Bkl>AhmMsu9-gf2zYBl3zoZEd zj|)#%L(M#3;i%2d&1vV$4kCEP`$xQ6I=b^XQzWH!VqoIA<2-ZltCT)Jze1--v`&pq zYGV2b-=93HR9kVc`yvE_1YRGr50~woyy%Dqh*?EtS~^FNT?1OG4v9APeJq2buA)|= zNltavqp!igvz?~pPd+9fLXC12lq^KjdmkhOVJg)_Q`fuAly-p79V~uir-K9&CGr0a zw{C9rL($K87QtZ3m@mJRzS9-Z<##%0I1@Sdypdp{W5FN0JI}1fLK)mRl&mNemMpfb z6VTGuCf?90AYK;&d#Dvd+)dp&*Vtw6ew~-)*F;|N@Zfat^xTuq=;Y`K6I#X9>b%p` zDY1PsryFsU+;^;j#8c|J`!rnmE^K9UuT8r1kG=+C|1)AQIsn@o7#RbV%uBFbsBmn@ zsH1KkIx6*Mm7P*8b7y(V>?Z&j9_f(eQ|H!&m3OU}fFt2n zN~QTm;ggv>Ncb^V_p(wKGyU3NlSBX3^}>g$y}in*mDt{e4VpCe%_}00x~tlmsl<@BXcd57_aKrX{b^656>q&p%sUOaLEaoXvb^vF-^AJ35%}Y{lW6Pb**aCa z0lqcCKegO}M88r3PrP_lyUF?kGh9WhfEw2&(R>FbNWlfYn2#S$X>~ou#AnDhWkuoq zxH;JKwTKhE5(udRY6p;Byhee=qd50Kk5{_S3mTG$s08kM5pVU4%`RJI)FG93x-9nM zJ@To#&;q{dPo3sq(WL$q2{bwp-XVqcsW7>!D&~EexGF~A3D1%$2S%Ms$zYSQO~C-+ zzk$fVv+Ud&`(_=~@Pf}-?mbasqF2jSoednW*C<@d#IMF&;C_G0tkJJsD`at3gQu0_ zL?AGdgsW4&O{YHjJfNJjyobXe)ExrEL~>!C~|>*_w`1b z(j7Nud=^7e2IFJd0Y|zm`w)80VV4NKJ-Tg@(w#if)u@R51z?)($bc7rPZH zah#a3j&i3JOeHE^45I#7&CO0~yG~mqC5OmgmTNT88&WLu03s z)4K27S;<%oRd)|qE$wMu{ecJISGGg@`xD^pY%49js$r%@vJ@HjmEuTm1yc&{!9A7v z^5Th%9^uQ_*nQ)ND6PzR{^V7nA4sBF`XZ7FRG+9tEhsO&pG(&5_kWb7@z=t9J&KwFR(&y|FgmH34d0-EAhtSF&x>DR82 zjVaICq9#*UIodixezij04vKHxFtFOg?3VV||1O?~=0IufI`(7?$x`T|)B+4?3Og=U z%?a^;Xq+8rc^yPh^9<@z%*W9cyf7S(Ba#gwen>E(wx@kIiCpjt5GhzxR^qTAfbS`r z>$P5-2C)iIAV1yFa3`+%>)W}kG5hRvsl%eF^HoN#^Yye&*xFZ^t`GT#p;|sc?2fsvNLlX38+vjZm1_eAwO{(|2z zO_P%7*8gNyQcSmT%ol(n^ROLvOy5D6k06rLfm|xRfkxl>sg1t1t-^ivA6ewY92QLa z9IOlSUd!8(XoMC$iFy>%L7%|)E^5d0uY<%0-J^`6ttQ@k@}|2s1h|(5@z|XL$npv- zPuV+p15EVr#qIQjJQwrmQ)b0V?|nEhyTLCC?GatKJW;PFn7vEpxAFKQ$SH>LAqUf4 za%d>2(u0fK7}W9lGfpiO@vp;=Zv|pn2_K0LNcWqhzcri@9h_R5`ncA;vA=SMz&v)C zmu}tT>p%(%-F6!CkufkBBz2BQ<*gU~DoMmPB=3U+YY9PDbN6fEs%$uWH?cUTWU$PRdR${U?FDx|(9M9y=)lnV6nEl)3e`!gvm z2gnEUrf58y+`abouuctRBs1)$8c@*N=6*6@K2XcrP7mEOl&(fKQ({Z|V~p~ny>5eR-vU~YMiV#`ya<>cp2HjOroN~bQ(Y@}{fE6X%I zBem0mk<8wKF#i}~8W0j*70`=gPhlu?`WsLX} z!uPClI8#kh%hN6G^V3~rTKhk4>HW$RQP%eOv6i>W-%M%R@i1*lT`YA!@bo5xmr{m6 zdW3?_dbmA$XY16SWrdSkoEpgRo02C((4H?fKOE+MBgI+ulZD%hq)bU(O#6grqz@(SrWc|CZOfF&G+> znEr6nI(;X3M=pc1S3b#}OJ|7cSssuQ?5ZJf{>e*%Nefk0zoQr9!mO;u z*lpTdp#?Q^M6#;G9$lCk|1fsqw-UN1neL^EPa6L{C2az4z~rc){qF0O(#Z7wgVsD6 zCq{7(#!YX;o44t}ATylxB&dd2jDeW528@*D7dLYgpB5GqdRchYsD@i{BBjzpidYatBr8d>S?ZOy0_Lvlki{RTMgl;sk_haLGepD6t@a)OAnuU}X4n52> zB_v~z{5!g9?95!1>m?U!M8_u=6lcpary2w3hq8~(bJyEHkTXiMTV zzylX*^4<)16m84KtoJSIC8^#voB9vpEV;s&`%Eh1ezbWkxM33U7K7*`m+vu@{mt6N zk9o#?GE95ZOpD1hJ;!S+>yRwq8;(%qBKY-mR)cz(Cm;x|#y7(@t@0(vyv4cceM{p9 zdkDjW>Td{w{)V2BERs2f8+!`qFjY=o3e}i$j=z%+>EmxlI$>y?kiX;Uh7WwqyB+T< z1Ssqe{5iE=@%EX4bOP#!J00W-Y>G4VL8m0bQNI?#*Z>9`3kBP6w>{a$ioX_rT|>Qg zZV@_Jf1bEb_RgNGw(2+g!7j(n$dk!iePlJmjoA9LlfLnK>k5iHUshvvK6K2{*(Ruo^uhuw~MnKEK$$&>^QcSNmO~~ibpi`qTxCpk57*@$z)oUp8Az9b( z7r&K2ec9WXNfARA-}QTzUk@M*cM@AjPx_N-ne^7$mUg>7r_cs;VOE+E2x+yZK(eM( zZq3T^`QS$em12^p%2pNOl&T7OcCY6BJ%wF@Tr7eab81tDJn(B~p^S~xZcz%x9-#8E zhY!FPZHQ|#i-K5}L621GTAQNKu96R#a)YP3m2WS_+(YTMgu65|-jE5O`1=>PY#ies zPu~tZ?q>J?m6eg}x0!+et}c8+Fj7#gZmFz%*?C}Ah}Z+cQxZ{>F(i>N<$mzx@}!c6 zVQhpUhxf^E3FaUVshrI5yNUJ%uT6e7_Tlpa0^FFEj&0d_36_cxvt%pzTJjH%qGaPD z5_5iL$KK8%vRt+D=$70cDX7kpEm!5QueX6tAtG;dM^+pplt@v-;&8x^z5x+lC>yg? z;%dm@^r#1Agfp3L^D&!kBlE)n-KBsAi2yOB4uz|AwC365MO>QuIH8lOKne%fIH3Xwnww&b`BFC zGkw!AxfgO-0o)q-0)Ia(YY3mkwj`i-!Hq))o?azWYM&`)C}s~D6m{UQnQ25n)jxY$lugCH z-i@(&Ocpei|^cJ03+z+}-JMeYW)*c>D24 zAAFBsSuU8<;`7v+bkf(E?$yz?i5dzkQ5vMrFin0D=V<`#D&H?%{SiPiUt=<|wslt| z-3wfj&H2EjctDLKPTYT-A_UF`V|(Ks8X9_7_Nmihj&-QU$=BDn;Q%0zoZTlmnMkiK zn+h}tDmf#-M^&=x5BM>tKhXTzABktv1*>20zYF&iXoP&_ZoXgfB$Dd|OemJjJVVKG zj`-sMjS-^BETrv7Ht>8@_IkQ1Of&P9-!==S6nS)&ZBy6w_I3cVhm&E`d4(<#;Om%$=?Gxz8tx}3$-$636?F^UrOO{VD`C9uP%R(FG0>h zJJaGLwk?ti4gCIgAsE^gj2OAaMT125hT-+~_2k*xys$=O*H2|rUKIf4`??PVJ(5Jk zf0Le*4!TCCF3W8_r(cyWuTP1s6#v>kR7KGQ$c)HdN)nYos)htkT$_1WPUr@9U~hP! z^X?un7e`j_4KH7(G|k)AH-eUCzy{H%dr)H-fu|XsDe0cZ8twublmNN zSx)x%S0g(OG_s0F=KA;4Nkc7OLQ_|#dO14q<;8-)EV6_TuOY$Tlu>P-8(OY)4T9u( zf!oYu`2a{2Z^%g-qA?78^Xrq-A4fmKBK8yXb5aG>`31~j_LTZX+7bYHzq}KR4LxzzPteMzgRg} zgq$nhs_5e71?>wdjv&bHrv9cx9;k1gRKR%<_E>YY!1=12+(8@&w@urY)U4 zfFFUt!4K}FRfQh8X1tm|i>sD9y%)@nH;5SA;cz2kKLG3F5VnurG zal#FU9}u!xqT86C!0utLv=@OtsNA_zQcb4x4w6TNt~r06)yaH3I5^-91+UyL>m!0y z&v&xf|9Gb#J#{?Essge!N2l%9)H?jsI1BRnMR7s;k<+G-KF8xl*ppSsYk-5>rGGIU zrn&l^YQmi2y-b#9uOL2U(b%&q@VhTn$+u5t0Hx->+X8xvWd;8fGd`wrs9Pr^Lm_MM z@Qq>tVaXy2V3=RR<{*WY6+?}_L>_2$17FSt9CAT_)C76_l;ZN&+ktaHW?qLmIy#o1 z`JvvKSy^xV0!H&eej{VL^?$OJtBME38Ff=?Eq=Ev|NgFQ|5^ExjU9jgVhvZRBlQ`| z0Jb9GQ(dqnnneefq)$zEYasr4;&o^i|Kp`X!Faj`^u^w!l;X%X^q)fc7QghZqySr_ zhrSw2xOU^cIOw5WjXFi#agKp}x-iJOHJFCElY=J-&fPBv>Rf(4?M*!dD9EayD#7vW zT6rZ$W)p{>b3Z!oR3DD78ONNbs1UiwKrZKD{o$8?;mZt|2?~CiciQQY>hG*<+CzBL8D%rnlx+^#+=a!b(uK8@9KQCB38rzgu z3~T=NrD@&ScJtFKMp)MYJWzWglSue}~?5!_+UP25Jkc!+mb$#Jg7j2EbC&)KL$$ zdzYX*cPRF8Kg|3RH}w{D$Um2@$qijRubY#wLtD*JjBssZ2}Fgnx%9tpuE9fg@cM-w z*BXF-YVK9=^NnHkrZMZW_73Q6zSgU)I~*V>@13#SG=Nj)E2*lCx?I86{f9XkinqTJ z;+t#OiXzz`)1TLX44()>Tk&fo7GDlT3Uq|lL(E@z0B%C8M6s5v@4bJMSwHEMxJ8Ve z_O@zXUt`d>II=L!sIs)Q^vmFj$Kd}*r_xtqcFnaLb%0T^_N0U)i9%#yI%zdtd35_k zLW+LIBG(&Z6+#ZJKp#rUcIht?DKms_^^jITJGxW_EjfYV`At*J!Pl=>Ej)ixSw9SX zJd89GnmxwfSRfino|ljFyK)32jg>(%N)-nQFXH1V62=oYsi56?S*uEnfxzt7zj%TNzOe!h?!L19?C{Tr zYX4XU%a*h-=yC^!a_~EM^GytQ&z7*Z3nzR>N)q{hDNI~Rn2a9k_gtnqd9B+z$;DJvFjBsB1 zZXc>?a+&}{t#`x*oNpUo4xt#g!?Ke9_=q9Tfag9G4Byb_4Me_kx;0wr^$!vDOyuoS zN?&EDCKD;jNYkAO#~W58a2R;k}BV6X&iX<`5K;X1-VVvS& z%8Pke*M}R5JGg|QAnU#~hoEamtOU27k11|mBaeChlR$Dc!YAt?KPTJ5_-&fm>++Rf z;Xub{l98Af9zc_3L5l8EOFf^;6~e~Fdmj$>ww~~)R&HSzZm=rdzat#!{M|qPJp6cl z=MfG2Y{_h zp|}QSrlEaWFJqMa)TRc-h%Goj#ICKicZAZ(w7r?^{1#BJ*Pj_sZ`XIFx|bl~A>omI z&rq;NY-?0gPX@l!drq5YkkKMIYhtev_~pg@=c~>MTrH)1tm|d8_km_iwps1|-Ei4U zr>|$=ax{N8`ii_F!Eq|Tp`qc(?J?8qz(DQG9htKhnbolKI!-6Xu=sUN`1+~J%Ez^Y zMjksC`+^et4o&k+6QP$BPa)$3W>t8Q+Fzq8VP{-{J?}zG+g%|uOTX0fkT9S;Pq2e@tB^Q z>K@jH4I1l8x}{gE$9!FPmDLH{-hu=9#Uy^EKzgsTGO!g3K-!kJg)&ZA?^|*D}*^RSpTHsGUwBq?~H1u_)fID#$F+SezSATb8-#`3w*;nsX=$- zq9JCh$lA`3M4SU99f1^>#B{XQKidk2P)6*Ojh}n#JqZs-2 z*h7I-87x+*pKQMh_G}N;U0H7NuSC9(U{go7)YMGe)aAeXy%KVCd%UhF-3o}i?&z96 z1IHm10<1`n#OZAuep$jVJHrqpC-{bi7+X=mg2ry_y0$<5xc%jqwe|gB6Z|M85nb%E z_r@adKd8q#Ok947^`T4t_EzHNA~oJFMz%n!_TN z%CEL|Hq70IYc{iCsO=FVUK$Djde3NnWo6}44^5EL>z#l_dH0<~`>A|049&V|anD8? zExA5R~NT_5_hmTbkqDt?6B3szu;Fq>zJ?rkYB~A!!4Y^F9sU@RI?P`Q&m3 zSL9y~9n4+lXx!^gH?`H{@>kwBug{ zwc%n0I_?_a^1|Z`_44uaGmnaz_bM?RW#d*)!; zw~XH`!R;Pv1W;wf(oz&lVBR?^1kPF+IAX<-GB3a4m)w2*4DgF=AG(Z_TzH|Nf^9f* zT>%bZm!tkk6F9;5({*I!6cf}3Fzuv5>ufEO72XTGf1}{$K z-%igoypZyV@ixJ`{1Sade)^)~e+v8|VykZtJj1KF+VQ-GSQGkG5Iki82XiMwj(qS_ zjA?ySHb9@wya6IAAPcZxC*jk5DDLCn;Am~Hd8@f5FjfT}2HrGtef##UrQM&67#ssJ z1OJ@6@owikwBc>?!O+!M?dt^DFAqEoLhC-=zW(H*EZg{jCc-!W;dA{utUFv#=(Z&3|6+&sk?FDwH2}6^Ovug{`%n$rb@!O-qvkNSSl|D8$o~1euNyaSpP-r5Z}q3KS!dzwdV4+U zI_Vula5PusNyRm6jzB6Md(bd~ZErBF!OMK$-kVN*oP8`rRIfsVIf zNdoJkW@!2Pj*>0y^8M^#54N%1*EkIZAK$AeV^d70Gq~K*{ZZG?ykY+HP3Zrw9=DFy z=XGgtS@tpXgOpUaIgEO9De;%mObo=Ic?|pQp8-O#%1kuXI5@`%ZjlfUg_?3f+|Tfa z8*e72?-gv!G~B~r+NN=)BTzoW@g~vici!dyFztNc!rF%r04qDV0)e?-j!at%31y{v0@ZR?NQ;)CM(TzjUn_aXgYopp67EU+v2C&k$rLAkMX&?MUeG?ClyM*YnO*z-!m ze<>{ZKPgP6#%>U(xvqa8Ui!qUhqiHnFufm@ugzZ$$=IEPHz*%t1MrCCUZ5&hF!cQ} zIhvgJ+sJH&LYit9F#PdZ!YEWMC>&<(GK+OJ1CO2OAYfpy*cAZ;-p6X&7UcW#VV6j9 z{~;Slv41ZlvaK8dD`=S!23ycX-b$Wi4Tui{dod6f>`C|C%_{2f;&NyiykYT!SYMHL zM!WU~sjW-+)swx4JCUkQV&XMG&j+#RaO&3xUPyD>@bn&uj*P(_1Huj+hgk;xo%CHW93BFpUSx<<5%O zKJ+&>r5R=M=gtFZz#Ev&I~dyYV5YLXq?L-e`{Hv62IYrSK0kPR{d!abvmbs9VZOV1 zZv%8`+f~_z%x2{U^ViYNQRy0gIy}i?24G}B3$Dc7p8dEKU6u+Fet2E+C@5@eZ5YVz zMePxf0xlwLG9a_j5(Kh5;7^!or4F30zJ3n`NkOvXD{)9p@u~>J)&TirFC@fzX8E2p z_RO+wDgWX$RtW4HK-8#x`DQGdEL9IJPZ6C$clpNXn~IKo>8C7VH3BRsZ)?pk;pQAi zY-!xLiR`QfoSaORn^h+Fk}N7Negq$mVM3g4c$bSvp3{I2&Mc=NUA)C1y) zCjPn)4Js=|zskAsCV!7MCcq-b3}!JeC77s_b&tenR~l=JB|S7SKO`|R6-khH#kv@m zL*$~|bp^A77EvQkOGDTsGjQ@CRl z_R(NTL{>cK60y7)Z!66=iDskxozA+>5VpZn?!TkY@o=B>JZ`W+e_6dQ-P)n9d8Lg= zu;XySB^Cb@`wEiXoDCb;%}hH0Z6AD8SFSW1Snb#`7OA|j=hu>>;Oo+V5Sju~Fr7wb zuSb8yQ!je});zo&E~YN%o5`BPbWu6{&cq(v?Sp+bxE*#=?m#C)rl<20B=@0`*jUQP zc-T|*mMb7`IS_d`GK%AaNRGGC`G{0YGU;dndt@%j!Qt&;j_m3PK*jv--(-S6ewj}*nS%Q?8|9jtz-4MgRG)2K~6oolm$#ND%yRO#YDhZ z&fJ`m-irZL9$|2x&UNP{=7jKbDQcQ~3$K3@OI?IHWSu|^-ZihO60bkOI{%o9A0RYA z=UOTfE7ClepHFGSp}?D~hAGNis#&035=yHNHg@QVGDuFxqtQppZ=rlXW1kGR{~l;6 zbt}8^hQI*kmpj|geE}sQVqS zzT-4&hXGyvBSk>zH-9R~^7Rhs<42(j-*3L{r2yo>()-YFVs3JAJDqA%`7n?P81ug6 zG-fIYbESYGu69Hn4YJISN?>IP3D`bjgMA}zyq{&`stlOf3D(T$8@g|)%J>x(wok9+ z#@ie9PTWz^tm(?J?_hg6xpOR17gzIFsbDg7pe?w$8lwhc6ahb0AZMKeK=wQmxyqaK zK4Wx~X?UJJT3%83@{JjzOis_aL*_md2X->MfVxs0cQ}AH5geQeDf`etfbGvgU|kY~ zot|1N{Pr!lyrSbGmL2@*<`3vQVD=1*owwp(oY$>oWo6|p4Y7C?7#R2(WO}{>ZTV*_ z9}jVa;MoJ&>?$;$;<+ECQ|wxm#`-~@*6zKFJ_4P`*p@})B88xMUsap5;>(;|lII{W zegL=@9ZdnheA@@xzXkwCux$bE&09OKtW;7w9d=H=&$i{ z0kq`>F)ub&QTkTWv>YJIQsDdi_LB>$l8v0Bk?F>TgA_hqfN3pe7AgnK0tWlaXO2nU z0l;}jOovKyqc{>xMvr)O_SZPt$LZE){CRlB0aMbxmjJBw|Q#RgEycR=uoy!ZCV$V$Qgu+FV~+kI)^?Qg}~ ztK`!LdCapc$dK!u)Y42G{7r_8;>uWQ%+(#Hc}%?(D_Fk;@RFt=+4%`gFrLLA=4ubV z0rHg%!x_}%w(de#RAAjdFHFxxFWiPPG(a8?LN_RYA0fhUbjB^K0JtuRV;i|hNqQQ- z2z!tOx$Z;Sm`7a?so!E?|AvU-&h?hUmbfXJ{Qrh|BGsI4muBWKd|kmrZt3XZ3nxq( z693o-`}Q7(6%FHXuK5}x&YI4-wFz&4{O;!)sLDaZW$AtEX|`jo~ar}?6F;lJx7 zeWh~v=XZDZ(=$uldNvl)5(JXI&)xtn5xc8C#$1J;fo}ym(3{vLXH3=N2>wl`u*U@f z7+e>6+_~bVBIB6T3j_1M;wt%AVTQn4y@!z@*ADu(~5#z!PR+;d% zSWYi222IF0V*_gI)#ePHQXo=E@uT$PIDB1pjBlvl_z7iUfa)mAg|H8G$xh|tvQmP! z6vj`LV9M|O62&Rui=$P$9bz3NtkJ%D^?W|y%Hi&J;1Ze39VO`XJT$ESL{`J%dORhp z2YrhWs3#ryPlOKsP55`u$9g)SWGJ}?Zo%+NX6xi(!-MEfUATN2kmdbD*9}l`8gAE! z`dj(=qb_~Xs@bg*5O4GIj}QSBLo}GBA0{2uVd$aPNY;2_w>l^@sf%tp`uNnM$!Bk( zoyK*cRPX%dKR2xPdr%HRUArny=Y!L816d0%dX#|lN(Q_h)Z(TeA^UxoSz&_Uld%{p z2NeRbM+z93C)c;#Wbgf*bhT%J&(PrPjja>yC|cA9^2A%3GIOvD6D3K1-Xd^w9g^9+ zy2r6qwdsS4hsz5z;4P1H@GWo0GC5b$Wfphb_-Aa=3kiPebw|h_5*+$yUM~ zoxxFFQ2m@|X!&HwvKH%+_!ArkDF?8hSwL2IjXC*#|#_L7+1;nYoq3-IQrl`HH#h>~DVFKWtpZWsTZx zbg%LAC1bReOA|y7{VFg5mxLN1had6E1jD6qL4j~Qn6xbX=s6ypQxv%)p-&E$s$|y_ zrU+}l^_Tq*K7pM2+hYE0msmTuKf|R-0o8PZ#N-&rW`K+<{@H}snI&5oGFSo!-pR(C zEAhWdNfNEZ%XbvH1d~0odQY3XO{%~`j9q+qgyX2f+$GqONgA`lx=&gXut8DCc6 zbRVpKyuHZh)UhAdHwa{Z^cu=z#3w5%rs~3=dh-|tjV1R8ddhI}I3NPJ54T)+y42*| zPx{y4v*ei)XA8C=4!RpQ;|4BIf!tr%#U?aCToC>5Ql%bu-8zsL#~PpKh$e){q3(;* zGIHe-XNFfk$J^^nCLo1p>PS4nOr9%ke>48KqJQ9+zH$KM&tT=Yt8B@i7}J|tY{PGi zX%W%0$C%8ieAg9D*;O?hL`=j(7~}uCS1?I5z>^pN)@*&VdufqZ(2o{)b8Wp?Ro&V; z;+Uc=*O2`XGG-N1a2@M?qoUhX^~&VCjs>{9^@IQ;NU}HirfL!zsB(WkL3o`JVxy{wgjOA+$_l>XAM=XfiN!!{EE*{yHp3%Q@%hzm%u^@tQNWsR zwjtP?>m69AdwD25(JJctJOt4KtCL#58OeiDHY^w9)J*ABtBd~kx0vZgU@c4VdE;Na z(Py9W?QIAdaOiBOo{|&{FgiJ&(4X>Xt)X%yJzc|(z(KKbRtxgV0^52 z_W&&ywYl-c-EeM*=+ZW4ODtGdi*6C92du#0GVq%2<=S6_<O!DC4XQ%Dvwq{S*M- zGAu!1hgr{Udh5a+%ZdI3iqY{+s;w+(tfDS@3x5ZDWfcCA>1OTkn&=z#5t{H6#NsEI zJYSp0O3NC@``h%(BOfWIWRrnJO3akDfC)hX(I}<~(ZfZgaZ!Y1Yx>Y+@2W^C}Zy-2I}3%uk{ttlrg-~n1Nh$r_u743VQ2I z5_-_9v4S&HI>ORek3+cwcRV*0>%H}PI_qvX@XMstsx|*yZW4!sbqswFT7C9!m$Bm0 zmqN--)3SR@SYrn9#p^c`Z0x@#o6ew1jA4R*5zL{5S`qwrG$|vai#R|0HA@TvE5>ua zy+Rz1$3jSWJF-~x6HkgPxcRp6tq6r2c`gj!iB(JO(!{N|-tb!--u^kovl5o&CqV)Usr@jYoIXY+Il(7z0;`QB}D&sjpr z_^bsDUGBynK)e{k=AlcOa`oJ)4qqmXUR0Cb(IgGsxX}JG05V#E(M3b5cdQ)7>Fhcb zJ_6mMI%iE3z7HF7QgHv~Rf_7c)0^)b?=3eqUL8_8B-Ul!z`VHH0%L;D2E{QOXOkzn zg~-SL=Ib~bX9tha=|I#f@G`$y8Bxr5Wjo*KYBaw!j?m0`Q^w!zpue8SRW`MYdCW?8959 zX4P#)C+qYInug>F6D<(4&-XS%tz$g}#uCUy2E>0&8mB_dR^Ge(E&SK3;_`LBwft#i zDJjAlBQ>)7_id7wUr^1(G`(+>Q&MQ9@AhV-NY;HTq|6YKUS-4*)T-r>+kJj@Oz#lySNe`8)c^JaK=MY3HMd6q8sZu?TTgh`X+_}^g(Vuq9D7l19r(=F5!;$fSqYCfCn&bw zEQqQMH?tZJnmiiygtypQS7gk%rfbr>@djJ+s`09Hv#HOo#Z&5PMl9u&RPYLmk_n0( z!%tt3s;QT`8~Y_!In{LKunhlvdeoh|Q_gf5g*Qi{qHy}^HZ zLbw!2h~@?e+oR5K)r(*imtt!N0aKLi>b@WHd>8Kpei}YMb9It4iIc>7ZN;{y;pbWt zF0_?U>h3k!SY!g9AdhGNDc=d`FUt)p?#wPlyXVRc3)yRv7j0n=BM)=30u1N`YSx4F z$%dY4T5&!Vj5$M0l(NZ@3%wlHH{4UmsL|Maxg~obvtYkpc*1vb@}UO#r|O4Hn<{Cg zB)dvDo?)TzZ+2h0L zY^I4lXBvRK5O+R^N*J1Yh8z^x)4emqazOPy>+B%8HG6r%|T zMZS^MM9^`>$rH^8Pm67baF=AiPFIpDer7!_tvG>)%FL@%YhGmcoi5*&1|bEw6uyhv zf;c>_ihCwn0o{XSk7~vo!P@;O#up``-x567wHepMj=Okun%~6d zMm;;~VNHBCNuZ5ujd^SJxK&3pygW?-1jjf>b;tQo#RLj;7SR#Y#30h28BaYk;d|v5 zBIs}t8e;oQe^h_{IqR~=i9*Js4t+kAhD0DF=GmrydnVR39oG04@qtVNAQ4)R-WRWr z>cV4$+xGvC0Jg-poRa1xeTIx~aQ@`P8dEds@40iy83@_-`rf=pYIy#J7~!R?uNUuE6#5;$D?6kv2@ zUnKEcu$g_}Z?Rel->)i4M4O-sEkkzjEGIeJ&rgCory;Zg$_oQkc?j1_%;rE9Wd81| zicadkMx05d)B;$da%db;gQuLvtz0I--k#s|4kKxG%3s2p7TSVN5BhPj zvAN3hitj3JzvjV4HA3Pp+D&=8{kfk7?sa-Bb4s z9^j9*`Y10FC+01`#w_|zlY+9{ED0r>ValS9^m;6zmui2nf`56rZ6~8%KMfD&Q*+SP zK}mMqP5p4XM!h~u$3fn+1LDphX;bFY7>ig*+H8F9(f13#dq?S>n1A2Pnh39lDuzz} z#9La=Uu0t-wQWZWT)(POq{8bJu`L=^DcAgvCtMw5e5B^`owO_`7sU9@aFxKQlupJf z?pFe>$LBhJvUFnMkoyp9NNw06E(Go5;PL)`yfzl|_&%POm~H8F^NY`EqdPv<3hB>5QK#V{R3m&r)rL{;oOCF-36vO4s=grJNE~uCJm4rlI(b0P@mDXX zB{0PMX;|#j@Rn2u^0Ra!0ZrVt(_LS$isJU%qerJs8+vVvb2p8Q z>)ChDg7Ju$bZO`A($%M}QAF9kVD~kZW}@8qEnkSZY+@j5VPpwb{MyscR|QfTIKih| z6l=!?`DNXbepGO%wnlhMK;*`U>OJNe zUAP6WO5_Wd+B7ytQjk%JEV##CgGeq~_PIdUS~lPd?SD4)G<;g-*9c^`BLDR;G{ z7UA~YW;GlAXHxG<>4RI9ge=YvDPtVFslC=UpCrq!F>$j{YK7(75J=-H-bCd8F-_0; c{wS=hr0^n(nUf^0uN+TT(@^7=x-h98@Qe9G>WmrmEo&3HFCSZWHY9AjL}_ugNhUPv1)&Xna&|&5`ch>N>lJw@DsU z%@AMHt_Q=Xu=;Sc%X5-9uT7}!(*Yl$B}2vqX*`%$l9-@?E0-(K<{)6S>GIemcZ28Q z`iyw`-G0cUW7YTl-xdn$1H3iQYRba^j&RQ^_)UjVV91WN|8w!;FqL-_%bHK`WmbMl z{vy0Pe8AdY04XWJzD`*Am5R;R1;7ioCu2K9%FqCATLA*?8bV$%{aN9<@UJEV?Vawt zl>F^Y?w*cwogQpo?=v8O^cA|n>inmdfET#K0!IjDD`&Z4ErxUx<-&hklytii6l|9Z z+sQDs2=Coq=0?qrHh1(|CQ4%8N!sfqczAyPaEb&Cg50j5M$q+Z?qO|x{{1&J8Gb`u ziQa?WIyBJZEy#cd-5ZN(0Y~2;clS@g``KwsD4A`%jKucTFa zHvJbl~TxMU~1AWL-NQ^ZvdIm}+oxpXlyf1_TCm zApq^6qt9~>S(Y#3($!^c5CiA^hh*7u;q`fOfCjJ|cp!r&gU4Gq10YDhAj%o`X{gs+ zF%#G$w8bdmjv9;s!abVACQl{zK^TMueFAK-PXPh)=u;xRKjRwB^Y8=@uR;FL|6M3T z!DW|O8{TA5NE6;<1VFjGNdsG2WT?xTPZyh&7lHd0c#o_S?xyP0@7ICc0o(14yzSY8MXtzBEA_TNkKn6_ajEb;x8`O#!B5129S4I z_OU*^NRgAB4EKH#{X`SqD(VUBn}y12@;~fmIn%)K@Rmm}1u*z!UkSc_1=hf!6Q6xW ze>t(BG~?hM8h>l2?=S0#c~KWoM6EOHK%A z(1ENoNK7?!mzQ;0hmJmT6Q`>oynHAdxiu6`FxN1FjG)kGQW!B4QWIn`BzCy)WdL~+ zY)=AgD@Jb&EZ+(63n66sG0w{&*&mZkko(KA{Y3J$&a0ewgt6xe4TbxRe05Elj?EcU z;6W5fJ1tF1-eK`uj2&uF@+yRCdMWs-y$^-0^kG!EY0G@U8}A4oz)pe-a~ug2_J!Tz z;Ue9LAPCkMxspX^C2wo$)ex~q32;H@L61jY(ylBSmVPH`4&EGak&q zCTIYvYlt>b3JWOp)>hYR?jII$Zh}$@MTlI31RYphpdykKC}r6_i=U}&@iQ8a?xzKN zNGj1ZUT!040dyZM{%8BzPfv(q+dGlaJxedWcGv-%{4j{qV|pOL&}pi8{je=qm^g~I zfFCG88`2<(^m7f7Xb=>X7!NrS2rG{1N{bvOpsjhs5Gk;3yZ*DOs4@yU?-Gs$A~Hs` zlo6Q@c`+bxV)(-t(~#Bzpo{5@VzK0hY@sbCF6Lkrpe(M2P!b1a0hsVlQoCB1H^a)& zGk1z{8^Ga1;qV^#BAG1}4Ii|%kLF()N&4#H%d_NdfanYNgfC_#^BsLUUVxi)Q%00S zylxB?(e*YOhg(@2>b!;Bg9qVDDAZ*{x^z;}uPl_d=+&P?EgIo$mW*$|)uL7=I?pDJ792wqAHxSl|$hBuofq zB#s0^cxm*kEMYK4at)9j>aPD=hLQnvhjKt2LV((|`&#gr`=@L;irQ$>Cw>ZP{*qHV}RxRbv z?IKSj!>4mv_yQ0B(}+Z{Pxkp7r~V|D@dyw63Z>oLf-I(NXh8|>TbwT=(j1J77ztv= z(01HJD%Z|0fs2fWFP8w)NGTVFrpg~7N$1zY#~?;m<{O}}*0t^Q*~V-hw4H9Kvzaa=dc-WQw=*!>V`c@Qs_C_^Dnh08x^jf`G1F zv@aTJ7Ld<0VZyD~e_*aMiVQsNH;n&9Tm)Dq575+cY_1de#L^AUnY-*n{Hlr&CkB6Mq;d`6W*Q`5y*M4u-M=0HAlY{PYcSim#2<|29-&65~H z|3AZQ=0ejk)_A5<|i_7wfJTc<4^V{F|* z!aVPZfa3^jhDQ6z<-426jOKSNm2aLoWS=~DnH z8UT`E#zz-Z!1vD}Ayb4&6A&}GO8QiFQ=C0RF1xc@U~m& ztWs7WY0Knhc^ix^+%hV&8BrU7>-*DThZXRV9^=@bFKdUx9&Lw(k+*o33~LjmW#ez- zwmx{hsKDmj-K(QDL#o^h?DWcYflSPTF*GpptH0D&SXdSpKLT;sNCU2dO@jfVh?iLe zNW0^pfX9qYA}_zoP!(H!_?*;yZc2VDl(E$=6^8j|hd=dVw~AJ>%N?aRDgw{&21UllsxF@Tib9%YWcA2E=+NzIDC z9jTrRc9#!*(%*q9di?c5)P50qA}u3N;dKv;49E@ZeP#Y+f#_gtbi~pTIyY8W9y^9hw?Wsd%FX>>f}Ql+{AOQu zgWAjXC+)$w&7-_7us%+;_eM_TpXc1pLx(rFkA^TjnIg*k@1Z-oQBYj$C!y2IF{!i` z5&@|UbXxg1Tz5nC*tn_0f>U(t4nzE+9k!%b95(=i(ns_CDtD+pM5yY5&S-@hF-MbI zKM{%)hfWF=F`}zZOB8ePbJr8vGez@)p&4CCe)B`ztF60R5y^uYmY6f{y?mF-?IQ;3 zc#sJHht{TXB-vq4=g;fTk>|yMKwYxByRIqqS}(r$v-~NqY4fR`;Ya<==3_70p2yP* zzUuq&S6290^*pZbyxYUa&eo4hw{1T`7hy0_uXD5vN{JyQFWVkyx;eOXxXLDR+7n2j zD4yqw>bxC}!y^RUFAl=gsu8T2BlBJk>rJ><_sxUbeh&Z_nxP9oIauDp)K%M#hxW!! z&gL`8C9hyF$^(3`ssn`BeDc9Q@J7Ut*Fm>c|>k^egCq|2pkFGt`C}gHxju_*&urb+FyX8rKtW} zMoeVrDN4?MUlhp;7-ry&&sKdM0g;b6ThYUu5Yz(_V6IVR4(IR;%<#RR0b301l>_d6 z-@8J9V^-)?q4P2OcQ~m>YlSccKhopV0%n3PM?S75**7jxPyOxMb&cya^D7wM3_h-f zJ%1rl7>^0VVP%j#WzG1ayKZpP0A>$m_cM&|JhU!6#QK{YM#7y4_6$DBJGL#3;lVGB zmz{sO3S6zq?+YWfQMsl6hF{4G-~UMUZ1_C5T&9ySxc%fzd?x!ylGLCR&osmA$M;e1 zDby&;dht$PSg^mC+prkEDdM~Xiy;C-0g|Bn?bnbMy=rZJ(&uh+P!3+PzY9&INi+Cz zOFMe2f72?-sOSshPkA)xvlT=(nDN=XuB9dP*m>m|Teu-q>0QbEYVKp7?`_;Qmd;ke zfK470SdBZtz=;6DrNs+Zv)9g+I)AT#7O@+$anAr4;)40FPIuo)jy?VGb-IK!1EABt zbJNOvr=t$h&7bB*hLc*1yUN9XTWPu9daSndL7G6ODCyZwBub-l#i-WL9)zKFQ!5b} z(n{ZE!Bzu%!ThkwGBn_UW`#m#`^4kcrt&IQbs@Memz%BBH;?1dj(qTABlW%#wWz+%nDT}b z11XfvP0D}Rv2Ho^(OJWPXGBo7TFsh@FY*6rjg87v+8E>Yo9Y5fT5@vxyF^*ydwzz`A1L_wJq7CEk5=Qr>ozQuFtNwHXEc}W;d$mei z>mT+c;1S+4n@qSr`r3mslt6n#Yr}Ie&{!i#wE4`?5E_NMPG| z3$p%Qzr7G)=t>1Y9JzPVFVUKFywS;d(N)j1FgGovvmQL%q;*F_(x{!)_n|Rw`*Ts; zM-DBMtch&290HSUVIg62d^w?*xQKYL6w?f%7^AfE5cY|f>1)uGhzXJBhuG-8Hq7#r z$9syT=i$3ez+JPe`;5cxGkaiG^suMz4<~<2SWY<*c3=$N(>>OcrZ=bryP~4sxW3n| z=T#3KBN#ni^+m$gjpq`{>HFG66aUWNbspoBs$cU&6lg!N$ymGOKi3u84|ERo%Lo*& z1r>MeaooCwzqY8HxRmZpGYeY!lh=RL^D8Ahej9sSR8~66&GQ;pQhUi{6zICJ+dGCA zJ5g5YI9NkF=Zm6R=UpqQ$s%hZ)5l5d&};Bo&mf?dxOohO5%F&^lw%YY7ukbJPx1=> z0;oCPr|X;cgel>i%;tlp-#_`9paLjepXZzxg<3dfKh30sr4`OrFo^su(mMg@;A0GS zru>Ty!wL;JL-2czBI~8~pKa?AfW4mm?%NFPORS1S673J}F6~KE0TIE8n>gPR+D6(X zmRc&S>;&Fp_gv>)0>-j2L{Rn4@!84e&GYXDk5Qs#D`NLMYP!DCu_$5pi}{>M12_au)(yI z17qk#Q1kOrY`{~q*}|-U>!)m8!H^vJhj8<^xV2X2jqdzS-%@AeY@R!n_7UC^t3+yI z{*3PXRj;kweg@QO8KN#uSdX^VH+3A$9_opE92m?DxBesZGi6;+eF2>saplWLl3S4H z4Ts7NpPUvAyiqAw7Py9IvkE)#o{KKMQH=D953JLf&!^LzYzK33`$cjPRP}&mC7+07 zjrB5k+?fw%f_glou%$(nyxd&C;1`F@(4CA<;u#}ln)`El#jW?are||4h^`o|q*Pq{ z2iLpZN%)>tkvQIQhnnAwCR0Kv}ya?WRXCh-f!$LA$8N%G%EEwIU0< zG?S+M3u08&VPXohIDQhgd;@xc8%AfIX)Y{X@giNpivrYtTo zuWW}CozUSj10zrYAye7lCQ{t!)8qGaC$i8$r!11@q_9X_Mk<5+Y&bk()s$!RPme1J zX^MikE$y|6{TUj``7|`Y)&S1)zfwC3e2zd6$?=zmM0J zXjTB`Sk7Zgtv9T?dRLXw)B49<9uzEPsm2e@J{a$7B!lqrYRiU9663bPjz_@XkDk}{ zOIKV?P!6Bg*yEZLnr7n^N&614_GXUvcNE#%6+D1ymAJnmA`g65CLGgIQ=~Sg!XXSj zc82l>8Tjg$3hbk-tB3Erjs2p`F|v=}{m{1Y`Dw&X ze4SGTaZV5K>6^Grj$|i1^y9jlL6gTIS=yW~3qH@L_ve$+Ya^l0{Es253N(PP?oS0_ z)BBQq-i69A&{qX$KBL(@ulha_jEWbI5|5GT0P`uK3m(Q;v2Y>OUb3!__bw}w=dCI5 zC@`N$$_!^AL`~ZmO2uUH!%Bp)%Uf(qecSE_%iH}V2f-y;HHoRExhHmiaIdwvp&5i= zBF5bKB#HPq6d!ifh$k)`Naf&dC87J`5>;#O(DsJnBBjZYGz)$r9GKYp7pA$7Vv1aCCY`S0x ziejIy5ry$|#U6@?UW(`SCD<0~QE1*qh_zHmUV6oX zcKt$jQ)SLW%wl?r?o(bHQ5`iX$Jt}>2OjJPsd4L2B`JbrP$5l=l95NvNUtk14k5t{ zgqOaLohr;$O%>io6d7zr{$J=T1V)p5$Ox3=-%&>8tM#a0K=Ud_bl`3A*D8* z`*ovMzpsbUMCeUx1FmY1V~=Zk+7BfhW4=||pRaC&?mI?&r_a;h780TZjl_{D@uyxvJ2sE<#&G>eK%Gr7nN}CYhA8V!wi%5w%91L-=J)Z= z>+`~??|m(aH0;p4vi9uv@;p^mfFu3I-BCp%|C&7B=Cos2$@d1!A5el54of}M&U|~~ z=J#?jTDdgUh+I(jSeidG&+L0&=_jd`3VEs_Oofq_Pp@Ate-}Nv79QRERQS)GG@jl) z|F!dlE=krp^RdxE_I_(w<#+1awPyK5!9deHFi~EC`0-Nv5qa$%-BCkfI>T&?VSg(v zocTPSlWckTGJ>z6j^q0jL}tv9vo$&lhe+X#`bB6mO!%(g;&d8us;6w%R7?HoSjiVk z3!B&F1UphpDglm01%=(MLnNIb>yIZ~A<9ryeheqBv)@tF@D!4)!6(*W0UwaqovCb4 zgpK+=51L;Hv#(}|S*Tk9EDW`F<&pJ}LWtOP>!<5Jp_f0p=teRZ61m5B9qy{fN^i7eQ$49}|J@n2%tVx1=GsoWn@yYf@Snyd0N*jG1( z$JEL^y@eKy=9SEUuBPVsyw$syg~B}}tR{+RXIw_jt|4)wm~F`8F!ZHok>$YIZ;wv^ zFOoh^Eq%T$2hL9jkzHap=gd%uJyk9T_du#6*d!H~ZYOB6a5oB@vCJvq$85A$!z(m{ z*OkS>AD)r8vHX24!TWX(OncTkAq{lOT443rCBvTQ6OHc7CRPtkmu$kQGoK)(jDQMl z<96K_dtZ)>!Ge%`7y^U09XxA1v0S86*_IKWZXetBsybb!{HEcR6~Z4BJ{scLUcV1> zz4Dzo-^YMIzeODQa35Dx)a$bJO{6Q9#hYf(ApNxhUz-aNd6r}dN`@r3y4j1txGv_X zEIQ4r!x}kgu!K@t|FJtZR`MYeqh<|UZ z>$F+kA-Y8O@4A7R{f^_(EPk7Oo7H&qgDyr8ERRx{VQ2(KFD^(0N;gPKa#{fvKnz>w zy-(-t;qJe_u?fD?SS1FCSQK8RDU7W>AimV6PQF4TBfNC5Z{Qw&=niyK2+3#pHEx73 ziIro8L>dLTZkBE6AlGd^PqsST9jVA@r4tFG6{jm>OKMLx4$|Se!sFD#4koY~R;{Or!Z!V7PK}h-J*58g#6l z;9X@quCk5F>t1LyD8O(LJ0w$!qv#Hv&z*?*$xXg3qL6yrsbqoatXD*wPsUkKe?OCl z&u}u6dOTqOMEDp~MhkZr2I<3MVo;omYBDpHH*>{aJjm;vOuE94sJ{Z3^!1KBb^-Bd zWZ>Lx(9cD2;GpBXu3J8uA5s={@HKetZBq<1+VdsC?S96<)y>W4S{&VDww+00+{yUP z%jnv?o(BO#VOt^-rY+g0K?Kf1l32f5=DE!QnO%0ttG@c!$aWRiR4X$(4qD+-BC~G9 z=E0%S>&nEqMd74~zGS+o8fY~r1~SsIe>^)GO5rwuO$b{mGM#q`Dr7>*Pcy=xstJaQ zS1rztK@R$U%+`idYe|TXad68QOCtEQQ>6pb1#$3yya1dyZp4#Fcuo9%2fjns^3p{K z9|EC;VnV_Py#}C+W^zZoZ+z~}9$}`dEkY@(*fhb|mKIhYA}fC*8XjU5Ct1B1nG|?8 zo0!KF#{R~RtAsH~MW?9I>CN>$-?A#Nw)AEEBPX6uwYu@I?dTE(v?)D#@%V?$U1_xX zF4Sy;W0)UnTcWQMECU8czb7n>9xu&Tz=(r~BGADdl6s3=7hR9~*pfzeB2J$-97ag! ziaGye4#42=ELkD?hea>+0!~VY5~!r>nwvw$ek7v9=m~zbtlEAiMO9O(rqTltw--Xy zq>K@Nm5W%mHuGZcL{8GNeNG=^ef|#iBy5{ zsYMd;eR{=iJ%@s31NYu?4>@$Co;ijvWrE8WFZ9)HgfVPcf9=nf>cjI%0q2`tw>j~u zp^t>E-yCPdcl(%}d)Nr8DF6zzSV?wFa(P=Zzj!ZjHm+mc$ldq}v!q?;84-kt;Zh90 z*%1QPc-~ODdUyc5@cqpIR*?zIr>Oc2-tm-eAU~l3E?5pOGOlK~%L6>+0UU-#_B2~G z@av*ir0$1Feqx)*PX1g(h>*_p;EFr7Hbb3aod&mVN@KJq0R9yEhh8p5X8Hpt(=)>%=n$<#YRrgOm(`MQ);OpF)$L+?%NPOs*;(wM3UkH!A~4s zi8u9^MOLt;Rw^xKevRAPLTmRwf1g8Q*nSSle+l0%Vw8EDm>81mSjK0)bKQ%gYI%Tm z9)EQBx9wJ2BBTlc@?A}J5R7HT0@uTZO-&T_-s(L+m-(M6rM9}_W^xq87wqVg~ zIHK)x0|nFuQB-YhI-~vR=&;3at{y|#V@cD58jn^tPgb0F@KHWvbO3{8+-k+r(y1le@3wZ2*EYy!de+)| zBe^4y5wc7Bp|P9R^Az$GWi(zbdfp1)IW%H<0(VF%Y))^&QLyx6LEo{tyPI)4W32VB zic77SmA>g_!~Cc^!Hhxo22SeXTEEQ@PoDx?Plz-9_bU~akmBi@|cslm(h6 z#apvrsGlFCyLkP#y|eQaE8-e)TF!-V?Kaef72Ch5GA+X4c$P+nUS*L>X0)6@Fqj$8 zo7z-`bxENt*rC(ho{{pse3j6vQ4mBAQA-vU7ck|-&*X#oNC=b|ZPktC_#x$BhYefS zc|kmE>YtKpvmBmm1hMpsM0;B?JcNciR`-8GXS0NV_MueeIKL(Z_XLa^i)dM~i|2HKW;HCBb#f>^aV{C{ntTy4F^BdK!pyl`ON68Y*zvZ@vs4}*_?r%mdcx?AjOOMPCM$Q&o# zAIfsS&Ii%bl$Uhdzv_Qz+R>NDHavV*@}Q)wPNQJ)xs>tNQN2|Sv+MLX)kKc2da8i- zlHf}PzsIodAF@-FFFe5Kw>+x=Ct;LXP0arI!b`r)Sp#C=i?r}d0zzZe5A@!rKRs`m zMy-$ZNiW1-vvcJc!)z+;k9TN56m{($z}+#l9XTK7J^=ObHub4XX3n15Uo8vxgZfyLNH94(=l&BFg#6 z4e)+Y0>j8viZouQ+>jzL6uY1RG?@<4|03tr*DzQU^CdFffsx+N;-+=lZjGzHAK z%5o9wXxsfR8IPVA`_w#7m$GVr3-J(dmAagfxjDRC2IW5sP7dc9iAkcTBWYp8>J+@- z{BU7{R&`H3kt~3-efyG*A@}M~gSOamV3vkVoEG9kCIsQh6e7u_Y`P>@xy=GQ7L@%H z{i7p^wk5ux)zv=>uUZGgikuoU=zF$#J$v{&fLU9*FXHq-xrEoy`kpQzCBJ~W{1J-B zPr>xzzuf{)cLahN{d*e}f^mfH8Q8{KF!r~9Focn2mhzrx~${ooj*Emxt`{CVRoqwc0h^R-!%>B0VDjgRxI$;t%Bm6MkrAE8#CgvQ-t9 z>XL6!UC*SX9(x#M!w3|Ktw&%Bfn1U1pZC^?Q-7kqRTWk2THD1+lX(mh7sboc;T>v^ z6tO3NFW998|Cn)FD~eg-9FFohD%f1Iua^;abAB1wWpA2Y|7kG+@2nqpD4vC9kpe*p z7E)oi$-}QmD#eOzNR1;!^K%mn_1C0pW4RoV*VR>2-bcS$PGq4!IW>WK;In|-@nkW~ zS&;?lhlN{9)Tdl`OqhH+c_M`H;&R-m4^lx-&TBBFeE^GI{r90l^yQ)a%tppZh7*++VE;+gtxvZkfZxjAz zF)fym*OI6Nq$^cA&UEu=A;?$a&B8j(WK6R~9veCOha8_lskzGAVRXj&<+n+7ir=Z0 z@47YSjCGPgPJVK~cXwDJQ+^8fzaf0ILet77er%%JxIl<8iI@56nmOSEFP}Ty<>NkqsMY?E zh<816t~LINu6{9Bo;yT@$(C#4Cd=%hni4<;+SsXt!eNE6E%6^6~7PZO}^ zLM&nUBMRkf^?y7WbQS%caY1CqWj%xIWI0zFKelVDVLpq4@5jD@$3uFA!PjxjW8At` zYGsNmL?vizs{4BRjNs)K<_go0Lb^IlCTRL)nzwVYFCK61N2yzM8YYz6-wtEP&Qe+& zan%r#Re4>{(#N=@7?-;SOh#f$^az$6OITDUpu<%OUDOLItQ1PItPNHksP)a{V%_dW zRZjn!ab|Y&;R^Ob3h~q^8mWB{UJGk_$eCA3&?l$6Q4FkMNr0FKDa+4@C~@@?ZQ=bm zuHB`26U&A_jUM=?L`2*MxGG}U)!iO(wI=Ygj6a2P@Q>YDFoiZh?RED+r z{di17MQ6iZ;9~ECSVNs2)|6lW2{W>KbM__n7QhuGDt<8)2vH?gO8Rm?JhnKM9ofthw{PM5T4Bq6;+4^0C}C524|KH@agV_y29S z*svQ+RCk12b)`S9-SX8UrOS0bPB?~}E&{)~gg~Zn3yXemJd|8BevEX&I7gK`aQ8yV z4-(BR7xRAx{1tQAs2wwe(-lJ--mwq_w6?W1c5}m?Qxj?S0$1#VC$?SZH^fFh9-8Q#7ef$uk@88_-sI@)&Km$1$ z;XmT)B3s;8|M{kyaI5kT44E2S=YX z$MruM%9%0zIx{xL2|Rh-4tESRfhz!n0YVf4cD*dh3xt?Hh$=r7X6n0Cpkr}uK7lC@ zIdgTC4zJe(Q$@v1S5KidIhJ+*74`)si_U?TSk|kyRg9^+k+~NUL=`5>EbY7A9kFrL zlQ5wV5&~ab)QpiWFS1QGgY;d8@qYZBu6nPl3?uW!j~b#ZEZ)O>s`FTDw@I33v(%1_ z%IzZB0`t9#@I0>1Y(b7~^)wLN{t!mI_em)91r5E?fyNByu+TXcaSoQkt zd~b=GY@#4USYfeL=-K7C#;+l4W>?KZl-e)fT*I>ey0VkT74elPhaZ6F+`5Ax;AX^~wH-=i z3+cCHl6{A6Y1Bj57G#^QfQx#@?D5%YEoVqd^ZLVOhmfKwx4)keEpu|-x*q%Nh(WkT zWml$dvvb@r)vC#KbvLI3X{|u~250BzMjSbJ(MZs}gpaub>cy$hspQrg{;0sKqI_Ium)8-^Et0)Fl$KiQ?Ftj))Y5@=hf zgs8$Jq+S!wtjRR7dAtFIbhi=sq%giWNqJktM0R&OXqhgA>sB^h)A6Z>W=sc80?+em z5I&TyK)a-A5QZ(e$5QH4;`jW=U`O!M0}VGS%piS5*7+3i5qv%&VbZvr$z@|xI?CYONqwIvCJw#8 z*#}u6coEH{0nne&jW{`mQho{MU6=OF*pr(Lcw}9k7t}vfYv>^_j)eBLG*9Y%!G!vx zlsou?|30vR_)m-q!=L-PJTSJk>>jqde70>d#&0h2w)82VgnTCXY*(_Vo3%7B3!qY9I zqiI#3@Ghv+x2SJztR)I;Xs{G? z>8y}>L7f@IPl^ym0)Hho0Td`l3T7!ockg*<6}p}qA2*2;)g>CUJ|KOGx<>v=gC9?p z2?vCM_aE+T+{jx5Aa~U_u4j~J*>jI}nx{gG(a|GCG#_WSiw4U$dN?4FU=+~FG2uFa z=v8=7PUO=9MQF1am1IN*X*Bnm$}z%V+$y!pzZYqLXM`Kp-YX*q$-&5A zFD+@tVb{E#Rx8f!?hG+ERYwLJcc$Dv;a}j;Cb7$DdDikA5S2i8|DEd*bVIdKD8@-v zXhLcf9IdocqQ$DJtu3M}j>#(=7_{PhS-p=z*_|2YW1+;(mjDt27HHM7vOaIACx;x< zv>r158;Uw0M-s=gTpjkRDJ}X$`2Cm?8}adHm0a%koM~AV5GHxSGW}(<;ux} zdWndwJ20>qL#%`nD$gBQD(=bY)MR%4mGMTaGuvVmSoil4ii1EaVwypUeU+_-Q=0h$ zW4dI>LQc$$0ydKJlaQMr;1WSobfNpXiSKXd@}80`B8WZo_-xmgCI7Ttswp31n1!}V z@Xuk9f{2P7l{WhcaM!)5WJZ5)vd)wBDKq}Gum<~;mbfj&@uz38>ENDn`#OYL zoPQAyRKzW-90tb3>RLBPf2S|}$0ID6^lvBA?i3ABe>rlm9!QEFGo{hHAw6GpI`uRU42m#Gz zD6?D=?;jDBdE|%h4tG-l1~A@WFCJJ=A`we^HZK*}rwL#G#oC#BeiX^^Bi6d-9`C1_ zRiJgi9gVy%t`RmVPXVak)wZ0h=&;`qarYlEDv7s_5W@<*6E}pTId&4x8}i0Ys8k8qM=ai z8j1BM8TtUV6RM{}k2@HmD>AB0kw19fSu8r;iir(IkR1s#wl%iLAIiCQtgC79O!|D6 z(Cu&gSb6*Rm1lik4PYtzE4Ar+amGyG3KD)7h-xASkVhl&nUIZ>6KC4R$SGjO-A@yK zF0>i|-OFVtV9VHBP&fW`upNJVlY#h%JUVC4aBR003>+i>LbZe=OgQjra*BbdgW_vm z3O-A}l9=J-bW|T!&d&$&@)G8+U_=+ozy#21)m<~ivfL<>;<%*rmDud$uEEN+#8+YJM{?)>d(qAHp`4^8UF0bw~9Z#tky}v^@&u|mATx!9OLG1 z0906F;j~c3+=QUW)L1i6_1;{~TXl`$uT3Ryh2yC~qzPIQMxO?{ay`5Zq0~G}1x#mN zBAm$xwup>YelW8?c?E#10dVsI++ui<&;ID#@b-Esya$^lz*`LOW<*?ne=b2sU&Eiw zv)@gu#(Ux^>yH=ESg$%I^z!oZou|Su4ZO1Cja0Ar#%{97&KvP1z;RZ0Q@%U0Y+rSR zN*=U0e_2`mb57pRZU}btRt`HGd$aoh&jJ^I)!^hGOZ32RI`0!yP7`4+mS>$E=W)_{ zGSbPM^uoNQuReKvR_mu-LLR1{$Lsmw*(|S5CYVukiOpAmbXlhtXwv#h>>iVOad&HX zj~?X;^f+ST>eI_sfe19XuO>PdkW1h3^c ztFL16NyxcmDbt+50iXeSR661nW8LB=wDTRF=8L?*TRDuS&U*-qkx?jVK?wd=1)QY| z0;xAnJP|qtiao1OFUPEp8(wx|b`%)vRazQA)Awl9qC{QzFj3*_Y*|+Zy0tXJ(r<7f zv+i`a+Y@l3u8d94KHjh_5hcWSOy8cvZ<*s!+jx_aJ0CV|@+Rp@EL(%aiNnH)qpU;w zB&v*7q4`ckWIAb738WO&P%C?dUnXLoYBCD6Xee9yiY_UR`-3pEEQo4oe7T~e|5|=T-qnDs3aq{78vhC9rb?WeN%2kAU ztPpOsi85<1Ubya;ScUf{ot`B)%8P7D;{y zo}+%xJbpnC?(^c{n?1^0Ag|gyMZ#HifRiWq=dTV++7m-q8JWA8leruZtZTA9gLR(a1JJuPnb`8C z93JW$>7+|2%D#XN^!Hou3N+uB`A9l!!qw&31ZS&6$M-)3-X+DfHqxM0`36gSWLum{C8T z{^1BH>D@H9Jr%gbZHYeNP*^^*z6_-h}z(-Sr zcBsh#G+|^480~+BbqrMDhsqL+&rW%-a}t^5UjVoyIedWWiasUqz5((tukPL-0#I7| z+Gp%-bdPgx>o$`*obdQ-pC1wj!oSYt4!ge`m)XB9sXz$5kysL2JVPW_j^-(Z)R;+_ zNhY)jcS)dT39D80R@FDRhp3rPZiO7?wZ8E|dD8TPS~p#Z9v;k&b(1W5u_eEL%|)bLIBb_P|7!RqkdxN%zMdQ#Wu z)el{hK@;?mhAcf0K_5=#g~ek+wj-+>58T)x3aV5dX6&>p@PGe?uC~xfUzqvpf#VVm zz<|@|3?aj>AqWu#U78iZek?G#+&63@rHKf)ThgVpCvF3zH8RV&CKQQo$h5ke z7Dp?nV8|Bma5Oc3L(2OQOYX%?AY$yV`-!39BKQGC*o(sR8wtYT$+@|?*&sZGp7O5% zYW`Km)SE*p^NDPy1JB{F^XIiC-azv_A6$ryho@_B8O8;k+ilIm+%xx8o*=;6MqFc^ zaJCv9>dz3=e@Ene%HNpZ{v`Yyp>M}Wc9yG@Gxt6D?&*5h{bAXhoiOHizIfiM%V{;) zNOvsXcYAt1C^<3OI>v_6uSXhldJf88eu}W=OT-IVoe-8O=5XYX3eGdO0?ilK=L}9F zDW4govOhk*_sFfTk@f9;$Y_J};4}_wGB`UqHg_qnemeXARs^_*Zy#PqM9t^vJ&wrT zAEv(^din#e+lvCgm`Lp4qY>eUGmkW#*QlN+B&Q-NQaMhq)tmf8?Q*m@*u%+h9JL&j z!cN?JpNq_R(KuAt4@SLk4&WLbFQl30gqR-4y}{-NZ^jm<#ux(d(qg4D9iVz zG2+>n)64|=R-6%g><$u8=v4g1<`h+4b-WPv7m|!^vH+57&%&w7LdXj$;M%~_1lR!v zDv^=rp0ons({ONa7>TbCw1br_%N*&wISRrt5_u>xGllN!>MLyl)Y*SLSICVbxNenVG0>CG9n8zu)9C{-uAD>G!@xIE-W*pAIPEaWGW!SSQk30)b zR_3PDnhO4%iJnxQ=e{G0j!KVAU*8RRWZ z`MC8jsf5+4QgAT}taZ_$A!+ERWo}(ku3st^rhU#Tc-|Ma9(-h1Y4bQ!|ob21_}FmLnan?BSw0nsNyA#VCI| zA7h~nwN?WbQXRu*MV7HDd0%^4l&CW80x z8s#CI_Ies!oJ1>AK`=sY37d(le(~Vqy%ot>fkC(vc0Xv!eJ8!VNmXt=b;GuFSSR>< zj1NsFF#edYNYqnyTlRE=-f5J>bR@pHaS174t#SvuX`EtK#s5}~0XrV~UuzHVjlk3NBc17$KBFw)eCiGxq-6pQ;b5jjO~ynU+v>i`3B2^j3zCP#bx?AsZ)c9PJMm?pIC5)I+DQ)Yst8f>Z~$>U(Lz zDg`y)IRI1R4`8n0UCyeihHR>P%@<-K)tANm)BWVsF-Se1gz@Y7P8EaE6I$eh7Ln5} zaP0;{%kz~(xu6pEFY?cHdPtNmC*+X?ZX4!~FlxgE=^JKAIX$G+?a3E(MUxHJ#63C0 zz#sb3$P%2%`5jG|l^%Vq9SVKL-pDot3li^P47z~`5VP>+%@p`;O6)TB!O0l>_n3c- z=Npztl#R1d`JlY6tU7)WQv3i2sT`Y03=zI)gVR90#Ne{EC=|K5xCmf!o@*(iW)BZu`fcL#*?uOceBGsY6U*#S0BMyb z;HQ6+!8()GlDmx!{+7eO^uo@Pp-VI>fyhE894whJQ&ZLbUr^|Bj#pN|T`{Hdq828p zM0dQBu`}<%EdoId9jbmo*>EkXLW@#97tBAXvUoOcs-PhtCeWNMFLQ=`EfDT!d;BfC}K5jISbUFX>;Ev^W9P(lDcEr z&Yd4ulft=D5v!_(mzL5OkKBv!jj?8bp~_LX8={=XCDnt5H;V%Zo!oB`77Ja5>XtzH6Fnls2@z(UO%)Sf2 zEdHh_^ngr+`Xz>f%8o=r{X7DP2!V%y?<`l+av5F0Gz$W!^JV)lX$7MD%CU|g=S!MDj-2nh>VBM26C%ryz%(jz$i3Crg+wM$ z|2ATSYInnudf2i41p`R<^4_sW*EUR_UcXW4hnXMtlUO_3Gu#YmUYaFjB>dRRGnclf zQX;VWaMIBq;Bv7}S<0GB_VGDSw*{?fV#ta=fo=?G4U@oMsnpLH+mj#z;L1FbbI zkLE;c@XS)N@@9E?KB6dh-d$~%F=TE`xN%Au&lV?|j*>2HMnwGUOq$bAl8K@Il)?l` zG0Zu2!5ynf374nSg?uOQOmi>Yn^>r%y`)(i*wnmh;Aaiv$@~L^Srfh;n?-!45e&*m zg7{;=TqT~&&_j^U2eEQq8uuY_vQ(e8Nv-wZJJ2?++_NFC3Q!SX97WP3BBS*8JO`S<+QPq7lsJ*MqW%|_jp_?hjtRX+Y=P#`*dLJ)Y+*{u^RM2Q zUu0$6|3dRpk%yuK_6N=gO#|lk>ZvhAS`#mNPT9mJMfUy*WTX5^YB5h7!-cK*MWVUtw-CYQ1V}G{>-XBKn!$dyt-<-Sj zSM`ogU%4m!5))=0@c9(^yJeLiT-&Sxv5NLB=k+TytcKk-E^<1^Qi0V!ce!ZTKk#J zahmHcOn7EB_I7Xf*Ew}KV}wLmfRiS>y;`0JsZ3*r1&8SWWQUeV@emL7*=xpTUF|7YjpWNF!k(dOaevRYccOauUc{Vb9I0)c9bD zWiRuZVSbWwN;o5`)=I~ZLLdD*@Hm-?jCM;+DVdidMZ>8|t-py`6WdMw0gg{OtfOkK z>C?{+m4kXJ)YGZo^l6I;e{m7GOPzurh}aH0p`^I3jWeRmxR|edgbqn}b-^A_?N#Pa zs6|nm&&BU$i8{MT9ov17h8B4|Yod7RS1k3}Ua)$hSY=@WqiPL3yXqH7Y4((o>j%-a z+wsNx<|VtebSOk>r;6QMQt|%j6L1N3Y4B+y%}B?^C<)G)D4Gl<-e3SNtXRO>lTUcAm7z* zY$q@=WnHaQo&TEny|h}AU+Ss5%zkzOqa<-9_wwgw0zADE40CvX@hCjlX5CvE9`m@O zT699LDiSDd1f5%C^z}pybv^K`B3*@NB8t*k3!-N^1aYd?nnBpS~^57 z{l$V8ARodm@ZO7>Giz!h3%PVa4`#Um+H&37dhf8w+z~PWXCe{dmSJF#Yw@nQ3+&LS z@ISHBP(7hq6L> zG*x{t)_Y2ScXr0)Zjz_uIFnY_#W{XZ8?35%I?;uY88FSDmFUT2S#qjjUNa(BPbqgc zcE%`Xu$gmZZ9fy5^u7Gdvdn(m+;X20*|Jn{k0HLYhnG-&^)Oyu+1mPZG0hf^4b>RT z11&|q#6PQLTpx>pE%Q6{(y(^J;mNvK7k_d%i<&;IQpl)Nzld*LwB1hgUi@`MbMsq|XPj z4`X!$q?-xxKNsl}fGk6A{%0|i{#vI%hoWc~{Adbz%z}Ibi%$Ka&fzw`ULwxT;J&3@ zGt&>UO)Ll8e6Wku6a-FP%s;xuMEhbHhSj}V4=p9SP@B8|q%PJOP77OM+PL1+&egUk)^Di&nthAmRCnmeH}HIWc>M~3P(a}bB?$A6FK*1nw8s}N$Go+Y z+56EvSsG>YB*MbNZEelbx9oYXyVPjeW~zZU4bP)n3S1EcY!~*fc7}M#CS7fDQ&Y;I zS<`ebmYXPh-!Ut0m5N2tx&tj8qmM042G9rAx9c4Oioi4VFCSgcRyct`9F43Xyy@~c z$@tIT%4(TC&s^1&xD~iaA9(#AT=Uz$p>n!HT*&5rSBB0!Jp9LLzXk0n}?2 z$zWW0wa#aGxCa>Y7^4U0{=&Q36pCAwy$Y@2kE*sMuZh zsH>ro+Y;)hB$e+($yC6pH4Ix+uY2X>NQ9$m@DxMYuM_D zeJyz^i2mveWaejAR_#^#uR0ZtNLLwMmh(V)!Y>Nj^&(U}t znv^a+`yXuGm$@ma(kY4F7qCJ<5)ufCEWKwchNF|L;KFo068>%Wr!cj3PuvzHkD0)L)b10^>1 z9y=Z-mG(iy#!K99U9}Dy{+HclTyk76RsVf|29=yXN50!adGyfQZS3B%@&IYjNHJ|^ z+V+KIqCR@%WEvV>gyocFyU|W%d0wc_S|mMps!Uc(jLgS5H~m5bR*v;`v~4SxaK|XP z#z=gwrVUO@zWje<40++HxEU?2P{lZf?Ykj+ksUb8Ht$a~9s@@{G>Tx=?$18oJnU-V zv}9meueS~TY)Soe=qWS2@!!`c-4p1;7`bZY<=xA22xALPg8n+~M?9}EX1$46tdc3Wukrg#!LH?k`;kYftJnym&R%(J)>YSzmOdri~)2L=#N($ zm0*`ZYoYx@MMg~|5eiS32p>5ZjO~T)*HNBPH9q-RE7o=1lc6sn!o7J!d}VA_>tAbMySml|Zr0jYD1ckH6(A&|e0j_yHz1iB&Z>EW7D071zjDPMlG_ zoZqRTiY;D?bc>C_&2X7FmUCroZP0zj7#`pERWkuem9s zw(O~e=el2zVVI%t_Z6lHg#R5M555k!m*gOdvc;oe&_Hp!Ou9#2VH0u>dG0miSSoX{ z`?;2-zg)i zAUWuM1d}Mp{%%1z{rk_w78?{;E9Pv!MgHhT$xVf}Z`w8yv&c*_+J`>c9~~3LlR<;p znGP?m{h_K#p#_!kHpTkdV8uFJx6WDc1F>{{XaPEFAlaMFk5E1mD3dr^MLWcBE|O$^ zHf2+BN}yW@Evdnwt>};I%h+av!YxTCp)n0s*w^1aIE&^NSCTqjIx=__eC7&iirk!* z3PW~qIE~LsniCo98}6l1{#$TvFnPe8DMD}={i9nPN!G+pk||&3N+aNJTaxG^_$$k(_h2AIiG8 z^rQK0>+gppnFb*y?U=+vs(AOd7JWu#V}>CRTioYgRKUwYRg5=q9dT0c&kisMq2xxF ze-$De0Qmg<<@N`!*qYq?YEbHpuF1_0X#!*|(+(Ox;OLo)zrS#>d_%|35>=OE8sh`* z=&uOblb?(TOyzItEi)3=Y*|>Q$u>6ycXaxevU1ULGXrScG zT(x=Wj2gUgoqJe&U7V$*vN1KrUIBUM1t0dL(Z?@(^wFagZJ8g;XU!UuBPVgt8_+>ZwyXn=4#z^493!Clb2_;Lb^^nq~BLjtThvR-QW^v5_>x; z!Jv;&9c>9Dd&F-3J~f3;|Bica`=Od$3Uc|Vl2F$hxJwEW=eDmF2b6{%z|4-ybHrVl zF=;DYeVv!gV6?ZwQuz0IckKT3ji!q3Z-6`rY0;5cLMWFLDefDu)t&_j%yj^67Hb`H z@U=+SyADF>KVvq|Ar}l|(8>x(JW@_y*QE6S28}Y-U_xH}xmsO1sPnEM2&(M=Gsxb%uxclQ=pa%pk?`Xh!VJI3ifTx8%7xFKd@M3g!!^~zUD632oSh@d_rG=bddP6mduDMW zB3T&rDp=}4`HEa>X_MW*7U}$n!>i>yiOD&^@UZ4`S*{1z@A>a=XWmD3u$w+ zcKNVh_jQ+%9sd*is?P6|M%!fu^`Mt?be_=QsUPMm_gR-?=kOU#O-g3x^i{3hE#B=`*m36K|$cp zeY&~N?JR+Xj?bs1m(bH=H)uZ4O7@;1>)ChN^N;YdKX5dfOuYq}?laB}8qb|TCO3sv z{Bt}gP19`U@vl#llCpvF1?4x{Mv@6;Cmo3aVX>|qc9a;`EMM1ohg2a2F4J(bmbQ;_ zta4Enuc>1V<-V0|S+i|RuU91HNw16v}ZrsJOQ>cDT@MXAHhpqKA-PwpD2NQMRNwnYg z?FAf@Qy5qOsrYrlPdi)X*m@RyRxuyLSr^H`)6fh}#zg%)TH>?7%1j!5*h*Gb&5UEL za(yXw^DhCtL9E7qK2Xl!(JC`b!Vm6#n69}60d#x&E{5dSjVF%$CU%ZUrSghp2*@Rv zxr=}kpT$6x?+WC}d|$}l+`5DsH+WMsAJlTyGB<>yf0(&74s?`hn@dULjpx5^*t#55 zUY?z8M>F)m6rp+=mm1aKd`JL+Yd{@6>rq$i&r2z)Ysa42rTT^6xNl8gFb=Z}ckIHl zpn;YDvZ2>IGD;g-{H)y(j`2CTErE5SH%SS@o38oF#sifV4u-622zmYw)F)+LjuHR* zm^Afvgl%_kbQ8YSKed#U@$DkJSk5*?w1+t6ZSah zQGYU{HK0bSvjq2!-~y9L(et)A2iT6Q?X5w%Kb(d!tp%Sw15wlX#b5s3s=v;-|LT9q zzS(!_XnggDem}QHyVaG$rWvcIKX|I2L%40HcgBZ56x2qF*j=*#AH9S4cfF*uZmTDf ztq@~|$e`lGCn$Vu@|dZ$Xm+n`aqa>hc8RwWm^)gRd=1LS6Wz+>(W>qk0V0v#?P0SA z(J4- z-$O{ITSp2N36o;F{n;0VwGw=G%zklot9mqu27d^Sj0N{g0t%Z$%QM?}+sBzj{-XR| z^HhZ(FM%+L0d8Zj2(rWM7VNa`&|{_cPK=nX?A#HBJkQ8|!JF8v6coZ3Ng3q$ zS+CcmH%XXj8B$goY{R9M1_Naj0)|lv6u6vHYY$`RQ~vV1{Z^IcPhz&#Xjo#0q{F%s z(IY#|be-eVJ^MP=a%Z+-mS?wru+qsJW|Hu8lqRLE%Ko;8AUQgS*7$8Y@z<%)*~M9K zmg_@&V-}hA!s_eOh?w*FXJ0aZd}_L=BsWMV@$Ks5)~NaNB6PIH)IwO{`d5f0W<~zW zczGSSVJC?DAfn%~xjN+C`zQif%JUG)74jo84-N*1UV$GOP$IN|e8ccBikHivSU52# z_1J^&buv@qrfKGtP04WfvTm&i{0CRlOYV=z_zH|F1v^SJo%sX@;l5ql-$AZi1_MOB zQ5o@HfM?IjDky%x>(EGY#7!)xAy%N%B;bhp^-$n1x35!hJ?p^>3YB33Fw%T6xz$R2 zk-7bf3M1v>EjkrxsAe)W`m;fm3z>hsB-4#=uu74Sak*Pq&x?cOAGwv_{ z_UXnJ;O7`09357+Sd5<=TAPcVe80#Gqk=v)ek_cJFMy}bg7Wr~G?eng#hrwP=Z05E zlcGhbf`}&MC(_POC@ytd4u=)gOCwhcPCI|=5b{iupGi&dL6ig+1eU|bvI|0`3 zB{io)v2)kNOR_}`U&{WU1>ov?>}zKAL`73}R2gCwbl7uG798pjT~Rv_Q*|?h`E%&? z%`V9&E@9H482&Ssi}IKB4%uYVtaim<(v&n+E;)(au|{_VL@}r>QF{Ww|6ynKI*^C$ zHZV$=0pFDLRnE2?%(6ou6JjLDO&_`SQUX=e;;v-%qP7o;L z?7|ZC_$S*k(epPiJ0;(=MH#ZngaR>%*GQ8+2`d3whWY4)tQKb_H)Y(mC(CSt%&@>V zKEqZY&XcB^D&I+Rs>P&+v5kPB7{iM9I65-Z)2toEp{b$?uAKYj!n?X!1}=;NOi8pJ z29_sjhTZP#`zADF0o@WENbFdj^w@6HjJq}-wOmfJky7H_I!3Kf`#!TxGCoNAlutMLu z3wpPMPhBd42j9;b02J7g6;Ue?VR%57{QaS)Fd(bR^*s)Q`GWhNPyo+EJn&#o?Y;d} z$f)ZnM-x!lZ+w~n4T>6kK45sHk{YwVph;vUs1fPiaVl&^SgAeDiS5LF=k-T{fC+mzd~yO$VRzuKe5!f#CeSrI{`6U9Bg~fs91U{6 ze2(;>InGN5f0^!z7M;q`@IrJCDk0XT{yH&mNc-Bp8-*1~?Bqb#chWI@%xxQvXwk3Q zUk+X^FJR^sIR)ZNt;zn#xZBMUbiN!kWfMFoCHeA&ANC`Q zmseh3LTzhPJv0K;9__U!aA0+l5O`M{2F~Y9hqa828QdPwQb8H6 z?OmPEz`o13U$h32DA~rFfKQIN`k3384mr+zcZP8wOJ%MJFCW-JTxH9kGC;N zshI9N$0*W0H#_Q|dG{|9kbRCX}(Wgg=A9=y1?s6K7#)6J^98MX7vc==y8=nZMX^Fzcp1Wi&y0&-_D7m+AA+ z0gH^m{O`y1MyzJ|IOF(dcttThM?}t<-HU&leJTc zpXPC*a^rs^_8MI=4&I&re4aNXyHt%Y^`DrWd7Pj}GICP!FBz~LlyB*v6e+zVmL*;A zgtJ@=G1)T1rjO*K4Whd2q!w1ptdT8tdkNFte+3Q{ll}^ROXu|p!Z0-kdGmGB_Ltb7 z@d!Rv;Ou?1RI=;Vd-jj>1-aLGZbLi^!1kUeg1@uDIubAAuv_py*9zc9D} zJc%d%CcQr?#FK>IXb{uU+7W&GOqS9izfk>t3taBJXw=*YN8}ZSA(i~7PxI08zrtDQ zv8Lt8UEqj=bJ6p9@eR&~!NRQDw03F~JsQqXqmlArOvGGa+;2Dn%^PzZRC@|N+n3gK z{~gpFzcm&@7`%cj$I%l3e+_0#;jDE*1x}2ssUKR)8S@8uV`pBJ=f6NZ(T!OALXEe4#*j?b2-e2H)rHFf4=S{jmH) zq>nxuS1tvC;2_OjC5`XDa|Q!fRDI6sGl|!Q*H^Yyhb?-{-& zJlrLBiu7>w7On3B;_>({Z_65}eG zSD-fq`TM?Id7m%D#qnLaO6>KXpFBjheLlm1abE3F|NfBM5-zbYi4F;vFxQwT=+K2V z5&j$y=@PI@3Y`tq;Q6yYWSNL-wM72wyP9U_MxEQGHot6ZYz!;U4-!(!Oe?DHDjmg{ zc(SBUQbZumjM69mcnYF(>+LtoNnF~h_rgTn1@9bkYIx-MrHmqu90?WLX3Zw;&1PB9 zvqpYVZ%Rwq#cxaR?+uj^BCfo;P*i^YRMv?$ct}cQ2V)89_ZyY^@Odvmql}GoIE}?n z!kYeJpE~hner{ccx>1y@QOHWYY;}ZlWpz_x-QbaH;=G8egzAvNz{e@o$G_;(|38d_ zX@9BjXUJg`Fl^V?jBD{Dg;I>WWGD=@F~l}**FQp&fg$OES^^*cb3veMZ>%VfPBf9_ z@8))>fuU01WXPjU{#w$GtG;5jQxdq~Np909asyk@gLX?U^q!&yMqTwEz2|2K?pJc6 zJ+5{j43a5nTCAXco|+FoVx;RK1M#NJTGFk{H&ZTb8?zl+7) zAf9TQmI*@Xq1a2Yn88=S++S|7w@(&7L96Sa?FkOka4q@;Pu`|a{g=g;Q&)ph zWtr5^#1zNbRZZYL+g@2C6Y|8$uBFn%~(a_>A-GLVak*t*oC%YzC*xfM7x7nkYY!~5Y-Ex3m zliP(0_7)}Po1ZDF@P0{MxNGQfzTUyc%xa%peDT78N!D=SV~6Jr=hH+v(U@Kn`BujpL9MfkWnkduxI>6664JG+)!+E}kP*Fs%}U)~ z@QcGy2WH9`yr*`1cF@ncki`1{iw7RP7fKUe`0P3ZnwP zTxjw1n+@#WL)s)y+Wtf%ni$A5wArJK$8T7F7?%1BTNn~GD#7dhZ|z|mm6nz^YBMUBq_nzgMyZgh zcN%7`ICEz#p_h zP9w0@gu#^1+sP4T1+M>PeSHDa=?dsd0_S@J-QRnoTYJu=h6$r*O#m=_Xm73FCF_(1 z4$!?K07^zR>1$rO0aU8&@Dyt&2Pu)*^E2F$E;v$JomhwS=MsH9UL5v z{6*N(g&vl^9k{w;40sitcBZlUVXKVwc63p)v@p6kZZb}}6=raq>hd$+&Ap?VHeQQnuqhM1?oo#&XDv$u@2IRa0 zbA5gN&+iS@YcDTvwPoHdpIeNk+lT=iIzQ{Avon~`)nwyG8~>;41mI4|1#!7*zO3;g zr|`${nh@w&rKCgebHAty)zSLpD^fpL-Rop4RL&m47&e1e9V7oUs!Nb#o~bvUi+|gE z#g!6m-xa4-A34ZttGQ%txk z+BOoK_#M+>O)F=!`mT7`VfbM9X#{ce@L6V)BSR40|2`)pJO>_To&}i&k*bjX* za+g+0nWVu#8vd(EqK=K*RGB5kZV0wxV?*wymD{dwuWA8-epKLk(KpoaxA()Ue=Xi zsS?Dx&LA)$5br542p)d}B;>G4x&aFQs%(B!i*hjz!;zW#I{zid9rEsAIsje45D60r z6$-=+w`aGVeVz0;g?w%FVit3bX~n& zl~qCCaPsR{#b&DDnT3r}lN{tky}G*gEZZ7KedSmQN$5NY@B%-#&$(n$zIxLvxkKVfF2_x;?((%+vn5G0qu+nTjEH9UZrRABpwz^m7X zE6dDNXsD!ex7S;j1Z{X;6BLMQm~D6=u;N~#K!l1jh`}vj_plm$9{9K!wYaFQ2qcEX zmB`jNjuV-w(95e5d!%}&SKdOt(fxh%$a=(X#^M_>UL{uSiOPXC2RZ%Y1BaB++d*f? z@eGiT+=D>PZd%ApO>g}KY+A~Yg)ow)sZavaFx$zw(>hZ#%U5QSb^+f1nlp%;l82aA zpHmpD0DQ0~<9UfFPhPxfk=x>703!j-JJ-Y2;fB*9rvKhrggGH$K&io;>SJwNG1?ACTewXa?qnM&y&-=7J z$@W+05=9?-|Azm<=ORl|gQBaZ`Oy)%XMbmZT*?eoqXYfSdy<%4kUR3$|?nqWl>d91!3>kz3mZNygM=P)$P5k z<2*p(ZIG!Spm^k99%MuZ-ct!of&DH9T@#H^-ed~FXWSJnPS-1z3HrA*-VzfrHMRJ$ z)M`>;ouB8v39*o_F|*_C%d-=Tkqi29Wubqcp3EYtU-{L<+@o&kl(>5MqQsVxh#$M3 zHRbaxqwx;U%y-NUD8X^}NCzp({aSUk@P5-0P%=+}`3`SCdM{3r7=_m$Fn7hP29F(` zil3WI<(*l|i63^m&((^_$SBy4Z9JZg@CVU1AmD2m^FkUPQ`(+rZ2KOHc8}S5;)&Y0 zGLG*LXkkxBRXtZ0{J8EB_q^IL#q?QDihrS26v1VKPtIfaWgrSb;nsZ>qG@)|XzY_t z6xqF9nc6EB{PrOi!8GVY<=bMe{IkE+doL+mp96+?_*?g12_oALn^8Zc6}siOO=ME zzj8?trl?oR+7V^dePXw-K^WjqQ&+Z7mHxrSSb={v5F>x6y5*k9tuwKLYkorh>C!N@ zqj?|CYy27M=78f2VI=$T%F}1d#7*i$0RyE1bM(Y6_FEDP+)E6n4q$Q4^sSDIT+2Ip zspWg&n6f|Kv;V$UAvt6wi36Q!1STiU6+v$eA}slWCN1>s77n`&W;7FQiqJ0~EK_>& zg`@JFuKjE#uon5mQZq+T-Tc!fO4NLLPQh>m|V{;juEuwXUy3`gtmc19XVQPA;hQbfn zTx9(*(q=Ty#DC-G#QU;wCH_~~lnufzZJ=2<732v7;PGv;Uw-=|YBcp)TOksL#Nosy?Np5VcpzL~6wz_r`hliWT z+PD1)9^b!zO>+vZIX)vvbV_{B=(XU-X*ppJdjFKsdvk4n{fv_aE$j?_MHkO=le?o! ze1r@M278Nlq4kplM@&6rilgAKNv}RYRziwGUgq16-bpK&(YkKNS!zertrI_htbI}C z<)6<2kWpD^l?F@4qs8b1s2sdLawYl+5604U)5xVIdkDkoiw%RSG`TOYxKoY4vl4m3 zeZ}IU^uf)Fej4)4$_F?*ryTJ~3w(-ks*6En39HoowuVIB$7RirOl`aNNxK^7b6#{* zpV*l;SL9EM%^D>&wG!zTJ6@1EO2}fc3 z>PGXA&gh$h%_!XcVeP38XMXW%M@jd8>x^Y`)r`rD$*TExB&n)TNZ5^6DPHeWj}WUT zFs1Z!OfeJCg$?fQM0BizN_@A8CFD>A5u|RKDgJFbR7uS!3>Inj{rNn_9x`JK1ifE) z&+#;Gf(zOf|46vf#N+O%1rKK7D%lQ3=cneS!jMN21CWkAC7qE)-CilD_L;=g_q}~G zdFKFQjkv;a_zA0SLk>Pkdx6}(g>eAXIOCaBPEyx@m^EIU)g)=mXjo}gnu^%;YHI`N zpWw#h&An*wu`|bSS*42J(ghu(!f)9HCXzT-f2_K?JW2VBRriS=3gIuQ61)Z;@g5Njq6#eXM3O8ex^0rUFO)tko~>4Jlv( zUYC%QGkpZJqZ;R8q9p=`IkiZv)@opWZ zvhWky-`o}0AApPrr=b>X2J!8*3hS0W4awX9USrN4ZLObTg$%_NlPXa5Rj)xcgQq&#R{VA9$S(SX*Lvi8 zBz{qNyb6u}>-R;x1Z#AjoX@j%IubOXL;R!0<8)SvOpAL78r4ihS)Jp0;A1D~{2}RF zCt>r=Zmt#WWF3KcGwN?0LUV!+VbIA0=r?#+9juVvTXPGc+Fb&vw1GkTk2@mo`%V{- zO)|g%er8lUZQS?+z+5?T2crSSmN-N_4Nk^F2a;#%Zx`XS2r$SKR$x*p*9?GGiplQl zT@;E*ku{3%VK%L{z+Jns{GnZ^nj=);mMJqI#*JiUok-H_KX5j5o1b`YQU|EH-6S*G zMbB5#{4H>ic`l*LN8%_I5n^3UBvG&bA;LONKQfSKPxj?1*k}Z9j^ff&V!(EgSP$vL zV*v6%SfPRtor+7K;GgJyY)0>tiE{8or0_%XhypmX(AEXH{C)RGlkJ4?$KRXqw|=54 z%#Q)u8oU1gXh&mBA$xUEHTb<%wo}6gU5$;FA+t5HxWO1oY^Fuc$^)~r(}3K+_pNGR zAqjZZkPw0k7Z*SqOL1>k+4_D48xT|S_amwg8jUu{*#a?Ty;>0`!2ECQ$pWi40qOdy-qCw?| z$(NF$v#l)?K<{&a=TqgJ-=*fKha3KA0dEn`WFxVIM=nwn4ll?saHM-|FZfYi(LVP>Ox@~v;|xsu?? zUx1j%crP(tcZ7fudEm7=*|h%yw)0&DCx+pRoU$ zewC^aGlh<>0aW*gH1WGIeV8Wc)6?zvE7Iy8w#vS?Aa<9<)_RV7g$Zt!ZEXm3?hyJ) zMzeoD5-bh7O+>Xd`iO}J7%>@Wh_N_pj}<9*5Sd;%onU9{#o>4$ySaSs1*w1xAN)%7 zoWcHkj{%AY1|z_;CpO^=ONAZFLn&}~{Yb`)AdoGlWxzrdt$?8!oIXVM)l0s{6lRv; zuPGb`OTbs8kH5Tl;|++;LhU!x2GG>OTb|!h72<9J&j9IP7=rkdWf!5)3=NlNx!?EN8z zgpjw_dn=rY_)Vg=1Hz34ko)XNTi)g7(XR1nJ6RKK+tOn?`QvFN+n#?`KG5>=_TH+b z-6b|{JOPO5*3%O*#)8OqOB1%WlJFDRAf>q1qxQ|Z99Bw#C|^E|zw7y#vqG#F`Zz~0 zJ8Ad~ckp5P=?uqObstEA9_pK>+d}u?j}zW=iD#N{`bjzc*(26k@A>h8g*|<ca&>7@h%i%(RQ# z17iIP(H`r*dQ+|ZEbSBE4B%G*6<2N6`F5Hn6iG+p%FWf4U(_w+icw<)i6^XuQt=)| z7c+3wYx*A~-7IHQzN4$ZfHTKUw>!%E6chF0YcJg=FNAaErQFu*g9=PCf|>cLZRPUL zHV=dK%{9wl=oB_2>%+d@3Rb%Sj*x5L7F*yioUmp?^Fy5-INvuBE#0kNcSSk!{?yNz zIs*WY(NP(nk3Si{B*R$Jv3NT@*pAu;#gP``-7#Hg3+_V?DeF+6io*={ta`+>o_q=g zqCpCcv_mT*l$tLwukePg@QZ#rh8vLs3X%Z=24O(|*WH!BL;bbk&n#xfHd(@;m|l_W z*(#zLeM8ntvW1~UWlIs;r#ulqjNea@My`DDkvH{d#`GF-4wpz=>cI(o_FO0=}|!4|Tw{ar(s7oAm7 zx5}pY&Qsijhypf0v!O%6uv)H+TuutEUx64~aJl~&^H_C>OS&2C`l>SRI%iZgK*_Me+hg*ww3x~_2 zH3ELgGi@%#i_ZHWj;rzJ?id@HYy!$SJ}VEnO^m{)k2!)Xzw#5oYU{` z$!$Isz>U!aGqLBmI;O0m>6dLQPlb`CqQfQydZkiDG2Lp1n)eN|U*v_nxLuncr)snB z2B&c-w~bq9!qaf;3$t3ysQz;Iqd=jV8Gh4&{PZcS{D}5|MO$Fzz#Nxny3|O1jFHGmI_Cj~7hn-IDr!Fy0Bzhk&Ze=~7U{_4P$hdAmgq z(L`8m9#1?;Ic^KT^QWI7@Fh^LsC7*Qx9vg1VlKg~n=Kcef51X2v9CV@*x{(ceZ7N2 zLw^UBKl4WtzAqSRott&FVZ7qkZfEiDWDYY7?_a!1F#B-j?%wU{*Q$EX9X}~1GwQ)r z{b0uX#N9h~H*d)^T_g|D%*RLJEq7$?NC7x1bw3^$gvqf@H|{>R$2VJi{5{oQV$<6X_KN$hXe&_M+-`|#Df2}m1}-zo2U>gy>Cxe3^z$Ld z35HgVt$g@;!6&ehcBSIJ2)(kPL8pS6lEpKdM-_YjrkC%&2LaHq%iMp(V1!Z}k9ZQ% z<-zPX`ct_AUsOtqMr{V46M45()RXpos}gI5b)LUtq0t^+KE099#*E?b;{W`j{56f^ zdKX%4QK45o-Bh*B3p*~p=wvBVa0~vrUzT6GTwBPJ`?g+RdUJU}ZfLv&WKvVytRCLE z816@VsHMJXh-HAxA{>xyNhQOZ{2{0%i*~6nV&(+n&D_C||^Dkf^YY`X9vMg^Ej&E$`P5myV zQ?9A$i^v?Qu&-#At8KU?|M>H9F=@MXw0u)*Ugk*kS;VMn@H6znQ>(eG0Dd)z{g~H5 z>-!wVjSf?@Oo@&&6MM7vvMQBT=2e{Srz>f)OmD1)TZ_EEUi9tS`ns&05wZHaUbbU9 zP7WrAqra19@gaV`711T1c z+HXvja`wGv@jP?gb#P3cXZV=6PK?pnxZ68(Fd+1dGCiA?aj#96`dRJqD`~wGkS}|a zWYOPFJv)w&4nUplCYOM4lZs=YahvSiJ`frZzgs9@e;^#tSUu+qT{-Pd%qdDay;*Ac z+Kg@SqgWU1I&1s^W3Y{nslO1+r6y|8L%hZoAdPny0<}&VTVogyGiRjOjrAeZ&)%@O z3#Y!8c!oGbi)HmVFWJXYhoVh>@<1x>@XkgMa5a`nA*?w|w1T_5Nia9u9&+7#s;TTI zYX+Iw-0(_5^~#F_mfht(6sqXGQ-EuGfkJGmkqEIcP5>UuGv#x%BN{;Nm3e<357zhZxK{%tb>RMpWsF!i8 zd`qep*HBkSiN@)jJ$tt6DP3gV2Int7tKY{npjHsPQzr~xynfgAB529>GsQFc_r%lo z&{t(yLMN+8*_5q~jqjF`O<%|%F;>nilhq-b)R0*!S;xg3+L=gHU{mG5S1%>_Yg%{Bihl~lv?$`Fj4n;;_)`{ip-+~9P4$P?4*eVRI4$CrFj1Bt|Ru;H6dqBiQ1lB++o9c zqC>RA%0tN#EAkbBYVb%I6#}f4_YQ#y;TFhg(-MfQ{L#vQ1e3>V3+ua+7p-j58KwDO zGPPsHYqf7Xi#pxrtXvw4VHnvmE*I=7DQ$)si`BZJIoaqF;Dc{+gb^VYKHzraA#MyN z8s29|wu5|7ENddpDx}36o%&YhinZ5JAC}#1N^TcHnC)G`L=^#qLTk?qfnTK0XU{tU zJ6T1K`ul~-ojlK?Qqp}py>j<=A@$tn%tvTLmpZEIeSA+=!17E`VboFwYG4Zz$;3OX z^TRkE7q^uRfZ?O!&o4XjGBeMk039mRUOhkY?XHHP8eGlXc4K`^hx?Z0VfCXnF8i^y zAv5|HzPdA2lEQY)!I+`3`xy_K;dwWJ7Lf;Y0?xoTCu=2$qhu<>iIfU}EJJmHqYYgN z1=6>pvM^HOl-51qFe63V^8($WcXvSQ++X-|&r*zDZ=kg9;H8Q9)UoA49waznK+ zjm^5Kj+;Eox|1fGD{Kyk1H(udEv5&lS8F5ka_81>OI*TWiA{Ig-wBy{K?|P?QDqZl z0G1I@^G_|T2j&(Et@6oTd+`C=I|gDni(6{GKH>eVA${=pv9FcRR@2^udMOpu)vW`63^F&S zmIy}5QCiwDA^SO|onjmXH}q>eI*D9>lfT^z8qFdk`Oq2^mUlBcdjW`fU3Pm!j5GltXoCZkuehG){ z8{|&i+lMQY>rn;J%U@$xX{&~)5I0c|KD#AmVx^$2X4eW0JlDd{yf&X~W#XYg(;fsE zVTSck*i(lEa+)&CRa%srwjv$|{~WPrQCCF}KR|U$aewn;)~f`d^hXtrfd}3$GZ-!b z1B;dKZ4x{eZeSviyJ^t(a=0xnMd(hG8I7F+gbE|P9E}m^CtdoQPk`IHgrgsR<8yse zrBs1@$lOLI#T%HDS;GrQ0Wk6pTTdV%Y|EXBzn8#}1T!ND#VdR3 z3O2bEB(#4{X@(&Vj{+>QY-=7-qVSEgMF##ov2uybby#bNf6NP3B$L0*jEHObN#LoHPH_Te+cb>~OH}4RY zg87x~9Dt)R#?(iDG&m)kmLbO!aDVC%SePp~YD6fyQJJ$}8c;$jKEa^&{QXP#U($r` zI1FB!8j}n#jtH)M8nmx~K1d0`jea_cSB7Qhcy4=WKK9kg^-Ps&6f>cldKu0S!}7r? zsy2H$J1>Q(;6y}{izxDtIu&heQXak^5m-S%a+4?z z&GJyodneR!)v>J&)6P__ySX8t7(u9Y#-g?4(x6bbHGm+Hz!0nkxX z=H7N;AtE;=D-D2?D*+%30L(!jjsfs@IRL+_0Z3>9KydWDsyi6~zaKX%leU*U%~@YS zjcHl2*1nI6|CCk^M#f|UfK)M@#1P~fw76&b34})#&<&l_{V+bfd|o@+`2aqMUvUDj z_5wy1^DSX@=Ipo#wGCNt&npEVqPh1I*I~bQvYn={56)?eKcYSFvoQb52|!Gc5?5sv ze>N~c7Y%7ese2s$ac~E%eQtBXq0k>7+`XKJulh#dtD3*imir&BJ`?6>|)VSXZ+D=tF5br%g49AeRWrRP|)2om~lD&Fm;XkjyYCd=J0#) zPxlx1G{4`?RqOMETRSFY+Xk13iIf5$TS|YjlO!eZqK=9jm{j1spi49>41ezKBwy^b ziz8M(6t8;suIojh?1<3FZT97ex_l-3O5@j<@jU)Yk!#?Tp%oxB(N?&>l(mL?qC%^M zaq`%hki)BRQ12uZwLx<8m*6*ADnM<#_UL{QJ1z`ucO{KZ{5Qf zKH5f#sr;L#pwvKEqRmZozl*o@O)qS&KJKd~c!YqaaJig*istoz_vpaaZ^{4Ex?(-_ zR4sM&vjkKc7bh=8#yOcMT%u8a@&^(zuRtOfI>&%9Th=>6Rd5BXCWHRU4;0FD_nPG0;b}z3< z4<}G2e>dBM+^(OqhOqYRUsp8(b?G_GVFiLki=OZ0Pdq?&WEzdVj@1BTi(7S+yHuSoKt8`Rsna1N1iQ||Q#@>PXg%f-tC5yzlZhJa zK8IbRPhr|}xMy~LI??vVq!7}`VecE!rTXgX*6rEKOFL=nyytRz*_r_EMb45W>$D)7&)C>fe=P@unY5OL8C*sB@@Khcwi)4}-#d|!Zx_)9JDPkbImZt$PE&*>h0%pY zjcmP;D!Jm>OY8!@pOaB+>u1fC+={KZUx?-78_ Me@j>1_&}}yALD7)0RR91 diff --git a/src/qt/res/icons/edit.xcf b/src/qt/res/icons/edit.xcf new file mode 100644 index 0000000000000000000000000000000000000000..0a3c35a3f86ac83daf03e571760cdea96177e151 GIT binary patch literal 279514 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

#!Xs|#ESTXp~Ob8iBDGJhbGwl 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 C|}z8ZRhLXtNQBw3$OaNtE=uk=j^rD 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 z zpHsgXpdUOML7Sw5EiW~m@uedhj^l%Cmd$9nxq42AE}Xq{1Z>4a>yp^l>3*_&v)xw9@t+JP;H!rWUkohy%>R6kPTx=*VMiC;@M zw>bASl9d=vQeD#@8tJ6julU@}oaEVI4cQ2^D%MyoU%E3w8c5~Q@!<_Fk%8LhgLsdg z;^pmNZYD!9dy(k$)an)RSmddpcu6+L;216I!6lrQCtSb7C#sx^OU=2}cD>PEVbr4be- zvsl|o$S@TTDIxF9h$jstZh17_iTR6U90unGqMJE6Ckw&J_9N}4KQJ$rpEuBP@lSRj5*!an}4asu{CReS2GCd#d?5IBLbTY0X zgF{Q>Q;#}bw+BcosGN(lPx~HKwsYSi>Gb5fM(5A;pG; zy}K^RnA8@WgjW6#`!scFjd_j;9J-)+!|tXMAOZ_#Lu5PpxF|r7>Bo%)_qy1L{#|CCU+!%J@{z|y$|kOoWEgLi%gmw#K)>Byxydf()R+M`<(|}$ zCFv#wRXEa}_h{25AKh_7Y!V&$-|n9Zb{Y#z(w1K?9v2X*nMKMnSKc-ONwHK|43LeZ zlc%YPC>`2q-&zd?sdDfaS65wNr2iQ2ox73NLAnE-z+4xq#tbaBfbW%)j6jp9N3O9G zEz8Yw)%b?LBzO}mYi8M|EJpYpbvx7m+?^_w7BgG0mOdpWur3ji@JYHfS;Ln7WH(K- zki3*TG_30PB*I96Ka@R1*qW_*H_rEmgfgv(3= z;j!yfcu-Zu8f90yPqygC{bi*8`1eUcV<%c=?ZqdOfNdVcq$M4#}tlT?Y1Tk*leu)__|+l#^aPcA>YO=2~;-GZN!t5-!SDt zqO@fu;VjpT!^Q@XZqJENjrl^-io7|fV)SJ1^nMBfB_t&2*0Z*)a==ETbne@?xEvh! zQUMxc6h6RNS4f(WC;cM1!niCSOeMyJ6#qd&F#j?P^#TUu^TcMGM;qLruc_B}1V5+q` z@(Kwf+B%|!Eqq|9r4Ys~ttj2DhW#P2zh4`A85b+gB5fiFbg!sVL5ipF!oG^itXwQ< z*LY0b7_Bzu97w$DYNIq+7roKtrhDwLK~UAnW3!^dvNfht)~tEcM)8Nd+HH9UVr_2s zz=U;pP1>_uJbR|7DY-#W8m_P!e;&-swd~a=kx^=G;#D!+pdN9izEaIkUM@#q(4Gu5G@anQ~&K9pls_y=b#cZrL$-I|IvB%{iSvKRq zxz{a?k>Z_J7n0?4Smn5P@v^AM+WgSnmmFMw72j_wf6bz1S~sxPsgBd<0!PMbi_Ypd zLm3n|oYjxv>^&w)zMf&JVp`lU0$rrTR9c22l_@kkTWwS`4bACL;=>I*ia|~{*UZgG zS&b`o{wljYjOB?MWOQP*GYbpko|8DDUvk%lf>|vmM{$UI&}p-|S~c3vrWfXAyy~a= zMMTAz%^Jg9mzOexy%)Em9;x@`k#X%#QC`<7mdr3}y@!D}Gi!sz^D#i96w?eXh*G+x zpr2_Kdt!k~0aOhez|oZP`nVqOz!sqh=x`CZ7Av zJh;!u)!UI$?Y@qB5mJze*c{(H zAXS%CS?X!*0dr%jsWW+Zk|-mxq0>>H8Vo}=SXIWlvUNojg<5rcrOdit_BELrCNgp# zzp3u7#(LBQdbY@_`Y~f;l{;2`BW2qgkwnWOH%yl?-*b3vYG+i0(cy~Im4O^m>uEa+BbWQPJHFDzWQIu4a`)Vd){H*P4Rm@Xt} z6tT!rv01LHt4(Eolk4Z@DDA?dkt(HiU0)~Y#Wt4aOo2(wId#`#e&7ZXC$$Lel}@yJ zqmgO6b^%>rQBy>>g<9+|kXP=-IqA~Sl0D2Vw7O?#vSCT;+|#K~D>zeL=EBwmuj6W^ z;Z~vI#hlbDQ7l0{pY^MZBIz``j^=s2CskfnKjI~#l+`FLMX7=1Lext5RtI-eC!xXw zs|lk*iHvsg!#xdAi44j^v`t30__d4n>ZVT#Wvh)%TJ}t5(_o@qFJ&qUDM^7ZDoUt@ zjh4~lNnPo}Lt6yeP8jytYp1+oHEXDzXJ5+_TjduiXF@3-ZXui~Vrq(sP-@ktWXf24 z)?3Rxq-etmoZR$rdo7?7WfXgKmd?3&Y5=@old=|4yJiw7xu2vo-y8EvA1h3zN~F7-E-8at&sg4Jr<5t> z&d5Eo^QJO4neR%|BefZxy|rffqU6}tjI7Byt0PsBAtioD-$Rv{=r@&aSvo>8BuR2g zQfCqD^vd@Rur0`2)X7$Qbs@}TfQzA>YJUY zR;$r67saN*(s;6x{hAvaR{gFsUpOy!I?X^G=CNs-jRkrH-AcWe4ctxGQjo!Fjh zIfF^^P~1E#jGSws^+M1bLRAfMt8)wg1_)x16>#fpQ)$k-0Fh-q3)&okxJ7*OY z*aYfTs4LkrOIR}i)550aM7c`j)G5W7%qCm0#ahq(Szm|ds>_rX&5utdWc9t&au-=1 zDxKWo#g%-vmra<4lg#7fP{<UOOK0=-b=wHna0m&^L|3cWTpU_H{scYj)Q7SgEwHds z<03ObDXx*$iBTjj2KTMZ#&k(G5DSQGQqjt6H5W0NUJ^h$?A94X-PO)YHEZRNIaE@G zEk)1so=MRoU7DP<*yQdcO2w*WsnxqUCz=t1Y4tpekxGNJb~Cn~czOrbzK;0*21KQ>%HP zd|}90>`^0&ouICAo#;3p+1}DiDhK?%KPRbAlv9F*Yp)f@; z9M}UNG5!0)$ z#EsKa1dDWe10$>Q@7tW)nRJ&LXsv5r*7Cm3uw9;saY~-s` z=Ywd;K8m31sqyK|LrZM7abwnMXfTr|Os04~H{q#TgGTyymKXO@Kq9Tq3~MF9(Pgb&?n}1r*&7k@&JbgD=%FZC#vnQ6$V~Il9VeyL1@x7A09S-e z_H|O?X$1?3a!aI^9!MfaywM9~ROcu!Nu=1?n!BYKl#@WT&kZG2n^6d;XqDa-32Bu_ zA*hD~_?wE^(KyI}oQ4aV1@^vANr>nR(MC433y!`Cxk6fkHb`jPt1@t^HDSEPOMP}tZrjT>Cue&K3|m}y@74u!GIzRb`oso zm*YJTZ^I^Jll9hsJxFm*7q%9(9I(K7C@;nuFeDw*L4Z-Mvr03dLRn2GGwr^2uQ<)@rF-n-JakR36q?>7#O?bls0Hr0IsOi6S zmXJ+tQ^{I9aHM%JeTDgTVd~ZEfIalZ5UkC#j5^Ow7po5hp^9W{f$17e2Px^oW=&tW zSUwI5d@YBf46hK56ZcZ};c6fCgz4s-+QwD89SsN4X=xaCRP11Si><}P1|$WsqUy;q z`SFVm>+_HpS0j_dsCC00d3a1bv~U7k8#aNe?htB!=d#7+7&@B`;$n|T*AQ3ReDdJ{ zUqh7QHPKkH_l!`M7T6`)=KQ0xl}J^CmVCAm_w}ky33>RO1P=Ef2>2Xt7%w)qD%0wnS$WGW$P70KoUY@IO zDd&d@h`FUMjvI-a0ArYzODZHrmfQ1NaF4nQk>RqFwYqIDO5@FX5FDg)Yl_1a@7u?78>2NB9*a&E`fE1aaumqoj zm-4j?hfcE5#6PSY(&aVA^p^r@kMgO=R+P^O^Y!<9UZ6%U7RT85!_oolhSoS<-kHT1 zs+a5b0l z7&@^m$P05~0a2|gVy`RH#EEeijku1>dtOc!CF;H&c!(gu zEKD%b0ve7wdO?&{4#dz+fN{Ag6D6)}gbTLV!AiDLnohSz06nW=EMq=UyS8YTO?7JK zBt;EDv@ai6gtj(Wblw+w5@sR+=qeOeU(<+R(nYGaxP>U@1KgXlyco3)Sx~OiD5fY{I>mo!W#^gq&6}7A?%@XPCySVe} z_xNg*Jn>aI!MN3yS!t+w``NXAUy0V+D5?&v-u;xtG{VIr_-F)ICe}==)meo^%U1Fi z2R{+avPrF^I>M6PXqo(DSQ@YTUbw)SBME>XnhTd@_k})qN$(?@61Z>`$roe`7qne% zF)9IeJ?sY;$ZSian7Ng#*w!EQ(0SoOJi&ISry1a&QDvD@kjUU31`PR^Cs5SGL1z6rvmItv+!*U zm~YYhj&0xKmB1cx1;$4Wvg(q?@2(extSR6${`!*mj0gBph}KX$djX zMvy{AJE7$0wC>~is*2qzXC6zR-fQ_vi6j^RpVHOuh|O3T{beq)n!gfdlIKON?cpjg z;|bpf;Q@I@BByHi<{++X$&$M*N&%2E!5S+9PAKz6E;* zSz+6P1nfu|o$hYtSm|lK?}0LVLfZ1uot)0HE6hs4Oj`929@f@P?z%f3hqpvJAJj;| z;()q{FCOOClN|QUEU#O8*L|8(YaRevu@>vjH85~)&spIEhR}Rn?KK`RV98=LgGy`P_hHxFb9ANC zSJWiCX=q6mdrZ0q7GpK7Eh1^DLQV#%6JFd=#>|M4{s4gOMYPdnh-k8CK6@xM?zdg$ zkODul%K-;etF6sMniju>KFnjlPZvu>@M1rB*9%2KcJ74gGX%5y~*XjQ|NC7xj#1iEC3DcKA`10#h% z`mBg^U`E@I<`^<*+iR#f8+r)uN3eKEj2@SJ6UDA7q*_28D=?2}*(F^Q7v*>~W9;tR zW)ZOt+gj{mGE-SL%7FvtBm%xC*`pLSx=~m<5|+Br$@&tRveOGf#Tt_s3R5h^>AG&K z+wv0I?@Ma}`-)=$P9#na`Kad*M0{>$as<*t&0#wG(7}~(snhKtv@u;Y*u7dd&ph-| zm-bF2i4myBxkwN1C7W1*@MU~97)H4N^8+wKfraD9Y z*^y%zvF)$mLPB0W7klw`lHl$OF|{eA7#^N@=ZFo?3$p;6j-Fk+Zb0)5U0 z*t7Ex&TKMk4?_e=EVg6e!a;!pEU=*PlNH#!amnp{-PZOc9fCzMzU|)GiqWtN%?e=( zV<)0QlYrfz-Q*gNW8MPKjs5ao`B(tj8Hmdj@w4X%2->9wr*s*f0@r5>0sjcS?>-)3>1+q!Uu*F3^eej3e-cPXLAOsNsuj4^5 z9&vm^TFCTRn8N^0L^-0M7u)52sAYm4;<0-8=zC!vUkpR;4qSd3_$z>*a~PNkiNW% zHeFap(b07_C=BQei3WN`SWw9zVuYwsOQWr%{pc|};6G;%aUQhkcr{?ZIQ&PH@Q#l{ zv+b<-Vl#k*e2fj)D>Q99p%_?j2iP4u-se=K)sBoYGM!!z%nsq_G{DQK@EEqJW*kMc z)5fHgSdUcHp4u?<5}=WinBxO3$F@YgFTZu3ZA2j;CL0ba7l0!U1w`%hT0F?zWNvqiu_y(vG`6wrEe&B=UabU0>wG8wm zCaI_z9ek;Evwh^K zl!Y~HI#uW5ipg$pxg@I%hAaZ zol`mH61ECFw>8ZU&_1oJ zI<1k71<)rs;2IRThzkP<{XsP}bHEuGY={0j#I7~51WxM_bRPiicp7Mt_fb6qLNGv% zEU=j~=KDFrHcU9WtsIh~INXUtK?F`j4=Q5-83w)Kr}<`O9i|Xezap-IRM8p?g1Zh$ zjKHnLF@rOM35dcJgQ22Kq(d8rA?(cQDY8~RIj1&3_AzLnMhzR54v7Td9U7PsICGjc zhs&d7&`%m9OhO<`g$iZ|lAP;O~ z%YmVQCvu36b~?;-aO03b+GHxb@T?*q+b3*8SEa^`rC@Lj1qUdUR`@;)7c{9JNvst~ z*>N{OSSkhsA?%HV>l&_^ZGa{XmC?r_Y%uS@L6)|T!g;`c082>+OGq}{e+WU+7=0>F zv(&2-!i8{N4qA4B!Sw-Z>;BH5ML^&%5vUp-NG;jmVT8z{J#GhClm1}C(a@%vvMJ;e zI6$p~ZB+7d_;EpRRoKP~JY_}`Uk8Ylu&R>COa~_nYV&~nmqVe-oyuf5Y$2=wipeli z7#Y|dlY@erNe9ybX`4G#BqgW=s>E@Znj?SVA}dS|!G{1NbMU~aA-r}lMIwd@Sk;5~ zG(ztfiD7v%^3?BCm(QBG~EgldfDVo&FUd> z8C(_P@(30rJz%qnUG`W3Sft7{M{j9`=hGaR>=(UEz3`Aj%d^my0<1_*vWGO$WYF?x ze;}@zrr>ls+50Sw&4;>!4@K^Q{Rg-Q1i^~c>-aK5@oNn~W4J$#Q-mO@O+7T&Kk?vS zu^_Ru0aoI^iRv?U7jsnYbTV^s%ra=~fqH5Itm}6WGz-}XO<*ua6quXBV_IbN8-#X9 zO3co>!Q2A20Fd4mfw&Mm1E5fU$4sr;Izq7&(9r3`w;cwU4&1lN7+9{iqAUe`9yOOU z|F=8hAkB0@Xp@c->Yl5S5fN<`&3jQ+2I+%ran4vg#9QSKsSD!rb0MXw!rZty1+7a)Izgk z70tH7CS&m>#Ujeqwd_%N=tRJaizpWVgXyQ)B5D!*o~;zw#v_l;;c1J-7!l7C4-G|( z@V+#)-lhQs>cp!v<{0L#cv)>Vcd{No|E(wg8;K9iyE_4@tX-&rnV&F<{8K-?H8~Y=+@`M zuqP}6-3-#qE6275hZ}1r zpHED!mh=K28xpGf{f);bEK7S>=!k4=x%IZ_eSWu7k`Aw%dpmsg zOef4%!8(T!vmDogJ%j&Olb1uG<#=;)auZ};S>a}DjOEiV_?Gxz7I`;a)+5+ zm&|ElUu@w{g@^j}R1XYM7w-`)aE@ zA&hpMICp~w8BBEKHh|!m`-o|MUFco#o&?3uw$tPq4hU*Fw5jk;OBWV(YrRiqY2@_B z9v_SKO&hE%pcXLVkA=_&wX4AN2CTmavv9RaL`<8&2Sr-HHRbZ-eXt7e-`8g@}}SOkk$^oeoa-GY$AxJt+#six-3aYhuOYgehh8pu+a6=&@J^_D>+39Srp+?q*@(1|erUF|E+W36I%uM`2g|`Og$Ri z`9cUsS!}mKQj5)K6#uRrFufBi*pOu2-S|#-ve?UEJuqz-fPIU?fbTVAUA8d6(UtuI z;<2^RorMF5GvWdG#71lqF*7d7Kx_f*EUa`0u4(&$1%?)l%W|Pb`RIe`euThcS!wvX zK+$_u58$1N#XI>$silUO`yGxj|Lr733G#udIGw z2W9{myb>^Qan}jpm(hwnyO|dw3C*_rRZqA?-6sh8Y3Hbk{NWtL#dACv`D$ z`ibPsv7aHCB-F8=cp{tkq+3U0oScFZgQPP$f71317986#UBcFVz&O8P=UQUMKKf8W z5#yMXxvV@C%5{YO#PhYdhc%Q(5!F`v3k9lm_kDR=hOnNh!eYC(Y~_3F-LZ#IenjU_ zmLB2nZqd}%t?T!(4|QL`H=Ya@mT)B>F=_Bs6-=GV*9Uk(MBIWcb5JDJsq`|=l-Qh) z*NmX?jV=#Zsq zoRw93T5M%$lg;e0BZ=(@uM!}(7DZ}XS_%=W2^)AJ3h$eM$;3zs zGdOS<$?SPrvv2Xb6YV8Dw#NZCZi&4CzE^%O0iK38)G3J8Np(#yMdl4ZPXC-0BY2Wk zeNZ2_lkPwPpEoa1QOYf5uj?hByzFrxi(tJ-Kx|>t39w^i&rbhsDS+^E^btoexJ^S; zXMpg5g=Er!o%|+_6FU-S(&et=QtNQ)$a?Hviif;WhgDm(@cj-IOk^%WFji=!8*Pt| zDaU;=N{-(e1HAV59*|vE7N2zwY-mw0CLr9(YLkP2EU0Z`a+dP3F@buR-;}^P3)nRE zFm9~i)0b$~1@z7~JZSp}4RS?cSg{`%f`_I~78d)qY&yD*3c4TiUPgyB=e8nYBfj4h zxAzWU>p59%wY&&qbAL!1k{oB$#h0()>yfaB4uw_*?yn5b&>Sljk+8#`PE>XLz`}p*-YSlBccky)N6$V z%Z{2FLqUnQ&2hh(RgyMWZN_Z%8$w?tl4U;O3=6~9>8vX^=G=qKP;#~-V+;B{!fF`6 zZ*30~XT7I5hfd9w$?kgCS2spl)}WFUhu0SdG@hm3BbTKnY+yY}Fu?Q$t~6n%0X*AQ zx4WZwNleR{g|OTYmfT#LK_SK-5|tm2i)S;UE}Kwb9CqW(V)Nbif(gRojUKoR(K53m zUct^;*?9cPnxiHR*x52faJFogwa2n&gT7PCRh%QTMU<3>fO@jdwig`uYA*uve2|@H z)1JDC$N_8(#o5A+>0${%Y`bovEy@Xzh|ZB^wfO++9$w%FA7V1Osf{(Q z!Io=R-geskWq)OUPW%cV0KC5A=M&Qws63#hfUlEyYY&>rQDtM==W8#v`-MR6OC%y| zBJsvv@1~7;dmu#vFzt!UlB;NkeO!ww%yy`<` z8@)fNbd2)ZBLLfX@6!s*+OxJHlrpVy0C^Tbz6k3MXpJPrYV@9^eEi#fBx>@FF*I=Z z2X<=W==;rqO$Gka2z*IRiYP8DdM8Q9EJswalJo^g+E12^_6PADVJ_nsF`% z{Zx_nY%~&`c%q`&J2@C~CM)K0_=l-;>u`BH%nIKspOpr;^zHVQ!D{fKk3>6XV z)R;fQYY0$`qVLkacJFwP6I@Ssiyy~jJunu%Y42#y-aXC@n}$}5&3m`>rGJ|>6z?3S z*N4g;2!{wek<8vG*V}1>HeKz3ynjwa`x7qwMG`XHm-e>Sif+RW*bYf!!_T5%eb3&# zd-lHLM4-Ap>u@Ir<^H(afg*mE_+CTallM&Cu~CgMfNU@|OL1JK&Y#iB_?Y9{u}dvOIDzZ2Vf>>1H;?jJ9jS|%K>6j7buhOc(o zoA!4aUiK&Il})ENX-uX_dxm?Ambd-EX8*d_qOn3r@ki_R$y?44H!OSMQltLHZ#k)E zw59tz9@7Cq>FrIiEADC3ZQ8rF4^}q1C?>p}-X6Ub{A3Ts-(17~SKSzO_cKjRau3v2 z`{|bn1Z+tyw~JrHQq~9YdG*^?&c%kod$}xp^_^;zg5(0YH`E>`PDduekNr)4&Ca;V ztX;L*a?1zTU5LF|cVZT+Ch4+!HXjw{UF&Byx8oHk_M|4n2qIqeWzeIE3E^wx9Em(S z(U|tf7rTlO?V*E+CDXot#_8ZLC80f z<#-NglU$))cq5`v-|*bT8Dbcx4v*c?_RzXWe#E}GOOhug$Rg};dzSX4ptkh;#k`+} zG$C0@cZueI;j-m`n5lGoXWZ4?RG*D)F)zjXHKl0&+oHuw#%3d_r)4mA~Z|Yi6 zANTxNzMfJIUr)K4oXu+7*^cfi$WCfQpY zZ1tHMVB;#rBp0#3pP5wG$YF%L-fXT+31J$Y2qXsbfs2Ixc9cBKV`kL&IgDqrhi!Vf zg^s##n8D*Vc#Izn$JUt0LYPkg(ZsArgoNtzypwov{ShAKxCv{Ws$=91Et2{HH{sjl z=V3mfODks~f8dTpP3j3vCtbE8BfS%YmV$5vZV*_B;azki|B3%Wao|L=H|-fI=m>8p zYpC9BD&)4@Lo%^G;pSTW=5UpSJFO&*kus1?9HkRSbR>4~RVR43p$#(RM{(P}UQ|lB zM|Ve(uSQM2j|8ewdNb$gSGAH=qw+QQ6AAd9ciMNhLxXvue z&f@U|ackaL(}Va%_p2;3{V2>{L1%t~=+^9uyjwjc!|1u6+R|1Ei!wF|S>yD2+nVg=PnrF})kEKZI;PL zdI}=uL8igT)}8{dyyFD{bu{6ZWs&84gE$RyhmH#;oN-1$YNYq-O{>;i&ghp|DX?oGhUH`ia0x8zl*AIBYVCF-MNz|&p zKFvIkj$y57U!cX)5q!82F1A85m$#uOeUc*3uM0bKZSI5dL)k31bTYh9t05~xa~h`i zZD#YpOjew(x%!th#E|`T>_4=ma{dKX8lvq@5vR{3$kdnbta9}ME>9q$Q zB2QQ=;$z}i_d-ZTA1_!8%!9dl9U?)N7Oh!W=s{#+7JBcCiwphqc zf-q0Ukzgq8UB~`aQl@%{*eOjld`sTDX%^HN#V~z)!xww3gWP*=n3ceJR>?B5a=1da zcKm`nfuXFKdo08a`zNO21t0Nt7C(Djw2lM9lFJFe2k~XYcv|BRhH7ghBlLZ9U8cn_ z-dCNy3GIC!K`CmcmdgGQYfU}$|wXlrErIwsgXlzTJ<;Z;K;?l9vFbr>W!6VgF= z)J0?Llvo7APz#Ga{8DvwFo;E?Ia{Iytr_tWHllFe&c31+Z58CR60C)cMr@Ts%XJxA z_o}q{fTy$7neKR7D@iETHdc*6isBZ$wYww>bxg!uA~ju_vNqOt2gK_j|pb`Lq(y4is~0KcF!;G7*bO;7@Y9uQtZ6Bh!I9#AkV1+Q4i z{+JWU#X#{3P%5qpDgB1QB@9Ix<-vRjem}qvPHG@_OfDNPebzPb=4Y-^cJ9FXAXoUS z>OhYI6RJW+l*`^550`6e4)3K(+N8l{yB069^U8i|=7ra;Qr>C9^!ja$n)+KRa4Gby zS1XEIF%DAN&1G*mU^w#iH83XiJcZL0tqH0sVs}O4^BQ+6^0xNt+k?QBxpoyM8N8CJ zjO{XbbAi+Ae5c}fa>=g24!Z_(ZO%oMAw{fWURx8E2J21c4tU|a-& z;$&csM=Mo2#u*uIE8MpL|?510^8%l%v48v+W~?~0h(%4#?Q z36DyVz%=n;eYX-h3k9Qs5`e;FBbh!dG<1+e?0p_mUO*8+0I+T=WJ|iXCKk9N$~ZWn zUI={B3kT|0dNeqpC0GN1cc}R!MGh>Se8sVFTwA1Q8daJiSQp8DS9M9KD^rvZKp1B9 z2uKz*&ED1_(m(<*EMZ_MB(T=K1Egf59`SIjkrYa0uh5WAg|_h^+^p}`5LBHh2CCtD z=z?Y_w7SxoM)>`}8^BW9$QNnFK>VJpZ8V+4cM zyO^>Ud_bFWdryl2_M~e5Wx_$=5yFBYi@0PqH#SY5Oo&W@>3BwYdR^6+0owHg5of*x-7Ju=-{A*p@WM=5v;GVdgT3MVA?#Bkk}QZ%c@1 z!^OQkqLG53hngA!7?ud2f37?V4iKIIuBl34(89)p9#EH;R}|^i{F88&nF6}=gN9kPhM$V%n@Wb=8=6mZL+ z$~Y8WAOp6-PE#f2%Pr`@4TQE z%wf&}{_vbe5>BpMF0yg)#sILufN~v?>kNiVd-{Q;*PS|fSrmY(1Z=b8ynqxTbQ+CD z!|`HcOCeKQ(MdC=ju-~I30O|voKCWkG2#&GFA;uQgB?7GsEfB z>ySbo9cfi%jSiIHdD&Ye>Pg8#^buU0LB}ZB8UgBoL4*LM9BwOcP?oxGZcNhJK(PUU zgZyEoB9cVhs>IC50AO(_jyh6{q?}nZs1p(pqwL=@jtu`2;2e8N4FDYECP#@Pz1Q+Y z?!GAQI?RqLVLgl4Q&n55FC%YlGOrfx1xFfBg@i7a2JTgeURxN2GVO^#1Vhw@O1pnw z17b)ByHfMKuBmv%u0dJ>S=^p~U-QI`p%kD>IGufkQkge^Ge+jJLgu=ct{UUq(fa;(KMq>IWP)!z5{em$~Qxex%i_O26PwYEex1v{R^r>2i@zmc}L ze`&C5`xghh`_C^79^2;g^Ml8?|MuXC?avIJw9oT{r?!7?@R9AG9XzxBGlOThe|qrI z?VlR_@b*s(KEC~_!H;hL*xUQyh1V%W4ysDC%-KBxqA8Ml>{)6WoK8axvb9_fxZm3Ac2uZLWpmAg zZz2yq;3!mj07(H7YlwZ|Pr6+JycQ%kq$*2GqUu;h5f)|`ydL0&{#KD%8*Ca#)#G1~ zTzB$>2MPE({Q&?>(1v=!7YIujEpMEnw?LeloG{lQNPC0AL|`4844XuW{P-+Ij}B^UEFO@pswbP8zj`HA{9ASWfO3FhHmGD(4c%}sw^yLw(_<;IW+t~_f%t% zUZLZrfL7BAOh=0}iF9x})ZW0??1e|?+&a3YHjWnM_9GPz{R|>;05bJe)alHhc?z$m zr(0gG6xE_9?6t7^GLuai3$Gy=c~x$_@Pw*4DkD?`bOP7G%N3Ypy_ilDJgI{w<)!vj{%C$WOX0W-yzD*8`vOzON(-BsWT0%DeD>T2l=LRF7o7=S%+ z9fd4zfgPyLa1kmNjhSKqYz?o_XNXFr&fFVi6AzTmdcuScfM7zBPFJfQH0qILf7NBn z>em+?WB{kB)2c-ZbCS>SlvWNnKQB=h3?qC5c(#Jz2XLRKM8^Z^l}vg5TfOj0mQ7hq=)i&kl`N3qz(>O!sm4}906rlCPiU!X_A>`0+_xUuNr8w!`XQ7<{c@}+#7{I1Uv|iaNen)5s;beh(;r?#r+w8a0@)u zgNI(&pBg_y5uiD;&HlEP2nzzk4&*JUAeeHa;pMivy#Tt5qG0i2o_MrPr?X-r1wF+(|Wbf31fajDr}p^ia)2t@v@-1!vJwr_@Ej#>=)ixce0Rv0qG@^w!vsM`bfvEh!+E z>hZ^P$bs#n%WY#ByMOeh!$-;Lxqf=~Wf?bx0Edco}i##0d%bP?7 zHrHDuhUkl2D;5TYos`pzSbh?d!*mnq`sOt%5kWtqZ>#O{g{pvuk>z+JP#@#DHLut% ztRDXr%M*hWU?r|+dKC~)roOFWX!O_*R(&%snoQ{M@Dq=-+P)wW_Q}4eef?n+ESZGU zOb=BJ(0MN(WomKMGv)PwZU_w>H74|_);v}?4(3wk-^hc%@yPp)9fR#(8MNDz(RSMY z<-z2)wwvwA*nj?m?K!?$*FV2Bn0#h?2mdVVpI;nI{>k=Etq8_Xuj${PAB^*#Ztv2+ zlUv)nwLqBM*nVvL`N6nZ*?xTcKNyTZ_RZ}lv`!fR!;S4HwN4o4x3-_&{`6q{+4r_T zqV>Y~lUKK&)tX`SnJbg+AKHFyu=U!j2fnraF)bg)f9wACCu|wPQsS@r4CQIPh^?Zg zw7?!vDq{JYkz|<<4!z>rMa(ht0B@KxWR2ES5c9!~yQUS{UexrVs)3s47)A%cg9ZG_ntD)f zm6hasT9g-GvoG}2;o@S&w#MVb()8Duil934S0Qtd8i8x@v0Ur6h{MvV--&1?M8-D@thf-<;WdT%ALYd;A9<4#!FWy3+n4E z$Tm_A9+~FkR#u2bFn0pYXQr#Z*u&FLEW=f}1W{`S@WW6UY*Ac9mJX?;%ITPvY9s2F zWSvz_NRfoH{w>ploJp~NZ>>akECMe;Y>pV(r&viklNU*O@krJaBrFQWLD+#*C;JnQ zZsX-sHD`=8L`LfQKcL(J;Zp1LP;JU~Y8o?%9IAM>8pN?=7ZI~Uu_LNwtp$!%5Qa+j zRnm~^AoYmo0P&9^L`fR;UEp4lEJjki=PXO^kvIKGHL+z*93NVK;R7^^+9Ul=G6`gX zG-TOGVAj++14S-fl{_=unZljJy>H~<_OA_w+kdD3%x(YbfX@!u{hhM!yUgeOlI`|9 zE*t)Y3^=r$TK1K4O?z*c|gJFe+*f8*iTsH_J#eC&b1hIERl41?f5l#sA zAQ)HdJmnWwP>xcO21(kYadC>LT*FV{C!~w`3M6EA^g*$U%ysH+;*a87Sz=u}% z8U7%P8;|6RZSD0);2YQu0Mz;jg4iS~VU)~TOCr5$QkiH|;|o#>xIUepNS3_g$@6Q_;Y1Rg!msHHw*EXi0M zA0*wf)|Dw=6Nl`PO0AnEU)JiGCF#j3Y*1G#TTwaHWKWMvXAn5Dmw?iVS5$7!DPa>6 zOzlXgiZ(OzGo|JcZ6!+0CA*f0iLW8+(>PfjO-;Iq9g zW8cSyF5xnVA_nq+XPj5va+a}oHYKJ5w%H`xXRMQFHlJ^OC{~n6TX;$I7tql&Hm8#e zMYbkUJ@_ROp$d})gbAtiUKH0Ox*~2<7%8G-aKznCF@&UtYECpZ#4RN@-|<(0p0vVl z66(NKEq;kQ<-KV;p)nQkO^jxV#>Z_k4(~=RjLyd56k97aZRUTDs+;B zI^>DR^o>G^vCM*i^YNM3NEk>hRb4jCFr*>~PM0{5z3*0pEy{9yLRf<@s6iz0TaB$q z&;|dc!laLkUr2 zhGV&s1sj2zU8@iuN~kSd^Fjj59pSpKJ`^DD+pE~LE>W>THX+PNtpdcrwEMoTTQNiY zwiwTY)2U=wW;LwKL>d;xD)(E~+T|2DSjnC+jD`FqNl?Okk^VsowpB?etZ1AH2Bq42nOAx{zr}ScWAF-TQuLd*i+xQQK&=I*#LZIlvz{5%GA`C^ z6b@45o%NhD+22ZUP2RM;`dYeAeR+EO0mWa`f4%9M@GRh{nOFTm(&Y(7XN`5MT>*3C zYLk*{wfFX0P7w7UCcRO~=A$SgH@|7)*tfT}B7@>j<+qZ3?d zUW&C)-t-oz`j0w&3jesFd295h<|4-(UL&Fc3`C>YJXRvM)X!IKLRHD<1^tLf^H%fb zng z=FG*}3VN}qSmVW6WD-aj2oh-gkMA25WxNkP2%ZL_{``@jo+-AdS!_SK{V}Cfe_YuS zZwx;%D1du7I6zb}BIa}giN+DdR9eG%Juvd4dQxVaiQHl$?Iy3Lu`(7)RXXO_ubAG| zl2dQIDnYaFA#RZBA+MioLn*PHREZf$Sz^~9Qs|Y>k#EzqqQUBAvg8#ZqM)bQv#9~7 zPPMpc*n%teRCPVn(YlNklMlN{S#j8o)-^SSqDwjK4y{Y}DWGU{Wyo zvPsoMSPdAJqrCxewOI3^o6y#2mpF;>jcJygq}T4w$v||W{k8`q33a1^Z9{pho(&xl z<82f;zd4c|IO(n#0W{I}@>5l>Q**6^9XSs}0HTM(S_Frix7v`?m=rNlT<%0cH|>cj zllU_M)%vz-b{(mdTpBgpgXIpJ*St9^-od5x_PWWljm@t&wdhL5#|#LnH=^Oj)W8ii zbxo)Tnmg4?AB$TKj8}SV_@+Na<&+l#H(`&4*4p>i98}@~F^~&zSdA3csdrm=GcO7Y zqtI7RW$mWg)0D?C0llB9P%M}eOisPz&ZZW-*>t9N9?H~7Gp62(@FzsM=cZc>bc6r~ z4b>dEnceEusur2U59T#oT$U3nQnh%3rb@lW3cPyLEo_g?FchRcn{KbMquJfbj3OmH zMupi!2**`~W>YNaSS@Cwo2k>|`-hS%v+Zxc)rS9>b!xRZ8(C$nl+95XCo`qrIrPd^ zDDCMqRTz~LcSjYT39m-$TFhwOL6+(Sn3V=allYrTH|l^PJaR{=u>{<#zN(sfQz0w~ zT36nb_X*w57Oq;Sl)RP7rw~%P4XOvdrA;^nQ3bWDo+p&jU}V&ttALq+{tiuI@0m>Z zk~DW#_p;1(5tGtaC)HtnN1ANb6t=6^^41zo2Dcn8Cif=CWh`QeA5e*A)$DKj=kM(h z1 z%6~e28hy6)nTwyfYe)R7e+D~ee%>|n^X{3SADj943H?l4^_R-2tPlSGO#J+d{KtR& z(SPdy_5_NaKl-l*>6`ytpZ)rrdi44q-5U(n-yRG${@1}^^M4tnXa0DQe(bjf>F*xW zXF;EpLHf_18l>O;4+rVL{m3Bw^Z#j(PP{Tm_m&6gU;NMdyfsLF{Lj?xSM>QGY5R@l z#|G)+>7)7C{7m!o(@*`#VEyACefHUBo_YGI^i+PbdE%+ZKR$S1|9|qyCmw(NvGUln zyFWJA&~^RyvGiEpU3NXY^J9Y#pVEIH+r4|&uAMt~?AY*<|O>w?|C!@lpj-MiAR zX6Lgzo*caQELYUfjyW|*Cu!$+$K#J>wfCewMlW+iu8E$sV=}ip?H=xWa_19+_w=Y= z9ooemb7?N`>UKW8TigTHwC z$;Wonr9C${=iR2ccIPuYb`Sns?e5-X1koxNc|7l&?AWDWJ9iJh^|UoU9IBBW_Vf-0 zRd!5v?fjvgySxRpZ=}tx5y$9L=;{F`SOgAai&tO0MN>>TcTeCN)=H=`5U@jl|Nyi-ixwewls^Jm^o zrGwl0j=G&s?$|N-*L_FUiu&oh+F5osyPn#)!-!!x(UXz$XkX9huK&~Np)VMxe*6!^ z$~!(vJ5Muc<4SEqOrb+#-m|-QIKd1%sENyJLL(|Wi)2wWKlRvdCr7NYJD^5?^iP)X z?b`Xw&bh&#X=FjQdi4&WNKNg~ZE433=_ZEHO_d(*nA1y694pX1DqH>j2wbPw2L9JpBZWaxU!V4j&(X(-_k-dzZKL-FM|( zAJJX^s&DHr-zARz<(qtv(++i0l3vXX{@kZel!>r@fVyl`3vc5^%S>LpalkNM@-rqfFbfdo7JK0vE zdS2A^`#M4V`ZEi=bZO%&+uH)9)RnaOaPR&5C%*pmg@r#+spvC{I|piBPku|67q%A{ z@88$8Ke>MW8;gtoX0@zNzIp%Y`#W^czm6uh7x(IM-Lbg1y1H=x{?)I2?Pk6?`TF8h zi*vf|8{DRr)R6AFer!?qT>aY3vx|!hD=SJzo!qwjBZ{FlpldGhtuCssS%`oH(Ls>Q|C`&Vx+>b_fxi_5F4@4kEc{$gI7{QmM2 z%dPJH*s_(VL4`bm#KwyZ0BD@7`Tqz5OnC-(P-QcjxUt<+MDxfA_JwMfB(ivBNr8y|4CfasTb*TZ>D#R+pCV>Zx1Hw^#1uJCnPMyBCZ4 z_}U{+tT5o~w>1Eb;;x9gyR@vo#QdeSG+ABVy__Wxf3R0mcYoo!x>&jYFW>$B)%&YU zcbD$oThRlnt1BXG`QGxqmAvxU-K;KtKf3t32B8O*-(9|aWAWCFyGwU&>G#s@J4?%V zMA_2qr90`)WckjnJ4u~o$;E~(Q@7`KkU0%Aoyt=Za`|mETtSl|BEUu_u z5q5WZ*K$%%_r0eR3*T7%+T!)acb7%?;+^HC#g*m7r!|G^xSr6*5m8D%vN%H#p z*46dX_ZROi-c(OF_0VlSwY;>VzWBYYhwkvy<4Y60-+TLAI@(@5VdULfUA(<=e`)dV zot5R~yDKYtY ze9oDfBr}tqkkETadIvF}C{1Y=6tICHih>G?A{rFAfFg1Q6%`Qy1wlonC@2OgA!Ta9 zKp;SXPyz`>dd1t#n%gbWGrP~>|KM}OY#Msq?S=Uck2&y% zSeWPZ!#Ak%YTnCEP{JS0ZSiRCOW?teVxrFuj}|y6!DL8sun64lY-sX05dsx=-K~L> zTF7vX{1I+VraD5AlAn^6MXx+uZ_vcpQ3L)ml8B$gl1Cz-46B>rz%NbA&T?kCJXlMJ z8x4hK&24sF;0p;QQ zljY)?GdsCl;Qa-02!Dr}U5d8O&L-c4a z8;K2{_81(9gfrcTXe03S2kv0~%MYV)jb>WhS4E1=y-#te_+@)N>6t!{HxsiBD*3>V z#jUxnd7v4J=&IP4ALPU2aAx~_nNBQ3GGN%~yzV|Pk)Z%GT^0B2q7SP@MLxrqiPIna z0;88Y5qTq+B8$N+b+7;`6)UDbhJe$9s|9xHuIpkby`sTasEy%2B0L=Ew5(m2R#|SI zrn#WObwx#m6Io(dR@qr$3Z;GBv$(lV$L*`W83iC$@ePQ$_P3@Whp$JK@dKwg-H1$0i&{iPV=|l4`WPC1JR~tfk;z}K)9(@z+q|~u$$Th zY^Jt>FjKogsHuG*#MB{RHFXSFOr7LmHgyj0p_^`%hi2*$-~*q0rBBIWuj5`-d>z&B zbyUOGQ7zsSp;gsmOt_HOE19G5H%zZ$jx>d6R^4I_wIo=>@!F!B%@#|DH6g@dvTA1h zPq*k+b4W;Ne3%{Y=(>(~z!IW|>S0zJuOBU-!!O>|LbOnbwc%>t5f>hYBc#_XXRQzr z8Wx620EYu0f*xUsjExGF;~I`@)-ycL!{Ol(5s^_^6mXN6nAi}57cs>4DBF(8VJ0!dtae1(LB#KejfE14@rSGE{*`4-v}W)m_}RY*vz zSgCTADpjjit5)4yJ*tMqWQOT^2nEzqAmqiw##aDYm8#XM*Qi;mR_)q#>eMyYjjV^S zgrL>T2MyZrh^T0ig0gyzTD9xctyjN6gNBW?M&`zmO-QVPc%LG6ghOr|X{*(!Ri|$K z28|jwxut2d=FMBQXlZU4(MmVS^Ge7eI-#Oa*KgRkNz>*nTDES}rfs|ST6=Sch>nVW zx7bbpB0-*5scQ9Fb?Y~3(zHdZHf`H?=+ybvF1Ov5l+;!48qrNN6zrw~o1F|55-V4$ zSqJpZTDED|v2&NCuD9RO{m#33^yt~Mm)NaQ$hW4GhbiKX% zT|ImExu>9%g&d-S@yZ~uY! z-T%O#2Ok+LlnW6s2K26t5vU2)0S;JcIno=XP5d+K`rSKd@WYP|dt&6Mr=EW1nPc!nl_0I(O~ftM9-;LmnMAV$|qo$38!9{EIJ5c=_d5^j91c z&002Bi&8`5s@G{CEO+(kfB)b|hd()b>yxKUoi_dLcV^Cf_uX0AEXR8#T!>vHG*zilw_&r^ z9h1N`=;7g`#*CXVY4Vh5Z_k`H`~5j{Klt#YkLGFf93ShNuf#sM1XcB$v~1tyj$ZvA zczF0zV_%$@{MPiDv*&y;@00nTE%)vPJ;KxUe zed)C+GiJ@1H-F*cufAUK?aJ?ez~&h2cyX*LWwVEijkOy#ZQZF`&whg*89C;~NmJgQ z{o$tzmn{2cW8KEh+de2UsN1q%!A$i)Y59Tjg_U(^r z*KgRkX-n$1^bCA0(VcdeV&ei~^ea}Y-2gV;-fO_%VWY=QdTZvKPZurwZq?7fZp39N zFPm`1n5}2qx4Us#kceOwBK+0sG;H4X*6w%T_wa}@6OyOTp7;4z->zD>VH2)pJ-+Pi zJ9h5O*`@EY?=Hg@6^roKZQP>$ZFlt@^w_B9Cr+6;cm9$UKmPpN=53jtEdS13yL0#K z-Iu55+4s9jv_(Y4B~+<_@OS9iv;RZGMvs4e+I#aBE?c>F!=`Oc@AjR$_Uy~sf8bz# z{vqv<{ji}eQ|Gz#&gOJ7MyS_di{-V%7SMshQsGIk|iHAIv{=_{h-$ zy}*9VP!}48NrFh$YS6Sz=R5k`_wdN)UYRoUg9S^WZA*p+TzLl$9X?uc?08{ekyd0s z5md*?g;`R&L9;f9$^DOvdj8d^vp!n*^$+VdraH5B`xZ2SpCbUbkFu(d%<<_~VRr#(q|*Ge)jbwb~6a zO%Th+pC14EbU63znhjereLH|F9041+&YV4`pR=DY%f^vw)V$qoclCR4*ytCNXUzHR ztCc^cq`I)30-=4c*>G$h4rn&vQ z^YV`#2N#(xUeYhwFaH@^&;EmlKRe-#cRu)h*$?Y~PxtJ|-G8W{@Z{+;!gX1{Y`;>% zh6M+0m?s$U0fV0y^YWWBKV10rkLx#Ocz5nOaQIjelu_5^E7}#u)iP|c6)J;`^JKsf zuuXaQqlL>?{jxdJw{!2oBgaobnQ&dzt~##W$c9-7wq65=j2Qb0*uGf4>enrqSvmXi zj~1SUGU~c|O}pl}E^J&nTmziUC2Vianzv}h>J3|+*}L)%6%?Im8m`f^ z>&05JBVZVbGoCV1*zO(rZ?a*bcI?($*rxs~+IXVGX`x<|R{xW1$w;Fm#Uw>0g(umQ z!jeMeug!RN;5}QiX|g@3^cDWU5&uuNcC{xX7niJ=0!ho00!hv!e^QD(JCjnAeBg2? zd6K+%$BpOABsbo1;o%AX#rvKlS8_;Kx5$ayh%d5`XWFPG>7X$uS(8FwksY=~CB-Hs zBvnqTkyJ0KNm8q%j!E5;dMDkRG&E^s(sM}@lcpxUm-KPc;-qhq)+GG~?XINlNxPHw zCml{YmUJTNbkf|)GAjs#YS52 zZCsDJ6pL@u_;P5fWJ(CPL}-y0qxdx(Z=&2~0x~>0zSm!t@7?jJWfmQVoFNhrTDTT* z4c~I{Rzj#X%xt^FYXE$oHYGrg8FG-s#5Kc3`PLpC6K{$&#o_wF3_e~>Xk@^5>X=wl zj48opLE__dxN$il-{7NTP0=FhI`VHyj;+%5&7zDiZI1Htl>Oelc&Sg z#f!RDfU`Jgv)bvGW1CHbC1|--pCO8NInxl{cXo47Td;w$LeD@F*F@1(G--VbitlbgpDzyLxr%1 zzt90$5r#F8gLE&WR-lq{5N7;F$OTX=gv4PsTbT0F?8k!nG!j9E7zCSX&vm?~8&)gd z@hlOdLE#akN`x)Qo^fU#6N8j8m{ekP2#A74m!%=41QCw?Ee(8AqLgbw!_=M3R?b-a zao7SP6{OM#gqWf+Zw>d3D))peTpVN+IKx6@P?R)-3Zm?GMHS9i2~|9Tc{7y~$6%GE zve*v=gK1dBSd}5F0JHy=2owfUB&||JlDUL~h9J@)pm+#Pg34^l0AlWzl5r}i5u~V_ z$QV&0rX^%Ce}_y(|9^+9s+w0^QeqjNU{la6>ich@;KwejlW`v|_v1D}I;ba=v76eD^pPI3i(T>9jySf68*&ir^Tt#nM`!@ZJZKQv|J=G{dmWTI)MS+ zafd?|z+M%c#rdd_d@e5~B{z4i-@hEmMJ?qrGn~L~%>c#X{lx`HUKSj2I`dOg^FZeJ zJDp5$l4No~2WS@OEY3ydQp-8I#qUq?`J7G?u7$J!$V8M5TrD=WI1718&2tzz&0o@T zwt&{TDwUK_s{}$`s42!*oC|#Oz%HkAXSzQ%3*dWh&K3}-<|$gy4bl)(jJtRTE*AIu zGqM4oBX5)ra%b8WKZsLuDK|)a9lND;Q#A64px>9B;X`W5?eu4ZDLoZAC&GIVG}54Av))10~6gH)!=nThm-4}X!$Bu_eY_HPe(qTw_`{@x?#gFq zGcoqaNM|^2)E0nuy8F81SZUNHL{Jg|Na4ATU_f9&7Qm8h=jJq|7okv;DK1H4Ad!i` zOh+Tza)Dz(CMVLJe^49p+zbkh#Kcu8OJwd!k{-xvAQ5mFOkNH@QuuB}GN&{io=7Br zMUx~icQL8S95FK{G7^}f-t=_n$|_?alG9}pmrRXOO+I6SGz{i4lAXvD)4HHj*v4=j zqiSZF4zkVe{V+<+DY}QHBc^Rp?jYn~K*AE{FmFq|#cGtZEWvj`JGMpDw^ z&Qq4q8kZ{*=Pf+E+36k?9n2B&S7(x2{aE1sA!xwdWSo$h!447$5GM!dqnKvn%mBT3 zs8I1g=72aE}2(!{jYS%kA>J4IU@WW*~#NYiLZ3I2T8bN0CPrjpTOv6q}@n^4}Xp&($G9<;8$}M z;*$lRpBRI(!VE$=VUUn!;gea>m99CrL3e;BmVZF^XW!_W;VWEo>`H4Hh(Pkuf#jnd z$wwQKk6}nYh9dE3mBb^Hj!ZNr+Z7;FTf;X)WESgbl}y$22o2v2agArwqD@uJyzGrK zRkVg!EM}w%wFpyUNQf2xFK-txzRZkxkb=xOh{^Brno3eq>hc#yv{jqY;C3jP( ziVm@g4Y~#rd}B+nV8gZ+r^Ob=a9=j|OkAXQ{HbvF5)Ya-}wY6G@Yu2b(r`Ijr4I4&ONCHIfR2evZJ|!-afZo+qP|5w`|e8X_Lkc>kC80 z1jxUcUNc2@Gk4XJwA=P{xwUhr4(;2vY1N`>lScLH)~a5$Qeu!p8ISavR&44W-rL+u z>#6nFeb=4c@3_5dQkTvh+qG%g3`})uR>Kx~YQb(<Hr*S3uX&(0KC_%vjT_XhRjqPG#iTp|3wefy4>b?b2Jd|6!9fq)f8W6VeedqoqkFg8 zI<;@z{Fa6=uQIGt+qz{Gs3>BjK0eLQAb!%3uln_UU z!a@x-nif9M{EGInf5J;Ijvx2@*k?zN8ZqqAA%h0??bW?&=XNb&T+OO*sH`6FOf|pd zo$}_JZ%j^p?bTN%y!gV{(N7M4bnyNC``jf=4eHP#wcjV$D)M~{4b=mP`5)~Rjt#_*}qO{zXdig2Fxk?+F~=FWM4_N(11R7CUtDxtYO_6RYaLBjH84=Xp0?-^+nnjzJ;GJ_-y_s^FEj}d*<}Fk|(}6 z_Gz&7?{!C)_AQ&#SISCap=sYZq-C5BcO!kZWYNL}pU#^*d*-w^C%yFCQ^SYe-?vA% zPHmbss#BvfLRcp1YaDA>w8Do@h%3Kc@%2}W7tWtIXV#1E(_UV3`D63kL z@hCCzH-}VN_5HGb-A`**|FH6#WlI)*`r+)ir%ZZr%*aOu_3PQKQ|qP;YgcDHV4~qz zsv}k3>R~I3-%~dHvTp6Fl`EDmn*ZVK8E;M;H+uMxd;4_n(ym40y2?Z~$Os3%9P3U` zW=2N(w$v?~Hf~tI_Q!9REt>zqtZB&;#y1$*{>cNBIkkaj_rE3 zCkt18xFShU-Lmo5pI3diY|*E4X1+CP+~{G02ll!hCN`*DjgFN}!rhMD`Yun-&Ye59 zXZt+3SlqN>-KuYwE}S=e`s4{?Mm&7q-Q90(+q_{NI>vdZ9NX{MujhI8?cJNZd)H2X zmM3%D=HGt)amA9)=FXfl@%d4Y4eEQ>ZS9p~Wx{dTaacd($v=2tf8M@5yLN8(I=5}w zu=e|9P&V!L@uP=5)W2uf4lSG1t63!>E-E6Z>zL!1Uf?-;VgZua9=4|(7rfyun zYQ>UI-=8sg!n02d8Q2@KzomZ7Dv229U=U9@PUuCR!sEvZjvhXAAP;Pwj4d11u3Wm{ zgPBuad2Zyx_w~7>bDO3OY6XKRGx4yO?xbBCq7k)Hr z>Z{L>dgOkDqfN60wJ|$nP6^jp$65W1=a18;PM#<{cJ$DJy}P!1(l`CGdd1>TW>0%< z+*6M|aL=7x+BR!g5_;h}?>MiY^PD{cKCm6Z<@pX@=9Ud>zJ+7cUmySU;|yXuguYrO zW5BppE;=si7d+?Bfe&m2hY#${$#$it{Iv3`&*scXesT1$2m6t$5eG~SGbhJo$7TJJ z=i&wMf$jLw{Jh<`O5M2b`=tx!zVpUQ&kTR4e~+a0EpFnv;<%z;_FN*{nbRi=3l8ni z-Qi9DefuOnDuB{u^ zd_!FmpEJ0c1i7%l;1^1J>cyVxG!c%SK5^{u{@vSMslToHX7R`Gfor7F734CO%0J|q zO0IipVUv2w!kf6R{h2Ps)w^5AR{uFJ@AYf{o~~q@ZYqv7bunE-a>&%#q(@w3M#$9O zRFVmbMr{w3rn$mhTCC<_23&tx?Z!eekK$0?O{UU5k>G7%VkU_Bnaco-vAYTtK8m@G z>`a7gDzlLjbWIJhXZbd>5X>5xZZRg$P3uXn ziLtOi4CZkphH64MQYbtGqVktib^ zRWW2L8b?INO+>H>v92PcC)Q}VprA$cUAZnsGc8vE8OdZTZtDzm!L1P;r4A%8K^FD} zl07*LC4B*T6XOm=6-eHg!`C6G<*TRge+uTl#iS7s=UYU+A;5wWXaO3{ z=nA6c7O(XK4R>A;6kC8>3u;Lg22%4BzD*Py0GAvwqZaV-fQjgL5d028)#gAwQ$fH~ zig*(l5Ax}#9egxk$|cMVL_8nNI7~cTA?uhgfdWCc1+2z#LBWHEYvJ$_qTfKXb8`sm z3N{_&*HMsI3mnc)BYF)QMM7k`l%fVG4w>9L1mZSmh;Wy|#Bl>{Am2np8?g3PL9_)p zSBN%|K^?snaTkNhnQ6e-paP7YqF`*G#fqq^5(L}`aJPY66H*p^Vv-fv3@wlcK|p;x zP6MolEJEnHNEH~7(UI}c19^nb;hQ%b_%x7a;NSwC(=ZhxJx~#Jnr}aDUCGD-*68$P zdky&eNLh?s$G!d_bmswz0l1Qt;Y`Z}pqBLC~S7l0IS`eE))_!T5J zY#{M2K?h+kphOR!u=UyJ#O)Fi`QQ*zbPT9-0HhI@5hxCK1@T@en4N|(0)kCEQG&+7 zB)R6b!_tyaCPA`=Yj0PyO3SboJU6&!> z3CSSa?Hn4^{2ANuspuPam7ibJ7AYmI%v4G;<0$8M&=&=!a#S|ef zTqS@9gYuZez}VwP4czTwp#4TjIaBB~IW7~*!f%NC02nZ=LN8vIj8~98oEqfz2ZYEB zI9>DRQ$;2n_h1|_YD~(A-!uvkKUmH%qC}PuDS&_6sBiTY@m2|>1OOkGrb?K3<2YPV z&T71sa6+t%^B$}6RzNrc)2-H9^gzC6KvzlZz>)=LBW;I!0fkhn} z1`!SRe`M3Akm#>TR zb@5-hE|R0M4Vkxu;;!ibGk5KkYx}!5X_gPb-`uxa9+L8q{PVk;%V$aXEGeHQ|MPd; zmw$Gbe|G=3Re>mr|Lr-6YdAX|ZeGh7j~o8~-*U5dxgGzVH_?}mOZm9i3nb5s zG8EWziY>7CWmywc5&7>a_E0`g%g3dBp8nsrDp7YtZh2;jZa-P zXkhzrc{Jq4`#Y>U$^O_{6P6UET4z}!NL#aGpc+o|7S~yl+UR0 z8C5=`R9T?^iBdh~>#KZy{Wq+yf4gK9de#L?1)-R8AiiZ^XLEi?Os#{b^iXur7 zAA^pxcmxXqv91z|_*68?3ZXLtkAg&`A?vD2EU5+?6-^;V@u3@qMUYIIXh=n%#GA<2 zN3 zl?nxAqzshVo=;Iqp2)l*CZt29DU0E-D##?}-AtyTQ-@*T&9$9a*h(S{X`#UZGg^a) zFH%R!D5iwY5Q!L8mS!@uL53O#Ix8AWN-lxQ3cIADmDB_)Qx1z|xezvSGYq1P@=dIY zCFQh?;lv2Asuk5)q!JXBYW5RSIEyr_?!|gjq|qE!7=#*7pkUV&scmHx#}ZW);T!r{ zNcF6fJZflBBGCFqvxk72GKz#-9j8}pHUk0}8g4TSg%)0@M99Qbp3@FUk(M*p!eJYY z)f|7o2n3i@ModMGBDiA?SC*Vc(@Tb<p&JmyfT;%h(8ZaFOBhBiMnOx92f z%BIOkp*>Hq*-tH#8LdENDxw9@CDj6`0xFd;P_#jhIFC0~v!Fy&H$#N+9y|YBj7FDF zbjz&33TqKMdjUmjF zsU~|@NlkvKIb)O3Hk$i53*oS8H;dP^@h!{FWT1R~QCd2y>u)Yo5QjBqgpXNOmaVtC z_kvtlP`exry;0H#^_(}Qva&uAaHwKwpD?M3BXz%3sU8APFjgwuu!B6y^+!X*{>R~fu_5py!P+vr4>>A)d!g58bERZIQf6yfmiDht(9k`|3wB|aBnnJ7) z1T#^F9tH1dW`JfY*7IVSC}klf_B~d1qPV-WNDA?=N)THPpwW0KpV3yBU5}{>_0+{V zRu{LpPI)AjEG|^yV5p3mQXnp(iLdCp#zH~5>oh6_?eOi~4A+!<&W< zh2!j5j_FaxyfRAA1Aybk07wBO3u>GfupkvIGsd~>h|w_BDBvtT!l>aHPpqAE9EGw_ zDGR-<(XXK-ei$ohM?p?hAQMGYsDAM$6V2Nxg(a}0s1@sXrL0ByGR`fsvCa}0@yjAu z?6^Q~7V<*1EhQ0O3RL)ABRK0%Q$4k2sKkqu1VG-tXC zgNXWbKBwxgV$`TJDwy#!ggE-Zgi679mBoT}7!*{a!!P>2q_T~Rs%)ngxT=_?2fza+ zszYxH)QWdy`L;RH+1j7B6{=7|E@d5cl__<{`dnE)3>BHcfF=qslhyb#po_Ktf~Eh; z6z!ARVP4I%6a5gRAx#Duj7B!n{Dz%!Qm{ya)#}VrZw$qYJ!lq^;Y$O#GXw2UcByVT zC>~g*w+>6W$+?v^&9;+Rs8MOqje3N^W<030$C8A>nuZ1oE3KguPZ~P$kQl9dvOIg8 zsDbF08i)pi6jy`}p1@fGZYN2F*5f2G`vOtCY9b_V1e8%`6wKEHr%^U>uhW^9mIJvY zMH7|OOKf3;4o3KoUedtGBJ`I*h{i-d&3D1*VuWIhTCVQbo#$8rQV9=M)6;#r)2zhh zu4SP}R*+OhCD~3X76$04*Qia))z+GE*eE-xDp7_=wZE&3 zYq{~k+HS1##(Hn8{l*9TB(NqNYr{1T#7n(6){kQ?Id;loeYqIJ|ByfjQ_z3buKQ2; z|36tQ?*9haW`J5Fgf zk>&_W1DPD>B^C`k&Z_jFaoF%{XuO%`P#GGkp;aZnyab7Zp!|P8%;)sE)qiEWI_8VwbKq?~$LTET>bwq*epz1q;z8)Y`u~PC#N@)}xW;!ed>LJYt zDXuz=Ulu3RZ3(3`p(QkUp~y;Ujwv~1M@ML26B|`(5M(nQj)_341Qm1T8w}$M{L$^# z@f;7TW2(Ufn}!&cD_X-nvm+KnN7V3@+70KFEQf}kkQE#@2^3_I1fzJfV~G?}YP3=X z3uuv;quFG7!fH^lokWR2hQ%b~g@26Qu54Di3`x|-@R)JA9c{Cl3XDD=FohIp1;CYP83JyaCxh_pLQg$$00A;jQSi5is1=7hDmcPTMU;Vg&w-*4v6h}7APM$xC4ntn*awD&QVvJ37?$Eigy}>q z9if?!gBCd?0oV{`wa42cO+{>PVjRUE(T~GctT`Nnd2%#Tdg9o^m1t{toFmF~N}9uv zm69nM)!H2)_E=lA>2%4l2=Iu);xJTd4|PP_qfMvSyoGY%IFGZx>UCRWgdR~LJXUz2 zj;5kjPe?fCki}lX7Ka0{)o>y-6m5ERv;~T_$D1z3$3PyB&@Vs-k!DD$Xu2eQcks4u zvxZd&tz$eS8^ z30b0IB2j|6vX-c$ZIC54HYV9@LM7<~%LC5;>M~8d=)jc@FOhh;`llt={)DDT{L06* zIle=u;p%}j8oOE%eE~c|K{pV&NCXwU$iJB;mx8w9pwO@{;|(d`4qJ+`AsNdg zi(fbMT);I2Yy%HyP=Q(+qXCk@g&Y701QqZBFYb(AG;wn|VBhglHn(56SRfkc!gX94 z^AcMrEp1pBS;B;CrY!dkUa6x}H)CLt=4{kpcAX)5fL|!&3!6&|6pE@;Us@Kfkg@?m zz$quplAdOW8iA1Dlg)iLFu4pps?Q6M1`oWbF|D!Z9n5qn01RBh5D29BbCm+kiMD0z zln6Y5<)S6ZECEgMOI#C;Hun)+ya84awq4HbEFc^NrRWcOx`7fuw9&woph{lZ+y%nu zB;#hMU%F>vE&v=reQMWr_-$b)Mfr=?a0n1=+*iVrCW?=h{3USkb!`m>W$~P@HhGBOZsE<0kdKJ$4Tj3YT*W3WR$->9}I{Dr^z* zIXE!W=xQiI5|uXh9>wR+Ll4AsTrZ>kx6gp9lwO)@=7bOWN%ssJWrZ$1?wu+EhV;z<){cy2l-sMX(ZSR(y&ht9F~Q}!DjGL>m6h$`z|w1 zVkjpPYBc&z$|TVP2QjNS+KghFCmo0n@e2BeAGRVygF&_|T1NH+#-92ZFP!s;fnV{k33RqJhX8D>8Z@}jC&PnrFZMdaofc>T zhhoW1fipQykDvXHdG1cn$_6a#V>%-nBVFuAGiNI}_K+h*DRKI?AY%cRH2)6Z#V{+~ zhn~3En25!GEGH{$+85N|&&|vCrGQ~`Dtz!|gN;ivBO9Hu(Y`v;9Rg}Bcd-X!4}*Mu zkbAN~4+dX$HX5;lb_cq=hJu!76uJw4bMu5aCl?J9vi$z^olfU2ov)^+oio81gSYg_=+KV0DyGDtUxF3? ztF$~GXjNtOajycTsv0^VB$<+JUD@)xOPMG1EC}$Sn{Jhd*~FHgodXtW|Jf;EMJrH3 zYlPhh!x1hcRK_+4;eg868X*c085%JG8oOCxc_oqmbR`j6cvP%ZC2HBRTkn6pNQc2z zw+YyK3ENxmef&@BJB8lBHgM?3=O+H|u#EuQta*#RS+ilQD|=Vop@O1QXU<)?beR>l zwCj#yW0sU?YfK{t4jnO8*jB9Gu+{mG*&-Q|x{X_Q=-O-GkP%~Fp|*d_W(k3|$k+-u zuuXaQqc4`P{&h=cR?fcsqlG8`ID7u0SgBoeTo)rt*s6=Ro&$zFG3I5kEnL3pm(7{J zoV^E+96xay&IzA()p5=Ds%iB)RWzok{DZoLN%dE(g#lV`xa6|2^7OwIIyaqs?v`G*c4 zIa;6>*pC_NQ2a9@DlVZ)je1QmFMIZXXxQlSuTOh#-oj9gm3{?)gu)@|5?k4_}sx9`}wGiR5+%f4IFyi%gHWDpuO zZQbeiUIPXX8$E8)TQlc;x@g&VtA747=Uze%eONj>^L z@aU6cCnQgs^}+l_%f9__?fMNHH*HDXmY#v@INfP?X_}^IamXc>vRE-yy7#$v$neqQ zCcZgi_J{KqEnTs4)!KExY)JWi)8@@vw(48$sX;aslM0++u(DgveuEwvIp)PlQ{JBa z;in6iEc<5V53ASyv~K+`zy7*G-(df(lnrYfGpuS&j6r*-8#ws!QDa|vZOV*UbLP!o zxcIBDSA4tj`yYN>wQ9At+OdXgnt8k7TpX;d)2LaSPThL+y?^NNr=ELh(woy}&YnB( z(*+9`E%|EcvagpfU!ko)hg;3ZB~IUPZibPy>Qmbtz4|}!@bIU`zBn=Yt?4so&-q~9 zC-XmB@cF_ozF4F!LN{F~%LZ2nwmZSb#40uFHf+|qW73^{1`K+5_^2`CCQO<_ zXU%?p&fE_^{OF^3+B|gb4RSI5N?Eoydo?!EdB95m$7VIxM3es=8hFYFtzL0xl2;l+wbUp z=UqK|^z7M7?-kw~dmEu;x7nhGmulh@D^-PU;Az^TRhzc$J9O%NYnR(@OG@ghca7+# z7&LPpbr}2K;u9)XsaB&_o%#(MH)-0uMa$N0+O%!gUTbge5YZ7|@g>gtO6a3v;wmIo z5{A0<8#HR%tTYFG`*!xpQ!$Q^I8V=OKn#0iOs6)RRUSBkD2V$dBEI?<0UYHAx< zY+PKt7H_E#oe*kJY3S8{CPW%`LZA?8Q2=eRyDUsd&`#ZQmbOW^Pwscqum#N$85?E8 zaddlUUwJE<%!jh~sBX79;==7FE1W_zdK}S1(3~E-+~R@WTS1J@uNK{EhQRo+a8rn8 z;kvSfSQA1bOriLn#T;r$v_|1I7|j(eF(!c2dL?tbDMG8N>0fRZF`C83@hR z1`iO0Fxg|bS4XCSyC$t@QRXabKXKki4G7o`_@t6Cp|z zq>5-^rO1lF@_A51E1|*X68)8-0ErR`2J~-;m)w*h4eE#nKP1vLldU54w-MF|rXneE}oQqYS6WGEz0 zBG2mSX4*(3Jg!+KU!sK-h2lk-#L>;fQDNp#J%qZM_BbK=6h0{n%2;8>JE1mnm==0W zY=BUeu?bR_`p6vGb*!9_aEppUSV1ULE2I=2z7pHX!)zj+EEt85NGmcZ`Ql)h7-fnoMo z(-F!dCI2XjQc9UG*sKgPmHY}d$ZiZC({LJA56L7UB`GvWyOB&ycOALKSkqz2`gmZb$)=x(Stq%z9=p4-0vVcP`BCBLZufpS4;dy z0AL8aDNv7Ok{(j|3zxgOdPnj`l5HS7DD+Gs)Byg=nUn1HG`&D`NHD9pnzDi8Hez;u}K;4g(=~9uQs7x;+jN9m7T1=1d(Du zW%V8vDjSi2!7CvRVfu<7Y9hU5n@%M~Cpc~Ji-jR@s;b(@%M=r2OUj5qaqzzhE<2?W z=|uJf=7^03uz*nQ-G8?ZR$BWE{_c2EY6v zlP(ioykWe|ZU;E@;tk~OGNBlIzzI-8A`N2R06!c6 z#2G3f2S4JDSZL2IPRG?*K|1kifyA8|ZX^&CmlFax1b z-j54Jrlc@H3_qqav|#y2CYJL6%OV3d6d*alYzTD0JnYpa;Li=fIu|xqIyp+%oT1L* zG#oo1ST%T%qXQFu#3yWbr9-rci-$qP?s4U`+Z*aF&cv2WZs^X2GM_@%B?SO>Y!NR# zv2Z>yG3)k(ddyzUSL6gsrjr>}rrYS58;P9j2r4r^N{x&)`LOEj?&585?`XO&GYg}I zEy2haKnt@D%tT_&vU9EqBqpCk6JwSNsfB6Wx4bPK-GiB>@p&_l3}8wYEV2~1ijZj* z9z6R(e0uhN;NLrNQJ#(6+^{kWhq2X|=?Nsa)FkAY6elYQ4EEhx{l)1!wVfw`h66u` z9-!&WX5p_z()KDZt=0vXf>n}{PN2>yaBa_KV()I43O!)UV&(?>n3+72dBJ6c{3Qn) zuF3#Wsh*RcmJ4j1sR2oJU{fGPpVC~EiIJY7j!_CQ{ zz5=CC$(hOfL3nmiGeFL(>YQ#(DPEqcrJh{nT$kcU)*uzlwvpw^^k!%o;AiSb&1~ec z5oDEAX71JP@>~4HYq7ER6!Cr^vLMn<+@IxzZ&x#wCJqeD-VTBt4S#u7S42wvtEF>oLWRui38K@r+A@;`&!YuUfB#Ue}B3 zUkL;3HC6Xp4(JE9eC^N)B9=fq6%9e% z^B2q)D($xB>U*@k+P)$ICk5985#@kJJExzoxE(8dhqkjIXO{s)9ymzkw1mohHW6Ru zFmt?zkp|4(?%$EKD;Hqrf&9ZqKxNpZok>i!Y}3=U^urna{J{w=3jpP=+`S|`dhECu zrk_su&61*T)P6s-Y4a9K%*Z=z4#?4#PGF;y59XXInGZ7fA zFmADBiT>rjua*+-Tk*|zD}PwE=BM?)rfk}pMjV#3umDlij>UXz`9%Lzo1gdD0-}72 zmwdHs`8VGIm;@HOWgBiwDWTSnM!#p7t^ZYffA5^R!1m^S{KcJ9iUc)3GV=yOcYu>6gkoI zsy0b`O?!P0@w_Qh|1upg;$P=}^vP#meEBuO*_6#`PH*Wp{a|7iXfU#<9I?JpZ~rl;dTw)f}VYrofgpMJmgz)r$B|F`pu8DjuF6A+o$cbcQfCv-Jx~Q0)*GISMR&~0&aZZp`n6{j(_>JDbr`o z`S|lMVc@U7r;1O+-uHG4>uBzzclHv->)P%1?sxX+eRsbB_dPfSe9t`p(yMR$W#;?y z7A#r*{f%s`LR(o{Yi+c)zIN?9bnJZVZC!5%=RN)JdvNGuBc2{Req!>}cmDd(XW&~C zjK}Uhd-m>W657Oki`Gkms&(7;z#Y5ZaaXT<2HgM9Bg02MJMQJz-+CL2i_0>? z&^`4+>zV6o4SWq7HEIk{5a?t3j<+V=aaZrY_YNBR_><4Pa5JNiD{GIoC$xsSrdCU< zoke`GVdEyvTC{H4@z$>0d)__Zfgz8N6h@dTE{dr>th3$t^bDosWHv_+c^ zw|2X;cmMl`fOXs}$q1_&4Po_W`;pMlc7?>6<3$n>cyeyK_EXs3w~1CcwESN6QI`0x%Kdj3sCZh_gC?-Nu4fi_XVKjT!&y z8`EaZ{X{sibhhCvk(KTD@9>9PjoVqhyvG%ADiGd!z{uNnO6uOb{{usZjT-ynt8Y$M zyx*@`|J$am>6tvqWoy|XM5S;utyjR+1c1sI{}Lduw0`~gC@c%xdUN^){j5u+FiSD15Rzo#AM=2hBd?tpwnaAP#jmG zVwLK(>o;!R25E=hOgk8?bLM@fvN7wCjM=<3b(_A;YBd8Sb<5q%M9qP;8=P>JoN)Dx zX*2(79n%VDxgnAB#3kubR%VH)=2voB0|b@E%&-+Ax-4?g0#`-?@3mwfq^{*~f%mvAD7 zR1&6M{q7t5=o3$k0c-M`f0=(rO&lYG4%CJgef|(PfK$_9u9$aycjd<$W z=U;qfQZmlXGv0Z3*6hE&KZhS5+6UNNgKU6TrB9G_lx&hQCGO~X50W*HJ%Kae3p`0D zzk$z#Y18>hVtyyt%3b8GfIxQuiqi?W(XE7KJ7aEEu~!Asi2ptQ*YOT9eDyN;Eb?it7FGrKzbh_28z`}Q2}~B+jS2u&%9;U%n*A#1?Li(emSt3wghDSiK8EKBF@Umi$i!f3^9*Q;K6%!@^n(f8b5Nk+GC~(iBhN_*A$NeAPQZ+fea)JaMeV4Wk4|w6YJ1foZF<9LJQ)6vTPM`W`IZ0YVE9VS@-0F(|UE${0{#IYVb@ z$&s?gBfCvGSiY+62InFd+9@b2kt1bO5M7#M?#PFWC}F`sn9o|ECU&p zi&f%ss!jW~g4hi&PUSuZ1Nkn6on>z|u6)TR zpsv6Y)oF)-Qi8aO1%N3)1X34qZWlH1QdhxHX4wkPV?tY-{E(!s+lz_NsBQa@fa^I| zHRY!OFHkHnC)~zSD5$}M*p4pJ_(O#44!zG@Su?kdl@iHla0if#wvH%Q^hO02h7(XJ~Y81{YdgImv1_UfXpurNw=!j>K$f?TB^C%%g zB?{YsLT>AZ@z{!+2_*WG(ofL%C~Uz0oG$Fw16zh~GW+nPT;}2e z`VBx69B`J-2*B+1pn`?lr~9xsnxiB$LP1PsSAk%kZb6n|0N__VIe}h^G)Q}DQ42W}a zrq}LOcLlJR3CB~0lnd!PKr$d!?jpjbym!gx$%eLU?4$Q#Kpj{IGV=(9snOS67$hQV zygvo@fr*70vNBP60bXqb_N;P9TnJ3+z$&_>N~aWpksHK;ET_A&(qSsgFX&z{krY3y zmBK}HkhM4v35+9^A;>IJk&RnbcHn*xT(A_U`NDiSMPh~plP6bY`ryRrIRRP#!$6dQ z>Sga?X$OGK#p(VqKaxT+O0;i}EE>);OdE^~s)RUke-II67zP_zumN7BIK!MWu=2!n z15Kn`^6WX02{<3S=25YORVt*!gO+1cy5u~-Tef6@5+W2AuRvuc*ZoN#O(Ka&kQbmBtj|MCZAX2^882)^v=zs=6X2 zHCPS;B^^Q$oM5JsX)>6Ln>5t0<0c2{Kbgk5H!LEw1-Htf7zYbe6n_kRaWbKwvJ~Z} zJ-6mW{!e^1yH2H{`ps5WELxYEvX-?kw3On>%R`r6QmGoQ{~$0N;wivV#LYe^mXYPc zT?{A>lT*M#Knh(BMe!y^5|B5w@kD|L&Q}nH8BNgmG)p+;WW!8V>xhh#17tjf)s7z- z5;dzi1&~1FJo-aMqofc}2^Z$(S*oEzFjE;*!B}$e&xfeoRIUg&4M@SA&;Tp>oEBvg z7_ehF5mky~Slt07k!T`sU?S)j?6wM!cQUwj_uE5PD2)<5c;F1`Y&SiOJ#{JC>y&z$+=kJG15X{W3w zYo9oF`O>9}7cX3p1AP1B$rC4viU4R@j@LRy*(c6}1stbNo+v6TJbvt0LBUb&sO3n_ z!`cPyd?632W5@(!sBu%|KNfBdHeS5-3!dfnp<_Z zcJ_!c%kjg94j#zcw|7tO?p?cbcJADv?Xdc*Y}fucOz9AC(>4J^H17OmbHm% z_Q6>g1W`FVvc0a1w5^*r{`TwopMP4jdex6VeEQa7jk^3&??zg@oc%S8(p%>U%$c^`f-ckZ0` z-~X%jSIg|U_jc!lbkD9GP`+*RZ|m3o_}z-7OBOEpbl!(^-=F>7teNk;{q~IM)2C_E zEPsiex&tGyclSvPy@44shyZe~? zMD+Gy3et(x-+zTsUw;1aoLSSSy!P_=v7?_H{^-z$9=LB{zrJ_(?$xu$U3Yfxe#afR z>$gXA^OoWHe)*CG^WLBNmp5L0>G@~CGUUPg2K2kTcaJ-}-`=h3ZMSu~_14avJL#Rm zJ9^=a;r$vgefH5`-7rs^t$Vgu3b8JY~QwZtClUAH*40k=`H##jwT+i2vnLv zprIz9ox5Q)uLI`TN*cN)UZK=`g(mwJ@;;`5yiEZUco@< zdf}Ooj}LiZz}-E&cfGY^+tw|bHEGg*qR*h;^t5mL3sba-MJ<*on;^}~&#cC2Q{CLj0(oD8Zr`eTlZN$b*Q{Q(a;3zCgbMNTaeACB*5%L6!ph!;1;)v@@RPZ-roHj% z_%Wlv2YpGM+qG)ixPG0Q)vHvh2&TB$m>2>AQK)t0b!Vn;-Spe~HQy_~>2FSYaqOsJ zLm%khyL(cnwk>aISg%&~s+AHeNR0v36VM`T;rKwt87X!1#$SJ4y>j`N3qSeby%}## zdg-~RhCd9(JHgoEmWFj}R;yew0enWm0u2||xXUqp8%{tQ)^W)$`5cx)<4eyyJ^bN8 z1NsPKlLmEaKw*3=OB!I)6-yt4g*msSZpF!M!}_0Atz5Bm(PvmLH!yZ=)4Xy0+SRL6 ztPp2ZSU~9oJv1!D`TNEcp6=HCxbmB2T*iN$iP*e27N!oOsRkp;Bb3y82o2Fg!mLi7 zMtT1GZpE@MzxeFqx$nI_b@D_6RR!m^j;)(Du2-vCL#2H)OLabJ7vJEq9-@0+8UAFYg z#W?GIG2D=ZeDS%bM?Ct_y?uM$erx+yO&iv&QMDp0#V$E)476I%uL89#onL*q zWbvXecvAi7gZJNiXZl-{U!4Gj!w}TF@9NsQZHp!iYF8IaVJP{q|$&>9yLH{4fu%PjKLl4-p(tuy-C|)Z_ zW*M?rw2G|&*h_Y5o9)M8l|jRD#Nhx?aSz+SNJDJc0)USq)GuuUng+~{f`GS$m=u7_ zO~yz60aYxE)Dn#=Lxo+ugzw78iUwXQhL?~jeL@xim4x_0Oju@yFbX`b{F6X1aRZ5p zED_MCZ2Pt!lL6uwsb8Uq27+n2nZ_Uh8Ieic{3SF5zy%9df)tS&nIKVu0re}eTYyy+ zdV?%HBE}SIieqj;!Q98nMoXf=Bo2uZ;2eNSdjTne15BNa07oy>RI$XhLc=v2A%)>Q zganfrK~UK63>YWTS#d4Y#9^_p?y?vxV+<)lYv_KcDFz7-sV+>Ulwhh*h%PZW3_&y! zC&3JYkrOa9Va&ozQP?<46u2O$3Q}k>j6seMia-L?H>l_o?4%(gLe$vc65(3jB|xWx zIuwS?5x1EVQBoPJg27|a=Aep5%0W^N6crJCeB|l&B84#%^$!n4TxHJKF}1>p3{y!F z_-P{u444`c0N?{f=bay#{gg^$&;`<C<1j|k8Pe)@e;UwOX z1$W%&F_&U-BM;KTD03YbV~N${^$J>|Ryo;R&Gdh5v)b@~vA6EOPRCj_Ko;<;xeAHt z0nKx}eW;j-iBh`Rc28?!?#^ON^pekwav}7n zdkP7`1X)t@4HgH`HC1<+P7-euh!0gx06@b?T$xnMWC=45tSb#1)6f0kcso3sw-%Q-Aa5HD)dWX&eBs zoXKs)+^IaGcevC%fYX@-`sU1H|ySFBB{u zf($(Y(i{y9yp?m|Ha@ls|Vp0NP4 zFbZceA%crg#Z*F5WZz3J%~YD{mQ0~l7G1&j<-X@xSS>@ea6q#j|+ z7UMWS3?|HwV4WT$T zeace!$4F~c@)bHlPy6w6IZocX@!c(PgKUJi5_e916~YnE5woNQ_W{I+7vU#%6(FiV zI6|7q{qzFto_5v-AaUQzn+rMK@g)@y(r|;4#lX9Z zpmUybfsTgqgC*4NiZRk+B#-RF-;%Pw z?eqQ(q5Ahz;sLKVV#_SwVL**Yc_QNo>kc;PNQ6bphh1viD1y3a|oN2^)t>VLIybr^|t-z1}kvCF?2zAX_7d=Ba z2gTZmD+6jsl^zDx3s*DlN9Bn1$2a6fVKol{;04)4jxQZpMx3uUfb;AN$Q2rV4t4Bc z0GR~=fT;>7&~QAM0otRKfe{Z>64cG3QInn9lvt#vSwD@JlTU!ONkven=ta1%N2c~=%aPfE1%5D~A)DP622HWVg zO)>{(9MTe+=p%9BE~A0Bwx-Z3yh2DhndsX^M!Fe-s7D(~`L$KMtX(Rgwwu74146FA zE>i0qzzQV?05x)WHS`Ft<7p>ILk-C}C!Ab!&Yj?Lr{E_i;N>P7#2cyj&bdAkjP49D z(AxlB-Wv3ymUm|udC{3+z$5UF2H+Iav?J4|9a%y<>Wj4{M4Zs@ARIg#3Qib!Cv;{Y)yo&ppE-H#@PU%T@N#RTvio+;Xw&RLg<2nI_3Y{u z3ua6dtJe2e)w*lVJHFfBetYxAwJZPi&AHPjs&Vt!v-_hzy!F~k-?egKHQ>k#THUI% zsx0^J+5O=Tv06S~_toC+iyp_nYxVT<`MDEEW%ccPpVb}r9rLyiv$}!BxOCy{shXpQ z_7@lY<-;Anef6iCY^y$E)c_1jem+hFz7 zvU#}^MrP5fY3c*4Zq!*-_=`UOR> z)xolT|M}-Xz56e(ytrZ2(z!X~M`rf!(!N#Glm_slVuZB1>4rS&qtWF{-<<#YR893^ zd}4h1@gLv$%`aZu@Z^%Y)5nj1Rl2rv+g8`z*Uf7_kvYFPfA;jr<3|pamlWpz`}@Ct z^W_)vo>)9*+PL9^dUd|f>Z<#ydBrCJ=lQc|zCyu_gZ|=z-5)xSl^G3;u@iFj2%Lq@p zPnsuuTHvL0Dw5i+Kfb%|wXK`i{dn=5>En57WVC7CC@B$WbbSLbkGYST)jkNq5Pc!Z zibnY#AMAMh&0lQUwED4yk8la`Cf|E`nTOqn%}O6N;sYoZf{(w?c7MF{y?4;n^XpeF zn?LhmEJjZ(JWdUv(aX)oJm5ZHmLvX#$}nV>0>~^o|LxtkUVnMZvujo^o|7|i)Zl*I zJEnyeURz;1Xd?ck2ntJK!Dm!uKX~umx88W=rOkP(mOuK#spCdu_UV?kAuKuUtGgchZ=l1AFOdg)O1_tNX9!ZuJ*GB@&3g zwzRVKC!5whv24MtspCds-8;5x$!Ue|p{DxC{gL^h+UbYv{Qi3)kGw(IbJN-1 zGjYt&LA|?Xv~7VigV%|@@ahks5$#ah{g9x4|2CB4*CE_)*{tQJ8I#A3$nMvpQ+g}h z)-XVxyYeQh-+@N-minz9di0xb{Q9+5Ubf|w<&>Jnj~X&ix@uw%kY@(sW4D@^3S(IONQdRX4T4N3vGQ0q7NjPM$ml12B?1K{+aob`l;Gd{^C!b-~8OB_3NHl zwQ~951+!;NnJ{K}R==K|sT8rRumP&)z$1FLY|}!$+^G}Cjv6X9P~9jH-P4istgx1=Wr3wj zmO!vxFmKKyGjpa+8aHMH1eac2JElXZ(_&OuKPqN{IbY3Fa}Pnao;5Rf`c#O;V@3|m z9@w`hOhUp}-GZAcW`>okaw;fVPkwmf_^}U-8Zk6`P`}>YJ3|a?!MWHld0A}AIx&;1 ziE4rx{{=+rF{4KgA38W|V87lyx^`-x)*8|pl`fgRyr+cn)Ec8bqpeYDq#AJ;qV zQx+`x0!P%x>|NEXXU`tpAwPG_fXGX^whY_Ryh3=fuK0U2% zYiSMP6ndm4TW}J3MA)cjSnbVp)$YqQ(VJT|YudPxh^!=t5N@Fx1GA^lxQ(N=YNcAL z7AHkyhKehCEc8*}D1tg5+hTv-%+XXeQH@ojQ>kdC)m{-&*)VuiP=btlsg4w+B_*q* zGt`kaLS7&j=v-e8rbA&5pX2}}UL~r8vqF>yd|rADZ{;)+5*z@_n{nrC77E8DE#$hw zfg+5=I7ck%;(4fuT(!ygTyi9);PptOJ|Hs$ZvcM}(hx937$tc{QFK|mP}`5B7(8pD zy;H&29_5U*B1}AEp`BAj8_Ap?esT~gV>EO|;s=KrsXRuCgH0ny$ua4*+8RfkLi>NjJ zuZ!#`g{6DIqZXi7Blsl`1LOM`{zzoq6}hT#9U?VIVhUW4tyqu5a(jT}IbA&i0 z6%*@eYTUrsWN@rT5f|CixW+^9InI@RG`*)9g#)Eyni^Mdw+bsq5sw31Yn&)&6@_-q!RB%L}qB`gQ#1Ozvn$3T69@d0l>R**f=c?j4yDExlR zi}eCIGAtsQ3}QxNMgc>Py(RmKy?fz1#5biy!uv*=pqF@Sz`My**sg8%`r!QX7XjVv zErkgwBB%fW51g~qS;i`XAv*Xj_90Y_3d{jBw_)D^pMdu5D2ecqihV>=wt4vK8Za$L z;Skg}9J8fmAf5zS-%+J*G_SUsV+O*`uvy;~-qJn(z2!wg*te_HgT^O9jWz5$pOg^5 zz6%NaMv7}`w4YRMF!eb@;=65ncYff|-n|5UgGaGn6-EbQ&`dDja9@$$O>zf`;B}a9 zRps%u!|(t&XWGkH1}yUKn{I$5ul?h9tU+4*ip60dMaobkfd7({~8|3WNKI#_9U>bV&{5d+&m24)@X!g9rc9eo^1vgr z=MX$<&AT&y9u`)^HxF{C_{al#6N$;qTDDE^(4{-_+_Q!Z8wrTO_z9B)Jvwdr^cOap%D>E5cEt5ZP&k z)OeWn>f3L?pv-LHj}kztMn;U%Hp;4!o-jg5*k*Qmt2XW0cOU{l*aMnCsxqUpaPN`T zKcdHmIbm=~8YkK&Ej^<{r_Nov34oLYQfD8lZ_ok+Qc07xO&X>K5v1*iAQc9w>Jrh_ z>P8+X-{52Df_c>(6_}+=xeq}|+orW6h1A*JnSpzhkVOSq%I1>nj`m3J55thER?gND zZOHQEZzF(<>YPi4G{j3rKQW{*Xxv0KaWr)`i?&;y`VNMa>Hox#s)mjfqy*dTz8^#C zY!ID9CaC-tlhJq9vi1Iq@Dy%sENjm-e5QfgD%J+b;f$)fceKU@C%91M(a4F zvB=(JPB^ykHiwkewqsFGOFxUq{HZC0$lVspER6W6?NKn;3K!FU;_W5!&R^kbPXUrDBoM8VX?u>_g~)i8xP z!DwuFB&bG3-(plxtkK-Sy-cqwLUV4z98Y-=r4=4j)7*%W!(9so)g+^l%Z{p12{$CF zCKXji4Ocy9D6U2|zSF$5k>@^c+{8yJwkaY^$+i0BpU zDF6NdIuxl=OR)GL=BFR_Dn8-!DX5&(8D*^K5jL{9@f9;us!n#)X3+)%T~JpS!tf#P zIk7Kf*LXm^gjNYvQA$kPwb||7ux&vt8APwZ(Wj+R*kH=CWg`^``#0uug*47!Z&tCR zM0qPEd62WjT&WuSaTu1CzDKO2;00bV^7bmR?JR~L5{-P2DY3`XC8Yx>ysWD=QzGLs zxQ#ndSS@5sLEU5l9NF)JW+f?iP%QlvAR#Df>6JzhRg7Ay=vHxsuShgbgop11U5p}U zd07Fo*~EsDH>7;s6G|wTIZG>Ti4*S^ab(aq4w(lf<2n9)XcKZaNRO6Ki_*_wP_HNwZ>T;!2WNq ze~(?z8EwBSa>g2w$Tl>+C!~xsPGe;1g;j~hQp&P`v>Z@{j{TZP!VK0neo%d5%9^Zk zOlgykbd-rslRaMY1A6ps+^}IivWC{KSq*3G%Ey*1Su}snteh$EtxD>J_If5sEIfQ^ z+F8iZ^xCJeX)Am333y~5UjdiwqDSY=`QeOd%wdsSkIs_P5DME5xdEdLwai@VU$S^H z-LmuN&SnzNWO1`*Aw`5K6v6xg+s%qkPO#{)jeuiT%?Zp#I?;^W>C>i6ngD0(@WGk= zVTEBz9z?k7lx|Sm;c~5<^6AsWJv(Uv{IjD+4nvL&a#*@_NN?K`Sr?cbJ;&mCXJ523 zCz|lks&N%#fAA1|v?GQM$<7=ACvCUR9ne#=#&qk}d1-@I)+iG`S~a|qPTK6uK?C~1 zOWO^(GHKdIXIn^5;&e6PzH?@o@X=PnM=Oa!OycR#z8$h;Bmo7TaA>w?lw*rFYWwza zz)h=qRWYfk8`6Y2WTfl7nno#f)M7SpY6m^97EQW!b#^u3sr`Z(MR4l|UA2;{A_jCG zhu$PqhR<+{ul8tK+c0M>5@{0Y{Gcz?_N&r$jNkm)I9r?Itv#W=wM^A%kjQivI(~wq zp}Q8ab+~IyxNA=~N)5SdCGSNV*12mvMkL&|X3$-m_Vl*f7e|bYq)H8t%|*1 zdvxFevc0ERS|=Q(t~h7NU8`JIq>w3=Mf-D|Dh?ZlI)5!av*gCpGmAS8{Iy6+3HfX3 zoketURD}3zvB?vEEp8iO{@O$%-WlO=ito085pVlzagPvxErN96uf;t=;T|Cm-Xp@j dd=L8GFpO<@tjB|Y#^aI2Z}6ub9?kj9e*@YBOLPDL literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/editcopypaste.xcf b/src/qt/res/icons/editcopypaste.xcf new file mode 100644 index 0000000000000000000000000000000000000000..8a0e8fba1d1ef0e9cbc42d61ef0547e6b4684fd7 GIT binary patch literal 153729 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

;k*64YOQ))ip1e?}qnt4S@Ny)fMTuNC$_Q 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

Hus%deRxY}GF=dCU9TY(+H5pkbp= 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 O1Q4A)ogO#@{rWdtIkAoa literal 1458 zcmV;j1x@;iP)Ah-k0b!!>2u`=#sX6F{*6jNk)@_~vx7?lsl>Q0C|FG!;2p|?1g030pJ(1Q6T--+=)H*9-*m(hLmC=CPBWtKbg!#_$8^sb9Yt z7@?M9&F26Cgc1VC4xkA9{RfH@hM&LwG5r4XAFon?0740Ye?%lUqQFOBx&fN?SWf?f>l?CkIa333F;F@Ht>0kic#27Q@-3{02rge+RLnKdrXHxU#$Pz(nE z0mOs|0f+;L#s7dw9Ar5U4>uU|@^Ulq@$oS5^Yegd2<8UW6%6X?s{ZrlZ3JZ}J|JdB zb^t&C!5#1e90k9L#{Yoj#Q*<zgHg^ z{ylvQp<(#lCx(CDeiD}>fl&ae=|PS#Fi>WYmX-?W?Og$P1V8|>pcW#CJoEoE(1Opn zE&0ntTomx~ax!e%bQ~NKAjg1cAt8|fpi~7YGXVq;3${}1|3_e!_=-PA{A2!0R1_E) zse#kMj~~C`>TlnE2BP?Z_!U3^p*r96Bh!ktgJu>{AOTbVF71R zq@)M3n+YI*P#geCZ2w<>Wgy1nzhDOtR`>fiB&0wM9wsJ4p#=i~0fg#+k3h?R6IU4h z`|}sCJO2RXfByUfwh&=C1KbfX01!Z^QSjj_BtH_9x>-;|0A%Q|Uw?r3FW7RJPeD0= ziHQ-(a?}6@2q3g5AigL@4gr|O2um@2jO++xhXVu<)?7f81OEPjTMo)vn3gi&bOdq; z00a<<13rBG%fQd|kGLrK{RbS>kQOy&FynIsvI77Dhy~Gx_1#Pm2A3^067oFkA!03d+i4%mI; z{^0@X4m5=wB`Xygz82q0ujK&k2jwEfP8UQwX~9v;E>AcL@5 zhTjp$Apj6S=)MG{s;^K?por!80W*kHM<6=@Ab^<2ZFhny807u}$TCQDAkz>_(Z!LY z03d)^$ZmN9tJcexA2U37@CM!%M8=@9;UCbum}38d9iEqPa{vMi0Q+WtY{NEovH$=8 M07*qoM6N<$f=oDrEdT%j diff --git a/src/qt/res/icons/export.png b/src/qt/res/icons/export.png index 1df9c2398d3b579d329792fef85b3cfc5a3b8340..b90c020c27eb225e27425185c35f230fd6dcb5a7 100644 GIT binary patch literal 36776 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 literal 2148 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

U=}pCMDHa^^pSA0g4~yW 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⪰@-+|fwv6FHSOVpzl`rR?$eQa{AA|&nyBlnfqJxX5&zO2v1b5QtT${@%Sw=QO}m?JZm-Li7#z*n)$i3 z2pwG0E;#Zs+Z$Dxq$`hQdL|E1m&xO3Gi-@r*do)GY)o6~@m!~8yBy40a_#x93oR72 zsiR{}6P_vcjMvO~)B{V5KR9O0Xm$-faQ}UPv3HCZcI!<;uD$B=fnck+qOs?zJ_=OJ|IG{gZ>zSwaK9MM@Y5O1q zN4QM_uAbcC28S=NxNMNYvjh5r&-UwkhCIfPJG%Rk9Wh@&zzaQqD)}gOkq<)aT`>Rr z^UejMHLLKGdf^n_?MOteb>tZLf+2h(kEW1svpJ}p zfwgR;F%NMeu!0?f0{G*I{Y^s}iO@V98_WQTsT5d;8qyHgXn-j_m;94(dOMvKr4h85b7b6N# znwc9-!L?rI4l^=M;ki+4yJL0mS^(FmbmN80a>oI$Wm^hf+zzh|^De84GtvyNBVh3ezm9X0H>NvM8+*K&_Ayp~0};I-T%Jnj*8=pIoQ<@>GIp-^Z7$7l}y zyO5)gUhwY-j<$M%?`aWUc&mqd32oV>?Gp z$ZvlO$MBGU$Ow+RIPMMkhmz*dJdU4<2My}bh~sIF=Q&>Dc$MQX9B(S`yv#R3t!vtZ z+N3^NyHD7WnqGYB|L;6nQr75Dp4X=)FWToi_Yc_@5jPwb+$rTU%ybUIz0ajk%yX@r&306IVvFtoBg-+E9-P XsnL-fCCQ)ME+%k{=Fq?2yo3HPmJk$M literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/history.png b/src/qt/res/icons/history.png index 10ac0e159228d08a8b4425dec4559f19583db936..830efcaf6f7474b17d12d48560f5fa958399dca7 100644 GIT binary patch literal 27177 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%0AT@I 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𝔚` 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 literal 1727 zcmV;w20;0VP)N<=XAfi`WbBV!Y zKTv}ert84&6An)`#;^abfN(3R(Irr0_(EA``TFOhIbPX<9vkex_cfFGRJ|xq9;zL@ zyvpaw{O)e4Xywl||4%i?zKPRH@&e|Oj|fPqrriWZ;<+`?jz1AxVA^ndc>y;_V}-Qz z^o?Fbe?^aDeWgkHEn8(@@plaWOHonr!#c$}kNKvUEuafh3N0=#U%6%CC(Aa(pcnAj z%VP_8K+gS;ZO;_vx4#@MUFFrhxg~KQp;DMC^^#rHp#%HXL*F_lJKho2ky!##3a6Js zc@L`lAKNyb!6={rX|v(>-qp#1#@p%u3BJe)~u8+fLFLZR!a6&fD zXrdoTn-QpJ9{lGS5M1s1UEtW_2RvJ|S0ur(;eNnv!=*5g3-0Na599!OVEEzM?-}`H zf<2d%mYY~-fjct-aYX_FLIMOx074*P?}b2y#L4#f&Z5_X>%LT=X1j6(1RyDa%OxSp zHk=$_0gwrVfkn_>iFLW1Bd3*-Q$C0raVVRsQytZLz(j+oLjB5E%mX0u&YnQNjy>+*#o1eIfKTK;uCo@5R_(?`-cu zpN2O9rY(@#V`Hhx*Vcb7x~KG+F_}yl834Twa!P_o%L;%z;C@>mAIvaZe*+r-K;L_U zifVWNTdG!Nr~WQ>I8uUZ^4C{yiSA$Xg)s-y@P5!QLe8Vp@CWQm7KE-VkX{7-`{3#? zFfTW8`K*)j3sT$Bq*`f0CD5JnVVah z3nUu*aCuu${6~piO7Qk^@7=u}dTj@K74R-_3lJ#@SohMtW5edi-nCmJ5Q3rGK&wRd z>JStxgsws8839*2(ME%+-vqV1T-~)e+vN2c-_WlHlGPJfl|UU3P5C(%0)!>Ku<5fS z`!;PImC1m?Zg6zLeWd}&2}5TOk@qLL@opNqSvrT$`i9Hf;-~I!mZJGirSM!laoxIi z+phsyY7L1E*EHoDn?F6WXVcSD@O0?!0B7$Me5nkvIJERI-UNpZrcb_cU2VvAD_Z?T ztT~COYSn3O)%6fy0)zIKlmvtT%amVu{E5->%})*^f-uwto&gB24nrbI+nWX-Ty^Ug z+m(q|Z^Wv{h5lBnO1pi^0l)wz{;jT9*X12$TSi|lv*G=n;2o0)uM0sS1DbpJQ=LD) z`%I!HV#XSDVg1>z>G*%#6`Q8~#Wfqp4wOAL1^2^1C!|Fov`B(T3_8Y1{#D`jh;(XA=jzbXoK7gPp5q#K*dQ<1hX*aj-_{^?5@?=d%yveTR=$y_4 z4yOpnE{mZlcmSE;BOw@z^OyQGb{tf$bWg_XRbk#XF;H%=>J3;@a?wz;Pf5ShJetVPJ6H1%wb9aD)GH{0)7D V&>E0bEnWZs002ovPDHLkV1iUoI3EB2 diff --git a/src/qt/res/icons/key.xcf b/src/qt/res/icons/key.xcf new file mode 100644 index 0000000000000000000000000000000000000000..eb90349667afb0783a7adbf8f08bc63eefde1d61 GIT binary patch literal 117899 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≶q3vGK%dl2nivg!CTUx@j-xk4U@)MfZi3E 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/lock-open.png b/src/qt/res/icons/lock-open.png new file mode 100644 index 0000000000000000000000000000000000000000..7d490d2687ade47dfc1f3bf6318f93b1252d7174 GIT binary patch literal 12799 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/lock-open2.png b/src/qt/res/icons/lock-open2.png new file mode 100644 index 0000000000000000000000000000000000000000..297e496a6645314f2c5f0cf8237ee508b5b46a3b GIT binary patch literal 11458 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 U4XQ*jr;Y*T=NbwXa+bmW3rUYQ@&Et; literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/lock.xcf b/src/qt/res/icons/lock.xcf new file mode 100644 index 0000000000000000000000000000000000000000..f5336d3a6b5775bb6d9414dcabe206c8c2b4a3e7 GIT binary patch literal 110912 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 Re#n1^2=1~Q{v>Ad{{d&C466VD literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/lock_closed.png b/src/qt/res/icons/lock_closed.png index c566510c408b5ece254fdc528a2326a50f038ba3..bce778a5a6a22ad70a719582cda9be6885aae09d 100644 GIT binary patch literal 52505 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
Y1~B(_$ye-0 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ℑ_PT7$XG~3g^XURT>LnUl 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 literal 1679 zcmV;A25|X_P)qkbu`{)JGFvyd=g4VR z#$Z`CW{WLbUTF}}QfRFZ1i@{$-n!khOKX6Kx<`|r7D!w1Wjt<2eRDq z*WSFKuWyOvy58pP+jk!%{=NU%0i`7C?(Tef!Ggu@!^6L0|NifPEf&u|9EsQmY4-rk zd5hhnqh|+q?)>KCSS-4#ukVJ~(9rPfBO`yTr{7#$CK^0qTo}9S0D-SsxbXV>YPA4E zL&s#XSbUPs{-7b&;L|YSIPu|1rTplD0|zI3U!lK$=~~;iH*&LH9ZcBG1=y+v2@6^q z>&?Q6jp=k-g3cSc+}NOPTVDYhidl&2GGeGeSt$@1qS5G2qocVG&z>DaXJ?1VWHOty zMo7+SzAQBtFc9oQlDiOg3`B-RB5|W>seC?fYGIHI3raYM=_>lmgIH1Bf%)DMfJceQ zra9^hYDwuhF{IP!TZFJI0uagK+Np1w3y7;pvV@5Rm7rc3Y$DNt>lS?uqo)zG#|%w3tuW}RZOq*(Fve!;a@s|NnW`1yC9{yg{5WgVE)nSJA~ z$2avknG_HNpj=29KyYSh)<2*_qB<`Jv?54?CNR(knDQu9LWnGf=)H-OAp?dT@9*jb zaCrf#Y`i1WmH@KL09gf81(u>wmjPLueuj1d5OjfH=72!slm&PZfB~0wyaF=aNYBZn zn!k#r4zyba3y4rn3kXM9F=QdRDgq<>aQyHXJgKn!h9tziZa@*aN7SrgQJ|KDl1er& zLdF1910<0IhL8{n3BN}T^3->D?$r^zy*u3e1N~LJ`+OORxpOJUZmf140708syJ;JS zA&r13KpERhG!o1R65@{H+po`H3z26`%@98Q5!kwo1ePYkyr2=rK@HYQ8-@;q0=$ck zfWW=!?EEYlsNtI*f>NxD(EC`>Gf=bO8=R ztZ4`CUdaGSM1Bbf$}><2*92M=paMg9DRg}?<|DnL9Z%d2r0W76T?6#=fx-`6(=(v} z<+per&e3kR=88q z_-+Z0prsn%q1Ezq_-4}*V6yJ3rrwJIT@GdqX%MnB2;fAen%6)`Vj0EqqRQoUu%=gB zLSt|aXv=J*6$c1H08R{$0#_uA0AHA{YA%2=CYU3DB)@_JG~i9&wnb9`)k>x47P1{t ze!UTVMS=;9pqxUbG*oLUU_6(9@r$<(y%3AX&5cO?!;;WwJ;+t=d%yXkXU5;0^-A`C Z#$Rq#3pK@&%5(q#002ovPDHLkV1gZn3Dp1q diff --git a/src/qt/res/icons/lock_closed_2.png b/src/qt/res/icons/lock_closed_2.png new file mode 100644 index 0000000000000000000000000000000000000000..dacdc1127675127b988a7847d65507e270cb7c1a GIT binary patch literal 10960 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 LNkvXXu0mjf$r6MX literal 1644 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%0A8=7K4EF^jjJ)H~$s%1I(aw^F{SK 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/lock_open_2.png b/src/qt/res/icons/lock_open_2.png new file mode 100644 index 0000000000000000000000000000000000000000..d04b388d2dc48dd604f1a11690001b74eb9c69f5 GIT binary patch literal 10285 zcmd^FWm_Cgu-(Po-6g>_xVyVcAP^w9dk8LppuqycU4sO7cXzko?#=>tc<(Q`pYP#; zVRvV$tE%gq>gk;ys>(8`NJK~=5C~OHR#F`V0t5eoK?rcb!N9r5{Oy&Cx{Nree2nA( zcmZdkAR`Hydiyyp=-mL`L3EVWa{+;nvEP2dpp-NM5QqXKCn=`sxpb1g>aeosbY|iH zKx6%YHJFFe`3tKL1h|1hbKkj|UN>!#|OL4QiMzaseNV#VGbkb(<=w z^~7gfjCF;MZXyH5@)?VkFY3L3lPm+)pkZ9|_Nni;zwLWp%`?`|>W2$rtA~9>0>m}m zB@N?RWc>bW-bO8sKpBkj|L%|PIGs^o^=Kb}DF9tvUEm(q!pw5l^`}>CF z6L$}HclZ0DN$^iX?)!WIE_-9?ANBO~8r_cO(4U^$P(mfZsxR+V6Qy%0U0ht8xB8+~ z>X%P$CnqP>>iy9I(EJtI@mUNSCai1q83B|6SbvIw0#TU6hP~@yVDD!?`ZylW-LZ+-Vc*9uKX&hIhUHtNNRH zg4fwnor<>0A;wn(QEhE)Gdnva;9%mres=ekhTFTlw@VGh&ikT>GlhA1dH3(0o*MyN z?Tu%)zZLEgl3$tjuoQl_?!tkqnTLnY(n(!WiQp^bDzg!&a8iCSKj`vjq><#CZJ>H7 zfXaO<0bUa6pq1t2c;!OsI*R)pR=)?1Cjf4Dk6J#^6>X1)=yv}qfOwadQfl;>_Z<1t zqanBT?TM|eLYSEU8Lf*|?ApSTMzjd#bWOFu_b)?Y_^CH{-sy)qbW? zMv`xnkR_y$sF!Lqi1VFRL+1hi3a44frxxwPf$_ix6qwQ+E?z|qTfup0N zs+JZeDlF=N)m6j)9DdqFHoEV^7rrT0@i~0FIhq%_jE(W8A@D1ljs>_lytbAR9JtZl z^b2`DIu(G?>*KsbXqS`v(RpX+@$qqXWdbxX%-RkS0Vvmc zN9JximamY+;f5eU1{uQ6bB|p z;Brjhtfd-ASV76r1N~DMGAm?u6^O0v3i!ZVb$qXz{N+59+z)cmZ{+*1GcTF94I{2( z49qp4EP_`f9Dcrcr>o5*bUDxz?bOWx(v>YniC*7EzZ^>!@bD#Xd^uAmZUEd)R89Ni z47I$xT-Dyr`d0Rh<36WL%MR_&+^_EoWBA%&rpJNM9#59*9ok9VFoS`Pm0Emi+a;-|uclL*@BwYs=J%ljv`L!=mkwG22i3 zdPWtYo0-=ppQqdPjI^{g5;8KfOQU#t5FfPxVB-*5Mew5MEx0p)ZnpOJL%k9BQd$5} z2Il5|9iN=A;~FE0j#0g3Sc4NwzJ58XZ_T=P8}e{fRaZyT`YEQkBVlSoLG-0`rQPrK zWm-k#8GqEAV+;Y1Ilz&(iUx!PAjwXC(x=DJQ2;VzU$-&atO3qOR#pS3t*yQJPYwZp zfpDzqmp_o80kX05Tymt`iBI z$4(~bdA_k|k?Er@xxKN`Aq5uGE1Ex&W88)b20kWzlRlt|JXnLD(v@kY!9aJ62S^F1 zCy=$eI>61&|F!d`#~I&F8{1(hWMpK3b|fjexdw$9`?21B^%GhN)tj|4x{XetNr*SB zpSS~3GX#NnD?&%d#QcVv0ROC(2RdM=;5y57=?vqlM|{rJDM144q|^_-haO^6oiM66c5m=GV2oeiA@O<|FsTsV#R z&v!w6#*#C~Toh<1Z~c9XQ3_sk?9ERZqsOTvVP>kS6Zf6_dtFJ%-MzgpKzIG#o&5(u zC7S5li2yNxl|nOV*YgIbOI-cGpq_tP0o>>7Rue_Ii;0N=!s(m+5+yD1_}s<>;5-qa zodr;}%c%c+E9N8I`~jH<%IE_Dika{q3Ys_P`TU7_?7j8PYD^%&*r1-o?cTHwDkFLz zWVl5D2d@0-7^k7NJHWaF=v=hj|5WwMv?D@9ffJ+;ZoFDCPSN3@)wJ|qB0`Zh8=3hV7gTK>HR3)eZVIT}+I;dEn zTX*cA!C(xie#gMfYp-~rh9X3g&SdKT>_twM+Ye=?D;Vu##D;~`iIKx_xt|*|C`9V`8LLjAGnJh^u{PJ@6C&8~=Z zb1S+{+12b1m4w5HzcB*g(17R>iV=tq2}T0b*s{$RSWHQXvXMj!kMkpji4LJt8 z*vyw-+{Mv%*j@oEASi15hzl~^d|o9rg61#;$uHOIVHsZAOf~oS`>UI|5B2`x44a`^ zT3HM^)YRCBv<*mE>biTy%E9LcxqDd`jG8hc65cq8n|zUJ8u$EV4`d7ndtOIn^&RUJ z{QkdpEJR)x2lBLr`>dh{c>~Obsk=j9Oi6zW!}Kn9$%*y}a{rN&>W(PD&q2pQhf+ch zfyAml=jFc2#bo!fc6cHOXR17JWgUKw*n6Byb(lh&0FRIXx?63=(XpVYpm3JW`=yq* z_gRiOEyzS1sxU*Oxa(~j)B&yO2vow=b8T8~=TyjmhvxsP=2+m=iPk!k@CpL!jJSxki3R$3ct$3B1 zC)ma3rs~*#CmnXFw*CBJ=wS8WQxA+A8qGar5lz2Z@NtPAi4n;o+ZdE76-sR*tigF4 z8FZqr1dSFE1%1r~)yhNt{A<*k-66Fe$Bz*!M5czKPEe(TKHcnuCrCL2>3;^MV9I_l zZWbHy&uF~FU^pjN3KbyvN4glD5*9sS{ar)3P~&Q4i68T+Erypy!`N-a=J%(+1+m+P z$PTUdr#tt-{i`}P{+WB&+7-Mtkn4_@@%HKQ*UhNbf^S}077dlKjX8AiciSZnN1ufQJ!dR3OR}TE_{EVq5ywc_ zFEdG=H-u#U{FqB3q#ZL}{+sx->sdb<{aFh^yF|j3;EBPOi9WKQE3o*HlCII0|?5i$)xy%a|OX z_F@)y$`d!`v~ciexRJJ&c*3YF)xH*KC>LFiqbRAZKsdI^y={sIESbVlU=yt}in}D) z%jDkiLD^zw{`wZlpd{NXg*rFbLzi2`Ofds5z8yIDuWqTP&lOCi4Yy$f-rdtQwv{x~ z!2YX~qX@kZDiDTZYp<*W6=^jFmZ)Hc?`BxGShv*`&A{i@{d3W3T_NqEgNqD@kD+Cc z6Jzj}$j+GC5tEl|T5>nOUohEDJKPE{p`*dY(Bh?2glBsW0SzJ>e*L>%H}c!W`2Ic5 zF4pM*n^AIRAYe?@igLxwJ7+A{fepxlmqf{K4~rhrNIP~_k7yz#L+mfUQ6nb*{* zhElbE3K2p!bn@E9`uYR4NSvXUamhnTTiJYYCtX@_ct$z-ni7_IJytl*g$y%@O9ytd z;8vArAylB;4khcNW`4iNSpR#U*B^+Cf0NDNf<(vHHxi73YSNVV3bV@kyYU}5UGR~( zxWMafq3pB#mLCi>#AIu~D$(*W5IM^8wG;mvbzt@${!qn9BZa__pB?ll$S{XxOP903 z3?l7d>H+E9h_Hf6e&?%nUt7m-BwtabG##vY_}p;4_y4oXeM^_@w7Ox&Fut2YLpsVS zY@(6_CzU%n>YoVb;s*M?4deYAeX)>11MsSt>ouz}^syjOSD1rAWDc~2n$qRHvNoBW z#unowYpwtE$2DsSF0~}B#T-BR%G}oL!c7YB!BuA}RqxYTLyU}t1t|L1NSJ3nx z*jV}Sg3zI;leRm!k$|q`_BUJTE~&J>i*dh(h}%(dir~5@QNrv?)l$gzBTZXD_W4PN z^oydM@U}XfCSv4l4{S;dITnzrGAKnfRi$O-9)f)7AGY%Y*x#-(mp?NO{n(kLsI9Xg za?Y_VOpz92WC?T?w)ljy`?`4&crY2Gr#L|fg4jSYA7Sce<~MSnZWa}#7E%GOnY|WT zY5ax4?<1JG-e|7Vxsl@5Q7HY*GvPd7ui{(8ZenTvQ{U$@X+@W4LagZzD-}@!9K={Z z&t?xLOOL^<995zOW)1{!sUCqs59#B#$54K;6B zyrdB4D=5STC|IqETGPqzh-eC;a+QtDO{TH%Bh{02E^J-rAPImEKm|+CW=yYA zn9JXA&5_V2A#rLEznVk)=-rmA$rW3(IXh{c1Y(rnK^iAeoQRHLyQmk7&S(t;q~SQQl3XZUWt}&ZAu*A&0ztNpbTymS zwjlM)C!J6NDLR%A^H6O&ja8sv@vw6zwlOb-2gK{}Q zQBvdQ1cFaMkSmY9tldSAIM{goX~b4p!Z#=R&@HZ(Cbn)YS{Q~$OeSj;P=#1fYSYNZ z!D6LD_;csEzM?G+Ot&Zn5m9ts%!xA?&e(f|RF=!KSV(h-v!IhVu|)M-_}GUM7g#gx zHr1x<$-_Mw4Ll7KGIW+C1Tpjjls@`|Lpe5)D>2xgX$W;2EH)CO+-O0D`bWD6a^G8O zP=BEYXfy*4F67JduhO-|IUVVGQNQ~rMXWR{p2dq6S#!s_wrJDzxe~tWit)U$fiH1Y zI?Lqmj}+gHg>3}JW4=b;iUE6Y9^~o@QV5-Vh|@uypnsu&TrWAjn1u;l`(bHQd;^K2 z$Z}cBwEUJbPO-j;5A?*VKl>-hEM)@nt7H2>50gz2Ve2Yqr9mmx*^#6dmqG>%)R!PE zonDlHaV$M#iOh@q*WT~fca#%<^er=yFl1b2i@;h*jJ1yfQc@WShebbhHPu7Nw0qbx z4rZmxZywZaEu?kP&9^(>dfKBu(!)`5EA=q8L23&#N(!SGCQoUFzA3ADy=bw%!y!~9 zW>5;O!GMnYTppqI9hv2djq&ZThE{~bj5J2eN+4H?!BDugH3boM z*QI1lD(P^@s zcD|37(cx0x&{pvW)_RKU6zHf`EyCP&3wl1xhPC+~Lq3nE-?~ONk^-Tho;hND%Z|qG z{z=bHt6$Y{k-dI7xcoT|y%RcrDL?}|0L`!qRQt63ebGS=QacyVnZ#JWq z+yfJyScN}Cm8L@qLU_0jvdU$6N>P%j@@sF@axoR5tD7E!d{8xqxv)KsewragWy$U9 z!dL|CgUp$)D;`L0XzNqD4CI$xK95eHfHhN7L;GjnaT4KpiT^_@$%jiHvLIDHS4`Kz z>}{@g+SV93&*=(XsBM^wu8o$)n%G8B*@Yqp;bSAT74 zY-9W~?xHpDt9YVk30oe?__ZMCht^g&X$d2|l~=A0f5j<@5Xp!kT3iT!8SYSWXVvu&! zWJ2_>?%I&YkX#A)9KYT6aq0Pzl{Z<^T;$ak7V__@Z6Ap_3*yczkb1p8`8V-1o(nU7 z&3|GpQnN<#%ZLa~_#lZTI}xdLibfC);8yH4Iqq4%IZ<W6Syzv7!Vo1gSIkPpE~XJYq7m*vm>>{H$tZT?dnX-8UyuF05|KV+=1v zG+L&TR#!7VSp*+JVa19mG3D|i$3vXJT|wy!r3)63>y<$>8pDSz{vb_L#@`9L3*2Vh z$i2ke&2Bv3eihw^*@41SBNQa~9X(#KYmpTa(O4OXxTyu!yQwGu5wSox?DkEDBgMIM zZWIfT7D*4<{&mOnSxe`uPiUigg-}YY6r*p7h`~sxSKt9&O%yV=-7FE$R8&ZTom^cY zR6fOXbMM!9&M5dQNMRez#-<@Y2CuH$o72&O zsMiH_?}8O7u!b^5X4G&R)50p@fICD+DSwDW`73KiVevVvMbGDn0uxiCvcz8_z05e` zam3RlHoaaRS+YVSl~X&tWkLGSmx?MFUQIgmEVvv(cdO0+@wHL(;W49)rF8S_4v3| zK~6c`SYV<5MccUhVe&_T+C9ggL-7J^0_B+tK8Fu46u)6PHt`uR9XEptW{N)0YXh4u zxufJsK2$g_$1d}Sp!ewDO>e(&Px1ITm(S8PdW(pX@NC1`qWrxlm9{DCq2_}=zQ;+D zqH0)>n(AvOXeTx%;&&8Aq{&Afi;9M;#_EC*Wk^N16bTwd_zL<@Up`XVv13-MeOJW{ zLo?Q9gz}YNON3GU_t9liXq1!hry;yq4%mqSW3%Skr(Ws7y4+a^-=GTX<2Navb>R}6 zAys?7pU1UyR^HN97bbNe-!N4lcS%5AsUAJjJ?JI1li(OrI$E?kAhkF;u{^W#FapU!V$WojyW;31^W-UmA?x#JxbrW9R zQc5?RsfIcyb%zsF06n0Qf0El}=Sl8T+BQe3maQ$?y|0p^MDT(p0> za6s(0qAW-FW_p2!XeDc3HgJBZk=gganUvaq2nbyOUT7ftPq!+Y5Y~Ng_~rT?fg&H~ zru|-@y(7XzN`)=iQ9sn=vmLG>?dv>u>H9Po+ z4p>NqS^UKp^@j%*e1cQ&vf~eHty|AsKwI#48{1=%^;pYrB=N;;A+oFhOQ;JRobRg$ zq;(O97gSWMsj8I0*1l#lUb3SzXgQI_RbJCP*(^(M@sUGWVpWR%Y!pxF_L%on zE-tiAmoBRU>wx+49QMY!AKQDA;q zuT40xzrQ$6f3$C{l*smoNpe9T*1gqDQM=pt>0>oNYN|SW)N5j!9u)H*c5+f#7T2o(0Ht z!nH<*?<3#{h@Hx{S*1_EeimovIK^|C_oYNtrS?{@CC_F!Qmx0BeXL7X+UJ$S0p?`3 zQFLwq`}VSP#U)g=&0Ni5hm*OAzq$3ZsuJ$g{j+krCUjk&#heo*&%%VeEhIMlt9`AG zyF0b)LL7;9PGM^JPg2TJzWFCv#$Gklrc3JxiqWek(@}7MeJ!7_<+SR z>hi0$vD&;qBX@knT%986QgTX7e9u`*W5rS@qDw?C*wcrl2D&_M-ZD=@VByhZX6)J( z6>gv{{?RA3axj!usA&2@W0^k2869lqY^qG}e9-PScMN;CUx4$hBN%j=qE3Mxm<(~?~NbXA45N7Ueeiwse^=~n~p1JgbY}|h^*0#vfSRY#CELO%82om-(RMKG(3GCZSs%E45Pwd+G zArX)YFW^z!C78@`P;-v@i|LSoL9Z1ikZxc;IsDLsKf zhx6SaH;NEbx_CZoN%qJ+H5x@F7f#fRsYk!#UC6~0Tf*ZYZD}em9T_E8tRX8SZxxt!>-G`m_ZsdC& zC!(bWxMAr>!y^c&smpDVx@z-yJ9@SGhN@D|Kc(@lk$5^0*+U{;8~0IEzQA-o zQ!hxX`YgAvGkC~XuZEZ{Tu}Qb>-uU^(o~eu1jB4jrK##OMyv)rgV5a{oRr(}h6^*U zHg+75<0x@qLpgGw3(U%aE~(NnTYnOKUqb{hE2b?-*NtVKQcd6Z zJcYzwFWq4S?kD~}B(doB-n#fashO!1+L9EPbB6urEIThMU<}y}O$6pp$-f0?Y*XiP>mUtltz`e?VNHGO#FgKPJ3Th?A&s!!E^1a8NY?zV>3PHF)izH6S&trd(-Il^7Kk ziPtfWJa}s8Xh0e@3@*Uim|BJ8JwU?GtWlO#NJ=nYe%it~M?QUkjnM5uk(W;Kfcr)M z8t->0_ZppG%Q`E?&8PKCL*ja5Fz2XZM7^?@y|SFFBcBxmI=Mbr zMREpa${P-8pL4EqH>gXTnsVj~Sxds32yjNiG%iE;QD>qV?;e5e@+FJ)Dnt zw`zj;D796;!JpM%2J^kdb;z1)*uO?A7~1yxF2RwI3#`H5#G=vUNt@eXrul*xZYkgO zzWa!qPXkoP%+*DV--`LFn#OqTR!PdLUmc9j$7hc6_mB$SgQ(w0+%LcMuWBCQDsytk zXM+_B#Rc;j!^2Ck<53Iov)qkxRtd=LS#1Z@TAsJbIo>uvz~w#={i;wCW%6AzgUA`} zugY~xwyI7!^2fh*L<%$Q-bIww_Sqi}$|FgwkgI$tDjw;U_4+#d30p<;?jkiHvl2;g zR%#~nRhsJf@kXTJVj4Vx=I45nvc#>ULphH#)cl=nMh9fuZ@f~7zloIlfrRmvAwMLg zNKSY2PL+Myhue%*ksp_J=$~i)e&}2w%xPop+)iH z*5tkU z4=PTcZs(ULjPJkS&2QkCM2b!re*wOyo4gmHxEJ>mgr)mXILEdifYpyRh{V zR>H~Y-Bw`7Uou5UMk}xj4rpV*A0Zfpe)$T*|b=mGXc3{nRI|a21Vd= ziWJbeTZZ8>Gq_l4*^J}Xc@`LZhy|_dO7|dw*pI^iQ5&$Naai9d>`a$+AiGq5 z)9&kGz}p0?E!Y~Rr}~(8G{1CI=QqcNK90LClJ?;#Zy+~a*6cHB1Bq6#bbSYMN1eD7 zyKgG&gBl~-cVvBsc(1Ubf%iia{mx5)VtNMUNRmzTk9- z^1Q(KoIPWhQ=JNr54gnO(ZmzK^$r!94YcKg#xga@0+vCu#~6%or{%@#yL{~y#PGaK zhmJGN?@I4;EJQeXQtt(=VFn};)v^k2oWmk_VZS~wQ7oqYb&k+|TY0B(vuaAuplMap zj}9U7vW17|0QcD=e?IC6%vhGnj|*CcbQ9O%4dl{cs;RpMr}-xJ>~gh$-PgSsF}CpN z#|lOh1rP3El3XBLH-3XIF<=CH-IQN;y!^m57SDy+mztczdLb`~~ z!9b=y;G2S>8Jh3#u}J6nnbS?S((R#a^lj6Zv z8HtQ>$>kdaOH|A_Z1E6dsLSYhk?5ef_}z^q*b!2?s00?4>#zuoCWP8E?B76wFY;L8 zb3csD5XAeCb~x8bfa&=WnErbJG4I?cvVi8lmVSbl3t;L>Y=M3J0yC$}^`6^3(JH1p ze5J!$sH#u##sz07%H&jKD8pp@io!+qt{W|?VlMHIZW|VN*_J*Q;x{+&<5H*BXM+xa z3unv+0J*Bskwf3sc^x9?deWbdk<1He@<(7J?VpNZG;JunMs<>srV8Y~#xSOHA+tZu z&9S({XtM0Aqi-ln-3?#TH!2c5GV4mF=yrD$_S4vy2gTq1Y82fiEZ?j@zyYmQ7B`ieb3Nw1)P$sYi6 zmR(tore5jI`|zda#L0Qi&Rt_7=%8 zUCQ)fE6i~PC_C`tU8yzqZ8mVMhLG;g&dk0SBN;RSr9}i`S)HZM{xH;G>|Gm_p-11q zfgWLytk3(mXwpVc6J-p*cQDgBpX%9EoOe}1~(#fWD% z@+vHOg1ZI+((c@IV+y`c3udQ$wd_Pwba@#6#*6(A^Fl=7F}gmVHYbYz<(sebbcO>IK_cQd%GzUrQ5_Pz9-$fG#$?NG$88EVR6@$+<72OAZdUS0LjHX~M zrK0tZSF)O;zGuFYI>&Y6OT-9O;AXvPhLPGJ;@b3@s%z{}b7rU3154FE`?_AVdTWEp z#NtlJJ5>$MOucJXQgmYyF8~b)-uJ&VO_I3;43`p*E6;#Ywo#*yw>bd7#QXk%TR?Nu zC>8L}qxMqE_+|v+Vw>T4x!aEX84hQLT5dovBAkA~gDg+>Ux=NLTtAv|QL6gNH7M(8 z;LSpG`brnvS3Ralh{3pwQN(#9cRT$*Mz&EnnFja+(Wjh%idqh}(hiOx94oJ(p9RfV zknfZ~@2-BiSZO3l(LCNwwMcHeKbCHUi2G}1&FiTm5TgjrP(KZR^L>9Aq+~)>mXsd1 zu@vCd4?>)wjd9BeWFc={66pc7S%+46tW))Yd?VypkQGC zr)?@7(PMD3a26XwEGbeEKHpJ#L{YqQVxAN-_DwZw)C0WN^9JrqbLe-qIeLb~Jgz({ ztEE3+w|fp0ylKbB_rQK6ay5zsi`u#Oa}4w2cz{1%Y;hh2e0)=pn!1COVn6eM1vXNyh8g(Op|sPF(yocRO^3mEwT&_j6p&8lt>cXRtt{ z9y@>ek|qTK5C@TmuuJ=@!Bp!ts%rruQ0*p-cq!W9M=S^$5*@oVkBrN_WmNhQY4BGI z4u4Jm<(s@#MTDCHmeY|GU^n*2SynY1HHVB67nmjMIM%MsnZER5}fr9-g@j zS5K$tF?gZnwqaFALWLn>_nFx~3PLL*fAoPF<=FPeTRRA!Qa~_SyhG5|r^Ep%iT&hg zr-=qh$FtG2P#{*wJuAjrWML&7BbNsLT1QTKD5YsZtw#fXJVD)e#Ye8{5uI%5Vk|HQ zqSHCbm5j?baqwxVV*I*ohlFz|HMt-Bd90=E7wvtH;pYXX;umIM#dR1sKKkKantE_P z^3jL=vUCX~UUXIcI}|9Ex5i*7iQlyX-p*L==8VO^%>PvQwx9h)CJA zrBct|a^!~xN*mzskM)N)!KLm(8)$vP!Z=B4>`Hw>`($wgSdcJ9y5{+LT6L4Abk11n ztfg(V8^f|XY@B}h#~Q4HrhDO8El3zJ;ftXp!Ba8d?P~w#5BRqU(#<(7Gaac1NTT;+ zz?m^n9e;Z``HnjcT54njm7l#tM_>3LShDW`I{hXZX za`{aGh~5U$aekzVP>r8{@vZ7GaRkqhIa{P_$O;j4L} zZfD>vN^}BIk}JVNW5JZ#yFH*aDT|0^|6ZnyD*D-YgU$`JiDG2iD}-14`^@~P8`;?q zgMC)w)4v~UHRd`-x%O|kLt2Q(!AyC{cMN?5r;Dt8Qmva}_s{qJW2>`7VRzU=BRebF zql{uTYPt#d{1w{r0vz#re!sK-mxrS|;hPSn_rFao6eDP8+w-gCfB){H^k`#e(c7Z$XHtQOj9%?#M`!p@mKL|G+ie-Nfdux~lAYwku& zHkM3Z_spqWOB>K}3^uxO^A6H?22xg{7^yF2ZfZzvr~J3Ce&FwW!|+SHaN($+fswbg zoxwpSrL2_(FlU9GCn`i8u7yA*j?4@*FC-iCEvGIuLY<3Ebb}Ki#|Wy;3BfTh*4M!_#x^4Cb%B~?3V=wM4y1`y9{`&JiYUl{yNWKMS= zgQ9l_4d+=8s{{`jvA-P!MYp^-o&lA=48E_pAXoa7Sb=ABcu(9vTUf|4P)U;pp)db( ztv;s=` zrxaNo@AswnLu6@PVFB%ExEqrqA^32`mP~3Jd(~Ot8{A?`AGp;S$k?(<60ic_BKj|K zJ3~ZosS5vd?2q6ytv9e!(Ocr7_1<5y-6S!>Ntj!+ME>E$vXmGFIX${V&4vOq>;Xqc zpW(eh@szg5ycjh8(={hC{OH6y(#9n;m<}tmucG5Z3XGojjB4BHG`tn5pWQydIe}zW+QY={u2L{iKQK ziIWZg#}wD9iVdEiIxb$M-l=Bf6>QLJS4aZN$gN5+K9C+@_paXK>J~hk!C{Z=)Ha@O z(RJTS`w6zXL4L@>;;PNc)^6L^^kT%I8nDE{ z(0v?R{El%GvqAusJ&@M0O1k$cK8}>#v}R)ZecJZjoBaM)g@>fFnXrUj`0E+baTvR- za(hFuoYU;G?-;bb^3Tq@PS7O*H@}Bc`FplKG53VL#8~3h*gp(EvZhUp(_6OEKi-== zajOJ7w9uK*aE=#d#by2%SyF^eFSA$#18!vphr|EV;+p$#Js8eY){K-6$D@gPv}Me=`-xvaPjpT7k+2ACrHwb5)X;{LIlJBNFfk(2 z!E@ApF%>+vBBi;zIIf{SRGO1iksN&YSBB3aV__VNVM$lPkIgdi{c379)(D3fcwPtv z7Uw1eo<_n(KCNW!{$v!$AK&B13cFzja;)6=8h&{4Alhp1s>z|&Mu4^2gs?$@Z(&J6 zgOe}JU5yOE@fO+Qm^wv?iD&Z+gcnK=aSQ2kjqE5W)Flyd+bP9X64 z(0hPQjBG3Q`YPsygdv`8=^DjP@$w6O%;K`el~Htq8}bZSPupb{;SaEJNtiyI zffZjhy`b)&-s3Z9_+`R)T%BJ5sWGFJ zyT*v5c{DLiD%Tjsj-hZ6keBe*!6i^jG)#UB+w{HhOiZw2rkHC?u|uQo42X2x;4gYv zG`h%Ak90^*7U`Wb4SE~G(tmQVq7&3{6sKi~Vq?80!NoRh;p{BZDI7g;&d{L5{g8JV zQc9U&z+QRz=2E-`D@<2vFhIyIIuAmUerKKy)h=MTFNmee*ixK6f21xeCYs^33HdEoQp>>WkHWRLDADgW-xDOf=vH_)MFqP z47ox$#q;KXK2WxR)X={?Lz@rR7@N`g4|sHl)SY)Fwl`>wWMxK7V^1oHzj+x(j14)% zPO}yUNlE}$IJ=+3YXO5zPT&#>alo80d{98rnxM^Ot;43WV3ud&b5_H_r+}HF)b8vc z7eojf)2f{k4AGJsiAjsmv6bfBCSX<7cA*tpvyR@rdp`9%hRYDy&`@`hOxph~1m;%FICd;(_NV7l;?o^6C99Pk`Ym6p&hr{TUD!++pSv~T7PBSb?T zETcsO!AU+PmoOD|>`Es3RQeF6jq={a51~>hadk=w^?qcs@wltl^Wt#y=x2^dHs=M3 z%)jRe#`>S9H7E?iN?z00+F@(L&_etpa9$|g$QWS!)&&5Sx4T6~uOQ25f!|`mU*{X1 zbT+5N*^bqszc-r&8-5#Zm^rK^Z#=-43DezRb!H6Vl{g?v2fd?rpOceupMH_=wG{l= z3~vc1b$4+vzW;ZthmT-j!oVNoZ*_Xoz&g^r=0LT2Kb=fhk=+Ix_J_;xtu3xG}c$YCzRuO@L|>Z=!gGvThgBK8ID8aQy#M>W%D zc&DT8m$1-vff70w!Su*`!ShzGZ|p+{ONV`|&3*;336Z@Xpn@S zhJFP!YX$;3_e$`dJ<7fH&EoirsQo*JRr(*I6U(@9#CQ&I3FqO2R#(=PajpW)j2}5sm={Xn=_h`wXwsXKLre8O0m73m(<2=|Z$cq`eBG zN>%?WIT)`!)|%5vKIUYTWm{LM z3S0ScInwu_7qRMq>={LJKYk=cD{SNPG_>;& zG^tZBq6|sxe#Brc!!Z4hs*&51q~qc1btl2??Dr+ZtGZC1e`+A31(&xXtx#9Au$LJX zxMm3%u>axs5NpOwu_Adf)D_|1fWOi_|N84C(?rjt#31zXql@2E?;iHV9DFtK_=`39 zJeF(g6rk}YEO=xlkrGJwxpc6Ddq87sKUzH= z9Ri^lEZi752uOWcrlR7USU z_0O_XzI7rMfOICdGU;q9&1htFkm%TN9rIew1L%UX3LUYh}P4vfwR)PYufkiSak=Dw7bfGN&G)})DmurV`| z2vs${JA?)cy)$%rZ1#u(2T-gPVNztC+kFP*@y@drW3-WBr%3i_D)km#3@#}3hTIha zFr5Uq*=IVO8&s5Ot=K%aH;5*aRCPjV{sA9%J_idC7|g9SlxmMtVr(P%?au5ZPrMj@ zSjWo`g&40VoP}LXKIVO1hh#;`)4+r^z|abMMvXONc-(@#Wkv7Hh;koMWB207h~l_! zCM8}%ZHNx?lczAr%6?N3Ic$hb#99`vu|xT?U_A3niHP`)ie_%tXXEeg2!rMham38P z^RIbzoQ*szL6n2?i)MbO>yTUbOX$<$3Jd>OPyH-A9ok-4a%P89+iIA9CjxLAk47ZD z()2|RV(I1d%l{G!U4m^r5+QY6-q7Y*J2?LjxpsR6UPSX_Oup1gX2DxR!d!_qlzFk+A#Ss=(-g04Z%4Gb+X&CZ-l$$7F6F8EeFQI|~q#6Y*U^n_N`=Pc6*n~m>VJ;6%#QTo$gJ~hyd&g>{;w(W>E0m9uNP=kNe z(TIfuQp@A31`k_97$|k~yq5a10?_Q!@=?ZnPVh|Ik(L{q&~wk}pocAEY3_f>pEar1 z^QBk7-tw9-K!@+HDnQKO%!-sXh8eZgpc^@qZD?k7u&Ucl?z~C7j&$L*Q-Sd2p*8=|mpFw^MwY>T>xS%#Q=dGXkC>dQFW^}+ym#Jn z3$gHM&OOK>2y%D%Yb|Fjk?LPZ=dtE#bGf(F@ecPI#f#OVaKVo`-M`YM(k6k2*)mc1 zKV>mAo%G{JDWK0$0O|va6tG!QPZD5uWO(^sj^GWVxX<_KvAa0f5;@J$j7C?cgu}WJ z4^DG&e#+PX=ypPN4N0FuaX)NdYd?wFdsVe9D14VXSohS{dg!hv%8XL4_r6WVkN4L- ztW!cftc%%GhmmbaM|!L_jz`xbh__O=Bi~yI1#9@yZe#E?=z_LQb}l32FJt2eZ2b05c~c(CHnoUXWi0npPV|H&+PEaw3m?TkbwB5cb^hqLd%dX z&)k(%jT@X5d>dJ8n5@fo6#c|6EvtXYF1bzZd=~j zxQGetk;=&1)zjo$`=%P%f~!;N~HOQ-3A}4n}IZwmoaEbTewlQC>KTwf+F+iu4d%78)(8C>r>*KaaA-Z*{DlU!F|A1O^N z-Pqf*8y|iy#CI#QpenAknDD(eZBO`jWb*Mp=S0B5Ef+$?@jd5gBN*Ornh*rQQKP?f zM7}v9lXW!5q&RRZdiGDXkglIHSXWP5-{AXg(JD#|Y|&kBgzp1~eDDnEOkp0Q_7J{zpmZ5R|mUSc?(eeUs;+8^k4~nfW4ZAy194 z(POPa{ZHJ5GTp`AJ)ED}DeT_C_3?8QFzL;>-t<3SD&eK+_gzp$Q(hIsTFJneU@vJr z7j538?eA(->qm)1X`cg}#L=6kzdP5K-52s#Ii-uB!P6?qf1U&2*DqU!BH zXnj&q0-d<|>pD-bHQ8^V(GxGWQ{f!J*vG3md5c;NI3c*ybjiKO5{o*2-M5_?ov^M4 z65LqG)jQVYEv$bDHq_3>NT+Z`{B4lkEn}SxvUPwZN$2X!3ftz=M&Bx1=X>XAm=*}0EPLX%NiC^PeLSPw=wo$X%Aihn_y7*BiXjLcD&pT>cRA^FQT>#1|YwmR?tYuU4wUPR|?AD(h+%b z46^D7n$s2+XF^lF$f*{I&#m0jyg2&8p}+0JSTs|D6SI!p1JL~Sr-FawuZSl#>TwPK zucvSYdGJ4tWjfCPa6qRgqlP(Lhni`DPwV09MO)w&Ld>In4Zv9gqq^@P34@#fizXg84?Fc;QsDS(h=b zse2l|)79$H%GK9^UUc>}fsk+HzuE z7R7nm`*4ksAo2E(Bd4l%FPhhL$6w`F>!q2LGF?VKLok6(^d(nEkyV^q_8om1Cm*9- zMwD(Ve@J{4r#H{SRQ^}%YO43uDHEaSbDA3;5{s|R=bH_Z)@|IKN8`TSnUYxwJlp}9 z)b?Gsuj5su9o755x;OZD0$DO-=-wC2)eUgr1K!uE6PAja zKB+*pdNhbSv0pjCAaPN=Ve3H8BNwbQCog5xi1Jfn3;)ede2=@1ol}bd>`u%R{i@() z+F2aEA8}yXIf`TzBcDi5pcQgfhnIZds?k;i4FRa0)aAF)FoyWx5&%tfCY?cLLp6Q` z=kzqPr4~wGE^P#L>cMdO0|=MPL5s+UX$D(~u2K36UfLe-`=tYO%^e@!!+vJI4^ST# z=$mLr=gUjVg0n-p56iw_6h<$a{LX$DM$A`^Yjr}ZNS~#)B~e7q;ySAXd@MOV3Di=TMbd# zVR-g(XWFgCy`PWQdUkV~_6qtKTaVixA9R0Evk7`&%jWaN4t055qt53OAJg3U8_M|S z=$P0~lHLGCLXu~7x@xpTQ`T1!knrdujK!4vH7mjJ9A%h?;Lc5PJ3vgo@cF5fKBYC; ziK*4T?QA8M^m#7Py(LKFS9&=^`5D{o`1#sLgildUeozO#a*^x=pXx^F<<-LdrQXAX zL4&hg^`54zw}YbEF>JKIOq6lT2XhphBc%T&Zj}jkc59Fq&)Cd)%8F`_U}KxzR)3Bo zFi`*Mg5T?~M!nQj@7{>x$NMnO)`Czjcfh40LyY7kHR!-j$K4+KVz1>Y!ZKYEK(*eXOBzk&4W98tEqPmX({#Z2dz`moQM^VB{S>|F=P zpoWD}IcyYpJlZLEf;FOm{S@w7hNYyn!*bEtkl{qz4pKiP?8q{p@{CB8P!pY1`#7h^ z`zfjR&0mBNr|=Qw4ET7Szbb5bq|nD`X5sk1Y?Z4*PClGxS!ibrIj_mmrY~^(#tM%- znzNM<*}OtXA~LLZdg*{m{MrFD0U(_V7OLV`<{(!8 zK)TPWM?N!07RI%-HD%e;tEF-MujHz<``^$_u|00zX*tXkD~6$yUV2a`eCVLI?WCwv zb>NN1TH)Kc=geo7{a5$e0PbNYUxf350SK|T&Z6@L+1ivTwaA@H&f6G;mj3t^F}{_3 zZYa;GPv}>17O7hdg7a^Tq+7W}wa8NAW4fX8!~(0wG|n{uOp357dptClr5>%WxMQnz z=n=PB&@tUmAjc@B$LAe`cBoB^K>3hqZkRg);JbGj)-Ir}4hc*6Eomxov^AgIy_#+K;=_c=ley zZu%bi!5Jw>Z|PiCCxI*h@*SrJrj zXAnlwpmiN{qG34SOLrRYGEZ~Kh0+CD%}(;_Bi~Dit|#cw*1HB~LQFO>th5?V&-kNS zYAk`AOr~1Q+16H>CH_4@IBgwx5hRYvlM=DKNaJaQ z$hNz=ma8>22Y>JeqVPT%&>53$z1|7&Ekk>>@*p0u2bDaGi6aB9G%Y)iK4X4uOJ?pA zEm(fVsma)zi&DMOtQvHSTtcNuDyO0(A1Uy|8a@rfJ5Pc90)iXX7)@fq*Vg!3NReHn zv;Z5rzcoEBU7#rYk{uzx5f{$^N@%_kLX_F2@SR*VmYb99RRe}~mNJYg|IySDK;03@ z)fBH`_@(Q7Z@`Dwl{p+ls7H!$FphJY7+hU9QAwlZkwEN47`B;6TZPwPY~zXt?BU7L z0W;oMiu@6UNk9Slc%m<2Av^DbrZszyrQCVPglKPciA`rI!7mWy6SQEw7#EGE=62GG z=n)(8SeuLRZ(rfzQeon`%DhL7(%v-9**{3}<2K~X6QLLz-UH~`5Q>9g!)EkR>D?3I zNcM8e+ulikkQAJADoxey-)37ez{V5jFR`gq5_9miv#Tabq+>+|v2g15?`8q}#YL;$ zctl<&HlhSSjjlk6wfqo^I0n?J->VW8aRca0B?=B@MHyfD;(rf`DWkl0A{wdVPZ^Ts z#+dDe+obQeHWcCpPc|~4r;~Z}cy`3XbeI}|so1qUH0?jN$RHdyHq_5t{6GUXpw{Fl zzVYtrn3Bo#u!({6Jt_QZK`KKW@+*G2(Z5S9skPXjJ`ZA0spjEK0;+R54U#lLXmYkX zfN|hF$Z?3+14Tw(VhUso#y7SzYg^coBpxe>(o3$9+5>Dm0IM>Dm{QbQtSPqk+rxzi zhPO>xn59_L7CFZF9h|3P{Snwc*zuUz%3a0RneBi2w7!wC z5oBF$Vyq18E%6c_CA?I1UuOqLtV8lry!g#-kR-H@hOwst6v+Y`TS~_wI3xd)ZIN;c zt7;r@z<`D8lRG}o{_S}U?lkV8RI;i@P+zG!?@e<~t4ikiAs|SWIZdxBNg^o!rvywp zMRl%*h5RyG)LCTwjXdd?)5p)#^wl_-kE(No+soi}8{3S7tjUEx_zf%Kq18>i-=f*; z62U(s0rb6aN}2RUeOkf$qubMwEuC%Z)ti+WQEoT{_;S6QM80Hrcj*Ifq|qYDse{YX zkYn(_|0?T+3pZzZi`^(xz+1dOk8 zuk*;+M{S&g|FWL}b#*AnSDkSBQMM#1MS5x`9PtV^9ev*rLT)(D4V@UzMfM&B5Kw9Q zvaBb2RSoAWO*a-;2SAO`TFB4+{OWJ-o4yA(D}KLEiQo$?pW}qEiGbXj{ciEvicWa?H_I>V?LG>n{+BWa`T1C0f&3zqP^o zvkEY?(sj?5avjgvj_tDY(aYjkxH|gxzsLC~hOUDG+1xqMii0sMXPbPWW?b6YYwXvA zl$oE0rn83MSKR)7fs93-+(=%b58r58Y8#rxVzd$z42bD^J&i|ceyvA8g=Zffawxq0 z!+$9B;CH$xA+9Ce0x3C6eidsLE;xLohr@t6arQ8@8KDBDs7<>6kDY>&X@N1|L*m+b ziU_5Fv4(tFmC=VTR(lK#b|eHQOCT2Jloq}mgJ;_Ppa&2J=u4;O62}uCyUpb?Rxa zm6AG*$e^uaPcPx5N#Qpx6T1I{?|J&m)psa`6|&lu7VPI{9?G!32)PUhsv^EZm$2&^|s0&F#$RA(*NlpNQ=56)?w$XlrcwLRy= zTI*+b`a93hTsk@anUH_fi+DUw1yby*v@^FiEwzrt2P--vfrCo;VIxvL7ePRVmz4$9 z%0XMl+BXngE)*6m@3dWdvC0*#O)`lV;-3aNC%_@2T_ln#eQkypNBm`YVhOoZ?HTdk zK9e$=&_{ci4V_%xN?bZ0#5C2fbR!}c1&)fX&}a4aZBZk@_xhlKVO9dr0R=l3o!?ev zQk{S{U0f6x)D!Hr(8O8ow4SCAKoxTqFocE2M`sCi#!gmBT59J@t8lv?%Nq2B4z!pD zI>)#h2C$8q7=#iByj7=m*XSaIw|vl9(yPh2z^6(r$S%Iq-Qb1+_71maP{aH zPA9|6w2Mo;S2G3=4!U^Cms^l4tPywN82ro1#1svrH`%p%ZY>6qOncU1YuIlK4qIrQ z^lRE~MEp!t>7L5$_&tLIJoH|W6zyI=L07&oEu5VdP;N^&8qkhUErNIwQvtPP=0L#5 zq;PTDL++YEry(Fsu!;b@T!K=F1494@X@`0_ArJ*cV3{$-pknf|XZ3zK(Z<~m2p`FaW2867p$ZNu!peS*l(3oJQ7&8z{1E!vFYx0R2E63Fb z*UMw1S=oL4x{j5Ej=!CujC33)9b?9`lD)yWErA3rru@LXP-f*z@!kJr{Bv!@++#Q! z1(nxM3o`M~+f0pjV83M9fofrlj?$p-x?j56l?k9;iV@w?(8r=A0;MUn`-z@~aO z7Vy0~Cr#Vuy#ayRvopGf@H%KoXu>lT>a*oVNQ&1BEwM%%zH!g$`MSuE9%SvLHv46q z9o$_6kBM0}`>?*0X7rL`mgqY6KmQ0l7Cn@F9K;7Sk%b?aMe%xK4LMX`hXdC?HJI+U?UT zAyh;}!=)+qEqg-BE8F&6Z*REN0ka(E)$ypP{w%1ELPf{Lh0ql2umS|&%|XbWj{5!s zZQPKLWDDc>o}H8dGG8Q9_=;17#f!2A7eJCAk!JF)3i#Qmh8S#-l72O+zBtHCMTC)c z%P;<__HhA5gaB_d`Z~ovC29WJor|r`NwrK*&~Vq>-i`~!C;J(!$aQr75V&Sc61+N! zj^(d?vKlj8V>2hU-}g`OI9VuA#b2ANjugwzi%fy{5h&k2T9~U zR(+d)%#8WFmr{n#gAv6LvsIg)aG&(*S(=_)!J`|hTTst{ehR#2Hd{64{ zM9*yxo0wa_Fn!B!Oi4Zq53($!?o2H(_0l$a5RvrgmR)dO#GW38KF{q9dCuNK=H2Zs zgK%4=GM+@P**ERMX$)(S*la-F%?l{TtH8s~nwbxYQBlETw$-_|#w0Hxq17DHu{R#< zq`+%w;Dluz5g`iTRX^HHM@e{~Ct|r=!(BD`$x<9qE>@&^l57XhW|uz>wx?t!9Rg&BsK~jGdi%Btwq)DXc2=DmmePRnh6hBXdYbX zQbyWc=vtMmq;eXKBt&0d*n(A~!1kQi2MHl?H|D@1tt5X~R-5oSN;A_31eUHG2PIlm zt`}4uk-oPSYpKy{p#|U~;zj2d#l9`#vcP>oOhFiNMi@cS0+U0OH$z4q7_tLIK#UxW z%3GwyxgCJmaEp*|d)T>bc#=e`@KV|rKOOdYG@2EfVEmz}c9^YCJonXq&sEzGFGOU2@5lZL*zEVd24J% zak4SHgobDSFol8crH%sajb3e1QC zd~73+T1?S4bWn)qxsseiC1!(LI_6GQ`HiWZdPUM1Ro7{Mawoazl#5*P^e@*L!Lz)P zp=5)|1rRu<+QdGrrxnIehO*6)0cp@ct=%o{pq@mjlZu~O*Y#fUd>znL!t#CxUm=(X zWjv;+@DlPwm*7;g8f!qy5}nCJ-?pcf&Q|1lH7OL9LD*-GW>8sc`y>3lnRWQ6wQq08 z-~Ue7?x~39Y6j!)0-CliVO<+BX-S}PwtGpupFZp?wxE%MVCY=*(% zvSOjUTV*%&=XMaQeY(T8fOr&B;4Z^H-8m(YhIkj&^NYuW36O5U6G<7Si#Ec@kgA~3 z=CI$v$R|lHTLB9L)mvMk3%y_%4EH6y?deZz0hz~YM;l2A{J+Fra3nA!S2(?<$Xk%b zP?*O05*yM3{Ms4M`GOK4?G1Z|{d_A%dgDM3feTgX)r?SiBIO-udHWb){Mu$eZ z(TCY>!As$7KDQYqm}l#w^g8HNu`6|+I`ezGm@AB1t-P3^;qA2Cfu zgJ(1(I{ojgFU8;_BJJ^8vOBy3df`u2lkEXWI_|d3@#zx&RY%C_j5MFczfYZKJ7o*9 z+zu4<$Wj7$g;tW#?ku?GKAJXB%b*SW+jUL&wM68KplW-h5&(UZFX>mbndEewO@v_f zrS@5!O&j{}opem-TK2A=y3*up7p*5=UI3PM3(X@GXVl2u5gA?bTMgs^R^il)=SNw&hjGtvJ(#hTF_!E=cm+U-r<&aTZ? zcCQs(9OKlw#E*T-1h^RO)V5vWTuJ3F6ccE{iWm6rjqWkPa^(`mvu)hy}_%Emq zf6*;sVXRDvqGL48-f(r^jXYt(kB`U;Cr9;XJ`W47Sixq8oxI81%PqKFJ@RzzZDa>K z1rUI47eOvz*FRNrm;IlTt~?&f@B7bU-y>PV5K`8%R+d2`Z7P){Mjy-A*X+yKiWW(V zvI}XkWnX8ILS%^S%-9aOF&^e693&GE~vZ$^^(=O@;&-YvVF0bCierni@B#XI8v*5Q)u zV+B3+%C_3xx5~y*g*MQo9lz4b@7EZd zp_q4cUEqc(9zd?K-f2g&+Zo?{P^4|{hiRg%#O|TP`vzj^B*1J(A);J{)2yk!Mpe{jny!ou%OkFI;AV>CDGpVS%Lpek3Q-KP8% z^0xY@mG^??swz4hRzXflA-P*P&ig?p@jMv_X6IfWQ0u$JB{ln%ms1~UL@}+RswEei+4GO}W`iU4!4Vxuxm<}YUHpjSn7zY@EH9kXycNuB z``RP!QDoY`dInpS`&SC}`gnnoJg)U~`##+7M-FxFnM4f0Sa#6m9J&(+ol!It8tCpN zijw#}hE=B{%uS2GN3xd=QOV+ZAK<5V3+2?^CI96X!2|CoxHtjILHt$Q0=OD6m6B`^ zG{b*@dyE}aa#yyza>zVytYP)!9d|A83?2-O;i|(YtE#%EkyQNmWD2w@;_AMB)zXnd zj(aU-_jG+NI53yE!k;6CeL1}8dctH653k}AZTYxH))7*$@MHJ(4y%R-uKezG{D}{^ zfSVJ1G_9OOlJ_1Fdt~mweGm>ojp2X?yPGtz~anqO}s$57hi-?=qFFCmBAtI_JHw?c8NE)(M-6 z;ds)e`oMjel&^vXP{4f89YgLgtYb$E4$f1@soDNeN)s(I5i3j@Z!`|YI;1LTP{Y@W|MWi5=|Ej?{^sMI&&BmqvprbnMdypRiBB=b_`3|(IX|_cARU~ z@}MV1Ak!S86;It#a>b#$J9a&FSW>ii&@&a)fNn>@%hV9Z ziyke=n-`cEH5#pknUhq=CSQB4J|2KbZ3Zu6)SS1u{DA+zpc7y=P$utcvMF5ybaveq z<#Dl&sf<@gLfdan^=q2coZeK?+AHdFnx1XmommYb+^@R~wGzT5{>st%-ld%7;wp6- z#kFmKkj#mE_-X6GH|;7?ZQuJrdD`h^J}tl1H@5$aO{U%mwDN_&;j>-5YBoZfjf;?A8A?-R#* zDH+B5o_#N6n}PXMyS$jKokn$k%vy!rLN0xJ?(Cyvc!NX%u%fiZU8uO4)kL{7U>Nca ztW?>4juW*g1MsNJc?WE9X5Ww2Chc;b5`G^uQlOPeA1_qhp8bZWN~11aHC8QdkF~WC zXY&0N_b~g@Kq;}z=dkAT`b8N|T}RhbTe2L{^-*KT$|HA=o^JBvP$V0~Ty!A-jr;{H zR`G<;k$oOpF?z|1_TX@8p#F6*s?UVpxMDf9;LsrH zrRx=pZ@rp_%gDd8z?XK$Ba|C!as|pSoopMVvdWe&sk5!+aAs!>q^7w}xG9PPC=X7xim3_X`PM z?FmIVE+aq7#d3gZCeBP}CtFZpjS?+OfCz zk2s1R(ADy&5wg!Gw{+Nb+O*-@AXwV%zSmre?T8>!9>b5M$ z=>NX>D;h(takSf`=y-LuQ!ALif;HPWejN>5J~&mE!`BzZIy4#~He2~W)|MTO^|?a& z*1xiBrBOhZOE?Fq!dS5od>s7kZdGOK-i|IpX2Vm35A)C(8S}9$;&r2$&b#=7(?)pK z2V56j?LQ0)JWA9Djpu@BvOF@6JLI7Vde4GT?}i>6<6e1<_-87Lz##3 zXrvbx=1R9orO&2v6ytqun(?U?=a1F1;upN<)yA~$Q{pSa$6GW9uL9v=zTD_ms4&ba z)&IaWiZxb#pS9}wFgx&ci$k;qEAI)^GmS7JLl^L%r#0iSn()uadwEW&(0@3cFEsO?j)oOQaJoZxUjADR@ z*6g#|WY|Xg3UmIAx4zKg%t6fE(c-7KV{;XXXblF=BLb3582HQz>Ze*hNiR=zqUG)& z-~9Nc!?DNLfS6JL?Sw(kxse`x*7=@c3UYBUI(A8_WB1UeRlh!hgI$Lt$eK0DmC-p4 z6{FQ1Vg^kc`WorSXl_2+C+}W7Y0vOiz~*$+6r6pIke2>-nftKEpGyy&q8#_FYJ|R@ zk2R<2= z9%i5BDF>NnV_fx;X8D7Tbdd-%AS;$VoB)g05}khmsb{|RkC0Nr6MT(Jc$PXsWjKm> zDQ#p)rv^DFgJSA4b(4J~^?cySwP@Ce%>>ctw0`JA#^ZEZbBm+Il{qy~#ka1(?&iir zOuplBh&^Xd-g2LBa#KD0=b{9Y3IO8swi2BJ!WQJrqz3{vz#GHxyh@@19p??jVJF1pWgT6CtiHDrg9R^zZ#Rh zh8_DIoe;M)<(PO1G<+Nfj$670vWgJtJ(P%}jX%`_^PtjGwzmfpw!bA}YG@m3vE=`l zdo|zhW?Qn8-AUxMnZ%Zj@ z)dlX?ZGX-Q^E)uFgytqte*ct{nZ*$Fk zfQ5hJKid$pizIF>9F!S=zHq;#jcC3jsyNMA2PR-oo{!)VbY`dG$X%i#(FF1S6a;0596o?ry$%`y|)lJ-~{t^Ty=G} zbJB&Tdjh*)%ZGQdS`Q*y_BOuU4U<@YHMp1nGu@}!}!go89E`AA3P^UUZ3kHII^^xYE!~K|!rE9n8#o^92L9MozvMjg5Fi|+M zX{3bK+GJ6>y-4{>v~t;#^;kkDEZ(MkdE9AS_@H#A!_pV!H9MOqEBm>Wb>N&CeL2XR z9^Q0(#%o-;nzwKmZoxW^PyW;n+WDL9bfR)S4_{P75^ki@cJbKGtJIaL&CPzGXPTt8 zKK4Kgv?6r{SVqDow`Z?WcTug&<g@I(OnAI))?*$X{F+3376OyF%Q==}JI*X{UcDQyf2%n=^$yF=D@l z(d+_e0{t68+R!Mec5qc@Q{;&3)_i&z>sMmhtPvV$Xhp>QqP$%bD{nvto=~SUeEXO^ zAN`&A#l`~<_=zyqg>!$#E9}DxHuBN`ei;rPNc14yx`{Kepw~GPBuVqZ{7QOjuob`(1kO#s>@*xHAwHY+*10ijdx7!3k_rbX?{e8 z_2;Sw7kaE%rj*-8%xh!q1_us71{!3t^7(_jfeiN^7Fmb9PL0o>NVlSa^LQfd=)~6U zY<|%Mp8<$P-a#Iij0QB6<0VP26yesq%Dm4|L$ODF#AjkEjI)c!RNl_%CeC&9cRme8 z{j@Q@TQr|P_G<9x&J~o2N&)z~OG(eJ)o)i*wojEM!myr>~eB;7j1JJp4*B z;bY8Oovpobc5r9`4yKRRD0a#cmnDiy0h1?Azec0SpLFjbm||2 zET+y-*oQ#T+9ae7f9(xaKsdcOgyIgPlrs&T&o zUe;Ol_#OGPJ44knH(9;vtVaiz;L2!R``e2;(dMpWn=SS@=&{?~*AJ!N?z5}E(7P$h z!&8XCkg71pl+k-sjb07fCvKF|7apGU{|d4#ZdDs4g9gDeB}FemRUzQ&@#0*>#c z)*?jmJ))ye&zz|;6BfB9@{UUv4q51OQ2X!qpL-e04R=E>MZh{Q>aE~1sLPNz<~6=T zjA8WOEX93LR$=Aj%62+P8Mn@$&dQ8Kc*{j$x9~7+H^;^H+u4~N=(+#&q zgl|K#6Ub!RPU%BYx6M%f)Tza*`wUjd1*JIi3rr>UeBx^l+p)`W4(=+=0(GM{=^`iN zMeFn>o99E;M>p!Brd3+S5+aH| z7BQv;>fZwe7(nEP^__cMp(=%!U(H4}z^lMOy?d1C^(wch-6%QycfsUo!nnGhf8p*jS-GE4=S*p)Dk!SO}Hc5&GQ$c$%&sx#3dPnl8<4B^yOvx zmGDhJk>IZJvLw;`iB+nwG;MsH3cFK{Rb<`m#0=^Lf{h?v@7TTZ(ShDIof6+KP$vf| z^#K2|)pb6l!_+By?5iE1s*?SSu{hJ8!4X!XWS0M*6}@8AKOEG|ZzeauS$cS87n=-Q z{ManF+3a5U_+z`#!-1?wHIdJeWW0pL^~);tYXT|{xd>_EPr`bV;Ga6H=EJPP z?LoKA>T=#}mKNBw+;eDH=d%B44L*IwZY~YAoFRPU_rNBDrc`QtBS_rTM=F+Me_?3X zRw>|ttNSLalxWvVlvee+=m6}ez2xfRp<}H90>ai&=U%AIn&#od}JFDUmmpY%BM2$N@>bo#xHU!EC zz;jas!+0+3zqwJk#~42>LDN>%ESx*lj3hJGXP)!p_a#KUEuHxz*Vok`>ZCW8Q6ICn zg$wB=9PR0$`P)8-bT4xzON%+lh~%>IRVV1QD$q)JVjs%Sfj|ufMR(X@CwB@&-!^l@ zB~Aj?P>kwYK?tYE<}&Jx)+E|dpdtI{&x3fd=c1s|?~nx48|M1V27jE?r!}tWBYP!g zFjKPiN#Y?hpGZ3BGq>Q{=oKBzXCHqZR_3NcRu?gP-bU_u_NPy&>+g#REhZ*EW}n69 zrdZ9{v@;Fr5U9uR9LA9D^OVeEvoUc4vU{RDs*sz?C&-#{gM@VIZhs>Z_46UDa6 z@d(1eeGuVgz=0XOCIIqVmIwp$;K+fe_eU$2sJaj@4 zdp{)UwHW8pWu>JY>2roePh^xl>n{>T41&)0rkt6owIx#f+=72^=c$l&&C~p$(aWZu zxx2O&6=S=#b)ZT?k7Z0V^W{a9LJP`L6f*SHBw2BD9~-}|r0O^nhcYt^CnEUIji2?FFy%W_R|r3I)YoIkn`Cu+>h!H3@6r1wV7RRPhmj3H zJ&L)qyd)CMCtIX)>HJxEN|4M?Tog?s4gRWCS4PwH1^wuM9A0nA5s_om6;wZE^nT14 z4n5{aSq`JKUIHD`abAqt*=Mo(dJgeuPa;mnk^3dUXVntsWwDBG&H4Ir1%?Xy3dU zxY+S@surC?4U>tB*Dhj(N=>Y*D#P!pfz$xvt9S4h7u0p%u!H1&%+?=S3KOI_;u=K|_fQY^X%h?wtv zR`fWrpWXA3W)vr}`I;RShvQ?1`2FQH6({JelG&%KGUDS9m^2MWTSvs4 zxS%{$a;@e``UeyEHCH+5v&>qJEPp8FqRCesx`&^_{l7>Jh65@1&>(7zPhMxjG8$Yu zHb<4HrQI~F78~PNNK8E``PAqh1>mXx$>C12!mMJ{XyeVz;vEsywIli}d8&brrrerL z3pT}GXRE~_=-+LkX+c+F{A_IH^?x|-MMkL%lcQOEkG~9uE=sPjquNDMn2!qK{H9QN z@nM5qe;0VOB$}1(&uosz!Eb|{{{VKJR7r8}3ckv-OK_V>+$CWAL}_><@t>N1p+Tye z7CdV(4yK}MpOH2r&8sq5_Jih-a|)aU!s6l z?UwTkgf?~f8xv--`CjU{P-Xf2dWvxwk=_5=Zf6lQ7VY;d}&vNn|hf3-5J2 zbPGLJGFvk%7T_V%w;I(q60XvdudnJOo~Q-%cy-vuvzml?G^eTfEM8M7OVoWn^zJj< zPX5|VY`ypi`FiG-6MKPiv<@;fj5zVpZtKo476ldDheZLtl>Z&55HJV+7>JJ#BrW36 z3mCFVY(z?B?u!Z^6~S9D=F%C8q5^VhbDA^#N4ftCCFbw_a)|Ln7(Odj=6>PPU%8|bxdAHdlChVD5}rcQ5S(c7VfaQhZ!RGYmW%c zcMFSuwS7R34nsMUNiK)C4hrt|_Bx*2MESlM*BcG6;|3DA0p<)$jZqbBsRaT_BsziM z~;=^ZJj|xq%ef)Ufj$PmR~3__Pk)43d|Rz*jp&T%g+X zbaLt|?)H+7PND<`r5;IrJR$RE9p1# z%8yqup;HP}kgwk@G!($<_5v~fHilfXncEq*JHLF|^^M>5nrt4+COwK*Eic758i_Jz ze#F$GF;sS?_;vYHB0*}v_v-%4*o*w2S&EBLNBLuzU8llE97@X;fyrmB|NBe*`RT9s ztY*Z9kJE~sL`B2fj}O)6K9 zK{&+itV!EiB!+8!&SaYYO_4E@Txnp)sc?e6xQA`BR{d_Z4aK7hZjgw2nu}E%n8A0g zpuZgj+A-1{m^0c`kCMsXKU{VE`b-X|pSX&#oqleSk$|<63{vp5d}NKz3O3VhR$v&B z8Izjet%*2Cj-vO~XK3!XDnPolX9*}@$o0C7#?t&qu+h0h6m_ebJ!VfRcLeFC;{Lvi zJ{6F*5IRWw0DYoNbX@^~gmC}f2xxP#kp>&S8psp)lqTkxY{VIk9D^CQ4jIz!ai*vK zLYl&KYOaEsE*j#yO?K>$(ET68-2l1nZ5I>*V}LgarZNi+D9Hk;(F;^a#K(iG!1&qo z5~fo{n+@`pr=R1Xv-KcP(WR1!Td_|(oEf}ZFC)Fv7hb%PDEh+VI9b(w?EOToaoD9Q z&IY3#QcrrEwxXH{ZEfc%^_aZcq>4@$ zkgc2ny3>y8^37)%w0E3!Qi0t=T5(H{Og+0rl1j6ZEOhUm+2wp~S@hEJR^%bUTIS6T zWrG{SjW;n(4RJTlP^nGwrU`OIw?R@dBURT?E=Pr*l9EfQW&HR6>qHpHqzVrU?ZCWY zji1etFXTG)t8<(|v8;I#7%*Co7tD~8KX4{%s@ICM`JLq+IOVOBi741;d zHfaANwt^UD0pn#F?Xhuoi2XQs;Q8lTRMcw|h=72JyEq_on1zvN!Noa&=zVx1>ik9( zusU|uMZWO$pW-trLa!XggQp8*9kdQL-<~#}XdIiZ+ukN_n116~7}F`d%Hvwvm`V=n z!>dmkWeNN>x)|--Y^BLLsrl@;XUEVhn5obK5*Oe>xgc`_&uFhv^FdF#$=DDf z_zV~hoT`4w$+9xN^QlS!(1z4mS)9G`%|^zW{}c~OfZ1>R66F(*TAxvsFWem4onij! z)vEt(yhiiIQ(6mc0uP!Ri_fOgT!c(x9uU;mCU5bzd}?gkH?hf$9lW`KR0H@8WI86| zn|ZiMQ^mw)n8;rQNPF7bysxKb&G4l*u(8ieW{wQw-ke>LpfwIwOh5)I+lI+>6Mlm< z_L$Jn7!rQG`Qpuu3~;vDw@R)(#h$~A5Bcvh9@`mZn9KAnj8bqTJS$I2oT@9B|Rf~(L1XGUQVj%*6%G;r+a*WmjL>M?nw-^6S3NWqY)xw`Hg4H_SR^x84Syvx2$s(LrUE5{27Xqx3A8y zx{OK9t_FM?o%zkZ(gmykfs`2Bd4Nta$1)rFY8-rzf*5^+$RHs>fcrewGZV319<1*G zl9q~$m3cex$G|T$TvB|T#wxaipZl_<`-blK`{lwNg^$;|GgRA9jTtLqaVxaB(}_Q`wrDm5o~36rHhxFvk3XE?|@rQ|{JVicfYTL8<32 zv1A?wh}`0NeSzJ7bRG-dcm%iev!K=f1Va2C9l<{|tkS*bw}0Vi#zZn#l;2c6Vars( zH=XTH){y9TzuMTpFsaD6vz1lR(enlLj=}i=k2nPy@&sio@Z6#)ekjnZ=0oKheJA%M z!PA_7vB#V1H9^_;Ks%KCf!s1zboc19Kh-E2#$~*bp%>tbZJ4nZ`-#))I|041I&4xW zmhVVVrZ{d(JA!3g)h^RU>UoC}=qeB}8M_J>(dv*6fL6lG6yw&l?-I%r;)?6-_FCdT z{4LI8DW-4i=G3t7ia*TCUvlj@ssScnMK2}b5+)3(;htK;-fdO|K&XQ29d~Eo$|_o) zh|QJWDX2Y!s*Hay2)FX0pUjENpCTh8*cHM34?wS78wwh7LLWchl8Wg2O1X(!mrxmb zv7~h*Yuk24G=-kMb?kWbMlH%L_fenWrA_ugrQ8Uxrv-j%5Ad z4j@uL7a@e;JMUr9^0W>ADlxvNYJhbTTw(PmQLFf|d;{WP_Od}P0S5ubn%}6#ooy2P zp7+NwW+|&&Tk=QDkhsuh zjp|&dq@sSG$|AD%VUMk7GnD&~EHp#DT(INI~49POmc01P8YBw8i zb2NW};Ap?cpREhOOgtiEN$*qFFco8muM&e;_5?~5$YcC)oetnpO+Uz7KP{`KE!<%r z9k7+ZP&l^vIA8zo?r~Ttay#f}5Y~Dfd*@ISQP`aIW&`HHN!t5Is;h*r&pejs*x;PF z&eZkhU>+~%+c&trOSGXo?T9)PIPTYPP_G!v^%|8E%Y6phnqp4#{@MyWN|m6HmkH%4%DmQptAlAnE< z*w#{ci7dRq+qGauEg@C7Cr$39{P;9jEH9wi{p9NqZMdOb-qfkFV#Edh{Klj%{TJRdJo+CpUVs^9aDf z5+P;dK5kNqpJX1DeU=v5Mt?PxQYs6NKXl?iK(hinZ??zQA9DzNy7l(l^W55;?J%gw zI$)fP|3z(o@R0R26>imgwyyb~B*I`N$bBpJQp}`#NnWbiw;CZU+G&728in#8HNHZ9 zBQ2W!HB3yf-0Ay3#3}H)5(^o68OR{78F`@hwOshP8;J{OCWjaSC$Xn3L)7PftZEf|_mV$5mj! zBuz(mb2Ep!&&fCYxu5r;k#83FJoYu&!L4JY20JL4I~)77m=D@}|2DO%6-dwqxW-|D z5YZpF|4oAfjAT@u;YoT0NOAM&lbxlfABiN05t_E0LV}|Q6NjzD7?RK-OKem9Qr zJ1dTKG7}e2in>lpyOE#(^plZ!hH@OwMV9rghog8 z@^}>VIhWj=_H)Wm?9)QY?yo&(=rcEBCMWs_2ftj7V!RTTyM-!!eoO&Jp!R_c*Q#&v zH*Bkf&!Y?k+Wo^YbW+A_hK(+J8rfq=x=j!gwYvb#}<(Svf-wj01iVTt$ zD?}$A?0Y)AoCKq;ala(Uf+(?Dg@sQZW!nbyIoC7)e!d5+{X~UE0-hAiSWHzgcVb*% z$@cHMQJ25aiG=IldAS<%-MdyJL$UMY&e)OcstwD?qr#?P%>jMBgn}|I2k~u+9cwAk z`L+ALxa)w#%DJPcpZBQkgR-*_nr~Y}xz6Urm|0CzS>6{uCVuyrH#W1ZN(;`@nmz7l zWgPFg&1r<^HLB!LJ4XLXd@RpCc-`nHJU1>l??~)%PS(Jl3omM{*;Xs=V$$oI;~ZD| z&t0rQ8<7kyNA8xd8zA$w{dUQ>&GH9~=!6JuIzI69NB3wOCDjW^fD+J)8ex5z8NULb z-T;^qR;Ku+go9I@Res-)gf$N!7E?H)HJ`qkdeFYv`_>j^6Zu zUfI)0<-n2K{Wq5}6eg5BUJMxhV#93Lh;tjLfBxW{xM`3OS_m}CiVp08{`^s@B215- z2QQg)xrl9C>6{UX?q7(g6)3sFij`^ro>#(oPRO`^vZ@}JrnN4kR&xPTo9z`i@sBg& z-(9w9tuticvrm3z@}Jk1aj{_)bq>2o7-(fPT^JpH!XW>@Oegi%{Ang}eA4UZ4sun(22uSmUg9&@w>FP6Q^3Vx}8i`~cO(JzN-%>w7b{^NJfi9fluwWs(r z$1OLtdNG>Xqdi-(>yBy4$ce=unVTs?435Dzz+SRMB5s2uMlN^_>>vkc)G?c?FE{*q z0ncR&H*jYkGq^beQNkRVxr`Dk3JSS-f9r3~qpn6m&a6XEM;=1@22%1`MCImYsMj|eAFpx|JSdcUgLqy2wQ7O>x+$mKns9}vm^`b-3hB8S$#hwNhoDDvVmc%_;?1Yil1_u zT@~z*7-z9K0G~pmE3Q)CzT5TKbhKof_>V&*$$oj%Hi%N6ng#QEcKXgw3 literal 839 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
  1. -o8#B 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 diff --git a/src/qt/res/icons/notsynced.png b/src/qt/res/icons/notsynced.png index c9e71184c5c0641bc14763cc14ae899c98363eb6..8c51015068e5550c34643cb6a943a4689e15a87f 100644 GIT binary patch literal 43800 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

    ZIKgD1S=Tkby{}NG3!Ad_6fr19T5p04Cgh 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

    +O+T7z4r+N9QRejue*Ny&66fiz4NX)_dPK0 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 z%0D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 Q_HUTr754}KDW=K)0UP-9VgLXD literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/notsynced1.png b/src/qt/res/icons/notsynced1.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e71184c5c0641bc14763cc14ae899c98363eb6 GIT binary patch literal 1013 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 literal 5226 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/qrcode.png b/src/qt/res/icons/qrcode.png index a8d97174b39197ce4f457640f948212edf109451..cc24c08c723773b9d8285eeb32b5a914257d5395 100644 GIT binary patch literal 59358 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≈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 delta 225 zcmcb2p7|}KZ)bp?J1>_M7Xt$WucwDg5Ri5NVMb;kIbr$Zxj>4sILO_JVcj{Imp~3% zfKQ0)|NsAi%+N!Z>p;>;-tI089jvk*6CK3s8Q4oaeO=k_u(EPW8SXGSaRaC#!PCVt zMB{wx#f_p2iX6-rawh!Up2EzxsLXxAf%_}=G@N1CCCS2J+OD$r7E=QAiSM6UW_9Kt z;tV~qmb1s|cXG4xg+;U6j4${cED4xVdvc*MSKbT%%T9^&p88&R_n7ThKYwe=+1{%S Te0mHFK#zF3`njxgN@xNA73Wad diff --git a/src/qt/res/icons/qrcode.xcf b/src/qt/res/icons/qrcode.xcf new file mode 100644 index 0000000000000000000000000000000000000000..ca047db4b3baaa1b8ac596f21cbb593a2199113a GIT binary patch literal 231126 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/qrcode1.png b/src/qt/res/icons/qrcode1.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d97174b39197ce4f457640f948212edf109451 GIT binary patch literal 237 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 K@w>bgbhx@)=B#Vgt}>(s!}v2S8 zQXoJmX#xpxLdc6GcKr6ezy0AGW`9yUqdn5m)zv+}-}igY?>v4NW|7m6KXoU-LB72l zH3+^~wZ(D#;q~+OSc?nV847*aUs~2^UD0&@^gSy-UI)A{ZXf&|0hMN{l-5^w8Z6>c zL`~aX`Zff91dWqsOZ)sy8>O>xY2bZ0zCps#+aPg7K&eFOO%SqqJo6lj>VKWXstApP zZOiQtSObkQX!mV;LRvK`JkS0Rdqw%fhXlu0OZaFO5=RBtBuWHA3!Z!4Rq6GMB@aF% zoXeUWQ3#EJZRw0Pw`}KwMkloYa?3OF$>sNmw3@-7X_zX?`Q&%MCOJG5Tq6k_6|h=< z({r0d8HbSXsb^e^?p`U9iGKtjP^?yd`}S^mxc&6R0921aG#`ORpncbxjq=B}bt0Y4 zTTjV`~xUL=wUkm4pvvDL ztA96vl7>)2V71F%?h&zM@*Bq^0jt%@%U_<7r#d?)P7(JyAuIrXcJG=)Yd1Zy_VETE zV{iN!H8MH#bo7Lg*yg(UqU{)CHztBlNdoOAEN9d7HQv+W@)z4hB$djd51Sg|LQ!sLw^8lo?m}o|M0b4s>{*zVN)})OJAW0fe^QnkP?hSQZlcc3%wm^ zX6xbT_5Qou{>CbwrisZ^Dlc)Q#DF9**DYJloD_buy|rvk>9!Asy3gIT_CU)Byy0^= zn~pauWwN6^OCnDwO#;e%b!2}2GKs@Sr1IfGF`iCm8RoM`l7Dhn$(21_B9l(-FNPhX zaP}KjPy{V^z)pXuv-vI00!F_&i;BqS6Be^VRp9%?&Y$7>V1L2VERqsgF<(ACIwGdh zsn$N&2Aq2U_#|Jv7D7uo?5wcan|C>!bPx2AF0i=`hyz-I?+Rconc(8-WPmg^&dO_eKa77-u5PDD>Et$%GYt=Af!Yl4lEYhv<4>7_bczv8!=NXOQD0=3(QI<_BBR^YxGU*OLEP3z8*{*&I@r{V2xxk47=db6Ie%ADaR$QS;ENF03A~Vxz%F16lnMwf zTj+NsdoPO#sZpeZ7tM%(6+4~m2>BDEfuFHG8Nnkf!Bc- zbIb6ceGW%cDP;+SmU(MksjHVoR7w=UqSv)K=UD>y>lVu~mqWz0G`-usiuM_z!p-U9v&h@<`nKJB`wJmU3*+!a->@y|aMQ&M8e&Us8a z==6p*psHq(>>2J81}XQWNuSZ8EU&UU>F>XKvm7&eN1X1A04}GCxTA#Yp{v2o88xuC z)PZr&jS*h`-nwJWfB#2=;hk17aIOEQw||xyPdiXmS1+#&_KHL-(P~sPJBm!kW0R3s zvoMLu`SYqsPmUvUj%)hJG$5LYQC(Y)`{^HeH$~#c4WXWo#jzC+2_=(Smp;?>H@ny8 zG>(pl)KmnE?!BUWZv&il4YK#z6%mUjT2;ZeCXI8N1=>^GR|LCk4o8!>)WvX5H-GV* zCY92Agw5k6GCo8s7Vk*A+|REc8Ez8*AKGjt8INvAY5cXiyu7S978hD1j9CxA9hg&B zF9)vmida0pKO@vTxXS1ZRr_JJJn*2+^BMSdi>@Gb=2EHnZR3QQ;9$&-T7kf%yZEL|?u$2Mw%4n*%`*09m8&4S`0mmPT>L*a{{;|vTY-!e0lxqM N002ovPDHLkV1i!0_jdpQ diff --git a/src/qt/res/icons/quit.xcf b/src/qt/res/icons/quit.xcf new file mode 100644 index 0000000000000000000000000000000000000000..b993f5b3328bfddab3a2d9f6bfdafe900fcbb9e9 GIT binary patch literal 194691 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 LAKq?ne$@W}cxz;J literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/receive.png b/src/qt/res/icons/receive.png index 53ad1d1565e74c0f4895b7fbf525dbd58bb663d2..df77b4d9f9d67658e863d1692c909fc60fa04b5e 100644 GIT binary patch literal 27405 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 literal 1437 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/save.png b/src/qt/res/icons/save.png new file mode 100644 index 0000000000000000000000000000000000000000..b79f6655af4d6d50b3b14c180bb31414f4536b39 GIT binary patch literal 27301 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

    rk3(kVY+OK*g7ND|FZju{ z2k-7p6-Y3MhdF&h{hT-}3WpUe;S*$Wpwgd)e}j{Y%$CzL^fhL>G&L!~feWaI*k4I4 zzJkglf+c~$K>sXiUS{EF&1_j6jf(;3W<#VQXoyy!e$t)cU)UY^N)Z)Zt%m`OL>AJQ z!UlCh7ziPqQoE+11+b=TCc$ab{{PlK(wM6ZbmG~haoiX4kN{z-*;iyII%5~hRdb>O$4|Fmj%JS>1&qUt=gh&P z`bBe~Q0?gU`YHHgC>5+feX(B!(VB4ai&aOZn1Oe-6|x6^YV1;6mUD;U!zEQ4oXR-MWRRIWkQx4#Qlo4|L(mMLB8`VW54w7Z*!Fk82We150JeHh_7D zW)b8mIT>RER0NOo-u}e68Lz-EdShi>*3%cu!gIXN{|_@%eMv$bt|7^I`eJd2^yRJ% zAKX)Agh_RAjzMtfAqJ&av&tKgY~GgaUr+?d-0 zu<Qpr{l7I$K zF)W$Ohy)Ny^y$>>U0rZnY(XlKuWAI;kB(+Gk}imIVS>U;jPhFhe=X8w_9*EDrZv=E~X37VP>R+!J{-qgf3c z8P8yyH4NvZAqgYD9kFL|sNe!;0q$Y26n9!!8EkUa;2t;Yf8kvq7N8>hm2OqR+cNQ1 z72)kFe(9|$+(#sNUg>CWGi{l@FTAj4&-2gk-nHvF^PEYX8%%Vx<4W7!z5ISRzkeA9-12|k*nZPOZuJL4bM0V3l zs}o2eBlejf=;4U=+L}ajFw@N}MD^kxv&Y?So?D-23{3Y7a~Bq63&<`P*Klhd#1IIM zOftkl`0^H z?x%SD43esBZB881utvKJrzm_Xlg}kKC1ghh<9BtF>`ECBom8g)Y)TyEa-0Bkbz%lW z57O;30n?Ed1XaK>#Kwf#H)ESnBshd=0}6W}f4j_cn-WMf$aRFq z275;sVwPBjIszczWVwGd3jP9)DiM`TI!FI8i9&0HvO+FYelD>gaa4j&Mv^i_jSrYkZ}9UXo6j#(lcs-WX9a{5Fi`L6^mF&<>fT-vM=$3t5#MD$OET zB2lJ{ii~j6&O%#cIb9OdVO}VSOp0-%HOg3N##Nx5vzizhBv?2RWg(j=DP?t)wMZgC zrrqo{FZg2QAY^M{k&s=4jO*1lUMIC!m2SBS^xlFN6#&Z5m`Wmnxnd)X~s7ofPf2YS*qd zIW%lo@zQR(oLj9+RZ1ZPn-eE$icdkW`3bdrSY=FzLQ+w9nZ{`kgs~#MOZ$-Q#PFv> z89Gro5!~UQejp_sY<0=tj|BaJ3BITlm1*WF_k zazkQD2dSAyNTRzpM@g_|OLiB5EqAj`*F-o9Wzov&dV+$PC=&upmE|A^Nd{18lHB&9 zDv8-sRO9O+HgbWN*;}%9f&$P0W8`*Bkzy1Jl~|CZ8G+GwodwV-xbAiP-v z6ErJ&rhKFsDN|g{u63|Lrn@MeK--ew1pB(1P|yImD4cLR;2A@^g(wg>F)D)fq2~;( zPn8&Q8Rt21SvGZm-;9+nVG6D@EYiTIsN5j164`KYhDFGfu={w8p&`?G9kpV(UT57b zFLom+WAKs*RQhS0YT<(ljRZF-7uLbj9=M5zQ0>@~I6=9`?C4B(TFnTrN~Q`^3(aU5 z=c;oYQ&~QMg&=u z3Y5nTA@r*JG%jhCbgNP#2M9<(8nq4#oisGEaZlCqN^C{*Q4}Bn#e{lr72M}lTR4U3 zgYgE91Px0gr~*}=%pDPRvwE!zwgws^w>eSJ%P^t3DVPKmMgB2@8rh8rY@JYJO{xG| z5em}*rwmexb~0q42|C`lPc1E*K)6GNARuU<+jxjXP0u*VA;w(TC88ih6onjsWvq$} z^;*;#$ZSX)6YF6qrXnHq5OWHqZAgsN*%z4xY}HvTIvWzx)woEB26PyZhV}y!XI?!wlJ)56WDgKET)@whAiaT6%HKOyfz z_-fvha7Prk@PI|*N%nt_ho3+W42M$#oMCkn9_s0Fy9MYd?mgvr2|4`d;%y`m#d9>l zqWR05Si-A5#}nmBxy;k@2^5vft107@eF8_6amqe{qr=sgrUZa~g~z`$LO7ex6aFsj z7?A-IE)EnCpO~QH^Ux`=DWVV_r(!RyA|%HP@j0GwfkQ)rnCNp2pE|T&2^W6%?~IR} zpBIFXcLd;W0>^p-o)ITbav~pBt1OZ`-P9pPUe$5wm2mpk@CbMMmYaFH!F9M-%yo_z zTD#a5?fJ`uIhX`f5}gvuabG@_bi&D)6J+GxXoP zg7n{YydAOYonL^4VDMib4PnWDEj0dj9NsbSdQ{0b;P@c+^D^9itlvXqb~uMDAu1#! zEnPVx8y2iwlQf~6hSHOtEVVb8Db2L%Mj-c@F~G4f&4?-q%@0el0+Z5mYLv$`d9;eB zVNm&l(-txa6P?)mMZWQvCQ7x!iJSCDG0Pq~w?EO5hst=uVqE*Oz)JTawW`ZK*~<(s zbIg)sWuj7`$B7x9DU$P-IQ7AUJD8kxLjDZW+!akWBQr0Vb?hw_na(E#va%1t6fw@b z#BqWdP|R@v_UCa=?EWH8Y{rqOK79(i5lB>zf`Xc*72su;h;z%GH{4=Y0I>6e2eSJ- zK5moLNRzioqFXm`>_)~QyYr+J{0`166$(`pn6H)n0q&;e?d~=A)Q;pe$sKMVv%g#E zf%)e>APRC2LXfByY=MX&{g07|pa6Fka-<^Y&+}h$h79Mn%6U0*o6jM2{Y4N`&bkohxw4l(z{g76AhoAwp2y&c;3k>K&@v$yG5DKB7Oo7w-On z<7*>4zawP805U(bw|!&$9TULk^#rGcwQ%qygzXuB`3M< zKuKU70JnB1O%MfUy(vu?0#%rDrx;UuN$99JC=IGG2oCIigjsW+3IBWu1J3&DeI;;2 z)D#EEi)>cOVCg_S$P1+d1`!Zgupw1qULg05kUP2Q&7neh#_kKn0Z1Gjt1FRIB*=*n z25iUixED`P^VkvhFD61FkP6C46rN;d(}Yz8sKUr_0NrOoWsclJ&UQ9){k7UZ@PXh1 z{;;;w@{trI38TR%Pq6`Upbjal&5R<=JavJ{n~~GBM#4qiY$5}syFC|qk{chYid7Nh zRu^SJwk6$TlS({gAUDVcQTAldc$-WQSugS{hJ=6%*;o#tn>DhJO0rQ02C&Cl;G7U! z!%7Smaa2HYGg)R|b27~RDmkc#gy%x$*Qoa(t^#DlnN+q23rDd3Q1WdD^<+okd_6J!r%`? z)LJVm9m1di)XNEWQn{PA8&NNDG+9juIx-7QZ|SHg#cFf8-dqAKg$etKXxqK*hC@8vC~RB z^&BE?pk6TSqW*^{Z(%9RU2aWe5t)@fLcF2j4)0zsgO}IIN(0q zG`30Zoq3AL*6g0W+!rjg_ir+K3!U%=B@MVwf!!LE5);d-13l*8ma9n9NK%w@0@$pYpgZ5b;SAP-`Y&u}Z&H}4-rbdkpyayfj7 zT~L&Fnb|QI1nBfcXv$PAS?4~XLMyW#7A=4lUC74 zj8h%s6b$ky08v#5a!+k4Ou1W{;UQrdR^AW*hLL;8Fi?X+2=2v)woQZzWC;0731x`E zbK!IBZp||0A67Dw4dRmMlhi0%3ZOhKFWnJf@ccJ!E?giDisIQ>VF#m=1`W_(d1!07 zG5xTWd+jft`8f@77#!f<3RTZw9V{5YVxJ0#rsjKt=;Si4&Cy;hwr^He7@Z zp;|@{vHt+$6Jh~MfRmI+#e({fwE_(&%-C`3UTXmgjD9UZ!3_m?hhKxc>EM1bq$F-? z0dZo8W2Q1;pd>zatV#<=Lp46YUTq1-*%@N+?6?F7mK4+~1Q?Tam8{Q5vJZ6=uO%}D7=`rvQFpEd7 zMh)<6GlF&~K^mvnk`R-g6KE~H5gd=65PAv4;g(2oi3&k41}d!d>_;(rO3G#fsyuN+UlAHDIl!I4Fyp*E@_HTSOgm=kFbTbayrONWHod~zgm>y z9-g6G35+BQW0WFFouJfa>KKHXwZjr{gz>hNfxQF*;lv_M<;RRK#(o3cdrFBqFr~=6F zhMRe!9L7Ch1&d*&(iiY8#x1yIHR@H4b75Q-+d+3|t)Pu&_&Zq)kL318G5lD@c&QBN zbQx5QX%^sKO=sN8yzb^G%1Xe7nga<|aL*jM^D%Q6qLmUU57tz=ju#;(glmTJ1?y>J@(t6_h!=Ulj~>Cw zEnOF_;0_{kuNXK6>)=c}XLX#;g%#b_u7d+MLI%aK_}rgmtiwn}?>R0v&k2`cnhiNr zm3DOvLW1E#M8XOMSDo?;1oSO~76{r4dRZ|uYSkHOgc2&UoEN)>NX3+*OhHJX11?As zLG&3m`JkE((Hs#qn~PDIg!&hYyk!pW?MOF2qh6ZpZ|fe-#BN>vhD5MZ2oQ(>N04L; zaO{J{%Fta4L@1p)KrIi!Xhq3b%Ok*MaveLMWCRfESpbCy zQoumLhAZk~K?(RbNlRHmLJ~3}2|`KHVb)%v^pJ=k;z6K+JM)*xh*KdJ%%;%Ct1Pl| zas-PDNeM9r@IO?RX##At64Ie2Pr?hFV-Y$kC%}pt9W5axmE!RhJ3zn`W|aoA9%o+8 zoj9UFCxuZZLESTyoFv$f{s=I5cOu3Jrx~^~X0!uPme3zXvphhaopVTy1;WdTI23wy)vq=96`EDYE{!cB`z;V7Y3_pYKCdfIU1F?&?9C^9>h3CGkJ zpj4nu$i?t>Uv9QngJxksb@Hk%(io}-v~%N(G_t8~ZrWM_kzhh?#!pKo!!B9Gkcy*5 zO};&Hgt#Qn+dUC%lbz(EtCqoGv~Nz2!w#qtQu=I&AORjdeH?d%A!Nl(@6r}`-P?^BjzG(nbS^iRm5;Kok%S(I@V zSJ4=q6)wgcEpv&(pj6HwXhg{P#GP|zHA#V!&B7)#c0`Qc879km6KebbkLIISHIIVR z+oI;Dk60hArnZhjR4|E9!bFO}u_}lpO4!E=>LP&RsGwLMcG`ZZ2~CHY9;v%W9rLNv z&_*1Y7AManJD2)CqZFoJFyFucq7>w8G}D7hbrkrQA%F1oJTl?4$228~MnoslASKI% zGPQ*p0T~-~K;>aFDj>cj!fh9n<1Y<(QmdLH86BzWClc?l^x*+rIjY5k3XaOduT;dI zNlGy^?B;M$^`TmiEMZE4fWU5O_GPjfFKAl`zpR>Z(+k8Ybaf%mHBP}Hml?6uz>qvZ z1j0K2=L4$^=Gds(V+<$pf<`?Wsd#>dE4T^{1t2(*Q}J?`B`r2fc*;WoOAvp!ylFR@ zigwA8UQHvDw0SUt84v_2_7>1`k2kk6&S<4lR<9aDY4+FR8pbO|V;jA}BiC`bDH;wq zBD947b9V9kKkBC)^$Wd)!aTZ9EtC@UzlNwvNQMG^z2UN(r< za_vE>k;|&>^@+oF6s?)jI*D49gw!UCu?Y(@YzH*SA|!rOKO#6TEK#8EeS+z1)VLEu{Ag>Fag$w2XWp*%Qmz)q<#<*W_`jP zI41D+RttG-9gh~NDAGi!RtbaZ5L>koLc$|QQ`)3jC&!}Iutpd~v$)sCNn40)>r152 z1+(lTq#?eb8>(pvTG1u-yC`-7G6E~7d3nho5w^8uiRTjQghfOsWHgIis`Vo}4Codz zTA|e@GLA|MCps?pq*z%k^)N(PCaMiWs?>^m+S^p-2rflV4>z&=M~jf^W~tF_T!>F$ zf!uN);!`J-T9H>@x?^dNx*Gz*a^wQRkSZ^p`iEp^EFheQHT!cJl}WZjso12g@2OLe zbqSNH)*-S|F+6Et+pt<`E!yPf>_}P$gk}_PvLGx2TAe^D22Pt4RL(3CooS2!5 z&e_7NkgRA*HPym6pt3aK&mnK+&3UtCUp~|zR+9N0S_Wp%a4boBfD zq-We2x(72*E2ML~GM!s@BV!(RMc{7tKzntzDhn0qo*%ue{3xyOtbY8lU27!>Y<6PJ*^+c zLR_7xMq!~0A;x`KEK;z|q0yviqPekL5N9tsF7_Lvka`An*D4YmM{a4x(=S=Uibftn z5mwS#*)jvuLO@_%2Qv?M)CM9zHpr3l>Gq731UVr$;md2}s~G}I8~7x-2^)QqR-^)! zGffg4D4m7kRP~OEwjG7Og5yl|qPSlfB{R`hY0W7(MQ3qjP6-&YGi;><+?7~EgXYf7 z*bqfwV*M%#KGpD%qdYVco6|!4lhvUtZr1bfLK~QAIb(@xd)_GpQH0-x!ry6;4@#@Z z2M^0lsg0oxwTRlPSD{9Y!)OWsBQPj*CpaS}*s_kBXH0N9P{RR0xER>VUbvY3eR^s_ zsMpEUK{}+y1&h>0G2u>I440BNwuAK&Y8Z8F=+1oDVLB?=dc=LBW^rK4h8@u9DG&m2 zhvFv+&_edm{(9Q|L+c0&21ukh^YLk(jSEFlN{$)( zxCH9C=Q6l6FE|>J@uL_YxAN%C)Zw7VpZ4s@BCpaAqD)|-z!**nf1a3sJ$z4_;dal` zoLZr;McYuVTDW4mW&~G}L54L_y37;X&@GIj_cxphO;0EV;zY8dI<(uM8IEhJi(uSn zPkydX&}OKytkWIPRjjf)BL=9p3EG4vS0V=+Te<@hV2Mb=!kJ`7#0=yPLy@ZCrj4Wh z7kI7V1~g(#t5(^h@?sI{99GyyO{G{B+eDEPjUr#wry*R17qJ?m6b^-wO-8Fm8T?iU zOZf;bh73c8RYhBlk#@@!_ZU?HT66nuxns;x#^&f^chQiQN)lrz|n&=vd)tbaOV`YW8#)k0xsZNOb zRwl%nxpQ)lCN@bL>j#AMQdQpP5 zEjky)v3T{hJiKf=YX`~E(Cl`fn-6O1%>!uJ+}UA7!?V&Ow3}51A@HMCw_wSFd#VFq zhQe+d_jyl~4Uj*`jyMb}fx?JgiKc`HD^8O<2@5WC19_EhuuDZzbgXYsx*u9uSrEiw zW_eE>k;u-R>U_OMd*Zpo6GiPxMHUe5%y3%fQL|J>8?iZ93GkMEigipnM$@x1*u9uh zVd7EejGAZ)CV!{{zu7|fABUfGb#24wKO*LTM|3B%Qr96Xbse%&JOskK0q{@=4~OuO z2oHFQ zVnLPVX%GI`Pex7@NUbuDPRNf);HyXicZ%m9-s5~lMh;wLGZAF6@eNLtAQHf@b|&B( z4c|aUYR}fhP^5K}vnbc*e2%rjy z3z~quJT+tQP(s>TGFySAY>L3*HxL+g(9ACsxdWtW_Ofbr20~=Ga0nJzx z(p?g1_Gk{!f~F0`nWgZ0xZfHgRucFO2{yA)kyZ}Q6as}-s$7u6@I-*4c*eF%1746{ zV7SP;)3ALSo8G+5jR(q_8IoLY6U%F)ZD|S{$|}RZ(-pJ@-BE34DoP&D4MYS-17yZs*6#m%gL# ztAIxE-A>2s{RST2JM-Ef;~dl}_;8_3SHvaJo9J9(SH%r|m(M9gUbDYeo<;#~Y zS+Z!+!i5XWg6MoRZ@ZJhH~3<~{Q2`*z1CREb|<%lALq5UwwRVkbF^ujlap)YB*i|n}zXkx)9B*WM6ThP@K|*G#+FEn*Syx5T(VHFTW~SFLC0uwq-m`) zhJguETtQZ#FnF{n(zwPsy<|aaOZBS2rL;1Q4b8X=pqmM@Ov|SRrJdj06mMEx?Jl5m z0vVy%GC*n?T{_rYHtEMI@C14KhPxBZg^|N#ac_ofF|C3c?w~cukRJ zgEk{}9wMn@RGYa?70eq&qmv8mM1l(E!aQ~=w~Y9;bk-fK3=518DuP zBy!PanR9&60?Wsj%@;O`H!XDzs~|Rz8DKX43*3}B#m@!H&S5S?;=SP#QN93{F_G& zzV?HiW~cu(tmOTtQ4r=mYlfmb@!Ns+ayi(!6W84S%CkdkIK0Q(;~z_U$(3j_`e+b5 z{WM!7`}?0A8X6wnbL?0$Ig;{H{%F73zXEMW*v2+Ni#>ai$y91*|L)!U_j-H%A&k8o zt&WGSp6-8k=kT87k5fB$@7}vNncTUvdzZTl$&WqD(Cp}=m`|n~+BtkInd;xYcPQE2 z+uPqZIG8-p<#kntQqEGiwZmx0N&EXTCED$0v;MYZS66CpUweCh(oI$dy6~IVUT{d7 z21!gTE!l9e>-oLy$$_q(y{Y#0J~a0G@w1Fx@RH1rwj6cm{-N&Pwq&X=+0~Qk>+kAL zb@V2aeVuOS5;)Z%Vzg75V*b6!-nIj&_JN-E{_a$7Uw?N`D%soF*X4FCM%x3@7SIk2 zCsVtJy7wfXZ|~Zhd?A(W?n!obbtLiB)!vN+rELw|Y~y5iKU((mb$4|3B)dA;xU;Lf zqX%6~=OT>VFX*xLvD9ur(bbN>j{a0%sb2w`|=uHat4`X688S6AI&+R{wmYEN||*EQP-i6zE> zkp#0p_=0x@@Cm$A>DB?(|}vX=ysKlCIKU2OD2KJiH*Y{qnDveX2JhxUx@KG>GR zXnjNqGwO7BMwia6I6=kFw!1-hjc~ijpSGT43KGmt#0(P&P#i=5^H(IrhJdXiIzqox zFZ7Dqg474vNn_JhvM83wIOzzqtPJgjm|{pMJG2F|#HO542-1LT4mjJ0sVH?SK|8@( zfsnuvALe{Ym`mUBHcW&Tqu_VzqTrSYE2W4WhOHt2DcKgfB40Zp5qSd4ZtC5f`e^!tLqmXVn3j#$6CN2tq~h z03$`8AG-0&#h&WC(nZZmKb#jN608#rprhMW5(34#io*J?f9bq8I%}n(XsxqRs*6@R zTcpxx1#&;EI$GvzlLxDimN@4~MG~u$7DFBmb1;;b?Y~5 z+_Y)4+3amWU;+FOd65VkV%~Z4*>1(k)oa(G(dI2%&pLbCw(Z-`anD&KO<$@u#gL28 za@86%+`RRyZQIW|@BH&GxbVV@F1pxU%*Mq0pdGh${(?nImt)ioo3@;_?VR&2xbWgj zF1_sXE3UZm%B##(3vKHI(z>y^6+kRqv1;x5Oo84-FEJUmt20;wXeS6S6}b5 zTi^WFx4+|E@BYm@-h1a=cbmHvr2gs*3zsZkwQl29w7>G&8(#DJTi*1Rx4-i}cii>9 zdp_`6AH45FAG-g3x>!shJvhUH#miQ%-LQ2#I$ZZFH@)H3U%&lbzj@dD@4fH-4?p

    MKW@A16R>oWRqHmLb?!x1T#FuWzWv>I-gDoFAA0zck39DHr~cs6pZV+`{n6*> zVlj(!!6frA$(jvYwqJPJH8 zBjiTw{6))FuG@6>d6!)E>eu|Y+tA~KANlwvAN|y)KljBy{_3B6{Ttu>(?9#xx6y^T z^bs&%k6D(l-mvwY3opO!#+%>tws)h;Cw}koKm6R2U-{ZM{`A}5`OClh?)Sd`G#oM^ zV;@0((bAP`Wt!`6dgEK(dFO9^Yr zaf|=@&D$@${Ms9DzU}rqKJdWDA9>=lPd@dHZ~x`@|K5WmJa2vX`#$v0?>_$7C;#M|-}&C({QZyq@h3m~=bee?cI|=}Cveh{`d@u_cq=lg&6!+-qAKmUB!^LzHTwYSstqm%La2p%Z6c-gA; zp!F56dd)3wdDq<^`q(4?-{-&bjqiN_2S57p|4i(Dp^XtiDg_VDsZurCfkS7Vd&yNd zyzbVw-|>Nu{Lb%x=1X7y_V<49qo3^D^+G#B^S=Ip!9n_cnXC5<@|}O#wKu-u&F{GD zKFsxnr~d4({uaGv@BH;M z|Mbth+d5PIgD<{xX!yv{qx{KQnJq;Ihhii|eBG_L-*NAQzx%1rfA!D4`*+X&?76+@ zcHpH$hmRgRF){)lPMg@R(@~a$$>(1RItr9K{_x4K|M}C;{P^cwU>$gA_~`MGlc!Ff zX3QY-^~ik9^A;>#zPd`vcLUDf|Lm8)`ImqDKYq5Wt$W}8mku90fo|gy6Y%}ou^Sy# zdY7(Pv(ZBOc0l^cPksKWZ+-6{{s~LE-a#yVMn+GMPa<{70073eQ$Qt(B+a_b+b$5E z3q=9zcmDc^KYb2U9yoO51UpV+>j5Ev8vZVoeqsq0ZawEBVLYLI>@$G&@1Fgi&v&E- zhYlY<$)0JX=pD~?wct`eVQ63kF1`AO*Mt3l_X&ab$3K6e3$q>_IW;~tlb*|D@dJ!; z$7xuIgyIsj6v@R^XFKtE(fRHI1K(zrl$I`Ez6!sm+tLzg&CuyBT(oG((&f%32bq*+ zx5cy;#EC7zH&G-?kUeQOEk*Hc&PJyt9%=9znaP3EoR2S>Tf9~?4+%y1;2d2b+`uAd ztQa8q{Eu#8NDnn9L&VkdCiP$O!IgPql^~8g_m1e7c46W2~L#wIcW38rH#LJ$J9 zaK$4Sm}p9xu)lyYZy{Q=AVF%HN2Nca$1qpRcyup z4lZ*Z&`hUV=qz%Y1tZB5lD14fV!*n&(53+i#0WEqrsUEo-Pka4|gPzSY?gxxrZ;oGly9tAowX24oT!JnbRJ7{?L?hi{%{hLLH;RZeRX z3B$-vO){ECW7w~5?U%HoBodiX#BWAFiZfu#o#vfp$a~i9_n&5V@oPvQ=9w-G9(@$2 z;Gv93{}{80!?;ixdKSq?H+e>rB~D|%KZ<1H=tweo?AV^+;UP4`5^v{D9S6fKb{dlY z5K@UF`*-i|--&!ja?c*L3!7m!v|8lE_n2O9*YWP1$W`v$yL z=4ibijWIu_Cy;3CqHVOxXU6dmGLNafJzWD>ia*~q$oA44P$Yw}^?b+gM}ETZM;`H| zzGSku0|}4*KGe@A`%=la-tM9OJ7tDimwArgg=}l2YpAcYH;EKiKZ+c>``dd4+EWMG zkN^Wr00|vPeB?OLp`!=kLC1mab}o989eCZXt$Xuw>H48?FCqZz0T9* z;HQ#M)7~?PUg*P47y%O@Gl48zDg_j~+morb?)|A_Ai_>)7dmx8LdLr4;1g^*K{F(P zdXSHtL;|ZF=}FF(41_fX>wW21B7xDcg1L|oBwkFfjG#9t*xl390rGP~p`ilW=t!+l z&nzJnIGOlBlBIhD-+)SzI|Q)EofAh3YNM0qW&XFhA7nZ~8V~m^HeDx>wuVThQoYH6 zR6of%#1tkt5Fj4)nX8k0kt?|v&g*rVp5q9r(GfXajN0APm+alEq)|xGu^R%;6es4) zGtbM0UN`fU1R7jPxvAL>-b2UMU91*6+9~7YzS7#hk#41Gagz{hF$Uy^1A`4+R{16bOL z^j{BZ$l8;;&Hy>)kn>DbvMpZGi?1)~K$52h9E2G=9(8n97Dc5ylX@OWg(r3%7MP(i zP%&-EwmTAu#1DUj!LsWp zhr^hpcQ;Ha;f74AA$b~V=P8?uz!XSFx&}o4*ePT@hZMMb_6~OMP07p_aJL3Hp~inE zCct;N2mDjY+$p9$+-a(^=23v=yhS5}Y_@Gn{VMtPr1g0|GesNp3_@ z?dxHFrO<-)ZCjD^JR2bbbDifP&v`B!Icwm~M}9NRYciL~Jf`L@TamY9?y|+^E}N0N zWd2egtfvbfn#&AxnhjEK$C^7n^w)S|&eb>-%6dFLt_4?FpQoos?G2job3BZS45A_= zK3AK~&LX$fATC1K++bEa3-Q`$RywWGSS0F2khNUyw8mn1i?juDo6DT$hG^W2c~O@c zQGBz6OOr;g!NlE|8eN2zuuu$BCRPLqgLyhk_1F z5RG64*Py{dC%!1U5Gz5Hf0)*3DYHP;2ijDdAWT^nU22xNi%+r$W&XUdI3ykp#LOsK zt%|I4SD57|mMvYnWUTITux{<@ zl`GhIKK9X31R+BMY0n@Ix!7D}En9dgbz^ix!~BK!*lBF}6X_a)Y_vyn5(W*Ij$f)mL6| z*(DcUaNhQ_w`^L!cGZfdfJJHv0E%soh~j4V^#@*e(@n4a)f<21`d3|h^_7=ha^ZQ~ z&)Twa-Rc#~YzGCMnX&28pQ2X6hfH{SAwn_u_ZU%lbg*Isq`B^RE%ZR;lO!I}ml zYiDS3V(&EX82pXfZ-4t+-}39X-TKBiy#BQ}qR(X)oxfeW01I>x`X~;FKi=owJ#g2Z z@4e$U-~Fz4y#1|jzV()y(dU{gF1g^GvpCCAEgK0ZF$P^8F!!4e4c_;`-}=Bk@4M@c z_q_A%Z+X)#uYb)A*ItQETQ{y-wVXu__0u4Tc=)&7-*zAF|HQ{X{?JDs{P6wv-TVH# ze)C_Q`Y_Zf|a4w-Rx;_4c`-J=WzTbcB(H)Qc?(aPOu?HWx z?*n(=@y@s1cFXJ7@BD3>*RNiIvLjAs>0k`{eeUz_=gsHLAN7CsGoSv0Pd)zFBcFWu zp%348&z@T(Q5|AulTJVEedZtj{s({iH{bv6Uwr$U zU;FYGKJ&yQpZLgc-TBV9yz!>%WvaC+!8l74K`rh?e`bE#`;#C4)3ZN%<_CZC{lEP7 zH=cU(vrjzo@drL|$L+Vh;l^t(2WIQ56bS)DH~er!?{kTr|NOI`{Ns=Q{%^kbop1ih zlb?P3cOUxD``-Ol&UW#+XKfUM)Psm__yvsKHXIAv_49xJ$v^(^@4o*R-+bze|BJTw z0Fa}&)^NLLcBS2sM8@QtK_roLGR6dhF*%qFCYzi=0)r7?a?Tlpz#tJsMu6g`*&tRD zNJ2U1oHg(J&#CU2kz`-Ld*73GXJ)(W#5z^o(^cm`58Qq0wU?cL#)(HCe!!kPZ@=YA zO16nANq*r=Kto+k|2{u_`{kz}z4zuzPe1bayKcPdqO(sv?zac+9kg7%gCalC5<0-9 zng{W{r?H{7fA3yjefH72ufOo*gZJEa?WO0PcEVAI?%Qc)H8XK#R0$MJ)39HD9^5*R zuO@wZef8GRzeAHVzQAP-F=ZJBPE zF@5UfiR1YSHn^p}U#~BEy!+a-kKA`V`r_Io0(_zuckznIaxH`q!V4`{UQ2 zy#FQ|n|mz`cG-R_8;8XSL(}&1i0#es-1<4QXU>>9dBWI{!v;6k_5HS|lr|T;(z`J{ zHZGZ>g4UG)zSYf}JA2lQsguS_aK8WdUz*bQO6k*2`2C^#?ZMQM%v7awXy-K|->SL# z_YQpDSs%cOC~n})7W|Ci;{WeoI#>0II*XT>{~uq(Yn^Cfy3f(}lJWf3ww>|dhG$9@ zxwWD(VYiv>ljKUtPuP>D=R#rYUCfTfHKWnm%gN(8c5)`$>TL6x8m`z@`xosRZTA2! zlUIA7riXBqxizBEz8|hi7ijI9L$y`#qj8(u>e0AFPwmOH&2C0u9K(Y@+a(y9kM^x` z+Wg4IQEv)+YtF0f7PO~3BFsk#95}Y9ud=Qt!vKWZvlF}MSbCYizJ$+VFgBo436txGH4QmX-1v>=3L(b=n& zHY}Rzs+q`kxw1B8%uKBf#bPaHQQvY}qEX3d?g&<}DySmru!~tnn`dNtsXgt?o^kY? zb&0#V#DAqhDP_}^Y3C)4L)WcK)C4D{J+`t?8@L^4`tN%#gjlg~--%>$(d?BK)%9Z1I{K=jDUBC-Gk87DErFoatO{MNY`XN& zcNKiF29Mh4&vF4AzbXy9X`*U1mn-IqOm6LHwD*!l$4br$L1&F)HFhtgQL=(-ZLn9e z*2c(CW1m^m>zhonpQ3S^OrV zt(UA}tel6?oh5EG|9P$f;xq2>4Wm&dvdd!BbX3EbR1gH?5$i%7=hxoUGkT;_k=r;L z2O}Aqh*Y;F&D17Kn~74(`0!fnveJ&okhL;4=?JwI5B<7Cb;ADb8QRvZV*n`O~P94cNKpu8(YrC`W{$%SmD|3??SktMs zwJp46&xK8HC68s<%nW%H@$`3C*cKahmAA0-mi_tcOh%k3t+y;R;gL4PNF);=?80SN ztU9QMwzkP!GU|goBVnOX8;nIY11j5WYMWGR2lQvPC(h615iAQ)=4iUs9{t;kZx?RE z!b-%_RkA6c2jAL=o7YBgWfDNGXT+v%@Rby{NAL6Hdfa3ThLlNfWwj&eAwBPvcq4B_ zSz^j~SQp7lW8_^nZA&oAQ!Vh6Xgy%&e^{eHBrB+TX(cT5gjzldo1$BrlNi=|qf3)! z5N8_N=2K1cm^v%fRGaq&yh5@_<1~)}J=K=F_F|IF*y_A*!!||3)@bA~XcT|G3EP|j zpoq+sY))v6L(2FDdSw4%8_kP5xh?lXYj=rzSQ#Ro&Z|&xtljwQhamC%qky2tbmt#`Y~A+jPM9vbX8aCnK&nzX?p8mLgO3OeOtma0-3ljlmOR_xR zawL1F_+|&6zc1@90uFV+iYfeQk?I9{(Y*aI%@a zZ8@E?L5RokNo0^I(A=z!%mw*aDW!>ukr=cLpt00i3)UmoUtPUjQ8QXTfQ<&E&p`U5D}@+n8cFn*^J!M+7qZ}Sq_>q|8%Y(G zc_C6MKB{E0=DJxY*&Z+EDM&PyO#OBmOK1Zf$u+_2x;l_*q!b&QyVOJS8ibbMVRNqX zq0({8C7dghc<9o^0ye2~%HA;P^t^l~2K?wvQI`w!ERE;w(oaGW{!Xq;}-N!o}_pB`OCs*n8GZVJr=49cvn%X8OLS(q!y z{p=1vqj@SyX@iJ**g9IDD!9V?g}lO&j3m{r#AdE%nyEW$>)53sfBVe}r2Mcgq9JI$ zyaADI3PZhn`}At<%aGQVjvz~N`7E-=d{vkYVr~mFg+cNzL7Cn;)HmD46-9>Wiiv#E zA9g*}!n0YNXP0YbVU~v!9%2?T56_~#JmbV+8VVuB<x_pvQ5SUwsuoU9|=a_A;W zJ*!zL{jV9t+^c9&5|DE7bT4Z;K)MB}V~@o+zb~^sfmXpG#Vsh+D+HvZLK{YbCD{>@ zy0&PiPNJ`9tY7WUp-o=-N|yZ>oJ%P9-Sbp8)P|r)@NRIfB`an9;)|Y^XNZM%A85C| zILe!wUqi?dKAvzViR3`Ko&=w6BJ%^uAmqpNwA+1Iih&%kP*8GT6@&^}1wA(!x@#TC zb_UN0WUfH0e^E%L1$op)3md^xBa1i6b_Y6^SDwA1Ui}fu*?zE6&l7<;x65wVys!kvW*uR!u1M z-Zbw$iE(P)vidF{Dy8k=68W-3L%+kL0YnxmA`JIHp6usl6&Y$?$=`ty^=1E5w zL9gTjpRDA55_{#1R_^0lbVqE$H0J~lYL}C;D|2KyPxd}5_;(abU_};RrQ(Lk=0quK z(X2OQ;rEKd6q$vF-5|3d>8r0snT8q6&H7@6O6C(?3zZ621I%7F2nLzy_O;TcCaZ$DVZ7MI>E>6oK9~O@p-0f6BC(+N-}{A+xS>1ZtHO z6}Cw$M_}t6NH0*H$GLyG=2lB-_^{`9eMw9hK5Cpc`p*&VB8XjbU6Np+{F+U-+OFg7 z``y(EzLE6IykcLURWkNqrD2jQOm@zLi*%D^GNj+XE_^A;?m za>`P`VLVTzf1YLwii8)J2*2oDxYA+wuD!PCom> zE3UuoZx30{%U3^Gip7`-h(~>qFI(pHeUp3{Pwk-FF#gEnPCE1a%dWYlOV`Jqd+nbe znRq#GqB+mRi=KaMd@=JaW=wtc+!4o|c>1}QTz%7B_dWdd%Wr)k^Ya6h;xT!eyU)s| znET4*r(H*8)s;8gj`}aW@m}}OzazUuQ78AM`Y$iivjJRrG#kqKq31+ z**8Ddc!mk$6ZcUVAn4yOO*67|8bTiR>Ab(*-1&aI|2FEA!_zW&SSo*Es2gJp`Xmkv zSv6z;9eUL9r;>hk;~n?@Rkb$7r@1x9{^?8%AV2Ey z=gE&!?ooc=5Jt|#spbF_up)WRpau;}^30TAg97Ks{|cYC$&^wO(jca-38fxT1<4F( z`<`=_^NcCwoE>-siB`y$|6P9&5lnv{xx~NAr|yk~zyRgbDKpS=<96HUU{bFBeDT#c zb-tfWE$aa3KWvmbkN^k)tS&GH{euh516yp{u@eSZg4nJ1c+S?B48KHwAHG2WN(iHX z(VGX?U7tiddf+f}*)F)^dW~L&kLObTocgaQ-{}WPzNWo3mBU3|)B#6m(z^=%AAA1w z_sFQS_)Fbq14vbSvL-$uR|=TYs`fgNq&UpKxr?SA8~o+HXTulr%8MI-%ELHM|zx5_{jP)@lOBr%VF*b zgRiXb68ieYdu8Td^4Db6*W6VyczyOzxgr|0`K>KByhOqJo?=0 z?~%OMKbg18^Tm!6xn1-$@+|N-BP(v7gMWAYY3E*g?d|tIOwQm(%v+i_G;DRjONWg- zC-S1_m5--^7XnAAif?hvDp5X}HoWI37E;=E_^ufEX9oSbW?CvB<1SorQw1m$g?NkG z;<&ZE(c@1I*Xtzk81~7mk%oO{c{Z-`X#?ZQq7B;HsNq)Oey$qtb@x2Pbk_7ihwmw) z;+GC?8IobQJ~ta-*yBDT=gF72Y<$hM_tVeAJu@)%pQf$Ap=9n2Nt6fbc7+^KI*^%1 zS1!$5E00_lWa8e54IvAbOkkUNaDi?cNZ;(CnJ1b0%c9?}o?-6h>cee|vN)5u^ZMKG z{m0WUzfB+N(x<6=Qkc3!3~}{W560Pk%$?@Nk|bdz@7{EmO`e!QB4|4K&LxVRL%4ki zb6=WA%H&02G8x0V_jvpT&0btRx%DaYf!#h>nl1FEfL!3|q;})Q^nX3m|5GoKF{>0- z^8vRH$@P=l7r*)P$^|H&i1wwN31$hv!9C4*@>(1?u zx^ug^bGZAk`7cQjRT$uaaN}qr$U>M@Zr!lj&BvcSk6FpZx_Jm8z|9AP*vLz7JH!31 za#Oe4xzoPf`<#3hw@%^O_i^c^M|ZrsY0cVgr-iTXIz7ET-0&VBOy|Z&cMd=B)kk*@ z>HTsbj}fsn_PrGulkXrdz*PR>&$Tf8T?--yoBp^tvE;U+)=?7lbmC*;HvA-X?J?=Nt(r978qSSOaMcRkPlPu$s(5mM15+No;_mpxC#1JNw1K3Zuena zO+uIYw-CRP*PXE6O4c=bI(SG}kF(^tyM=sv@!kv;atn%u3I(Q-{zCK`_UkA;1h9#N zRDACYePt?kWVms}JiBp(?580^hZ|MKvi^0&3Oa(~Ah?912-?tvy50Ny+aJlR|7q~g z`eJUPelk(^{Yv-v-UrMwHcGk2eEDtV)%Uh+{BoioN?!==)?D8#l3R0f_&@pbyWail zz@sXW6o!SRiwgmQaS^@^5o1q+7w}=g3&8IJQHirskFn(AA$)@)sJV&OfY4q1%Wrn; z{@GW(e(X1Z=y0OAqE&7;D*xifmrnoYg)^?doqO-+UVZ!h9zDPM?uR~%fHsKANR&}2 z;agNVV@F4v;2YDW*WBFs?+-uq;_LtX;NzZOefxcm_4xKV5@kKB6F}5a-6&HUn0=wU^OzWj(=J-wSxGQqpvE(p38=lB{7;TNSai&5`U2%c|U%up6V8 zD+_0{SSheMa(Qh}gNZNU>FQd7HJP=ZgIitJ*eJ#scZm-wcv`rrTjk9$P1^-VCwc@$ zNS21J6tP^~s%RZ|fwL_d$N6$C+A1Agn*~R~G1wmDTSGm5F!^n~VUTZ1xVmgUKnZ?j zm}@|Wahqtv+$iT)!Zu;4uwRD&SY5IM%Td^@oh~vxyqP)DKsn2m(RwS|Bt;Wng#>wS z+nANt2z<4FL#`@gEk!MDnScSV#~a&r!A#P>p}kw>F{A#ih}M(}VQY{1c0$o-aFu;Y z%6dh#ff_r{gdrBvL@hP{N`5w4OUjyj?GuS}6H+Irq5SVIP}{Y|(snJ8-K}=PU1=V; z)XYX3xny-vY2OF++Hqq-BSJ(wyOKt(m%q9VYP7K$g)LB%U{}`4uLQJOx5VG$tyQt1 z89-lah&F(Ua|iCo6p1hNfkbaZ?&y7K#=M)-q## zSZZ>q_zFg%^;t zhVo!CO4^i-Y72c24HqA{X+B}Dur0_MQiv|U5_4e6v8_jKuvn7) z$K%nbG6ijM;!Oi*dYXHk@@^ zBLFs1+q7|*Sc}HF9x~3aZ{*^y*w`H`5#AW38QMZU=@6lW_SzvJoo|v^Vg#kv;w31?~7O7)d|S#)PA8)O!{4N7bYZGzX6K4K54aPtIKWAm3w z^@|>wS>IrY5>CBS)H6PHr9GJPT36<(!PrDEv2%&-byKL@JGP@*azq%xCa|1UJD})j z)h0l~m`iL{C~`9w6Y$p192d7kvU)CrR(Lby9hpI|cw?ae*xGhm?Q3Eki$%^jKZ@OV zwxq>UW)ms(EEy*V4y=TAVXwdfTPV{anXNdICa*=oOnw?XwAQDUG5*_*jkw`0vc>bQ z!v(U?6Oa+hn=T|Ae8r8w{J*b?`9UcJ90r@A>idC2PzDK6VCl@3&$Li3z)fxB$Ta+% zu(fr3!%e7Z9!S=9?*XL=)GXC$rH#=u(k=b zFk1OM;Dn@(M3(DUiOir6k*6 zZ1a&|E@rA{3~R$-0HD)8F?Wb{t)bMaKOqN1z&ykYKiU~1O)VkbaR7W@i}shPWm~M% z>aA!L4_d&r9?@n^rT+);0jZeoTC~-9dtuuZ|II0A1OjxvpJo0#QU^puP1|^fX#bFR zs*##Q3E>(R<}os$QRG+m4J0NbZWJbimZ?oi6h+|{&{9bBPeD4^>|~;7Bq#DJDHh@G zDv@b_k^G9jjW`t;3I|6Jcif-sKA9oSbjadGj)@z`NCiG>+W-;JTne6{0csm0gv4tD zi|se4&LD-#x|675vmcZL4Lw6%t?wn7*31Q0+wj(qgmR>N2MwTeT0wmbc2JT+APw{u zH^p$z<_*L`3QKtu&?wiMeZbxjNP$ORvgM{YTEuyTscrT%TKHkKVRCJ29*?POwXf2c z+Yptr2&6F(*nVC-XB&zftwTWzg~d-IE`<81w3p1g?sV50eOuViu)ty>r4RP9sR~*A zue7aQ`pdWCOlF4w3-H3As0YDZ@g!Q?Y@5ioU5ci11^t6})YFY}w1aM}f{;#P`=54% zX&&K6M4||yO7%2ZzU@?-6sKEL!Fh`cKL)FUSISzm;Y|AzEF`8tpb%&c^9nwWDwOxTeVlSG3t5^rGV6`?#EjDxM;ka=kM6$x-qH(~$`Vd)3=o(k&FLNyr z<#ImR4hJw~fGP(hzNWEH^9W|N@*b}6t|jtO@1&Ql!}nhQe7dZVkMi-n>Av* zr+alH3Rh6mu1#5uHYp9UUC^8A1Xm*fl>~nX&pKrXzd~r!navN7sM{rra$Y6#XE%Aq z@P@)=B@DPs;}F_QO{r^B4AdygpK?u#aUP<0(q5L#yyOg128RCw?tciM2L^FPD zu;l!vMl3Wi3@}IWCbtHKO{Bx^Sl{rXJ)PP7G?^`N8dKQn_D)aliApq%g-a(JdEstD z@-vMiB@{9$KInk;3YO|F*Sk~LLK-Uioh=bG)*wM-ta}x8lJ^h6s2$!y7g9LjD!WT& z4L4d$BO}ljXQ@7gcc&D!^j80}^}WpQ;OeZwK^eA@B2lRAS&ba~uWmBs>E>0Kona%G zV%j>pZGMRKhmaTk>$c$G!aa*t{LEptPwlC~eN;-ocHQ%DS;HztasW12&PL zD;bImy~Yi*X|6k7k#Qi?Fg>5#xT=$ImH@1PzVh2^S2}JSDgyq?$GY`&bv0&#lTD%s z=g~$#h_n5GL&6jmh?xboy;Ba>-7-DQSAmq+_GBy8V@-PHwCj7-$_((1{tjA~*0i_HOglahBiG zi;$uMO+?|CmWGrn8HZm!~4oz%H~=cIU}b}0%VNybk<47f_eg6%@&4_lfq;O6oh|^;>DRobqirI zXBKD|<3ui%&cN8j3Xd{b9h%?1%~A%UDir3KOz)S!P+hwC|F|ix)1KH%A(b{&fhw+w1d> z92Dh-D=$1-s5blUVJ2*_E)XR`4hU#CP9HDnzjzTQ%#sU7`~ouL4_^srb9cgf0|}lsT|Soe0NyCj6s+ zzV_T>UAx?J&1L7GdD3x5Ce{b26F1(dEw4oL0jBwUX>Oqh#>#hJbbs%S7oJ4*8?FR}D0JO6TWl;qp#;jN zNG!!?y6B(sH9rC?gXWKe^K)H5BQl_s%^X?AF^r5jURvvVyXav8mibIZ+n{!h)J`Oi`SlmjIKkiP(e2F_pZdqW>ajncdOR-QBf*vlY8!35 zv@Q`mbt1!M2p;SGO;6y0o_`#;Ak;pSXhE<+%LoC)@Nl5bEUPV%%SaI#PX8Z33^Jwh z_9f>?E*6(T1}$&vDhIKSNh6){wRD!RP3$p80Qj`SRw)QmWyNwP7B+h^LQoouHA3jA zQNyIQIUB5^`#axswXm3uJa``|EmxbtMy>d)Te?I6s`#F!5l)O5c98Ijm?Hv0(te#f zra(>v81o@potD+R$qH_pT?FDI@E{G2`|h~miVMy>@#w=GcW8Zqkf@6bl|kuz5KDl# z*t))e2fg?D^N)4yeA88$+KxD2&s`h`%KdDlnPm+o)rM5sNj9RHQo7uXwLli(D-e7F z%#{h1tx(F(ZYu-g7t@z6dMSV%o#G%;rIc-gx{bxCGIfcnZ?RM`Nlc^(sMCs+nPvH+ zkCI_z^T*3i|HBDaB~r>dq0by){5hc{Ixy3Ldnt&qGWe%WVU>iMaX-UI;ZI$C@!2Jg zP5Pvi(BlXjnJIx}@~PT-1jH+KW&-G?I9P>ue4^?91MpL?KliAv5*M8DM=+I$pv^a4 z&rmSH<_eUdN9_81158r$HwU?fI+VQ{R^0MPLHb-=5r>U_l3VeboQT8oE z*-C?82jNE<)*15}QJY4*E-2xeIK*MA-g_-*TMXI_6tq6V8Ec}Amo}8efqdl7^*A{9 z)Z-2H%z)W^q%lz2GFBL8x(?cffbO(8tryej>(4!QKY&*j?>53s;SPQku-So$#b$@O z(s%sm;ar0Us9)Yv)G|QrB5nh86B}iwaJD#~+2Hn3_6t{Ef{3dpC}wxM)ZZRxuxaVc zz{Mv_!dyIx(~4{CpklgohnolFmd$6`tTw>vvTf8QUe=`aHDisyzxVd*HIv$uw&T|H zEpQ&dCfHSbStYdblG?Iy+S=%9zs7{dR2snLQqd0g#$C&@3L_ri6WR(h%NsACx32i7 zgPzCK0-{}+)@WlWaOwG>3rFTmnn}$wCe5u3iihr~2m!!Pl_zVTkQ2g3BAlu?4 znI-Y!z6vs%%zknuczx*Q2sXt_mbQ!#fuha7RQSoFmiL9?l;1< zAlQE4StoP9v9FL7b;DqzBSltRxNy;;g}T|)MPG9rG2YPs2O{e1Q0c+m_@$G2Aby+a1@^Y`5Vi<>RQ| zl&RAo7L4CW<`+iWcc1G{kD#%e9!v+MawXFpdk`eziIXyu>L*SZH(CIK+`IG=-XSq_ z?;V(a_9?o>{dcBkquO!fCrlVW&VdV?>XJJ>a2<8i`~fzcDwoO#5E3 z*(yK;p&dFbGb}&!=fOV#4cYtK&$(H9=_!wLz7ps=&B{8{L&kP`#@4fLN8q3S!i$JH2hM4L=uyU1s5fMBveO$}aw8pxce!Y8r-Lw1q zZ@u#DV_gC4v>SQ<2BX+oPr$hXWzwu7!7*UPOQU}M2gC#N{rdd)-Pb*PeDDq`KXmUM zH@aNlPx$QTz6iu9Y*C|A95zS_sdw`KMmXa6X9ub`^=Vm)RlMEgZc z{V`t22NgbF#siTI?~ClgNFmxcTGY!aNcz* zb*VpJ!R2KiGV#8CL?2@1g7^n9pyzF}j{krClnOP)Qhj1HFIQDZmf2ID#HPf`62q0u z5rAHr^HSFKNL zGGME#qkW=<0TV0Qn`-m{_)4F{T+%+;i#qmdEVRdH&uE^mfC4jYPZn-8Pxm2qsyf;u znj0ofL2E^wqB(ry&{>-r^mlq1SgmOHXttj>$S!zuAZY**;8`3n_TB)NyG65#P=3PF z(h+^da2dSY5x+MQ8W>I5MY~2b6DmXfLKKIJaFc43(;*j@(B-0Cq8aN@Q(fj6A-j0& znBDu>F;Q0Qm@6(r{l||%hSOXPKn-bECPK=EV=ls}?U*|pv3AVlrea-0F4{So?uHfR zuIeDhm9{jeuxrT<+EYWwOAjWtBzjxR|Kq`RRwXD^zEpa8&^>8-&RF4Kb*^))S&^y3 zCcyoe{FZkim@5j)x)g}sY+;E~+lk$5VX;0Hh}CRik$vn%q-F~XNzPXZa^f;uSP=eb zCFZh)`Ifg|ASs^s$`>gqk2?%o0HkQHiMFTx)X+Xbxlq9rJCOpKX~pYj2L}-W zxCN#o3x1AOrWK56yKn|*0z-EYUIq{*jZK`%7N&{<{SDHhslQei>Y{BS5p;r+I2u?B z>mh&^Y|E8x8poZ2TGFgvfMdaN2M}`vBSYe1X+R4O^$pQB@B<)0{Mhl~1(Y4%sEKox zg?Xqj0%KbH4uXhvd!bcuCN4}Y(V_&Qt1;Rdmf@tSBKR6d9zvOLQkDtZ21p<+n^0wm zwIohv3zJxzptg6w8=~4Y%Yv+k`~u(u_;gK zz)YYup*77-{n<>1Osz8|XHhAL9Z=K6N|BbuP1RW)Q8vd45i+6a$dKB zy3e4f;`(`#ib@nU3Z&>`D&_O7xE$ywt?Gz0w$jz%v>bs>D9nNpovG8IpXDd8iy9lL z%Oj;S4e~|kG)}TS)Fh3yO+)K*#j{u|*d_s8nJ4O5{L)#CNjgAICg9@cg$;^SV#QA* zSN-FsRR_w%vMdJNiu4i)hdT>=we)cXB;uCPbcuFxrJU)VkBP}nV6t*~pfy8Z4#>A9VwH47c1wd{ANXzhZ2 zsYhL)9<}{$AN{6~{BCDO>{Q5Zy~4K9`swdB(FTRm->t3C-G+r#y>At%0N(%p*G!JN zmCD#%7$$S`SP8ZO7ne%%$M)txhMZw8EBX*;llSEnTu?m2EUs8y$@L`pV_9VzE+@%f zOG&xnYLfi9M0syqI+DK^>u+84Juhy7Qna+On@fr6p3YNVo~MWDLc)=`b_5#jwB0H2 znV00au`zz9z-n&s*t)ukSTfuk9W;;>62QXISs_c&^6J*#h>L}{oo$k}A6l>`ToU~7 ztiYFaE#=dN<1@-r9k~)YiRngw8L$U=ghWMMLX2XDC}ba~7?%3T zv@c%MoJ1Na4^s#)c4kVN3Qe*TC=RNld;n*}ZE8Ye2p8ZhblUF_rhKupQ<77HU7>4; z=`bxpg|Nh6;9w5>eKKQljN6~;3G+)zqI76NnQIl6pbdq-r)sG&sGyMYp+Kg-;RPVI0@hbJ3Ap!N}dJN!ayZJ zb+|S?tDwj4f}EfZvw#QAyZiZ_rCZ?zH1zPQQ z=+QtXTzyOVX=*&n#~nMFT9;gN+X|-z_93mo$~YOlZZA14lg+5@DB28`#krSWcSq@I z*-Xc8VOIU&)blR8{?3(83y5Q{gN`(_?poor`6Qe^|B4$sm!Ec*ZBKFP-yMJYe>{DH zPIvjY)c?cjRWa}IpH-9H|H-g_;}*r>s+_t>G#Zp?zMJa%rhN|#NZ9%!q+c>Ws=-wr z@8ze`R(6_nM84UO#zzs>jiM2hhB6*NWjm{cNAfOE>(MG?rPE+X7n|94EF}vnCoq#+ zKN<s-ajdnrel*Ou8gE1@)GzI``Q zA%sJ4CREk!61xIbg;Q1JDyqju+70AGNCx5#H%or=&P$0B{Rr`q5s!Iz+<-e2hG=TO z@J@D@TWcjOnNjA?%ACdz&1IKSxx|!K0%;!flU4jxl^e%{C=po?2t6HvfhOo!PSGwm zA)OSUqiGVmZWBy{<0`1Z$6q-LU&qx`eSYw6oF zN2v!yfgnnpSIzK1Qe!hhIyr$}E9`T%y|&LyE}gQ>4B1XVt7+C=tGqK;&&>>cX(10K zY@NBcZR2g%&P_9iCJalPJ8M$9V6Ywq)#X3AuY@ahcq@t{O&t+L<<-*(SG;1NIYgTpgOGFY{>8|&+8X$xtc z1oBJ-1swZY(EPuqlsuO)p{+ye8~Y7rA1terjZ_V1kM4XPevvrfPfVypE;}j;jU}W# zdr9BcAxN#MZ?1*5xuLn1OuNQ9N`jMOBF)(-ul?lgEyvPf!AU)XP$*mL`wpyc8rZ*% zt=URPYsThf_Ml~HJ=RhMp)ppi2t6H?e-qMr2^A@F2R1b*XM^3=I7d5uRnWQ#gM|T` zXCJS-sf_mL=Gs9`*gLQWcyw(GMr|xyqFf1dPPX2&H@nbkqRq*eOTtFKnmp$6p{}8+ zr3q@)Dfh=#U^gS32SIX|?ILfs=bAX0z`$AN=K-YAU;y+yVKZvFNRPdM$IY@&*>}Fj z`3BjnxBy)>P@2J1i%>!i$t0?&uKpFho= zl(GMYD%(tO;sAmZ`E{&7xBvjy3509dB2H5?oCiD`^J4{dYfz$2#v9UI^>LWiSCwiAPe_K zzKsv^>godn>owC}(xk1_@lSRj9Mg<27|6)_8i}T-`60`Rq6^`pbcfu;yY2qB@rv{H z1BRnNlR{l1g+|opBIiXEdipDoF4_*6F`-sEXJS~kg8Hn9fl)#=4Nn3we0}L4*+FrW z%im<4HL79^T;u%2R%{0oshEB1I#IauTj$^AkvUW8@JP_^v6iu^Rw48wUc zOC1`q1D0EP#j|mnI$NUoub{Uw?~@ZR=snD#43=zT6&W|sh>1B1B8t245e?f|hRl4< zG_^8s3PXJf#x*rmG8Qw+&!9Cwvav!ntL<-d6;mA#?U`+B`NXglPbM!_M8_JD@I$t> zH`brhTMXjHIsECYT6i*@%`arSl~hlvxBMDJLXI?CA}6W>yV$9D z7=i}4&p}DI35E1CeOgFzh^`|jVL5)hlk%gkvfTEzrg_T6l3E9HGHzU`Sy>injk=MAEJbYJQ2A8Hs(Sg2HKaPgXT|D_Yxe8z6S3vRxAlH5}bB zEM$Hr-qZ+QjlvBHft9PsAuPmMm=o5bdJ+80)o?b~I@6FcX`ba}HD!UTSHty~;gzs9 zO-u(HPHQmhNUW0Vbn!|O*h4Q^Lz|D*_93E)4Yq11^Q=3p%0(Ct>lr@@Rv#(i2{k+y ze2#9W_4;%&c9^r0Vk*TZCUp~hV(|T}Nd-$i80_rE;Zj=?jdt8p98t^u*o<_34-y5u z%(L7+JGYg>OdS#8!L&3>H{&kIM~gj<-ZxlPEqr`+@ zq4{b{ANdwYN-j=9eoIR=ww^JMXb_nyTN2M?^reI1zd0esMOMYY2*OPvO=>0bw+-r= zOdCksc`(DrvM8~gN-)>CU2KL z_C4r`qfa>X>sfz3|%G-JtveBvV21v1O^E(Fs}7fKnni++_2uw%ch}Cq3n? z3og6nraSL_=<#P?e&e6-fAsNZ5jr|$T-ns7t;45uSbdGP)?RnL4UxLd_8oWIbH9TT zd&*hoUwZY8cii*9qffu^>Ra!9(EVc!Oi1%+Ysf1mb)Da=5A7CPZ@1Gfo%TN9&?Are zqY>Y5``!0H{N!^lzwu7De|2ZaQR1T7R4yuG?Rpz*w8`dMZUgo1d+m47;YS^J;%R@r z;L^X|DDo$sed+bL-+li>p2G9rJX|DS9gCfOvn{sTb_b+Gf7p@7oN)3P=U#OAH8aR-F(Zf1ND9f9&*I*j)DB_^DnvLnj3HHa^HiGKK0zouN%E! z!?hA7#G2r8r`~3}9XjrUY^V=E^62CKc=G9IpMUY?f4$+>yAc2QGcUaI1}^wlDmp$v|;y4o8cn#_;w?^?@cSrO=haP_9 z?~gtHPp6!I*0~p40`(2I+|lK}2OfSL>E`~AdVG=!r^^Xb#S7G(_DV#bc=Bmy{`tI% z{&M-%*WL*Az4t%#=#$U7?H~5|?Y=o3#r_u?z+^?!B$q~{l3ee>P-KlC=;5iZqtRHz>aHJyFhS?Fy>-!9^Z9(m&F zXA%A8JMVq)QIAhQ|MKhazW=dz-+uj9W6{!PhHZ9WjP7&5AxDV%^s~>q=+Y~%x#8y9 z?g#W&tGg0s&n6E07ergrz&|$-W{nepInHX(`Is5#-TzTzH zw?qBN6VJZ*>KpI8r>-(*_w8T9CY`31fvtm}g>=Nok)uYBW=h^^SIv#TKmMdM&bf&3 zd0XdujhYD8-1-GQ)w?e!2zd+^t;CLia?IFq1alCQJJMha7qAA5T5|f=jQy;kGV+f9SDiUVQbf zcmLJn(=Wd6^<&@uwe@%lgQc_6j-N1b(&Wigrc5ObK(MQjpLiO&Uvo1v+apgs|H_;1 ze$eByFTVM{cfT6GFhh*e(s|5SNTC(w^yxF=8S%{CyX;A!i(^kb{hW)hxbBwD_dWFZ zGcUdV&imaz6?uQ2&a{AlJ5-WU+T|MUjF~fM&6=H=-Jk2A$j`m_%Ik0I!j<89E-N2? z@_C>hI0(Ie9XWaoSpz0mnGd3zJtv-%A&a9Hob7NKz3uL+gI3*laJ!ZvJTy zqDPDpv6N0|=ggTK&&|xMm|uI~5nx51b1^kCxCB4*(i`u7_{kUF{?NCkp$SsS#o$0W zQ!?kwojY&d{CIxFg3Q83N~5U01{k-xe81K0BcO2s?`<3?QVE?XnNnATMi(#0F03F= zyV-G&fr^Io6~W_v^F!a-d<)OTM2So(D?$X$pT8hRUUpI2#Z3a^749;4#*lps#&G{S zaE*Q$J`x1wNmHfXmmwIh_FPUxc(*qYVmUZol`DXJ7C3@mH#TFw|@21k`t9 zRIz-c!st8ifBc0vKcKcnUCR*ol$15`x*VGn#&mh$$(JRnf5T5I08lI)<1IEVjJ@X{ zPrv$Zk1v0yX;g8WNmIdC4^;|O+GDfAxW7G&BA-w?sClr2q{U~J>ip(~arZs?yp-r$ zPjMS0%%HZ9q4QgHjV%h}|NhtuZ~d$1cm1TnSQXC!KHh4_kbAggVLT-&-u@5;^Q{tZ zrE!Gq4|TkJE1iDnosYiwegN8yl7%>-^fc!EvpdQ+4I0L2bW3H6dcp%wrKe4GsivMl zG-n@t>J=v*JnaAV*;R2~oNyi=)EcmAwTecy4jnaaWuxx@w=R*##;xQ~tV)XUaDI7p zy9^7NEcSt}7@$PCJ!QoZ*il||&sMGbO;8(`=V)syKLX#@0!wL2pd!PK?V40N*Q!&d z2oWt-hS%6$x8C|g-x~nYtYTFylN%AZx#0HV0}N!+l3Qi=CV0zXX-oUyJOySMxYAZ| zqirbwju`MPy}cMpVOTrwxb5;P*47tD6H}#Kk!FZBO$Y-KZ-@zUq&`Yj7irvm@+D?Gm#+#DzKv5tc<*y0|0~+RnAVo&T^dNf(+AV|9 zdCVx123Kd~KnKzct_g4S6Jj$d@r*LLh^1_WdXwcvl~p&dx$*s~j^^kqP z(UPFkrEj9hv|FlvlirEOvk>aeRe!9`N})*-catk6MX1-f-PGWrKqI&2s6|#s;0PqS{vgaY`@Hy7OYH4`HZdQ9(3yL=M5pQvB zjj@wtjf;%ltnmT zI4z`Db#4<{l%8f&0Y}+DWGr%9*q;gdte;wBr-YH8ZMT7)XOjZQY?VA_QCEgnV@S5$ zTH&<1u#E3I_|CxY>F1PEEjEJ6iUznvMRuEVq6iONJia-{4UadOk(Wq(ZYvJEU5RAm zY>&$f-kFG(k-Y3+kzs4|$)O$1CH$rBSK`%?1BSzFdkJ<;{&H9C#-D~ny*nRlt~WoV zf7xDuPRY5w`Cv==`w$Plm%=_BRCe5!>FxM$)yzH>kJ+crnJ;uIn~U0owF4HDSzpof z$MD1AZBr9v;+t8b>^r!naX=qZ*hdTn3Chr%9FPgP&ul)+Bh^e}e_II>oSCq)AO+Kj z_00kKnwH@t*g|YzPDNq_=}E3VE^VB}!`<{Dv>`zaW3jldp{Aas;QZizjrFWF){iOY z5uWwh14Us1>e;EiWLX0n&MG1+WAy_D)i&4Hv^WDPAq#|{)lCaztf=WJszCPaiKy0C zDgn-80fJ>&mPKnRtJv4+&4|ydu8u`e48SdV0d2+ub*^B;Rs1)B4+z=#2e z)styiFMn$dC5GN`5;@3sd6t4%8q|_>ZA()F-fyPJs`aB7VB{Q#XbJ5wNgnt zZBU3|B6>w5VGju{Sc~UDik?g04yE4kpJ+h)n%)*MwyJ>v8TSF?a1pMjONW8k5xhw# zzyT%lgd=T*AZSY%2Ed9F6H@6f->L`A3>{EPiZf^(FleAUU3#l}xWr{_jS%0zhI$GP}jb=c@@0H$62=XQ(=pXT51Zhbf4hH3_ zH9o^Um-x#3bl!sBM5aHoEVE>qe09fQQcaGHQ`s=yD9m&tRKUwWytid2Y1fP?YcDp# z*^8~FXf;xXqo|gU+cdD;#z;-q>QQ1#R<;)b$I43rD&<3mq;)AWbrM%$O-oCRau|!13I|GrsRq14Tv*4Ud-%Ij z7cIH;8WI;J@ zuq_L|Oeo!^%4FlFPI9)5l`I{{EPFe(yxF#7Q-a!ao-H78L$yz1Y3FM?)p9PJenXSc z-xf6zZjhdh`SldHqRiPUvJD2?KG2X~OP&HvR!Y;rEWl2H%Nz0=>aeZ1CWAvxb@!-0 zk!vwv?Sji8ORP7dtpaONG8#ltvL?Qb&T4wa_1=XGWsH1iow22#r;){FB3$osULcp- zMD3dGA{zcE_KhN9`_iK}%uLE|I&3EHBMrh>iW}_s{w|%IP5IZ_chaH#Lr1kChUA2X zd`BJj<@bHD&$?j`J{YDn?(9_Z+1hFpSgW1WkkL5o6#lYs+(S(Fa~;qv2`+L9*N6(s zzU%dU{C&fB-+cA?Cm+7|)+^5eO>*Z=f4vlF#XlT%*a3U*zVr55Z?Wk{>w`_1?lE_G z5&?|Falfy=`S#myzW%c3Cm+54&g(Be{b<*_Z@b|t5LNzk-0uz*`3~D`x!J}Wthesk zYleIb;7y7QmVf?b=F6HddVbRVgLmJ2<+&&S@%PTRUU$XC=ZO3;z)g19aXX0@J;@2S zU!4u>DT6q({L`M9p8Y@jr2D_Rz5V)2&piIny?5Pm?G+cn;15R~e$ak*9e(is`|PpX&O2_m4O#>avZR#5N8Nis{;&7nefy1Rh z9Q(V&4>@4pJ$K)=qc}*14cA|9-F4Qogc9}?n;{>5)V=#h9~%8D&p-XxLw~>f_M5In zfj^%PgQI?X=t2AMV;r{McIz#1MQTQ(Lqd=KufF)q6AyR&+g-Qb@Yl;>aK_0e{^97~ z9U%^Tb=qy0opwl-_>FalbNH}(rhAv@yN^En;Jtso_1eqNJ@wc__uq3TEUx&=h3A}g z+DU&DkHZc=V86XlW9OZM8ZtzkDjw#+9v^-9{(JAd`RYs0J@qII?z-*9Yp=TO;tS3> z^R$ysJpS0!B|Ngfwciei@_19b#c$gkX{T65JyH_XTis;^KlMP|<^*7(f-~RZ` z*I#|{`DY&!%_wCnT ze$IF>Ena=;`DdRBJnp>hW^B3Q(u-va9zEtL9J-&eV1#V4QSUx|`}XP6`^O)?XEOMr z=cjVTKi_&iu=vLVm=ajvjz6Dy>Yq+H_V>h=IPA1NgM2_uwx;)h{{8y)2CGOMKIvfr z@y4q!zwq4CPdxVUgZJNi_g(JLOD;TDad8|B4%~0A-8IUY-87~5WpiXrf1r|5Er{!P z-hBO)m!5ydErG|)*I#qxr5Bxd_UR|X;s}Q5p1XD2p}D1^rH}R>H`LV*=-;>Z553$I zXwmJTZ@=-{%P+Vq?!EiYTP?EAho14l2;IBWE`tUQ&J2zR^#fa~rI}lBc=YR&@KB$= z_s(0PN9fefx8Ho-)t6s<{@JIUbo?<#9(Lfqd;T&sJ2d_!{<&tz;6bfFIg1)t{3tc> z=EooXs~g^Y<;7>8^4Prj`l~Oy_`I`DJrN5I-hV{pi1^odci1q1m?pJ+}Gufo3FddXNY5tJakN(G4be{Q6oo=_;ol8q`|-z=<8*}kKao^^P`RK zXPeDaMdvU(PHrdA_&z{{EXUK7;g4=Hy4ZGN)g2`9*Wu%*oEq%!+5S zQak;pX;Z;`3&f*F{yJP}W_;%a9t_e?yK_C$1?9fZw_JC{ysCNGxtTff>=@!fGp0|U zmXIR$*I{VP_IV?;%jm1mKl$+eU2eO6L7N4Y^E2~Umo?I#XF5vVcDnw_bksu?Lp4SyHvQ zVo?Ur!OZ;O^XAT-BN7CmohW!{(UPz2`@=Uqd%O=o+ha@HF0EQp0iw1jBxZD=m^wuS zBZvP2JV#ysAHV(lW3^wp#?s0qSr8R73r8-P52_)pVXwx5y5oUD!+_r30hIUlE6Y|} z)^=$YtnJLAc;Ogpj4rfwK)zoF0WWS%-&(%f^0vz=mS$)hFB-dWfzTGk7TmxIV^Mi< zOP-d1(Jfzld7EWf8Uo@C(}~tl@Pv~mjvEa)@j%*vE4h3Ne&P7IMogXcfb3l0iJq6;7g{3V{nYZ05pm3RTOqq0JQGeHW1!4NCF5!iI&mv=Fvu zym*>}REozqaH)ae{jsn~p-nhHO+cwab_LGZF=6`^HZN4#*=dHNS_1ppR8!cJb3z=Q z?g*=f)D2E5Na2O8IVIHA8D-$BLt7gQ+Xg(>nFewiaH@w7X(?9zM9RQ-NCa%j_snqO)cg_BTg`*F2lHfNX*%E;#Z+ zM{BBsV&H67I5-Oo?NP%xm|Z?=nJX}7)^t0zGt?Ygx3ia z5^WX=`a1}gHANLCj~g{~1r>wdve497j5@)>&eZq%~GhqISn<3J?F26BuN?*V1vVCGew@W`&R- zI3DMw`iau|jcb95F^RU;Jk)_ikQJ8QKGM>r{qQC$aR~;j1vJLQAVg=as;GcFRE>5! zPifLbY8q(Ix2=$9eOrt7}44UIsTMgX6Z*1eO%SPeP{#C<1I!s3(}pla^+& z&P_}R+j;e7RYDZbfgmr+38joogy}X>Ql3+O5o5C*iTDwS4H4?7bdvEh&}`p28fT77 z$jnAJACWqns1x|Y#1uj(05&=EfwL}^T6Wec6P?`BBCRws}?e# zwOdVP6RcDJ?P+W(*Sd^&<+Di_t;KLlD|))b9|;Dgl?wp?((8uo9mU=3V-}2} zg)HD$Nsuf+MGMm6Bv~Mf<|P$FtYFCQ(cGb}lw0xkls?%tnxj=DRDnFrG{E7LKFa?9itgqhT>XXB+meTG`(M_R$^sRNN!Z)9iwS1Hn3jeT&ObR z$9IUPY6*wBD$Q1^$JmQt`)CR)J={%DBBr#=O9tqq$*hBE6|R0ruW%}G+cuhH%WO~# zw@NKRGcnvIn#ePI%GM05r&NdZkTGUU%*hD?!cw6Yimm9ZnHtV+9ZgWy55+6ViAqn) z5n{YmG@b>WhCKUJS3VtcTI+99np!BnAmUzLlE{eT!j_ReIhs=2)Z)cyhN$kO)y5R> zEuv)@#KWkjX)WZTTEU#s;!j&dW195TnrC0NDp50_SgR=r*gWEiogO#W@-=Xp)$jC@ zJ&BOGuz94V6D@?G=Rh93vm~P`Q)5bMHfY1GyHBe+t+N)?59Wo**wiOpP ziLA1kp6$VqTuYVDES8y6&!~}=gJjXFUV2&Xp9=56%1o=E#Y{Npd8_{8NY%WWB}P^d zOz|N`8&eEvl+@O9M%XkfHPQ=Hnv;@NGk6kd4i`EEd&snH#|kPpFw5fwHK^cWnMB*1h&C2E5GWCc~%(H4apQXq*v{+HLJCJm6)y~$>rDH{d>Nc`wOV19dQTM0L+rUTsa?4Xh z?4(AP0L|P|ueemonn^0!TQW5%)l`nOKGRU}&e$MQ0b&175*iCpjLim60q3wEn^JKa zGv>byhyhP1vuKGMCo5nGtGZfmNvYGMWmv)CxqriCTZVH#_m-c_TFJ+xcQsCuib{KK zp*vP+#tcUz@@JViVzp$V`oFd`1^;K!sU6vdDT%S@r;3e5Gm;cRE#CbHpQx;v{}*oH ze{^(M-C#j5lb>K~zN_vzK}-vFx-EEvRp1Tgz#44NMY{tygR6lvxCU3_HM#lu?Xzyvo?Sb@R>+?Z>MemCLbq2EoJ-#24&*6-#_uF3BfOn&;^k{K!a z-HIuo^ml8<$f|y~DQpn^fAL!Z0Cpvi(I7%s#`{DWVA;8^0sOi$-ZNTi0P}q86fI6b z-z($Yqa_9buT~ZDZqWiQS_DY=%6OM(zLqhH0P{OX>~XY(jnJkd?ikH+OrMmlBHk&Q ztrd(?+KPC`Xu5!nY&9UXRSwt=(KIc(7@SZ7N3Y}CM^ky;Y;e?6St%jdE}F72IP#)_ zSLvB;qsd_n$k>&h+9sN03p{W{GZrL*QOZNxCYrM2c05`x!s44WPG#e*qshBNbJri#hjXCGE6TL~O>?SDh5+R#Kqgmuqll}JGMb)&ZVr1CTMKPO3qp!S}$^^$A zd9c@Epk#>QY|BwDhuaieYolla^(j<^Zl$UuF>P+YfjVszPC4ShP%E#bTAAs~T?!=> zl9Fb7s=A8mlbFiE>^P>;1C+zCLJQPz=|mwfYW0MAT8Ty*MW0y;)L)@gAnYzb|8y$?wUdfKB{j&jfSQRnjE1Y4 z5rvynz01o}sYsfa3`;sYRyztNz5D93kKB9vb(d0U>Bxf-E5{`To?JWH^;X%c7as3= z*Nt9$YG1i-BRQBDOpK+SRT6xKGD=n#OXaOp<}4JcDrr~q<5#L?h2U!`^`-J+Dom!X zXveViIv4Q<(Qrxwe)hpzFFbz#oi|*5o@!T_g62LO-e&Ix(Xf1fN*KQLG8W%-CDpNx zI)vhETT|Mt+z=Wz)%@^fk9S|CR@g09Uv$==jy`NZELl~<=344Pc6qNSMZR>TMbhY8>$W7azUz(vw~9GWQ&LP;lc) z4P|!sf4=wirY1Sc-R z|Nr-O0(9L2c+WuCAm@oGwFpX%@o349iJ`8o{-a|Ks$Udh$5yO&u!^z>Ry-kLXKJf> zLJ2pCP-TX)Vh45v)q)z(t*V|wQu4u6ZBM<0lA;i1qz>5CfeIAJp_W5gT?quM?u1FM zvfGap%Tkoqtgs3eq38vTt<;4TDuB0YV88~UZQJW}S{s9s8O*ilUuAVP?1n`}HdG`d zr>YyG(z}XnB*i!mw8|Wv+ZObsas^;>l5g24s;@W>Yz}<5Vb$}+sT32PuXH@yGj#Ff zv>~d4YtFYzeFfsQfZPMzdcPEnUAssB9gsWEF|_M9kOmBRftrH>&v!W38mWQH150j* z>4OI*@bTI>sRxcLK+oqJYXkKB%CPl(2Vz@g6HB~2Z!m9^Lf-!zAn*B-iMatRzgH0~ zpJz;ZuwY>M2Ei|#0?K|X-#TsgZ3@BfuIM$?kn{!ejzM{zK|8X)8!Pm9J=ftJ-}5+G zS(s`(`QnPIE%gBK<6%yeR1s(fo4s~`QGrFJ=jdL`!65Vv@}F z$xq4;sp~l>moN=n= z0gW{*Mz_?}HCf#T6?72I2;!=RvJgDvt4~iD326A(+^ViAmWC+Ezf^RnX|AuWY2E$!h=Mli8h z@O?+b)qzXIeJIKM#p^((-B0rv~QUqJo> z^cS$d0RB}=N`U_Y{+A60tBzCWY(b;Gh`TLlY+%M$iJUFW_Hx|qzusB`Pi?1#VD6~h zCkE8+{{;Ch(E<}MhYJT88@TZ6O|g}r#`ioB%y%oQtyo?B4X*YI{T;dKBkYjgf!g5t_|lnIh{$wgH-U?6mK} zoXW-y$L}@($1iCAJ@>aWD?#|9$X=S~U>9c{_P-sl|F{KyyK8Rbj8_U!a0%UiGZfTp zW+X{%0l?zd-+1$_ci@C5C`RBo{NhEWfNeregP8)4x6%n~B4d*+!r?fpQU?kXuW6w9 z3@+3~5EQ)*3$DYCW-_ylhZeLDx?Xv;1$1PEdR?p3Ad9Rl0|&KS-Z7MFn4hSyMp=mm zTNl=B1~$%o6Rabe%s8;X4^*jmRZ=)Yg(Rx1&O|1&$j>vg2~lXV{l&cI1uK?SR5Gji zXNp!N^()fC7GCFq%1SDFp*PiMV+M$s0b-j0$d=`9l^;tvvn;V)%CTTm09=EZEx~*( zQs`hQ8%tIzftW3}+-cQ7wmTZCt5{gm&^`wDwuloe++<6Ci`(t6g1nLwMFifEA?QH6 z1{#c+w(OZA^KL6`d?hq+&yiBMb-*b0#-cF-WngZ#5{9sOOnIDJsUZr6`Cmd)@E4k3IulcxIt_|d6t*pP)z;YY~3%)ioW^h+s zv_u?TmU+=pr#DD}t`mX9W(gv;`2Hq0r3CdK8#uONO94Nxotsn+$n9)X(E%!54qZJr zQQrpOB^dm`P+VoKVS$InU|*B>nIefhym<-?9>B-lJ4U82QIp|nyxjw)ttnwG0{=?K zHeW+v=xXnKp!o~~Q$!9c)r1fN)x14$>-x5|YPj`)j4$0|b}3}4D}bUOT?B&{V;L-q zlUGSm`l&&!ubvxM9r@GVR7BMZO@n6$cd+%*G8%6f_0maJ!+S-HdPbk=6XOto@RP^P zZbM0X!5E0CaNlG4s3MvYN(q2uF9*?9+DK)=`jerK;&F8)IkuH4z`p4b8W)QIWUVzR zyw&a6v}+qp;!!tkl9C9DM3SM(mB$%FVk(YI9L1w$xGLZZ%@+;KM(KMWp za^!=QjjNa8ZCO=8PbfvbeKb`TNwP%ilQ*OsgIZ>D+3Mx(+qK07tGV$>)3j|yr5n_i zS_IXV?TKZ+-NMv_nbb+$uA``=I{(s+a>nX0Te$mr>dI#W7PHh>*Yc4_7Y8~PZar-Pv=BoL+x7MOH*RZ1*NZW99 z2fm%JMIuAIM!b5wS{shC`)r+ft<0L)H7Zx^z$E=pb$OkkAcAPMR) zz%L@ja-c|53VBOLy|Dx0YOOL*CK+R))uz%wB!3&w|I0nvoqWO6JxCu(Q}H*l@V8|*3WXG|=xMG8+S_}w z8WM8C)Wq|ykk&j!7V_1QSm}Zcfwi$BKNlEgTKIph&tte;YI%P_k{PSyt!fa1mEMe| zQby(kWj$j~%fG~!+%KbN>7fJvJs6bu2exn`jpOF;kd9Uj`)q!ix{qfz_Ao;oN2>}} zvt3XkayD24>7NRr?Uw}3~e+QZ}sxa+eNlXh8r;(+2EpPE*eq34_%7 z#&m#1EH#6j7O%Y2v9j&7xPW=V+6D|@*@QhxtQ5yZR2g6s2`&aG*7R#a1A4CLAnQ5r z2+Qv)CL#hzU{wmT4Ip?op~@15olJoj45U}+kFY-@(9c8(GqxXS;sXF}$kd}Spv?Fw zOOkF#H?OoFa7AofXYw=T%*IBZ@bILlUb{TnK zc{7{LR45?ZxLi900C1KF{YrW5`%uQB^p}p}!M+3ad0t8VwThGFlbZ>0!j!B7J@&O z3zQ|JU2NeYuVl)qAe=YB4A4U){maCBV^2W*LBR(_jv55@Y%k=YwV)63KpvRrM0H4I ziK(x2)_V4|e2<_|MF1dwmADW(0W5e9X-p(oRQjJXKq(~i+*a4cn4Oe@i&Gti)=;fN zbt5>dr{}7sAR`QWoHuRqVhXi_qnXAo(KqZz(!)TRp&Ae^H9t2~#6e{otPn%OAk3l- z;PlIh#(-CN<(u?qkSY=*aD*y#P(&gv1A!W*0lUjwVSG?eVFU&tJ1Tk6b{;)GOjWR| z8(xM2SVy1=z@AVP^8ycyf=Vpp01d{j_1e6J20WcK8}Nh5cBq0zD}^X(z+Gs8lt=Fx zdHfhPpZU~Sj}qE6=Ngy|U=CXOjy%OI*mnsFfhF(*mWUpfa|P0dPX%Ee&+Oxdnp*9B z0tdyENa}bDs0W$yXVid6D-qSoaz?&RPtAc)U{|3H-=;-O#Vz?f8wFKHq+c+^dGzW7 zP-9E$VB7!`Vp7NpHUCdv=K^3;x%TnB*4}d;BO;fQ5JgEUmr6Jhak}UpQbHHkLMeTf zL8l~@Bb<(I$|uqF;OHx54yI|$Y;$8`nk0u)LPxq^H1qxb&%4&1aj7(8&wAhI^1f^B zwa5Ek@9*Ku!WR_EA*Z0QBpxs2>D%>|Ls(3Nso;EWO?ZIqDZXcMY1yXY4V2GiI9gHP z$St-2NrB=idA01BO3r3!4pX5N9AQ&QkO_~bm2J{AU=P-2BWu?ltD*Uam~%1gB)&@^ zuY3znSZ*qae^gYGFBfD@W!kc`IHh_M)ndG5ACr8wl|oT;3!l#kD$65*ilWl|O*|mR z<;KTHsaN1_^5QB|qj~d|RaNJBIbPf=|74X?Cw6Ih?$&&=H}fsn!|l)Cw5gz=yc`iC zg+i@X-o{(@c@UK{hL-H#B zG1qM4+koOEm1UX%MPhj3+RLe`CNy1ERaWMhi5K@v59XAY=X$x`)};I_vhuQBZ$HP6 zS1rT+&p~f5uWBcsMpd7eCY4t0j?`rpT77+u-Oq`-&fY4oGMZDhJuf-0DjunCeWI>U zG$*D$(el`;Xk}FnTs%35(dbnt<)p=9&AfX&qi`>Qgd%R(p{Ps-uzffr+12ogC>}ofhd-oe?>^x=y5H^)Zn%s#(peZWw7> z-8j<59vC}`2g^cxaTQ;BZRPKB6?YxZWem}XLMQrw8Fx*4%#j_%P88X3|6ydu1RN4H zW5rS7khKVtz#n&f4xTaekswUo2dHx4(&g{2r5?EekA|3Z6h;v*4OA)Or7)Ch^5T#x zcPN(wwP}_jUVe7hgTh(9x?;7Emx5Iq&k|VVA@t1c_tDBRH3@Rwh-xq_&qrjFzmcyxGA2MxvLo2%Z>Eih=P>v|MuXr*AM zkIq@}(z506{EOSbM<0I*>s0JgP^V(4CUB$~RVme#H;ntS?qubOF~~8 z-?cWaHI;Kwe)ZttWA3{Dp;>dET?FA(Hl^hiKw$-J4ULSeD#mNfps<@SzxKvk$4z?h z;U^%;%4pq(@siC#-R^>sE2~3Tve93Xe@#AE(*KHqLvO$H-fWn)vVxGCR|s48<86Z0 z)|eTCRujkCGpO6*gBM+L)!<>H#!t?kVTN!0bM?Of`j!$8NUkjR254Pl@`|k+{VDlp z|CgekeJ{J_hT)?pz!83O{1+eREjg~7AaP-HNpEjOIX)zW~IeCrpNYER_GNZ~gO~ zHS6*q5Q9DzyjTe0-2_%-ChEX9-Z%cY$=?;AarEww?Fhpz&zkcz)MnzY&RL%)>T>xO zxXGZ89dsGi^H%_y_kZnu?H`DJ^C3k9%zDU(QRDA<;Gvnb=RHFefj3u}`38PT+icur zA)f_a7J1od(f>sP*`MFm6)yleJ$&RH6a#QP|0RMxi#VOH3RmW!1~|sDPm3crdU& zNx*n_u=Jd@>vHox%-1g_a#K=TTIQAICXnl{Fv5Uq2Hi9Q>Nzf^3y&{Ey`kP6;r_if zc!73+pZpC4e7F~8d)-6oJ2fF7r}yr6>6O z&$s{YU62jHQ`W9qw|;$YZb+SPBXT?C8LYek9t52S(+~L_7xVxA%<~HuEnc$pRh;|- zFRR}Ezjxkw_ubX2-$UO*4-@+RR7;^pFTnFx33`7U#QaH0k_8no*I}g`VAH@XT{BEPU~$ z|6RQJ1<;MD04&zL#u ziP>|Wnm7OHzb|;^+2@{r{)L6!!gYvoh-nN$wKXV^0r?*n)OqM<)e?r_LxltGx@YqJ z4`xq$=;0ZUJ~r!#Cuje4&Qo*e&YSPeU&j_iG&)zffO)Xe1Fr0WY9_d{2g7fck&OYayPMtb;?&5W+Dg3h8MYka^4`$xDNz)UWVc()< ztJZB!!9%;#PRGX?9lQ?ynaL=;s-D6of#eF?ye&#F3}od_Y>bZ&tcl;+9C)YtZ4b7q zRjNkDUdpzBV(Y9!bJ@#5^OH_$(W0f-(r;D8V+&Ru$B(kjAn7xu%oRw^3arT3Dt4pB zL~nY$cf5B(w3&CJtHtAt6c14$?MvXW;yjbE*~zfsamO|C8burXO_C!i+RI>JLJQ;^ zxW+8=XI0hJI(|J??~jc(h&D{KQa?Q3Oiq5_Uif4$)2Fjvmlghc8T5&9z4|fsP9!5Y zkb=>RGh=motO@5)C%~sghkQSSkE~aewQ%3q3{A8$G_d;0Q06{C@ zt7Fm%Wos&alv>}MH$)Gc9kgOG&!g#?2)Rm}QJM72OI0PeOj}utK+h7TttE`tB52al z5a=7Wok;43qKd&Gvrs&YVSmQJb5)=JhQ8fVmFtmYvc zlcAUmyX<_Rx;G_lG(pNdYuA4Q@EyidLaFHu@mh-^ZCyoEz{2w7J*iJPCfDas$fdTK z+8=gOSJAH1($bD`G4*ZxbyUl?pC@_3L2iCag0#c()D?d*>@$r z-=N>RF{u;1(vJn#j9SZg2Q2@pb`SZMUjdqpIjtpFKSnc&Hlm6vI3dv^=_Cc(znr$0+fnHfo$h_qop$2#{i z57eOBtz$Hz$2KT(p6R7V-C4@~#q|lX`P_pc(z~}uEHlYE`I!gRNjF{C`Wl1r?z1wZ zb&zW{WtmlVQgl~V;GgI~k9v^wvpCsIms)khRO^r7XG|mm0)1*mj9aXqf`02R7t+xO zP$Vl-Clk?@`z6w{t|o5Vzgi2G0Qk(%)PH()@yA3uNbl)! z2qe)C89dQ+kyF$o1TO|!k7+N5G&sqK71oVKZJaWR>J_pZ+v$jzqPys@sUOmg+Nve2 zGiZ&ibcDc)NjI&vIsl}pyeGQ`oP-(|LX(!_wXTTV?Ba-t8&umXE^4BKrj|PG6m5}z ztkl$zwLvygC&^Ei1IxQwdQS-5%G9(xYAu?y69P!nOb4_kGpvKOl1AqmeKeyck@}`d zlDY|?PLXB8m=}c#YANDDm{V20Ow?7iWY9)6yJ;+YM>nRssR;tB(5X}hQs#dHO48NT zd1*ZsAkf)Omb4M420DEzT8PlGmcNxT(n>riJ^DvYwUTwQ~HlDOsGBUFS zEb`HdfQ4#Tj15wgNq=%j*=LC!@sFf}j4Zs_N|ZysMHX?v^zcEtolZep-D%SWVTCGf zVomx)(xVzE`Ag*ERI^pru2MS{hiJ>TZQ6te!lT-vmPmzgR#Ma4uWSmKcZfw?V`Nskbz6<$7-iG_}fM@^w}P}P(LEg?1PoD;$4lx*g2 z#n+kQ50j_AoOWa`h$%rwd&(1|bQf7LO`F|_Wv(Df)# z55Z*7J6g0;or%nOF_&afh+c|HrvdO7M2Wo*Y-G9%Y$9orvcd8f-ECB6ODsvPNJ-E; z3W`8w@D7M`)ksg2$gQ(cPHse$k05)CzmeS)%$$@olPVESoq1F$8{IWun%KZrM(z)u zSgRrpEJ<1T^(|cgF+BxPV&$#5JoShL(~Quj+IUM7FEPI zn29EYNDR!XSn&4A`H5i2xY-DF(T|c4>7+1znoq57thSh0alF!ESuhzYNiXMzz_PlU zQyHz~bF>17TYlM4u5-oRApUv&)~)5`!rJ7yh!{$ABx1l}^2(}ql>6mXJIa#FqQ&2D ziz^i4DhI}av%FtPv{F)I{5u(j5o6T{BbAl$Slp{j%J;VVxn6ly4kkRalK12G9Bh;% zSDDn&gD#$zomA~d(#orLOGo@%isH^ZFYo7|J06x{;pa$IMTyK#M%PP^r{q;_M`iRX zy;Y>S3@cQ|>SeA=3bJ2%PP8(%DyFt*Jm%W8?f;O|AppgcI%`lG&qrzOO1RF|sVIzWo~+J7U4$K1 ztEU479!@$uIu-FSgyQ~v4xxA?aq)|t+bcF71=0BB=R3A-DLp#Xar?(m9S=i6etSSM zc7Sz^8$nW(NblGGiZ3ZX! zi}KeU1%3&WQ}D`vfBG>rsoeLgkEzZ$5}~;t&ZfG2#GC$K@6@bKjmX@S{%fI)QrDsX~}LDkSuCAfdvE=C6PM?YEX1cQj@! z(Hib3FwuQLLgATK7^3ujXrhY_);*XE%v5|*2Qzi7R65FI<<`w5ae+_&0a^86+QAgM zM(HX{>Sx~vU{!gAdn_$KK#R;HDaxi zZa3tuTLVb;)x`@J%ms8i84WJ_Z3<*v-^jXK31MX2|HuYBE_Yn;xOwYyRue~{_c;c7 z-=DcZY7}2@?-oG3!uUcVmcdrIxW$6_VzJ`QWs4U+GjI0HhaS9V{HT2y`w-1w25;W| zg`mO07K1&O1u+Wq9WwZ>SC_o>+|xjKr`#Rqn-Y;tW&_P#kPu(7cBE(r78caFXleDr`n_bJw^Upo|%!0o^J%8R)b7ns=YvzoHr$Z!n zjQ3lI54~aFHCGy1y<1nf=BGipY5up=zxngy^XATdYR+G0Kl#M0#~z*W@I%wGAH09^ zJ$FsGW6Vgbh71ZQ`8_ZL>V7KK0-7~_JoRyZR{XJU+g%9S2a@d8-+M(nSXImjCn9UL9x z4fL+}t}D6rnyat660=J$>EEyKMZGTU*}dC&T|3J%s1}egt*dPkS9n)MuZ&*d57>D5 zW!U_=f4__S_UVmTj|dX%9W!C28RxMN} zqN!Dys9#eu0}M=;uE|}aUA)d-C-0oHv(M^?%^B@aCrMcmjlvExqo#t}%Ar(Ug^G@; z9sM)?4&E81?N2}bw02mW(x!E*mMySpc0$u8jSn$OSjD34(%SiL{ZqYD%GT zFfwTn2C_+kZ4_4ZNI%(c<+t=&cqe(yD~X`ILJOCh&7)-(+IW7(iRe-%_{V!q|J|f< z<3710ZO}o?N# z`AHxSEeCB6*jms#OB0sXtcp-zi>Ua zOV`kx6BKB*Gf>(PoZQ^$yE98OU~`+uZu98o$ibsgC*<-7U}|joFz=!M)rnr!sC`2)a^7;z40X<=18n> z(YPs)>JCG}W~35XPBR2}aMYY@e1O3dU3JhlV{^2IEUtq%sL#&p+6ZzT6N3C}6VEJL z4&kvw=5Mcu-MRA%61Xbr>;0SUnzquzF~jmOolh0}2Dv7&uIT5Eh1ayR{OC6+`Wm;0byjt_N6r z2+~&z!QbHoH(J{(_g(L;{yX4PDEo-jePIuV@eZ5tIvfUs0}C8D3k{a}t4ABaId9<4H-N&;l?AL5xg$50NxGNve4@9 zviCx8Z}diBq;yF_=T!1R~#qzXIXVL7OX=07LErz}d?VsETp}s0S@NSAw4Jqf#o>S_9yE zPELS4KUHA$^%f+@0oRp*&vX57*sV&j9cC)+a66#wTgz2oB|xLw(bFPdi^8s+)f&1T zJUwzCu71pw1(VnI!o}0erjK62#Y2>L>%1}(QT~S-FH!hA;?di(ERAO!imI=Lu(vhT z7-*gVb034uBl0~|A;0Q(VY5er)9P4lh^=0SfLr|?f^S0*ZV1N}C|6%0I5!08if1Ia zu0Xp2?&?eMT|syS;}wfYa9%-r#UK*2SL`7{dJ%11ExKWHsP?3+;MnxXMybRfsKrbJ8VB#OK zC%5IVeRug%pq#Z>mV#{_!LrO-qquV)n+h9quz->YPGl{rBMi-Tt5>|Lu(es6&0%fU zLV-GVCoIqx=EJ8P54+PLLt%G9VucHv094{{^@`U(i#`eqbcDhRSy+=^h;#%ky6Vj( zFU$|oqJ4XIJxhqsBhaFsE?@T20`qq3kgG50{kx#j*B8TDedvGSl-6KR4M18eIq0ZM z7Ct@uktvhL-QpmsXC57*x}A_Sr`{i!Wagm0^niic?wP`Itn&Yktp z{dbKSF<6OpIrDeuuJfLF_`ylzZoTo^%lq~`@9g$QiZvpy1CIh5f)xANlaFNId*|&# z2VT)%kXr$D4HTQm-dCp?QzwrfHEi%zz+}5Z%Wc^VOsugt6F^-$O*O>rHJ1_XoHN>< z+#CR~NQQQf9ALFsWXF9IM~@hC?d2C=cz!2>wP>c%)e#HTogg1r?v4p#9CY`BE**(w zeA_HQ!|LMv0QjX)<#huL-pjx&lyM^yZs;;%i0g4S$uKGxsFoL4!$Yo>4#}~mx(Cc;;~9s8QKstfABt&qB>+ri(VR6{ zoy#CXi^y(Qtg|)9keh!TIWTTd% z=-4$4E>s)CW&;%o@Y{rO4W~rDHb+D^z_WRZf!RI~;!=WyJ)VYb3&7jBl^hG+3Ice4 zYilSjLuD`0_jl&c#^Vm1ek3#;s<m$eN`rqbwDLNcNer7e)5679o2ilx2|YQMN>k zE&IN2Gv9f=KabyEzsJm+nREWQuKV2gwLGuqeVut`dP9$amWLJq00sknZF2wsQGbE} zB%JzX_qfRQzcU|mJx!qe2j3F)1b*kbo;HyG-^)h^0xy;x$))6@r{oD=GqOlUo=P>Bnu!C@I0AfKal*ZgI0j;>$ZXQGphN)u$41X7H?B{6f)Dov*Voz>Woto#_!d>PKKeghcTLGM?Vh)fKmTH4 z^!AMY>4>8XI}n!B|KC7nht3%Nn$OK5+BeLPZKh)vxAcw=AFMpZq12j64Nuho*`--7 z`Y<;+IwT8{s%o37EOdN$!~7Ji_(A%BKLjeT>21*sB)3k% zrs?rPxr2Z+9611o))KA)l{AD%MZBqo7k`)lh)Zi9q(MTafro z%psH2KOaY)_rJaMf}g$>G7x1p?}qZ*<8wx~^5D+_keh*pIo~z!F=%o;p3((S7?L8i zaN5-Uo?HY;6c#4qi6&sE%ZD%}V|KG%*pab&2=wm06nTWvCaje=fxe}c9Mp=Y*RX+6 z1=8Zpe4B4>-3JKa2|I>UnHM4uUN5XowJI5-4b|{ElSDg*|B1^#9qgW(-$uBqOHj1r z9uF+-pbNVEa}Gx?^l&L4Zb*R(;CedYj?iENo3%gvS&tV+yan<7-NJe);W3-E zpZC1M1gb5*#2kIKBab^Qy$S$+cVo%{6G<|c^y^y`c`%+f?iv6#sHZq2VNCraqcIZE z;o%9xK1?sqEAtS4+B1OYEik2=7aGeYh5?czfjiBMBA4;%#0+w5a$A#g$jJN*NS9i>X$8mM}2MTF zz{xPe8FeqH(}g?jErJ1v8Q12>)Y~JWC{Y-`I4W|hUoyO1OZms??1uy_G!26WVG`RU za0MObHwidO33UFYPz<>dH**1IShK4oFK%qS={4AxR~#w3Dn z8)g9kZHbx)+nc96pG%$Y{ofRC3m6?i1_hGUznz3s z9F~V^FbJ!}DLdbBqSX+C>+aGcAp7Wq*WZP)Z=)b+<;E%1kK}HUvRo+xfORs<6{EWz z!4p_cFa5yg&X6|4FYdL^X^t?-syua!Om^I*UA;ULY>&tF)R6^IQN6O zJF0-!T0dp&_-{pMqtfxe%RO|^%1|R_TwSzgExDrjaEd}c>!ZwnR?rf%p{rQ*DxxXU zDB7)|z4V~l%xrDS!W)8|6h>xZ`hCFv^Qn3D((Rx~C7qYODV?GgQX47PlrW6pMi1uR z#g7RgT9656ZF@oL2kvLn6NOxs=gK*s()32)x<+F_E?b1@BGSb<*$pJz$tVX<^JW%(cuSf)INC}?1T zt7%*w;lMBFw@^Ub{wPnlC*k@FO?f6T-a1r}twrH5qvUGN*;DHS^7eZp2ej;q?S3$x z3#xnLJ7v~kgNf3E;Kj{>k#dH>`)Y?JL4JAyH^`H9 zpCPuVCT>#-g*?z$pcm@Ls7=p;j{`otU>+kZRq(XAJYF!OC<(|#crX%zIGwgGasicV z&FuD9D^B_Kb#8{f+XUkySde^KUSFW`sDoPZqs-yZP~y|Q_L{S3vrtW^h8{<}De`Sc z1V7EO&?4R2{y1{;&DF`nvf*i2hpvg(Ua0H3YE01%9}X9Jf3qZfYjo;w@ZpZf0IP-o zM)vffcT!sd#be9u$Mv~Hcf+bE@5q8n9deJ5lYFhDcYZ39BiYfK6~kAM8zr3V@cf3a z712)WNO1#Tb4UWm^>0hkKXv;$ql4iQK~p-=H1h5P$^2Z(N@L?Fxv{3vvmw1cEo}Q~ z0PqkMlT$lY?OJ)fLLC8_d>me(h#Q35h^JBGVoMB|_r&1Ykn+wa7@|-TpY(WBtG5&) zuh4l>2z6-npCy@OYf4vngq{_vvoF9U3@Ek>DV;V zS%Z=m*p@~)8~$72*z;HF<97cxz;W&(s`TOrWiRFDXsG8|OWNzk?N|$x7p);10e{&4 z7mwGv3xt zyKb{<12MJ&v9j{6;7no~;|JS|;NSGw(w&y~=@?e84?KtIN*y1+WRyO;hF5s-hO7?Y zbSic>7N0b8hY)c{(%+|pEXMpq)?}B*XCJo@h@W>knk6^-^1hH&!FZYZ(ckJX+nO`u z9S-A1{T?-CkB_D=d_CE6ug>nDL8jA;M|~zAcQ39rH&_p!zcd%YiFWHsG6s7F6-?w&&F(nSpYu038r3|-GIgTfqq#Po69w2)_2JT4Yipz zlmcSm^`rJAoMZ2IPD*u6v?E2+Yzo;u*ln zAr1n@h<=$;Kdo9E1$D7L43kiW&c56h13>{rG%BAOYb6o@(z7~pH5Y~HNv>YO>b}l^ zt7@;X4F#+#Kh?bw7B*LW%3~7!`^)>&5SCrX{+{aQult*8wSoJ4m#39t=X2&ky;g_o z9h`BQXS^jrp8q*&wFMfZfXU4|*C~wZJgf1#6es0mH*H|93cY&?Owjm5vutac#CyCUHm-{}Ct8aK)UmUP=C(9$6uNh2J*kT_QsZT( zYm7H|J5Y-bbTl_J-3DH&tj8NPOZ*ilY*~Y)51efnAFf_}aHMtR#YJ}bZu-Eu>sRvA z(T(Oazlu`>*LUF(WFa}_m^2hWZ=1iUPZ}=h$pL4mn1G{)Dj}WKYti5z#ZfH7Qt^g2 zxIKc^i#@K0lN3n4awqq7a(F%>iIckiAG=EH9KW8-2xj*w3S>=*Cmn?tKXn}Zorfk4 zq~{E<&hC(Tokv4)XXJ6mjTg8-a$7>}o>IZ3a~d3y6d?yRD!jsVy?sjk3B{WHz;h!d z1dSS{F`|7VHjOFgPKaS0prb+r{vIPZhlz@^#&=iuBYys6 z7-LU%eCL~^Xde=3!zP_Q@A(@SJ^8#YWy;Ovvr)NdcI+GaW=|1cdAy?M*E zf{ZA+>WQmXYPh09&%<vw#Ks(oKh`gZsN4-*ca$x1)R6aidY2>f}Px--4^MpW% zid*+TNwUz4?C0Z$G<}%0joNy^)l>XW1O8$hZ)L@)Udh#Rw%<5;{?i1Q*WB$GF1!zL z5sl}f`|b5!AqJK2m0+G1Yz=sz5huv@AE~oTQL9dtery^|#VK zo>ohr$qTm3fQ4J#c8>o{-3mF}w~qZe|DoWm!IeRZIzeaRA@#ET*pj5;FnJk})u~yzZY9K$OIIm5Qd$P~c5qdC14nsq^ z=R=+3bI1`n-ir%7jCni+qad*;Ea&rxKfwT7@6IwT7Ch!=hh!u>5K&6~i zf(VG1XG5`h_n%q3d;SVh{cuES97Z@Ej~)j(+PjoWTTH3< zEDLBKrS;KE(`olc$g&T+QDSQlN}hA`en{AxWnB%~2=zNP;c|F9TB_HXKCqKEW<6nu zjphO^j1jzUKn-}E#|N0h@}~x(I~STBjtWd}^FG56wTHb{PoX))mkMtW`$yN$h8%fU z$*u6ajrQ}kMh2ea52#AN5=q!GU~&|*JOA!@V#>CWQj_-KO5YoH{LUnxX*ggMC{Tbw z?~KZAf&|%6vl^UCEyfb~m!+6u27O>tU%vmCldOC$S^dVzeIBXWB>Nz&uU|9cIy7LO z^J*7xdV@mdq};-7EY#B9fYsuxEc!KQgBkM<ILpcnjo%uLq2(KybXs%g^u1@<-?L-x-xe`3n3pPeudH6@1L0mI%#JB^q0O%PA^~M&N3BHl#3;EO zb0HUw9@98t=r;ljCTBrors*@SyQc@ zIFLxj@jt6GQgU+h!#`^p;SE{ZsQ4Qa6uWl5vk-F$`k*`fg^o{J?K_q zkPOznPzNa{iv|&2CE|cL97FM#IxvZ`vwZ|dpZZJo23Msr7q@WI}yffaGpbJe2)pvsXRYksASxP7?1vU zqVXC2gS|3{sQG%HjHn0d=tZtld8yKJ9889uYor!v3s_-NGh&19YCo^7`srR@>wEq7 zy12_c6A!Jl5IrY>TVeV|Y4BOa0e{n5Cv(P;xMvPZZL~#`)ibTFxo@1Ix%l8KJ4?29 zX7LwLbsPN|=hEk#Aw>Du+<9^=h~`9CT6>6x5AsQ6j-3sSW@<~4$RU}B+#fKA&8h`}#sowqahl%4?idugJd7d`Tf(be# zx%f{aV24Y?Qd81?j@jE_MfMmVU+~jR3_>C$#)YXj%b7}IQKd?d5y7}4rh+kwf}2>k z?CKZ}Ra7*5R?82S2Zs}dW^r=7Ncctmcp(_l*b=^AYt@3+6s&` zEI~CiAP+Y9;#or0OS#;8w&Wl0a=$^Su4r``?{_ND^i8VCF_@9Qu-mb%fjHdFz+(?7 z;B-!V_wD)Q`_otq$>1w_t^d>Nf(On4d>HGx%bI3Z1_P()l&KRGYRHwLwYgzz4sB!p zD6fNChRsD15?wSfK!pn=@rCGI)UBTV+usb;St>I?|LqzdmTO?N`Y)%fcgVAQP47LV zf`fZ^;2e@GX3^lDV6rVyj+YIZR{v$&dOOSg#W2&``%=Ah{PBG3S@#S|HxTmXf$D(=K{cr)RG6f(A)1EG)mWrO@-NWK>y%3MH=ufWt4Y2 z@;M5ulA)KUPK-?KCW%r?cF*I_W>@Tt^)dA9`5WRZ*#If`*Rb^C#@QNsdplv2Vb;^z zz+el2v`WdrRAfA!y~OY6-qHP0z9!}Pz8N`Si=v_7{<;#6touIe-h9tbHe508@q?vv zT)-u6&R?HaxkQ9fBf!|tlRU}s*LwgJ6|5%t(aI%$sC$fTB?bXHu*BlFnM2rhuUyAo zzw$>(YE%24z9!#K{ncx6YO6gl3lEb)rSH9F(!`dxJq*tKeH5qMzX~xd2Pe0qdzcZG zU}U&gcj1HnOi;lxhyxrd1UBIUr0b?VeNVsr;2V`kn1=s3kz!vxgvUGf`YycJ>7@v1 zdU0^|K0k`5MSf{W3lIJWDUe%Y;Ggnui@R(VZriX;_x7X&>Xd)r`t-Znv4)<8Y2qA+ zuYPFI#1W%b*E!tI<&}Cf*TsH8e2FaES-B zKiBO1SJN~=s*MQIOV`hzJ&bTZ03_M*U@cGf7X-Z2#;x71zO%jG6O7}C_p(dHG3WL{ z;sPj2z~ko=BMdyACIolA^c1Rp3g+May7=^#A*FF~>w=m(P{|trz@U%bo!0pGFkv!@ zY7yKinr&ioHn~IgBh5Wp{%@R_QN2MACpRu8%)I+xatXzotR9=47RVHs@UKb40Pw;F zJpE4H=qWw_1fWhiMWwKwlo?6_!Pxg#?R}`%8uu2L&1r+@>`(H zKck+}@I&ydb>*7JocHpRSiB(ct|sg;=(Ch7b1*x>$ZpTCE+S zMmQ^9Q$sUnFn^2jfeUe?;X+Yp_>3+oOW@0CKiRv6+^_D{&WL2h3y-X<4DoVlNdTMK z2k$#I?`duD0>J>uE_Qaw11Ur``|Ufx>t!0G)wCMmmRB1Bka(a^(Uw8LJypCtGSKUN zc#i^%K>wM;W){?P>@^Zja4Gg3vA3c-|EvChqo_-~e!0YQF9-#{=M>jy7((w?FC(86Wc`i+u9RLPH4?wGuf;O67D&TNx>|qooAZ+&736F}(-2`5iiti<~y^Rpg>k)`F|%-k35isLo#5>bYd^!uEI&92uvm>?sI4fpVSxqOOy z;vR&Gi;xp(K@v^5f<(AjY7HLFGR<7GwSq)+>r!AK$m`Mr#ZoZ7U| z$Zcnu$odAB8=?yE@RJ0gTF9no12z0jCZgsWU+mfiHWg)gqyjL{fq^$9?ZN!>&gGu z3*fN{ePa|`B>s6xOYYXr!F=l80WIg=B!l3IJRk{62XZYYZ}R7s@RL-bHB1nHK#u^4 zsRC6R^9+nIatt@=Je+=`<7v+(q#V}Rd(%701NS-|H|9n1P9ntm#~jwI6sXqpji5eU zH8ET_CJwyf{}Eo;oP7h-N;HF8yLu(J2}TS59P)^v%nq!*Upxw82BrUpiRSumf58WH zkz_4NATUxHIi`PPKgV1dhN*OYHH;WKzH6?$%ac}8GPmu*{*XI1Bzc6A>+F28AoI9! zn_IzQsg9qqc-Nw0elnxj<*~h!@TmIvuR?S!4}m9a6oGagDp3J$!$1A>U^V24;Pw71 zdD~;aA5+v~o0-W4GsbA?Dw{~h&TnKdMH;$Rp+bG;m~Tz4-&a(ysn2%egK~&E-BWu_ zAd!`N8!KRyP00ik8VCNM>?xfSO6}jU^wZ^FC*9 zEC$KV+W0Evw$zV{pYETJ0L5THr6W_(kfdvL3tB*85vTA39dUs&dq_#4R>pk}-lsW8 zA{6kkCuX1;U@cF>m`WUo7y4Ab8u*wF@($2K?zBhW`s(^Iuj?U|cv|4BcgV2DR`-6- zFnK3{wH2zQYbbwQzxD1zAW{_rfanBA4joBFBgZ(ao(dgxm(~5~yL~gN&MF8+MT%nZcZ$&RR_C2R0o#X&mNg5~2Nmyj6MM>7Z5c|qM z?+o9;qzaxn!AiHJ-1#xHB)*pw-t{g;C)awbk4?I_Wv?5`7{cUP%QGGaC3%$7t`YEg z8UpgKK^WZ%QC~Rzy!!ESNSTHgXHx1KikhGwTAk)lZMszs_^J7T9X4&%k$?g^Z_{ya zz96zlh5(?$^;!nMF_-eoY0s9@BxxL?r2G@LvA1Q+8jrYTOjK}xA-pW#LyaNM4C=l& zZ{sD6fIowdBm6+(3vYR0kshDUah&sxcKNsX#-;j#Qdtcxo{@K76j0uh!5oD7dv*ytrQ>jN zmrkb(MSvd|LPZ!qdBLKXv3CJ2JpAWg1A`(ro@xo% zzh|Zvxj6an41ach@y{Z-MF%rlH}ONz^>y;p>;p(>qBa_6xKmusY25fLPRILa_Vb@l z9(*TQe_?i~`iMycB3+zL+PK;g%P$#PM47$k4Y468$okaxoxAMCf#!2lB01F&$|-}F z$1QU5w(d7_Kv_=()p$dabt)hjCL)mF1P+G+9ilnf)#Rrf(%QTa@4HwYiN|I+kRHsl zjE={@!*}%2@QKkcYCZ4I_!)rGPr~)R?Dj6i|3+$x&3 zThU00yr4L?#sR(3=2xllXicts-&>O0@DbY+C2B;R>|h_XNSvt%H1|NTZ|19 zyw)7@Y(=5Mbw1EE*c;3I_i$VXKX9B_d8rQ6H$f*yMI(2=Bto-2+_FBvSiv7Zm1ZLC zm1e7lK90>hMdSE8?C=5DOZ~UU&|mjqJXv(uBHABD=q^m>>0UUD?!&L@DLOg)LuAX3 ziD7qtc4G9;ytV{joN z=Ao`HE>4-ygRSeoc%`mrRGFojl5k?LloySw1RHxNU3oDu)Wzou|J> zh5K~{l$%VEw(cjagKgThe_RV!MaIDL;MdD?O$m|1bieWa&hcM&EKcO&R?6>Tx}FufR%&dvHgbtVMWRMxK!e!DrB>`dheW<2p{ z!8NkZThUAi8($4pnr7|c*LiXMIdD|^LEQ=^fw_0ZHTXV8#xq$B4nh2|JZe8rzX^pp z7pca9M1|x)#3XiO5N)`#s`o9O=x{ef=V$KQ6EALF)$;Rd=X(hRXUb5_SP0dVHj);#d{^yM0K#R8$Gl*;A*R5K3*Dz~33UAS2 zlD@T1Ti;Rz9UtTZOD8R7bhs;8gdvX>{C%Hga&d4mbGc?qIZ@EmLT_ z;>C8N#~yY~kyON=3oZ<#-e9~snNqp5QK;Z%d1UfoJDQe=0(*V4b2FCQ%&%e~rPbYX z6#sgq=bh~J0<{-!i5lm*?_PxNs3SI97Kk|H}(&K<2o~Mvd%lD3A9`|z`3$}j+43&7RVUlQ_ z%MeID{Leh_b(JmfH~f!u33>?@rUU>xcBr0upkaf!#E!Qfsu}83OE9ru$6Hz4e0wDR zk}~|Jk znrdegfuURcZaEaENuL2`CyjESfS>*`E`swQF_#uGI(`fi@}QEd;*@|u9?%lWzStQM zm7VJ!f9XrDJ_|s?1-DvE}^GRn0D{^!2-h|8C=4i-nrJ78& zDMjua-up;)>7=xPBG$Odr+-09&K`!TE}b5nfCr;C-n(NurLl{z*c|2ZI0t0t{N#$n zCX>IV5I#s#Nov+`dQl)!V;kG5DLV-Af4SVkZjp66RXgYw`&p$Ev8ti<3BThX?C7{P z2NmYR@0RLltW{wjrNE}F7{yay;()T(sQ{8Vv5>mJ0Yo0=6h3RNgKV-4yWe(J;;7%> z(Zq|>AfpArX_63!Zwz*G$Ezg-MCVZX^`s*=ZyuI!E-jb1M7i3mY&T)^Ugox5U_8XY z8e|#-<;Kxs=EIiK6%!7oA!YYc5^1iQ!V zMW+k=z&OSbL5=5JAms|+-fLzoA3Lx#v!|ne=g}b}@l*~QA8wQ-*IA{(@oBJ!HQyX&5U1~d@&RIfJ>i7D07AJ;+f!Asm>S!RvOGm&D?f;1Zuy1`|08Hx?+5r!9Zd{EX9@6KW5o=eG zE%^0`sgC;d%UI@sxmj;!!j54C$dTi;fZJZ|XBA0$2BaBK$pO3M!}Y6Ng9hM#4XpBj z_-XOoMZ1a*AlXXb(>L7xYk*ya8dmBP5fn zCR&6rbZO~=_=|wOrjVQd%;vE`M7mPdRwT#(XItg*Gkwj?EOksOcjb(;{+dr#PhWW; ze!zqM3WS#*oy|6MNmODB5a$N?+mK$o>_DU|`Y$j91T*jb6N+t$gN0Z%gtgHtXNgLA zNjWOE#iA}wv_m3(t51ac8=`djH0~RkQWLM%_jk;s`c%-UmSYR9P$W{f?+YIA zNBXMvI)Ly~s=ErRP0pWC`l=^WYN9cDk{VZ}6^&^Ofl3?3-=G*BVPbd??WSn?=;zMt zK+C7~u@ga74fp`3UisGqYvU(NwAL$EL?s?EzF|X-btR*Ru%*%$MJ1Xj;;Qt@DuA4c z=f5X_t}ro{D#)E{-@?7uU3GH(uJRt(o6}$N=h8&_(DUxbG_)9WnWV;EK7X!{;ebYWm?((YB?yE=!JB;Ou}ntHO|tYd z;L$;GpL^ajp$1+pN?G?_*k#&QaV4}mDS&{@^C_Ixt^eNARx&VQ-Y~|EhY$XH`(G-t z-s9T`Je~qomnm$oh8I4lt)3#iK#q!g%R0rJU}BYIlg#{;B69&9rvYixXX=Ay;e9UU zKbno^b(0ts2e}EK0`5_Fq|>;AfIIB>kVLr<*I%IDDljf+li~b#`Ez)C+Ci%VnfXAz z?$aVnW!#KF)XHyk?S8$7FC(-q^D>h$;AIIVT}6lhdD~Opm$fbM)5O(a1c`w^XU%B~ zxoK;4CMQEqGTjc~Z-3VxX!D~r4aQVh2)*z}_0tH0*8jq4J(OgOeGYi^{z!!8eg?-H zU4~r*n)T=XE*C<)n326#Gkq-L+qUXJX!31)T*XRFUZT5Y6LpWE#nQ+0vfIu;Qx1z_ zt+et(ep;aO1|R6KEC#ScIOWPr2bO?MFxBo;&N&Vwd2)Y=NVDM_dGN=+S zHFCny9Y$x2_@2cLK~0+9-UtB3n*H=yfJ`}Nh^7GQwM6r+;4qjQd`_8%Qr0aC&M zQ&lg%msOG8r7)@@T52`?xm3g37I_k0<0?@#7nMBx+m%k2cVu z8A*})^v-FqWUW;X@K{Iv&Ie2Gdn$k~jo zEe)-+`Yb$1C zhnVt}9uz?8?_u;M=+=)?NkWjDQsgFNxWsw7rb{EfBwJL}7fsh2bT@#_Q)c{z1nBVZ zOAZoyLdr&cUR|XZxcc9{Vw82ExuaQ zJH>f3mAh$E{rBDmYfM)7eLO}i6JOcPDRd2*8>)CA-E|XiGS0;ClT;9RZf^YNU>4g* z2H+BMJ?o5LQQ>6AO97ouC{Jy|_lj+G|$d+7XGK2pq1U%FsO zm6B~~^$nGRpPvehAzv-b?|T0uj`%>0UWS%+W=AfdlZ`V23O* zz(r3BA1Vbw^#i3m?S%<2l((2$7h|!6_bpF{UR?4jWj0&V3uTfk#r8&2*7V7`Xz`7+ zk3D`oE9#!ND)A+nU4P_;mo#D#b&M@%F}zotREb>>d^&K7is<72-Ae}O9p9TsUiu2e zS^y#kRXc~JR^^S+rOc3NwAWv!vzrmI*zy0Okr{%1Nfp~vIuQ?ji zA^uE%{2a*04H&7BQSHonrjvdiBqJ_Ld<(Prv?6N>(1v$%(r?jO+AGK0`Gy|Y2Xlbh zRdsMIKHx9KTufkabwi}i<31{qdQA0EbNaW!zh5(TLVyqan0b|Tm~tyOa1oI^-+Bd} zsmZ&kQw;x?ut%wuo|SI(unHkpbtEk^*d(7g>K=V{P}ln}q}0CI#~vCOU0>t*w5-+e z-jC@9AF(Sb0nE0J2A*)kn1F)&46aU_N>y2$0_{54E=ylk!}COz_^p*cmYNIfQZD0p z8}3J?kqsKR+oBLLdet4O#Qa-Ha=$LFuT;w42my%`AvWl9UjbtV&@czd6bdcce%c41 zHm!RnYxK-M1-!2^u^8XbaD(>VJ!67+aJSekY-a+n@}iUA5BA9Hi_o%wNqyRWB2Q7-QvB<2^S2amA9?@>yKu_RG?qPDD-^G6o_3g7?n)3Yo;I8mD$e{H}fXo_383((Fb0^G=ht73pC%0IZ< z1j?2$^F-l`$UPA7F8N{lUoL-q)d$3;q+{NJx;09fpiSDL0b(Cne$sGOfb(st0kct; z#Mtn^4W!5FD6jS?V;&m~e7P7A0`aFEtJvmsOZx^=@y(ZNRh6FD-=9Oka}x&8s1V3F zZ?qT_N#)f(*QSP^QSHS%MD80N52w7Y435& zV%327HU)nUAF>|E&MnTK=5`h6%KI+k%XF^|pqjO~tJCZRaRl%$ANcr|4->;AZX@so z$neEx(Afx%_Iq#I<4wYDQ|cNyz=wtY8|@=jPNB4NgsR};v^=xZs2u}#LccK3`S#Uq z-7DH*8E3$UL18a`s1?=+o-T1Ae>NdZM7@76)#$*@bg1y>(eR`Sm$)*kSJhWgjX0Gl zYkSTT^IiZhzbBgXg#ysrz7rHuHzRS4HVe(BV))}7V(FpJ-)7MNnE^8l*nF$ zG7X~ElZwKvKn{)aC=dI!z3DBxKDhGhC&2SvH@Pl^(p6Aeu8<4_uJ55JX4Jom`HHPI z?pXsT&uw*zt^Vn;EBEOg)tko*uXODBnYYa*`Pk)%Zj}*@ak}I4>f1(C(#-9)CbMb60G$2_g$_pe4AWS}hRL&3 zdoY_Ob_kbFN?{Ma#i_fO+6||7Eq$0qa`8Y}%M)RS5b5wasD}tW299EXj1p-N$j!L#%-!yZ+cogwQ%$T*_GEC8q z-Uk|Pi|w9IE7T-dWt7}+#iRc0O)Fgc!v+N`>yDN!Irb9XlAQ;^Eik( z&n8zJzYvjT;t~VsjWmN?7s;k?k*MTv@F8Mjz$9#48h+f;1w_n&q=n&{^aR)&Gc^yql)wKj#jZlR|qFA+|ZHC_0_N*WiE*eqrM__^Nt~=bC5aQ%?U#Dwp~IUGzjeKT`@sqOsMYpu2(}&n^nU zz+vOC`17W(EjQ~pKW^gl)8G8yOP=Zl5gL8hvef~bh_R_y@=gZo)*!5^L=XegD38YI z%N^ZO#y%$7Y$LQb{aHo}U{CmFFh7op90#2C3TMHM9R@cN5StDwN9`kEn@B9sVw#f{ zXe6yq50O#*BJ65Yg4isYCmJwPxu^)pZ&v=Cw^zgkij5C>N*)MU)Xctg^y4MoM~1RB z?vLy+v56}|sr^8YmSz#lpxws6v;gO$xADT@1lw;knS@T8B42P?GQ}qAS{42;bNRHY z32VYz8c@~0P%)LCz~=uo{vd5d50arCtHIaSj+1_5J)uYZ{NMu(y4~A&@m^-?udM*k z+~43otmV^#gzSooWb&~579bJ5eC16I0I-_;_rCz9px51pRJwbbLpuO?{6(VSIUTn$ zSKTdik>K24oVaExa^E6t?M$l6)BDTI4xgz`fv=>$=0y*b-^g)Tf->V+zJN782oeXv zLw)+kx6d68c~j$*P17aBe81MFB!+hxW^*%8iG734@Wlx?Mla0dvrr+2^Ng%)FKRl802fosZaI|Jn+rbLsrU-n+#fl)}$KR2U-Z#_S*U#!P z+|P_6eI{EL!Mv{hE2L-S=Hq@sak+IQSjld7lh7S4cc7=4m;by&7~YC|dFmi)Dcodz z5hvW#l-DcB6~F{QkXBdYz8#n&H%~jirYA$1|6eEP{ZIA({_)otj?FRR*aunJvWa77 z6QPJB<85R{NjQg-l}$#Gt;klAtYfdTLaF3%h!PHxb)56{`4_&o+w(8DetKTl<9>gz zqSd4OAKdMO7@7~u7buePzSesS!3xQuxMy?+#UzqJK1Q9BSNwX^-Y!PAN#o+T5N(-c z>AhA=IwGB4{2{FM3bs2EVEvoF2)5Dt=auxs{Cs5^JtWx0hKS=|o$eqCe!Kzc>|6GtNL)P5hMOhj2A}{f%xg4kt|`C!sE)?*8R#AMcLeJQ5*M{nU1ge&@{Q zG3%krl^-Gh=w14SuZ}5Pz5;w-8Mta1+N&9IrT-dv%&wz(+A2P`UxbJbjCHB-rpfst&DMde59pIXk#w-(bUM)G^M(ZBHl>lgP{4D} z?9Xw$zE}}wll_CkCHB-^XB&jOJ#dt0|NTVQ{}>Zku$yFQ+I}_gY5`Wz+V6UvUR+fw z$sN9yWV_*nvILy)*GoesJ3AoVRMgR1tl4dQE1UkZ1Y9dDuk$oW%8(kr2LcPvWU`Jy z4srpq9k7m!5Q-6*(wbBg3U1NI9s)(rS3qQoch)LQP4M5n(=1L!ZTwZSAN>^&4s?0s zbPx>Szz;n>=5C<=N*p+mcAVyu#DD(t%CIT^!3vGXrsKY{ zvK0%;6)7jSa08a3lo4vGdS*R}C_p;X%_k?G16?L1kK1cqZy53TF`zO}L*$@NmzI4h z2VFF0(qy1R`zVAll%Q}^en%Nr>4iQIw$BU+<=?`1;)D!d^Z|@zI{XhzX6QRlB}x2P zcpZ(O0XnXL!QLT3A@t97ayu3HIf43KDsCTd!-{2VoV~~~lY2n4Z8|B-mt^3njz!Wtu%tE9SUsn-%NdRhWAv1_J)aykji&Tx41HREZkc2Mmr+lYt;C zT(CC3zB;UI$dq!yExHmrU5|%n$T~?vnF4|wmN*M2@)KS-XGw@sb`|4WKC2vmTj?xD zWH%)1$PGbF8}(p|mV;tj`x{}u6@BhI9`(xY;xb%f4k3=;X>GFgj8L~ADj*dE*9Dhc zX~dJ@fvnRWSo`a5vD#Zl)GxS_^R!PcmNtU*jXcxF@lT;wt%03!I8asq!qc3CrXdSg z4Kp{cg!D?{2zL34qrfra=r*^^6$mF7VG`5i1cm7sAm87rqO0ApMvADz6_Y&8*gU+L zzM(6KrHJ~A!ZlM0trjsm(*ZI1M0m0>nndZs8ZnhR{_e!kt>Yfx}7z#pp4+dqAY zpM#&3V1rU{fm1P?$7`Ts55R{l_Ld~|7F^CC6ZDR`{WVLQ3Un8kI6#FhabSZ>ui=dp zoLbwyILN-9rXgS9Y}3t-QhPl!&d&f>Vjty~6lE7pR}yjO@?5#Tm;}jjbYRDLhyIvE zf`;=7#Pjm)*?M0+SpinOsroR$J2o(%*&ADwJ{}lTf(3>Kn0Fsrmpcg?ehLJs>?G@_ z8ZY?%4lf^>vjuj0?0HdimYjW1VYZ-O^nGym*vrsOHg-9j6S(d|stIAyd1Sk<>|*J~ zl*de$TB@_khOT;0gW>%2{0D^K$@|cjwC_~j78h~}Kv-A>=_3@R7{%*0iRXq7tXClE z1};aK?(hj?wQ`P3lNV^LpK|vpb`1NUHo91`<;sBA0O%}n>nl!wZvERKWmTIWvA-+POzr%Cx zyX;kcyb*M;prYOb--Q1s2{Vh*oOfbmpWc-lG0HSeu(-6UFajMB9!b>`*R*!J z2nK8iKVRlY821CMl(gF&K76$er>mS+-m&@sG#!t^$hR#?GsehqrQf@%`9&m0>g{CB zCVS+8lXJv#U9G2o-S8cxGP+vv#IIl#wo4oBwlUEbDt_Qsk8SO0(D-VN#45HrDfDa5 zpL#`ptN!IvcoD829+wEO=gx|zXN;r(1dVmz=Od6J526!T10Ts5o&;Zui{J~ck~j(D zgTGQj9xA^@;*x&miQz=2&Gcf$cAQRXz^{%t0W7NefPW`IC_6RqX2{{MCyR$;o=Ozx zRdIA#M*LhwFp1u5dboLg8OsHfJvf6K8^pC(&q`?@66c*SbDQeci>56>3U?Y`S`UI- zadCi6tZnVeXTxggH0tQa4I)PHi0Du=-?NRTS|^=il&<3MAqZVqUnP=MGmSyi2-GWqop#QctB1p;|j|p^Ldm4CI(y6)byP z_&Y5K;jh81uG}S;Y;zJt!iTrt7;YG6&Ct@YOl}QmDL_SN7?SlWx^k>egGi$BX-dR)JlOM@?WUb8_K_yV zqW0LO|F`p)1PaCD=R_@_4^Jf7@B|tN|bs zdmg==A8-+i8_hcBRGI(_4H5$irKqriRZv%+U-D?hLyNugnlds${k=!L`b}QJ-n|1q zwzwJ2{NCg0x81D0-HI019`De`lODQ^i#B}{#4!$_RhfD9vrdCFyV8FJw6Qi&lny#Z zGBzqdd_JtW(w-R2YW(qBU5;>q)?(38I59?Zl{*Ut0)n3y{Op^G`ezzis2%Wb;QmVz z&XxCPkIVdt1Q0=473f<2ufj+Gmf#Y5x+_3>+5vaLRtY4@UVy^jHR!%6(*|T;w;#ON zM@a;&gr?6c=`D&KxShQ}c?Be;NaqO*{)x`-8#L2Sel4-{t+ASuhHJL^e&t`zhmg0p zKPd(Y{YkyEf@U8B$CFgu=i-B4Rn_k=ckeI5mAhd1G+ERQ4Q=WO+ znXc`)+sOnf%6gI7Hp@}ue=*^hXvRudt_{lgnWkB?+zks0OwiD7ReYJ(O|nBXUfa1yf)U4tDd@#OdBy910z4vxnOm$UG1gECCU9%_9^4wpym#NsBWZ(CRQ)iY; z>k$FnU5aaDKD*nhi}c8^rzfQtfod&d=O|cwgEH;E6O#H98pCM%pK{t6gm;bJQ#1F@ zpy~WcTETYUa5FYdts76@DnaVc9x&)T`cbF!60O*o>)zIifhBYL`Hf&=T$B3;h}OJM zq%8NNXX|9kp(d8VV_zWt9Pgfml5YnjNQ#guUti97vnY1uQ+F)#h=XU%1pBgip4@T$ zi<>;<9WjWpc4W(WG9f1f6k>;Df=4pk;88UMD;cByu`UNY3M~ta5<4kZ-+oW<;90cR zo{pY*NeR7^r2{I11UtQYU-1!(x5}O<`|Ko)F!5xm8`fM4jr{d6JmKy$o_YgKR*ZAx zvT55~oXpgP80~_u>@*gg6LW;t{W+ZPi@v2S;qC^;ok)^$rj?5t1T&JX`{tCEU`BSH z{kQbP3jbGS`He0b7)n`n-i_*sj<9&+JC(b9rCy`J85!8?2ve9%!ux*27$tmHidC55 z#nj2qgn=wXV#7hjMS8*AKV`pK$XfBzTM(}bb6;0B;$PP@dAa6VfUp@$)vk1YVylc& zy3S`$R-Qg%>FkccD<|k`!zyaKPQ|oOzD_J%UtS*&YCFAK)^h;5Z2GizWVkPasw@ zodDepj&iv*vuu18@*0il(pj-ZYFg+h%fNx{+f{-aG4O|TZc`~Q0vLNf_m=dHSv8Z0 z#WABeqr#&OB9qnD779zdCw&bW#7y<=Q3YXR#3G;ZSz{>T}?z?Q}FZhy&q zfKbCvj6&-9e*rBMJ|O-nV?rzN$e9l@ebWU*RA}dUINdCWa0^=;nrx}kC}@Zc0j4a( z_bW9b;E&`j8EOu8YLDFX@{So+gf>)Nx5t_AJ%98^!f%H_I~N9fW}Yrg^6#^ zDA2wjKxjjw4W#>FHCo}ZB_-!F@9+c6PGMkoZSDS^olt7oHf^(8zS#Hg%nCZ-FpfXo z*Fx*1j?M(?x0Zlhl0kh5<8k3vvh&55%h=b?P`u0o#w2Kp@6fp4qvAV8jh_9{O<(TZTorc`5l7nB+MBb*wI+4z;)RB|)!CR!l zA`-~cAcmud2Y*u>DZCP@oOwCU#U4mz0svN(u9DGx+AO^y+AZeB>n>Ag3gfF3LBviz z(>1QJE@8=kcHwHHi8g6sYrphI|453e9rzcF#O9L*-00=W~r|5%+WE zMn~7FGx)%B_7s6j5x|YN6T&d#t2VCZBD@)6sP_Cp9WjDdJo3 zM-%4tt`7XEFxP!E_^Grdwd_|uKuI<87hMi&Jo*TzCc{G6^ms3ig2(%_Sy+c6saf?M@Ls&%sQJF>n6^aNY!YQBS6g>&Q1E|K8j8V()$AW1i%IW` zmz9Vg>3pDMXV*lVvtf2(-?_T5=q)L+C+oIfS}RVMdK^tBQ-WO zji^|W67W$=Ynl>UTWYimVz3mo7`ruFNz^E&m6!O~?sf0Z%sJ=RDSKf9{IQE};~(uw zzB%9d=9f92%=w+1j1m#P%%Oq*Z2)_8puV=YVSs@ExqyP90$T9$2sJmB#NLa@t9T$t zA;1fVpZ!oq7|bNQafDw$fJhx%k%x}9mgI^#7oI-PySAM(jS7a|>_4`4?Sj4prx3a|>G4xkXk!=7Fbg;_j* z3Y-6MDKloBbQvGjpCibW&vgobuaNq0;DVqK00Q6yL>&EYvMWW12ucN>ctbOx3YSlH zoO5hJJ79 zO9!*&<`_`%hyf76<(_(fPGmLCgAGCyz%;xIP#QWM(C`BEWtz*U1!kQD0PENH0PeNp z_yU4PXflCB2ckmeKeO^!r3z^*j^GrzQV4)R5J*$Fbed+tR0Fom?>4^6Q|ouuu<@Fa z0SNTgjVV;jL{_t6)2F=t&x{rYbtm8g3uZI>#MW*9 zV9C|b1KfpH+eQGOOcHCxwU#NDB9hpkm4ZS_L9y^bpQesH^TdRMebS3iF2^iAznSlz z8&j^9d1c35=FfkY5BJtqQ;Js-gkb^1P+Refzqf99p+fG4no0!)L2y~1trBy~k`9_< z7)WzI{#QoFX+?H%mD!U^2N&P?{4N$P`XdMS_Wy*YZ+~VcVCDLo^aK^q;XmYFcVLT_ET<)#;T^0A(eDA{W%+YQL@ z*YU`Q07w&n4?-yP^)s6o+g@SE-#(`Ewr#w=efM7(6E8yO#tSeS00EAESqMV4*@B5! zxo#)RSL|@T2L^slYqE^MzDE5Q1W?jX-|pHoRO4GwyoaYTMgu^A0Xa60^xOM;)0bDT>luSp p_fbuLiIbcle4g?DpVKcL;NROra-e_cBVYgk002ovPDHLkV1h7LxF-Mr diff --git a/src/qt/res/icons/send.xcf b/src/qt/res/icons/send.xcf new file mode 100644 index 0000000000000000000000000000000000000000..435c4fff542424864a75c33ff879b2ad8a53fa87 GIT binary patch literal 95392 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 N-YKZbSIb(2{SW72b6NlZ literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/star.xcf b/src/qt/res/icons/star.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9c4e7aa34cbc8f991b4a1cab6394261dbf66442e GIT binary patch literal 216380 zcmd44b$nFU_C9>}nTgFz5@G}=xVsf7l)Bw|smrYZmkMpEE7aX?m6qPRL8(E}(oiHs zMluNr5le3rawfEVx*IsKzjJ*5ayhm;uo;Q5t zUBe8+Q1*ov!^q$typx41`HZ*R<9XqIHZC`=R9yA#_k_y+;~Jkq_jJ9Ch1&hTTv6 zdxj6cf7k<20f~L|Eq$jhD(ztZQy&;cn>mJh;bB8f9ALO|E;3vL(wtT?mvn~wO1=Mq zTSn)NzURSFw+|CzCIXNhVBt!(-?IZ!?Du#vJaO;6aqoR`@7aN*!++_xNXz+`gf~u` z)8XW6|1*c^H)P9;u;vX=>N{Lh>b9AwDfriU+ zt^tPIa;{U1$TZ7s^*0jaI>kt|oU5-<`=ntdSpAG7x%wE9DOQrz*GP_DeT)=~S1+S> zieV*Ny$z3Cy$mnz#jc))&*IhHsGV+DUaN zU5pIei(Q?KOl!&+)ZC;|T4$ z9AEq1C#gN)PO9&F{G;~n+3;)nv*X8nb)1;5juShtjuXdwFW);J%-4VNUV899c`m*8 z#9nJehpRnsV`Fv@l!{C>2H0cv)VMJ_FmB8afPRr_Mn8MZ_KzF0RJYc6(&%H4*?v$l zGR5c}H)i|VW0o4%8dHp(_L%J*H(vGF)nk@g*BaA|ZuXe%5jS4-*wtf}n%5dLjL!C$ z?HV^;_1Mj{IvZomf6_neZzypJHv7wuoTEEQ=6XR$deCol1Y&1v%gV0*RV{y zXPdGHbAmb*%Lil3u@uatf>}ljmuL^nJF>*$92N9)$oXhOB{c#Eo)WmuvX=tk8- zyQq~>S1o`<)x!HaYGvDMfm~FrL|ZMu#?(qVwpzXHej6I!Z@4MC^*chho+r?)dz@}~ z;E8T{jq29N)~#h--P*+I26lCH1G;n>UZc9Tv~>fym~Ne*+lNLwtG+?8I~;ZKelFS_ z7i?^_I?DanMXij+;&p9}239*GSG=vGk!^J{vZ8Lrxt~u%J|Fnxq%p-YAetv!`J{N}{XgW{^CWo=`G3Z<^GWE~ z;s0#YF^OaG(DLD-m5PT}8Xj8pj4rakOT(P5jK~Ch2i#(;d;+%>V2cPPE$|uX;y<~Aa9g7>T99+0J*Ej_;3}O58p@pet zDxO@&Q!&$^idj+ZG7YU=&Jo&W8pqPEr6^V}PO&UovCKHd>S@I?k5DWlPO;1*6w5ZW zVp(yDCEAK*MiomwfnvQxF_?d7T;KJ!wd;3;c0Es^U5_~JdfVFdj?=D>)~@9d+O>(( zuHO;b^|rO^9j9GOTf5#-?K;}pwZr47Jsw|2Ke}?{KHFoC*!UPu$Zl$7`(9g_b@)u- zEXC&yw-B_mb+;W&fBex-)>l4BY3CX!%TzeklXdr8um+46)*#C?PPJUdKr6xMZ=tvF z%9U1ME5+zzd5qq8<=;ImuRQZO(z;`L*e$w5%rrV%8AfEf)yd*p{bv{4(ic{eKkF3< z2WVHIV>^cnOj773)JTz+PdIdwg(w%JJ{jK}tBpN_w3b`-vG!n7&T;LD6=WTIVreJ##Qi$<#PZHDU?lzc_5?at=GvZ)A&+59 zz@3ya!S8)eTdf0%bF*8nJOso^@ z7!zwrF(zK?7!yn0s4@E--}}h#_wnqRWb~6ELrFQboX>#tCXQfdL_4p}sCHie z$qPBGN%KU*nSB4rS}8ISarkpusQbw0W1mBo&%^lPT0c6$w#G-)Rv5E`EzEcWG2;!y zjMpDC-6@#y`k@P^V!xYn2fK`2GF7^QuXO7)nX9j4#y@>HR~8Be>YGvjeaqDtCCv6)WKczU*@d9*~@p*;31=gf8~nCllAcE0+Z=az_rHj2n}_xKXP%-*B`GUGcn>h}8v>*Ab@d z9W!O06PU739aBbHoxm~soTN1=(LY+VtF~rOT2p36+nTs9*2KN2HSKvj-kN>mtqEA$ zn!O!s;+9wwuP1QKq_`oj2VHDvXGF*HvBz{q+;~2o2d16GK=%HFtvC<*qVsTUKTglZ zF`IBCXjJEu0G}GpCs2MG;NR`>iGZ&iFz8L2|9D>k)apA5JG%}wb9 zv`sMjN?6AE*hxL}jmN;&7?T_k+4#9w%av)w$(4Crxndt6wOpCDT$xA6h2eA@x%x+C z;wMJRltY=&$4AN3J6@(f$CWAeu}{m?$Cj!05i<2Uu1vLnjM=J}EmtSX1y49au4Z=s zgXb~#ESiH)Q>!H|bRGSLJBQqh z;?5$r+3_UTd$!!2>>z)0pN*>m9hBC=YW}SQWzHrjLyg=7?Pt_ZFc4qWVM@|dcz-D0 z!0>uf`%8XQwx;sDJVLI_W66a_XdSumEEKtLzm8n^``B`EKC)#3jL4K@%S3;vBNNu{ zN66IYSTf-WQb#8IEi&P?j!gLb*fPOZ9ph|;hndKQdt$5Jb>wP}F(2Q5+^vr9yyNXy zv%`+uv35GkG0K>fIhcj#)SdS^`$T3K1M#AdSLibpdV-3bt6)S6tJYIwdy2aVI;f>X z)I89@arwK1_cWQqQ;eCI6Zaj5W5&sGtam()SYVN3N<7Cb>;@g5W3Q9r*yDH{(ZA%_ zBc5X)JO+--QQLuLjW=ohd$wU0W=u+iM_>>blZ)?%*cV=S_J)@}C^X`(dmjG(!$Bb) zKC=I{9jV_$1$7%n+vjoe>1JGa)@^GWMq3T^+ie)v_r-O&VLXBNAI>$5DQ_A^Wmm)4 zu+dPS*A3M*&rpN68tTHihPw4DLp}N~X~{w+eF?U1$HacCG3F_T%B;<(m#)$yY3P-M znRuU;s#2A&m$5G!f25}Rd|uPr)7X=lffk?F>+z(hlpe;u%zFG&{xXxh8++})Q&N&u zvYFJ)*o_-#$KT0GBpLBxPjIJw6ZeuxS$T0U8WNafkD9X*0WQwgk9gXdo^)v-7m@tc^VDEBg24n@i z+{Z8Faiw$+a1aF*sDZnrZ+bfzn*dEY2%XH^_>C8Ag>KER2eHA|X~BIL&UQf_o4ycA zNg)d}rMHUTP1)wHJgs8p1957@ zCM}tX){RG#)&MRxf-p_!s2as|d0GNfcMBvET`9Hzm>!kV5~gruW~bptbA?ljQZ3*+ z$0AO(4v`MF+hI-V!gvla3?OO&p*)~*OeSI)4xbk2N^Nwl0Y#uFR3C;X2W|MHIYihq zdB%q0FaRMpnw>taOP)Q$_U1s3b*#)xbRz(Uh?YO{ahagyJK|?`7HORFA%C@n%FBnx-s|x)7aJa&(AjT#% zkQCr?Kb&7Nzp${%@5h|svNlQ^Xid#$(|k09=9QHd7%kCQ<1~VeKRmzCA1bRT^8159 zw3^liib%3mtE$5lOVC*44~7fNi;JrVW=Wl=r8q$N&=x0e_6n2 z4hq!{hXTI^pcmxL;omIsSN{*WIsl#od?&{%8J0F(LtGJhc< zO3TARfP@3VCr9r}|Ala+| z8=D5W6r-V}I2iDUf`O7iFyuFy!lTv!Am1M@3@rwMa8WQAfH{Jtp+G1U0D!VqQ&x+D z%=Z@rE5e~bpezg+PzeP?r2(S}IBnLPAPWc;24U84X=%s|?Z*p%N&)1uHd9_$r2=%o zDijQcLM0&;Qo(}(DCGx`66X+^p%o|v{jhtOkU=weC1Pa3n|$tN;yR0zV87;i6#T3G5;8^p_Wgib_Gu`5%Q+*7B&) z$g>2$^cQY^LdmM0h*suK!1+KgB(8rAZ5qfK;&TegPzD?25JGN zf(OtcxC6>{3<2j?en$>^0HDxcpoFgNMJj3FvUfg}{@0C_^DbnPod zS%qhSmMJ7M@i8DyNQXHDDQU?_z{;^U3vg8#z~kJO@&F8ElY&M_?<(>TZ+$t}sCOM> z=NP%E#f!%=^{H8Ij5d`M!upi3-k58K%`oTUDPrg1sbc5iF;C}WxWl>hDP*2RW}s4^ z-sLNgh&mU;CC(Lpq?9L{or?iH=W;^cM;>T#Lf-X^Q8%p@tsb=^2^XIk^oQHfr1$K?0lf zrf73Lwl-|kq-nF}d3jtYf_RN9zPWybMopUKwP@L@b!)5>DcS~Mo}A+KrPa#>cH?Gw zEnBx~*S>uRE+j?v8d6B{Xn;mdnzv}(wtdIWUAlDT0uK=DH4Be76$0coYMR%oP5Vw= zy7lPUs~1;^LSqAHfJth4hK6X{p>wyMz5Dh%r9akhB(hG3kV{5Z{f15RTDR-ewMXxM z{Ra*je42o)MOWKIAZWuT&0DqW)U9XV{->UH`k7~)1rRc-cBp_)gT?~VtKY!EXPkZR z`4?Qs^_>Hg?D3}6%c|d~S&OzEyY=dK>X5U}z2KrtF1?HkMG<(Nn>weaXXZ3$lGnOJ zm!5z*`}~V8y<+H9SKB~qZFxW_w^6fJ?K=19J8;O^7hHV#Ro7mB!;M_rsnsHMQnJSf zLJga=Xw$J0>)S_*t?tM=^_ZxKP1(#iY)9oWi-T%;|k3SIyrlqgn5X8Fl8ZhMC zi-+ED>&Q_LJo3btr=P+4&!twz@yuki%eoO)6Tv4s+)%2{ooVNy!86p@4o*5;K+An z9lkKhz%woYy*oxfI`+la-hO}F$K&Gwg)wZ`ymiO!{RW?X(a;-*je6+G=U#pL{f|ER z>~pT^)N+S&T0K~=Mcd9j`=5T^rPtmva`a-lF8Fbb~LvI>!?__;mr>} z`}W5vGiLueZ$3g0F156-2yi5baK-h*Mm_xWEAM>#<-}j7&;E0M!9u`NhGj>|aP~!4 z!LW}%_xk&ve*5EZv*yfSSX3Mb9PI^dhD)!#_09*LdhzXXUrhLA`XBQa7W=tabEzd! zDZ~qGDQ*}x>XD~kefN{ECrz34XF)Mm2wXEljHSmD-+rH06f9r7 zv}!qy5V}<5ab&sYk!N0e?| zsb0q=B;=`#lcy;MEIrni=ZguGXU#1NRV-V%rh5H`ID~kC`f=dc0)0Jc>K_aIWs8@u zu3leLg9V{WEsB#UR}WtfA9j{VG-FO-aM9A0Yu43l+{6_mM5+*xQtWAya|j0!92oue z#l*?8<`tJ#VjpV5#=rimgTaT6J&(y?ruY2!V=Ytpk`-&#Z~SZX7L|@gf^t>z(aM>b zb4r{mi%`GJ_!GNK%fMpO<}F*tFby*efuKWJ$7CW*k3dT5L0Q!xFy!(opGrN1bxbzW z1I-lWQQiYsDq-n@*q)ipI|s1P!D_?kZkS1CvP#*H)s)=mW<-1l0PRjoN>0X3ysSxZ zM!*Ek-Kkil$-0Y}T?}jwdw2VI6L3JzMwXBZw0Ch~rf*^mV05xs{_XV%C{|dRya|eC z%5L%{ES5G{j~dvR_wMj%&b-g%3U15Ruk!BH4FZpq4q`#B6w|ZQ>k~-{4)fuz>7|bP zKFCu%K(|NGO?kJHhQ}*7wK4Afg+8Ih%Y?mg{ zpUbmU<`0kwLR%iEO=D5%wqmlaWJAkREMh_AwvL8q^s;FOv_N&O6qmA*TMD&%c-g>ValpD*elQ)96Pq((EPHa(jtnxhvT!R{jfcxoY-(liJ} z4dPi~y>Ek%2pZ)lo(n!PFz}*0n`8suhKb{n2OZYOj3ZRySu{txCU6`M&5Z<@S5!D! zi%fi?NQmN7JYis4Sj^N6W^#Kr#2Z1ohT}E>(1tnz7r=-iOd+Ht6@zI`+K=#gLC18C zW)}5Pd@|9oq2n<_&j}0zKcsUUUQK8=_MJ^9u5WB!+4x9dn^s^P+u+sd9`I^H^9h|e zUOvbFW%kBL1>3|Y;MLej_52mb0&krG-PlOfJrt*oS6JvFhzA5d8aOcVZWPx~5EY+A z@(}=VjYt8aKs)lQs-{+8j~qC5OFP5m-&S2vfEF}ZxIe)fI~EzqnC>c67+Yus ztI$Lgwt!X}L-{vX6&B8~$PfF`2s9x_q&CLJg0ixCA%9ije75FK)ii-<;+PONYy6vw zD#}9s!uf0kU2>FG%uB@^%L}o)T!i)|72#@-CRb{pupP6Z5K#t1V{jpu;~!4i}qkCHqA>w z%MV$WKpjUE3%dquq5&YpLjY7-3|4i>G=s+6=|*tFk9btD2z0`WLxuT%A>_u+*6INE z&apEW0z|kBo1uuKNrb4X!h+!_41!0c2N8}b4I>bwN>zBfAK^5R(egMz`>_=*n~o~9 zxkPpz$qr#Jm`4m~f)e5b;D}@Hr%!jApTTZgkWWm z%8A?}RTE=5p|Fies8U!ufM944;V2BMfrH43&C`>p!FzqBY+SnfwJz;q7RhTysq zJMFUFk9ZLDCF3&0PU&H^p5}|qhTtl&6cf?`s1mIiE~>*A1Vh+^M-T{(f@X{z2#Fv~ z5iB@Qcx#dtwg+VQ6%mVF*n`zh1)>4WV7r6Ty;1HB3~bUX2mp$*my9)O*9-Dc6V<|07n-c^!V(>A_zK;E| zn<3lm5R|*&>j8f}_Bmj`P5KZrLM23pj?EuC6cPiHKG*=xG?b%!9qu`f@ddONpd3cj z?bsGToG6HyfJ?0Esi4zD06ckAdF5iEM~?e5nre~ z5VDLU9luh6zv&FemjW@R;2!oW`$XugKn;6EB*DESMg+=@KtU5BA%K%IBw7bI7o%vm ztSd?;)I5=l(9humF(2}p9Aqh;`jw=o}H{c*TBBTPF~J3E zU0&592E`795I{a^en6rrw3Bd<=&6EhqmqcL(lB-Bs0;%EOFiQq2ChUdH%X|7!?g%! zH)1ohiPSiSV*s!pOerxTEfZ!g(7*t<=d65rg*bdGmeTO6WPKt_t~3;=&_xzl$bscBSO!CfjCAn?9WrVqAtN0wY9YD# z%+KegLqwri*(q?$sXcsd{&^74anEiEJQh6ZZlCKe1zDM3-9njJrUs|H}+%91l8VfC7FqM zgTGC@w8LlOWb9TXsYFDL+zc-zD1L-CQ}*HbX<}jm2=cC5;h2$+pH_F_Bw$iv0vm82 zK_sj+)6KMPaxN8Z8b>#^HX@k_5N*L3S~(lb<`^Q@k~u1SbCy11i&I%~t)@b21C_hA zeol54kKM{?Q9(wy$E8{t8=5q3+^AuL+?;G4#C4i&neaI>ucmpkrcD|(BmfWIYUpHY=->yyTmU+z@gM>{%^9O{=Gpf6G>C(Al`?jrH zG;h*KL*N7-AcTbigzB}vXOC`OI<;@pDz9myTyT-2umpkOOx4_2+y9h)eS7!p*11Dl z4Wdu!#)tsqw84W0_V3rbN7qj6TIV%wSU*c2b&XQN$H23y&piFKQ~USr*{xH%R?V9< zgt$D-79)d&=7krWf9~053?A68mjE?xfCI%ma%j_03NV*lddWo>oO{-gQvuYmZHs1& z>SysRu@Dl8n;NUHzG~HFYXNoE;8S{aY2T_jNkO}q;DEaKp1bcHaof$;U3u|&XPnx%d#AQ7AQttDiQd>) z`Ot&+-*@-O+i$-1ii^$}GN5nS0QcXw z-+b+*XPfrDvXa@b2L^U3Kxf zr=8NXQ`@{Ixi}n7+c}H@IR4{t@4x-pi(?-heFrFBaK=Cw=4j3U{QR>|K6?M{SD$ae%RCqSqE_Ulg*zxi|=sG?Zw zjYI!+7R;&n$N7#@0G&B~>g1ok{}N=Md*c2(Zn@?XShPpSHqDO|01Ly}zt5cZ>!fc# z8~650V;;Ku_UmC&ct^XK0UYB4_Rl%9XHNZP;#cF}eeK!D?j3Q{(2LF*bW9NdJAdAv zvu8~C@!QWneDj4TA2@*wImVKO1@r%$J^j~-Uw-_~D^EW>YS{Hx98U-U7Z)v@KWEl& zKYsh^`>#LuILv$1MQ0yd3IGTE#S7>CG5wbbUyOVE#it&)^VVxGJ&q}|jm2056c_wC zYs#drKY91nrym(L?1tmY0cd{iFP#6!w4cBG?1ML+KT?o79s%fzMP;Fqg@4YR{KJ&0DO7X(#7S$qItjnHtDO6|NGLIm@r2U5T&w=ij^y>mSTIOAbw#n>N<0TeEWMqF~{i8Bvk+NIHf{IJERv#l{WT zimEIvo;PdqM3L#f|8O{QMzN!R6V17%jUl}u3xiaNjZi3kwU?TWMJF#TKtr% z6fm}K*}Mr%pm^b*Gk&RSC}(`@M-HEaX1dZzMssBCHzqyq6*I~h^Fw2AUXvz`8s+BZ zbcW%(&`(3a|y#m5?4{K)CRu#NJY|%rc@l-ad{hf za+qC&bR;gqxZRwRl9`-i>|=tGou-qRoST$k>_rL_S7KOfA=r_Os92gSHP@GJY|CMS zk)0jH{3KFN@@9I{jqPk0wpxqzaMiX*o3c?ZT9(RhzPPd7rV8uZR!2|@V+>{*#;+j`z+JrP;Ce3i8 z9;&7T5IIms0Fo=@BOJv8>r~kNA0QEw0les(AOc9v3v*g%V-Y~;lD39L@C#N#i)5`3 zilBDp6TxDjwirH&ON%>ZqNzXuu#(Baz@`oA@tCmudaj>n1p?X^?1Lx?F$hedlRR#G zuJP(5kYkIXtwH*UAPgHDYn(K@Sa(JBiwT|}3=%v(WFXmQj_N3KYuPCU;xzP31U?c0 zzP_%{)FG{f(Z6ZLL=30(B=4AoIYhSo;%o!TZd;sGV;#j8|8V3v4g#17|_AAo23)O9`Us3F)$c61a)*U`mLT(tv{1F16+_| zZsynsGHDjdlVPkp3I*n2HynxQ@*Ku39K~2mwc}cP*>q+A% z`cT2v14)Ki^!+;Uae9C{qhK_U{%vBOUjcaC(?Z|whL}h(hfQZv_M#LJj3%2thVTZQ&skv?2r}nMvcPm|Tg4JPM-7{o;qvn03dANNmBGxQ3D}hmtfaaDG=E+J zGuFzHl~zz%7%ndNyZo6!1yCHj*Qsp+ibHAh0E2i0LvYx@EDDz(uoZ9z(nAX8+mWtA z<#i5SJ`&*y79-US$!rxk%T|sZ(h>kG?BPa=OH)fx3(T|@LzXy5%4uwioi7HL?14&txB9$e%W?)l>GiN&IO>){05J3nqR8k7l2h2cPP;i#njH;O9 zMij7N7F?jTjBzlgJn@$+=nh5vrJhm|O-}eT@eVm}z$hpWA)pIrM4OP^#tmF#$oT`V zfGRPAo|2e4OoBsN6PT2T$`Km~1xm1Q%MD**0S$4c!wC36zDQ{>IcQp8$d~V*ASrnM z0t9}GL**rix#7?tvx$I3Zp1~%6`@W<+d?S;WmPzOG3{>N;;>}ZArgjNeg^ksTbi*& zVj`sjl9<3uio;|&9`f6YOZ_E9jNJj#k9-^aW)Cn~Om`X#69~CO$_j|6a5T{|?1w4J z!VH8W#4Bup35j*IN5l_?Jiuf6C7c6UUrZq^FRdsmErx%JDrWF+K#JHv#C|+;cMdb) zi2z6l`~KEepd$Nl2|}Mt>GS&$E_H=m!5T!q7@1_yjzI)%CP|4g`^=Q`>{7|T!}&`rg#K`DWHUiq(=4UOOhbc6%j5)P#s30Nr4F{{D-j^y#UdJ zyvMwpY8#o^gGkdWFOUpF1l%Pz&>f<}02D-EDBM6!A<4Od+v0GM{6Po8;RwdHrQ^-u z4h}v+78+u&kel%i^ldygIRjhy_W_$JB$N^1E%4hxk?|uoqwo^`O9*ZaINV`y8z0;O zT7vK$gDT9FLbvP{X+?L8Xv%=ZC{Y1JbZuS3VG@+Myq~FuB1FUwhKO0Qzv$L9q8Z#z z=e;OSz8^KV`?PDN75-I3&FIy$5kM~ z2_x;H&3K8^L{m&T_sIA{$}0R@CQwnG5hx_QK?#>cq&VAY85Aa>MBlMUY+JOntZH@%c9s@>&4nTQk)zZmLMA^m1L61K)0e%NU zoY+^<{+6FJF15$`m~ubUaxvBkC61#4FqK=|z|G(!S~NCOdigA|Ctp1=@xfOLmBsE_ zg=BaOgMQ-haA-Wabb_}`Fgm@toLR##A21J7d5VsqB^smm#YshWP8SAcmxmv?$7XPU zI8;s=c*anAJ@^!@mk`_s-L?KOC zKdQcvfD&bX_P{<&S$dYkWE$K9qsb3&CCZFyV>*wO*2gS6LqEJqp#kP{JP|PVL4mPo zcy9p1Pa>JFAeSC?e)|M05p)82F^)Y2fLaXVd!Z&y8|bdHaWO}NyAg-Wqp9?31g7*s0U_q2nzf1;YvRdVL9~RufRp_u)VsWqJCL+EWk4p$84CQ?t+_OZi{*u z^oGSr3DsqhdTZmtIkEnjk2HQ9x@{Mp>*;VswjC z7ofV1$R)6_o=guiO`8radC5pnOg;j$U_%9tXDtp_l(K6|h=yUsg$pJg86B7iAZrSi zoXnh*r6l#l^Oi^YDJu*NUx12-xB?NRTAaIKklhP3=4umdf>se{#2rDAq0T2Q4@q$R zBeyYx;+Ae}Nt{vG{SXiqEiYpK!z?&?#IBUiz%nU_Vwq8MaGX)P`F^ovI9OI%UM7wj z29JFhYvdU~xlK2hn9}Fk_Tn%YRhZ>usl!DW$0vuQ3e}6j)8ce6d$DMDR%xgN?!uXz zU5kX}*hdqmOg3vsvII73`|5(;{VlgKK#F{`&^HTyD`SvcSeg!EQQR?!5x&TK-9iYb zG&r$HfhEG7GU237E-XEJtm?s#OyNV5N;gtf3)5#{U(syl;%l4q0MIg1|vz5Aq2l)3QFnkWAS;uSJWNEnBr}?QWgkCSpKJ?3KIL*w9Sc z%*;YsCKE3ux3W!J=1-~)?vCl51e|)UjDaJ?(@w-})uwIx4jnsn?$Whuw{G24cXyA} zo|FZNTLj0MTBIO=woc1z+a76`-MS;OvUi`pefz0?u2a(bGo?|vmJ4-APH;%VB+U+; zx^(N&t54rk`VSa*>Y%}cPgAG4hxksX^pXOk51$jhF>*HBw(r!nd#^tI1`Hf@+K@BO zJnQUp&N=to^VE6n^F0?Z3q`q>*dig{5iE$(u}k+}eNP!Uc*q%Nopav#7yRp@i!Z+9 z(n~K>m$@%bxgwfPBMA-Zc4}z5j$M270m|uToqPU;7hQ7M6;~pm@|tU}y-r={zCPs! zgvr6F+~LGrP-c2|?Ao(W|3Q+ZdFkatuV#Mb&HujT)?078?e^P;xrZeU*LaJ7$Gin* zZ8mP!vMtd14j6pKITu`X*_BscCmEN+kxzN&U3cAm_b4^WeNW=OL<}*(Mv@kgG|Al4 z_MLn50p7V6UUJ3N*WGl>?ZZbh!ScTQA9(PghaP_Tkw+eNKbr7Z43iv@*Gi6^y7fL~ z5D+iD^4c43x&1$Pj=J~$2Ooa)u_vBlHkw6w@EZQn)b zk4oC-@HkJR7%(T~j$U~JB(>v~A!siRXeFs^UpM3h+7hit$^*7&s_x<-1)CBj$c}HS1)wL%w zPtU((==HaZxO?=&Pd@#^D{uVw{c+E~a5`SsVylc$(dj*WlH z;4?3{^r{d^RpC|t|Z8~xp|Hz;7=iIsT=FM00l^Tm$cy;Xu z3y2Po;kJ?YKJ>&hFTVcY4?g~k6n>pDZN~3^6a5Tf z?iOU+J~sA+*NFekgdcyMI%D>nxeFE+u{Z>_V-{6ZRxXa=GlNHGH+SvT|Fp9&yzH8r zhTS>(kulG|`quj&fA;l+A16O(iS$Rd};-yQMRV^2MDB!q&R)8*mPSgs# z^v1j6KK<%@@CW{a!V+w_EUH|B6u}k9<8$z3pfZzN6zEL>E{_WE_6JC0{o&`|kn;(A z>{C@PSyr`T71H{uF?5tUUq&pZM;UjRAhZdQ3@s*j`o-7Z8TUU*Fm2YHc?&^cQ6+K? zSFK)Ky>7h_P_6>b6*>zXL%vOiu99;top=vA5juPX8~nty(*;F=Qb+&-$P?U9LjlYM z@eGnq3A2^KFS{`#7YnBf%hX+v}(Y|sF69Oj(9 z15ZEaUogV$cismAue|l%$De=m19D{Zp+cyva_MsB9oqO>0m%+>CN1Wu!wsSYD1i`| zh1ymq-Bh`3`Kq<+SpHGZ=L?udA_P#b{RDKfP; zv+++qS2VbT13}x6Cdi*h0f=9{9+fs@{IvqH=^7fG^RLUUwg;o`Ms@;hSQ63%fX`=M zVe}En!UdS_AwZX&%)r0!(yKU|-2W&%`Rxxr`SQCTCr_U}x1cx(6Rudz4^HU6B0*>F zmpslidXK&XPD9@P(Chv^oH^;wz4F%k<3IoQhhL}tJ_kO4Ql6!o(!S!5lUm0a@8lR0CtsB zh~N`lB#tvS-Syiaewp?=K0j$h zU{%UWl*>kRh;3AH1`a0pGM`MkJMkR?EKVZ%wvJ}nnoV2K1yG6Nbog(4FB-n6QcI)K zi5by(ZP9t~S$Xi&=^lI>gASjXG?S%{-NjStV-eY+jqWlIGCVT18Ss%w!z=d++idnS z5^Fqm6b2QmQP}!7)^!6@7#Lze6+g_blaw?Ghb5wJV2vEKbSh&;+W{rvuS8EHT}2eZ zA)q1z79+&8Ks49rurOn>v9@?7h!Qpg6akLQ2VrIe9~&^#M6g6nDMk;xl5ySu;iv{i zjYQ%cQhTpwp^}U@w(5>da(I9dNx+d=QX+u`4lzah$L9efiQ`cgkdOv# zL$M8G(Gq)1%`oe!^ff$i0!TT@>)~7cAkqdK$&XkQbxP9QsKi?hz?5X3`SqkQ6zTwJ z&?Frs_W9giRv=Z$8+H6mBFX|S8arK->q+84n52!u-v)~E#T#KQ36gG4X0nSXrM;VV z(2;RKM<-2B)Z(vPd1Kw2n8OGkkGaR;`Ow_!4ck+QzU{UzXXbB zP#|P(N+cN(aVCM=9E43rkBee!f&woIpN%}pDG30S4)KtJ$CHUOLmHR}0@fNJe5(%^ zKn1z$^)v#q31l9c0B#51NsDB9wuP_)N~~N@6M=;lQ#@S&mqK%P6^eb}Gq6fZrl%fG z0h!)`xK3sB0Nm`4Gf=&dmE6*kG1{?!J4&;dJw~Au2|9-gprBX-H|;YPLQL+pqgROQNv8@0 zSS-a;r-6qoKu{Xmc+wfO)tixwq+z$I61#ucHI!O+_GUM>iMfx3|J*ghw}I*kno>A% zabamCLSI~9v%%P%Yl1`3Ny5#Ey+iOz~b!~|Pw#K2eRt_O8L=&xc3aSh8_ zvZSKOEc=3XgaRzM(Ts#Cy!um7-gU!NT}f5PDX^7>txzf|a_L=L1_^8lgB7V2X4S6z zRn^?_E0Z8zsVW5=wg(y2h-$(e@uXmCeq=&{Dp-%GI(8N36)l)sxG)eXf+A2w*Aa|n z3F#asiN2)zH_Ql2Rai!@u@%Vx3c3UsjDWgWGEP)T)QL6~zKRu$>mwkKqOROqMLAPg zCydZFjUAEhbn0XVchc(YND(p+Ob;$!7~)9) z7QjO$CbsW^$S&0opv`v)jBq6eeWB{2($W%|wG{q{En&vssR`ilLlrcFj#1HkzS8B$ zVnS6_26>UdRf^nJh@|BfQN#@r$$>lley@L9A^MxS!hzyYaS1TEZ@o?^laXc?H8T}T z$IkRFL^(j$A4WnUOof;aww>{^kFs&pFkmK<>Kdh`-cmEX3FinH-716n5JpF;pfP%w zXrKcOU`sEtu3w3_#PqK(3P=gn5EPiSKgj4F4m(l&&Qg+qWnYZ5-I5#UL%(M+^bCtcCkaoD{fX z;bin-Bv5LW?u1!seR>q%xe>soXf&9X7AQjA6cpMMNPu9t9{>4b+652oh!VUw%=+cn3 zKX97H%m9JJJ>*Ya^prIub>gD~0g(wNlT<3=ZTlgq*oc8Ni~xDhBtw891|&v8xD2<2 zEAFC+Hn5Ke#A3`m*8tH(gczo9qfT<)%Pz$qwv&k^Wy+|7V29)22kcmpPX>vMF8O7T z8Nqjm#CJ?eaCZz7eNN?M+N2h`0|hOGy6~BcgCLB(3z9gq?a|_h0&2^zlXblu1ll5d ziA1XQD2M^qQB2NG*oOd+QEr==cy$m(78xb9B$$x6JXjn7VPg0=8$=>O@agPbAu7F( zCbsK@R9h7&DZuIMP5u{Y-0%Tf2f`9V$@voTYxV*iP>{q>e8h=TqKwetfU@-jeWA$k zBoA)LZ2-}wL>N)kLq3TZW-`lU+JbXfW#UX0@pAZh6IJ5oGLVqTG8AmCmB)E6yXVAJ z8#zjeQ5+kDf~|QBhNB%EY}XZt7Pf1PGs_(j*KQM2iH+rMtSJw=Nmj7*GS8y`!|n;e zZ6^HW@D1!@>+Yl-+k>ES&;>Lhk0pk956Ib6+5~s%rvObLZMIP%lQ3-r6#du&iY

      Y7Cg9%@yn*TR$&D~ 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 AlmGw# literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction0.png b/src/qt/res/icons/transaction0.png index 4578666ee4640bb6c1473a52196faf336c2ee637..0005a37f9978a364b19c2dfe3fd86198cf55c7f9 100644 GIT binary patch literal 16655 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 Hu0mjfRpJ7b diff --git a/src/qt/res/icons/transaction0.xcf b/src/qt/res/icons/transaction0.xcf new file mode 100644 index 0000000000000000000000000000000000000000..53690bf646d1739be1f8ffd140c93e0aa4359a71 GIT binary patch literal 135560 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 z
      JyLG|*o9Eti6huuaTg#NR}O`0-I9odc6@!mXl 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 z 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

      )McSOR%_fhcsz+VlQ)_m_WWAjZw-;VT6xCS!_ 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 z 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̿V& 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 z z0^CDE%hh^kvu%bzZNDaEjKW9Rkex9=VoGjrnyo$q*sD8;(Pi)~Td4W7tM$)}K4x@< zyN-!D#36+BUdd@ioNrQgbNP-QS#Z0hS-4_!+-jB|Lag#E=QDZ?KVj9AyNq&34}&v! zO!3%Kw9L`mDB=?sUlBr?0x&z0ChmVnO=xh8G$vxZWZn5|C|P_vZ>YnmdqFC3otK+u znWw|D%AAjU)9n(1ibiNh#?<>Q`Q{n)clwlbsW;Ww5+@NTFPuQ0r8pfIHeYzx>1+Kh z8Z-0DLRI#(b(KndU|5J8wnBcbMOb2&9aV`mnNbS~`9kHcCS{w|LuS8$mMkN6UNDsX zga{xk^9W>R=~1xd=1Og&RM7c>!xs4WFLg)fr5@7wvXfX;h+fh?7Yd z44)=dZ;&*wjZ5bJ#W|zqrb%?l5$qPDn)=Brh98&P>UTzK)p*;>$Cn*J8`tSRZ{IWQ=dX!QlZhQ|IEkRQ2-v!=lKD=FF#mOeu z3PyP<*Z#G1SarZuEG1m%?B#Ol1l^~KNT=8I98#S;U!3y|{r5&%EzHjIW{*)oSeY}u ze+}hdS|HR2IA#6atOjG&VuZ#bBK-UMWxxKAbts4u?n1*X@RMbG)+_j3&WVn8$S@ir ze@`Rkj$e}pBxMrhZ^sk+D!z?RlR7+6=;@i^dxl6Oo^#vb@qxrybniGbvRUsLvSr2_ zPV%BGfE78On&sn=<@SsQo}{l;H}%z&9pQu!%YZSlK(XS?Z#E&`b0-({h-`UXL=!54 z?2~B1-Q+rGQDr{Hlp&Pb=PTOE)DChKyS`(&@6S6rD/@9dnA2CsV9>gzq{^tn9j zQq3b4m)-33!9NBV`1Sr=$LS|2Kt`*;K8O0(F<9)H8OrL`hp!-!&mnZHsdE?w(O7{G zu$f-nioP3`f2?~HpnOAA`#1T)l8k9jqa=@FX~wQ?rSDG$|I*G|fFrDWvffD1meYh+ zJ=EgCzxO8}%k8&zuEa@-D@5OU@6jJ{y&g2@tBz5MZT^HE8EXeramK^E0JLu%;*9b! z50rrlXOrmIm|6{ze>A%N<&u{FF&+dvVq(Y8=B}ygH@~K>iD^yB}_F!u1l;dqZzw#Q0i8vp@mO-e^DXwSqs1BNM1K z7bHbM>@$>Noj!@x^>WH$=Qgfc(v;3KIME3oqxajYP^oTk{W~AK5*GZDE54JvXIfq8 zd;D{OaXN>nwSr9&QhA~+jvVlJo{G3hS!I~l+|N>J1^uCZ2&S<-JJ05S8Q-zMdFJid_7uO?}2(A216Jq!;uBU(ri~%@39RP zfm4YT^xi_Fkv(PqfZhs@0f*==!0TX7ZbJap@s2De2xoc>c#JE*KK+FkjP z;e)7^DVzM=**_Y!9zrQG19gzHI579Oae2BUzoQ~9pR`-vvk4=V6*LU-(K95l4zbc6 zQH3ihzoW9bDM4{j*&QDL%k>fBYUi(G4wOX*X8)pN8JA04gU3eiv~SP z9A|)qV{Hg(Mt}Rgnf!H&NrpMC{mUJW5zPw0*2i2Q4L&(+Y!z$BL6Ky}x7Bec2H*^F z#LP0-z`1B{$llA_Veg4t4AI7@9m8OpyvFqz9w8iF6*RxoTbMj#?@&zbo1jJk; z@Y`nl(XmzPJ0-&1{54I)XvK@?#WsnO>4sfHJ}LzXM?J}?UK!wT1iOr9-8!TU3!%N0 zR6VW)jnok>ORe;rcP#fF!gg=$4k-H`{>A;#s~OzZnpW2idmEl=cBg{exjLo}x_bB} zw#P1XfXg-O(pt~YS{u3FVN7-i#vGHEIv`4+i$SS6id0t)I${1o{KcPkvmKrFa?*Nu zf>a+Q6{>$qVV7hoxbsjLxmelYS|F!3_Ke=*y~)_c9$UZ>Kgx15jx~Jd`y_+iHZHBV zuSzLAh6FeU2@)+PVeEqhB`9x?hSv<0zrZrV-+I2jZ0^JXxy0V%#2#I1sRgm_K73KN z$WmG(KzZ+*LXg&>gzlqO@aRX;@J#6%D+*y(RiC3(mu89$zdo+*-&WpycelJx$icaO z@k^}nDxlrJY*@bK9Tc2G-$^`Ul^rQy!441cfEH)IS6ZS0PkBSd1xOqBknJ>w*RD8l zx$%DmR%a;K;UTEfObkT0662J!xK@VfDK92w#To;cI{lOa-gpMbnGtz5IMQ;Rnbs6{ zd`jr$h5NYG(&yt+!<|WG3`oU~~wf`vs%}vi>3a zvS|z;0cOmQeZlt{h~(o<{D$BsL`q9WOjsHMxreyB)4FXRQM;|nAxg%KOQ!3;3u_2j z$b>UBcH#hBqVG+VgB*K*au3Zug-G`&({$qz#94b_k0^v*c`r29XRo{c%53iF8^xbX z_Z+P~FDe=SbhKxhl2;@F{X6(~3$E++&)(JNR=wK4JhGKaBO)o8><{>v>@%E^?1F@c z@W|@Y)yf1hdD7D!GWwE5)TvfZoy_ock6mN(d!UwQQ&iJ(}o*Y z(K*nw-AC?U>S79IFZ&RYQL@+9i~JX7FgjuW5z`M%-W%6fgTLsM9M6H`wL@Uzk)E-1 z9?&9k(LTBHvFM|K*ICfyb;_d-JDzi4Pr6 zIkjABl6JQ8{3Gr`ba!*tFq*J>uYaCl8pM$Erj9vKd{c+7?$buTbEr!auOTc~N7j#D z=GY1PhXZS-nf#lRs1&(>w7v5SgDXY?Q+>)4#*XVk$#pF>r77l&&nK3L&5Nszx|A2- zMP2KlpwE%^_@_u&W}hD1_+&c%rcRbGC|pONXMT|B-eezHFY}3RndZl}$_hbTE|T%p z#9t)~C#%B`p_k1i-2eIhb23s>#v^YM6|bbnux^JE|JMhvw3ihdd+P(|uV$Sa!|K3- z5w)Glo2#?;qNi9tUpn^S>UU>K7co%;sLp9`qvz1#3DW>R-ugS)e0|LBeB^X^T8}w% zh2zmZt9m_$bBlJ~2)a7Ms(WobQ$$5Sutgc^D=KBH#BLLD?O%@Vec+HTKh5=S5;p#m zH9S>S;r%|l=KCMqK4Pn(t7Nh|BD5RzIBv;`o2JaiI=SmvR#pv3REIk?%4T#-p#yNlUr0x2Rmr3O5N@&+ixBN9gmg0 z^-%}TrMW@6Qe1=V|Mw*`7zYiOIPoVKBgsux=g_lI)Ocz2 zzjRz)=hMemFHPS*#-S{TM^||SGt9n2u@A%8r|_!MPOqoJ_q=_Cz@!t!8HU`x-fOlR z?Bf2geM^#q4k(iNq>Butat*c-^3lAz+QQ+g>FDxjOPzvRIWg{-YE*&V7_Ihk{aF9* zHOfak594k2wb+h|lg>E!JM>H9fOT7zt`;4)+k66j{~N-+TelhhLe52HizkK+zIV`p z&%R7!;wIh*H@~DBM%p()!}Mk7UtW~TTp3eP2)%^u?sz*|2ghYc^tP0rqIrvaC^Rc3L83auQkxp+_^&z#~9)v8QEfa3wEAE~}^ok?7pqPzHd z$a%qclGg6)pI`fx=5>)2pFi?{!5PstdXfPepAvjx&01f>v=tdC8pes?EUK?qK>lI^ zy0LPHOMe5=F-l^-pK{UhAP(jrn2J{LJyoY?Af8=G4;C&bVKHOv2@-kVW^7#+)k5t@ZxZZ9*K5-SLg-~Z4 zX6xPd_U}uZNEn1&Mi2Y%XH_yEOe6wA;%C~UyR7v2I&Ib={r>}&Kxx0);;JlKV6Tw* z6<}TeZ)9`D|Kdvo!&Jd+8gx4vnQD4}8+!`sZXT7lNK9{D)mZ&Er=?)$`Ld{kb?kO) zB5D(7JH~zSc_cNqr44WzuwDB zT46H$xX2sxGh+H(4{0`Ze!%7d+!xyB9Se$zLZIl6ao(Zs}3Z%Fm5Itc^Y}?Cu zohJuiNPs->K}yyjtOBe+IFkB5!tlRgA|$xJ3h*xQszUbdmel`6vA?GNud%a$-C3%? z)BZVUss4_ggVB0GP0(BRXl=XL+vvE$2g4w1Ke)is8XFW~N+1k8Ls$t@w4X4K2lDjO z3Zi)#0Gu@e@*LoT`@8RD>oFHtK_QX%$Bn)Lil9~u(wAGCeX!AuAf`^BLBg`oG4`(#CauEPLGjS;rDj zqWor^4>(Q@#%7q!h8wIt=MLA)a+pdDVA&T;L&3zMf+X-{t>(#J6BYprB|@eEa6$*j zED4Y{fQtKTAf+$>sSpcf|4p!>klswN-qim!_B0irbFQ}gV;PEXUS)XJ+iji{&UFCQ zaC+ShRxjJ5^|mWguwV1+pj1$QF&iRglm*cM#wJ2e&=E4b0-W_p*MLyB!~JNiO?Y8K zd3G}YIr=8(C?uB?tXwip{a<4jEB04?zLP*}QfbYs%5NU`eOC21^S;4V1qjwFocGo_ zU&+`dBkE6k7O=1ZB&>+RcO!(oIDA#E!Sf@Kx+SU75`t9V2hA!YVz)9hSP!G7mc`sv^up6%XG7sP|o){eAb z1hmxyibGL<835;h`E&qsLFa`Gum*ws)}p}3HlsRINQZB1coUli*x2dB{$>HjthIWx z!gCprse7)|7=Ir>XI+ckq_(^2D^0;Eg$V&65vt_25wB3xALpQyL3t{Ch!o-07I42W z9U<|L8J7vBMHS$z8DK~UNF4v`OBy@&=VJvJeE(1o2~fdc$7o8P8#@;YZ;@EwN&154 z=`cB~7~r($pR{de_2P)QAYuTd#QiNn=!S{Xk^ct5lCJzddzFrmmrnNjW>)}vTzD54Z65>VD*T3JLc|gbB@be?s?nmz^=*`2W2d#K>lW`xGr+UN?UwO-*8y@F z>Ti}Zm#QM1q^MQMtPj-|bzRYdBt3bgS8P-$5rG)~LM?HDLnip3@=LWr_@4Y2KO1o7 zH+{YsU|pJ7W&q++<#_+NFJH|7ivlD=P&Zm=-A>UnO$SJ0=RgUbGzPe=?C-d9pVru} zlPFFN=qr5GyM&{bf>S{Z9m@n)|LglWU{HX#B+R)LJ^A~S9NqDyF!RR%hnpbz5}1`} z3(SGU_S&A@fx}E76p{^w_w|WD;hSL1ApK5;joWEc{?gd_iTy1r1~@A`=GjcC?)5CH z0;egzX^&Um&${)Mrr6fNiE;HFnNpf|FF>B1&%_ML6q}=<}xhN>BoDAhsZYY1A7G2@osy z6CXNDGXR58wj7%deF9rt0frjD*j51)(aRYK^prqP9S0u(a_rxnhJKBmh4NcOm7Szk z@T3{#Ny(38s@X|hC9^8OsqY0m`$CCt$paU;!?t7tkb}@F&-IKss$tQU#meVS?gA&` zn;!z$mlqO7nWjJ)|1PMFg058e0V3YbiPw0 z2W-IzVz9BsmhO%%LzyiS$6Hhx&XfH;$z`0|TJ0&GWk%o>_^~793R2bu5C#rtVS^D? z1Pcu5PY_2hO<)uz<8kpAVDv*rxJ zmVKF&EuQyhkBjx4h7z3jxlY;YDT(1yqgR-`Dq;a^Mc@>Msg>?+Es&#_c#N^R(aowri7f84|N8y(#0Mw=lu*4TMhfr~!>wDZS3=V=3d5%oB0 zA$AKcd(rLP`nG+%ecAQfWt%%@ml%mZ|)n<~|*>#sH_mbQTpj>+4)p`As?=Y7y(+bB-jQ2J|`))-u>+ z#1kCG0lflD~9${z)9y_l=pX*P1OYhZiI`H7-d%~z@epMSh6IW9e_WZQ+f`fAZAhX!Xk503pjl9 z8ui!M;x=tU@vQZI(>5LHJV^1sIH}2d?;9ExB->fmfi`4ls z4cf;yP>;%BT-4%bD(nD&_K+>*M3|=*1FZY7?McP=a^fvm^RuP1+KGObADh#mPbWu zu(8ITq6(Zg3Ff3zVwTY}ysX#!G*sbK@M)pYwEZdjGYF>l=NDC{GJ0y{mz4}~rMze4 z1v58}aAV6=ekWCD%Yg2@staY(5R-l99**LpUy_sr?P zkj5Gtr+})*g8G_8AhEb!Z<#mt7pv3r@?OsR1w zja_)z{ZvWmT_^pSY@4+DqJKR?3`N~ z*q*iuoa;4M%rpm{GBEm6PWs;bGHPiGka}Pg09s%ijCoN-1Uwaiu(8G#RDR>)XY=f` zcG_xh7T3KF=!=5zBy;}ie)g>OfG0K$CX4YEf-Uf|u8&UuTweS~&K8+_cfw%m#Oz&{0Jo=uBVFa|<%1BM-sIt8$z_)QGoJk4TnZ1y_8c@^JDfiMqT>J(~S z$;&J%?=)%yCn>{OCq9o$g4Db#q$ceFslm`-nG49k825J*jQz6$V6gW9T$$m#ehn@) zm_iIt$qVzRk!hlVjhz5K@R-2s?NsUU*zXZ`*+J8X@44SdmZqqr7u+#NR^*u zz$&7H_X3^I5r71I!3H?hZPFGiPWi<=?=Bd*$XZ)*f#r+?hy3dTj|+zNe+x#lIa~v` zc^+R>=~Z3gasMWqGs(t1KFjRCX}hz{vzuETsOH@bZqnn^#`7QR1d)p$1`oSK$>TnB zKC;Mz3mn|wT-Y%WlirKG)pt*-04MFX`9i%rOiunqHDhDIaN_4P*!k_?IK%)x8Q}2W z?cu|MpVK>{U;KhrKD?*0Ls5GS z0y~T-Ko({UO_)O68M48rt^n)ou|Tj5#vwqdxVwSoQE+nvtq$0;oPRXn$6w~WJ8*2L zP4sQ-n+>;dlZ&S*yJf`m7LD)C6Q7*a@iC7=8}~jTddyP$iQ*bk9QG$z1eHj;DtOMgoGsze2y+3LEPyxu;nHD=^ zG!qn?s$?j*a)@*miMsKNiR^mexMTt_2WOsE}RoA1d zDzoy91Q6kV?|yLifFlw>L;%RFtgb{^781|IBjUul=bU?e9_Y1wz9#o;tGU$y^t{`f zUT(_-n^tV(U_d3pn%p0rjKGM)2+|R*q>-#PkBrU2C}1w4EMEc_5bXKi*CFUdFEmF` z`oxEzC8E1Q4-82E@;5|YpH|K|u6jT3qRj8hB=fXv(G&7N6Z?KBfn%a15ae)?IsoWF zuSZ6`w4y~p@|A^#Gd0+AUC_LoBrF!u~_7%{+O zxTP|ySTwkd61aN0=g#(SmYN>oU}8S6$Amv8TP=)@YK@KM&|c5^LzD}-z+AzO6FI$i1{))-#lHex?R^z zd0Aw&wPnADS+~!d?>B22%=rb;!9&u+Q%VK}l$~IJGzA~h==Xt(z)-R{+iMAcBxOzd zorZ02NB%AK!j|UWSQ3@M)w*9GM+M~{4YB`~4i3M`Vy;WyR~sDXnI3I&fOVHw)yc7_ z<9pGi>`KW^!=*-J7Fc~f24tR6=kPAA?e{s!K^`Aa!2}(Z#10%mT?kG+3S|vm@OPSN zgY8S;Z$rwlGw(p~1_aLl+JexAH$m9h+YyvH5ENGilk#tkz);|0q5Pv<9Xu%LI2WkYmzitp_O|WjSY(0nWlG(;Jl;IlwR(A#Kh?iCZAa0=SQ|cUl zs@D!qmCm93lIR{2qUg&wLk!PF{ zvhvS3bY}p<%AG?X7R1kNI(%5rX>P2&O6wwApDvg2ttw-8l^owyv9*iR6EBNkSR(t3 zI;YRk9WoRLuq&}ZgALB(20DJk9->JwJCKQaq;qEhk}MB^ac|v+00vY3;E_Y?vKvIk z#s{5$TS5dT*xMWQaNVt#GFX~WIZ_qtpR=Do7lSN1{}+D76f zL-G_tY3TwpX>jQZi`M|$QGl7n4y@$kBeqP;1iS{sms9I&YDP2xgo|K)O$Hz=YalGc z-0JSXtoB&<{PQ%ydB8^%4porKePC{4zxRz2LK+P1fiQL05o3u5Ozh1HLAUGzSsnm^ zaSq340cpdPz{FE(c{dtMJlb=h!hsGC1jX}$Py1FzmPM|??$y!!z6{#mw6R)OL3?{q zrvQ!&$Pj9DjO27gswibI6@j1vqnLpiXTAj9@bDRD0N=Z;PLMWHn67tg-0E-wa_BB@ zB$jh~6d2Z@yY-)VASiYXPM#NX+DUjT(VSFWulT5ZtqWcqP^*?i)3mgC`r0xbAQ#aQ z5;a|6yVN=Clg>eIpC<)A=K$+TQ-ru|kt-W5U_9o82+X%2 z6A_s2G-rkFO5pEe9EJH1^PONGkF}v>EO3$nm;Yq)=hRYuzfgxy3LK9tn^`5rqT0vx z>1t?wi;SaclFeJh9gcx-QRW+8o~50|x6jht+Ri;()cvhS(JK{q9FjRCN!6Z`~FfdQ_M1JMD`De-T!h@79X2+Azr z6N~)LNF6*ba5OS(t+nTl#@DB7=C{g>-etJE)4=b`Bz@G~ZlLTQvZK$@JLp5_9D^T4 ziIBp>p+v?9dn{RZ*rK)_*5FMDKEe4xsNZe(9+o#jf(UubH7JvX;5bTeXOO&71`}64 z0DwWTr=mu`DD=T&Lq`R(WoB4wVJ(CCe2H<*1YZoO&HDV?fXpfu7g{y*YZ^nDb^Ejq zjd{$k>GRjQv$GglQ#W_k-&=(F0q6674A^I?b97g&9rQ_$N)0d~K*W&)oPhHXf$4ho zckG8CSO{+Ur;iPg1svdZCdjwt1H1( z-?xZ>;W|L}bZ0;e3xb7)Ez4eVm_XY50ikN_f@$P~&~8}5B<8%n{OfN3fHQ_71kv$d zL3js(T|fUXl)=UuA>qxWUnHbkY^4HcB>uG+Obe6gT5 z&)uEH5bJ=j>2-?$;H>8hpf<}Tt_wrgNip*#q0G|)n{KyF2NKL$uXhpmccCdTmFF8m zjgDClfbl*~e&46y1`8Ou8-zfK|2-;!DS^;g#Q@3uANV$;WPsmk7mI1n0KXdn;fDY= zA;`w>Ijj#7giB!uei*so2c##dZ&V70Me%GQFb4+xQ_Z7I#hFq}fqpBcT5lBBr;FEr zrZJ{jav%5X zFOI{MX%Kc;L79)pu%94pz5W-k12TZ%!~@;}21s)au&EIekH@ccgp{t1_BFrqpcj7p zQGf_`1mwF0#|M^9LmZ|_MB!Q!yc~_M4OlD_Y+lAtnN`-#(hA$Qs?F2fW?f(XTWvZ% zrs;4^-QY#1&MZ3xrp*5#IWCBDq7oIx`@S!Oy%feYHcZcTfJ}_R|6~R^Yk6ADvY78d zs?(vX9U&v0FhInF`d>LJTz((|K4r=u89LfEIL<9M0>JCj<$&X5g4m02f-iEaa~tNj z>UO*)EPmCekpFvz?5H2&FK!>V>`4%%uqMErD}i~$;|yTj0kSu%17tx1WU&%>R!7J? z-u1oX+g3ueGef8YmQkbwa@qVG+F&f%aT$CnH2U1AgLf<+zt8eIGk4;nj#3KDjA~gt z%fY(V2GQvAXrl4W+If~SG1{6aO>d7cw{d%$c8*LF{bv~j^MJ649@u31$|BqStVz}L z%G{>FX+Y*V(&I0vdoWOX1cD{Nl7IzKH;B&yk_HF;kD>voL_Prh48R8vY(@ItlBb3Y za85_a2?QVc%YHVX+V(6k4nzkXFuYL}QDH8R49o<3A~d>V^!^t)9gPf|I1f0F30|Kr zmhrs^CO6G^XtNH-D)WGC8C0XCA}i%=-SaGa5MT81i#*PP%pPS&pR4YEpY(`B2^>pb zfeGqJ|4YG0U3(mHwBArW1Mnj()d8|x2^=~?0`>f=ugSd*ICC;g;t}2ppq9rB(0@1< z0(;78^l_0MJhtknu$EmGaGVFM?ih8TSeJNzRkgjV1aub#n#+Wm>pGF@w6G>x-?Znf z1ED&tZ=U8i?|m%WaaGO#SrG3cJGzUtgTCky1h(AQl|zRT1K43hK12W8H{N521JED( zKQwg)Agy>Le%%2e(gDlKFg9X>-qnGP&|blka+Ek2AVjdNl-X0AvuC1DjJ0BnnF?~V zSYf=;UNggH8qh@n%d#wO9^;$!+MB$eHm~WjzJsf_O|0N~WS6p&J=Hm5r3?`)v1fgb z`8go;RblXkDf8^lHkbhOz2#o#VnOJ6I$$LaNF6X4u=IVfF^5R}hT(t^J^}-RW$Uzp zUC}4ImJV+#yPYtrkOvHMPE`wRlbBy*%Jfy$66;=9owhSiON-f19eB=rzGbw+x;RW- zOr?52ob`M4{%y3oX_{Z1);Fy~WEJ0Y+s8M}{WaxC;&x^}KytXR(i3lbSkh7HOOrup zuy=qnF!~T$2h+L>LZ2IekT-lGs|CO)5RHg>0^?@nC=a;54cQ)4(tg%a+_dl_s7roZ zVPF0#f9}LmvuE|$KNi`2t&IM_;#W2mcV+=uH6K{rD4U4LuNv!XYCgOO)1zu$%mTP- zu5cbWwguEx>SWVEwi`ymN#LIt1g+^j3%F_=`E}6OouNMKG$h})3mW^ zucxin*Hmk(KCW%)KI`%GUT>rA9soywF9(@N)ZP6U>rYN78G>NQ@7pY6*~>&Sn1@AY zeqkD%O5kaFUEAlM)t5Vuxh>NR zyh>+uR{Pt_x=l5S)Chwu4ZS|r3@wjg*o#+2Ir z-T;^#wlwVF#l8f=3jxfPFU(5(^xn`n5e&;YBaY1&>J0IZ8q&C5yF z_5IERzqWb3MHg0Ys$tHX{5-FPPNryoz62gTQ`zAIbdQFjbC3r=jwG&GF1K|?;0GP7#`)u%Dh})U0!h3(XnYmc)o3CwELwV37eQ)L;xGEQR;Bf| zWldkElLh2VXta;?=mEM1yQ+I?Naex(B@GkybIdA#EtooB>Ve7n*4jA!GFVOgWpM^L ztqlGifYqeo9s+iV`A% z*6zhLaf0iZV7y_^$_&29^@*FT|InmS|3#S@t2}RGVlk9x3vZv7f14@pcBReH>`!FdO5R4t``)nCDa(`!*zk7a-@iP80n9%>0J}oy7 zu)%mNrKgm^oyZMN94#h>74HJG@_8Y^fME-Te6PUi0i?gJv2LwRrj?&<+~8>&XPx*x z513Z9QPpkaO|NfTvR))0E?WXOEos{VU>h*GiZ1U}VwWNUBVIoZ*LpsS2qW+E#qsVO*RGPRn5&5 z|6lc$6(IANI=i1@?TZu91E^BYGE7d^B7!kN?i!7UAtUv30@-85z?Z*WU;h3a!0W#J z{dQFTe&@25#ayHe{^0y@1nPjP?`8rP88}JZQ6LDT!tRJ+#g)QLFi)s+@_)*`ou*(w4psbA-MIH(==D2>)G5QoU#z$eFOb&&*}K18*uu+U9q7B@KXFxD4Fa_!S zWA5(m8g+OJ#gHwii9aV8Vz-ZzxS^=!+CYgTL}3~X z4So2z2SNYh%HJgbu%-`ITm|!Ma(&xH%9{dU z9aC%qfOVZB7v%Q3*ZG8jN9V20k{eLvvv6e1n>#&ZUz7FIIH0xdf& zP{ftL6!buXIS_sJ_p<(ZS5fB{4{!9W%|a$nDS_6i767YY)g;d~t9)+r__jH|CYs+W znBTnXo6N;)x*FRe+F*R&Wi-R;b@73#$vnThvb0WfTT~WVlr6R`@mm95wCjrqhS2#P zT6^>lwE6iV(lbQ+EISmi1jhj3N8%G;a|ToDN8+DC0{Bhz{+bHPtg!rDO$j`$4F1qx zADJP_KzPHwDeAhskAz`}U0518GX(C)kr2a(r_jPMtWfN6*8el?+}&h!zhU|xY(u>H z5jG$+0>F8zSWVlAr`^A)>(@5i+7t+zK7LWAR|jAhWty~IM1#48<5;w6dF2QC0F!b)P@oWDEvA?eOcZsiI z2>_f?27eDUClkmr09gYSn<2zb2PEsQadu8Hc&rD4VMw76q2!)qhkc8ofr&OkX$63@ zz-$&vY{K*|a;LaR0GtJWO@U{X0JrKzliJ7+i?Xh!F7K-TZd3WBDY(yj+*Hjp(*9ft ztcIUc_fSA?9}T51m8GvC_S2v>EOJ;%VXNkc>VZ`cyyw>g#>t%C-|wtuzgms~&gu=G zkqO+_kZm7{ks~N{!C=^&p;NB`igiZ{%}Ah}eXe{Qh8+kRFc(Lb`)6W{by5lWZ*H0f zSj`2_YW}VhwCl9Frb2U@a(mI+=K)$Bz}0Dcm(B22;S#UE0uBpPrE(2H9%D{7^8IdIo5tVW^pl#?Z)jfgC_6tC$}l`*%`~zL!;&zbgR1 zDKi2am?5eM7VFAju}%xfHEcSB7C$cAkPk+a)Bltp0mDFGo~i8khkWCX5~X(JY_n?} z0EQf32u6>m#>{tur_DgC1HZbik-E6Ws(`SmF|vx1xUCyJOQ%}|_?l{c%Y3FUD(}~5 z+E3R z3Kz}!H96ok0kK8%eobYLHj$`#)k5psUd_R~$u17ag!bp%-@zT~eeq*#JwD;&j1>&U z`k&VTLz0665W*WD3PODdZM)8oiFH4!>~F>9#|lf}7G}r?5bXO%Oy~+Zg%So+2Q~*( zN`8852uAxxYA6&WNB|fSRh(ws{?np!cvRT_EiP^YL{-hNE*Cg$qn_sq&vS!k?O2PJ z9c{p|>4M(#uCE)UaFOnB+c8$t?$@;ZYkLrSk$Jyma(j!8wQsb&0boG-qWVv%b9kiF zzA*9$_6HP1Fjjp0C9pqN@>(b`jXVPk(U(mycKqDG^XzY>=ErI^z&bPJCqOwTFmpDy z+l2Pp%Y zSagKY(Fz@5bVblrf}Rk%0`wB%wVO8I{!hI7wf_yfzrUk+D@hV4rJ=Q+7?KdX!c9k% zPy2n=eVT5>b!AN3lD94RU35OMEn{m7fYa6hsr%e#$rg1$Qunxv2EavI>gLHH(}8aK z^-fL#q?~-445z=#*h?-mN6p1h%`nD$cvHJ z2)iiM2u3LwmBH#W*!=+*n_!%P@jAH7{_R4hc7D)m0B}Vv@C-8~W`UJy(fcQmo9kfF z6&9#rNkLH&u|Nwg${8TgC_vDPC1q0ip6;Ifgtj02`~3O-Cg)oLnB0Cc)&lE*tjhA{ zmA~_Ln5HbSPKUY(@LQD`vI@qx2#_|N+*}7HZ6`Y~3S>=zvF^LB+rBQU!k}36BX2SS z*p+1e$Lhv|XXu;|Atx&qiV6UQuhho9|vs$Q{xXEod+-2f0O)fXp{@R!*O?ri!XnFI@ zk5z=xm(5~+Sx!y2!+}u#M6%sa(0e$78WK=2P!Lg0h@4*wGcoi4u=${({jm!@t1~bP zU;d7~13d2gy^!e3#QzcT{ z^P)+!=KIY9fJO6uiy9QGVs=gE4c6ViEP*}cBXajGpz=?t_wb+O#=Rp+`XE=*dSX(* z>wp0SNk`6aMf;n}{xD&FtUUU1K> k(lwCAvBc*hH!M11p+E{&2{BQ5%cEwW77-y4fdTA4)5e28QMW%M!hqp5J-GHa64$9^ z{3tB=(l>X*5G+Q1A@rF2-SmtvW`7qLe6F6~g{M&Ww4%g|K)!V1#FlRBiwyy8Ab$hFSciQvL%ZI+m zHD;zu4Vd`xtpvn?44_7zOXu;&wDuGVc?^E+<1YjhHfVnt40T{~93;E~F~ z`=-+NR;?Uk47o6TU;W2f?U|wS{KJYPya|O9sGS~^Eugsv%^hgANMwLiG9)P>6N8Ki z8B%1bKvxJIQRpf`R|s7Z^prw(%Z|3bS?s^}dwlS3ewUBGzNL60NfMA!P)b43c~^K= zDLn7;v@*J_+q)=pS$3?}vZL|aXnXTOtj^_~Cll035KWolMY+D0$ynQzz*VWBdYM@& zkv8|89f>;qF*g782iW@f$Fg<*P^Cu<3`k)}j3E;SBp4B4XoKr3$VreFzDy=Up)`yd z!KwkQPUkqk-=3VfwQA@00vX@}EO66hfK)GHfd)()erTeFrH(tIfM7_Ypd>o-xT8cv8Yr$+GvN!{r#hB*ZK96BtB{sN9=GbH@(pjHF zwfvnGJ!%U$F@u}O80S5%>HX(1!izRDroGRm2T-DM*GG&yedx1)z~=owr(2&L>hyGi z{b}Uh?JY{@*Nwh6q+!XxQsRalQ{mZP&*%Pr1N zaSNv80+qVOlne~CB^a^LickR13}^*tSR|~V2}&O#IX*Es8=;WQf2Y$n{J3+ZZULlO zm+K}(*D=FYPUu}k6I|3SUe%baD&xBhrgRyu@5`Ve*1bL!0gK3)sIxJBjW=Cn}_jNHVQot!3Ux1!?xA_XyvxNx|B~kW`W;^;9C%U1UKj~B)~U) zON^Te!7BCIfq^ZIpCn;?M@Vp)fRH^ZppgUa%Xy04(H*sZ@1b-a4=oqQ7+CAHK(oN2 z>WgTDm&x=Neg3+~E%Ll=G|{Gu&DSxywhXC`xz#U14;Ua_6GZ zO_hmZd4|1x~=2ir@`YuQyoh=Z^U!5esq<3MFC;snK)Q zJN|L@+GqFG+QYt;QRxbM7HFBvpNnLHvslimSm8ym%Qo(Ioz^$+avKJBm0i?2*LPY^ z`6^lBH0`g+L9*)lx)G;B49E~_bXU3$zpuCNK11iY0F9It1BJZ&0SY82OkjTgC)d98 zJsGn<)dQ;y@P1%_Z~Faz;48v-;>&k0@B2zF^x0>1hg2uU7$D3G+&_Ta?0PM51WN|w z$7-u01*HX)_+beaP}+gG7C@0eiy{RAk%fMydPjfOdHe4Vis#4Qv2krk9Up|q}5eW(*RGG~>J zO^1>;HJO@}u1&v-RefJCYB8mWQn%v%mfo)jPNB|zN}Koo47curXu#q}T>&{OWUu#}Ji*aR|ZY4CCW_FXmv7T>Rmt0Sg3NEG7ZtIaE0`)sN0c z2Sncf@G}Elhlqi)DU@O;IDk~lP)b9Ap_rgZDSbrQ$thDm=R#7E(iNu20ai*)Fu_tI zsOW`F0C1M3)MjVBC=IX)sI}4fnlQbq0t^=oY)$48UM9<%rL&$tFpa-67LhZkvqMUb zMbStExp#eY4u+$%EsYTvN>TU@5L*Zg<&OQS#E-krUHQ8|^yWuCv*qp5+27>=V3h@) zkHw5n4?*a-Quts4ygdL(4uS?z>bru6Pz9jU42E2roU&Aw!b&^?1VO<Qqp}t;Lz)a-SXFtns^vAC3_@LW^|)Ck#iBqoj|n#E z{cUPcHC=n7DX3o*<8MDzCf@GGjPML<_!QahC+OXKg6vS>`?bh{U^(>EyS_e;YhYlD z)GvAzx;`-0{tkLzq~);F7VM8M{OFNf&fy5C%nO8{7wC{bfZ)L2D|3^hRSzr$h+XMR zVqG>6DTw@#m$DQF6s-H50i}XAsGvSix1Rse)^Gmke;9nR{|9FeelIBoZ)PG&hYk^? zrbZiLCRd#%Giyk~yrBuxc8aT#2W$$E%apoT@ic3CPus^|_1xb)%~}Mo5Z;ya`Jd3O zzyA<7KY51E0R%Z|-&Gnm%juXOiLO?{k~b?j1}YK!#ehNInZ=j zn_9D>sUa4VfiQ%=*@dz>Gn~daYzlx)how#f z`FXLFMdL5ip64>+FS8hJ)7QCb=GXK)i~%n$eRCo61nIM%Vg1hkfj58jggX077%G+# z6b)D~f^u;e5{y`31h}|M+3u#i8B)M11*1B!dH{Pc^zCkaFkbT|aCO+}Sb~f{+)Fu< zCRgI{G|dos7r;LFpaaY-g@Y@c!XSk*0BKhSD<~)yC=yb{ASS3?y?*q)t*`y)f9l^q z{ZFTN|Hs6bO{G+s4{BV6OHd8*FjnK^SCOypXL{tKX~Y(V8+z&(U^$RPyzA?iu%H~4ly6`df)zy_ zA3I>|&nbPY;d8ZY^Ooib~-DNEnQ+Ge!KG12nA^ z7J?#ifT$n}M6{pwj(^g9q48?9`S+uMxff04{Dehp#7y+6_u01QE+yV8C5H)`v%U1TQ& zILL>rGfZ9vej{b7vD}R49d~*8V51;*Z z&)P0CgOn1b6k!V6Q!_xZttk?3#M8iU(H*A^*frgG+QwL3DFSuH-}9V`qMYwHfExZl zZv5a~-foB;a4NGBU01rUafosL?fQlhh+JS-Nn92f5Cm^xTJYj}X1O;(1nZEAyf4KJc zJw-yd%;4rb#qqm6;Vy}kOwf(bnk<2*fnZwzoCSW%xP{At-!yhN4O2+O*ijZs55q8HzFWsAcsZa2OWf7-vUKh z`i7}5j`pN;t`i>_(U%K(}f;GSeOJVN{1Ay$nsvKbJBhapEga8nwAW1=`9_Y(q z|NSc{5DN%O(a*Enk7b?y?srB{4!${j_S;=?Ob{aOC^(gQ&Tlr1}7&E``%Z-2jK5c#cGue1#p$1I8mp4RT#^rAw>wYTp(U-z^ zd?;Az`$;c3Scx}1+LpdAfc?Ed6J&u>coV$e18xpLssMB0SfKc|kc4w!ycN;7*y(g{uU5{thmX}cct_2 zZ?W~sU(wEItjbQ09B}R~D~w1XCxgPO@x+(1*SBz`FBB~0V3okC3|7Ghp3R)n_j_|H z!xwORaV~J%QW!u8NZ&jKe6KL64lEl#h=)K__(|T@>4Fv@t=(mD=DHFOge)LZiaze{ zJXRz>{>I?h!8b;`U)$hfgP9#F$8!VcFuSJFnCjzZX@aW;zC}!wSA{Ko88pFoJBqihat6LEcIOHJu>vUp ziE_-40NT~-hr8?RgH&wt>!bbm)+OJFUnvK6G(``b1%R`d;k=S~Q4MgBox2H3S#@dN z^!e&Ok7Zxes>A1PzPEXr>8#tDf0t94Uzz(mg*y93+PL?pbo*1du~s8-89xVp7zdw8 zd-pdmKS5CxFw}*ikt==U$cq|9y}ox^1fKEY!0!bEU~MUUzE{}mfqMyLCq!dz0~30n zI2{l!=|n;xYe1Sj0}LR@t|VsH5=3w+PK53oE=!V z(_F-Ij~8Klyv(O*41dw@Z{DoGS&*cwo3LFCcVUg=PObAUJ(FnSqj7Jfp3BL;q*WhK&%H+ z3giP&mim%d9PoKlB$UAc1OWjt041QkWbNSdZ2MjU=v#JhyThh8v9U$xVVTW~0>F7D zN*$A^1Ft&w_M#Zl%VZ!l(FW^2r&W*GpLX5!*DwiwXF`LglI?wh-n}Q19S|^LSMrXC zyyFYxaI7yk#`pOaW78w|jxW6Ht9Sw3?+TT^R|J2{FKl+3+#i;v$apom4hZXRMY)Mq zIRniZv@jA$kz^yJjHq3Xkoif{nXqe_Q-qEXI>P8C;O=dEw*Bu;AOD*_ID7DWuNS9p zsd#9t-`LcQcDGgJ1FM?hqKv7{)R}oE&8ly2(kat+b+$!X;F1)mjA0yR7TmWWHb%KyAbLrr$TNQKSUIGoisVNuU2K)<5|x+WGj2>K?FQq*!tYi}eLLD`zB_GSrz`Q{Cs*iepXCbA)&p-j7Kk38P5^WOI|Ni0;1s|qfDWht5IMu} z+Mt7f2E?C}0>}!nBJ8H?2S4n+{mI+K=`9PgJuz!tF4oq#Sl50llnQpw>*}auXtP@4 z>XzSpnMP4v75BDkOe|XR&RZh&qF!%&n&|C?kQK93xSzqYv6ZG!=HSK&d!TdCh z;9@U1Sw(B=|p=hg|7cH4r);5_J*ras6KCP}SUM09M)6&@BIpW^l(GRit z^M9m`dxt7HdLr4uGwK{f%+G0l@b0fcURFa<`CA0Hmwcy()BRlBr3c>6!6oQbM_kPV zKU^*FyMh2X5+4eDjP7Y<>uxB^l&X3>eIuIm^G(i=P_!VZjCt09QXS%8mmPKFp_`4sQ8?okB?d`oQorgcd=AA#K+n<6k3T|&;eiPt_2>gJ8 zQkVBD07FID=R9V|X#fBq07*naRBI@W9N!##Fa#rol%_}CLif9Z$7*%;UJ{*m7s3Y_ z^gzIwB0+Q=L9pZ8sDq)`19Pw%!BXl+_4qHe@cIUg7j<^}hu<&&x9Gb6CsE90 z_TbFzy#V_4m31;DfO?{~+!9{;*}uZi z-Gq*g#vhcn2IMy?+~T~+Xo~m==VNaVZcB2-ZM(vQcyu-DW5Ruxi5i99J)U^83>}`LcOzdln3i1~}vAfa_dvb?3JOklRvp;_FD#4C)|FM7^ z9`X5f_Hns4%YoyAVA4TnP0h#06SkX_{EQd41u)*Ys6a`MDYGtK%%gDAdFIZgqS32w z9_fIf)LhoT)(&Ro*tRQ1SaR4!k0-A} z%V#ZSISBcqUJ}x%&JT%BOgHr2|K+2u+-K_jpH%}t@h@wKQ4?=#lj!UfW-jvmB(Vrn zZ{jJcuz6FSxA$F2W~F`&nR2L;s<)xczIBblvxVq~P845b|BKOs^47YW>f(pbq{8J+ zFR7ADH#zh9PCy?_aN=Vm9_f>t{`_K!Sy`;lZ!Y}*>LfXqn>~SoQK=eR6(|_yF-3YZ za5&SB7lFr%%PJp0A~+*zAS%3x`p`0lwxa@lXNn9YNh zy@QGbTJyRQ?MX9!idtw;$iado=BM7Bx=Y}h>Q@yKul_K~1yPJg#;ybV&z;4k7_t55 zpdiOB$u8UA<`G)qKucCYPAP#@{J;f62>d~vQjG?TS0xE(^-0JS(bv+87t*a9V5YCC zqyc-J6!d-l$;wcok%Rk4jtemiF4s!?QtZcga+!8qT55stlBD_5BGV7gng_36*miEP zXRWg%q^nbHvPMXR5s`;Gq>jz}yC?5H{?)q^cYQ}QizV!RoGb&iRUD;>f@JmR`DnIJ z8FbU+9w&vq#x!*?*!?T>ptJgZoJ+jyxosM6QK;gJ58j+ptaOmEu&CR)ifDrC=O`V& zT9%HZc~N2NDE@cErC)I|*TG%eE#W%aT+f3bEDm+hP}ueF=qgd+BD5~D>pD#~@KG|! z5Y)hUBT*S?Ciy6-Bz-BH9Dv3u5zsoUu z(Os7J?|_dFw|lm&<2vF!I}5H&9&@tx%PLB$oRHYLv0QW%mkwwT z0(L~unhqBM>R3q;@4&7BZg*e2oN4g7`ZokBL|aGXaWV~wMhc=27e3B@=;kY?G*+cK z&U>MF(YCsj-)@?-j4Q7TX=~*6c44tM$7gwqzL~F(QO(}ZK1hnK%4!q{b;@R{cpJL^ zCROKcuu(y0^S6D_T5Ofilb9`VRoy1(-hUsmz^Lqex#aPWgzB7zfUQ|N!SuhQb-qPUm zh=Xoq7N~JA=7uKmDw;s@D7i;hEXNYvRvI0aOjFh_ntFGR?tcGTkbd|QPOW0_Z^THD z!ID~i?&p;W{Hm<9X9noBRQp8dagr2i-R|IRtcZ6h&wjG%Y5FhO6%0X|uxB~9pUA+sx1>>qR@OCC zlqxYtUQJ`>s|uVNX{oF$^}S=3lAn$|(JQJlM#s7@WQoIvruXpRB=@WfV#V6IOB|R4 zYj~3+1G~Jq{_Z_c=MVx9AHjo+1VYU8Nk2yVlw4y8JU2HL2P!APuDKT6aWvX&i{gsv z!8NGl<4}bgktcjNFlY#GoHTrpf@rFQOGpk!xI-w_e1T2S7eMAqTm7J)u%uuXxLMQXl~X|DU$}!_*Pr_liCvfc zrFUrw^-4g_`svCThQ_JWMY*a3C807}p+fvd>yQ(nIWke>_ms2om1TeeC}Lgond*PL z3Bt7}(?|Pob*nxE@wjfQ! z8^uvf=kSHZP{hD{GK(gMY)IKJbX8@nxoPT4^AFRnZ*+}Ul=%I1>uLlVX33Ylv+BJ< zpMSw`9Kx5vt+uwWsxer9SU2J`PsdWRkqkzE4!VDJ@OWlHc&hErGIihZ$|C7qx8 z>#pZNG>!kD-LhU;jmD2NR2-6x3+GUr<@4$2cz;cvm^X3BRn2t~ z^&cin;k>T%wqA#>6(WyJ4JOj#%)RZ0{n9R?MMh4+u_Eoba~&=@5#x5{vn1A2%H{Uu z&>HVzI3GCki=ZCo2T^0!k?&a*mArk^XU_y*^(izn51TdeKossC-{MHl7- zAj>N<3jP9l=9!qIa#p?{V5xJWtzz&Z{1kpt#U;#4obVT-AvhKxQ*2>dn>@&p3g8S3 z0dT(w5hc9(tLBSA=^K6~ij?tk7MUIw6!KD58=y{Ap@ zDrNjOrT>KbtcedCwYyBLCInZN5sklaXpV36F>2^e2LkBCvfYDr!zTHIEFUH+l&to? zON%GCU*7O3aZ+Bc`1Cz!DRz8e!NZPZNp)!7&vyW4im~@DQkV+#<+ zfBkDPqZPdfAOcU^iq;Bk#bXReV>px9oi8eWd*;zt=c7JkrOGF)u>+S|G@)M74i}eH zyN&_PP-m^j{0Y&K=;O{Ze`4jBjpK3;1^ok=BBV*Muuc8f4B66A~qm$Pu3|3ezT7V>a*hkHlG3rE_Riv;UlnrY^M)9LdVV!TUgUrykC zv)swS)sJLxc6P5_4L%IAsXzbyPR9RcO!~0c)J!n?$9pPdn!0iNQMQqoa3TKe>u4Q` z|ES{Ot!Ib7XFoKH*?r=J%L0&5eC~2MMS5=!c4%ht5K<0K^P6I1&1OCA5t;V+d3x4~ha2-RQI#1O+as($;CEs? z+!jWPQUOSd58&#y7!uL}a8i^?#2U$nuV8_VuPAn_S2dCt)n4|OVWc&90umMX8>|>a z2wEM;J*$Ngt$HidbFsLBW_+`KRp;FuLd~hIyy7(7Rc4Ud*52m~L(J!1_Xua@tH=Gj@si5~kq6O*!R%0SE2 z6n+m9LmsPtUP5cntA1F6BU0X23#)vwY#8(NNw>m0cYT5#6~?KiVuORNpk$J`Fv!va zdrc+Q9W9u`D6Ry+)hw{8AW3tc^fgZkq>GLq*A*o$E=+zEOXIj~Lkcq@CVIKq*YfQP z)%fa|p7(0KgS6Wc`t17W)|jO*`P#eOM@>)MUq~vKFt!=X5yo2%b9dJl#Xc@RwrI>u6~-i-r#*0nfUpw`+vU3VEn*rN&hy)y8ZUK z>Wh4$ZK3bAz1p)tiz>N&Z8<{5CTA{Mg|+9B@G@Ot)N_WL&Sf0g3buj8DPfl~4x#yo zb+XAu0%gsD3&0Ckgyy=|#&<4VW~g#HDkDlM>lcs0X3mCfkNmx2=#XkEdH;~T=!-k` z&hy!$IB!MY)QMGNy0+EuL;D_+N6xb)CsiIFh{_l+O`rLfAs1QwhI1kYIw&p6)auHy&iAO@M9tLM?Fh-5!U~^k~9s%=yY^M?ZWV<4A#;elRFOfEKpj z4@trK)pl*?k6gjyRIeD2QZir2xND^d!&T+rPg6y+z=$%nuYz&2u1n~6)}<=Iu4!Y} zzlII$^DaZ?u7BkD9baxNUO{3`QpavP_dFj>?uZ&JuYFGiS z>H|uiw4Eoj+?l1xg2VySfQoVVOrI_(E|=7S2K+7)dkDZ7L2n!1eGitZLQ9}QuK2Nm zK(S=(fBC~n!OBXcy`s%(fI(7_xuYNX1!06UI6#8cR1$rq{AE9M?BkaFFs=+k_9Nhb5w7_o2HdeyCW=Ao*OvqR;S{@pK@f?MqCwH5fXM>4iV4BL&0+iU-1inh* z0t#%MZc_-t9M-$ z-wl@kl}UJtu*t2StP!zG!`0<{)%~%&$P+2u9i_c$d<2>tK5)NZ)=pf5jTw`0qfGt6 zA1(PSM+q0kMesE!k>u`bnJ@>hgQ3J!2Gnsi0;y_A2sQ(`&YYOB+nqXs`|S?8tINu@ zwPWAnvs2u>zMat&h-rK;Iu6mPljt=et*sjEAjD+%AN-V`V8=WVl)44Z@DMNnj{%M~ zdb?A=luZ>)UBz#Uba!f9L7!kBsL?2EV`Tr1aH=}6I|tN9jQv*d=w8~x)pat!=iKq< zc7c57LT=0+$U3E=>zGWIIe;-ii0(};7>(qrbqIyKp?q1HPOUPKA_6*8N6hJn`C|fqy;?mW*7G zoYz@wk`h{rBHz?JJJh->i8S(JDaHip!S^t2^=BBiR{zNNISNGwSR8>fk(|p|coTMt z;ca~YAceb&V?2oVb5~BfABos+74d^rGC>_yZ;~R$I3}~dU5zuaoM^2&VcQ_xC0=NK zssW)|X^kY*`0LO`QDsgA1si7m$AQrTMYT4h+vAd2+{Ry3Us3py)8~HYvAaBQJxT1c z8<$%BSywrCfbA#vx%E7#m$}1-`cevD$j-;c8Lg3$@``M#HH7)eh{0n>O*SLDi&wi* z@R|f7-{^%Yr6_FwU7VL9DS|wSIY^c1T(R`;13g}N5bF0-)n1;Td)>kCdKzmZk#X3^T*fF&BiQF4k zkJl;Srg^`6pI0c};N~#mGq(vlCdMtCkQ6@}>e(zvo$WR6{Sf2)B<6P`&I>IDoTRb1 zuKt{w6=ZNZ#Qy4+iebt&b3WC0=+!@15wKo}ntQrrdfNDmt7`HW{m?EBR-Z^_Ju>jF zk3D#WqY(p(KV82+)8k{WY z_D|N+_6@y=7a#eNL}m5j4-fM{79fn4_6FBHtWhZd(>qN>Q%|5mLPqu>{LQ={jE1v^ zoY0FWJvNHcuV9+T3!S3mS1{uku&|;&3HPo!>y+=fY?NO@_L94Hju%zB@VYt|7$1ee zwNxK~OV~8oQ(o2RvPaB&*C>xNzgCKOpWR#%QH5~R=LLTyHHIv(eVHOkxy4Nahrxu- zg5T(!vbJ}0P6YmCZy~%RPnqcNCxdEJ(3fxb(ZVP;QGt?#^#ylDNeJTm?>DX-jdU6L z9*TS10_1EZy=^@EZICV}fLR%5)mOCR`5=u{b1JGC#I^Wk$Ij${!McK?N7+ICGZAbn z`n&Oij{?soUyg(FsVGpx^7pW#`pY&{KW)iM>-tNlZI(WsTNYb&6kJ1qlsRry9SQg&V^fSTRcghpcRfm(^@Ni6b4xkcuCIjkxaq`XfE zw*#jx5xWNYr=NxWY~PEy$Bm^pc=u)oFT~)t#ts}5%L2UG|mbDl}8UPtpbCO z|8|!FQo}z}`mW8?C;$%4{x?ldhJ8*xj|xcrVtL7oP-!2#VHjM76WrreyMUAKqaRVA9La<zh zVk(g57%^C*t`^ubtEkZ2a?flpAnz|5{u8UfaABlMixb;Cpx5tt6Qg6**UtT@5lMi> z3(e*CWLIA=>^GF$322r#4DWklK5fkat?fTjiYpVmarKo2nI-%~fa`A-MM967I|LQFriaw>zq_kNm@4baNnH2)!c$ieVh z1Y!HAFoyC=q29y$QRCN>NK4OgEe7&}=lDIZ3+TFakyf1V?r#rUl(Tm~t)UMdNq$Ov z59H2TD8N)BLWxzYNIWwi@*m%N)pPZ-2sFoagnQd(n#}VU2Ux&L9r`tQv_n*h!e^xu z6qHSQ)5JPz0%k_O?J-Ks!1x8!NF;JSM3!fQ3Mdo!odtG zB`ksd%>NP-l+eQ+&b<^VD z`jA0f&4)FVRh9z+rUh!k@}_+WpyS%$_V>bl z{O%_^N=XB8dfdZSzRv~?G?}~gkRrA^oNJdR*O+r5NLR#6!}z5==rEm4R>dS%vA zT!)92!znI8+Ti8O9rl59fQ#=LoZZMKUsfn9%9|>wud4Qq6`{O+SRsN7a8LhNa4~9_ zZ~JS8CR6}D`B2`Fo{vaCA2~@|w7p;iGQ5_pJ+FfqE>P*#>@92B_MZ`j zaxyOzS4YwwzWj0$jL3Qb6nlv*vqc8~I|ehUl15O03S3$$cSQk)fL?ll4L5y#*RdC~ z>x1o;r(}(y{4_r1Ja)+{8vcg~^0BcQtYE6p71_ptq_wxhhcv^fO?74fdZQSWgK>g-Y)I^Wx0*ML(-T%amXo^8>tJprVK!)v5{L-# ziXTQu;n#WdA&oR?L(CZGW8{2gQPhNSZHWfSlvEcV6S{?JzLV?7cx#_HP`8f*v)3+He0{u0_m8(meC+2$ zBl|?k5N;`?!fX96U8)7%2CriF>&ADmZvjD5Fta|wcX+o#!<+XJ)vNpz7p?qc{V zrri9kGvwMZazYNEO{4rS-Si0~v^0o}G5+s%EbJ3FZL1;g*-w+p@QP0#M45(P7JjXUnqRnxHIdT;_-);rf9iH5^)8B zd=R#rV4dT;kxlr=RsG6mzI47OP0CVMfot!FHrs_V05WL<a5qeK%-#-e8fuRX%0n!{aQ;#u{bjxT(bNYCWeNq1HbTM=7@vDSwd4Gj0Tg4t>%# z>~kgcE5W?DLVJ_`+>PfXyLGLNqv5Ys=Q7+94Y4i{FO~r-gbwl0Uv}Xd(PrW*CgSZL z(IQ9{jDM7WKXEk)l!6$#cqkfd6lKF3+rWa64<1>-oGxd%FzwPM?wtq;IJ_-<886zj z6vU4wh;Q9`Ec1qN;Q;0A(<&G-z-qhHrn_ZHUqS6NEGaK3|2W!dsnwZ6T7jV8lOka% zrFSnj3wcBn;oYHc{c4Uh^<=*T2?VnH|E=({1px4VXsRkb4T~p>x}HwUQ1UTG=p_=- z;{$dxLcWgDA_Ej1#)&3hF z8Op9z?3zqZd&!f?JNcVW_M&$Hr>7umOMWwO#4J5+lw*{kn5lLS-baNpN!G!WIRub* zM_I07wA`t?E$`%z*rW7@pvQ5lQ_I#e!Q92U3e1XXfO}gx^wQ_yO)##oPhRUUy~WA` zAH>Gb)edYmbn4y;B4i^l*_)gf0fJKO3*V z*=g|yvy-S)3wCRUs)0(fW!Z-#ev#kF>%=M&Fp*_RB-d6tXXoeYPmY+t4}}^JlG4?x z!0zy!BvoOiFNwZU#bv>}%M*|iay!iML;B!sRSO!Id!CZ>|AdwteXr=!T&|2)l}mRp zZvlP^d9-JuDmv+Gv%~h`h5bFrcu6>kuH$Xloq0jz_PYk=F2RBPY^jD;D({k&1_lf9 zp!@d!YxzM0+k)<%x3Rb?YK>4%;I>1tcmgzi<}k9{@*MT2&``NDE`0e3Qef;i5%%rW zGe(Q-?J;rr$UM;G2}4iK7`fB-n=z^%G+*XlW=3{b-$&}MJosa)n;$90x1{Dj_S-RH zZtl+?y=0XM;IGR*fw+HbBT_0ACWYafXE~RDJ`-?GWPi1-%zu;<%*?XwY}xzv7p{XW zGg)51TpO9!95Wvz#{N6Jd#xbPXR+{1yK6v@V{&IBJiQTTGwD~6E~SI-c?BWEvEy}STf;W@6XOZ{1IsJs6%HeL9gJ=PPv`=t%id%6h?k)uiv;|tU1OmlcG`MRZP`p5q;zf%~aYzCb_fp(~yBD{| zH*enGZ|>~edv|7c&z?QDXMg)e=dC&+9xWaK03g(O_3|A6095?1;9xz~3?~$pKD~f$ z@6?q6l_T^!Pd`{6wbWk%hW~q#t@!YtYH%U1jNJeLeDePa5b!;d8USDhXuMR?^Pbyp zpO3fd57@fASN$!;Syy{#x+oWrahSbB<0`qHz#7#^$xU4Tjop5^pzv2JC+=AEJym%% ze$-|svJy6IT9fnKYsx>GREk>Zhn@BrcDAkpISP9qDH?+AGCDf+7vKI2-e{zP`I|Nld-N^R%GEAd95oaIqM(&8YUTH`l` zjm%H&HGmvip4s0_-$nJ40g|#*wzDEe$NJ4v%+mmAd?A&SfwG$-r};vckNq_MMS+r7 z-U^Ivk4!Ic`Y?JhkX8Z=SKCr|1Sdb26hZ`ng0uKotwyu=pRgz|Riqwwl1GR9080wp zqmvRHS3AkKZJfck{RF!wz4$!c7~N0Jw?chIM{61U2DKH%)<5DS{iDS>jrVknH zfp9ok`@kh9(&b-sJeteD^Ej`eqI{^S^@wj$u`63ES!I69tTmTsXIUq?+ ziz?OTo!1*{D&7`n@xSxxxwLjdGft|#^7hxQ66<$osmGT+fxkrk`(|LlC4jh2q@M2d-y@0y<3`;`i@hb^XHJAEpOMLNR1Zb<7m z+OIOe;hQVI^rsF>ajPDlQ|B}Q&XTa$EF~X)OBjZ`h*^X zebD&xjo_jB<>Dzx%Oz&;0nV#JP+SLfE_GSAlKZt_3q7al>bj-&Z7;x)8?P%1zk>AtWYm!fS}>VqPOg( zBtRDJlcRSQ&#_Yz8GzgTB|#6Mo7y*^nO<*IGF&oRI@6ejgP8-skx_mTNMQHkeR{#a z(1B=6FQ8FQNKc28y5bgN$j8Z^78f{iry9mD4*)hR0E_9Df5Q|&Hfu$s5v|8;Frt21 zatVD+1EZ%`MKRGaGx|Hhz{$fiZ$1hYhngrd0bryO1HTpxhyK${D3&Sesd(W`BRK6v zS{cw|K$zikk4q9g=y-4ghAV3@{uVG$^DqdflLr~$+RoX#?iz3>xe%O>o6|}}t=;Qy z)M`%ux6(f#y~TWgPzbQTo>h+`6&#Q z;E)5zuW0QAU}idgj$`;y{4lff)6mX|T%*NUBtIxli3%)_F=_sukeV@MtirVacmbAb znRM$i=&1MCT*?WvNuF`JY9crreL8nPRNZ_Az&fkT)x&cFj}4yDi>O0FGI=sfamb&B z0ef~&7hNcW1b+XUOEx3-HKu44$sHC#mH`{3!x(sprRC8qFaaTBR97CD=4?R%!4QBl z@HjV4=*IFu^Qeg-)+fkS@a8mxF!hY(_--D*2%v$j2E_6c(_j$H1PCg+D4<#4lQ0TY$JAtf0{3HdG`hfgv`WoQR4O-NwX*W8c zB*n2Tw1u6t4O9C@=!k8*V>D1h3Kt?2srww+rn_9wTy{p?(DD-Vfu6u%N}Tjezu=HE zp`1Ft7Es)EFfAm&q{-oVH71uZHI}S75X3=3z-%QLKIntdF|;g=_L9?12l>jh3DBwj zEJi1roS8b=0sv-`{ehRkj1lbTD#iVz>ZxWYVjU712iD_4gmcf>d$ko0NuthOzV!x_ z)F9t8^JBV|!ZPg867G)(EvQwh^U$PV768+Fr0wuunzFF+Im zy)wcw1UsRB1bV$@_)v|fvj8~y5JXSe#6RNnK0J@y`a>oOZYXZBKbrm)!M*8uoCp{NkOYajg`QTSQZK>r{6;+O3MYq^JLcOSPuhnV4p zli`^*mn-^Uc55=*IH0QogRZk_BW4DdC5vc=ZqK;#BO$ zR79A*Kfks#o5UsI#iSB6DnkI|2|4+z>3}~%@*j=^*HKt#uLe+%ZG8&>tFcu4H;ZX- zrA5;&i*Z>eS9&T&W7?6BeAq6v+He!lIUN|D!8I`I&1*ed~I6tjGn`< zrn?%f`7>Cr_*O|t#RU_SeJpy!5=j#pnzS4e9QP7eIwT*O_%b@;2m0riM6No1W^Znu z4AquSu#O4uzjto{ zT2QMgPr_-s6wD~|NokS9cm2o`jR4c1nJdLjve~iZ4hBeeQ)Mj`C{Zb$w79!=Rgv)K z!09=xiVBu^9qPT&t8$JV%n%=1W#FfTi+4qWg=K+WB(cWWH>=T;SG|@ z>Z=!6$8w(l)xmS0LIs+dSsJEw{L;f=m1|y%4o=?uQExM-BVFnF8p$bmf{ay<$-5;= zaoFYiR%#V>>H*ac4ld}ynu22Y?|1U3&=c&&@^BTYI*9q~;?aUiNS-GUp z?AncFRZ-5|4B$01ig{^L`RnN5)?z=KER%A+%V%^l9jMk7rayZGXDEc~u8B7a@@8aEY8Cq5(q!9}J16c&FD|;cz~xFR zB+LA8JP7=;qAumGT=8QoBj`9n9N7LRDvn^Qa7Q< z>mWV{%B}}Q#MSy);-xg6ng|7wU`ui6*U{DX8jvyIT`4D`*6vXw9L@r>Y=|J*$Wv(^ z6`k=Cov9O@X|yw^)aQQ}^aICIVtT-FYFr3#Gl-?%l;iQ0=a;Jjp_aNCO(N_d9^Hal zaKH0sh+#OfVSbZ29S)TN^gjuI)w^8}S|5XFH}ULM5tfXWFc)8?3A6Sk_ZI zUNWO^$K<+&j$=%2uYBxPR2!2E5B)^5td0y(2|~^Apm9Ac2zQ}5p_+DO8qoL3>*H4V z7^E0wxqKd@@%(Z=oNwp9le^hal)G#FBYPKG*JX*KD@A;mWq{_XQ4VDGFC$>gq@_HH zf8w%}V1;;|V?{WG`;oN%IDvn{Rf18rFHSm)7gh_f$N{O9H*<;fmJ5pqgSs{nP+Hvp zO7~Yzubvrh)vQj8Q6sD47C;x8@iavSerSr-!PJQEszBFL8L*5|{){HwZ8_iJqOiX;iGQRz$4O-5KAOy_*XbM4AJgEmt_Bk{?r zNmAYQ{DeETw$k-pOP*=QztQV?=QF0XU@A^}Ma|Jv^WB2hsnUWbJQqmLjie3RH(iD- zE~||hikSJdMpsC(>vlv_}|tb+qwv1y{(@mZ9Gi~ z{*rcTe??US`w*UBl68S3XvLki$+AMQPV$PPAJ?klYB*))90|4f8uU%$Rp@WLHHVXh znvPVu&}5`nCtI(imqa{8PKax~>In@O&VF2o0GGV33oYq_kvZq_`vl7s&;ppmJwg)9 zLcvRWouano3i~#QWp5}_ZaVnvy*DRtcIWv^xrUBgPAEDwF_Yj~mhV>6HZjeW-Bjo~-n z)31X}i|@0bxpyEyUNn-E#Qp7G3rR-k7;i_^J{Q3tiia+!laao{k1Bm2&jd70++ZC| z+)+=PDI=d9cCL51t;KbJ>_Gmn3F)N>#;x8Wk#g=-y_QxQ33 zABh#&4_z?-GV>`tNIGCBH}h52L@?nJ;Omu`YaQX;dgpyLvcN1B2IqM5nb4PYe6Hz8 zX7))3&Y&U4OX0)Hs8or84?LenV6zKD9bpdqZtJ_kF{A)S^c*gQhCVw05A_CY8h`ap zyU}H<%oJXmWO4qZ=Y|~`o2_PuUdo)79Vloh(T$@s}M`}mKi&lmHAgmUv9b5wz+QJbB(kFWlA!3 zz51qZtdtf==|2+xzY!UwSX(Y%z|V2sg)Y;VIuqkf2b4S8GYxcW#Fg_qkJq$j)EW9a zsLo;no`~Ld2`2ys)2d;jaB(b|YgIhi*OuZs24HHJS(Ko=1IFc+thLo5C1;hqX{5mQF0U5X9-uF@xdGg9P?G3d*Zu>GlWXfD#v=`SP1N{ z3$cAAhW7zj1K(7(YraY5obfvm$bX`K0VoF+TbO_SvN|YqZ0}I7NOik#10*(vSGY zuu!)j7__?7``8LU28!sL>lI*lD;o25qG(krdj&Bx=Oc*|?OdX@fFJuPoVyxI zI}S>wy)9C&x?#-ie~<0U4(#20E^{H))O&6|1vkIgqzh8wW39ZphY9VfNVh~-6UeV> zmgQKJeyiCaue<4ar$x%ENLyYDI#bNtImLqmilgnpJdp4nHbFBr)NmO_27n+n-ZpMg zh`Fbxv$XauWKjM#d~e}?wC%LNH&elCa~H6Cj6ZV8xU-K;q0(XS zpEUD=LyuL1445~Uct%1eOGfh6?aSJ5x|uT0A1y*egE!d3XOQvllxl)Zuq(Vso9T(k zwCaM!S~2lrF+US(7+t(XHbSV9&DBr~A+Lj1;x?C#%2#)fD$lZ}@j**E+Z9~y(s0!m zVBJ3OdfHN*UTD7Y+L}fZpz}%XI?hpJ7RSF_q3FHp@jUWZGuAne1ayeIc)K-2Y~$Y6 z9>t%LyauAox*=jXstjao@}F26o0L_ya8V2prRLAcZo{J zn5K-JF_)OBUc`8*_ww|4m81HJD;2p?@p?HI>@W5$1M^Gcm=2JDKIxKk=jF60E>y$GNMhsD8Y2l`(PQg z;@m#pF)S8qrk&UNLx%!GMdbGd8Gy<#6zIE_$jTy)Q(dAU(;?R2|Heyw6 z=poKP{)Xw)B*+8obz!%SIn#_2#$v;DCh^QbZEWAvFbf^Vs~bRarQi39vF9>$ z;Js++6~Ic9#gBb!5+AROA$;Vhe5I$crOB-rsb8-s%o^g{+1TDDwWe5-T)LwEl9jWN zBGTW*qsf$8>{P)5Yn>!AGP%~ccg`W}U>DQykUC=ja-YiY$nq?SwIrWY5S!S;b~#)_ z{#b>NB6soFw?Ft#aP4}8HFJ`jIgUQo7$7j{8AafcO#`z&QW?5{bT*3*xWeleOOK$2 z{|f+(&1+)@24)Ec>Q&{elzzN=Lu^L!B-fY-o7#N#rN(ybjVRb)tNd&CYG{9~!WP8r zIrIz2^di{u#bKptTpnJzKDg;Ypz*5y=<;ex#uS7|wD5bAXF_r+p2ptY=+E9a#M)Tj zjW(~BSFa@0LaMr*DQ9Nn_=2c{Zr_AH(CPeebiDoc@#i`5WBlPHg4n6rjZ4EK_!VW( zi4vNo@Y0)x8rt&TVpD{wX&rx(bW@F<;wet+FKg?4TDcg*TEqyhrN#i7bv!PaV4IYF zzUG+1MAsBqaxW@DknaYza#01FR4_qU3=Ivv@J2!%qlcFU%e-#e&4-X!FGI+6s~r4f zlBg14jQT)s^#&>Ctc^0sCi{2bmOmf>zi;AU6GR`m-uu8yqV%@b9zYzV{dL%l|4d9` zrf+5=-0gbc>)yk=s=$YzyYjw2q5^aSZC(<>bUz>CN}_3sKeX)c>}#Xz(S%@WQmn}1 zNRCGbq-Y>vaqMUE+Ix$QkF z3ivuNq2AgfsZ-`Q4aJ8CNfeHu{1HzW*MnVA@4YK1S-zhOHuj^+(tey?9k^8(HoFFB zetStR8IhRAOTC+qsObsL?9x`z?Y3oo%ixFetmO&gE@fWK1Dp>HTDk;Wj(L1{e0C$bC1F44lZEv9 zPkpKsorqsz6-b+rq9LCJM?6ey9RuuM;=+l+jAs*6Cb)mJun~SbEEBD6m{ynF8^ifz zRJ#5Sh2LI4EhO~(39QtJDVd_@-aqrv33%<{DPhapnsRc32nes-UxG!Pf{ z9e$}Eb&?gIX8wNVMJYhtWEaH18Z&AB`GrD_`|$6>Jk~v)8L#L)X$+o={UF&9VMHp^L>f*Zi?B{3AuV4)RAAZTNGFp>2n! zIMpTuKj_yNiN_4Fw(~-wN@tpKPfFM4B)10)pFs`+zmpTQD#;uk(6=d;{*e&JbdyIK z0h8;74Rz0_7R*^~Gd|ng>h09J0_Xuoz-sKy7TMEYzyoQpAM>38UJ zheo^)YC631*2isUjX}{(D&{=g8*KVlcIb49IqdgYvI-H9&6r%@|;3iiY0p5;GO@LA?4dr!ptH-uXXHNi;_J9y-ZV6#mEPGV?#zG`5UA2!w2Uq z`^TNf56w5gTun5rw-&kdsY9Y9m_}tP0Cpj)Kkq?5lvQaoOLczITQg84&oEn8^Ds4x zO$Pjqz~|}M5@dWeDtEU!J#Mfi0Sv4>!vAi{UIXWv?f6qqI(_h&ytz%W5(9<@GSVr+ zxjx90cw8k5I?AG4*ya8=MQJc4W>DPR(m&G3D~lWESe>y>%Y<(EsiH2w(q)7GNNR5R ztn#EoVS6&@s*%q5ejmT?rjMI|!ma;hz(<129>7#k-j`i^LTlwz>!^OtNrMvbsPIkp5m@%}3W8^I#M zw6Cn)fevWizp%~UB(gpQZ$g@J`ynS?zU>Uyi*6|tLIR?9L)G<;t+dZ1jgQovJvXgA%cyd)E}mK2|^R>hNgEN6RpdBg$v8qIpWJVvnq9`7z7(Lw&CBF*Uh97 zn{u%}M}`p}ztap8By#(nsXZp?mf!9T!u3#@ylD$=bqlm;n4}2yCuJ60z%AnLRX@_0Ryf_tnWSPLjl$8*!zrVMo{Qy|Bz9P4hnQxhI0wt zyMhttGZJ6=yO|CvMT0U04X022S6KDM^ms6kEd^d*?CJ=U6 z>;82#ew-F8CYm^#jf0xloUleIE-qC+JbxfXJ3UT*ygmMLw0=J5oXK}u!CgoFZJzc% zIcvd~7cv(serz^K)VZ zv7!+r&eGQanR^a{^Z&yF;FY`pZxwrEMlmG6|Ff9)A(@G#N~FEZJ4f3yflDDmne>#7 z#yK#E&@d<{7V$5Z|Il6EPsy!zi`=*79e!$WGh)~X)nsHrZ<#43Uy>YZjm3?LsmL21 zw>hMzf8l$+KC;#YJ|b0mbaYvn!2avEP8~%NNmD?*ZluQq{dFN(i-9Q0B(_NsrGJmv zM6W};e*=gMet|ei^a^iR-+Xa7bWNQuKiXqF^ke6%N3?tn-#B4|C)>vqWD_J=Y*?no~axf}z?6t&mZ07|F z@JMPmI&}7LBMcnAje*+LVYx_Jz8lz|Nx#Qj? zeJ}c`7t6nD? zSig$?1S9OtmGTZSIOzG_DMCf-t0=@Qx?r>hEfWo4vrt9d^VlE&-OodgwzlT=XrFy; zf)|Zk*$ll~qgwS}Uj(@>xU6e|(sUJBA1fFu@2`o1ZY$8H(eJXWyzOeOm0S}~GYY6} zrIxqm4g1N5LJkOz4;81<71VUO>|EciXSQ^1E_6DlG=b|D3i0(v&*&6g zdRq}7rMi?bb@9ag<6~CcK3isVLLXMuB5j1jW^8r&-UUGKBH1UyANZM3Ph4>JxABd&V_iYX$I zn!im5l`xGM2}P}GbflZjfP&^D$U~CX&)OE_2P}K6Ve_jYTYo9#a{!rQhnJ){&V(Xx zV4x>pIQ_K;?tt^m%1Q*CUg80vkV4KrmtvoW%L+YZlF#QWp=K>Bfiw;SgX_mml0Z!7hZT+`@5X2uXNsn5 zX_-U|SkR5AgakYwn<#P9QF@mVD8g&=!DGWN9=pt;150o@;ARK@dxQ={xIGKlVtpQiBlFt2f7CM!nOEc7^n%Bm^^Z5fpv|L) zC24rzi>|kU{_5hIm4}1&YZM?8Wvj$hd#%hNUpraiAKTKvQYe0v9`<7VY3waF zPt_emx@@rOH*STi?(m4(ahk3p%RT^&Aj7pcY9NnIwUda|!Z!x(*zNV(sJknHehE@e zOv%~vEcQbQjve3@HvM|Q(M3z%JY6yvi`&8A-SSrCX=alfYwr}3(`xMU{>t#Q8%STo z-ILAlS`YPW-|2mQtQKVGkIaInpJY)a@@2JXDHEQdhd}Fn8Q{3R7%_K0J1_}e7&Txt zC|4vf!0-&56ha5_Dg|30eQ-H~wbr6@W<&N0`dF&7LcH=ly!jZZr?Io&8yaQVPdCzB zLVw@?5N|w?<7#AbG;QWbf7A7;jF0v+JCrcj+D?SUaIUqzJb>W1%yj>*oA+)p2;RNi zYzJY1fomz|Gd$aI%Zx4kCJu|A;?bQ=Xc5}q2Dz4FC{!DMrXK%z*jh!zc*J#zt6)QM zdVR^l{9+HiuPIr$Mvy?VoEri6|6;r{&2*7_jCAIK#ak`HvHRf9MQgJy4JCmPwP~u@ zre$0C!$vpE-#yM?V@^5E*}7>}bRvvERwyC!f#aWf{D@G7C_0)3#FH{e_!l+O@gn{% zesv(Dm{*k4XwI7YLN}tfQhLa{v2>mR?QQfd?Q*=>7{W|e)Zt;Cxp_hFPSD}apdT2Z z;VLvVQIN$;7V*gUA^!;f7Md0&&xmv_kUtS}|91A8zdRm$=JUw|p9W0e=NFyvqpUxRnj3n`8qyWS|bRlE#aB1FIO@>-?y z=%|!iI6?42_@;7H7XBwe_a4E@eSffsVp&RBVOjrnkqD$@i{ z^z};`&c)IGac5J3p1BdY_SbyE05t1&c|3gtYS3<^fe^pG)cNWf*8%Z(_qzrP1=_>h zXyZ1F)Z|$@F(Tkx9j2dB(UYNh9bb86{XP$g?2}0$Dj?*bW#3LM?5NK;2=7}>YJ^AO zIAiFaYieP5J)J-6+VD};>fBMqNrtmWk(W1{pOopcM&qb3v&GcP&uAWHN{=ssb(fB; z+DYlglKDV8eLsyz9P3b~$3ZpN>h~`Hmh=T4%6qasL zGS25rAbkh}rSy-Ir9F-+FXeKWlc30Jr+eQdUz6ce4q{5sX(jh85ng2r+p0Q-;7w2z04>k zuo-{P4BqCv_(H5qRq2*L7j(V|1qbc;VS71W4m{YkFRB;`)E;@X#|=S(9HiHbzc^&ox7g-fRsQ01|d;Q4Em#G8A}>B~dN zd)8M|scu}1uQnx`+CKaRQ@a%27pV!tx21mH^Kree4H;*0INk%t!O}T4QujsI!s|-l z#(JoNc}}3Pd(7V?>jEYTTSHLQ1^9k*r3$=U8?lGi$DrFY;-@**N5aGPJU)sB2IY0= zreq{AU8%PDIw<|X6^fF27h;R}8(-YM*AZJ`^5G&^?c%(|9E3ZJNx*a+q?W?!R`{C_ zrYNmKgC1)^nW`QDS*8UB6c-S)|w7f$^)k2q&F!{hT8*y)}Q z%^8*RQ}gBZ9%LM8NeG&_%2Dm$w`R6 zNt*6-s#qj(_j$$hX+ssapzQ~kJh-7x|C3)`pHlMTh|gJ$6DroZ0u?(iRcY0g-lTEO zo`KV5TqLc%OOURQIg*HD%w|Ac_P5C_A<`TD&5^(iO z^-QFmDRHBi=QFMxjd47s=w+dh(ya$wm8CzM-(_2bpxR?P=gX02!F6o%OIT_>po43P z35KY7``qeH8F|;88x)b~?|Z^W(Xa!)!gg%M2ddO7zsHXmhybxJ%oj_FwN{)S0rLO} zLT^XEu%Xp=qlv1F*i$YHd>D%4KOLtp<+_L;2QNtu0th4MpGo=iEmmJx+mLzwVd0Gt z;}Q?dk`7_Mu<}x4&0d_Z9Vu?TtBo%Dc!z@BA zIF~=r(zq>Nq_o$Cnt0(Yd>T5p_fPoq<86bHzw=UW=9KjxgKgQtmpd*fx*ZbS0deUi zi~06<3=5C~o_-9IVvCOIfevXHW{0L@E;J+@YPmMQ*_7xgLYPLGJjl*c%c)!zoFT{J zD&9SATMV$(@CTHTGhzK=z+woirD83{ldk)d(j~}Mh>}Wfds$g^>i4jTG2+K_e#Idp zw;?flFrl|38!r-#FE@CW{1Vq=<|0yxfZ$|TJHDk;txIu=NhWP*%7PoACW3G>C8~G) zkubH`bK}>;a~uPZEWWWXyG}9#Q*X=id)f%}H!H(R7ta?*yf@+-k3a05yt$C&8TAqA zNcwBlhxML7K`MNY*TFDw@A%NZOx6f^C%uY7i=Z|ao8ufJNTNf?t5gYUoBdQ%(NlgyOp!5R8>2@+)b0 zxI?f=dGi&Ati494ps;!}&FUQ`^jyKH_n=X_sp!sT{AaJktVp<(2vB(EMzZg1H0IkV z^eM#r7?%aYqWiT(>HXfa?A_f(_5d-{_c*r#J|Ui0^dxvG0afkw?DQghqM*t=Y>Wu9 zA*{Ig+y&A!*W);>MQ6H{>WJ~h^^vi+V4(OU6QpgQ9ed>&37lcZ`)bk!fhYZ|Ej%%G z?)+TlnU#*9M@%P`i;XkY%)@lmapU6-M^Jn5uKaQs+-mSKt&ywR*fNMyKj`c?W3k7N zu=8FbIvaKL>;{NrGw)4$7xwJUHFsI^o2Ls9^>5yGrF3RcXhJZpprJD0EE+f3F+ zaic>*Z_r`Z0$%Z{?O_(!tY3&<(3n43ieiKgs3a6_5Y8Q4cs^x`C0d$%ijk8byN7q> z0<*@vaO>Z|Ub(|^Jjk>B>Pd;Y9VfT0YT zK!U4TeKcJ+cz?4r3+>#pBztaKj;2i-EK;HXa6wezS2}myTeF6zNblaBw@1<#=I{7y zBph*>-6y?Rc?>HKejD>M{&J?$zaHUt)|kE2-fqTl zzRNAtL0M_lI%{DxP&F}D%#>`-6)p8|&%Z!hvO&Zkq!=6N^EZddP}4!Njc|3y_A7G@ z!h1X9m1EF5!9G>YQyt*bey``hLxMZ!>63H9ShEiw``^wFXNjZC4Q7VF*E@O!47I3k zwdt6y)Lzovk0Ku8iREvG2RA0(Fs5`~omCTceW$=t`=OebI0V7!o)6555L3v(^LP4B zpXVJZ#36o(;jvC7NF?4e;G~LU>r0ztTYW zUyNvrs&Lc3O|#d1MgDE$l=oOPYD-RlSCN1pvW}N;OkZ*DyDT1fub@TQK_)Tl3_*hJ+smxa-BG9Z7pS=dyCdHfPy{Ik&en=633pE~rdVdl6Jlymm$Hwl_cz)y z`iLebKTYs^-@xAP2cmV8JOu|YD3hn)_w$XGrM@ynW;f=1u_ATby)_{EsT7pZ;O|H0K2RHNJqvckYJZaGTeb=dit`Fr&%=rN~-?PfM zaxqjfThPB?itD3pCzK5a--i^ZVme*i!8v_H zPc@GZC>`!I%I+!@me!rix!osDUwN8+Lw)A$p^=t*=GkGbqkMTAkpsWw)P6Xem%#eN zLe?f69ixhC_p3zl#hy%Z_b0@ImoU&wC#1tf7OEjMc!0TyyDRYTZV7WGj!mA&C4i;w zfu4d&=XkpPrml9hDoBJdQ=kpwwh5ir>gjm9otJ@$f?f9Ag23z`37rFnaFHn!_VCxr zgv|q2lOFz{Lg^+ur435I<4dNGmQ;$ExuMFK2y8FRaLt}c<4;DOV`J3>Tvwf+x(jn? zUVU>Y38aYuheEh_N#!?uLbUXPUla;Bl7pRqSN=0+gY&C5m7#Igff>7_#fy9W0$7!nk-V+lnV#_UwqTxTF?=vvEARN8~@x{gurRvqzu5px0In2wJ?J5~8HG z4Kv(JNUg#rSY&AoBk%Y~>5bPQ3uyQT7oA+DQ=D1z@)MZbvSj#;{-!fLd$T~6Qx`59_pJFCHeNQ8T$7#HWY($YBC z&I@K*Xl)63h)S&gX&o@|VUo2*ku~@CANd!;%gcPH&1aO1jYl2}! z5)2tvWS4h#C0|<*Hk%Sr=xBYFwnmSO9`Lg#1i=TI#d!(iS~p<7PkfGn>@k~Nbwy?o zx?!7{e9O7h<5Cv>1%%-#C%Ee|AgDIwQjXU3p~^3eIBzCq1YNEO4QeQb@0A^kPp|6> z+8MO%`aD{$)W$wAs(1po`a(gG{2M^?eUR&nj!?lIv#w~&ryaRLN8^b{+at0T7r#!% zX<|@*;1e|BxXAL}4;J#3=xYi880aYp$9u7}L22k=blro|2MLpA1$7E)aTsark1C(R z|KSkldJmrEX45Vfp=tkQvylR1Cf|KZfm4rp0#JEYf!OdfR$|l{@V#T(+yo!LGYB1L zYb}@#uU(l%%P)XUX0U1bY@I)T{_EjO9+F%F{=J$5AuedN9dPZu^iCR<+*J)7`3641 zS>h72;o%C~uR7)Y^&2qD!us*dCS>^A zO6~;3nO2H}CLbjGFri_Og+nq1b8e)5*E|Uci=d?CFl)4UQTNR7YRu2qAvf3RF-L`~ zk+}YhBn!bS^HgiRsy_v32k772MUbh9%jgA9x4yY6{A*`*W-PQ-M@s=R4G~VPoThu6DmPgK;Aft%V$w z&Nk8X-7CM$3x6c|qpi!b9Z z8$ZYUTM1!6CwTI`Y#d2Z2{yuPhs0QOGAbkC_zUhqYxnX_fEi3j1zHY;Tt#Zdyu|XV z(@JO48?tEAnVaylBq1x)NJj2c15ge%ynTWIeA%g`uZ@WjG$)7css$xYzi zRSug%Egqiw=`gY$O;l%Wu2}OI+E5uy)%}k6;hkr^v&SdNLmuPWt>OBt4X^KwIjQ@u z$H|%Z?4a?^%L)65?NU9JJzICQns;j0KxAU zmeo!zIr#&0;SaB$Sa1D5Ezh z?xv1Gmyr1duzA77X!i+1p2C+g(1)@aQOO^0QmU=$qKN4j?9bV?Tck7!kbW_4HA)-D zsc${pYxGj%E&7}=#d5*gOAM8TP>fb%6|^@(j9KUw)~9%I^CMJu9U)g~v;7n!F6(T6rbQF% zen`w}C~GX?Z6Rp%ps75rl{Wq^*SX?CX>{4N>)7NPFvw6LeCrWC;OFdXv|scqN*c~a zH)P#K7)UVZ!&RLzODHb_7}%dDiMu+W-#ouq zcl+=4*L|9jc2&@9k|M;|1!>LphJ#n}2S2E$d!t9})_qU;+t!`brk z=j{JYskjOC+yzmmQ(Je)Bs;hkCa1FMAV`|mrSH|t=xA1_ErB;f&lf%>3Yy>lO`LpK zMJi!LXpfea%|hqjDT(?B$lQ4J#qZibA~_EiJ=f z1-p~MUP=XtI)vx;11)Cv4>U@`J%G}f32m0M`}Mc!=!>5M{fX_L@Lb1xzbBJstKJWn zV%Z0aN~^e5H}4X8nN?-C)%NIPlOb%`_vVyDl+rbvAO&dgl&ZZhNcN@7V=e+tjC2Hm0pEWGz_ivl*%_ z$Z~0`m0(&LzQAs{@at9rt|td?-nrp*uvk5pog|Et)TL7G6|a!EdQFLHQt)pazilO6 zz5VlVft)JsZqSx4q?#q^+ix@hx^h#|nZN5f&I30ber9@e#yuERxfU};H8_f+-a`BdN#6Y3g7B5`vejt(YKCWyHE->Ndl?mFB$Y#u<2+*}*OoHN zFDyb8Qyi6dj$8>}f&F&Lbdue!X-VA3&3yzh?IM$mt85d}?3`in!A>dyYM{hV{;x&p z#FNToT6ifkiHZB-DgX6i$uTy^&CoI>=IHrJhb5HsdARaR9RiP#cyXt>`wB`uRilY0 zO#hRX_(fDC`Pc)C*Y^!UCcY|qo40^C9~8->pGjrJX{vfYZbAZ3jkFo@b_wHaH<^G= zRNgd2)DsXMJY4;CJhAckb&7+U>Uw5|$w};cy|bP>j-PFH+mzY=*vG^fIOs)wZ-(wU zgQ|!c3_<#l)ii`|<0W)4%2zsZ9LgYBdLUq_=g)w}GsEDd)u0z$#CBJtk-RHyv>LJA zhDIQB!GAn?P2bL@cxk5oy9pg%gP8C(t5f#)?ke*|IulE&%b~$E=)P8NVOQEj5oBJ} z^PL!PEXweeN(}|EddZ;0A-@Dg!@~C#o7;>OjJ~`!E;LHKu!Jk-1l_JTvf z*XQ(fPj^d1G}{sV**R&bau1cY-debe;=&31#sQQHYzQd}B0l(u{t^aNMg@I3@Ek};2s`x@%v3~6$B zzotJnG65wi;2%=fHlaD}J;pjzUV;6i%+t8jUc@d%Dd)XAa;_E8^ExYOQ~l_BR@$?9 zl$jEmbsqhL@UIYt7^%mXXnn&Af|=jz8Qohf*`}P5I>IBhd(}w1AnYvN1K9iy(v2-ju`N-~<4QMG(Tl+DVQH<>k z+OImO;o$x)$j)ID0ji0r#b1Q??7d$?sWd%l^i$W`X*g1o@HyX`I<%9d{{gl@Nxxyr zgRPgm#tq|tB7-#u$`I?TId^YlSXIgOO?D1reDlTv=TUlXYH!h);%P&CDqtA;l0918 zt`55j&Z|HhWq_UM0Bo%SDXs^^s&FK>Tg&@DFAsnr0rJ2HELnrF4zL2@Nb3Ix!=GUy zB)Gl`@GkJ0Lh*J{*Z=A0%O%zSB|A0PohNXd^zWRN`a5e z0WipV4=%8@!v;3w1j4{`gOzYZ`>FDHAP+ySAexsAz*!R@uK+H%zXx8z9&>>e6f$|Q z+~}L32x{FRf3t(Fs~I-(qyUqhVPBzp$O1<|oBkO)~!0ZvJP001_;`l}Nlk$=ww zVpmUpK9&es)5vcXyqW6%lAVQ(>-<>uxcjq?B`&J`CaJx)?C+#rVZ&^;Tz~ztJKXHT z=4~~Abzd+IMG}Xqk-(6RmIr@Z_ya7Q2$>Op6FNX0d^rjoEU$p(r6<6h8zs}h~si6L1 z9z>j|3!(vxO@y4VBV>LBIO`wS074B9_oERv;YAAZ*~$Fp=v$$ykX}87uE@NuUB2ZuS%V5&)5D^qWUE*TR zm8&`1jNNdp*Rg+x@swBr;*Jo^(-CrJ01Qv0IRU08uCD^+C5X!?158jb^~;Rk07V4d zQOJjHa;pDJc6PD9MS!ws;$l(Iv^~}$ncs2q0o&qx;}l`*^TlZ1G$+o9qP{SWQlkdM zG|U8Z>3K1AGE8g>W`bt};H(*7NC!w9|LaRiJNE5k1sLK0p*RwtiouqVkeBS4D!fHv zfhXw;o~Og)EMkDu9(&wQac!VFe)Qz|>^C|>-Z=SdoIk@F zr<&gb@Hb;Jz?FA_(e*JvZo+R^GDIwaQSv}m>k1u;T;Ejtmu%S!yKMoVGy^JlFx*9I4ktDvmI?Ev-Ib|8sP9_bGo6-PuMhCfk9T;Pxie%g3aT@b!0 zf5y)Soa+r=%mr>sIm-+{TxcBcANT8<8DLR>WQf((f;%^ItQw@`N3v(91Wy_RTvqmX z+3?$(8HglmyB zQVO#wT$#n@s0BO~$nZXh8N?k?f`id^I9NFzuCsq53WDC!-02ZIVF$Qm$xb`=cUphv zq$+dPdcbAuUotKpI_-Gd{o0;~VpbhzJ8N8aGIqKKU^utZ4i|n(5S$b}hf)~7pZHR3 zIgq*K&*~uv07B*l0P+Gr4j}XIRg?uD{RUuA$$(2$FUihnOmLD4Ttw;3qX=i65`CVO zUkyqCj=+`2!>9)s5+GKtXFgn(7XSvMJUKQU`h<3J1^5vNZ#9ms1E`{xHW273fu1@J zJ^U1#Le2OZ7S*PSEmhuqP$Sn;&_WH!+Em5C++?i>$*n! ze@vSZIPrNBu_fgyQkIEA5wt&P;eio81Pk2gPY^_JOyClxrjfmx@x~>C zwNwX~Y}v8D)BGFDP=@mqI*)_Svfh_T_nD_7qy`PM-g1Mr%l2raYitH3EI`BoGja?} zzNVPE!jm-#r!~7lJ^j=FW655fUq0w9cN zhSC7=!SZthCsTlL&l8A|pr#eg1%?LeO*h!+u+2uizhNBEE5J;S@f;lbid>$vA9(Q? z;CnOPuT95U5XZq!c{3Q`ieb|dPIek_8W*dZ_1L)B-!fu=lkWFCytmVmDbdn*zR)A` z{xra@R)Ev_u|%66fIpd2h7O{DW;NzT)?Wm^7I64RCiRzWew#L>c-H#9X`2@yTDOU?ierHCc-SimYxOXeW~6) zl1VW~Eq_r(!GQq2l=Drtq!`>RNrGiSCr!K2!k1?Pz#9O5ImZWQI1ItR-~_*9&p-tN%j*Q0w{Gw>V}R#DAvRTEDblzgb7npT>e;G%GwU_BRjg=IsQT<@e`Ner=Dj2n1gk z7dTn6vvPUc+|POYZco|~vWPm2e=ojI{Q6D`ws~RM2H;s+-l) z>N(k|0P(coc2>!d=lT6_#{Cw3Jrw||aAwKTQw1OuV4jwyc0(c(r4d-k=2L!)BpaU9 z^PcDVHDBW_P?uCI0!RJR~MeE#6S432R(Vy~SzPT7XmIJ^~<^-dbEki>c zkVPtmNp>Qz%u?oZR;qB3WQcQaX<&PnDsZmnZ!zru)nFpt^jEjj0!*pjHfu> z^b&mF06ZliOdY_<7EpfU#z)Pw$>i!-B^>bp@~* zc|*guP+Igav&~xOGOyx0DG=s?OPfNCK{$`fJB`wqX-a$A|6*Jcr1_4JpZ_=hjnZIf zafKO-e1`bnGjV}`3gFTV_v^RdQiCbP0M&3KI0DF|Nzlm_fX_G}%@X^IZ*Quzao3kw zRx>SzHm?hNnr?d&crg&0$NWY}qkl((6@kNH27B0%mQCYa3qMZLPF9if*Ymu~V3Z

      7UsQNpF|7Zeq)jqkX1L9B`=Uy(=@O6oop7H?HtzOWMqf=DJ+;VYMon1F z^ZS!-n>LyHSRu5W{QP6sN0dE2B3+Iw>}DRI6kg23p`S(`>W`PH04Hrc_gcF{#!tS?+$SI@AmOw#n4|Wa3zh!Pc}*UO}oC#V&-YF$CIef(^h!r z!H%H%AL-s_e?w~@-lO7B)Epwl#9C?$Q}hc zN6_kkJ&W?=5|2MGd2is@P8)2Q?8SuJxWS#%l-)97dW**Q=7~>^i>u9}&?XHyout~@ z-siTzJMFo&y@p9^wSuw_Dc}2C7mp92%Z97V4KDb{WH9BzkuDf}L%y^Ku``YV2Kxno zO`+)~*d2LGoN#&pHZ!Qrxj6l13U(hMg9VaI^%5Jr_tvEXkr!+9Uxsj!VE)iY(6sF2T4j zmwRAzqbEH;i1c~*4PPXOTO5O>@P&s3Fv(tKwRh5(-g!OE;xayu|EqC;k5nL&ta&$7 zdBaR+ERGnA!T-I<3T~}h~-skQSkxOOP){XA2W;YftpeT?aB-2n7M=%?W>4UzF z8NTSx!1zD(LHa5h%_QTPhM)n1HsgXONMaF%#-O*V?yByts;tUAG9ujHyH_9Ha}N(s z_Xzih$f~UBjI^{^Gcp$UJI7ZCGcA{M#wSz4FCL% z#JQ-TX^S0+M{kInZ zVqFHJE_#16T_xd{NoU9pIF!H$Wv~h07l-bToBS*(SEsb&gbTYtvowWjKg6_5*vhiwu;| zu>XhhSCM%GB%PEPV89b{&?nc!ZTD7x?H4i)hPI$&Js2v24oFbg@K(*tM^G@piNYON z9iIxut~3w!iut{~U^kCZ)J0I%!Tc7j;k$~?H&2(VZqJLRymVi1h*tUzn(mu7->+#J z%=z_zAtN&5Q;J3zv72FlRD%g|>GH@&U?^IR?JWs_q{x%o-*4FlcNE^e5lOSNoF*yBI#s?2FKAwoWYO?-iFD1TA05@-u?xvl( ztJ~YPn`4>vc~>cQ+b(Ec2BLXcy>sv?0?lL*P>tbscr6)cMV&OpUG4)QLqCXa}3RXM+-LU=fKkmqKk~?3bc5*B_@MJ|QHdbLo&|y+CxWpP z(dka$gE3c~Aulet)iH-zH2R(RgP(oLTffAe}=iHaVMfih)!*xSVlZzNy}tV7Nx^xiLZ(2|7)o*B0t*>P z;Rl?j>uY03v@MO-&HUO7Kv>m8ScSPQdi<)|>-1J+D&^jsoZyJUOQL zbV8gJQWuv%kRiw#aN;bKz*`|>T+RT#^*lO3xs~H4-ubCz*!h{<$uNF0ZBoIJQJ)&U|cAJll5=6 zEg4{glTwYsq=C-bk`5>#yjVu{-0>+n!G$PFkW;1fbH|5I93Q8u?qyj&^@{Pm7z}RN zHAChB#f!2~__|LPd?3M30~ zs3qe=0)A|IJmFoBFL(`#4{&}E>YsOiAL}zgazXN@Z&oG;#c?Ugoj}t{8B9|7FaQC; zohna$lSK!gTRuvih={;B2j>JL=Sz(%Civ_@t?9Gx0yOh_axXd;SjYU@#!#B>uj|m5 z$Nbtp{~~v|iKVr5bnE`#GRzM+pZ^oU?Q!quE^i(T$xI3juta)DN)B)YN%IIyKd`^! zFa*ItaWg!9*#KG60bb4onRmJeV7v4h98?|r46q(##t31E1;lU(1PvS<#DUynjYpq} zJ+-3FIR|D2k%TV-?bjc@Iz4k%(8kc1m$~bD-nAFFO_^SvJlzEx>lo6@x{X#>f~&q~ zRfSOK05QE02^RW--~r^7Vjn`25QO%_5@vDcmG!)b4glCN6d@NN-vi+e z6nkO*UtR{=V1(pvEQV+~<} zR3}#3EFi3JjS&O04`#FUG%`F13=dp$~q26ZU67Qv0JMGZr$UYs!o*BV~U2B$QJu` zV1MN}OpyQ)j}MfDh>ZB^kzCOK%IkoPpg0MDx1<5mT?1@ugp|kQS2{uphsT8ap9ARS zzu|~L1UCWFJ&WUgq0>AL((sAnA0pQi?;=%D*0@<^6f-iEaa~I~f z?smL341S#_3vve(A3vt#sEEJ#{n|+&J`}^*9PWGxEEAb#0LvX9PntSFRxm(TD}kFj zLhc0D_ruV_k~cmJlzI@IlypET8lm%+7)Nee1`m}cpISb+W99g5kyk{}D<6TF86tve zS=^LkdfB1~>(ut@bgD%=O;abrvPQ-#n&7;0wp@0%F*MqCj?@YNO#<1e^>Fd{Pn!4cp{A&OErNXP<`f#muhmDdTP5P*IR;2Tiv zl=QzfoH{bVIUOMPzH?Y8RAUf9p^Eb^US}es;LWJN>K$DNG+5aM=qlul( z1I}ZDSEq|(e9xN6)fo?6*5O!Z9dRv%l!Q^f8#**2_;AOslPuY zGZ88VA-HmtM;!csT>pz9h<$q;NokFt@(jRVVdV~x^_0MQM@UXXzZUBApaV8ehKT~& z2Qk#ilmUhh%0b~yg(ttU@xkYgk1}!Mvw+h)V08ys1d2_m_b&rzE}F~tyn*hbKy#H) z^P&!a00IzJkjX%iKD|?>~Glq*^*P_+e=ILo= zMzjb#=RMy%t*}jOWtq54{<`PIUYZ`?MZ2rh{1$0_bsZw>_>Q~&eccLhog*_PCg=b; zKy>(&lapY2I5MTumu7>|kl+9(5DcNT3876Ngg!R_A#M3WE)D=ofoPOyC@^hIF69CD zccHtZO4`qPx*KN@jePWl2u?i|dI0n^*%4r$h&lU(?R{d5HD7o5$~H@{3Cybb!19+| zci)%M6zOVST!iV-768kc!Mev)GllcOu`8giQ!A@G0A0pyZyE3_pGM%xed;}W4_luc zAU-34Qv_Ly!v0OZ;+rXd6+)xgK45at{igiiiUH{LXn?s6Sf!(BsMj-J$Cr%|NEDlhLzC^Q+Ux>RwM*t*@=#R{guKrF+xgw|Twuv_C2RuM})Qr~cjt zwE6HD(HI0v>i1{Ssnlgl(pP{*Z+;{d1H_f|zqC^RuBiVlUjh@b5OeRr+tv+n7$}5N zh*D^Y;o@U(MJXK0;1SW}GsnkIEKXBv#T8#lE()Vye~bDv>zdTp(Sr0MGQD*%xwd8O zG9_>w%WK=)+x7OY2d}O!?~7b*EPDOL=LpCl;?qZ_cRXR9i1;dQru+>IkfbPoJ@8RT zh~)8?9Vi}5ab#it?-C#H>cbG`^#$Jt;Rcj@rM9@9*8xG$v^pD1BQiLk5 zAU5;L-+rb2%|VO!ORoQYCm7CaD1TQdf$97luIhl)N?RN`C=CL=O+4MrIbY!jJHX*~eiB+rX0ydgE0njpmfW8N@M!V>mcCM{o={M6lxEm|-7F zG<@Rd_$!2AOwL415fQ-{|6&%gzq+Gx(^0VNq}=CO(zaoF7s&uG(gaz>6<&0`EwgIN z{Mx#_i?+2z%x&4B3(KxmvdHxX00FsEnBf7U<9&)xiC{(Gh+#pnPTfoaO`lqv>_dk; z2Aj^gsICNUa)ZkN*;JY=62RvH(>gY+HXC}|+q;&m7YT@~l)!CE+O7cD1xzlZ%X?Ya zrK-Xzxf7V-p_)@ml!i2i&0XKZ{gqO+XCY}kb$^TKOJ4p~<1f|ncSZegMF6bCVd}%qMGY~1m^jP`FYH5UB<~pFuoTR0Ow6$>1t{$8o9NIG0t<=n|gb@Fuz4}0J}22 zHrixcP+rHpOs$;frwnAjp#I*+*!{^Hbk zb%BBgC}BVE!(~ANBi{x)GyLF521UP1`Ahoj0dP?n{1+g6d+G-7_k1XtGKi*N^h>>f z5<<}mX9>=Ds%)V_J5X3**vy#8`_kXrb9{IM*)B8FbW${+3W(G*z;aBcNfTTInin~B zdRYK$JD&Yn0bo@FU*b%gCe} zm>+34r(kC0`?3ijs1QV+1m)9UXdJ@N11N?UTmG&A02|8SzX0JjeA99YU=kKNiAsIJ zecu`f`0+T@hoda$18$lF3^saE29v;^f=Bi!6!XrTxWX()X+AT)*$*My(XpoROp=JIzv46scoy4o9D z>I~7IfAgt8Vu5JL|2cv+>OVx$;wWN;VGkr4{)=vY+865GlF_w+b4i{FWL6l%a{;gl zR&6p}P33c!zweskYoqzCgZa(7z0GXAwkxtN0bCu!ZUXA`VP_pZ(E16UbgK(3}NM`+_Ygtooyg zeagx3Z{+63TZ;Z4+Tk~LAfd#~HzX_szfwjY&$BZ2Y=;w-o@LwazO!YDx~us|}f zTBg$eh+-kIN@PFLl<65BAni`+3T5&)aPuPyj219(kruj_Mk znMBh?^Xj@<+q$&AWv9M$`9E!@P}l0ECGF3bz&!qx28Rl=#K?;Mm5S2Wl7wl{1`a74 z#c);gg9i{EK%Rv4fN?UX_xJnj+o#sU0GrC-h9xui4RqI4%n%1j87>aJg6iNb!x@5w z^K_aC8GuL_5eZ^dwTDiJXY8^~;)udGSO<1x1Ei?|e37WVNSkXbHg_qvm%V=;pe+Kp zMcUrF7~iVv0=IRE*L|S6jLhtrKPR9Qg*^cep=x1}iA+roDVrZ09N>`fNJ9%8C}@8> z!TfL?M_;X2{;t0S>o&gU)3FvA_(;J3|yssYs1m5=5Fi!c$Sz5+fTr9^IGt;g;I1 zJ1n=DU7RDbYI#H!%{55sK(P&oEi+57ix9mm0Ja_B-j>;|yVSktAaom9VxFPV)%BgH zAd;Av}Pn^JTC)4}d8`X9&R|fwKy0 z!Urn^%MKO{D+2pilarrd=OY4{8+x|gcOC%q9AF-dE`L%@Os~2SbQ|zn)HSjwa-GI*0;*%`MmOetwzpw{J$5*Bn$V~O#TaR-uo$bK735QV<<9$ z{}pd~SYlY~O3@dl`^=68M40(xjq7sfAd5V zra~uyDpN2*LV{fLQrI9PMFb$)H}UYFb?38Nnr(l}4uAWax~+U;74ZiRKP|d>9$THZ z*94GN@N04n*Dap6-9g&AfU9bK1v_Zz{Pm-4;C0mYP=Sx@MW-78ySi$a%Ty!U}UPC4&(mt zaoRgN%4B#`vRfdcYA^7-MW^dF?0K&6JU6&$=UTRzy$d+DUDSKt?TZE}TvW?kQ_Q7p zsappqi@JK21&?QST6Q%3BCuU~I|Cqq4#C66=p7!JWT=Fcq{RL_NwH2t{3U09zT|aa z2u%V5%%d;c5ZnlJ|IV|&wVNLoqXEt{L#iw=^QeD)0MP-64#70=W{CQuMBYN=zT@OJlS}+4C5164<_6XQV3py`n;NqS{4PRpUlsV; zXo6kMkX4L}MIhGI4PFJrx@daqWPZzbespn}ml^Rj!`Lh5CG9VLh~D1&wE4*c>K_o0 zDUcP+&xFew*dK+8E)GEGf)3d8MhK4}oU^}t?%&UmkJr=Yg^x(r1zGFdEoaqIZ-yYS zK*BZ%0}vjA@eL66!8b-QE`yN)j0hqTMA}27KpYbi$&hG*L>+oY&{sxZ6@4c3RWVRt z5Rq(Lcj@l`>>hvfKj`B>yTP&(MG=?{j4_24XbcyQaN9BEb(fnS({@8%RLXQMdAow& zMdt&%vbH(~*aU!eYk(~J%$p>OML@FX?=Bhumu;z=CxO(l%DUU7x-Eq7>=4n>U(zdo z_t&`f>wQWNEzubfMno71VMKy4F~&|XA;p9YCJdz6BxrjS_wyTA=*NX`O*+5X_9!UC-iM$fRoJQVFMbgMuH0|Sc)jEqHN zVNRcz{>i^!_x_(wp6+i;x|4&G-(PYq5Oaa7Zff)*?XS%o!6ufmNQ=4%@LQJ|vTDiO z#u%Ab5_i?a<}tr@<^8%ozH1Niva7)@Reo1*3%`3B@Bb6;+~4Eg2`N%iwIIp>WT85n z_W#DPl$O{Z0s|}spZ9H;`dsb%ePLH;@%tD&h*gp|L~d_bn;2ti7e{aE;jII}y7ITF zjjD~C+;!t!B@WZ(dRy(Ui;2>vS9lS)%`-pN5ky}#hxxLc+I$Y7=XdV|3?8K5F%dFR zWJHt_W;1|=^Xq*0IUR*{fBHfD6CZl!GYGO!{!W4eJnj3vu;|Oh0$>{!SY9(^8?rwJ zT~7-wQ0O`w&cKBuoWR1uz<3R zIu`x^yacB3xD=dy%o`7WN!RWjQ#6D_MuZIH!4DBKWMKjfSDfE2><=^M$Av^+E*Jn& zABp*1Lom9^0=+Xt8u^(psey|v7zC>h#>TM5!6HVc0t3K=_YoaL{gWR>uYa^Lmch3s z2ft@I^auk=L?l9U8D0~UYtjhoN~$sM1n}wCyEC^Ixr099Ask`igMi=?N=dC%sNXx9=Uzfpb zVsKqu-@0{stN*v|dFN$ApXd5AwNgV#>kI7zB!G^ zU|p{LIXLRUrq+)%Ave3=5vP8CpJ{tTh5eOr;{s37g*|h#76`lpI>!R{Av6NbvBtB%!Lbu@lgZLiJa=M7VR9{Iaos*2~oJ5ujXhyc_F}I0wMP7FQ52atNkrxf21!C0CsVNEr1Ma zwjnwKX$m3^-62wp&2dP;B(N$l_yNOEwckI#ITcr*W zgcdoWb^y3YD{SM~t*QZDMgUyo4tLQ4nx(8t&nv~&$rQQ_Qf&i#%W8jZ^u0FPl0Oo zst&=ULyk_ADAQ2-LOuAw1Rf`_E;l{^O9^b6hDHXS_WaU5^dK&}J_P&Em;GHl0JdR) z{{lbs@NEE3{f9#%5FPkQF&x8*1z`-%0FHaG3NQ#9Vlf#UjC%1kQ@}tx5I!`6qYruW zlSm|f&1J6`cCn~}RbfIHx{WK`h6y$eQGHfBM4Ra^^GeUAzq`nBSZ(yZE{twjhSZhW zwTa?958!Uw-`u!elrE==>H0kx!%-Bb zz2v2D>dg;~D_tMu+}|^1e;4GdocmbYb%!J%?18ZfzSRTU5sXV=v=1W=kqROK;sl6= zkZAZdgq}L|DjgzyRSb;E#&wzO{7>W0e*b?NfBJ84#=OnOC^J(T02eK!-UR^b!0%ZE zSi6)xU6@~6cX*YlFpEmgs@A#)$eJEMPp)XwDY6J~7QOz9Vz!Gwu3D+oT`vKkLX{4M zPX3Z!{oDVCZ@srq$)N>}2pExKEQB!>V&HMK1jVWk|jtfgJmG26pnXb%@~d+ zko^H1Zb0xMbf)X$yR*~wp9T8^F3bh4vcQJZcf*?>LGb~A*Zk4piG%W%KVsyLFf4=& zTxyCQLkl0e%;yC9G`je6Ce76Fl==FXn9NmLMR4RoNSjxbN!OnpVfrANR7%-}26krC- z9tOuh=)du^w?`k`xu$NrcuD1%fh`!|qIH7nrpUAn-Ckrlys8#B@A(#$vx_=OE(?Gy z>&AB(bN?c|S5?I+%;{g5+dq3m$q^A!A*3Xfk|L7`DJe2iWX?xkJQ?u=5B%h3GYvh{ z*gL-mTad!>EzkRV2f!Y1(LKM<7XTM&f$x;A=ToCIACBe}qCE)pK)CdlD0LNR?*6qdCWzD?KGwG+epP4vor2GP#5X@yr7;mw za>yt`3PD;_S~>Wcit)h^g#0c|N}=bZ6npsq_4EFo!zp@phn*HI5SUJl-iGWCfa@a= zr4V8e_ktk;a5e_V2COd342;3XfdLrjz{)VJU~wJ!R_sVS1MV7%m#v+RP<{uk>sns3%^=ieSC4BlDwYAFc}%d2TfE4eYPWGOnI9t@sbgE^a#n`2Q;`Ba(*c(Qle7k&jr`ll=^)M78Z^MA@i5|g^qX(Ij{?2 zFBd%T?-BtZ&JRq@?e6?2@J{hfOk**TH$-#rdbI*@s-J>z3BJtg$=SPVf2LezgXJ-z-Pj(+nezmpyQ&MPv0rEfT9W>7vfwI&}}4ool7 z2Fv#~F`qWKKWh!JEdaJ1mRbk$P0^HP<1cle<+F&tG_l#XuXEkZukH6Yy*^v|W}xh$ z#*hC$Y`*`$^BeCztX^6WhQjU>k>2%O38CcHXID+LAayam9 za2P^x8`2nht`43idS*vZzEp>)ax5kdf@$WDA_wJR3HhLe2o4r5wSHJCSw9%TMWuF~ z(7K~aDHQ2mv~~1g)> zqDT?ZgcPY5Ujh@5IaeBXO0X%xq7MsG8hVgHXdikw30?g8LPsBj%I;)A?ByAM9no|6 z^c7TMfr|{02!f~JyhDWjY9LN5NYfCHnShD?$gFB9ObiwUGr**31jGl?#__*weC5M$ zjvjyQ>-P8?eUTo*V#4{6+?3c})A+0|Ym3aA6IgD~>$=v+x)@~wcYc&RK1PA{)h~1T+>DRs41gUC5unHh9&ACb$AB6TP2fo2M=}mTnR-1? z;UhA+E35#6!BDU&F%d`IUm?+VNeA`<( z{L33?PUh7&c6M`HRc*IYrNJ3uyf2;ZHX2+#`ayY0qxl$xeQ2pwcJRf(bJ7 zOfE3j0qe$NE#nGT!EY7Ea8>ZDV|Via@>#WcEyE(aJpNgl7t6Y~i{975pn7?i3(Ri> z9^Xa((|@4d_kV0|+;!kH0aAir;!-#So^we_k&zASd=M;r2G^Iqn1bI-=FhM3JMH*b zXnc@94;Xr$$Ej|HNCLtDe0>BX30Ts~N^*iI24W>73dHKrGqE>D3R6TvuP~v{ivCSE zy#CGc(>MNT^yqiLJ%049zPf(s3{hsLIshzBkeN43p}Lkx8{zy}X=GiEkwpNv$mE&l ziZ6Oh*HQLe9>2_Ladq##&3Cyf0Ja6Z>VYW)oE0VJ_Y++Ef8V9u-~5ucKYN7UL1AFl_*^ssmmm5VirgHu=4_EUU}97puPad7Ns9*ZYWJGXxW45`xdM zZ+Dw1ecuYh4w_2e>a>^VNW-2p0Jbnhz5_isGHV~o1Na3m2Ov)2#8vb_0#W8mUPoYK zKp>D3NGzBEf(C! z$jJF2r!F6QU|~5ymcf_3GlAz#I6j83mP%h+v&3an>5J!6`d%UiI2Q!-@%htX2{%3P z?GJz(37{j8WFYFnsS7@E3?c7`Bg zwf`PV;O9dwh19O97=q7!!CUu!K({^uVXVH?oxpc{Of=;C$RKqxH9+!C5BPPuJqX%q z;F$-I{Q+dg^(`-PSuTCQe>qCu%U=RFmBK*b3iAO}`;dHue$gvzK`FqohG>lM79sMv zM}lAMg_uD(SyO<>flf^Cc+AmI9h55MJRjXoM9>ba%gtLQu1)XovOw4dXu6hZ&+M@H z61d8B?0(trZr-fFbIdOUo%4xDd5`Z@=% zi$F&Fbx;67^&kj%5PcF2_CHN_??pg#!;NnB#15)$L;1OgvYKI(!Ag{}_a(A^Qh z&*d}!V$c2x-7k!~V!+WD!UQ1;eewkq+Z|os=Un<;A`G7SMrU8oJXbgZ;VBpc@Qo9& z%V6XdSdI{B0;7UR6GZU@vHDiISP2Ot#4PA3kbuxrL66Bh#H#2=kp8Xg?E1es`~0{6 zZ20NFc{MwIoy#3FVT0p_cDHrp1D9n$UDhFKx_wbQ*E;T>r-9C6!(ChEnt-iMOI;g) zTz16%BDUQWiCP4Xd8u0lKc^}WwD4jW^zZJv+Gp05{zDW>4&(e8ebk zY)unJ?G|P`fa`+Q&{G0OafY2IjY?$jy0MZP|SzvC9 zIDm}T2vO*Oo}H5jVK3S|e0SsZ58lX5ZaR?dtKIBNwy`1ErU_f3Rt{?Ox;hqVa7`_7 zU0UTXJEL3W^{tBu&eL6&DV^)SpNo3EjkyeDi~c=pTw= z!lEgZQV>#Dq{N}@ow~gR1I)NEJuGE#bPAy;=zb?q3@Yn;{0hL=!VAm654d!$?+XBc zb4uaw)kI?wARn0UB!b?UgnVEI;y#>Y03?K@1r!IM%eNb+fC<~Tg#XDzpa?1geH?Eb z{HJSQ`=?uW^wBk$T>HJzlefP;dibqD=onE|rP7u;kD1LYYun5VocH*v(|XI|bprb; z?Tjs+qukp&`6;fw_Y2;-cR(NeW|Mb!Ru;NRRJ?wmB+it(XXP%y89dDC^GST{Kf{ z%I>v^*{sV|UGy3j{qJ>5j9%q+PrvtRtRMwkU z5bS}=E6O1Wr9upE?2DfroiPxnAVdMF2yhl;q8SiWHUtu=_}H|PLjOzu=4T4L`|Z)A z-}$4_!*2~B{jkAm{tYiP)S&D5^>r@L^SsOEmx;};tBYsmIcWCz!`61LxA!Ns`~JV) z252(?03ZNKL_t*2_7@unioX0N1@f2uuL!6(9&?K$ZY;8a{yxgcxuNHTfDz1Qh|8pkW<4 zRfRs`&4Z^~gEIp3mL2ZCX-|Kvuda{TN_Yw?m30`F-D#GMS}X&!&kF<=vBa*^P!=)2 zwwcPV(^=XwzeWAa+VpsTKAq~K{ZHTJ-QWC(Z+Rm|m61@hi_jvdJUhmiUT+ip{I_J!snK?6a-{+g$ zaICc=kqvyc1Zrc)deazsRLy2_HPh6#*>X6L;-^2ao9?Pq8aUT@gf{#%aK1|Hs{F{!54{R+TDH)?n`i^ z`I-L&84u`@EG}SON=?J%3Y3rX^0y1?bw@X{h;%yjU?LX-xj&w9NYNNB~toX?^N?XXFH^X1YDfCtZCZT^ELLQ9=VT9a#zwbH=70As+2+8 z1)u0~@C;!mlAXyD?}lGY+Tp|ggb*^~FDOgWB@#%q!ddCgu~E?#wfSXA@bR+Cu$Bw8 zkkU8Q+Nh98DBjSyDM=DQr|Qn4Rry_~j`F)3V_L&t5Z3NthaKvb#eb>|rH&=lgCw8*HR6M3iS84a9;;2>M*5=Pr_e5x3nqbX?ueJNuk-CsXyU-YL<8eBa8E8Y_8G zHngiPz48(J?dV_G&`s$vq)zYw{mDXYrtExeimSX zi_3l%**DgQLM}^}m$T}?rt?uLxU0sRqmbtHcE8#D^Ou(iRR zmr=@I@q1o5$bHOagtnK=CpwKD z))a$L8o*lU%JY-fQ`uYUKi6wd{m%C8YrK6cCVQV!NmJ9V%rEh1JxYPpFl&>Bf$f1y z7TwXcz(vfP!upgWrf;BY3mD#|2&4Jge1g>iY8}p-iu1iJC<(%-VY`aC;f=qEIl930 zcPGREK#p#v#|lDvV#P@8XbT4*lppVM5Vcc+SJFvoR|ej&bL~A;@BS|*{*^@l&iai$%e z>5;J~5>erY6AdZ*;2T)@0<%vTN!`5p$u0vat0hKMK-?N~uYc)xdPkBd7DDviA^eFt zGXpzqrAcSEp8-_y+|o2vz3L>tvto;ToW6=zJH166Xe+n5;`ocUt4?Cuo_8GxbzV*!FQAZ z%89BpSj(}T-ra?S6d3}3jK>%|c^o9Dg-zZKVn9~d#0u5pi?vaRfU4-1lMJVH%HZSd zL^qy7H^Xl=cn)MhBsI5^|Qi6K2@CIi5$2h6i9&m?XsYNNH4TYa~vn*q3i^Nl!8WtQnI8-u){r$4Bt~6_PfCD zbAd5*3J9maP+Q99fkds7_JVhhg z{>f49hwf&t{P#L^Ja4XnJ(-DVo9F@O(xYxe_XPSil5|j2iT9%!L~|KxmPjjI&~?)F zm4Jv?79iXvOjvwBV>GY(iVcZdOkbaAVau3hQ(w|Ke0rxDkbBD9vyn2o|msKbxOx^@Khi zvzBDUqNP7Z_=14po-(&XxCvNM?p4u(de}S+6Q5BA~nR~w} z<$5rg(mU|dM_a&!QPAyu+IbatQEUHI>cJO9AQ<&;LvA&@?fk!)h7VyqJ+u@b^gZ;2 zT#t^HYiV{oDbqM?-HP9zT+Fc8_g}_&2WkfV8RdoqqEFUzUdv7`eve8#(xeQ*y!i{B zeBFPdux0G)CoXVv7xmPBNID*{h3kMg@lYIQC9%j+o*&&8wNiaR!hN;+C(qd-G0)U& z7k_gQ!I6@BlH8K#!!~4*bQsnw^y5zCXZhxln_q@i)vjdy;=f%f;o-7H^rgypx8-9( zH^D?yIm|zqCGVEEUen9&%2bpmk@WSl5kJP;oC9vm=jZXVI%~FaM3=y&^+g%ORh4kK z;F;^y@{5V`v(I>QLr$3)VO12_2eRb|$x)4|w1rvjMWG4P4!h!jY|z^PLISUcys6DA zh~9^haFUhMkNmj6SjNR9Etq_=P>i8M)2GxVNzzLsn1HyDTFV;gMKhI;?yFG{i-{YX zf|H^cMB@9uxJyBanP6#Y|6Qi(rP=b{RRi+aQWdoq_rHm>i$|%O zYL~xhsB%FBj@mQ|u(tL7-kcjB15kE`5^~zK(>BL>*I9Usi87O=jLJR^bV9Xfy&@me z+^1(1f;TsypV-FU4~3oQF~~2(*^eZv+@NIiYXNKF zUDJz;Gs8*gYx5l67|lkw4rcOoxGgk|fjJ}JH&)v!jUk@8i#vmph{y!6rk&0wCNNdk0}bU@mv^fKeTDFWOR6OpR2WVYnuRMZhVXn&EvTESF?MW(Tec zSQlpfMOL|sGMUe!cKLZi<|%#KGFh50e0+j7-sZG)TRqL|A)iHcKFTy>g5~rmHleK3 z+e{6vN}Y{MQ<^VhPg~CuCFHIQXD*LH6qE%oN2cOgpY5OPE{m$Bw8IPa{rSOUcjR@E zeY9(3xmLkkI8E)ylP>JvUhsM3@Y`@fXe)HE{LAXl5TyXPEuHGTRR*YsLb3;`0nuGg zcVuMh-A4)7jj8-2(6(esSFf=ZpqMO*)uky_fJA3BAfu@@xHWpIRA8Nugnur_(}uV3 z+1u~sv&qs;Sr+eJEUR(FL8A(|`Owzx3y7>xbBrOe^&9f^!wA#OzPGHUx%z|C#CI)X( zci8#oPyeoN%}f)Y)jb4n7M-=ME}pG{Fy5PCmMLb|cczf6Im6S7odob&0+>k#C+Q3l zz=|-alyt&87e!;Hw8O_URGc~NmHA@I2mCx$#}c$_!s~Vqc5ffehhDu1^a&*M@qD(s z4va|?D{}#V8zCEyfNIxtjb!#Q!W6>={q?`h4jRdL2m{F=j%<7XCZ~MJzVGK%V5NpO?6?*Rqz&p$=%poa*D%EBtp=s{-%T-+Vt9fUD8yn|-n$ z7(1{a%nSHHuvJ1vg0ZDU>X{TeGWQ3g`7o$)Y-h-iqS1Q^`2K!(Jw8ul#JGp?jd$AC ziIMr?{>UEw&Cb88H7rG@(plzBLen~yyC{%O{wS(wva?=8B5xKx1FZ33CeKYwD!N}_ zo=Ur1-^XzhniASVL?7j!ZvvwS_{7=&kOguoLgDdYE^czOJv{shjijRsHpS(#~r~(D$;0 zgbbOAc8YRO6_2r_cYa+eTxK07KoBu5(m(-xeO_gW^1WpJ_deM4}s1VxZi^2}wyR(9;bfLg4Nq^bRnR z-bpQKMhWjNZfkQIsapGLSxyM5MWKHTBKKWudAqAKEX-;9iMy} z!IU}1B~vQ66lKYhA(1+v^FpvU(sJjz9Qa9~9KAn!`X3u^y+d_Qy7k?^QP#7kp0GP? zhP+c2KQ9G(2{-`FWwva&59&KDr;}BX<@fTS*&}-* z24WkFh|`ZdPin_ceeJ5;&ADeK=54P^;(cFj+ipZ@mF>RtaW$>_4sv=;%`h}TFC-oF z=oYA}=PHF+PQl}cYTxJ`4V^rFj{x}tJXp*RtkYx5{lz1Sd5)Iy zIruT#D_=X^9IGH2*8Rmq$a?xtP{HpmM1?HbQf^Y;`;ALx+9M;&=}ipXxj6`5#;Fiw zikFwROXj42Z?d~=-(_;M2E!VG2!E$R1h;T{HO+l;c?Sexmx$!ocHD7e+dJf|`q6IF zz2i$3>E?s4Oy+IhlXK07%3Pglr=yRJtT^<=apVue7*;0ZJ_!-2v3M47Vam5&HzAZk z_6&K1(x4nz1Bsu9)+kPQWu+&DIT(8re)ap$ZH72yp2sb@2|^-WRF;FvnlPMfLkMNb z6VB50%yne#-3l)dH6fPXXk2S(xvH zL6TUFO6?Acim2AtD#O)@78&6wnPXGR{>B1`I8vOkat;B~j~u1e7Y=9Orim3t1~OR( z61ca3T$1FI)Wl}ST-;2%P4P!&BdtVw($2%x@RuifWrBaDnyE_%DLn`|`)ewEZi{_+ zA~2Vg(Nb0Pe7_c$j!p_0P``pp+){4`pqX=&sK z*3uPP9i)lNX*Q*Ja#maBihFcvQM!vRKaVh=^LBqwP{T025t}u%0dpQe);}NQHQu7T zZt*{>5cCQz`Hn*Nv+$d8RS+cHRHl$B0B7@<;%#NPLM$~0@e@(PhxZYwhf@UR^=z%Q zvQ$xYi{Zp7_9L)liYZ$l-6cjlfX`h~h&$39>C%4ss^MUQU!?Uk?yWEJ@};6KAv&g) zT9dSPQf&TTqjc~u`Jt~_9|-1D?XUiUxc(zCv!&HSSBa*m*ml4B9C{uT&=XkV`{=i$ zbv}UA#!N$Ua`jU1!gN4v>1y*08hHFH1zWLft|5Cs47@T?!P7hSkPPx@k_bPOZEJ|S z=QEoD=OAy4>Q&we%fr+r-+M-u4TUSD*JS{1EQ2$(O41=lI#xKr8C@|5Rf^52R%BqX zL)emfeMP*db@|DICc7yoj{^OT>*0y-Np#D_$PhkJsn_N*bAZtXJ?p+HpZT@(dJETG zYajfHQ24&)-)_Vy9pnDB;VEv{T-%pfO+JrjIC*clQVvC)Ld7e4nL6Ea789r%tcLI1 z(B}amzDX)PY<-h(^R5t|IsVNSemx_o3qA1Cr|SKn2|Vft!9ak6asD9Q0J0zDr-fT0 z1MQHX8JZjVKA_a7asxt+|UX3 z{m7jOuoWF-{-K#UsD0TZ1yUhEkbB+`l}N*|e&(+tN!SUXr0`u_2u^4Qd-JYKRiAk5 z3v!462uLL{P$zafaFt%zOn&qHF$Z-tSIOPi?@3RvPdK`a66Qr)s;RZ^R?-mq-RFs6 zXRKs;l+2pVLsx<7pfSiBQYZP#Dd55dD{m<11e5)=VUt#1{M{R#qup_G7@YS&2RrPC z%YGoSY`>TtTeJG;4?gK2K+6U^X~?c_Wj-%6`a=g;Tvkc?zWGCmtf%S@`64rX6z(mb z5j8f2vchgRu=Gg5JYvRI0fu1$Pf@*L=A$E#&G!=4@{2U^VUadoKz~adEW>0Q5r~JQ z)E4Jg5Lq(VBy<58x5W_y%tFs(?aKkRp^+{*=i$pAotHlV%p>j$%Xi=_ezaBQ=rr?Y z$=bp3T*Q&tA5Rz!l!MBzcYf|sce-=XyZm~Kv5W1wdH!U45FjiFy-X@>5U?nsy7!Y} zW%9mM50vqFeYX>@O7g`~7+oU}WrwjraQ_<6qf7+-CSA|46h`Ow;a8termOPxAM=Gj z-p50vRrml$jr5IN$)c@(fZ^5sJn)}Ee-g--=iqReMc5U4jnuhbEK6EOPTNzsII$!; zU!uhfC?sw(uBDIm+#ya(icFN>VPJc$aLVGIs9 ziAwppq5a2daHr>>7X8dOG@I|`c~PuVn^t?$z&wdFn8zde7la^kkR$v?E^B=k^HG`Gbgs92WhGooz9pGtr*l^bc~$-7E35k-#>M-60p z^0FnHtE_FKN5s-0hckCi|CSaLHGtHz6|Fyr3%nOfb!2N&TX!5CGv z;3Q8%B?uL7>vVJsSxO!(NmqBC%6IU1Ht{JW_RDf(ijfsWeV{HC zBwW$F?D3^pFx+DJ_}n|xa%o+b$i9DWGQXbqTf%`k2!Dp~x{8p{^gs*}jQjgvbE8yG zzQHEZ^DFw9%x0@#TGgc>O8CFq-P{2kW>wm#wsr*42EkeTO}U>tsT!(jff2?Y;pCek z!brO(0$fR{z4}E^Yat@f%7UuRXJQU7zXk@>D=%K(+BcSxH8pME4sx?dBB-+@SfG2~ zL+MkzC3t5#`s;2B=i$P%#RYKGcoqB``~l#B>5#OG^B+4$?%lCPZBCNE>)EX!?L4w( z>*e-S$e@DUg@=!oUj+N;x(wGbmUi8;iEap<@qj3ME3%ntFyytOlJ7bZZi|}vTJID_ zq|dzpVHuVzi~1jJpH9_Znau7~Jx1>@*c;R>4u^Jk&M~CfHD^u+wDY;O<~xRzxh^4RRnPEVr? z72^lsvlelCH?+yBes!S@qSR)Qfy7ILY5(cSIw5%sGmU{EJ8Oc8HPO5}sKsj#;|Ozn z%cYy6@~qhC&Q#Wp>w4}~J=zr#^+suPP5d;8Auaam3I%#cC;HgMwcKef z+Bsn1c&srmI_D?7w=)xp1+j6QImwttv`2p%cl^3Ke2c?vw=10pcb?Ijafz|Hq7 z*2zCoDfR;ZC`?^h;W>40nvr59#HRlY^Ga24Xd!>N)ywRLj3boJhSf`K3Qum>hx1_w zc`2Q+rfnDSe`oWZ?({)NijdN`njw-nUe>p?sN)N)#ciuXZp)9-kUt*R($fE;nKTUy z+sl45iFYt9H0}JqX@JQ4qV(%Jve?1bD#(`eqlM`lF^N+L&6{REd4DF}0)uX)S3MS* z)qw=p&*M|0Chh%`wVwXG1EdC$c8E)Vs~Hf})GATyx;yZVpl!j*{6=eaC_-w-N456N zLDu{@d3pKT+CGQE{}v1)v$;L19)dZiZ7$V6F0i*aL#=A-*M2+kjIl{9EX>_?_6y4c zJ_kkmY@+L@J%UP$4aDPac5m}bEa(ku#zkHiu5Dih`4vnU0MGw@@|m)ai=P_v%5NUh z0?(c|SWsD1$$)gJ8QA10=E+iHA_!E^cu1E>GOY|L@ly aKGfDfJej$Wul)hQ5A`QH%4Leku>S*$Yp2Kn literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2-3.png b/src/qt/res/icons/transaction2-3.png new file mode 100644 index 0000000000000000000000000000000000000000..04bb8705934113cae9eec7eeafd913b82b179f2f GIT binary patch literal 41447 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 z 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
      8U26Zh9e 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 G#Qy_oqAW-N literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2-5.png b/src/qt/res/icons/transaction2-5.png new file mode 100644 index 0000000000000000000000000000000000000000..46ae04e6c31579940f9cc6a8cf187e278bea421c GIT binary patch literal 38296 zcmce6^;cA1)c(wn4&6hSNJ+PJOLs|kw{*8OlF}feh%^F�=e~(lxYnHv?Zj-}S!# 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2-6.png b/src/qt/res/icons/transaction2-6.png new file mode 100644 index 0000000000000000000000000000000000000000..9736999288b43c12d7994dd37a1245e5c419c76d GIT binary patch literal 35800 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 AEdT%j literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2-7.png b/src/qt/res/icons/transaction2-7.png new file mode 100644 index 0000000000000000000000000000000000000000..fa5541f004119c46fa1938425b7f0be8d4ce27b2 GIT binary patch literal 33511 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 Yu#MFVi!~gF8u0YIQP7aDl7)u-A3rquzW@LL literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2-8.png b/src/qt/res/icons/transaction2-8.png new file mode 100644 index 0000000000000000000000000000000000000000..5dff9153558bb371abdd4510be18b34e9d66afc3 GIT binary patch literal 29893 zcmd>lg;!Kx)bOwA^;t??GaHZSa5wTz7HdlIV}nltA7 zPuxeJpx;=pY1*%lGMq!`-n`lSS9Q^t7r5}3pM=l!hvU!BPopXSKf0J+7W#M};@E35 z6gQFfLE`RLq3qYv3xN+0GO$DZ{4DFlD^T6(_y|y#BZ%;yk~>{oqy!3^LNJc!gns)! zE{13LD)0XVUi~FD#q8yzPND-D7h&y!Aovg50OIzSpJwVW3fkmA)(V1$~hgDrP<${2LJWEd%atEC5c#fUeBB=#OV=J$i^aI!Bqvsc!#j_kP@flDO474fnk?!o?|KhDk*aN`>qm0v4wK-UOx3&k!Qk z72S+5`0f0VCX&TmpnKVx?xxV?%jefT0wIScgiPBQW1Ma$1gwWdSs@!c;t?(jKvkL< z^U}eOdE*Jtl5FZ#`?d_m6*&UNU|sIkt=^RQyZG#lj{eTPN%842nOr?g!?*&b;(M7D z);!H|y44X49KA{D){u^eIp@L`%X&|z72Il(tKkT7@YFvLfY>vtc>#dw-#Bf-=`cOW z+8z|}B8fu2? zcV{j|^kxj?Da}OeS?+v(&6G`u*^9Yp3ElE>AEnnilQd05zth#Z=sgGN&C=5+mCmIt z@{Q81nqwt0kiR{E!6KM8+Xa*R3siDbC{&sL)2X6|o03f-^g^j_lGQCM-4fTYV^6GJ zaRO`sI&%5+qz`P-y&(hOCb?oN@2i~0v2IMvDn#3w;5Do&!{)7bN?z&+fZQQU z(A9QAHgfV0()lq88_ko3qk~kOobfA&-* zeLey#bGG;rM|Si`G#Lk79;QUqRov2};PDJG2F^Lm76d3ENJXT+V@4720GDqKb~PzW z$uu#f2uipzRWIvIFfX2VYV_7P&Lj{?9b>p-%>Zq{6n#x&t? zw?DPRg;8qOrD0Fk_DaE;=c+?`Q7T5tQ$kF$h^Jg^qJam-mqQHi?Zy7{$i-5J|3u~$ zpeRF(MkwKRJRLJ7JAiJyaM1PB`L;nu7!Lx7wY7R@V#FhC$KxWKP)Zth zyGRNcB@2_`AZn)mDQP7hSu3oIkfVR851R#$`w)Sj?M*BP`0J@DIOjkyU%(|COfQkS z;r2L=O%IdQ(wkQ5{A7twdT@+*20X5Tt$qON^CC8YW7wn9Od@pE3csiFbVE2%3YpS9 zxVU^TMyK#_!=YEU#z4i0@DOHvd@N^jt%H_QjQa`Aaytt2Y?MG7gNJXNC-~f#gylp* zLYs0S_4VkOOZkgyW|!V4p1nYBzgFP|v{xI?!Q3@?Efi526lGoxW69@4o zzVEuDTedCb`Ju<1jAq6^X|rE#rYrY#+A*6|5?oO|<4{mzxRD{Ft5V>R|8vpH4v`La znXAH)v85+bYLAB^^g8vRNwf*w47h!Qz)o@S_UNUD)yiw;7y+aX{kr}{&MziMc1KQ}h$v5Z zFJ2}-D=tz`QqYiJwg9&0&k9|_Jo4Oen*jc(E3edROBUpKQ%uUMKwZ`L!KM*EOYp<( zL0HdVrMJ5(oJJv~o>R7uj~XN*1Sa6eU9HqwALD)n=QfhC@zarbDNKc@+9(=b`$?DP zJ&FZZN3=r@{{Yum&b0+9rXD-tM35WKN4`>c-YcX$0#`$R1wY;lk(|LP{lY3Y6}oNL zID^4%&8g)7$Z)fPOCk)g`N#yLUbN}Do)&KL*K1gsTDX!+-c|mqHD$^EFgK-5g*ZY{ zf_D@6u)GM>PhqtHMrDqeuorBhPY`wlCw+6*lbs@+3Pfd#>5^~+#0wcczrQi(TqYP#8;-ohH6wFNjx<%?S-sf4}7HdQ{5=8iYQR|q-mVe@!q7| zv)8cxCH!z3K{#O>daSn8_Yko8=`PrqW>bc~cU?_L5#30X_0N%JlJ%ZVDL7zfCIK$q zLtKW`NO$+1Zn59VkpB>V{DWTlT`zCUPvqxs3O|)B@@+P+U!PC^`euw)>%Mv`+LDbF z@m|sPv2LCgdZue?jPxR&EtZsxrQQg|jU?Lo+mexp-DBev<*>AN+>xbRIA zpqT1s3Q-n-w5mRmfd$F)?ZJQI1r>RK(ykH~6YOTzGmQuvNw7nfA-|Pj_ts?T{SJGI z!(^$9f5O19FTmA^#O^GUI6uNoxCfE(oE$5i+6orvkd-*soV|BPpqV#cGBR&rha<^} zF02k!9`97vh%_o4znaQR>STjO{Ak9}Go2iInOK3S4ht88(UTQ~Aq$8!xUKO<$;n{c zta9m?_%7%R9M#ovhZaz@HJnP%IQ<3!1h1!u&8KG*Wg+f-D%d1caJ8XY=Lw5PZq7&gyQpRhNp*mSJe zbk;3a9XiwWR#2}Wh2U4H)^`-exS57TY2kXAPJU#NE9qyenb<$DIb_|Rg_1oTZaZoK#`nptyX8`> zz3Rs{+)MK|791EiemnCuhd5D0{7!V{X7S}~U!Ufh>izansfm{$3h+CHug@_M1u{AC-pg01^^zo_n7ENfT;lQMEtyrLo*?Ka)b`%tK1n0UOYZQE^0p zyh99@NM}0fP)s%NY86rlJFui((J3-g>y~ySs5;bcf7$MIEiXH8Gmu0BKN$sjqrhD4 zLx;QCBDB1N0x4q|K*~`zp$w34=-wGzh=l1R@uG!QV|pp%Kf90v^2FQgc#Beqo#%i1 zyhbpfX=$bwQW&;Ip2?Ru)O!hoai0`bSlrzVuC+U=ZgrdI}O z`?nnK2iLam8C0-fY^8t$Q9NUyY(7dsk&;am?=iWZ3Z*}a_Zi$cS@1WlLztI(c?8O= z47Gv7WUTv1g+#_XI(+PSU|uW>J7`dE3j4)knxaXnT_lZ{iy%wCzI9-HRy0is0c$2? zmOy_(4Wov&qK}fn@p+@2qPg(=`eoa*Yk?p(>XtE<84E9H>`0L@Lr(tS<43XTHo?d6 zbXI72Efde}dlkT=y|7e*+?`2b*Z08SR@0yT)p(cy2-BeXpU1Qi6J<6-gR?xUkSb0%9xk^8XNt_CFRg$o^;xNtYAeu z{Pu4^_F=e7B}h_yLPYoNNzA^UdAuP$i$*Ur#zo`BWWj=fvpVB$bU5*mvRTt1cGxAc=w z@pUduq6Y z?SCp(LLtibu=$R#59s=d4&lzex4zF2#o0ZBtGcddfAjJJ&%W$e$Q=Je?$Pbo4PH-t zW(uDL=RM)fPcQ&P^dPOC_ge!ym6k$PILjIqKiNe;C3U-A>BHugD^KYcWmDBl>J$

      zUI7@Mt;H63JPx!mQMU`PW=iJNOQd8XNMzv-{X1;kEA^}d3Fl47n6V*UVGgl+v7Dwn zqtA|-+Df%kX3c(FCD*B`v-Fzy9sfUO1rE4lJTks`D2M7de0lpf`ld;$<&2cj^599p z7mAY}WwQ~%GF(gTWsM~ zn6>v$N{2hAtJQjRDUp>$go!EA;&6_J8IWr)SkCb@#^cuuo=u)|ff$^tYyCZDm-vk5 zlvpuBFiI>&roRggQa8tK!D4R8|lTRei{`mDFgFG@mRozFp;!P!c~5RAqVgR zI%uHK6BdJ^$Jd}J1iP>M{MkFc=e=AaZd$Zd&7QCgNC1kN$+DQoK_dVX6IMIzRlL2z zJ+DlbP@+#4KHmph-c6vdHrECxqkfNp8mr9(f5s<+6(usVlT>wzqX{1?%287BhA3^Z zlMvX3_@l_SA-1vbWXyxm01UV{E`T6~0Vm8&Oi~>|?^$y6u@|f_J>k*wRMWk-uh{Et zC0DwE2K1KF%4b?;*#e*i348)J_pF_Yg^pv5*Ekh)W(hr}&hKK>${jg;DJ!Fb8k^-mc;pVRz(wc>!T z^tQURsJ-4T;|?}bhzsoF7H<37jvBd862pa;8O z3(Kog>Lrz00^3q`8wN!1k?NG;mo}s9MdL_gbe=ez6Uv#iI1LT$1p9E3kQk%VFonN0~Yz{w?e!bo;KQ`kQ zl!9H!y7=y=^92J1emRG-(%QO-l>sm6p}OsLyS!@u%&A8cT2R%^F&B%zuFZO8&c z@+D~cEc8DOuG<9BPkF52SmS*hYYhw7-7jmcY*PwN)2G2fI}$VCyGXx@#vkz{%B3JJ zDCBG%M_(VktbY^W<@(;u!k5yKp2aYX$m|fsZ4gB((v1I&FJIE9&AtsWAFo~W zT5dDo^ueDQKMJ4?Sfqc(JqGB+Ue~5HLs%+q;NU%MdWO=h5(Bi$n z_6ss&5Jtq|S#Zph&IHC{N{3Jl8uI7&_f@(8hb=h5U7r=X>tftivTBg<EAYE#A zcT2iWDO?_=7O8KiGdl_?fgWAVqCWYqk{{>nxJdC|P7SdM>wI%@!-?v%^sG+9SPUln z8XXAKYzM!Ojd#9jrW^CS`Durpx-7MRT6dcYyA1yzDR?~8to2m)t`~i7 zb-Q0A_#>vEI=iL>C=_8NX+qEwkC;^}C1C4|(&NnUi+*mS!p7-@yL?XbTzRU3LF)y} zg&gd9@pURZojhvSGXYpPEnU0GKW`bDwQ;lklht9lzMM{~-}#mo-4$C=FR4Eg>Qc$` z)F~pwgc-y#S=gA-R0p(otS={Nw%iO|$HL^?J%ZG(9(TnGf>2R_cXYMp=&5w|% zM-}7>5dDwRbvu?4vwmm80(WaElY0Rdvo+WC{KikInY6}A5#@=U?C~9v`dKW)MTp#C z&LNvfQa|;gU118wUF3o3!82dV51ipF;B59lj_%vc0Sl?b6Wnx0aOvq#T>PbrKzWi( z$_|!P*M_BP+nK<)?)?SzK;`(?tk5W%#4T%K4138--H*ThBe&UvpZR@YqJ)`I{-d{kL}69&@&Zy8PP7l3=s`@e+EGu*xqYm6lL>E8f4m z@1pNfh5i1~4TBJE5!Xpm6yeBGt_Ih)bT);u%l7X5;4_B>ll}egB8AEk%@kxmsy#r_ z`?zF38fjC3-pjw3+8i_;tr%)Ngbx0c6sc`&Gn2`57YltM2hdixSK#V74$YD_ezSZ=}1Hyrsj#ziP)9&%gKoAZQECRtWOF^ z7KC05J8t2umXsp$9gyMV8V+yVHiy5k8r^PV;vT39=Rv$YeaiP&e#rHNww#2MC)aw} z$OhtW%1jYXu|ioHm*=|+|Af&KuYv;I1gyjT1t*xZELpHr%72g zxax`3m0OvPjW=Rb2RlWU$XxiQh^vhtbpYkYgo|>Byahh11JuQ`Zy7QqDQYI@0Iwkq zXMkl~7*SqKHMes+Zjnm9ntwk4Tg)C8=k%@%6#x0x&6LPG$b{6zjG92CqNM4=%G0rb z1s|I4g&Xf8?*l!z(YUYn9fh98`*G&A>6XT~FSO zoHE{~-OpLwGX|@nEVxqlVlHE}aL28MS})8}`&2v*)yl zFxLrfG=>z?>(x$;E;bP2AfvN`1KS-!;X2{*f%EI8vVe8cqni78?>w|>XPIVKE9!Um z!e`l=sRdS5V+Vxmf_&LYg-xW=`RzMu>;~Jx`OD6VvW1JI(Dg~|^N}mlvDbnT&M8AJ zTnxlYU=Nq_^eGwcmc3+xVS$V2)KXMwe2e4q1>^Tfj>6sv@{;*V5S{ z5Y6~QL&XlbSG{@HetN%;!&okROcmT5wCi@iG+xGN%<;wqI01@*P*NI!C*J>cwl+ZE zgE~VJLL@!T>xjj$V}J-y?n^Pve+DjJB7r)#!IoD+av*dpWJO$H-F&6eqh9M{F3+Xe zr;-*_g8B$Kxx9!}aDM&54bd)oPg;gV(;~Oec#*d<>!j6{pgR01>7xSM!95;Jk!|k( z>jjX`YrCs3lMhakJx+2#jobc#aHX+O4@F&kp55UWT_169UAS~lp}3QY??}MPEx~$U zw7ToqY}UHi2(Dc-o6}&eL#z>zGN=_w#ZUj3{!&;NOY6}U_K6Xx(j`0iyHV-#O8#d( z`Z~~Szg|CMk?!G(V$$IfWGG9Rg(? z{}%4$M}xNIU3^C0fMx8S1`5MWI}kACY8Xu{v(u!~7d-OtyvM(uD$*2l!yN&IBI!8{ z1QBF-ML#Fl>o2;0Zv94D87wU~nNx>`te*yQPB7`HT&3zCB`RpPT6JLQlP?2b!|IWb z5JMs3zdg?%@W+%&gZpAg;o<2+yc0MW9ypu+m^ZU>^h5nuESMt1c37;nDR{fsZT4=F z;+4xJX>q)E70Hi2rw6a>sA@Nie#}*H$skHxZ1h6fiYSmac=(2I_9F8s^u4(#_kZ^IqWunw>XnVw4aTSUzp-87Xjf)zOW1l zYu5k7CJZYZaga=F{aSmx$<2J!coC3J0-eOBxqJXl!fk@JqvFi?Ej#4S*70-0Z)0Bt zvSE{vmzE4bEEvNGhUO|u?+jkPxN~WplBAT8mxPNu$5cXpY^@4w=f4b|OOPlaSHC_= z|HS7{71=y0*BrdfRX6*hnx30X_*J|R&Z^O86=OqaVglL|)E!s~Kd8c(DJBZIBuN+Z z9=sF6NL?RKq+Y14YH$||lp^hS{eqq|X`g&O(^X%v|8tIShc5H3{4al}Rj+gxddg&~ z0?+BWn-;Uci~M%Ap7(%jOw(H3E&1lDfu$J@6#LkIjx!Fa8Ar!Gz-wKR*L=`~v5v4l zE*oStA>tT?{yirFJjDJG$$y4p9b}6&I`Ws4KjAa^Vkf6T8utkQ^wN;LX4^&YePi3X zefg=h$&kCgi`%&B_UXB!ZH%?N#|!)AUMF7?!;k2y)1O)B`~J8)cm>*r-Fl|<8{SQK zU2+VH=tdu}D4`Dn;S<^+T%VaAr8R*ER%C-H8!!Ol>#>q5G~bx&5_>C((R-1;uh-~@ zEn-OR$NtTj8u?2Pw4sTez`^3Iyf*sAo9YiD6xWxd-Il@A{Ij}|?nTCTnTWx8`I{Y% zg|>I@KFWXL+lG{jV13ypPHD!|S3)!&_xsr`9*2vQu5VZHqPQp@xP?u4a2=VJpGRrz z^CjhMf|xE%D^6B`s)>{mcK6@O(%{R7)bRz{$=5EBL*7VY-+2aRL#ydx7plRG^<{Mb z_UcdBwUxPjwGJN7q2yt^9^OmdF{>Y7E|+Uz)%#NDe}gn&ypZ^Kh_}_~uBr!m-!TC_ zJ(ph~@o4Q!FEZZw5QbHRe%36|@|~!Xuaoz(!Ai?7n*p9}#315fz!sDE_=OEbVU$u+ zVD|d7R{YKFQg{=(Dq1?SfO`E)RMvA7p>}5SAIFD;^vRvso|Fyg0EwvER;=HD7uLMN z*F2yzhkWY->jc)eZDp3{_M#WRrI+Q$XBMt}=8rc!VzIPib7$989mD%#U9jc`}Y zU}~I?QeOJVT@H(*Z)V)Wq2k#3`=REKwaq)tK|FIBvW*|8o=`Rr*ER;q^FFYd{kFkg z$F;hOJELM%@+>dM?6NPb@C7(5gA_DK`KN47&ri?rC+*~kpXR4u7@NmuL()%$OkIa6 zy`E1*usc59LTy^o?8#mCr0t{M*P+n^ZA%L6Ut|)i>^^wQZmVUQ2XTw z@j7r$Y)*pN8AQd{C$+louf5e=h5KsZWj%L8MI66aQF~xrwm9*Vi8!XU6dPz!nC*78 zh6#p$-PPS$*uT!0FIReYErWWiTf2JL6Q+2KAAIR|#Axy-| zvtM0l>wsBL=h});mnfUt{wjKIVg|h z?0jTur{?+QpeBORd&@tlk+|DIpCB^ZD5g1@zt_`6Kmk%QFA zid)Qe4)54;y%?o8olvJ!RoBGh?E}>?0T2r=BzwFzEmze`DT zboc$?Zu580DWSQyAHp$#jZMpa`Bs;4zV#+$cl0}*HL^`hGkSme=Z%IVCvWuh^QG&4 z0yd$V@3puH-FV+id^+u*qQt|~dh;ShV0YwLd49g#F$+*0Wj7O2#>d0D@aq9fPQf01 zW^5t@ckv6LTcqy6+IQgOdGs$MbY>LYbiEl}{`y-Nl?s(wIve)ad}H-z211$S%eRb8 z1*~g)m)6?-@qGZ@^qW8dwICUA+Ran~aj-ULF#nD&{(;G)Q8K5a5fS8tp8GfQ2c+Gq zpdEko+s#p*WZ_NV_%H{@G-k(IxT`J$ak}2a5Dg(($F}S{=a-*BUxRq{i$UlUxo_F~ zS1Pz>X^$exUh5gBe8aJVwX!*P)?m(G3pcn{JO#)wABn34xkMBTfT4KT!=GfXk3Sj2 zEOA>C#PjJt*737zE;xy$bhQ){chc9&qVo>yD8YB{sQab?JAOeux5f_R;^Ys9vM)bD zw(zhCx%QJ(ex=mI7RZGVIp4S3RItgTpoaa#tE_^!VWfDux0e@r-`6B8YXt6PzQe z!UjfI{{x>wK_l~vZBGSeLU$moRs-po9r(UUxAZhZtA7#_O@7q z8c(_TWP*0d{3q1a7~%IGNle;DRDe4A)%rjVV7`L68mMbLV>b63E zgGHSia5}2VGVwU>eQ@JBJO$x#t6_7K)L~sr+Z~h_e8EM;3Ehc5y%W<8gm!;V!;2aP z@i=k`SFj!oiZ%pf97P8u6{cTENHU4LE!k3HvZzk%`)}$%k5!?MCK()lz3ps`{?F)R z9=gmDF7hsfRij!HDsgVx&q{{y$_E$gSEx+KTn=o6FeN)~+ILIYUH8f6rz@}1OCNzD zP!hkF%n6TT!k~V!LtET`Qy^oHjC7vS9eAL9X5P^dPRJ%zmZ$&YPGa41!GKZ#jIl5{ zJ1FRxSIXI@F=*C_1A04~>$cH6{ml8JNmV|H_KR##4+80kCotJWHdP&^Y z;$5;M!1H9U`HtPi-BU~g_zyJuqsTyy=xsI7J@sPY?VkHvGr7e;l5;ko(!u0Y8!#3) z#n`9T4!@#d3u_`%@{)$$a=OTKSaZSn%(EKthIC_?6r8-oB3s3-(op=<++MNbG_6!#keS!pW+gN0|ubI+x%CTW_{x}*e#YhU^V8! z-`=Agimmvfnz;|V61Dr^D4|KX9MNR=SzTB5fv#CHxvW|H=RQQpYNAZ2#3A5o3u7b& zAuHMFa07vyJ`szvJulJ4yiE^~Dil~32$Q?>0ZNeGAD>wHu@vMdF1{{hbsvHh!>&Ld zS09$5+Q_LZZ+)QK1Z=Pz>Q+)~#@!x* z%~D@Sz(M~`whr73T#|}C8#3K9BHGM^ zNlBOCdC;}i)ZX9E=#D~I-8V3^S|W2BT?sSM`yvLEQ|wdhi!fue`%0hb9HzPg1y~cY z42z*vitU8}gZe*wLtYER?$==n-N1JB)8Jp2YV~QILDmIggO-JTGae$N$)j7gC;CDx zXa?ls1q}>O65&jVl72EVnU#twnNer#`R2!ELXE>>-E}i4pZI+y@g$a#788uq{;LWU z7o;JQOtJP1ao0BAdgiqyFWp4?Oi+>wG1>K<9XR`=tB;qofv~|oW$DzzKU^p%K^RA zBH0{o{=O^gz0XuQ)$)CRX5LmWXEc%`u@E8PL4AH(7!^N9P0EZP54F6}A%U)mu`7hE z;J7>?@Oo$4OC<2w*eVY2{&Plt-l=%$?^l#g(r);3onNK14GjqaWvh!jra`C?-hyn* zm%ohHeR!`b_qb=dA6qgL<}0^6l`Kh~~8IpobPhMjppm57jr? za3&9o$eUr8iOJtx!S5e9;f*=M^^P4w1Drk}ZeSEKHfh7v(bH2X?vBFG1z~U6+}^YL zB#vN4a?$-~a`IYdlgU^_Y2o)#TrQMXg2pSA!RGh+)nZpnbhuMFAzBAZLYVF4m*2R- zEnA69dQ9(B`7v_f9T8ijH3!rnV33v2Cer|t8FCr zCr;BSFxZ7Kt1B;%if>13a=3GLEZHO7uo%ZpFfSYYndqXyncU1vb|Dg48s#so{jNmq z2C0%aW&5tRG>e9go3(7Rlctw48N`7>w~|;!n(X^*E?(UiF7XE$z(GsNvmrfP4V+Qv-Zm@ zyB?1bLmaeQ{h!!3X*H&uT*}pj>wyjzxyKp{epPSDSY+@#lQ1Okr(G&~ry4k;pziyG z{!Gk;siZKS7tr+|N7jLCDUkP{hIQCc&6hi<`9MsM1~x9h1c4X78a@SZuUZa@)6gHS z33fMY9QcvvThzh^=umg{w3SaIPb=bU#=qeFxxVkaa&3NSuo#&oeIkaUNX ziuxhoTDRM`zH7w6d=U|D6hHD~B&#}_3K2$Ge(_XC+EQLX)2h5w#dK#~jV{du3Y;xj zoc2n&hA8Kc*MF#|d3R71YJNs~goAdOu)nNzlKY|?dUs+%>S(8{>i(Ao$uwVuFzh_4 zUey)%2Wb!F`cZ`(&X_}u-30ZG!Ziw;J07jYbjBsB38y|JGhpW6ITNpl_nmOr<@E}3 z^=L3@RxAP9lI81s6dK>4g=rzY8&&P8qBl)rU`?2jTYAxd$jDnvjXheqDzeTy$x| z#1~4-<_?O8)o~xU+vmlIY3>Nv`JaAXGcjH&1Yjn#;{|M zRuHH*`ON+^SK`3meEizu_J+MjynUiR#x0u-*G)^EL*ii7JJXr^I-Si zv`^ukzh9Xz;u`E_({#Z4T$ft!`#~wNe^V=|XtQY4hr0$yrq(-Cg@k z3n);gW-b&zV1SEGYOBcvViDI%Jwhh4K0yG3@hfkW{l?lyj}D#-wW<@iXW9`m(%PCj zfG5@=b+_5-QHdr9{(xatgp2eSaDw|a#jo-e!@l$i1ZQCcWW=`*#?{Bg zA%jkABFCuSXReZLp~PwYvr{9fMDUfRH%N_L!Sovsn(|onhh2f25=aWk=rl;9DPbpI z4=xI6?-f^r%cuGCO?D|@htiV`WelbMiHv}&b^Db?623ciaWl{~?d#eqcS$w2yuEec z%74S-?_~2P$tL)elrs2@zU1JKjY-H>o)?yC*~W0H*x*KoHMZx^IMR#$ z`nb8d952BPrrP~gU^IcwY|5vtPX%zkc2W^IpZuohdePua-Q)E--@wylr=tcZViMb- z**KvwM^{d;IaG?8#!vy_!Hjw2jlVVohQ_wtq6+|R(uw~r#5SVq+JfODdgWYwyJ zps&7-u&)MWsd``%PFCR;S&yi*v7AdQE-rVI2$Q2(kPDz?uS>!2h(l@wsn#n!e8*M1 z-sLBHY&g|Sa0FU){a^up+f&eufxTt)NOw%a*i1Y>b|q~XIl6HW)mExc84lYw3pU5e zG*O)zHJB0Kyk*~&n6z)yz?PSLyW5lFvMTsnQf}5@Vgev+LJI^Jk;VuB1K6GM0G2q* z6=Gv7p8ywMcj*E0@x&_@0C~4d$JA$DI>}hb1y)>=G&sH>m$8j;S@K^EzuS<%Dr5fd z#?Kq<_Cwp;Xf?A=_Zt`Pdp**D895`K3*4_hSgW_2rd`0g!B{t(ShgR&VY`Y6AG@$ zRTtSHaW2JiY_;PGaoCm>Za+g8CfFBUV$6FE(4y_f3$X`6MCElra>FV)i@PM7OCkcM0a^)SPFTCwJgs$E&4^^oTPuvUa#IK!bDxrYh&Rze0uEb zMcDD87dnC3r|Yb22|zhu9RtM6Uy-y+3Mbx{1K&j(kBs-xj_W{OJ=fpBim^M9mLqFl0l3C}smw zR>I(utG7?TP0K?z@Y1i~u&B2U|M>ZjvqDW`2dq9=fWm}qLeOg?XKdun6O?)yPb|Gy z@MQ)NTSJvZtge_z)^LY}*3)GZj(V->-(T-8b+X20&t`dD8h3A6viNt|Tjypr2hLz% zQMd*xrK4(6+}2-fOqGHZanCxy60%$_O7weoHz|+Fgclo@+5zAXL<4&)JQx}~+BMjX zzaxsQH5ss?V(pOqu8gjCIdVSB4#rnMlI=bSo%KaXe954mxTiX0?JY`7QXhR%Rg3yv zTuRHD4OnjX9KWvJ-I*X?a-<#oGjS`#l{;m)C9EEy3zjDWToleX>fYb%{Gnxn1uNEb z#hmZ!2QW;qDRCw}VaAIxvKw|$lgy~c;z63w0m{=lPI^P@Ua-U5TfU2Y1RK3nV7x!J zVx@*hw3hit)|b{y8a|_R73(((-V5?^%VLjP4@5h$3FvayxY2}c#nmURw(i

      Iq}8 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/transaction2.xcf b/src/qt/res/icons/transaction2.xcf new file mode 100644 index 0000000000000000000000000000000000000000..a33ac16de262c8183e7f4fd25d516ab684747d02 GIT binary patch literal 1650102 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png index 0f5fea3a8456c73a27c2f0f3d01b3bc96aee389d..1af47d87511518767bbf4fe4a4dedf99214ca2bd 100644 GIT binary patch literal 17367 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 literal 2129 zcmV-X2(I^uP)f>pGz4+B+pluk%!6D4ANn2;*p5cZ+cC_-XFvuZnTx(Y$3A|ZrW=}Xjs z1TAcXRx6@j$l4{YbDzTp+i6~$+?!lGE^2?0<(qrYbDneme(t%?TSQg4nK6wHpwZkC zpwR&|np*-iI)FxVOMpfP&}eRY0h+=(NT<_lfX&93&8oUiMB0EhRc$LD-v*2UW2!nP zB4faqi2TD^dj>c&GBR>*-@bh|Y%EJb7TXg{r_*kBi6-;DNdaB{BgVv(^r)>ToO;`&ZrST0j6vr_+xa zW1a>&>J>mhP65N#+QYF}>;zD=0n8i$jvhT4xpwW^PF3v#K3=PeYK4frt*S?W1JP*o zk751IPJ&V>6h?r1!#b`P<(%_P;C|rKVg1c`4Q4W#&u|0Z{45^KWHO;+ogsjTd^xPc z<-{2Cwa`AM9gC_y9@gPBqARU>u?tD0_P}Y@r!_0WB>Q$a=H7%IG9R; zj^liOiPK{R;J3h05jn4_m#npyJkR@gPfySIbi@AsezRf2hW1D#vPMr7TPnKvf@JM7fKq`ih7gDHe;r>FMdY5~NVMyZd(eb87mv;o;$RlarHM zfvvz6;Qaw(`NSgPo{ck)TzX#Yk?X)8zFUI5XXZ^|>0Bda^0YqfkS^$8mE?A$4OsMK}*4jxC$yd4l zgG3_nlm7nxc_)4Xw*V2DSiO4nUxEZ)D;&pJs0ECx>UUzX*xv^S2j8^Tb^{Yt?7p4P z=U?vc?{BH*q@s+k0IGVaqoZTeKkS-vLPVYcz7IU7s?P)aMdYbsvA8B0jsCb|SkC;r z=kc>6pU)qvCW5Fc*=+V#z@t9FoQ+1KL6c>}h{xmK6OsOTF2ACxv4MesLghrI9}px5 zyc;^Y1=zcH?^I4Z+W>rV)v8rPeSLk={rmTi z2hIW1xdo`|ZT0j&i$^`r%k}m3wVG5aNBUB}kNPJgSzg6XuRn;e5*F7-%LKBn(2r?aJ zjJXrI96apsWV6{#Ko(d>X`*DD(lGfva4r&wJhN@vwnA@j?-RfetGKWtvfFjts*@`Q zKvmxf5{!t{H4n@tl}fb%Y2YJV|K(eO`+#m>FAzy25}#DnpE9>~cp|bhnM}?*v$U8; z0Bdbs-vqO1Zf<@O_~=45#bQxC&-)K^SGgvEuO^epmli5tdBp^6*2~%gf-Jok3I!b; z9DGwmen0JWQAEDty6($<UCtcf(G3~1QK}s#H-53*U1gNT)!jy-Z0=!;>t@C%3 zKlfF-*3%~{>aaEct*{QJMp~Zdoek@(0sK0wgDC-wF@fF$HxkB};m|%R2hnJBR8=p8 zb-0YY(bd&;%HM2ZW=u9TH#a{dB0mBGjSU*ac~wmqV?u3=s8DsE;PCM9ipj~zuZu`r zRoB;|q8jk3h$K&+K7FK?+iLxGib^({eMCgIt7<2uQQ2~#zzJ0y0@B;JZ?DU;+@kgh z4-E}%1in-j<3Vb$*?JaZ!0$vPCnATty1Fjb*#8_By;-_KDwS%9L?Y`w&)W!WEblQ` z53~WdQ<~7MMgbTFF01OFMdXYzX2e=M5{*XRSW++{Sh4_qq*AGskw|1!u~=LMV67d! zdiCmPrQd#|P&WboU%2W2W8{_qjSisE+!CPC0W_MMUV#4rIZ-5KWNQ<_00000NkvXX Hu0mjf+T;As From 0a92149e10654b6bac0a0625ad27e9e05e040141 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Aug 2014 15:02:23 -0600 Subject: [PATCH 027/555] add maximize window to coincontroldialog --- src/qt/coincontroldialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 4e4126a53..9f19d0872 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -26,7 +26,7 @@ QList CoinControlDialog::payAmounts; CCoinControl* CoinControlDialog::coinControl = new CCoinControl(); CoinControlDialog::CoinControlDialog(QWidget *parent) : - QDialog(parent), + QDialog(parent, Qt::WindowMaximizeButtonHint), ui(new Ui::CoinControlDialog), model(0) { From 57dd90236f9d42a755218864bada871b0158d634 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Aug 2014 22:05:16 -0600 Subject: [PATCH 028/555] Add web images --- src/qt/res/images/web images/bounties.png | Bin 0 -> 83736 bytes src/qt/res/images/web images/exchanges.png | Bin 0 -> 83439 bytes src/qt/res/images/web images/explorer.png | Bin 0 -> 87475 bytes src/qt/res/images/web images/information.png | Bin 0 -> 83544 bytes src/qt/res/images/web images/merchants.png | Bin 0 -> 82558 bytes src/qt/res/images/web images/news.png | Bin 0 -> 84485 bytes src/qt/res/images/web images/social.png | Bin 0 -> 85475 bytes src/qt/res/images/web images/team.png | Bin 0 -> 81743 bytes .../res/images/web images/technical details.png | Bin 0 -> 82801 bytes src/qt/res/images/web images/wallets.png | Bin 0 -> 83699 bytes 10 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/images/web images/bounties.png create mode 100644 src/qt/res/images/web images/exchanges.png create mode 100644 src/qt/res/images/web images/explorer.png create mode 100644 src/qt/res/images/web images/information.png create mode 100644 src/qt/res/images/web images/merchants.png create mode 100644 src/qt/res/images/web images/news.png create mode 100644 src/qt/res/images/web images/social.png create mode 100644 src/qt/res/images/web images/team.png create mode 100644 src/qt/res/images/web images/technical details.png create mode 100644 src/qt/res/images/web images/wallets.png diff --git a/src/qt/res/images/web images/bounties.png b/src/qt/res/images/web images/bounties.png new file mode 100644 index 0000000000000000000000000000000000000000..867fa3552c22df513bd1224ceae0edf9e5c03067 GIT binary patch literal 83736 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/exchanges.png b/src/qt/res/images/web images/exchanges.png new file mode 100644 index 0000000000000000000000000000000000000000..2362d64813cd071a8c801e455d828fdc16ecd532 GIT binary patch literal 83439 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.}>px$3>UxPIqO&iw5KT!av|WI_=P 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%0Anqs2T7A+6;vk#S5qH6$rJwR%?V?j+EY!+pV*R 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%0DL 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

      !gnbuHSuO(ywBt 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

      B7#&BgDxrfA((RINO3e} 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

      q{QX_R)67e# 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 P00000NkvXXu0mjfZD4jG literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/merchants.png b/src/qt/res/images/web images/merchants.png new file mode 100644 index 0000000000000000000000000000000000000000..46fc229ebed340ddc91e3e83b0134969a3558ace GIT binary patch literal 82558 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 z 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 Uf5=IE7XSbN07*qoM6N<$f==@RQUCw| literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/social.png b/src/qt/res/images/web images/social.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2379a261d53d60f332f84ee3c79339be2ee452 GIT binary patch literal 85475 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ΠT1SP%SQJFfo+h=)L}xQsOXg??_@xz$ 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/technical details.png b/src/qt/res/images/web images/technical details.png new file mode 100644 index 0000000000000000000000000000000000000000..6da0d5fd2747349744fdaaa6afcdd7a3da26c45d GIT binary patch literal 82801 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

      CK6?7G*f>9rN^5-Lvll{Zi#1>Vq72^l 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 A^Z)<= literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/wallets.png b/src/qt/res/images/web images/wallets.png new file mode 100644 index 0000000000000000000000000000000000000000..1d99da3e5d459c0a714375d39e1b33c84afd02da GIT binary patch literal 83699 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 O0000 Date: Tue, 26 Aug 2014 20:32:58 -0600 Subject: [PATCH 029/555] Stylesheet colors --- src/qt/bitcoingui.cpp | 16 +++---- src/qt/res/text/bg.jpg | Bin 0 -> 224971 bytes src/qt/res/text/style.qss | 96 +++++++++++++++++++------------------- 3 files changed, 57 insertions(+), 55 deletions(-) create mode 100644 src/qt/res/text/bg.jpg diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 829305d9a..5e2653744 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -98,15 +98,15 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Create the toolbars createToolBars(); - // Create the tray icon (or setup the dock icon) + // Create the tray icon (or setup the dock icon) abffaaassffffa createTrayIcon(); QPalette p; - p.setColor(QPalette::Window, QColor(0x22, 0x22, 0x22)); - p.setColor(QPalette::Button, QColor(0x22, 0x22, 0x22)); - p.setColor(QPalette::Mid, QColor(0x22, 0x22, 0x22)); - p.setColor(QPalette::Base, QColor(0x22, 0x22, 0x22)); - p.setColor(QPalette::AlternateBase, QColor(0x22, 0x22, 0x22)); + p.setColor(QPalette::Window, QColor(0x17, 0x63, 0x82)); + p.setColor(QPalette::Button, QColor(0x17, 0x63, 0x82)); + p.setColor(QPalette::Mid, QColor(0x17, 0x63, 0x82)); + p.setColor(QPalette::Base, QColor(0x17, 0x63, 0x82)); + p.setColor(QPalette::AlternateBase, QColor(0x17, 0x63, 0x82)); setPalette(p); QFile style(":/text/res/text/style.qss"); style.open(QFile::ReadOnly); @@ -242,13 +242,13 @@ void BitcoinGUI::createActions() overviewAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_1)); tabGroup->addAction(overviewAction); - sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send coins"), this); + sendCoinsAction = new QAction(QIcon(":/icons/send"), tr("&Send"), this); sendCoinsAction->setToolTip(tr("Send coins to a HyperStake address")); sendCoinsAction->setCheckable(true); sendCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_2)); tabGroup->addAction(sendCoinsAction); - receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive coins"), this); + receiveCoinsAction = new QAction(QIcon(":/icons/receiving_addresses"), tr("&Receive"), this); receiveCoinsAction->setToolTip(tr("Show the list of addresses for receiving payments")); receiveCoinsAction->setCheckable(true); receiveCoinsAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_3)); diff --git a/src/qt/res/text/bg.jpg b/src/qt/res/text/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..18b5c3e915303b7c23c6de29eb7a22d09543a27c GIT binary patch literal 224971 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

      q<6t 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
      On^G4cL3X#FrS(Za!iP2?Jxxl} z8-1q5A9J{s?b}5iZ*p>?>8>W7AziY}?8~-}>mv+nYTQYn^El<@jp1uk@RsSLXH
        #YT1E{vd@Kc&jx+$OYVD^w$W|9wrTD^h#)E3DxifnqT5CUP~u&|jyM`)Qxr%d zjeqp2>ER(~B4Agw9la!Hbxm@nTrm`zXcKSTwm-r~k=pb{Qs=o}S2)*C{3+(M0O1d>v!_O>8}dssUBF0Q3-X5(K0zDU8+q5foLh`hgD^9 zQ$m$1^16o=-A3`mdw@Pe?j(0or!7dX4O*PM@dC=_(NpXxB!Hxom(RfquW=NM(zK|q znB2`S!}1`OEy``S-P#DASlT$+>rH!iSI-3)i-xozxK~xj^2YKMiZzRS8b>nOT3E`# zmg>etjcXNGG0Psa>B zRvH%>kJMp*F&<5;e|aM)BqLmmioj>(im|VrB<_Z-zh=@ses$rGYTA2-`d!A)*`qLf zY((5P@U(_fs1NvQJtkFzP0G7ZWTD)gOC z4RN=gfzxzdAw^{`a#K|qk5?Q#atzRrNX%7oG$RpDv}vG@kvMnh`>U%hH44?VOHf`w%S?wQ-viX?h+E>G`NhhE15zvTib?&m#(y@EHnXD*I>+O zF3W{^ValzXq7~EUfWshun$+YmzS^QjV)q3_ot`M3KqHV!EO!NyF`cATWr_|s01mIH z*DL^Ev@`4K;6KBNMM1tbb4N$@XY^_CIrwb0(nlIWvs6J8afA|CQGAM&zDhT!=ZOZ| zR+tqHHg3qIOz+@KuBc{18T3@B?{@XD@L zUnfvbU>fIysRr?Ip$A@c@b-rG-*^82RhM_QS$)WG?67mxWbr9JS%&@Wdl=7>-T6 zQAVL-Nct6eZnO%T9Zn<`2E0<^TCY$w7|#f{gb22hwHMHnQ|F!reyuYe1$CwYr9h`n zC;&>FhXHq)#4*b>QoON8Eh3OfXK+^5w?-UBH=g1*@g(~>5ntP!gpx?)$UJpDbUvj5 zpl60eY?_y?X=GHxGUA zTH)&*tOZRdY7Sl<^|@7B`=X+Zei&%pQyr-zK%p8-oGn5Cx>ueDxHj5j?ZQsT-q^+< z_TOM_D@^H)>UI-x-?T2_>)eXh4OOAk=y6{L1#0ArUb+rBU@D85y(1K_PPD{v7A%oh zw4AQY;e;vNup{m#D{CS26%=z-sTtC~8<-;8$rKyKRo%j_%95%$kOu?Q0|0a5;1mjz zkiqiAa!m=`Z3~X}*tCd}*`1`J2akeD9_b!wx?$OclJ=9iZI!mrZR^bG=ZZPC8#Q19 z8h~lUVoi{nx3%0nZ@7a~j!9T@Id@E>E^;3zdIF8G^ls)Rw(AQ;3aHoVU^ewiDBSMI&M1)XR zwg!G@JTto&cQt1wq?7T-o<2I@FK{?@RyLfo70=9L~!Q+wJ0Q#M_%v zC{;_lIW(exD^ul)GTL~lz$ZhYr-r7SyzxrmEswp&wVzNK{WLgcSj1qO*egY;{{Rs_ z5wwxCOFGsfK^HGEUKmSBEPuEt1vB7kaP1U*sEIwet97EfSB@u+0n;*4WdiPnB2V3K zgmmpo_^cRrJ8d6P13SG#JuxoD*zTp-u!%QmKXMM#cl50?Ad^)!z+eVnF_*`~GvNe` zEE6s8usj14;pV3lIT5JF&Sj1*yX;~}VrZd`JA{8z+B%<`9Po*~nfBX!@0Acr%55cj zOD`I6#@#nEG+RR=9m~dvB#O186%1CS4FyIGxvhFh%PcKghGR&DK_04gQ!$59qU_a_ zfPA>%P~BR7zdT9p`-p*Uw1@1sRg&Dd9+N{`X~!%vBAN1_2MFuyjDjmh8E2uy+llj% zc4;KFRWoy3g3tk91#LK~#Q>?o{yp|smtSprmJ8``3hCnVjnM9)j18$)xvmUYgGy0o zHRp?LZ^*d)+l97UrL@+(Yl`0|=l3&?)a>?c*6Q7LcvHd&U4G8u;|o=DwXHg7iDZf* z@xgC;Po*zw1y97{ExZuJ6wvNJA$`ao{D8qM3xD(tY0nm3Ev+x%uDEn-X6&&IM!6b> znxWIe-rsP(N;A~u!@*ibGAJVS2HKB~bnpr?u9Z0L-O*av=cW=!r0q!$T1j=KN}ALj zc$3#GjVU8^XcdJssHJPiTv3K>0Tdwmg+`d$A|S5t6Sk|OgJ~evSXTnB!)nI6zkGMs%(=KZ6fvbFp_V?l;MF=ecqlN$9k4!?-}Tt1_-Ydr5Z7=xTSLC;2jCM2r<5dQ#?6lxuwoS%+|PW<-pUTl-JJ>w`csD(lJv> z3Z!E26rW8v(-oi@0hU?{U~t57-n~SfC{&!YH1fq1TzL=Ih88uCyCj(;VzngXDNJua zBXus`RE##t6ibBC+yD$oS^x<(#Ft%t2WFI|ZqC0i3lF55v>dtPX(U^<+)Fw$Zg$}$ zQv(SZLXyIUpa$vZ&k!Ll%@x1`^-zS|0*YmwYl`ObNPZ-fhKZ`So~Zu-#4^Xj3`f(i z>r6y}7hw*{JH6L^agmBN*7rM1z?*LZ*#15pn)F>-Wv-gwu11_jV*sh48WD$CCU*|^ z$O{q~^Xfi%>y5U~7J~U|-{vM=yd4T;D$+<$3foO_Cee1V#T1kG#I^%E^ccc-ORz1GC*Fo~P>d9|-LAmKJ6Pb@RsK zZ9IQ}FtUPL#*U=qmAbU2@5lRF+?V~y54d~hz752l=lKnLVTvPDKl=xr-$H256wd2#TH29%g#EMknFl`l&EwD6^E)`vb`UJaS7IYmaW8`0KpxyjDpY zN}*r3))C2E#zBDnF}B_BJ-R=4+Q8MH+hsB=a;*rVF%@C*J_?8nI~pns$tMOgvlV&2 z{Pq$oiqWTBKC6D9PF2D5y37ErD?_aTJaJqNx8}jVW<-(Xg_)IE#cgilskm_%Q=roC z-;9lE#|G|QKOYFDXnTU?Xw}Etdrn~U8FR&Q7iX8p9s3wTTSV5ih3R#*(!M5ww9Nc5 zu~~NqXbh|VYoK<`dRne%D0Rl?aqb(Jo@u*}F5~-+B(x+{vky_!<62Yq;G(D|T!8uE zmv4BD6)qB6c#t5xbY)AcPb^8bmEx7+r(80m@tc%3PZ1#NjUV&7n$>$kD>+iPR}{wS z=9Wd?A&c;!R8t#@p5^RV6`-XuI7x&BARlkLPLkuO=g&NCccX6(@aV!mWo%l z8LbPOWn4-Fs|f4YT!;;BRiQW=-J+C}X`9bPa66p~(!&{H*gK}+Tid6m!WcD8Ys(zR zEPo6Eb+!7jpxVZ1P%dC7zGR%v6LUbZOjsZeq>6JDsPe8e$Mf)O>!Grg^?CVXU7q*d zf77;b$GF@;86=ft+$=o_NXAA=1-Rrm;@htakYQiu1}580w@u!|bXE5oRtgKeNg#~( z0K5QRq$wA1$7(cZ+!AS+rJ-x3Kc9g|6lK(7N>_#-sZ_?Lx|-V4fUg`j+i$jQ*6G1$ zLa@k243AKC=^XGWmK&=4&so&sIOS(etc{I5&Z5LHR88*Ch!pe7F<^-00C5QWV-F@0?l{Lad z(+H!fqqWwpbv*%(3@G3<{yq;HyE0Crx}K4EtvS}1pkU)Jv0h$yIRa=ws0SmL97DO= zO51(T-PTAaLq|Fm)n|lhy6#}9x$xW z4_aJXHKl9khFE12c4=(UgHDmCt_eBwJ^@r*&FL5*>%$AJ!{JSFwujuN+)cFF2VJx% zOdt_%vdtwD`F*3-Ws*2PaVWC~vo-~o|3w@@UUM>UG`r)Mt zN-ZyM>8_RVjxOQ0Cw5fR`+-B&ob4QN!*#m+Sj2L$leT25tYo54e_K#jh6aIIxNBTP zwuT~Ek$)xRHMUfd&)T#vNm46yaW?2%*@cl@-yPME5-6n9`gjbm&tk`S(1O(;ED=nP z@x-wJr@mI|qLvot(!^DK>ELYy+A3+l40g%s2DVo!(+Ve%qKoR0R`N3CRlx z@Xr%KHwn3hDH$W)$A4-?R;9^!Q%{y7gS{T#x@q2(yK%4nqr(AiHVne~;G4RulKEru zyKG=r5%=hAzL#5HhBp5IlQ(hpQKs8x6@hGpOFpYj3vtgpP?}fj<&Dp{?+P8(?XH~1 z9B`%9fs#Z3A1?{SjVI(={z@c_KXOZjLmP#n+M0^sYkf_5Qki13rF1w_=IcNML6FOb zh1Tc=XecN$;f1|z?kHsQR?y5ZLYNgc=bLgEo-MZL^ET1DF5h=!N8CViYg;j1 zSdYG?;3xdRPz%}h6}u|aOe|5K?iwpG3I%ej6OaRm!gtik5-{%~Fa?wx=+r;0G3Co0 z*)uX#tI{;fg*jp*Xxd~a?kbf-PyJ7jr!$Frk_g!qSrapPG{{*{GBwW@x5$bf9LFpJ ze_emKOsP(F!jh$L6+=o?R+xDvEB4Whak3XzeFF56&sD-Bm zu?(y_a>%Yn;xRamNT6-3FDVj9XLq)933jbRkn+dz#$)G){6>^S<+>!cwg#%yrnzgD zFG4P%8UvFGam4Ai+?i3yOROn;V1@@e>PDEfwO1^@84m-rizSvy$n~Z4$tzriDt}x$ z8eD{eK?G!JsPIJXf!eR#6}W@I{4u%P2xDmHc$n@CW4eU{dS6ft*^EWC>_$6sJfD?s z-fPuX($(~fY6qF{g&TOA3Uz*4msL`oTB5P9EU@o!tD5F&#;1-6Ds%K4IE)_bl~-<( zy|!8rLN)WkmjtNw1<3yT;!kwlxRNgXX}KZdNnM_{ zGo~c>J;n2*$z+?h;~^K)zYKAAsPiWb2qH+^?k&ENrnTpbt+Zv3(@arb@%>b%@y2Qz zpGp4!rYXk|4d&KOsocbqZN!Mld@_rX#oDV44jPMfzN4N(w8TYO%)MRpAX*30X|8zk z#E`74u}e8@17ipb9^P(f)Ft=ZI2*TY;(I>IH1M{ZVRy;r)WM!FtH3fHR_Boyko zY4WCcj?hB^_emmz*M?lYA~UVfgZCDsRD4D&Opch?w$N^WIZ^)r)l8k9$8gSjeXDw@ z+t%-^%N1@weuA7a44&US`)%iLMBYhtnaOl)s$NE$>Ty7h2uucB}awbR?Mv+8PH7O_CBDCak$9m)lRI-lZTxk8jO>1A}jl-vF z+myynWEpI05Oj*(YQ$w;IJ$Ty+-&y!d*KBGtXf@GRs%X}FMarEh2UY7;*yYQ(cKwg4Y*#}kFzyMDb-u4O4MMEgWMEhZ&J~#tuUke zlQ08-^pE)rJnyGY7E8Ptjgyi~9wF-qd=P~7=F-*8&L(_Ia9rZ*75xp-jQ5A!jr6%I6^rn>2l zN`FjgPYs#dpoUn3{$qDp<&o|g(ts-G(gt}FaAXma8W0{zWC_#tram4713=j@#E~SF zj#%0!QmWky!a@brrejftAXI%v_jqk~EhXE1p^)uiqKX-aEOHsvgIsq5QO^;V@WnWC z@U>h?daX#iE;P=XVPM)o`>EREuttpTLMd~S=a3b|5Nx#T@Rt{qZADkyFSyqy82SZ1`H z-NUp3dB*=9P#$xXj?o_4SYQC#{ zsxZ~)EA*Pz6k>Zsg31mbw_e>%fa^--T4UQ&ZSCV{xZ1)~f4CAm{!E?5VI>>VZ6Rnf z%N@7eAqv7VxvA~ZO}At#Z_5-Lks=uz?1KLQPFK)@uMY*ycBUwtv$HYpIAU@D8X6i8 z5nh<5%nFR`C37G1$MeJ9P1NY8I`OZUhSO^-m&36RHp^<&Lz|9ZRQ&NcX(dQE2+_!~ zFc%!01_xEB8DrW#r`xsxeb;c#t+;K#RoodGvHt*e)Q-?8u6StOEMeB#z0n zhVH~+jnt0zV{a_Fr zq5Nnz{{V*)L_1O2+^~~;m95TenZq=lH(lui)k=)A%DA@SpVV>~-@mzUthu7p<8`qL6mkVx58vjaD&pcoFx z&`mNAQ^uICE^S{tD#!}6Dz&5#Xu_jjV?0Ie@W~V}I>~IaNFzbpLnj?r+tR#FSnjR4 zdR2fmyDb z+_Tp|0Kb(K6oAZGp5RTl1Rbloj+8ug@Kb$UlBOzo3L5#>2BhX{+3~|Dr&uDksX2;j zd^XA1jz7ghm!bt}I@#*vdXH5r%LO~BEdu?-B(7>3h#FvCE>EdJr~L60XK=+KW-#sQ z#Za{>z-TLIt_&~&?>@1Qs@}X@w5mVCRq;TR2a&FlmuHwy1G|} z6ar1P;Z9%m#nHvvS}kMFm8N==;R{H#8->0jP-?do;pQ>YwjiyE%D)^cB#e;8GDTE|Q$tLM*8~HR*8)Ds?gk{yQ&I>5+G&REt=8*>3OcoS&-D0V z*vdxWGT8;W6`{D@T&b51I5OCKN@1=5K$m8+7*I_reZtX|>dE$7V zw&`-3I0l4ha9=K;pz+5(cxPC`f=O8Zk>%A~4C{(;#2vVzgrrd`cDs~v7dCF;^`11# z0^)4rO@DuYm4|w0*=$$pLI*nhvHbBeNpS>L5VWUo9ImL+mBfmZfU2y@@6mOubuzAJ zhlbp3<7kSY8-nf_G`AYC$WUU0UrLWJl{^h{%PecB40#=K{-NyiHrh!0tF@VgO(LtQ zQ>dV79e+%98sl-iXw{_&e&@9maH6bXW391;AEpKMT(Zl{72$`np<5yjw5@Ru+DN-d zsn98Xzf)#p>oRQ(Qz|KH{STBy}S3T{6J`050%HV#_RfF-YG!gUW1!1F zPnHOuX29+uR@+L~u0`q`bFB#QE{Hqfk+%Dawb2x7vZ1HziKN^k% zsPV(Pt&8;mT&wZIi|)u5@;tBxfc)^$Ng0k+JwVhEKsnF;iJmdAm}TWTH#_{x%|%IXWieIZrTO6 z-0w!t4{!X2yYTkO z+JZkMTAB<-s+PLfxc7RwWy1^Ac0|x{_~Jwqq?EYOS1&wlS!9IEGRHpNlEWZe>M!b| zoU>NO-{1Y`Z?)L&_PaFE6&;|Ig^BRYBHLs^B9U&R*9aHK;#ioT$p^uB``pn zG?#8+oCGs>8r?~lwHb)5Mw~H_t|hUC*hZHxajS7f%nB~2h7ED>#O_MQLbKAL7bBql zL&45M!I(7TmO%V)tVgRgCqqL|<%g&ua=@bxO*5#b6&E*iMIL7i>Ozs1YdX-1aTu=- zei!7{oYJ|Gk4mK)w`X3jo`W9tlY7}=vW%Z(nk}r1o9RTVp-*te(JiF4%s5h*UgV80 zZ9+$JCW^WNUIP^h9b?V&3zdBEyHx=;kjpH)c<8q&n$T+W4A~&p4I`;b>)8Nwoc#HC z3g$Us!Z?ftW^0@-L*uW*!?$xRZR=I~v$#}o&j6mPaKwcv_LliGQPK@Qt#!uPQ*$2Y zaX49A#Isf^+=eMTp+&;bdO;cMgGwxDRi)e%Ce8yj1m5azWcJb{NcV}I!A%s!fYib58Xg)a0EH$y(38>7HFtMT;C6Iv{fmS5s0HzB6 z09W$Q40cn=w|U@rcVrRNvVyL;eI#L|?TD_?6D1$5aD4T~-jGTDpbV#fy?MKfHN;s& zv|Dc;qhBmdwr#X-W-*oCuzu`fI`pj=EgHGyiL7)%3~wtLC5}9!<=i5tJb=vN0q#;s z4#=PLGD52I0ZswRjd2`R`*74mv;!mX!qZ=?2R%4p-4L?JPU``XskB!HzOEQ-!rCiB zbki}nP*JAB_>N*K<%YHS?8W1Nu~UFUDQpuw6%&( zZAI3YmK}jvHd}MsgLJ7Rf0D7AM9h-2m1#92hAXW&WAXQJHriEGVGD3cP)wg9ty~ni z+QbsI%A*Pc-bm{i^pnFMk#Os26l^N@pzYOO;K-s7q=FY$;uOkBOdA($ds38l4t^RQU`jxtv5OwXZ;}enUJgue%-RsZFw} zVkk=W6G|Q<%Luz>ZO!(r04Z^idXx1w`Qnm-n()q}<4!o`O+RCExsD>x?82SX{{Thr z+h5e>;Krb~ixC8qc3EM%2)EUigU=fLG0>J)xmKeymK8!;(SjYT>Ngzlx0|dKQOIH0 z6Sk!E#wtMa>c+vgyLH&^wky}WjpV*rd!@vNry>CZr!25)D|a6NRy(`3L;cuG$SL3nSS~$hD3F;r&e5v%g+STo?Z(^ z?oXY_u&aWLCY_9If!wEYbBjVPC9cxQnu z&|4nq2uAJD5Dm8`gHgi|7vui`n(nJ6?)-#dNGWAFni}BTcy!@Yg6Z?d-twP*B$0b^ zB$-L2))Q-UQ;xkjj1;`sO>N;(m1&K_&AWZFG*3%Zzj4>85rxZ8DcT!q-I5Gwb18*UK$)J+wIH& zBTnL6UguS#zL{5AVRv57x|3(WKW-`F{^+=mLDU~Ho*V{lyrdcDopZz?VX(%uo2dQ6 zacbwLL<~jPyU@MjO@8L4nGCSPgR975gIww7<%L!@0!7StR}vz>bR!Uw4@(Yt(Bmv5 zu*hSUG8#DsMOjTj$LA!-zv`9T@BOYJD#f?m7AW-Y)}`s(sQ#*8`Qxo_96&Vx0H1|x zuM8xywUS0^jmV7r7jwIuM<(hNpW9$g+}*`#j7IYt{h}>7Ft3*!D2WWN!HA7T#?%!j zE>!TSG&~L-t^uPlW;)PU^*BT?RgS&2!O1 z<8rS7n{_Z>$C~n;g0coDFI~$~L#8AYxJT<{>QF0fYPon6x7ALrIbilcX_*zB)l{_+1~{@3;)>Ei5TzYF3rc)8HItwH1u!t!b?oa>SAwQsZ9O$Yyv92|!cYAlm8~O*l~N zgl9BRYI;L{;zk{$TV2h?X>Y4Mfba%HGA4CUZQ;&`8&AhFwALTby-*^*aMHr3OKGnh zBEL^@Rn$~y!lO(8=e2OEvsRd7TR?TSjRs=t^*;_C1lOn$MZhHjP$;7R0EKP+P9EUK zOuJ+eLC(2gepOX>3Q&pdsQdXNcjr>p9vF+@a?z{QqKl7MP+7!>*9KICm5 za0ZH?iuu`5p?X4*4uF$GfDXo z^fe~2qqVND(!q!yJR2OXz=olvRO&L}hedL!Ejx?BsA?;QMUf&At2~mqwLnqx*M>cP z-|=Uk>wqbz9~<{<$D-SmEqWuhIdT=npG|9r*#bKfNV2f8F1=Bc*Gs8J(zNh27LHi8 zN~TP1b_l&HUsm{KkF{}91xrv6)Xz+9jBg>`w{!C&WlMqI(CgBz6{ zm|GX6bN$1@ZMoRrzG+e7_a5W)M5w`|?dWbK8u@rdVPiK}co4SvQy%ZX+w6n;T&Wh@ z+&8ZjP9yHj9V{|ttV~+2cK%#ZN^a>9gL-n}u>wKdY5aFgy7jkW3}Do{BD z{UN>>1x*V2Pb^ad0@LxR8sbQnMp)*jdN9N*+G;KwX@V~aMRw}Cohf}fYni16GwEgd z5sKEe*A+iHVaoJ`6(F$T@uhKESIZQxT)a9e7cG7sSpHZ%I3I>L{^cBytRCLbtg$@N zEY0667RcDuz_+S{E;!GQH)*)rO}mlcf5BK73ud5T?Nw`)Ks6bBaZT3X?V+Q6(I0a# zgs7!gQRKWH0B+2)sfxkv>-Ce#L{nA1Qp zBv8yJjTx3bz`0e_9Gk9$SI-(ZdhaVOr}4weB3MJ3_L8Aj;acL!;%FR&V2-6tuA$WD zz=KhU+i;h|{{WFW{)K;z2{{v`02owA%&f+WiBgKf3ES^~IL#DtZd%I(!(eTUcpcpY+)EFi>`)mC*y9z^9jc#68&lT<%nHHms&Kp5ZGQ@>JaUWB)E0uWD z)Kp`48=?k|)qAOWoBp5Yi33I$wJm)5Xlug*y?1Lntfksz>hr?FmN?0~){xa@9W`zP z67J>iZiGFwpLW;DZ%v39jcJn5d@!9|ZCb}^6d6$b@Y~+iyI7=HWSXP}TxX^?iTJSYe=-vY zc~bKYU0(R}7Qam^$eeBxO{>27YDD!`?jT6G{d?#~CG1Lc93H2{hl<3FA^u?S+6Z)5Gd$r8xX z^{d?(Z%cI2qlPcs?FRNMTy_h(3bGXqSm=65t}+&mSlfhzrr}JT`MZ|~2A1?&(@&0g zTKyuP9P#d3`1Y~)?UQr5hi?pUMige&Ljr|SrKz9(2TuS|>KL(>y z^u=Wbm#U#iQ(Ae0#|)FKkna_iurgXKD|K_uxRPIS-5+o}nGvO)VkDKG7&|FfJ#$Ee+qA0d_(>gF*gZ#d1?Tm@)a^W zxpy0>HxqAw8_A?%?QRBMW zt;3q?F?~ixl;hy>ER3OpMF8j0DW)Wt%C`cewrhJ` zT*h1}pMtqTC8zssS|5!mhEQ&%j5Ph=cmZt)C$Bo1_)oYdCNbKpw|d;y*Qr3urkUbM zXDYKtLt;8Q^^5W`61;I!#|>(huvPqq8fM%t+I2>qb#kXHZy=2j$G%lrS>uh}LP#VQI|`x8GPJG&79|FW zT(M%YXw;tFeDOm=@Y7E$Nx0m~cN?w9UgU<+aEStqDZzXQsG_(2<5B!F!n;N#16bO$ zKcN`+dwrdD`>pojCHC}zr0wk@Tg-@|?<}+;m29bvlffHqSwgn%374Uy4r-&e)hkMQ z;K`vTxQWt{JZPwe08dDzdTF0Cii1Orru2@1^V13%JO2Rwyv1vZ@mxmoujC*q(#KK* z4M?cZ71PW9{t`6`%37)ipe}XSKZXTY?pOPj;Y}%n`weV{JC%c4PGIFsx#8h<1jI;Y zMh>Q&isW#UF#B?rR5vfFDO#?h)r;?GC5b(EW)dW~{{W>%1x-1eW^SfK;4;SED^ec9 z$i3uSUDiWWc^dNgW6OcSjZm|;iUB0}Hsf=+mvy=}hnhyb*r*XjSl1va@bDhr{+j@p zPG&ys_kSpiM+X)ka@-;l^v<6tVmXxdcLynL~c zrX-iN=Wh#yl4=tgyNrQ4RNICtZ5%S1g*-g?^2AFm-L_%ew%e$AU6wZcbG#eq-U#K} z&Vo@LlJ)fWXle5B7MkVNl_+uie0I>T-0s?G5mRcWhC-I}lfvAgW+d-@A1^RXS6K0`B(*X$`JS%O7yuBPB((9;V9~ z_{yk7CtD=Q9Ig+?OvW6vf;(2Lb$YYVP#o|GG$TWZ%dJr{!x+`Qn!Y&Y9vVHfsBM5dd~FU00zDeJenDVZyOhaYq%@VN?7d251c(sCx8aFE2o1k4p0MhXSr)N~js&764- zJa|(C{{T*-5^f`=))>2;*`#Vkcm_p@4GFk`kUIE5FqAiX`o~5E3Lh~;uM8Br*vSRO zO&Xe1c~`@86uW!34`XdNRUpS{HwtmMew4#YEWPPv&E&0EpFccp;q7iB_h{Z>?qXX6 zL3(>(7MBJcS69mrPi_5|SGO$fHR28n$a9d^LI4_?oUspQao_GntuIS0j&)A0Y0nPO z!Ptqyj@8%FfLAu=ahRoZ&yml-B=HFq8BDQMbpf3&6{T=(0SZ*HEv-)v35Za@0ahn9 zt8mW&m{m=9^1>Tv7-gR^XE!LZv1WZd>)O}}=vnu{50q@V%YJkD4u z!h}>GmRvB-6qQO|)W}y#_({9%(g>O~k?OU&RW7+!xrNsN6}0i!I_H3;i>eAmdDT=dH z0&YN5Q0w($+zgKzeljePsdY(Ri-@R|2Jcl${Px}Rs4w9>d zVnEQ5rAQia#zLnM?a(QbRskBJGdX6@K~D!aQNEn3Tz0mwKI?HM#bS+1xuCrCpx^~@ zIIM}edsaJ03ENNTI~7vED_zn~pDakwr*10rrEauW zO66Z1@gI4LL|AuSR^|&_$OMX?o((e`FalPT7gnCCXX)XEs8yf<+9(aVW7<8pVYl}P zJ>P3IvU{sZx{gn8mhotKp%JSi&;WXl5&eAEOzHE$qN@d9`J%U{;xzKZHMw!+pN!jd z+a#^H5!ZI=!dRJeAuW1-qZOt{z%Vo;L*flab<2)en{U{SyVU!|e&W#ArLfHHd$whc zb-+UER#l@&Lw&M;O)!QcVlJ$c5dN`VT&b1=yh3yu!b<>u_>gcCH8MMBpj4mJ$7Eri zL%DnZ0MsLBz>Yq?j@b-LRdY21JVzv1$rDu=fJR26BaZZ2P0r)m5W-hwEb*kw0aleu z#FQ6xQiCk9AG!NDZG@Xm$e-IfgslT4y~w(mdWz6$F+S#IzG<1Inetk*wN65uPYfT( zX9+_>fD>LGtXCa_6m{+y4(^|L)or%w`gqfxA>Hid?CxSGwFR z;v2r=d%&CR9ifWT5s2}-FmQx8V%n&!S2|~xg!4A)G-ym>J-NF1L*3Mr6r$UmNb%Fp z65h;{D*c323>~i-F)S&U#~u4A71m$=ATFnbkzTTP$sNQuBU6Yxutjy$V?G`iI~O?% ziK(Cz7~FSuqjTMjk{g-Vw&aRGK^3PXmKna3)cKzrvhdFz%NvWQ>=lfd#SJ82M@Cv@ zkLQUXc2;;=h0&GN(~~Yo63bwS$Vst96jboRc%H^(WGDPCww-*ABJJIEKJ`GQZa$wX zV@lxew$A%f1xkBmino6Jha3+X0vbk zhS+ygzh)(&%$7M*fx+_QjmyIw@$BR7?%#q(ddE}qVTVm{0<@Z;q9<4;yuKZzr20V$#ry8 z5j9%dMJh7X;@_lJnF`kuZY13Q0Gkr3NA2P_>q3mpCv(y*APQ@rg7(yok=?k1)yA0& zuu-H|{{RZLevse)0G2)4fA?>*ZvDbN{?=&!0NXo_yrMKs>Qb!Lr9#{>o_z4OZpO%{ zdhS?}MX=m5;ztZDa4DEO55x|+$fde+^Ty%i+9tv0V*dbz7_}m}`a+UQ(~-hY1f8j) z{@aa4UJ=6*-6W(cFEVl%x@7IRrD#QU%k{+%>H8N~Q%iW|gOx^A%jbse#nksOjX}t3mbnZ8%S;N8 zY5~aCTt_TuQD!dVU-~V?6x4J8W-J{kqiI zoyOmf996UP!LGP!0B#iLg(OnBt$6UniyWe8)R2<^Kw-{}o-$x`{r>*@{yD@NPB#0G1^I0|^Bbwq%V$Rpyy1o04rj(^I$Gcp=q%ANwvBDVgX#Fow`S`WO*XYyduY_V| zWs1Las0FFzQZQ3+q{m0L%LCq5rlo<(z69|)_{k(tel$#aAPmeG%B`M0JUl<2jcfA3 zl3S#zPJ$G38wO}fquoQ5$1%o~@StngIylhh=ZYw_WnMYrOP-9hv1wZ8`?0i=ZLZ&H zc2GyRLAQuR8Dh%jrmT3J16=Fr&b|#L(puqsPfAkv1E#4Vd_>CBjw<96ddWN z$HEP^-3+tt8Bz$wtj=u!d`={WMYc$otEVEShff~kN~K|I7Ba&Auv;Omxp*3!L*7e2 zAr@GMUWfFYxzhsfLZ3YF1x*Hn96o+&IZm3PND!6f8VxSyN5shR?!3tO&hN_#EoN}kb z8`YO+Hxf-4U98333=iE_xCP0w1W@y?5w`9&GL}x)xVLeeZ*SDLbK{m0wOYI)q=JROKIhR zz}iBcx%Vgh=$nSqA2^X)trTHZ&xibRzW65q}Ng@!kS^) zB<)0f5#4nM$My*GOocf71KeD}|$E9z&o~ma`aIPUU zLeUMv2_P&8y$K*NuMDuIm$;zyCSs$OSUwFSI*!n}B4ETyLk^ytJ^3*De|PT2zb-hZ zf)`%msRg6VR98%~yWMQ|ZMNBW30SJq2v$ZmA#<-FPPnEv{ixJg8i!>rVxYxiO_|j=2KVtp}Yj*DciqFOlb$hT17+ zGexsjU93;kv8x-174tYkvR+wg;*_-1ieYy9t4hx1x>Lbk&nq#p9JcxhP~LRz@e=uYlzpg z1+P01xy$lusG`%=TQjK3UjuU8k;~5s9P#$dsT`;>HAxUUoVkOIq3pw5k}^m3W9tlA zs`+&utcmfaD0*$QxBfZf0Wy-v1geOMe2(GljRFk!MA(*wIo^-?7 zwGoS?Jcggo5?q(`(K@MVBxmP`o@X*kt4Pi2;Y>D{G4#;nHOmw#Lk&Um&jhYRfW)lQ z*y&E(bSCgLE~mtV~~@i5kT}b8Ry{+$+r%6a6FR1wYb=_ zN)=sz=D`-f408Vfk;dCbpGKo-!KfFe|1W(@TY? zA)&wlth*|cL7rcxBea|8_bW|n!yLcqgzAnon)@ByN1#;KmzF+QHnrn}Qk*ds+7Jx0 z8)K^~3ZFNiA3S@s`{_3i?-#`%vTdRX_~6$0B$?Wz(M1(N%$nCMOTKtv?oLTDtVody zvdI>JV95yq%1IfjtMtnmiL!8bHb;jK1D;3JJU}{PS<+PqvRIpP-*kcrtpLzdKM18< ztYB4$s?-|jaV@SS7aBT?ROhH1KVc?`#Cy{I;_}R!&u=l1BZ*cs9D(#VRe>BS=Z&mUB#rI{ zNn3j(1PBs}v4kL!c$Tl0Ho;^`TXX?cR?TYG(W{}vkV>7op=McQ;u%c{$GU&H_kQw` z@1pk&zQ@`9p#{frSbOtGPX$FQ^Elol@EK*92jR>bowp7RPcT-vrUoruqI9NsQtC%^ zT!j5Xw5~3oYH&JXlOUwsN)14#j=JhRC+-J3j-SRLt%E+Rffe|8FEi?{nA8!*ht8N- z;!`8Hr2wfvrV@w}(LzOfsB2SRIFY-s`-*Ks2AC5pM)aWdTUu%I!frRd;3t#Y;)iRr zf&T!x*o;vE(0Wv1l=_t7C9p+kq>@#-y0tp~>~30LZ%yoTMLclBBg#8ZA{9wNiIS}u z%vUaB8~v`=bYR+h+(JKafl40iQOqO(#}1{gDbEDbmF1=mUY&5#O*iC7ZTq^^Duo=h z101|EHj&|;m|Fc=jPOT40BK9TC!dd`9H~kURKrEwA|_zQDw-AmfPPiR#s=D?e}{N& z(hFpn8LsN!O6NmL{(}Mxt?n1}E#8`X^`=^Q3W{BtWbMg9mH2da@cZVPB;c>5in@J}1X74D>#&H2L6)XO|uXSHkqjjyyB*COG@Ouvvw-0H9`1fCo-E zH1zPpD5C?VbF|bNk36yFd_yA?E29HLj;6Tt@oJxj0`OYX=Z*I7ZMAv!-q?vJxK5&? z6nO+n&E!~tgxeZ+qIY%aTdLtf>euNRVja(RGP5(Nh)AYIume_2KsRJ~_y)?2QA+2R zfdgqLxbEi%wG1~0xpSykMtvaQiVnSU71xFmiJ0|y;mAP}lU0aTgFOXmaSR)ZLL`wc z-jdXgJi(|{KO8s?tQDA5D`}zBSBETGQ>bd3@jM>kvz2R5B}SyMny=FI4N4K6HSnME zJ+?n_6GJR$vNWsPcO5dXX_VCte2*MfzE<(V$=@B~XC;SalhU^1_|~@W}rF-x9nrJbQN~w!%sm?Uw1dsG&F=K-2?~2V5Gh)g336c#$KM zy&94dS{1l+q0hz;fQwh|RMxCd3>@jmbN#C4c%_Gj=teiYm)#^%CtAe!-!XXrAuLO3 zD^pr!`y)DmrXosEMOtO8O>@J@-nk81ATvJHNf^7osm`Yr;MrE63`n*HzMW@Pp{`i}03i&p zLeRppEV4%{8G!jApRtH!yFd`%52uk0IrJUl)cY9CVpTsr|#7_0m- z@Wi`q%uNpNB35WvP@%;{>jNzQU%UODOHD~Tc$vTJY1eL8q4 zWgtCmY7h+#4!F$a&lj=vR3HUwQB6j)&&7I!)B~1uuY^ifM`%)^KqoTUk*UuXN`^L| zYe=D^3xWC90*%~Ux`laZo-*kiyemrTDe?Gt3hBoZuHI8L3VzhAwiX`@{3~cofS?r6 zQv$qyVPP^83~bDiSEMt57=g^%JQS1)0@?^#R-exmv^SB{6b*Qw&XnPvz7z~|M$e0=cHi7GhTq5lAie#g2&x%P;C#$EJwZFf=^ z54CUWOGv)xp0@(r%`)eSYM|UW>NtuYhe(jw9?>?UDC0>iG8@@N3!B-xn^VIK_W@-(YniVsJR@%1=#;dPQqmO`;%I!Z zNyGNsHNnvIhUsxb>mGh5kD1pC+PapD?x(MgoH3qwcaAT{gZ}^&KD$Q>oU4N<+pgW* zlF1%X=fPKoBG~(O)%Ux}uI%ljTb-;!A)p>Z6p74h^+BA~B*j zY=%`eT*n*(Opb>E#~RSn%A9bqqLz1{MH-TF7?0Y$@)!0k#nFw=vrw&*bX~z#@A6MBdYE?%MJQKwHzlJuO=Gblh(mkw^$tSk%kjb~3 zwrUnYrAc05xRz=xW!Rq5iUD?c4ny`Rr{;3gzzWj5e0JMer!BYH2|p4p3wvHhLy5q< zA;jx~7cs!;mbf3k2?3CpVkE~EdO>Y}hmN}7=iwk)ebu$H2P)T&pZ@>^scN@$0dW;8 zLtMFIUzRPdTGI-6He>jBWv?Fqb*BTSC6bDr(pajfP&%uST`+A1Sze@o31h_LWMg3@ zdzpI>i~3`gm{C~2N?oou+Z5coK`Q~h+s7g8NMU1XV5W^jp~QRrpoyoAWmOYH6zNG~ zXir4S%cEtMSXx&>c2uSX7L?Z(_U(18=a1=z+9ScZ8#2lH&|Xr0s@+$me6kn~dM|6F zAQX1awKVwa;3ly4OB51txBy7~`2JoLrFk4wMb&(ZZ8j=*EwF=exp<7IijcsDX;^ny4F-cV zjht^3YtUpyTW>2NsO}I?$Q~FI)g6d+Sl9_QTYW8Fd3a2ldCc&m5f0+h8Fj9<=S&LS zD(#eWArNKyW22C%I@gYv-Fr{uJX;Oqkk7l>Xs;{^>l+Ywfh$wvigV&{N{S8`S&Dt9 zB~kp;XZ(B>ZU`G!IuFwsW8C)5vV(HoCLz z-=%KSl==7rO*mkhQol&Wgj&NY9KVhw5+PQghh`=DwjSefXJUb$G zk&RX`Nw&N*{f69b<~xa)BAFXoV?i2^kN{v*&~Z4YbeP7n1^xrUx_ut6FBt?Qx!O|h zavdr&TZ|^ z)rA#mgDbSbTkMLp?9|&+$Y;wAi1kBC`O_J&7HRXxmmF=Si`$^~&F;zL+ixkmcAs$F zwtne?TdC$$+BBvNj%x4!0B$&>YhFVeI6oQ)m)hcgypg1GNUt^ZmAyA~@TNT%>(lb`!(7(T zbmdx{ecIbY>7{E-we!O4_FGAJd$}uS)+pLZ4XJseu6hdN)0w3k5-5u1KDkbG8B&>K za>Z*(alo#aNW}q=(McgiPFa(RoWG~cd3a^>#$)A*X@y%rvxph%#~VNMG0${WQ690? z+o9?QSAi9vZ&&fh^1zeU=t1i0^z*K`l$cfffQ}-{n$%L53Nxvv&jfP$i(#cfRc6$RRQ{qfS=O@R`mzeGN`Yf7>t*I zG<5d=fF$Q_{X?EHrMmy5#D01Yk`dW8Ef_ zo4SbCJZ@myZ&!Z=Y|9qA_bYJ6Luo+++z{j-3xuWWVNMp#Bp~P9_a(R=G0#{ICmbDrE?s7 zuza=f>lXs8mzi1(d|6p-WXYGzW#Rnr8q;fJt-z6=^YEzYYVgwm3maE8UKKtGo#BN@ z9%1Q`VyWPr8;!ytxp?CL0LYC^9QMgI==o}RWBGW}ne)Q`0EANxOHsuwT5I7CdfM(I zSr99u^tP8+O%7Td{6Cf<+{WX(41laY*9k ziD#Rs=4N?F0A|Lz47KorcDJ>;yR<{0JsQ(mVxsFF;QA!*cxU#NOiTduD%BD zqI5Oz$Wx!k9sc5E_I9ov%`UCHyzwHxxIg4==8y0_p2- z`$djDmgm2++in8xDQkvQlBxrNO!ChXOdkICT!zJrUgG8fS1Jb6!FF%ANaT&$Psp_Q zjmQOr*G#!$hg`VVQRRXwkPyXODpaul^&z!}J!rL0W-Lb-;!NzET*4s;)?-&TZr|x7#f6?Yr(1@+XmE zg$e$*Y?OK84UYPF{kA4|FYe|!Wn>+rL@N=^O98^8;fRaI-MqV^xt?^(2Bh(~D&m8V zUo1zq+r-oEcMhqx+oIgkJGGzyIN+p+QPh=mY=~vZf;@VwO!VhWuqfA5XRcV;#<05X zB3AsF8c^uhHR)gjqyTy0hkQvgu%f3@6)RfbU)@gy&#OCyJYsr=F$za;3;-TYQGgg& zXskX2R2*l6=iqtat6%VZYvY-xfk=?Z%BnN^e?D(i4Rr-#D|7BG~qdFQ7;1~*WOQF-_! z=u@}@C3vahh*6_kVXkTdvsB%g@yuC87Jw^L^FOg1oz*Pms}EJnZ8gf7;a#Kdr}Uc8 z{*?WIsw&Np9Pm}TS#n{^!gSlo+Fiw+(`pv`ZX^_9Dl;50EYmge&c&pDY{sWdZX%9Y zY~00Jiz<`S*V?7ls?{G(CqWo+_T3>sSt!-W@UMo`c_IO~-kAp7??Oq0fb~@*jd9*b)*A7h>oPak}aj2)m3D{Rvu{)Qtp1XRf zKr*hFgxa>LYZ{AFolSr1hkNa1AS!V+*8z&ETBx*D3OZ8W98ELDJ=ve|!bshy@@AAN zv1@6x7S!^^nNqc_1$k?VaOH^PiPu!p)tww|HqT)E*R5P-@_Gv{+xhbm&)<*hNh_GsEaz~4H);20ojDwL(N zvKL)Gli=2h*e-7%JRwcG$=$V%{^F$zD-xwBDh0aN4^^#nYLQRV7Yvt6zw3?w211X~~q~HTSO60EFs)FDu-@Cx)rXopYO}GFrbg2pe9D7Pn?(odi{=;sX zRF7{IvBxi5ec!oLRfw==0^G>Nra5aJ){YFrTGQo$Q?4huT+D6!W(7j)ox+FZLyv|% zxa{Pe{lU^t^?2n-#3?6t?ebs>qCFqXV`X4R&cV_;H9;(2-a(GBGZovVfvZyI`@jvLrErf2rgk0rBt{71IrA zs{JQS3J;z;5hyZIjSDK|fU(V~%MdH=VvcBN4(2uOmqkTI45>xRn$o9^Gc>5n3GJ8v z0F+spa~&7^rZE+3O6WP_vO@i(iYRWm8)-_gN1N(WvL45={A~W;kT1>3EXYtbZOvM?X#e2vWB6hM;c?@B-(pl z;q3QPO5WMC?>vWUjU`b_wsKmzXRf#;wN4=2Ky9CF!Qp;Rxr6dJ-FuI??xf#u_tG@G z&E%|JNn~?YW-X~c2{S7JD-jF*EpMyzsQrPy3dC@eytxsF@_*Bdjmc^#S|`NBmDY}YV0+p5x-&rVpH5~*bN-zy+z zTTOaSqt6W!6=I)Kuw^wB$c#bVldEo`IMfPJRAhcQh&rsQxd_=jGwH+O@r%t>!QhL9B+Rqza#&BJDxhu@z+MEqjeyK76q+xqFuA?>Dp9 zC7u0kWMVb_0)dJ59oWZUqV|h{BX=vBFB(%kNwEr@nPf>=_S3m?D+c zHH1jaL`z#%rnDDVA^Rbe+RN!9TH>VColZ2*o+`%U&-NKF5(WCy)lb76B7%cnc%_!i zq@Lwls2&vZz%n6`GwBB29O!&a4p=9E$CfVcT>Mu)RpW&Pi3#Z(xZ`!USm8bO1*VW7 zWDxz%hJ6Xs&rE0W`5y#$9HfwtR!~SG#&sOL5BPll0Oy6s1Caia%MP!Z8B`HWkN9xP z8jAk0&YlfA$g#;1H)uRdGP4nFwzwlh#|l}$CJ1eD3tXZ@(pfrAT&sy1H0{RBOmWuh zMRcjgx@nEid%5{NABSzWR_?3oo|;n+b=T$F(w=q1OWrMDBF+j9SSwqp^$k1;u=J>7 z{{W=ue|{~kK+}+}3z1mvWD^X~mCqyd!ZIrTr?@dhZ2ay9qb)Id2|pzt?zc~CwntB$ z)vgwf8sV7FEb#M1wM~*eEZaxiD6|yIy3XIf#Wyo-V)q!*>g^`Gw%08_nrW^DidQbI z>z#OE)>yl!%GRhh8|*5kv^o=~90A80m?H`8yNMN`+}y?xi*2$c)ynbG-0Ms%vlfsj zSmSe207U>O_zVdU(bq$f^5cpyp~!*p74feOCgwR))DiaPLEXCA*4hr7u)CK~BXXd1 z##^l~9U#_}AF&~ydYgFrb2ilDObu#lT&b26tbHqQ zLuXoRr8UHoh{S5_O^PV1bxj5|@Rc^K*9~#Do}8;wUkY&L`#$ad z^7cPx{I6p6e&^)QWsMp8DcqB`jB54`Y5aU1Dly!=fRjkj!=ZK_wQF zG(`z@P*@et+KeO2!J0Hk)1^mDYhvg*3=5GKz^W_&3Mi-3{BRyty|k~EGSkLH-8_)6 z4q}}Eda#Vzg=)IBI;)o>g);5Taqd89q;#QWxQd}XDh{3k3GEJ2IR&ng3uTN*y-^k# zH_HMZ<91bxh-z%OfC;9R%MX2PPq#{XtHOsV_uiT)wNryH1}oAV-uMhib}q3%%Y zV^FWd3Z-plrM2nE>8>r4Af}QPwE2AS;wCK}O^kIThlM%#)B3)n!w~*NPY9U=n|suY zk+fl62AbmP8*57N_*W4`n{fUnO7EQjoyMQKy=7~Oxi zeUtsqKeu}h^Sk*T+&gTCyoNWW>PWa8=y1x8Q@FOuI54<1KXAs{9@;NtSgta-w1w)$ zjX2Zch{BdL3jRuvwt^Urk_oO}7b&!gi>pm=z^!Dc?Y(jXI*ND->Bkc$-eWf1SoUWr zVRWuW+M0YY*0EZGGUb6ma5TvA{{Z8R%`v7Lk5B-#+o}C=a00$!yeY>T0BM~#;6fFp z403^Mn^Kw#1|2le{4trrCG|+_V(=Gh{4fdAJ5TY#D={k=q-#<@1lKR0f{1q`ax9Fq z*vUp@t1nmdoU6whcUYMV1AK(kGX~+7Sz~l&-F_=W8Ev?+-@7Pa1brTwikh6V!xC#< zPAI~MmMZ4rC@bUzFu#sSnX+0M94C54lE6fF5^V*Gnpe$wRP&du&d47n9xC{&Ik3bp}lYWz)k<8S`dVH94@+mH1DY*F{5k(0D8kab!B$#J=m zO&ouWp^Q%UyVZj91F6oqlckK5=mSqW{INChhDqXh^HpM`<_Nm9%y7X~H|IqokL!jF zlO{|#Q!XA6trdGUvDHGcsjg&Za7i^MQ-aR_0FN78+hQ5>A5K_S95lsFr1fDD7pUd& zB;rVgYZEXe(zzOaB#br0jIsc0{{Sqo?FusO%QtCQ)ve$O0B7>RT!C&R(0->KS<_F3 zENYcnl|oKLjdAy;?5O0oa5!a#L)&^@y+Z4BClxu@1QoXR;s>RLc;jWW{75$GvcK;~ z6|+pvYgruBpCO>-;LjtMcQtn=q?69Lj#UEa$SN5_u3W=Z95-eX0xexfR!TD`5X-%t z_cK8hP)8$EC}5058e~3|6!1|h+GIfKm^~~iH1XEHcs*YYd=~DcuTtrj9hEz3#FdXw zqPkS_zJ`uR$Cn%%$1}t)l+?6=7>GOb;>OUPmtHRym$t8D(Fq zj#=xCq`lbR@{qcsI=dw#Xz1X2PfcieXO80^?h{Ua2P)T(EL0A3IGRsufNVCOZ0+{x zJMJv|OJBOdNj29jFyp}1nrDp7qn;5&bY-p2Q=fyL>njvCST!w?R;@Cnak_xOlAXv) zW?|P6My*hedK`Cldtt??OFs2C$Lw zp{IxrEi9_TO&x9;VAZo8mGIN5y4NaU?2Nx{OFac>qmCgdw@tB%G(+3CUQl|?#PuFD z#Lp@2%ec--o~-v4xSF0P6UE!yN$yhim)a5=O0&yX4^2--na9>t8QAq@H zrsWprc<}j^!8H&`@ z3~l#T*d!&k^5vgxsr-53ym2Iw8>Eoj@8*6O{#ZR7s%2(*Q!Y4YY+4r&+_Ya%2&LN7 zJuq0+sYTX)_uRjFr&EHl?+1kRExk|E9r$d!-w>wRj;H+@QlP_`P z?n;7Ua`F_I+65mO#o)lnFhXaWAhYi`$hw)Xj^8&etkM&<#X2>{XU6sW*K5D$IEeD0+^Jg~WS)ZE-D zmKvwvyzzAK4a{L=tR>n!$`B1#k< zlpn{!DB1gRPFJ=y6nzOJ1O^Y=IXKNtK0Gi_t#}P9Tp7mRO~UPB>y|irQYZqYPi=Hs zij(uep|pz8t4#%b4pj^4Jh4A>yZK!oi*231S5@`TO(}+P5=(Nr+Usx^sY;JAT)YEZ zt&lWU4M5!K;%oB4WEUq_*2&rg=4f77Cr7S~pwZVf|`^2IS0@%GXt({Rp^ zZi+CC+B#ensX|3_!`|!)=K_IHSda~K%Pa=1#IR8S{^M7c8GSs{;f5^`nORwEC4i|E z2c(TP!L>_JRM1x;sqm2ol2Y%Ht~~JvxJJpj+sgv(Hw_yhFb3SV)GUe(LAY|`g-F!N zBajgnGD*k)1}5BYWHRn1V$(?8rem#qCV)XN`h=6CephvS9fd~d?b%zdHM;MYgGo!0 zHI1ZTK>$gnn9m8b*ur-^nJy^^rAS0F9eDwP=cX#;E7so0t@>9?T~D^82YObO{{Xfe zAuSEY#vm&duC%ED{O}J3(-CeC-aXKXs&?{%(Z7>Wj1x*%h7vSeq>zA%%$yKKtiGlA zV2f`#&|~4Q6^2fP5l{}9=-9rZuUv-=066Q2B-}Os0FxTLP25>JJp#6qLzag;N4agJ zKH#VtyJ^*$GkO%v0=ibXbcRC^l}b-*749J*+SJrkY2hOR0EktAU-aXoG zzbYXk*>LSO#2DJ}I)yN;K-QYj<}$|jeA`%dt-g`u{B68_m?19L+Y&BHqd+_YAGS%M zyC6O|H2G)XvBaN~x}5gm+O6h5*&C=9gmBlxa|&%>joF!ZKIlM`bJ^TQ+U=}zJ+#WV z1-Ns^yHD+sN}k{ByLXe^kZyZv6dS1{+P+TfcX5h>sw#e78lLTaG#1-Vb=MoYcJWHv zSb`65kpuSBJM?!7z-X&Ri^@igIrs+Z+bbLkxMw%>bp_whZ; zV9PGkdjx{$+-3^0@fa*k%-NIA44XZqyS6|}q)5^bs-?-IgP>AQBt>d0%WQ+1+#mRi zZ97sVrJ}l0o!W*hdSAIr$M|x>M;e!sLKZX`l1ZS%yLpkKng%H}Of6+)G$4*(;xJKH zwxN1J72{LP=Y&?5vZUuJtryRy2?%tIxyjvvC(WBoFMXIr^)k?~A3q7d4jB_`)7kDY zX%|Y9XaLv2H0afR(^_ZXE!T!8-_5eF&u=&4$GTUE8Fy|3w2)@( zEJmi8@x&~WmYJ^a#8QDMa-ptu_+#1kzW244YwWw_lnFMi3EWHBsu>k#Z~o?4<&mbC zU2d<+m`It}#Stbr$u_BdXgukO{lOqDvf9ZUTaC_Etdj<0A3F{zG9yEV1xb_XYUT47 zl}ug7dwX+Ki!-Uqjda1airfflRAh3dSb)JRJhuM;nT?j(J;x=bYAH=|pB!1aM0gTH zBHcvsPXvuR#0K^ik z=+5;vDXXQY>i$@bq`$W%%?UNNx~(KvT*i0{V(WKv>i(J>^u$ty=$)E4jYe#il0W)} z3NWD>k3SZc^#CwXmFm*9r!2f6k{RnEP}NI;jMqbu&*6rv^%|CDI`PF=)bqeLho=U{ z;K{lhd7)dPjg^R(Ff9dZo_uoi#R;J2fU|A});#MeR&S({l2=ofB<}6R_ka?mmfoOG zr^_sBt~~IDMD8FW^aj#L$2?T=pS7r(d5Oyk>NmU|4$9x(MbE3SxQYnoY#hF?pwy-6K0@#fjrwebs1mXQ0bWIHN{+Q_Aze-@Ou6IBmH;Nuey&*05RKjAZE)|jcK0pgZTVLlhy2t| z&;|%uWWHLk7K>DXKsC(MEM@$0xAtcD0VlKW<@~?&-r_fIXzzd)T~N`F#Ak;_L06@+ zo2r!0hdfr^n)>|kYO2OcQT1h^@r!O{CK$;vAw4Kwl|Q>YOg66aZG#@fk}9i}^9op3 z=YVYl_(K%Cxb|x)qi!Vmt~-IiAcgH`am!sPOfp&x#2cxYrF1ys+^&=s(-Q4Y#wVIdQbhMZz28MuDq|FT zEo#)&YnDd@RNwyqjDJ==nth+T4eslE3%|PTyHcUq%CoWrEZ_&Z0BWy1QwbwS(8u5! zn&D!Dx3GbXrZtfC#0xWoGEkPwi5R{{FC%)G`DNoba^p5#ic;S?;sj#FcHpYjive?& zqJyTmMw&A$YQV`5Yi?TRE1fZxIM?bJrajUv_qxTgZHzL$*oA4=b2<W52RA0la;gwXjM{5@8Y$Kjt3 z2Chy$C-+kpNG)muPyIsSrWi6?Bxj-N>aL)iKJf}9Mq3wcePmjThFa6l0X-@!kn`90 zV<``D%^E6YZo1c>3|JrSNpS6J%Q}AyCu$zTDyS)OYOqils^8Re@Qbszc6MU7>a5z( zWq~v@v@)lrRbm)$)M9_jNnh|LAG$1-tc#@%VcxVR{6m{EXX)VA^X z_>bOkB1I>9C1N6)(zh*gG&*82+gR)rEGyTUH8m%lJQ(CH6`?dHr-mtyE?6pZI2YE? zrrT*+(xdm|y&9vnuC~b%+!UsdQ$6-ky`F&*h1r+RVGSV$*XGc8&7& z4&ouF#ACc;cZ_Q-4JatO_%5~jzg#g3XgVmb^YHA;9&oX`CK??Le@s%J95rgfod-<+ z0De5Nx!gqy$qv@jxR+kocCl{woV+8v*R-J$fDVzL4+CHQxL}m&48)cTl8XIUo4Opm zKg-%c7gy@7cz(pu?dSZcBVr-k+R1wGHnw88;lodbIAdxzFo+@B!ecGBMGqqY%&ga% z5=j+2ydg2q-gy-Fl8iexi~5)QSqe6P90DtTcMcTA0IhgpI9gY2v@FIrZetp>l)8gJ zO`^C!CRY=pu?TCg1LuMPxNvMOt3yt|jwe$ROW#6(xUX-h8<#PjSaKCxxQ@MO8zvUi zUB{8Yb+$|HQxO%^Qw18R(V8&OgYfVtN_?=8 ze9)OU3*42TNm=6uB~>+Q{N)iik~L~aBHe2Nl|Yj`_0JlG0?}y7wD@BzQkn5=Q1IkI z{un(}r|&k@L*nZMS17D1FS`4(w%?v3iNCgloPyn*E1%0ATrq2{tOBzFX_HWoCt`v07vyxJaQay=f?u0xTtd(fIvSZi4SNmaMb{<6mk{B5N$SbiBdE` zkQHR3jWHb z;wFH&M^t6Bm5~IB+2=y62*h+y9SJw*Q>80hv0n#&Yun4U*;^fu%__|$!X*w%Dn>JE zkSUPM701UPneH?9_Z_Xg0fHo8MYVx;(XFwC86pAU9_6J#xwnKAGZ}-VV$Op#4w2~Bx;Ndw)Y6>6k5=H zPCJaGLP=3AGPnxU_u->OF7zc;MQcG`Bx7;2o-+i|u}#bjD9X{AQ2a3V{{Z4r#cRM~ zFU67M1}MAts;wrstSzMUgQ3NIBUr9?a4uVZu0n*@54YPVapzJQD5Tn-bkLnWJTR_| zQP3*CI zaC=J0R&0v{(UqehK6sIyGb7l49fR9sl@_*!wB?DnTbWGTjl-9kQ>!x?lZo8yqTeKt zNf8q(krA0}?k%i3l%A4t@ZpGyI5EabM-@fG>(iEa?L?i|Z32p%hB<+u!?QVNllzTa z&mRJK3>Ih4nXY(5s9VSvHb7UI$6@8@4eJ#t%HjHAEy8d6yXKkFUv2F;vLK+Wox_p1 z*QX6GR;dbe6{`Y9TJXl_YZAjMPN<)fVP4{de&<6rYh4d9mYDeIg2@w`f4J1hamJOW zg1MIWJw3jn)KwJua38bX%F5g77gm+@>+|u~3?J{>wxiXkIa0WSUA*Qqww5{JUs89X zHCDB%rk-OBBeh;qOMFSMfRZ;c$i9gIA&0<>3Yrdh&ZR5=0J@lN*(E-bMGx+-B14#g zZHxs2DwfWg;Jl7q&aO>Q@5OGWSr0$g5bgHRwA-ng*x^BOVsZch#|*Fb*(x1KH3VP_ zjT6#2R~GQs7k33~PS;i1R=QL7;iufp+nI<^(mNJn5kjtKkQ5k_dE`5Z<~5RM>Sia6 zP9)l*$0TnezkI~K+Nu#i$EYt>oN<_^%bu8}d@i8O*3KWMA{&ABEBAAy2Al(6g=>@? zpGuDjop)=sXk&I(V#55buuy8%!t@b;pq#5tRq$C7Lldv2MI;gWV?6Ej;)f&48;N6$ znhlbN-pmC=ahDO?er!A=76t8!5;bn3YJXn_%C#S+Hr{N%xqj^ys!I5M8YTmP* zXgFX)xQnwZQ1;0c6*SL0zIc~wzKgNB+L9*QKQ%s{oHN=I;!T4k73GZh;ek?Txovuj zLg!I!J{)nM3@A}^w*mhE8u;6GMwbqB!D1dPfZL zxk+~Y=amBOrM;K5{l#mjJzXHJ4?I+5O)x*{hjPIcL7{5(5l)d#IpNu%Q7c(#K(VL@ zw)#+0JSk|v7OzOkpbzJZ3oj0!z>NIIhI#neUV>^@%wumCY7MX9z*g`CeakMAt^H1G zPdu=;ZZ8rbyaK|Si%vSUXS40*2_0PW(*yV6Bq&rpdu&%CJvmogZKi_wxY)LSCh3HFcM2b)`D|19I-k-j>0VwjZW5~7b_}cy ztO(3g23m9jZE8J47XDZ(9HMmkWdMr*0P^r8=6T{@#xgur9hY#b)TVa@ukr9KW_Eftd zT7tQ8rZ*75F%a(+S8|*jD+wrm3^2ni_5T2-HwHJPQrjHsQC82mGXDVEjmFz)xOt=8 zq(gA;9BW*XQUC@0E;3+qAEp-4OPcoca=rIp%S~*Z2^A`HO)6*(H%1ZOO_~{JaggmRtao)&iwqhHUV4Av;zsuf)7utVfZitF1yq1m z*0vNXGUbVqDMaWi*xeA(jJm67ufm7I2_^=3;VX1k6|7+9wHj9q+8`O3!|myJZ9xTS z=NnzU@j_>iU%PW4?S?jW>Ma`NF&5vnfW>kAwIrF6Ow^pn(@)=n&xSUS9^lRHQ+H*b zZaXFz_NsuXyh&c+A*zLWYhMFHRpE-_Gb(o@Qah2>+O2aH&X{tGViIgx)`R1Z=Y`%Z zOdz<%v(VdpwIZX94nK#4!a15g`q?6>AUf8h8XYiC?!~2zyajygg}G^Xs{9TzG{kaP zvUb=vZNDv>DRhc-At7rB?|j`GSCs#ef?{W|Ti8xvs5P$87ZdGQG`t!MX znsCnswXf1^gZ9;uYN>ZisA=^4D_mtR_msDI)D_E1X@ra|pl2uen>_yjP8d12 zb`jj#IF34*?o6Dq^Z*SoPd#ywyU+gklJ#Qr9g+wD8;7V7o>(^1s1R}oQBF9WAby>~ z*yhnvrGt6XOhycJ2s+3)wso#`@IGI^z^{2rGAktyPGaH>X+kjWJuy(eV~M99<%%qw z!9mmk8jSs1v0KGR7LSjI4xMS?+eQMRnB2ifLYL!CUJ^WNj%AJGH^!0xBwGm=gF~K2 zh63IbUbCR4E>mgDRB|GR465x7%R;pxs>At=Y4gOP(Tv94%Z33)w^e9s`uI7c85E3# zDQqlXA$7GR>MJ890}xyHju=Q_h|fIaBrvL$ zW_RfT0jcGQw!63=ZMoXJN4ncMDDlXK)>a2X4kO;}2mb)F+rQYA(ix$#kfE$|qXKiw z9^>x5-Mdk@MP0YNZ99}EJRW^od zRMX@zz4An0i-P*7b)|6zQ?^%(!lcn0G>CJ?suJuw&<<2+V>vSFYopBXoPziZ+TvQ!z@D^YH35CWf`Hx$wuhL;nE%E8V}-y{BihdA56Q z^FjF%smxr0y(>}_W^wM{>D}3Vpi8(O%UZ@l}k_AhSS%7bz4 zj-ae*^;M3UR-SnGt+XEDCjKp(GJ7uiB|#ka%mvSJs8W^m@$$hW)SXT*kYAN3D7r19 zL4%O^;zgF_Wd_Bk*If-r!&IBTk%y|1`B-=kc==U+7&IQ8aTx@)N8DW~ej@-#g$n@7 zQA&mt2j`FVEsoo7F7ab4wv%xR?gTDr_Z1}RxNx`;<%@{uB+==Wb*JybM>7bkZO`ho zFt5{%=znj6efgVrf(Dnl_8FN^dOKKkie+50(-Zga4io&XmeaX-_1A^9@L4w!zV3Tc zFw9G}v7n7cd;*FLITQ;Jtc*^Aw8NW%^qoa(T)7-|HFT*N@WCsif<7Zm23(5haFJN5 z5txUkQM#I*I%R;8p++i<0phN=sr?Q%k?veB-)4&*+ie;waU~H@utcKX){EO#I^n+_ zR&-PL%yA4u|0j&>~H+#j}L+#1CmE=v73d;lm z+UsKsScM!j@Rz%F*8PiVOYR=3@TG9AcqQv{XH}&?jutuR?LE|*I~bH(L9Y*mJWU1E z&AuKRse>x6&?#_EZF7X_{czD&p{ZPl4?In{zBK%P-C}l8BMEDoqk6pQrW`DtBI-HH zpnuN=n9{VWfoSO#=rC$N81vzX_Z`Th+$|wH2;+5PsSu>ah$wD3Hg&?D{3gwn0zCQA@IJV-s+mmI>T49(A7wKB?#Hl1j(a$T>4tHH5@##TtBP3QEfdo(A{6%gCB8br9R>wlU(w^ z3=|D&*Jz@@P7rp5R<%7>n63DB}D>B#h#G7Z8gjMcC7z;xopwEw_W02x;|Jncu z0RaO6KOuTUyS@$&L-HEMA1ngq2^4-8HcQ>5#DTVl%3@A0=&kA{2!{F3VTKIR?B~h9 z6H`i&$1~pOgQ6C&!{p(8y)GSWg0mW=WokU;@oXuf;sDExOh~i?LtAF^ZGlfr zkEy&y43lM2)v>A`%${+Bjzx?sqpWnzIhZ!lS_Y;{(dax~=s5P`Z`a}eGmnwz7D@Az z9wSA~4hy-ndH(Sk@kIeb*yeV!Mv~!fSn9M5O?e6E<|V@Yt?sHT~yzc(qQVXE=?C zPNJ83dc&w47J~EK8pBOslv6;~hkam?cQg*(9HzIBcIT1U#thc8)G?7JP}r#lJE6VW zGD4%I!8_2SjCMs~eOv+bWOW5(Vsjfo#{(W%wqhF~CD!Je%2PnprkrejXnZt8UQ5l( zq}&~^@re)54kV2idfi6vEg_t)#60`wAQ)SOthW#g(A$%+frJ4H#WsfZyew!~fi00a z-(K^bdN0^a8$=G=8GNAFbW(AV1*I{cxQOa)4gUZy@s-a0{{R`ayz8sR%PD_MZLYl> zjyOT&M9Dszm{mb;OyuLX_eN(%Txx%ug+nPJqHe zVWNGIqx~AVu_?5tdB$0OaHA)8zZsBFv2dC((9V&2N}>RFidWN(^w?EIIt(w!>Sri`@gfA<7~HT9zm-Zp8`=dQPXTM)Cb-`o;%SrV&kmF9$dyf>LJ! zHWhnS?-bL(_S8S#aea3g>qOdP)6NX8%F zGx!)u$sPVl8ir_iY0llm>aovVU|F&F{ta%lQI1KBHeHSc*7T{-9Tnsj>dX*fmIq{DZV@G}5_0Xw&D@@$y% zeUORl%XDix;|<@-JFgB^ru~r-rZg8yVOoenLT}&3F8lugcu>~EmX8Up>xv@t3P0Xg zVU~wU71qiaJnHkTn}fG{2F)$(m@2b}N|HnX6KLH=KSQ??bAocy*x<>=4E*h*QRp(e z-Z4(?qfX1(eBq%^mi=O!9bD1~M2@N(3~7=DEFZ9af~r@<4hP;~^xw{D&Pg^SjN?2?o!RFnR;DTisj1 z(E|tPjOyeOC*E!!m-xxTO6wyjccL7Q!1xmal}k>)Iju>cwBPQK?*PmJE5lCvGPt$; z;-SAyGDoz<q=ZY9v={$H#^>Gcje zi*LJ=a?eV?4$`e_oLWdkq0a8`Qh-DYC<+|txbq{P;5`e@Q~{#@01e*=A2|R;p+Hmu zY8dL+Wg{#h3{Jyk6b(}yT$=?5BIM|Bz7US^KsAUxEOGw;2HtGn9bPcefN)zMxpQBW z5Ux2xrF1kd{bthWvaXMK^bOT+tq!S3H)u5a=BurDj)SFO77@Q$RKakxLGl8k)H#?t z-wQuy`o@82s;TTwIX8kFV$B+XLhcxuvxbR8xsn;5H;gMBbZoxHv-6OR%dbY0clwxs z)KNpVSDdN#WNV&wOH6x=p!6IY;4scg&t6e?^0qjv-Bi<$x{ zxCV@`{KD+82`Zo+*NkAJZEM;LI3BoMY9O6!Aco$z*zULRwe5^?ug<1~PB;|m?+rEq z4Z&YIRTF{Q;ehyS)(Gp?MVK$MsnIG`xJ!g4;qLzc+y?EWq^=418^#(pML3QA{{T2! zNRie6qzBoO0~|f+kUIYWIo8kCDgId?L`{R%d21x4XF|{$6w|Z*V?oz~S@6opGL_L& ztI~UZahB6gsUj^a%yPXy^2Pp(oSh)Nk8|+Crjq17g{(esQI~sQq#)ja-oe6Q8b8Jx zei;EC2x^y7;mHo`+^tcjfSy8zdjlugah|^b6J|9RY!wY7*N_MuvnKYK)^!LvX{CwKoF6XT0`(*RzTWEHi;xtT9cP zabY4Oq;dLTW#MQq5V)wACt?vMltkyG3`usX7$>@4uKRL6` zYPkVx72P{2k6Mkf}RRHSo9CABil#1S^j5m7CPjgtjL70bdf}6H`)(E}3BKCt??-Bqi08%r4 zxXo4**PBhw7mXO}){=(LVDEV+bY*hUI&l(w;*xd7rB9ZN-T_}QBv242H}5EgX-iE# z)EGl7$Ozw{(tCix7$^bTc+G;=@l>UqD~>ms5gV)1HI@q!@i=Xj=c$vT5$9g`KO zqqZrk=zPW;-(Ij@WX);=LkY{rrr<_$luzS78BTm0#c}022z!E%vbb!78$TIH6&l&k z!yddLE(!_C4gOgbVNxw>cqeYtjIX&g85;UFJz&MCTGGeY9|lsD`D4G1Bjv^mse}sF z-XYmwHGoMRBoliMDt=4=rG~32XjV2Oj8?ix;t*XnW$FM3=#Ca=7nozq9$^6r9k#an z#RRG=70$(-VEW;A1oUCz0qDg*wyarF4RTW$@L6@x9~|eT4nXX79T(^0CPYa~I^ugg z?C(A?-y)zh=!T8Xb8+1y+X!(z72fc&+IUbPe)1!pD$3CjUngAT!U&znA9kULqXM@) z)oD5FHB(UA_cJY>mwO>nG6X5Jsf#CErcQy&@C`r^DG9QxK4BD}7>Yykoo6OCCK%Im zzs4(`p+F^3YOW!}pd0Ad_+xW|FM70=|YU-Z2T?yZ-=K1e%56+9wZK zB@KLixTp{W0O30S062#VPcI;*uB@z=Ztr-M0wBasQxfd?rFNH<#bX@IPC+J6ddfy3 ziMz<5N*<70V4cP!L|1`GR_bJn;PVJA?$x;9FaX|MNLfkXrx`?f40>RZT%d1x@A|?| z##1GT6iyu9X|EWyMXK|bIwp1hQosy$IrW6U{b7ei z7Hz<#{#+M}3?0{QRy~~jxW{mjQL4E23`g?L7GtnRwNXN?ymp1hNC3@5(Zjn+ z@pcH?K>=DsHYT!$=K%>(3Hfh^2yTdgkTw|VagP(ae4aj0_>8`f4IZ6btWE^RteR20 z7T)cX5NM&*o##9jaAn_rBdD2=4bqWoC1;A`ea+BH!6Au#s`zCWCC~Qx|jJ!5Rqc1?b7g z_kg8GcZ9+l(ci3ejl%qxXmEBNVAk3rCRqm=pg%8PoI%wMsXeJab6QFBl`K0j_T~;P zD%3T*p(-1J^Kfw8B3|4@CulW!sbI{m=L&m2ZNvLAv!9G6ySw_5jdnw>H^CP z9?Xof^w#%43~E$%JjfK>oG97V)@|43NRMNfjcEQpFlNP0|16ifmq1G+=l+kbJ7tdYe-RfLvBse|9;n(BBfLhSA z`NZp=yPf=HtcLaDmDfWk6$M)a2nabEoJaGY3%=$pTg?|b0Uq1xcb6fDy0bkJi*N%{ zTSsX`vxa0!6Oj=SE@Q0a+m%+}(!)tLJEr)&NPMtJuU9M#D(e*tfBb_v9{KAREby-T zo4mi*8C)R=47{6KjV3kFdglgA@%;p?{H7}Yn-oESomDfuAhO{}g}*>xLYRn3xmLr4 zedjl<+li~UMtSH7jf*R+mqN6HbKXIW-`A^;fL}N-zIB|nlXhW}a0H*nZ!}3h{>?Ra z>o^}{bqy>(#wyr+AN!OTS2jt_*LnGAT9DLzj~i!n@Wk(7^Slc@nMJy8PHWOVsES~0Bvn48gr~{S7ycUfYc-Gr-N->&pEd?gpKe@bABs?@$lGf7oON5!syMnj}oO$-U?+}m4 zh|(@?=)(d}w!$9+k9`Ob0m1z1ZdTSihW1Sm_}*&Syx)#Hz4w%%x{_}Iuh;=nk?H1TzR?j&3jo}-a{?GB)6x4hB0v8JtFHQ=ur zDlmY09g7^aOidun>`g9-H-TJ!StLg535OWmCkGPCl|h{tbamkafMNjf(3kng)8#Y( zURMM1J_3ppSH3$szBoBTy%<(FCBaqTj;!k?m2`BG?}f@l*jov{J7QzsbyxP_f{TI_ zcZS^>e|uvp<$VtpZwFKtW>JNpV$|arvo>N06_o7W9Ep=hUa>vYHmzGvX$RgttCmkw zS~SI0@X_IA<|fn%dM6!eApMIQfqT+OU5#F`Af*&C9a^UWOP2MlNYK?*H_?p@MB&kZ zA0(x$lwC&8B4GLFIW^V_4Bl+sjRbq=9H%V` zaRT+m7>>CKs?m@i$%phG3$zkL9=UOh(hC7yG^4(p?OCWXHWs(08={v-lxyW>8pXqo zT$DHqFNrH6Fr{5*bNbDhMbRNMT`PTLgRtN;{^A`ic8FPyT^jvk)!tgyNloE3VmJsk zQYD=^y9FVDK8RA^Q+_AL{bahznAbqqXC;}IA&yH7tZ>lz`G2}$7u z1yh@w(Ek9rkEP-981jW)PPLlJ6-(=$m&-vG$q^TUh;?( zhprT%Q0aNdj0VK09hS|=D97OSlb*uJmeZEAt1#Lm#Y(znS9ov&{QATJOGmK7+Z+;Z zri({_qf1*A`S{Ik5)kcc#&O0$Y6q`vij1cuOOIYYdmtjze;TG6<>%eSjw4T>j8*h3 zQ-Sj`x;8y(KqUiqad1jXkkT6f9(C40?(R6&L#?!TiB~0h+xX5j6@h}$*B&@ex8z|; zqK>J6*m9C`L5$7Rq*Bue31M~p;Gk$S$ZDoI-*1c@6k2I^nj#PYIaJ_*?Rd)1*)SD0 za$EYuXok@{+wq6r<)YEuOQ={<-A{=RWvl>_mbpig5juX9!!1Eh<+PQwG33(2dD)y1P`YYhJd%( z{Z?#_hE}QZ29<{S$pEB($&4_es`LijEq00BVs@GGFl#($bf_0kd?AHFcq#bxr}~n^J1JfKsZ|gd2FryRUeIVGyaV>o82< zBQYBC`(2)LPBnKjZ)5OfpJ71#hw#qgUE6-%*8yK<-Twet!SS!q0$I81888(cTOnZF z6d5KsAi*%y00tq8wM1%zpf_OpafMn~)28y?xG`_Tnm@Bm&?ckYUsw`9$8CWGH59yO z^?*RV7JbH0^aemRk)D;71`a?>S5I#XNE&l{xQ3<#QVFY9eQz6eyu!!wd}H)+Wd&7v zT-u3fQmw{yj!+$#Lx3MSAsfCEYCVX@$L|Sxj@n=1=CZ&IDAw?Za`%a^p^%^)6nGnq zm~73`^By}1&P#(YNh#SL`@?J=phfdiVu+T06`Dmf8aI;X;rwR@p^(PpeqgWi4ho_~ zkwAh4v`3E{20BO#a#PrIdd@D`Bxt;cQL{EG3HV}alG^|PjFYi3Wk`gNyait-3DMxY z2C`)*a0L(;8}-%$@RiCXVC&wqlp+r@y+M7m-l@mKiVQ~p5kaMZX0vd2-x!G`b($@L z`XI*xx&WoMsNts(z$IAz+@%si9O>H7(UMumPHtNDyFj@e+s1rwkD!x5tMX=}0A{A@ z;fcs&S}U&M$Gk&H&K^UhO_~P4`7u0~3GRtxAXR$JYn+Z2Kq0X6n+&8?qNd5bJ0FKX z>5QIR4(S)HP~y3@Nto+IRCCeub(<;)AWV*V=bEj6F(6f=jJJHfEJ+rj%+>XcXqGCe zJP0T+qYhKF>Fs}hvN;e{t8j;~-#GOs@I55CtiemGv`FY#UJIPylB^stb|a@6D#be@ zt0E=`vcGt2S(L#)p05s zEYf>a$8|lSfx#nOwccH5srV23E&Z8s3uqlD&I+kO5R`0XZY0(o5n5FTM+CyIM%tM; z0H=G;h6$BDCJ6Eqe;6!k+whLMd|7Z#&c}wI?Az~pX;iES+jEOu~(I|)sHyq~X*`lzSzi*4&b zSfvboy56w}Lr(S-q->LfxBwy=Un{IB6_%UP5Jw6))2qHOGT@Od$U{%YBf!a6@Js_& zm4db^NL`Dt6dHBymjnq;zKgB7ra@Q>Mp_y@ zO)ocj+`SUo^U-;n6C$az8FjceFI?WUWXX2KE4GLock!}NFQjchJTl}UjRN-9TXV)~ z4a&_*yFEE(Ifu~Gn{NLAh6%>T8@@PJozPPr5b?VAiUMRR-~e83vJ0V@cSz76Jh(B| z1p>`g5cc9LeCCismup~$<2h)6sE5Z%4U?R9T`|RE7vMY@R$N*1QBmME>j5&bRX0k( zXX_pPR5hCgR2|Bl2tlUy0Z;bux{7cd^dhSK&Z66MD&d+-qA@TmO(yRdP-MBiqf?Oz3Qn9UkncS2i*zbn^ zGW>DDgpIz&=+NgQ(OhoIQdOx09Lt-_DCkOr9w=YNTbvGdZ>g0isvuBioiH5$00#<$ z&)5a&+IyJY0^9G#090v^rKw+n=JkkpK-f;2McMkr0}hf-1=u_0`W)&&*@n|@I#SvE zGa>wMYI>ERZCTzS#V-JZw6FD^k^aA3!n~!?g}Ub+!Q50iqA1+dylbjj{9N{1szP_* zUYPlL8=5vFzGpc>&Z!A{7GF71v!G$x2UsZ*B?0DpV0Oao1k>H-{9xG;%cr1uW*J;& zAp{Oc71_9Pg#lDRqV@nY-dBi1Daz=I4WWQEE^JzShhLo8f{;tCFV5qa?sc<$H*2WZ zIIyWz3Wn(3082d!rCl^Kn_Rz&Ly>vYSdy>hZ!|PG>CS@CzzUTiT&trQ3faXb*EetI z@>(Q8DrgsX_nJ!!0cVzS_PN~%<2QXZ>A?ZWdohd8dHT)c>%g58w@1s!*mShhtom4;MFXU594%fqE;i zEt3ZdGmW1*5}|oR8tiN=UKa1(K7mEP%W<*>x&>7nIOmjV8=p{UMzmvdh0_R4#D5&+ zPv88{i>|PxsXZHRZwk6FFrMWE3Ti)qW6JY%^yc7NV?r$ws_{Cn1Dq3^pWY?Z>Hsd7 zMuYM=dM;G!^ZLyO2m=XcyyNhRpz&1$<#@-k0O_MwPeV=sfm}9*Zh^myHXu=l4hXdr z)s(~u!59Jf?|2o3TrMZwX%xQO)*1>#1QEPpRALi`&RMii(TjU$&QeG_f)!x1`OTsf z0FaNxtdfY5a3F)FYzfwEae4rc1+qSHVhgPjeBbqhFYxIcm0}U`Q@kpKV9&`P=MaS! zZqdx&=Pwr-kSg>VOh0N&K+pyCg37n9r_M#X`8m8sbuJ(jXT9K1>i4hLGYNdslvJI& ze+C$F6KW-%vL6O==9{HYz_@-tcz5O+2+r-++;@|x&SWea=^jb5UpSG9ZZ?nPeBp9n zTPLzt?7^TZiX#suxXJO82fit{UJz!S_lB(OM-k#W^y_$Fk-I;=n*{+8hz?P4wFd6w zHT`23B1lSEhTbWNbj_Os=AVOQJ?8yqDCSy=)LDz9c@*Tj4gmL>h$R58v;+5x%y$F; zR;sl5x{cKVLDf_b-m#cHnspMPwr{g6$!oeP9i6AG=I|7BjcluqmmDkz4E1&?eG@l8 z{6Fs{Y;opONJvS}50_}vuzobatU24!!F!pvAC%4o3jY9Bb8WAwnxn#+C#L|T%-hht z9Fqeof}#93aZG{+v~v?(BOHL*uLG^jrlxUCAfv7&csAy=8hEe&05OJujbLa?UFbF>tQ)9|I2(8?foMfLF(}~{n*RWK#))@CX*A|E2piwQAOK$T@L>Mj7WJ3(@jh(rA-!shP~(ErAI?1EB166-G=!1u zUEcoyJ!i%Qehq)D8dPDf-RT=tedD6n%gvxr^Eh{u5G*3mrptXjWSYQm&K;LT=7wU7uIc3dTn=JeY*ZxGyzu}TYH6cEplFgG#;CG9y5^pQ#R7_L0mIq zT>+vBe>mfgxI#Zg%5hZAs-F1psTxv+dc{(YsTRXSjy3Gfd?eQ` z9RnpUY6X@~9+!*~<*E?kdPw9|UyQN>_wV2UlLOs}n$?bIJ5U{?-+8JQ9k?nH;nT+% zw9K4|4$4mPO&OsKoxSWooZg~=HWza7eliCy)GDATuyIV)?E- z4WlqPWrq+wjvHlYEGVF}m^i0nl>ND_JIxnd^_&L9m>P<}4-2(aV^=_306p=BjqZ## zkF^JY#VhY_Z%U=y>`Z(j;D-R?p?))Z!KCY3U4rP%J+!(;CoP=1`N83-7&IJ%SR1WS z>lUguv+P}rYgoyf8i1>{!K@S)2De{%FOL-IdzO)u;mDVu7PTQl>=5C?jKb^7qe929 z!!Ogk)Fu>gDh*a(`_OwETGkp;X^t_4Sfn+@xg`&_ZE71kmDp~)D7G3lgz45@B#w}~ z^E=pooChwkk+U^a2-&=c)zwG~SAu8nDpa1a_P@8ICHqwvDgZiNBasZD4f6#GFitYK zs-P8g90mknA#rW?&u$-KBM$OyW&PJ?8+_gPbXklv%-Mae<9y z)BSBTA#JRQrngctH>Wspzj-G6F@7-8hg?~`b8$$H6(`RNtk``MahL@DoLsz;G>Wv~ zME&!ffi&Aq-um%&t8X}TgErT|{J6^l*H7Q)Cb{^WXw97(0mHU>2J=y+#KIG!YX1Nk zt7sZFfwS_-q-YT9yZ-<(uj?l!9a1g!07X4mwc34A?f^^NF?4)keM1C5VZlLM8mN+T z90wac^UgSLm`bb({Ta^l;yEG>BnFY%AoX8)5NrqKvB)-~sA>}kxQA`{V!LTZ%YJo` zI@mi{HAx$<#zZF68^W;LG1y^%1{_i(yEVLp-mf?DgD{0NvYR+7#wn>P^3YvorR7Cv zL|^L(x}MFs{#khMWo5C2P0UbaD6A}B+k!eDhvyPCnfPD17X4+7&1`2_H6j6WgSrSc zanMH5K%;LrAW$A%u#DE4oofeeRwQ8T5W7#$89^0B&lBz2%1pKS!6m4m2~A!8_{H4c zFD6VQ$hyr-aY*I|t-g1OMrlwTH}Wy@m#Py_FJhn=KO;+#ZzQ%5fc~b(7uPP8YlYBp zj{2@c^#1@^&oA#MGgpT5l7`PimDWe5Q-T9a&{vNAV25TntUn@^vt9Lr7pbJKmadTA z?^xd8J%BOLNbF`k_GHH5WdsNs2akDa&*C%9a49ZwffhL*z94PNBz$&0I~-cX9$g3U z&*Lnb4hbI+7r)7M&hmWa$-cYv==p!FiMdlkHcP9)1fXQ-BI~YZETtrcoB`OJb>Jx| zs#?m16Q=(Fyb4GKNd@Et6lSGD0E!dD@SujXeuGPra6d5FFiQoprM1wQV%a;c5Q*LD zsjX#m9Rlb=siGM4;|?))`;^Dg^O}!h7oaQ?@b4CbqCp{78jEc%8S5t9F2mHA1+(|( z3Zb&`j;7{4VT;clW~aY-F0w1Z0!fEu3~&*SKoLSRpN1>^;{k(lZ^g&^z@W-BuhlOi zzA;-TAb&q*9{$+liYon>Q(cY!05~Yu0QNAR?rZP?A;Xoe=WE{j*)d(Nu^)&C!i!#q zfIC3YKj&EbNAh`Nx)#R^TD`OEA( zmw-6d1^#kX-6^o~0ckzv-U|=TyTMdOMcHLEv)*mQcGiGY9J}LKw!L+{2?=AIN~j}~ z-a8Xt73;JMelU@S7N(Uc`{yOS5fwaWN3DKvu)zdqoW}arELH7Cn~2{X?lWM&=rTc7 zASk_r)2d{5`IvP}M11SsFc<_EO*PT)12Rlt*`eL}Z*v{I>!y|OqE#JXv@H2@V$3Gg zLHq~d;l-d-61f7Qmx05JybT9sUG(n}NR)MwpxSnN`NLI&La2`8#zwKSIYZa+n?+S> zw+4-^-3RG;;NES%aSWoV(ItAu)VRFt=+V4Kw8=eR0p$p(0v2|2k>R2X^4_`W$+;x4 zz~n=3R^sFoiYUT*Cda%Hiscm~tWAh#;ft>t?~je=G^Q;EAp{2>j5}SE=3bS!p}umR z@|D37a4mV=5!ci6dt`lOc3-FGfAa#)_oNXb^kARDKVGHo>I|uaVcwg&Gr~ zb=z^*u5jKE>KNF~Q%88Pq^eu8MVS-oWiFr~1^MJ0 zxU{HX{u#IN{b9M_KM+`CtiGmptU&KOUC7=R0@n$vtPWyPm860L$gZ&{x|As#=rv({ zAaDmv`4S(3&kInO&`0pW)YLj1UjG1iylN*uoazin^?SmA*~BH$OW?^6pG6~q)>eUB z8PAd$%ZqOQhF|LdtK069vMAr|xB$Yb`5izvrrN+Wdh*T)ad^Ku$Zv3) zNcu^JC0z$>Uc|%j;2YHov``NW3%3IGnry?QK}MjZ}W~=xQqkv#l3Tp zrcmYUE;=g3D5Vnt*NnmuOJ_S=+dtejVZQEu@d!x*e?kDzY~ad(0M$n#>`}?D2mb(w z=pb}&zVWhv+PNJY@IRbI>8=cb5$SDM5JMcanYraBpndZh-L~k{=3)fZ^*`26ne&Ub zdJ}nglkrV0$Lv#sb>2i5+SA8=T@D zLO~Qo0yAXZREyw`B%K@$;3@>o^gs!!(V_Zuqk0Au##F9DqI#_L#x- ztrLJ0{&$e_+qTUg8Kk_br)I-BLm!OeW#nk30`WO|!?T;GX7iD$n-NZQt<9$zjOrUI=!zKZY6%j2SK_m$^DWt}+@`v1E|(=TjYGlEm?w ze>^`J043KTmTli`r#MHMVLBg;nY51dWO2(ZI&soAaEMy>*6{U>NuyxwVZtQRIF?0U zkaLctp2xBgzJE?3YH4#8mhO%-(iHss?-C6}<6Nih-Yy|cIV{v3Io=7?a_6md$rBu) zi6)q!Ts_cd5CwQtAD0}`*GGBiI>Ls#6k}28d(J;6I2>y)uJSobK#uus&Sq?HM%IA_ zd)_ro&|B_rD!MWr{&aDUF5KMGyo8?$gJ(I;Q<#^3##Y|*ja+!S&axhI_O-450IXog z1YO|=L7HAh=edIJO57G9n;RwvY+={&k@qGVbpcRS3czN#iAi6P6QPXN#!9aX_|{sH zO$FoFGQ#v!QM8XAyn^&_zz*n5`?y20p0lIG-7UKWzOXX7Y{PAp)^E^(UHCR{Ctlq4 zW02L`7c}K6v8_9I>V*?nR?_Qj?cpv|&ZGjZP1I|w3t zgUi+t1UIiO8Vr6@AM5YuER4)yuo2x(cFG_o-o1zRLmV1V$gOI1-P-FFNJi-+Z3==? z?SP}BFeDZNR^w;wE4Z_zn^%ZYz%5DBe6&0 zCtob!EDC!a;fN1ckXEBq3S+Gp1p(H8z9BoCMLp$p@sGWH+V|U^N1((6wC&|~bL$W9 z5-p`=CHUdi4z>~?)1IcpcU8?y2GNEH0KObd>fhIegGvKSLh;Xe2%S`Sq?_X}WT<)N z4&Y>S{pP$;`4iiMiO0{WzH*DkQ`Ua+buvFwBa0bx@MiD7j9%*XLaT+RQ?9Y+pos+9 z5@UkQw45GqDXSx4_{c0ZdjOn3W4{tF?~K375{Qy;R%&ye>%;8O*EzVjSVQsS;!Deb z)4lF?Xf{?5LBT>L{RVL*2=yRZHNCnwgMKrabtbjZ@XKiFb$P(?>?Zx;6fC{tCWLF+ zBW9iVo6~^CRMOZ4Bre+Gjz9z~bEg4aZ@2Jc4&#XlaCb*s%so2NARB<$WAls>igucN z{{TkvEE6QMR2Qw{XI(x|#uL~iID^=drr*vQkgKpgNfwnJxN_7U02&viO&NWg=2|I$ z;Bw{-Y=RE)USF0g z2PT>``to_Tn#*5Wz@ts;*}?#y9T zBsyzP6A;qFGgP#pq7!{#r({K$rg5|`I~W~D!qRNy)&!2c-`|Ce;%=<8v>N}{{R_T#E{S{o%_X(Of@N2 zP3`6D77Bq5Km?9rTuv(}PN?ancdcgt`Co6=rVc+rLW#BQ)@g~(Kp&<4vYjBCcA5)4 z%>Muw1g6_m{+@9ON-&)H<^AJ>b?hrotg5!SWed&#?W{op1{5<003CV>vJs+2H&X;@)h6boDb04t98*RPCr z6lTuN_xxeW`ISXo8971Y0E7rom*x~Z!HY>xVfde!kg8`{bs%e_tRG0LNA}adPH3H- zTs5FcWeAlCp_pIL=CK%b05e@2t>UxpY-|BgRpgAfknIOYdcgsN=9dlm{A6s>SWls4 zfbU)AvICel{H_$JAC)$mH1(grzdaHjRKRGCK%{{?bucB85SrUtZVtU-=?F4dLtN+i z$Gp~LKV;K32sOsB&bM&34cgScW;IMM_f1Y$b*o#A%tKh{kr@_b;?Njf!0Q(p6n zH;J!rctm#|zH!#^n39PHB5XN+GkLfF0EFEhs3A7PG|(+zfqe!J5pg&fv3f%Zzt+Dy z&t`it-47Gijz6rBB_~cCoA~vF=6-WY>pQd>Nv5Y0c&h->3Dnp$JG{H?)g2(z*O+E&#M>G57^>RJo(oYllqNSn3o}*^U|>uCnuU z!NUy(opatCkV*s%wPUQJzIrlah?WfIS)e_j z?;+L6s|5l6W^7|Av&zsnf|Vbi3=ys^5kjG&3BBI1Q31s&kKVi@H8b=!qjTdlhL%3Z zug*IF5(odKZ7`oxFDce2TV(nW%-HWS6`CgfMA6b%DjS_ z&Y`PFm*t82WUJi2kBr?J62+P5FmD==PqDakD}medjx8PnMd}^nLWH3X%~TD{*u$z! zAEd^6Ge<0(d(#HoQpYL%&eRAaBlEmUf!Y0GYXL>jR#{H4&6af-mJWlzlNAH0b`R`_ zq0TJMWCaecO$5hEi$E4Y1EAv$Io?Zg*w!-`U9A~oy@6Y&Nxrv^IS9gSIyzzh0IcR$ zE5f>hXAzefZ_CKqzIJ4KN8&i$fsSqKIVTLPq546Zu=kr3kF2EB(_0sAhvySm!ZNBg z7@X)&-ZX+#q7Z|)XW^mQ)12n!pGNzw&w6Nw6T({iv>!0Iafv?n3H$5uh(x1qyC=LF z8NpS%OV+33Dv{vhH^7V&5ru&| zK?Q{jW`H{&DEJrrS`CueHf;)hmuN&|tg%P0L0Gz#^Ed<@) zwm&;yEe4IPmsw$I8Zw*7U4+)9&4%%k8|!_8r*n)hX>rn?2QmfY>Sa{hk;B)$=V@1~ zha2CMon>R8UJm|$SPtk=5CTY`#{*rTdiZjOK$PdG;y~iA3PZY2OLM9}IXtpeKE#}g zhi)WNY{&+32s5)Aw|lcB?z``J!3*-hB1Rk&t@AQhhLU$1yoZF&5~paS*+{|8ZV7P5 zBV?XTNjCaEdd65f{7eZYhgL*x7j5&N{{YS@bW#=#k{$;eB?>+#iL6ty^P1xjLW94v zuirY$!O1K9457gn0qHX^s(_cJFF8LdC?id}2hIr>__nD{`JGM!5-G?t(*tw*#lGhv zR^le$Zkw69h_FpP0alsD+&qklX-7B{eKn?Uf+Y$ub!M-;E!2a~Kg;I+ znE)hm1R1PZsHi}mrfKRF=+%LAL+c4th;#tKkGvQF#G&HLqKN65LYv_cP!bHwI0CDV zH9)_NkTRPEXwGYg##2a8^aUkZt>suMs(n~Bc)<10zlPOiZUd(h{XV-Lj)<~30RkAv zOW6s@;M@RoQx|UC%jn7b4u;PIq(&YT$;ep~<~QBW|OCmPRUI^@D26{Bb2Lo_m<_F~Uhp_G^)*Wk)~ zuYU#g_{%_dWAZbDdEQJ1dtrMF?9f5Y=5bId$TouJ=4j#n01TT=udo9D0EQ`%ou#4E zTj1Qu$8!({w$lFqEBxyUq0q{@HwDdp=JR5d0y>W4gYx)D7f-F6mgl@jEFpYwchoR8 z^2KQ%#(opFZ4OP%6lUJ@`@%5fz;-4zY?`Qm0V19kAY@z`aYV zPj?sPY_Ha9*ssXD>*4gbaC5pEs^}!p!%ycA&<8p~qIIuG)j-qL8e3RY+onV(c1OsAFLkO=WHTHH0eKrkrObKXkfcJ^gc#`miiMOXrh}Nyf0HbV($` zPo{MPQ_@~@Qi}_tRI^SZ=x(D+7bu&H` zjOrP%+qNCblS5N?6oIHW#6^#wf4o!;KJDT^7@~`s)By51v9<{^iYh1v(TYatJ;FPr z*5K4O;>TEx@!Nw~r2ZTX`baagEHM@BGPsKi@R%=e-aA0Q82Oz#?L%Y{G%TQ)6`&Dw zTbwv`PE!w1`tyrrKhdZaIP0eX#GjdfT-~3-VM>tp(2g^o!DUzGw28snh7;6-hF7#Z z#QRDf6xSf#<6>jjU&8+Y7>6k-zBHu((=+DM31#hI> z);!^AkbFpizSp~v3-7G_g;PLxw^?)$I@)1<>cA&>WfI1+dKCWv3|MMv(?|+m*_MGq zv>>6b+cEta;z)zCVTr{VAWkuME7ckmM7Ug{#*$8P$gEu|_0jpogzdpti_yv%y|m1U zC`h7oesfvb_^ludpaZPAq5xjb9pHVAu**~iMYFC>m=6S2gU=R+eraL+9s=yI+0=12NP_D*_;UDO9-GA3}pFu zkzfrcojJ~&dMCY*A%_y(9-rr1aBM>A9-4m45kba-!9`H)Qg1bV&XGXTJqxvXpCPfQ z4#+zGv$zvVkccy|A*;!h??+)DdW|29w@2dp&Qg30fs6u!S=ws#n{W%HlB+;MLbcg9 zzHzM@62Unh_{X72n%TMQfp?KFd8_rJ^okzvgh?TxP0xYim& z_q|qaP8|8~96$LakaX;RFr{>;=xb>$9D2*HGO)HN`ewRJ8hvYN!M^3dP31@uoRzVy zw{IO`Y=~BtqOQd{Q@psmcPh7e(aAiAS0>%rkGk@ePKj7bK(SCy1_Zzz)uD8c4lNh0 zMuu10vyPeSdTz}1V$50c7$Ud~6beCzyMU~Tx1IXRh8ZEaJoF7C?@Va?t`O#Eboc8u z69OHmUpP_0M^T4z0#ikEKrFyeLu`E8`J5 zdSOO)gbsAzWmX1^9xebuqOOceh|`0)#*g%Z zy^&V|R`oYIskh_7Z%9DU0%duQlt7DLhgj%N8Zv>f_q+g9xhupTsXv#zff<#(3XYpP z#C*G+d?Ak%>2Fw9jV9|t8aUZ-n269ABWgnCJvkiBbe6qhI<>rgx+#A-P<>@9im9oi zW#Z**nk~mB+95{MCwL5Y%+WP>>%8Hu_xocKp7JIt8#l4WED9bBP2g-mDHf>PYDpeO z%Ixms{{YFhysfo7SN3fI~fl zow*+J@_Q8^McacGfzifWR-_NBq}Ev{gX-4j0lbhRG?m$h+E)D6nYT8=CMx9z#*Ht3wkhUkl%n%QGUZgfN<_|oDT6v zPPc%qZ=OSG3L-bwcBDE}pfUB47^Mv~x25cz?+4wE$rDX5+ZE#tQMukIeh(GK8{@3k zZ^C2?H+g68C;tFHy!-zEd3hvCl-YSRbdwW!R^@bF@crvZzI=Fy)NZ11Ygyn^bZ23Q zm`g`w3Nc1R$;bXEekc5bgXfM#8ILEnw55-Ux?Bh(fNo zUNK%z)isiUk+G&_2R8!Z&~|l{bpZZ%gI+F$%76u{qx~2tIjN&y`HS*-`1QB!qr$_gLXkb#+1=WnlXYr3W_Qzwqv$08C zA>O;dAB^Ys$McCfHnwon8*bcP@U!+wg<%*a4HeSKzLx^04{xlN2?3y&TgCXrN+3~3 zOxQa8;8q#SK%O>hSPAu-9&Wqy=M3OIZT14GR`f$<*_w$QmH{Uz{a1{x402tGE zTe`;{h$UAwuL?TUm-^3l97$;ijCOwURgAxKCC=LvMa6LU#23z3> zj{>8DCk}N(anW`&=M5j{EL8%)0!S$kaN}p=62YcGX>UgGn(yJt0jy|ic;g|j4Y!0u zZ&?d#wWS2!csv?8-Rd=ygP9Fs1s7!K@RieU@5WiBKdY?e#2nA;KyP!mA2AgmsL1>{Ly^MQf>{{W_)O)*1@jqQ7WGjn9z2E`3uePJPT zYq2O-Zj3p2tx`o16w~pI^jOW3nkbW7#sRc#cdv|;5IQjkpvo0Vvb1Un`QiR>W1`>cHg6upptzA&4Y=IBPD1wwMK&Fo!>lxuX1&tL) z038!Int=ZRh-E*FL@785;jkWVy#Nk>dCu_(&inP3{{XoOdWu>|#A>dDv!C36onB{W zqf;RbsnQwQZ=gH6&941VTlbtj7-yV`VJ6R>GO_$dfL-rkN$R%(fF>djHR20i}`ilFYUAD z5r|fW!V5@NUn{3QmjzFnrzdJp?fvZ ztxoyPmh0uKJ}_w3V3yPjc4xfS9Gn^k@(s1D;FZyCF9V10?;y1oB-FhK zO*gxYZLkWZ;0`^MYTPxL3V3KKBZpYnb+PJ@l>}KSmysqNtCA3$_gjs?Kq6c41(O$f z19i5JGnhuwg(?p2Xf-OGYHhi+VrcbovH@ zJ!bHY0T00Kn3sVB{QS8_${(PrD1sF~cQ35iO6aXutY%1@v~cG7&7QdQxR$h6)^MxR zr!6R{w4LH19gY4!Ijj*5Mbl6-W9&&m44Sw@r+GKr+e5Yc2r zXp;|3&0`H6y4!ooU*tzkERgJ=H#Iy3s7Fht@!7u&)KVZhpp)&i?+Zit%R1ST!xAnK z9YC}s8l;{#Vq?wZC!?o{{WZMy zQAd#P1i%JqP7OapNdd!9f&5#=YW-nZe7XUN?i8LBR&%hso0KH_16D z9wTiXI(B34T^xcV$b8^+y--80a^~O{@DNIAdd*@~99T0RPIOG=rD_e~U$u%?>?Q}% za2EbIny7&*)%S`-ldUG9^B999VsWYzqN@ihb{Z#mbBm%`xz2MNLJdm8l&#;V3ITEZ z#DH8ggCIQvNp1npIYSiX+;9ubJ-%9Rw=5xJZV#W^Ig$ zAldwwBZf48PaRwJDbs8DU<7KFjJbc!Eezrgy8$ikeKj?)y-Jw_&e*;(Sag@n<2hvCbrC=b~x-Y^FMZ1f%tE!Duh zF^~Sj1khyH5k`W-Q;K2_@fmdtMK=jGG&PsNSiyM-!c7IcsnY z6x=-_iE-~bl0;mUNif5UBrKwv*qOk=eX0m<+iGU;K^%Zsnp?B;f_BdKmMsc$Bi68! zuDgNbHl3oC)=ygvu6{q>duYubH@$bP_>kOepdOB>@qwr&Lrc+4ANPx&@8uwI>@_*X zuI^U&yq#c0K+qWLDC*6SHHQA&uYpCf~g>bUI{Hpv=ie~68Qz;q8vw?|&E z_uhg4cSl(fP4yT(G!MZz{oopwjY!s%+qBC1HLbB#Hv7O3oOntl>v-h?bxy?Z?AKXc zE};D={{Rd_AQoRUd3wrUS-6UuvVbX#!ur4xCb~WOaJs;Sc0$s>KkpVWM~HKNM3eW5 zfYePWkLAr&9ME6w{xE?jk}=oF$Rcv(4h!Bijz4CYIResb&NE6U30n7N^JiiPB+zXZ z(4RO0#;t{~7kQ{x@VXh4b#t01DFxMjF(jH0owJ+-sS5W8a7gS)z2_Wtg_49sY>!;b z+TySCf#}W;3^wG1oM;+iI4uyk*wk?wFB5rL3&e=0N8LSUk#w{f9KX`u@NFBS66Drs ziNAbj+m}H|EH|spGz&+qr%fx&CbE1DdK0#YtwrOkQZ+28qCpJ}uKxgx{{TMqju97_ zyV9rTVsS%}g#b;C5lH#xrUD^O0BTO2u->A_krR)+sN)be<)S0)z$=KG&6@gU=J!nY|Rld<&f( z2|G=k>ox5nYV3Zk9b8v@T$gQ8Bi3BaTxCEIjvh`(;=%>BM@43}DQxLJG42c?%3XuG`NA}dDOlrSlG332K~Gd8X7NIlY~~UtS8hh0awE0Y zo}zG|R^E5FytUBbqyGSKH2Ky^_?QR-s|iFQ#s)z-B&c2niTK4t_K+0P` zte!Vg*8+*Wp0F|jzlr3(y!r1TD)5&G71}&&HR{X`NgjsoK{xhl@o@>yJfGehnL&V% zdUjfR^@rBdkPy@L zS&o8t4eCw}^?`4!s1+Hr0ZzYn8KMId(*T#}9RM2vW7e#4;i{=5L`2i?I2SY!(2Z$Y zcge$%CaQpCkC@K=<*7K$_i*D_A%QJA#IYfOLwl+RH$Zw@b4#zxbAd49uYa*7R07M% zD!qmDZ;Y!^7{4buHGixpT2j=l`wYP&VjJj8%fV3HC$|B4vi|_u!D`0xiiJX+g>*kI4ygl8m`4_; zyc(tC$GAO<_{s_z_Ab%zFXt5#VuIq!uv~ymV`_ko@dp9fI4}edpx?=O&IUPri5nMe z4GS?;;S#M|-+5sp?H+;UI4f6Nb(@|y=0*iz9SRmmkhpq?lkb+-j-cx-Bjqj#1Z@@=38GIFrEO4_7V19I)YapY<7%pyLWTmxAIBZ8FEAZqb)iTqqlr!kV< z-DG&7yRXhbbco{g^1D2EL8lH{1y`b0KTx|oJnjj29G#$bYc(*>Kd~nJPrT> z?nE}a*~T#L`yb9JTj-7lNv!++G1~-K3PV;2CXt+VzJ22>zK=ki29Z881w;im+j*>t zOPu6X*RCtOkV?4M3vQb@>7Cf+;X*oG8DddZ4n-=}^kMQ(oC13i-FTmuGnyQWnPIbq0GzAhHd*%4n z7Bj+J2^K})IkybN)6WjDGpV>N(Ck!YD8mAK36 zA`z76038@NmyQezN;6i!%=*GQa~iz*iueJc3|d)z;Ei!OKC&@0PWi!%K>#rrF)od+ zY!a3Sj6I+z9qlwh0gC{swbAp4PAYS8XgwyJpaf^!-Y6i{_J+*_UM}z@!^tlG9lUjq zTgs|eT2zUxToZzCy;qQe6?+pbchOL!aHyH_kWTrMOH0thIDRrCLd5zqDEyB7;Vt=W z>4Jb>1>Ups{AaTB&+&^e;6Mb?)Ld(H^ApF#VY3Gz>-jAG{OsASt0$^vdjAzsm=_m>7bh z(}dj02DJ7uI!Hat?0VtLfUS~Y*QT4rxiTTacx!2YdBf)v3!nzBjpeo7t?#>)Qt)Z` z&u56@M07Ey4%#3`(Sl+@pf1l=D(&6LrGrgNI6+M=Z3~94_mV~p0Yq;PW)_R}erK>( zZGJKN9Vj(|wP{=>atMqmvw#!h6GCGA1Dx3Kad@ZBC$xf`CEhzZ4}ozFk?j5F3;@GT zEpet{G|~Y=wNjd=voZ>KyHi7vLG1zNFL>QCf5nUX!1xntr?m zej0I%YeTGr1*w@!0oO~aGcFx83Q^e=+ul1+focmuuYBCq>UzD_8+IYftdby0zHKSX zN3(opu0{Z0bP!vw*^kSIxVG{bL0Akw8Om70K?5^d9*ya`#RPZ&v<5HC%J@PsLIXyc zF-=C^bLSrSjTBdeDoAh%bhq)4bBI$22VudT>o|tKVePv*`odfXLrGsj z`CQ;%1xHD>>j9f|0YbVhnNZ&36~9M$r%CK_G+*9&-@~{2%ddTyznN|XoNWp0$m20L zgKFh8#)K+Vl_us*LFf(OBobEP2#BXVXE8WwIV7IW2FJNe6(rDf;({;;hRE6P9#gW6 zUCrhno-hdqEu;&0ZZ3OhD%rdoKRL@qk!#r~J%1UrGh_3*MLFE(ycdRB)a*fcr0m`h zWI5%jv-Ads8%eT9u^V_L!Kux0|B>j_upt6+G$_mQrMKb4>3!=!;& z*m~>S#tFt2pb(U>=)U^G7+f;p%F$0_C8&~amslJIu~q`TkR?a;yr#DfK_glNhR`cf z9NJoQ1#$4Xer8_DL8pV|#u*@6*I7?PZbvwyj1kfr1Z-R}A#Zq{nwV)-X($w;y$a;C zA;oslCc*1~c_zU;=0uS0ddABwo82DUYjM1s!?ImB?Rm=?_XZ=Ri2dOHuu_bHS3rTk zQwsMy0ZXGtZONs_aiuNbR`l_OKVlld%WAE6ifDA@_cxJbav%ar#NVuYO4+bLRd@^( za%j?}aKer&6Ia=W^M&2Kk{mVH7cWRmWm;?uN1O5bOfI71emEri2`Cr@jwV4Ho&3q#t5YBuoe&v*5bJD`g} z2hQ)~7#UJrlSna|^^1sBO@X^2U27CL^mI`XSbaE?2{>qw$JiHPuoWV)5%^4CJK4!2 zU=(^W7g1@npA2X5mBwMTRW4Da3E77`(SSU{n>P-0B>BzdUa~`36Oq&2ZyE%yvV&z; z2Typs%A;0qV6Vne>}yZGIB8b*y0^U8)j$}yIS#D2mv27u#MxVL4um(H9Kjx(ls67> z_37e(gaK@*83(Of?B^Yu9YtVXl=~Z!lDIq7lRkcz>ul|c0b9>U=XT_C7H?lK_DtDvJIQ% zuhT6hE9fgP3{7G0!Ps?~ma!G=gikkW>)=L}U)QOGnM_lg^>!+QdVO>Zs5 zAk=UU4Z;+DOp|@)ku|$*-(LB`I48A6h^H(sT*of&8NAVojH-=~#yY_=02Oo`7@Bun z0kZY^!VnCp4lxi8fWv&X$aTq6G7sx-Jk0Kct|sy{A(s6P|-wkmk4S{ghMgP&8#GZD*Q}~4vmND4hl9VW0!H< z$_5ffRc$4P1bDw0x*m{U$jAhl8-+&i{DvD}+g}?8_88(!nlwlKtC2v-ssP7hWc8Am za|{)@+Q;(4h>4nmup@h12@Q0S&1$L_Nhb2Mpi%RvaN^AdbSLeOhM}X`=x0GY41jhi z(8>G6LkR5|M#*C{N6Q2#QU`5ob2dXmAQp}zo&4bHS(oEKvFrZ;aCObnw3BaTvsei6 zp0j&`dRXAm{ZHoukXreJSX(YV;a_xp;NVukkE5Q~K#7<)dj>d0_X>3H!3V3}YBmzE ztD`ZZH}i(nCaNTEl-KJP@JbEXEC+8`iP}*DHp~zpErm!9%_TD172oi09)sr*B6cOm z-`4Gy5wR>fCTeNHR4%@Mc!8$0m0Nb@Va)dL zmWyGo4i=G&lsL2kThVyS^MM{*41bdqHMlmBd*D5|`=>7k+4*y0m>z{V&O6HJCe_wx zU(PPUR|&6;+-P7((LD@j@rH^L#>j?oL2wja*;e>rwhPg`0xO{+02n-!G08`|oN!dD zw+fEYMo7{HhSazK=2i0&ip!Vx^OX@)h-Ymdn~0ETDTw6ts90-2<*@{&C)^MkKI(8BF!84=YXtyPa=2g0z6ERG?-mC`C2_ zV5;cDmb^?vAY0vgnf|b38>$vdzk`ot8cxa;0QHSAB>=RIE7O||Kyi1*C*{Bj(1;$8 z0lf$7!7>Kgb`7H+jIPpD0^F}LBeBNupz^S{`#g{56n;WN9vurXE=cxZ;Hc3Zrnp?6 zI6FE;$lBhpmMfItt@f$!)S_WrbIp6N( zNzok-Kb+`xf;Bi0OBy^R#wfBG2=pCW>5%F{N~sH12y48ggax0EO%mr!r*5i&6H1Ou zKg0n*)jNrCfQ~vcs4cW6*Du;==Aiwtups@7_UHKPE<6j673sNh@b#b0?1o;|I-^UMxt(b8krw`q0$Ro zC{8l<+(jJ$O?8~$2#P)v@lZH5=zvq@0^=&|LS?Pidlu&6?8pd;Mw}d_tEuYJ56Ks= zlO2iZ)k=qi>FX+fSN>+B!UAdYF5R}eFRN%R9sZwRUcVCC|j_Q!n)89mmF+82yOfYQFrn*OlRG40G8x!JTGq^qF7 zH3rUa#o_wT-g@;px&C^=#hfWX%n|5zWz7+qHt=oyVB78Q=Zx(*Mu|Ar9}VpIuOgC9(dk&O3N&gqg6M_n=n;FnWNPg22$LA7i{FM>RSD5NuDC zz-;ybYEu)b75!$1cYW`yiy6YfEQlwKxXD;;@7TF5SKI#pGOAEDs{kbt)(tB1lU=sw z0G}T+K?RRtgcH+p4}XpwVK91-SAUK6asD*V*5Y!=(7LXsw+kk9d^iJcr{LCg1 zyjn0|G0zbP14d2yz*%A8+e0i9&>!;_-D3cfp2f}7Nd_I&6n?POM}9(R-GA;b`XQl9 zHQC-Bf`rv9_}4fT{#t^CZP`+A=x$hmyfCh;LZ(G>WHq^MA zRhIYSO^*%pt@o_er8a2_h_C@&1{+16ID)2*`r`qKkR!61#G0@8BSft9=N88$Yh6LE zbb8A?`a<|lErC9Fo#WQJxcx)hov^G&V@4Yf;Wleo>{0|gu1ck+pc4a8?IB84Az}^g;T=bqC9>&gOE02M38t$n@Z8fpJ4ya}Kf( z^bK+T@S~_+E|i^)vfd)SZMjP3Qb}19pR*8`Br5&6yTDzh*_;eZ$na_D)+`Ums|WJq z7zlYNKEJ~?yC?^gKP5GCYT}EGcYNFfb_Pkff6N}Fr0*2NVrh2d7?PDeBdF(4r1yQirMIAf)xR&EO|t?8>LX#ux|}f%R2C zcsNU!RP3X8jJ<0WJp)hz4P+;-^84ScvYZQ-RIh35(~sO_9Q`&NKOJKJgAYPd1=@u8mdTDy7EXgkrRSw@{gDC)Pmjgy|myhw4?x7*Tb2c&l_CCFz-gei|L8$?? zvv?ef0B8-bH92vt*5x!HR_HNac{?RhPF_d6B_YCT#Y#k_uHS*T5rtEFbaB4%6l?Hu zZviV~auWe~Q}u{YH)w1w;j@F?sndyqc-9f+R&xB}!FDRqkZ9z4xz^Hk`weC1=lbz+ z1bmT^O3H9@g<(k6y#?Vlj8r*0zaoSYLiNLjhvTw*1#E(J83;hi>r4iXuVwO)~0L!9c~wOUi#Q=No-R0nH|o zDp7#275Kskq20w-e+vOx-nH?ckW+X~rVP@ExhtCUB+>i01>HOg}^&=c;0C#`%MeMUaoDAigE&W7jQh8 z>()hXjrk3R_xZ~W*Z6-qW^s(@h#VUcY#h{}1pz%iGfkWqSWy5~D}diV{{W{Q%0vhQ z3Xz+}vZuOB5X$zaZ;qE zc2#SimiVEigor_Zs#6TgMhPs-7PvxnsLeOyW$BM9b>%rt0J>V3> z;J+A(e2&jk_yN-{O~uk$>d(nP8AmWhz=Pbq@rtLd2zzZ0ms!WoMkXM0?Qso7q<>kv3Vu`{JYCHgBx)qIejJiK!VTF6FT8Y!)?Q_%C%TT$ z>kB&*-X|D|^0;lroUm>sm>X^8wd9Mf;oE^+13*oTf$% zeA{WbFBxFyTYxJ9^5Tiq8WkojCoilkz=ESGWaRhO5#esrgT(G*ygllEOwwJX0Bw+z zSLYCvP=j4kT1I6U@;pD*3s#rDqztEgf;`vEyVEY$&35;L?yHbEIfc!^rivvH^iW;} zI83^(Yz;tx&W(HH%f=x2K|UlxdoSIK4d!mKk*X z6n53LoSCa%l-DR4xYLvW0GYelp%B}sh6r}-%96(*BTc^!v9~2ows`MbYaM&(voPL0 z;NEf4oX+qvg$79Jt=o8P)&$bK;OO2^w&PfEZ=mBfZlFqRA`4bzPFq`hVhqWn0v)H1 z7ojw-7<{s!Ib}7aF9F6#6gV+?uoQ?y2%Ne($*-J_2^97X6xZhlZca1J4#I|mBW|JB zxv0`ITbz}0J>uweJA&E2)>cWQgY%M?uXuhnS|bCx720cs%R550T@>i|GfiE3%lo|G zo8a}UlX2z~Fi0E`eVG^X2Tc4I90V_2c4;=_7#@Byp+i=4qWAAP3^Z|C6Htfn$t)Hc z=r+eWv+0WuM$KLDd(Tb}15Ss=cbz*={_~AD1cAGt@Tq&S0kV)5y>`7 zI>K6%mz4l-fM>_ZsXc)`<>Y6ljB8a%uxPgU9@tyAO+tw!7)+h)gs5Lb0%$d!x8MuA z&LeN~h#>g~X!^s85hgj)pdetVbK?LqKnwCXLy){7*arF2p9ZcD^P;y6AKU>4EzZO< zcPljGQs3hPC#o+711+IWr+AeWW2~#&hdI-eB9FQgOsl5=1QWYYd&m^91-cHm<5eb# z2&>Q#&EROELD&JEikS$=8#PFNn5*xw&B_QZK2? zoP(!b40S+a%a)<(Gh`$42?s%m2pZi%^5qOJ(Y7IzVO9q{+|l%P?|C)gk|%Sh?7gwN zWcCI<9A91Ky5j_+n=%f@`0X+WBpx!g#E8WaBc=H3dF!2VhWDGlwinoc9$jPWBf*yf zwBfnT?-!$I@tdC+NAH{-?Bx6v>K^-UT(=P{^wqSZqdErgjz3t*w*)z2Ypo68HB^L3 z0Eh8RFVN*yj}uO0&ffld%05rCib>750Tv~IiRT5@+piO!_kae^XZPps=N%ey)qv!C z!QC|t8VjRGgEg!DesHGTAi%9x2JmqYXv$g9x*R<(8-69dNVKjD8_1o6Hp?}aROv8q zL5Aywhc5TQn;ku|9#IY&-{&PLqQkN;>M!Rx?h{W($R_8e2we~zvfZk*e*vw+mZe7gl}WxYB0>o!!s3c}nua74lt;>bpcwk&ad&=o_4TaO;l z=W(V3`2j;%NGrM#tBGypyktty9jZvvYUoY3Br52p^!{cmVjy0Y>!%##fHlnyD+}v+ zv$Z{5iI3@-< zK@WHb`Zy*4B6M`Cw5#tm9uMVzKC*gukA$mEOM)~h-xG{U{tWJ$Iel+gstiFS?eIE% z;ZvbG!rXYyp0Z_z+?or0cZhV`b#}$-%=f4m0KUk3b71`X?YM|Q1UM|$e;C;cz(w2? zc;VIv(n^Y}kq+2lcYGR~-O2#GXBhglXjBS~is|nK-WAgG--xOw@;dnSjQ;?c4ab+< z)L2)hGp9gb1V4=0()|Ab_YMR$z>4*Fb$|fPKr+7(j&K~$oB2qh<5@NjUa;bX!oog%nggG#*c$F zdm~%4>l&21YOWyep-WF7;)=kcUpX`U0XnpiMb; zU@u|wf*!jfJIopY*xx=MmcN)Zv6q~!;=((WpUH-|?;ygk^^kA;IYx#+)`35%i?AU; z8U3=jDc?@J9IwejUx1w7Ur~j%K&6AP|85ZJBK3HhOx;Yr=_d_%+`^zmL2iMIBQm<6#Y5&8JQ&f69!2Au_0Cp`3c+-DtWO(I33Y(yH$Vb; z3pw~EUBloVe>ut`o|RX{z}W;(ZFL15*LfV9e%vB@v(*!T!g3BS9QPdifjr*NZbisbk4_|>B3kfo zocxR+SHQV1Ja>$gg{rj4e<@XRg4j2`sn4u~+l-&E{4w-O*)@VaRNe~x2doF-&-H-h z?AfqyAJ%R2LiqxJynxzRr-eT!cNTs#n%j$?m?ReWpBQwJ8;f~r^5cK**=vGJ!^we6 zt$Nq+=QxIk0J=#j_%fPtt*Pmh2X$7?z3UwcYo^^$U*i;M^Yh6(RQvh3d&(~)X#Ser z$s@^;tFGDF+?Y0Mlv#kFx~s8OEtl~Omi9OxVKlOO~B1j8%x zZ-X8_a1a(Jq~!}{Yn!wFOlwjWhp+jP1%U(-5Dw#k;;9<%oiO+_n0v@(MuqP}Ru@>& zkmXTkhKfs3(~kzfIMH+pn;Kc`ADjK7oo;~t09@wlDOAvl2kt;UX0z}6${;~|bbokr z8y(+QAnA^Xg@_*4Dc%%g6K#^FlZ=F0-fc0UhJ}c2H?b(GkSkFa4u=+N8&S{^qLu7# zIof|YzvQ4&qA14We@=UJ*R}9HH{&i?k`V$ofS9V+X}6%*>mB|vb|%l>9#Kl@?}6r? zv5_PMRbHk%@r%pF%PB$xp{1QKtoyz>gQOat%5TLabWtIq{{VhUB(*Bht}X39pbFYp>%8WlFr3rS%q2FK*`+h&84h~3H9-!M*Y~V@Wfd?^LvQbl zg3fDTxhwi^Lu3(0Sp6p$pcHm5d|=4r-J<}I-toKTf{N(&PUY@o0{3{V>dx>=_0Dmm zPA!hTV%Wb20md_@lU?foOR##ty|mXO5B4}?Pt8~rl8Xv7N(EDXYc6wrq<@^y$=!?B zqd9PWh2-Zc9=2*5tAO%RAO!y;{pA4;NZAX$82(^Ppk}2 z2dfI-n2buabK_J9=fMz(qrD-+i0BMuwx@9D4YXCXAm--!<20hvv5ap0=l6L$8{*e9 zd;b9DIFe|CatA?cX{?8Q83T|XC9onLk9h zr_u4(tOW%@6b+7@;8A#=C!Q%e>=ErdCm+8ZWno-gNww+^w*dIlD{%Qi(C&^uf~uWu z#gALcmL%;EI}<6?PIl+UCbtG*u@`ZBkcdfaiMl5b`s01z?a`_05JRNo{7lz!1eH); zN;}A30IHtHQyo$E4j@KZ9xgejtmrTMt`mFN)-nn;X2!s^(K7HkHLXN!k^cZVW-MB@ zo!_luDVWl}3|RL?&uW+tLrFHaTh7OHHf0$Gljg1sZGd{bXB0iAr~A z1R(3)7>m6$1VVJvVXQ9*VB9Fdjvv#Mr*0f(#1eI&-&3p@VnJf)vkln>&=EDD0E95- zP7~t_iB`%dS=J5Cvn@;y5`ynPt#7iI!(P?=|{dQ8pzzbnh(3 zM^?ctQYqsG;rIVX3+@=bH@c&*D{cGpN_h|+c%JO>^v z2SMfVKc8MW(~P2Y*a7Ih;ZE?I5x>JVjcfKW7}yfAzfP^v0$jRkbL!(FhG*>8`b{V}7;3@J9f9 za%$L85Uom-3#}W$2+GVk9qZe80rmu~U-yjEPXMv*$a@xsH@$pfOmJQ(&MF0X0%Otb z?a+<+)oP!|yo`Q1a8CHijw{|S{W)f8 zdg5)Uym(q~d}-a0;2_%70Zv7NRUs=Wd4I5h6p#h19xsDDkK-Rd>8vJAwSKKj_aJh`_F@!vRJLZLOVQnQ$022%Am{?d_H41@5G>@7^p_!$Mx{E;}3+Y6-Mxv%_le05==@ZMQ(`E zoBndRvnU1IZiSAyJH>)vKV04R67Vb3$|H=ZU9Nynj7AnX4WV>$Tt#(F)9B*9^ZUw> zvWqlNPuGZPlvKL^0L*G#H>0Jv{9HJX>lj>G>8hu;Z|4@_!kg**T>k($`^rV=hwZqZ zq06R704dBpXU+)L7&>`|_S=y)9F2_UL9*UIL>ay3@s3ELza(tNZxwEU67i&_q(qPt>A|a z)x_X7)ujAWOxIt}#t=W=d}JP6Qlt#KyS#d$q5!$F8N0UcKJsXc)n{-xidn{TT0shc z$RMTR&Wkq95JVUx-|G_au>qwR+oFFwTeo=ByNDerQ^Th1>y=+m>{~1mpo(V;s4;pc zx}7-1n++lX`A7S}+nlep zf_>KX9SY{%A{XDrC^d8q*b-Amlae{Vc`q5W*4>2tjpd*`weaBwK0D4{o?m%jXCy2-XhqOXNdc;_0amr;u)?JLfmaY}ZV?ml~!a-0Cd`ldibLNd;5@ZMq;oSj?J{ zBQ;(DcyQ3T80mtuf?ohfa(;K=E4T_nioO2;zZ!^8FN1R@Kj+2XjTc6?UDeK1tEwaU znC}v*N&~|B`NnX(e=K{@<);{XV)+mury~gMGSAPAcPy^3q&+z|j`Q)U$MG{*Z@ky* zH0N055e*dE?8*4RQ=&<>^YTyZlN6x`@|XTIug3-s35Bgk;e=mg3@?!K)p~NRXbi^@it76Zy>oL|cA(0B|0s{204d`u%4! zB6^Widgos7P6zi*^Nr0fE4(ALwPqcS`Nuz-L(6FmOb`Hil>91WdZ=5PkfQO{9v4!( zZ>F#SGkIKpS1C;dv=^D)QVsA7Yll?+0$_%6O1JW6j?ktkt{t0dn)IFMA1f#7>*VgGME6q77PmOpdWLl63R+w zi1tZvBw3Xcxx@YoDl8ThfmyudL1pO9bh{@J2YQV4IqwOU0Z%t9EXCo{e(-@dE>dx_ zVj%R5BJQ1M^MpBGv(^E@p}m^-@s41<*$dHYjFjrx8#mJehLHfbK-iS#-ya=fO`_<~ zYrH_u6JjRBnN2Ts@AH6_0RUDOtmAKk)rW&44W8a#oCLGWJBp77WMuynK< z*ZIfSP;z%N{m=b9^cVvq*xb;n)n16(f6i5-es@K9$fl*vH-m6HB;dp@i<&n2n4%&J z1)CRMu?a&VQyEUjZgHDA2!BoHjAhD#EdUav-tfy1sJ{qTqQ8unWv-k1ejMTKfj@vB zU!4APdk5z_n7QC)z3Dfa z!9kJ%f>UYoXZG*gtX~>Hg`xt%t{kZJiUK{D5<=_a25ks#6|Uw54q7`ndP|pLi~yNP zV0D%I#(}95dIltBw3?a^6uZfvcPvLoVd8Hsd(FCf1vL53*Y$x=viH_b5KBI1ned*H zm_pLMd~XeYImO-~*T`+T89#XB89h(;g^J6n+^OVw^B;8q9hSd4&U2mTrGLUg$<}9D)5oRQq5I_y+xPWULfkh`&;+ZWUBs*|*`*K~ z7iop-jOz-WXaLqt*Q|AENNPk+jvN-w4zzT9r7i%u>IMM;=|0RgcP^ZTi$F%k5PmSs zwhjZR)vKUPNv&bx5H#oQY8t{L{{V+m>A8&4Lq`sJZCK+4xNA}NZsV zZwZO!23CWSLryLYl>_Zrlqom0AkISs0^w#&V^LMj54m0*g9E%S4pk0t*%ywokxG9D zS!WFE`N#JF3CvDhIiZIbE(IPxI7QzlTUh#WfSSX->4QKZegS_tnz!|p4Yq~=VR;iv z5~y*wT-FHq7(t^CKCqw^*x2@Frdl3N@gmS@?=`wdxo|eTcP4&#zl+W5BGY+Q-09Pt zQD}DUIr+^BEASh6RKRx)ANR)-5ERp%r%1z863|&im>3O}1UmHE&v{vwx(_ph0Ovqjh1QutEotKf@f9$TBH2`p*Y6~%yC{wr zEc{|r0G6f{;#-@};x0F(oY5SF`v^{nWZT#5#YiB;47>tVGuVdZcpM^4Ck{mGBl~Fn zDQ2;D;HgqUdIMQH zZ79)4J}>*h0VPS{>or9I z%^KGpy2|2$fhpJJV-ctxTIX0JnK?=L52=C7P`+rT0nqpB1_uJ{aZmQkvLs=lU4C2v zW1{<^(^2T1 ztzZx_%y38r6)y>zFf`7mWPtd<#K2M#^>$0%B6|ynuZ(++z|y#>U>vwY*9yuFi1XrW z{ASuz@&mKA@0Nn1b$o+n=M(UfkDU7hc#;3Q&^EI?kh ztPykx3yqC>7lS(IpA9aINE|oCd0*?rnK*v^;Vi0pdK(;?i^k@v83Pt6IIVZqPOkmo zybNFr230%&V;4}QiZqDum<9yUj!+9r3bOF)S;v<++)xJBBQ?cv!eoyknpsR9_DDh( z?$YeE6No+awwvJFH9iQ&un&09GKu-`wkE+aC#TXR1yj6jNYe;C-V#N`c zp!8YsimAJz{Eji`L{NMv!5OtTRSTQLZdu+mm#9;-!M{qn1k#g-Hzw6i?f2&6#uD>o zegM(AD|juNIEn&2g@R^6yJ0-{_%ZoXuq{`9-SdhtJqb@(lM*e}ChS{uo46=0&o9nj z`VIs9V1pjw6T`ab9}ED-Pb8)HkqpBE!6`d9v9A*VY%YndUU%x0K8n?o50xFZP)?c+ z?&o}KHXJNP?JUn@tXDn&A%FsQJH2ZOrI0BXW7th#QJ{#76j}T+6clnvl;DM_Za1^A zPFD!({IDWW{U%eTPEG`afg%a0^x_=<0A4xA(NNSqLoO@P3%?1cIMHs{)P!yS0A2}2 zu&?t0cZO>^kk$daARXfdO~wf+CUhEh34oC`MS2Gp6N0H5aDey^7GaDN{ASQ9ydE9| z9rBzD-V@r01A-G8`QPgna|AgPj7!flLLJ!R@2-w8o#YLgD zb9hcT{{T26hdfN8`+hEXLV^qwrU7z^-Kk}D`DwtfajwadBuGFDaT-kt^PC-gzZVYO zV@}a5nh8Oy7>}-|zl^WzydO18`4!r0oVW+h2W(|_frP^b#W6|St}i<0Hob^IDv>VU zYk@)UG|7T^3a`P512pmY;~8}bhNHYK*TCnWi~>BK^$3fjxaaQ;vt4fM*x1u$rPsXY zz2_czvkUSJvs*2l=cR{P%8uJY>)>VrOJ;>9R2TTU+Bc@OxxNCz2{jrPOe!7PZV_(j zsc;WyAS%9|Kb%?lG;BamifQq2QYbVB_8ax<5?d~8+$3h-5S894A*)U`%fkf<`HXMc z=JNu{xY5XsyT^NffM}uQ8I8P42oY3!*_7!}0f00EtY?GtN=m7yEV*Q9`t1sLGF*|# zbch%1ED)sTW%w`>Wkfx}TYAn2gKDca^PRC_tdHab#(qk2vnm>{esL(G4J6a$eH|-?^vGmPJhh8u~;mDj4K@yT;PeSh<+U4H1i(}gw#02Y_6cNJBA~jL24+UjEYvz zyO9~Q_xQ#$Ym6;_h{h`8!lVomt^*sIV^N1%XkG2ioSwm-_dW?MSFg*&J2E%hTL39X zPyNRlFTgQFO5yxsM^|Ua?3vBCDyznT5+!qO)-SUIz;yhV_3s`U-@KVcYT#2iK&Bcn zGAC(PSEk%Fe|c4UVFri?_(mk+*Ljh#*5aP?XpfLqDx-`jyclVY!5a+P`oq8BVh1~< z-8^l>f_9>gG~}%t{{TC|y5Fnoz(>_I5!zWpYH^ybcuiy+ko19taQ7V74G(X&T?Jne znsomFcntkxF+i#S(GwMy&NiytT8-AX;&G1}oUQTs!;hT#@xR)JvF&Rq1>9B8DoK}$ zL{<<6A)?=$aTBXnr@>>!M?;0Wz+$eQTaNzWNJKBX{#)1csr zWkf^|$_B8a3+RWW`HrN=*C>3nMuzp)SP_*0cd$ij-;n%b#T!JeN6v6T(7|b<5R+TL z+Bis9!zG+?v#@Y&=1dGTw2jKp%yr-mYqbodS1;wC{j}B%YozIeK`& z0FhrOS!Jt6p#glAkE4z{i z+tk_@qp=HWomc+=aqfT>PlOJPQUV><->h-0{{WtXi54_kXfClHj%5BiK?&J1v_rH* z(?ka)NIQ|oE;-3(wHE|MeV8EF>T|zY3CghGD1B!6!A(O60KYfM7-t+5C|D^ta%PpAYqdLJ>~o2lp@iyw!hA6z7?{mn*IL(By#YR zF`Y#mDci?BBMzlUE#5j@?xRgW!=yV4e z5j!6Va>K6XP8`D~+bCljYVnZ-)V?8Svh5f;B1Goz8Mj@`5YC`OlA8ulbZHXml@Z zAMu{}h#%D!=sC!CfR|t&MJbvbYhXy!_+hVk)j$a`;L#6Q*?N=Hl%bUesryx*oSc)x8vYjl0FxtU9?bj^dDZ@NM-{Z|6z>e2X6}knyw8|IVr8L?}?7?5xFcQ+hj9izYx1|T1bv}cd{B9erCk(~=wpS4~z(rj!d?dwl zAW|s*06UFhzz~#v13?wy7wpt9sdA114^9@zmU&Zf*1yy z9!l|oOj}kc6j;@8`6}cTc0YK`9<2|;2l~e`ehfyT9ffrokoM-;WKNL>Ccc36k#BxO z5Y~lZ%ExktM4A!#&(3qRUZgue1{{3h7nn#PTsa@CMZhu}hgFu!I3_Td5;ae_O~_Sk$RMOj*M+_a;V<0 zO1;_)YMZ1j17@cqfue=D4ek2gH*)QNz>KgPL9rpUz$lFZBiK1PIR?j=SoC^F6v~<= znvYil-N)^Vw3cl><&NLy3L^B~(s!H3@Ty*70|fq82G1{Uk}4QFzKq@7^Z6ZCL(_Qv zRd3C?ZXdv?uAtkTdDmD4A#6N?xvwS#dT?>B4o{TFcjYS`6@MNsasK}R8K!Syz%8znogq1Azv`e=j88;mBDMVne-6=l6`|JxbC!_i*^0t=^Ag*_sjzpmzcQ zXA0q@iRQ@K$d_WOBarbE zmAYwEU2l(^+`*0c6mww>H))4I9c0U)!%iY+JJwgJPDRQ_^vPbQVCq+omjJs?aIQfQ z-YU2PL@5^TN`IdPaRT%U+|T_xh5i@j=P$(_>SX-q(;VX?sJ#Ufl1US*mHzxO~6%mT|BvYdjMbPWi*N$#Gfz5 zZ(wHKLYE%a&hZ-TU}yn%Cv+SRsd6malHv*A?x7unZGRcP9-p1Y1Xe*@lyTN=hz_n_ zROw`ZoE{L1gOaDbvT$9;U#tPqd_0Du`7?Z$Sm3W%h=^WM0LGtMA+hD1mIH0GPQ7Js zbE63GAO+DuAHraJ(p(C@fSl(f&+Tvit9hWBm0Q2x(O}d!( z9(?Ex0DE|EI~dwNWY0woMUOpWqv?l4j%_$NJK-1q004bqB;PBRtNiK58L)^RNs*uk zY$(NH!)#8_=meF`0ov;s!*K%G2F|gqp<7h7Rm8SMX!4OmpkA^RIzvHCo|gjx-7)Y9 z!_hmqWmX*=2Wqn&B0N`pz#?MSL^?{)T6V+yQFf0gU3_9q#C-3F50@A`Ot2b;to4uQ z9?*kHIjbwJ8_oK-dWVW^35|$bJR;wmeCsraR!SNJ5CQrgzbed|y<2pjIoCeup9rBy zp}Nn_Dzf0?yK!)$R0~E7Eaqn~*+H^fOPcEZnwUXNx4A}L|EssOAt<5?w|1mz>suURCAsa4EsORKQNycYUpURI@fKoE(IkCOF^DPbk^df>8lVinQQ=Kb+opp@~m{qZLps(i4O)Ft~DQ zkGNep2<*j#8VwGv`o4=eywIh)Syq$@T;1PSmlAwDke*y*h?rsnbCrO6xuJ%}KAK>|8EIM(4E37{5( z;eBOdpagdcDu-`(nSi2KBnMv~tm4yl@2yN)${?GwNc_yP1X!vTBwcjrPmlx0i@Z_b-Z_-%Gv8>nM_vO=}-RQ89*w* zdDd*@BPY4@^PagqM$HI7*faBj^i>Ge1PKk1vX-lnyg1)@WWEY*pK$@94Y7}%LyCis zO^#{z28>{3%|ueWTunN^IlL{Vz5M=in+APaTo!BN1~33A(s}I`Ac1k+f94zDuOFOS zjhy8g{o`Ys&maTb8Z@o^U~u689jrT)7bOK2cEmdgNx+fcI7CS%9;={k%mHY<=p@~? z-m%6{7;nL`qe2B8PAz~n-EN`083?&q=#QY$-U_;?x;p;=?li|5jgkcX^@O@9Ju#Dj zqU#!*4`KoR7><9ujC@C&+P(24{o%3gJK(^oVar}zql{BAu537Fy=JQE*?;=ES~0*Wn9;+(zE?DQ=i@X3n98)E!6Djp$v0L$u0eB!Uk`K1eE@;(d`i5<=$2X`&B3Q zmA(ro3pESR&Qm3rN4ls^^q9 z#|OMnR4@l*rv2T1F*XW4JjzI^FDE#H2elc$d|}T20PaB*OIvLX&|yduj`72@la9KF z!+hroQ22*deoi>DM%FND;DUEyiNQdmOm#4Ti2YTzz%EUkS+7*1<#Xf=Tfr>i=HNYA z88Y^4Jv%p&xJS)BVN_tG3qMCWV?ik-ZJIYQW5E8ea~_CE^Pe5yhQ^Tq5cAFtfxeg= zUgk6>9jmigfML%M_BfNmNOKkaxAByZrT+kwnJkL7M?a6;$o{aWHny8%(P|yXSWmMAX#gm4q;2IhEs!A?+L;DGhuMu9(9`z$Q0^|Kgj;@ zIH%>B+aJiRgH#93Yt{l61iGThUGncg_aJJ{9`AUhgi5P>K(Nuv))PUJOB%r@+B@$q zLEo%<-v0pAxgIEz%;^VCa=Ji512A!pwi!(=t6di*OZ#xTEfFjh^KLb2l>N+B^9V%9iBa5?~E5^LNq!xb!Qyr z)Jdvn3Apo27IJ}t8NvkP{cj@y{1$hG6d+O}J3U=rvlR-W zr0KAkt7W8@mFtn zopMf#0V6~MU>Gl;23<)3H~~wa6@e)rq*U$1BW&~tS7r71#B-oj9haLiLqim|;RrY< zYdz;}t3+y(PWA3$WF=3Op-0T;A(lp+e%4GUGCr6oE-JWO74#MugvI$emo**wDaZK> zfCODpgLdQn>62KFpAYj`^T?|#yOuerX3L3{_yo> zXdaUvCGp5jS2uEjT&Jcpi=)UOrmS8rR3_m75a-7^3OEQXLYRQ zuz2rK&2ZyK8qyBOgPc)}PTwXYH?r)Knsh%8GHlGGb)zW;MtlwqY{IC|fC+^FBAp4TAdFtzHpEH5S|_T9GM$9byA!fwnKo=@Wor4?7A$<*KL z4$&wf6#oD_%k8=*sH*d@!nt4l&NHwV<+J=|otrA9OVI7k4*J_by#d}$A@w(riO7N{ zB+YkPJ$p9-3QOJ$55dkg(Z0eTysU+v$9Czdy^fg7QUd&p4@YomqBe1%=M*2nc*LTg zZWgY$ATiXMc4~1lO(af#SWo@VGx3oZ!5_*kKM9@VHoC&14YTq2)HLfr(HNYL^0)CGOh(%>Pg&)QMDRS`@$o_d-)xZ(;IG*n2$Pfi?;chn&*;e22b5(h`1I^%e# zj{11T2(K%(z*pvtNX@)Y1uoTEpPP*;A|wzTr*W+sz}zB>=!%3fkK++O^}Q!lK*IVn zjPF1W52B7Iqe?+^j@^E+cuPBoD{yZ6!N+bl0gj_WbzEy|Bm_8=y7(~>39s+GAG%sj zL;}|Zy95%BO6L4y^tUj<1`H~C#T0LwB>w;bXItwK5Rp=HahlsGl%OLdd;f0Zej+_X+6R)+Wb{HKPL#>4uq_sN)fK z>lF?*_FoXZykH9Op9)tKY}(_a-hTf8SZI^?>p1@anG^gyW1d&*Ee^ggitfl9fzmeWZvYlU!31utZMI90=1gl_=W(Tcgt3i0w@0BUWTzf<_ zw{4V;x6UxJUczKvxFO4#o0ONa!??`8X%?!`V6g6IK{vkFIM4vSCPdm?tF2FNF_ljE!-dfy0qjtwI?z{- z&#bU$Qm738{OKUi4uUpz3J#Cb8zmq$QJp3gfjv)|T#XaLMI^&|FpOlwn>} z;~cW3QyoASvsX;Xv#yTD1A@ys`M|%dvKB}ih^3K7@Nw2pml_v_@z)V7ZchuF@u8h>VQ@h1lMvmjc7>Hm8 zXq<*&B2WBGF$X)!NzuEzk18%ZnEj;6;?3;6+#2th#tR1^ZMp;+{^`aEsz0Xi-M0|I zTV(>kCno9m!;1Jo8{HFs&Tyd))hfO8o^xk#YL|cd=ljCco0pI-zTNy}MwvNBvDvig z-c*3?$*ZdCPI}vkM%21{{A2))X=ckb>lVy*eZ@fy1Wo?{7>gBEp+^QkJ!02b{VWSq zo*OmBa)Ad$sxlacj=ksL`|>*p+7=thFqNXH_S!-eRCpdXxKJ6-!2m40^34An@2PVTT0kSH>f-J#UYa&e0l z!*PYig=kf-$+DEX2ceX+{A9$kBw=Z4A=?_v7(;3(upQ$00OY{L1V>|=Uc{&D{edCs zgO&@^5`Q`ZXiRv%eZ<%3P_1I3j#KNNh+}apZ!}#Rf1DfrWMV>_DtD7|iy$`M4Q1Ek zC?rRF8hp&YP*PCT^%`Nn)*1;8$?-qNCer#y2{2NRa}NM77Sg&!zs4l>(b}}rrISv|P}J^p*~yHmIwx=8G`|=?5uk!t zLM9uNSd8f&fRTZSX7Q&tr3>T+oM%$X&nb1sdH(yr_aE@)n9 zeFxqqRV(WLv3DXUQkL3Re7c6PGmW6QcR*8&f1KXFIR5}R%qjpbXMMMpPoq zhP;8J-d%%q{{SsyBsFlHS<7Ln?27O1S;O0oQ+h7m#7eOEX? zR{iHshbY1Df?+jKP!8m@AgOnf>CHJKbW!=spciC0K)m+4%{Ln;xniju{{R@q(tsVS z7%86oaAv21^ar7>+4#T<@;Yu7f$*5bhkYiwX{+c=^{n?aWojV6uyV6L<~JVfNQ@yDf@Oq2K-YthSaPMjVDak+ zZKBW2{{UG8VGW5-?;FB`H#*4#jxwObaI$?ihgFrUPPp z$62-`dV*tNk8^oRA;0WT4}|^Vr2x7d7oy_ZKp7|I{KK_`G=ZxzKo(stuuZ7%W-|T} zkkZkuI@unDk6hq|e_;&&+5iXv0s{d*AvVUQaLb#)#HK4Tcjn;ZA1CW`=6Fv7#KpwE zN$Uq335D?IEDsKHXBY`^yj<@Ki;g(pI5Bw>FNyIQPp0@A_zLR<#HZ0;yjsij6vN5U zi>x={!PZ>8c>@zQaaSjiU1Zh3GQ2pMJWMdd;9&SXPEW2E$9Upz9})EFiIwm_MerGN z`EYPNTn`XF{{T5I z!xw%7&BHH;SZ3HJIIzXdVUxmmS&5tS9Jw-hFfw?2UoQ3Z>EKLQW4*^F!NbE3h0emoKT90DsOI&OR;=hYHKAz6SVnd_DFs`Ysxp)EK z_y!M$#PHm9;$h>I$HhE8@+M4u;fE;VxpLy-u;aivWZq2gCN6Nv0N zOt_{MmjrU|T)6mVI3E+rxOl!t#KxSv$>FaaE*(6~99?%@lI{0KF>s(*q@d!;f~;hj ziAiQ@wlFFyEh*eqmZD}tp}BG5AjK7F%Z8<8C6>8R(NHrj+sbg}TY{s|*Lr_^fB*6M z!1LjGp8MR_xz2UYeGWZRVet_ILPU*4ens*eqdE~ozUH-}<6Dq%D+)TlMnUT&QL0T% zK(0xL(l?jw^JMYStc-~<{sYV^e=MFiqR*nh!g#kx8mu z0wUO$CB0)f(TUO&|$CS&YuLLFy z-l3%24@e(X*tK^ybe;^U4dI44#x1iV=QtpFfkJR?OgtYejVd8MGFTBvWHhkma#NSk zWn-+|6d_VCYZB=ow?Abx|4sy+BsbzGggVUD8kDCjSOn7y%wy+PzV6Dv!61lGd7D&}8ETuY=<`BnNP9=;@FC~9n-#}-BPrpVI;B76 zF9!B`A7^>Tn?Kp^sVE^~*&W?uU#3fpf6ucaE*Z)4<57}DjD(34OwsA+FEiI)UK_)q z`>CH~0U- zqsC_AQ&402sp`R|D|dbdPn@MN?r46}?*=}xf8IPqH+q$mm5MBm7JC-^0lMOB%K5HTBYO(m zS=?wJ0z&B-5txznKt_bI?X|J)vR;$$XlZMk>PYWM?lyS{LSEQ8vffUF)E^&Xfx^nG z$0TNz^N!elMziZ^n?OP$lb|3=WymL-gT%Cxu7_7>NW@&Iq|d?wjPix`h;RxVe%R;D z#!?0g))vTSPtoy9P-t=shs@Vv80<|$&H6D&$z6M>NXXdywg^xoHX$Zi7){ZqPgsJm z{iAfncqE5<3XWvmLHyC+#?$WlF|yPE=YN3|VQkJ@A?E1~qn)G+7DhQzYUrkuqsr*e z!j33^wf3nXPlLz;0~fI7A~82hy0piU*EI{nfHS0D$GE_D1!9of=11yuK_|RYQJ|TA zfn^yZgCXcPH(N(uG_rP>KG*2NEm$NEQ$ds)ac*d>c#5XC3$!0Xx?@0XPy-Vkse;0= zNi4H8Of+xZu)#W^`_jhV=vebcL2Sc^jCl(hzEv>(CYkqAx&7PUJKoayM%E(1{1cC{ zri`HOdu7z8B_4}nx&bFc^&7m~g)0OW&<)Mo-Me#rXdgIArKN$BlYkGBCtmwwB<7h_ zv&{XUAMAqy%W1%PUWYPDwu%&Vuq0Ak=HEwF&x{MKfo%xx62jI@#Bc48lAOHNKar>c zjS+zyN`;Ima3SxPkV~Q%#fu=^n`udRZjp-GfN!=67IIk@+Y%x}Q=Z<)K>cKvPH9lLw;{GgvFxDZ}>WGD)`FCsHPx!BB^3 zdIV`Tt6qbhREr-{I~OhndJ43)w_M=jEtD~+ta1wrBskxm!F23e!loB+VsOPx!8z?t ztZma+wtkfQ;s%xziyCMr<^iRQ>k%fTM-~t%l1`73j!~PiDdDl)PB3rFD7`)Eaa&;W zrn%58o@16QSbPmpV*td^^yZTUqeGk2tw^>AJt%safz;8Dg4@o0-bi$NLnI%Apr1)T z(b5&H;KQbzWQ-EhdjAipT*$Bme9B_C&!xaDUI&LtLs_`B$)%)oB{81Oa~zNK3Y){AQHhfXHz2MwQk!f*q3bj*n-A;x2Z>w5V- zEN3}t9G!U=43(5GjY*?AX1+F*#~a_-e@&tSH_{g=`oSV3E)Am-*;Oyh zN>T}EMgpRAnjx5h0#kdHF;ZdMm^e2XvR^`smMCOn;w&(%P3|nFlQ7G)TXYi=I!|G$ z6vNevt|Hqv@5&0_SbK3F}oxiqoiqCP?u{8MDD9 zOEx;v?>_XHg*aa>g?z@54>*Z6^7R>$-T6(HUfOM)giy@9BCc{qLd_2WVqBzlXI1|>$0u_%Tr!6RCQOI63xPZx{}#sbYo zv;PBhL|1QCAn+{#KmAGJ5_#H5m6x!D6E#~xQ1LD8)!#2!K9b9b0g~V)>_7l>y3O*g zuvN~Gtz_acD5a9Vg+WI?o39*W?P2qvH<*GZI1(?1+QYGh;?XFSn%%|9{(ua~d}N7G zJW8Tkg0IdZnH(yCQSu;*WT1BVQE?dL@Q48xBIa1`m8k?x*bLbsKbD;+>{){T2LNvA zmbSK%)TGS(Nst^*!I0JLu%l}_>>GDM{0FIW?#_@gnk=hcAp+<3lnq<@@~~`hM>uF1 zOgzlIvV|hQ!hbw7Po*!xg=)(BROrJ{_Z&*#TVkL&aWLmLWSKZQ_dh_EY)m*Ae^Z!w zlRH(cYQp9zn92H&%*b@sX$C8YWFw{Ne%*}>%@acJMX-rWZ|>5?l2&EZpWSTmG~tiU zC?9B2pA_zt=mMC1F? z{`oDM{!;iH%1)y>#?w|wEihC{MSC}Qbq9~hTJLvINL1okRAhYq64mA2II{$=xUz^S z4(`GkctKr01}Q9WFq^P!HJeH!4^b%%oMmJvg1=1V(_k2iBS1+|(M9bo#Z3`xY{r-n z{VtFT>^&os?Cy$l6iQB7^H9X%CN#TyzUr+@#ymA@kzy}iAQuNMVQ7v}7!dM!AxFJg zta+{7WrDYAn?r?5^K&yeP3+0YC7>nDxev`yk*M)mQe`BQJ4uR`;8;yC2-3t+{d^jw z4Urb60&)YXm`@%nuM0H5s{y1XK4Uy+jx++BjEV#1mW{_j`-6q8>tr# zT5{u}j9JUqq3=mfE;oCWBLm)Q(-zj;P}w))9MM^$C*#0kcIuMZJoQ4W{8~5f!$4%r zs1&E*qfzjFp6H0&;8&HHPl^(?E3VEmqKj=L$-*M%jCG*tmCH@=zD5@aKQvDSM5lCFfSo&u*tgGX z35x=z9E0#bFEW6xo`uM_D(E50&?i16zuE}h)r-Y0vE{;s+?_0t^b^rK{DebSPDi+gLvrs66JXdGl09Z7Ggfx3e zhBlRUjhKT`78ZC1cET*uu#Yaz{94t|hXSEsJ|Z4P(UHL>Nk+2K*+rKAGEmq@*(mZr zsESRZ{(y+6^V}{KVr*8@D@bmNB-yg44FnehxG4^AQlFK!Y;d}-u3GI_W?Q2RoN!&C zPI4w5Crk|rQWi%bOK`X^B5YM`F1QTQ1fMJp=n*)#D~C+*G<;4I5IIaUZIv<16m{+G z%HuR+m)vPfSiIV7AvAbAI!E3|E#{e;5CSu#1g7WfJB529=eA;O<}-Nc3=V3q zw0nHC&#ObZxue)`M6X&t55yRdi)kP@F%8R3$ktS-U3q_hhm^fYorVkzN6aj^O`i3Uz?jT*DhE-p#V6VFpX zV70$OCrN^77}S2X+x$~mF5zLV zyi*t$yc^4gL=OA`2}Vg|f;T!NPvJi*L<$(JujHUE`6GOH;k-s}qIa9W)Ir)R3;Lav zhB==$+S)3@vQZlZ&>N}-mJ50SgW8)X@Cyj)&~L!uSSz|-C<21S5QujwC2l zU?g>`zZ|bPBjbmFvz!&@8=DS*F=jklDGQFF1`>nCiD}kyGK&l$*PL9KlbDdwEYO96 zKd)?3`&lVAWfmb5erH9CuLU$b&>@ULQM)_*#*2sJbGPe_{{fMA4Q;#@x557o%5+q* zR%kBFN@ZME%f0G|7Cjghr`1zTE6GS@e8IQ?t8-!K0qk4%IpBQca>$*z!A#P+Zmxcr z=oHkzDb&)GP^>3uFCq1)edCJ~5{lo*p$aG{nyGxAOo1UiN7ZK{Z??$7V3WmsY*xc2 zmPtK_NaRBrNDe>`yo^D@93cF79RP2c^&?1v6eRV=24A7h%0o@)eUZ4fMk0w!Wf8~J z3^4LXSs0K-Z@_h+%jO{zgUF_^PRA}rebL9@?lCG91b<6csQ6%?<{jcma8_<2gUN^b z`1?rP?#;lW7$6-UGj`?jgpNE#VIs!nhG58im^IHNsd#3RI4D72uXgcK77z&K7JkXA z8|2B9xAzel|HI@qd?35M6&dA^n-{g$rI8^cgztrZ*G#E{O}&A)cgq;Xqb?747%H8tb_{x{ zB5?Xt7W0Z$yZWHbAjBt5>vc?Ope$$!q86>2-Mb|&S)+L2cl)B7tkgV^I7eOD=c|qaXlnD?QEQp&>je_kVMRVNbcw(MZ69YXQ^Y9CZwIn0DDz* z-LMZ1T@hF$t^tJ^FA4%{^nv2slo-j{76I9ywp((h8rPj>-x7cxv?n*YO_5q=gO_@W zd#)^ps9k9Z3#*a5qW#|6*qVBIE26$bh&iK-n()CU19j=7mF8Ejt5ZKUw^%O5Koqnj zjkdPWv8Q`n&9UA_3Nh69Dz!RcKpvYfQYa&1M*|7LL-cMgxVKf<62L4W2inZr$>%}a zJ=+1=I1?#^i@7wi65p=GxKJ7R2@G~)Y+_2VV>zyM zX&w4_eTt$ax}4sDTS~4b6>o}CNpY-|YT`yl-pp0ArIsAWc`(PNtY%BQi0O21j`z9* zWpdMp0SZgWs`;s2BZc1^ZIwR5ci!95zN0&HY-v!)p%@@!%qFmKo(mTe7-9OMdTh$t zB_4)`FUPWxfzt*Ef&~TJk8Gevk>czpSsu&&G8I9>;9EMjFtBP3h#KW2gq(~N=aW9X z%bTrME1WrGDuL;w4xJPfHT}=$Q0y&HC~T@)zKK#tughCcc|%PO@79C%(*rc3yCjn8Zr9|6Nj0vuZFzz0pN=OdHlV zVJ2Z2*iE3{1+~ux@gX>AZka^SnV_OJA6ru7CUSQ3EY0J96fl=@y+V0qq*HDI*cbF{TWP&Ab5)Ll!VfBCk-?uV&Qoo7!Wc9OqUj||A1`>4s~E-b+i(W%p)^p3wbxTK+3Jfbc% z9gdWid`e`qTS-JeyrPpl-NqP%V6Q6V$(=707v)*06MF1aYO(6;6&`5r6+=6KDP(6A zDM{Fj{pD(;%U3W%eM(pqID`gjY=Wxi{$T7BPElh+R2oF&Q#{s~-O*>cW7tjwDZU)g zWS!hvWq~8$&5(X^&OIy>VxviYa;xkQG()X0D46kyg-TZSQG#EIcy(t`E4zMVglQtQ zgijTd(Wob5En=B}Ri2O_k5I1}>oE_EGN2awA^2pHNqmMHlN(&P_G#3n6C%h6koivT zhQXHc43#u@lIhoCh6`$c0^?b?d8kj&qdH!qbjib(*U=l)5j@vP)ln26iH>_G#q@-H%>3$OeKpv{IX zkKB=g9;oX}gm$EY83(zsTGeTScLXo#U88D^WO1zV5d$k#bA&OmV2b3)Y)%GR^K5WR zHHvEFCe1)KqQb04m5EZ9d?l%8C}_v6?V^%Wc_;Oq2qlGQl`3~9jLpt~`-23d3JjUD z!e7*y<~1n@U_jN_wUO8P&#Vi^!05Hfpmb^Pf`&|WJW3{)kWj~$Hux7Qpc}`8?7WR* z4Rt7V1~-w;;0kG;3OSF+FcY=Ngu~l+{(((4?Y6{ndDe?@pvQ8gAUY#?meB;)?oONI z@w!ZgqLa1+sJjte=uTtR;#-srgxz9xGR)HWfodps>EFM()eSz|cQo=^MNi@!TgUK` zk)rSTa09a5sG3HAkCQ+Y18Y$^Lx~|na+6UT;OP@BS? zB9&@A`XpY2GGlMgwt%55Jpz-Z;Vy6=KS@9}kFf}9gmn?(TubVFMZzp8L4{6~hHlD` z@ZCBhvLpm1zRPip^-?P4>5Qt1gOp|?U;YHYZl7bJtVR_FW`l&~krx?irHRfcwy?(G z6gx|(d}{GA>m(JD57j6TVh)EMXRVh_cRzn4J6GB1Piv6)B|DMj#e(D z1cx$tJ+a;0du?Pl7plbsXh?7t24sv24Du}Dqzc|GiBFveV@$;GEYh@%jG5g>4DjcQ zNkB9k))uVrBLpcn3#T;l=n7IAMNj6(B#|j-c8luDG6wNSOSw0Vnr0G7h~c((OR05E zqE&%hOBmE`Vo|jUmBlg;ok1Tux*PWI67WBOwAfOELoR{vfswhYHy6qL)zk1v zzBUsbzmj$53?BmV(#qgE$gBC5P|#xq;!CN7p+-p*3g6|HXGGNvVAZ zM#PjiicBD)_Ko&Zz_51V6yMEBErOt)FiI7C46UNr|Lt_EMBXj)8~vXMsX832V2z-M z#=3La6a&qTTZX|L7*ed1vopz1*yIoeT9&1DXXz$*p#fqBMK1PET%z2NrYMO1%J^sV zx_%Um2V;coxj=?l-|?!%0tWk?OAbCFiGif)$;PWP(#X&of8b8t$KDuPej7(}TW z8ljG_gJ&6#K^PPWBpGb?VO;+UR$Dx?AwGjAROhL%CG$Nb1Ve2KD`pw}OcD~33mp3o zP%LP)bpMcSS<%j-ReTy%KQz;Ab+=UWeq$usaU!G7u|w&?n9XoYy*0{vc{w6uVtlaXo8im}?&p3p@T(*ek^DqsEAm`z=Qxj7CQW26POhp0*H9>wBf6g^(`kQuv9fBJubdGy=(JB^e(%qz>~ z1leL}iYT;f{>3(u}c>!zt-dRDtS{o5Lj0)S- zK|d$kao)lkf{RF11Sz+As%t`grX)&IQ)o%rUW-~1Q5A|JlK60BaYOtwk$I4spq6CJ zI|&U4B6!wlB<0T7Qp6yu30o#(_{~^ulq#gTjKF!~AIFYPr`Lkr=8@V0-g0lbtJ537PMSK;)ik#EJ6^+A#%cK>^K8iEahPf6v1My+IPdJnj*61L6Gaa zUjKc(1lqnMBh6|S$wJl6(I;LnmbL~lk&$&GEF9xyKu~=s8)dSntdV=|3MQ)wELJBE z9G(26=&W%D-@+wN<-mu~;}g0^@+G-WL$u0VzC?I%7VnBfncZh(fu94g_++HaP)*)^ham;t=qw0=AX&p zV5kV7C|)P~o<;MvkVlS|a7);fTKUSPfS~<&dUR1N`|1)3L;d@4RLKIPlRF}#vm2u1 z3rNA38eSu~;xs)nVg{RRKxgF^DdCeDDGa_kQYMB;=Ri`cbF)o)l8#6PAEmw_XvI_- zHiz7_Llz}m-2|cCQ3-IN$x>VgyB{&0jm-;9h6uJQ{8~9g_$CD&g+Z9jzJbDDpK9z4 zc^q^K8QC7(D&~Q0)9?~C_e40cFk6G7Z=#&&t*nbIb+t6h029MbWOG|+I%A?%b_W@S zc-gvKTv0CNfx#{EtQMM$q+5RV=dilgj;PkVk+pl9S1a38$cDE(^zL|2h?;YQ)VB#S z9twj`Hqd(mKJ+6>SdZt)2tdC|U z0`|5By0@x#GKO}G<-73pnX{5a#GJ{HIL_aTBsC%B<&P&ei6wQpD2Tutg$x+EHJB9{ zpU`wzrIV`$al{NFpb6e0S)?zvs?#OCN)`ve4;c0b#ak zwUtGz?+|B+v+_sP#F?s2Z09C-g_sa>u>-|{$>p2yYFQVh8W5iqJAS&_qNh~h(v z|Jab5D0#sz7gC!MDrAT{hdw~5Y*&=nn{X}>f`X?-YPAXi)BtF%1g-=C44>b73_k+f z{35R6`P=z>cb!2pKK|Rl=Klbt9wqf(zicfr`d$^B^RwZQIppvIS<&->E8_2eSJg%D z-(<2b|J#~79+97{YI~-)tfex8D?e&tjs9>pG&zia-SGDUvB>Q6!0!vmUlD?;e4PL1 zSL$9maP^U&slZ5*)UM@gYLq`SAMVyyHfy%KDnQkWPl@E;o%xwm6lBsTTpQ}ERWIv* ze@myQJL1PHmm$o7)hf&IB4ey; zYprt6x*gB=nyRaDFBAcP59_}>1n+7OY8@YcQQFt&OtDaoeDt;vL}l9Cb6LbONKK78 zkPE`{qTb~#>ouL)H@&|H4Bd3gJu31H&CF`}L)#Y6gClPF-BFLW>%^Xal5XljPHff) zt=MEJ`{$ZgBQd_>^SG(s#jxglGz1e7f=a!;FsI}4Y+iA)d1&b7H(T-%x3Zm3CBEwc z={fvhDsAOH-qUtv$Bd{Ke1XJ7Hm~u9n5>8^;xtA06M$hj#a6gIe@NQ77gP?tYqC z^XN$`=7utu<<$bflMjTGw~8xxZDY|@Kd>VQGB+HqA-t+GFm>6h@#@>3$e`aNeV>2& z6ZgL!-Q%w~)Esw%T-o!lxG;RJuChGtd9G(vL~Li5+kJ4n#sRB$8TVpO&)@6H={YKz z@G2=+2~R^H}Lyk3OT2#I^2+W{ZGpcLqCqYnrO6#C3C9*ojB4 z?u{-W7M}h6^cg3h;7HB)Q-o*XkM6nXYX3MtcOgCa#UBf#OQiE?N4^Or?qJ>(P zxb>`iQeH-Er{^OJ!}JPi5Y!;X&dzk7k6ZSi)$ihong4h#+nvZ-YZZU8%JA3z(?um6 zj<+6~S|qP0`?xB;lt~)QCJ$|29q_c=_4?R9<_F}J*0+P{haU1PVOGc6uP20)dglk+UzQ+kZ;P6&#ko8zxM%{l`?}_X%cHKxg&A{jKw^+5Wx-{Y zrc=m<6AyPV9S@uAf0mQ>L@s~&sqInaQ`x%9&qVyP6`eJdd-p~&??3x?fK6k+|MlZ~ z-mA<_x9qry{}@yZO=g)Sx!)TwJhAkF;>K`>jb#b<^!$2(SqQmX&_h}o^l?>snr!3B zu0>+vwf7}@v~zpXd;RXk{xewf(jjL-!~UTqa*M-&f!<=yt7)F|oAx_{7G(c!mXojN zC@(~>+si_~Bfn)pmiTY2cdDBe9riCJ|5QcTqeIn;WzIhf27!6WkpmN}zS%C``qbrq z_@AP)JHMh$_d740XAGtk9Z3grwrN$~oqc@$%h&My$Ol+su+4*l6pKf&cMCTT2;n&q z!_Tb|ePXjjQB?%fMPGY-gWbFN`E0W_FMsUm03!}x!SxTAY;ZJxZvt-l53mLwT(cqO zh>h20pS0%7LPhkgorh-nhrH(6Phu!Grf3GK36jn7JS=Hk03MjLCIKD+fCVi-O9@XbeH{pB}V<5j;*(n!%x?N1LmwInWY5w$xC@C7uAwKDG|C%Itn)vZQz?UCag`hJ_`Rx%O zj7OVXhKi>uO~C7dR(yGCAPuW?Zv!&oynh!2h(8YbX`DCC;qhh~sm(9b&4@S7iGTd? znc9in82aS1{S(A`bi~IX5NdG*{H`^;L6wj+Wv^m{BWgYH7?J`+i4nTjuxc!kg&1Mh!&M26o zv8u06`SJu}!^TS$&kfh!mG;GcU$Jd)ufWGu+0Ff7w0sCxQ3Ga23#HrRjZ z$)f(ygDpvgp{^Qr3s2tM+obz}v0}nwrJ(9d0UYq)OV6bVh$%!Xyk=_1tN+M4{~~Na z=;GIKFV@kaB9_6+j3+&Oh4bBX?U(QNtWRnA-2cL6{pcr8`y09|{Mo*RPCFvGc+VH_ zLiU?C{C4R3mAha|oB7R$OHlVll>QgyvChmH!qMG<+laP%un%ibpc2pr@5seP@1P{o z;UE8>BGgc)2n~JsDW$2gptPg`y`+vaX*F|KO??oxl&4Z_OTUAkj3u=z^Eta-wOHK= z{~iVQ94u_ewT_SQ(_e3J)${W44Xa_^A8|e*xlvnXM|}=ytY2g1cHUp-S=Cm*&YG5f zDQBwno@2hcNu_U|$BnzO*-mr2UaZu#+H@zsYxhP2ed8SWQk&%F&$|n?*L1Y_|H@Ja zrNn(uvmOY3Lm9i1Zq^kMce4^81x7w5yE?M6UEjQZa(2}&O(D=Lbq0~%0w|YUjeL0N za@PynmPnNE-c`BbpI2@I5suXH)_hr!S4&{TKm6fn^?r0Fd*4c{b2~Inoc4)HZxW^{ z5XRk4WPrW1+p|p_w}w7^7xcC}{Ucb8xa93VtxOa2-R%Dh;`i1bBgVMQB()l?C^_f1 z({6Fd4wm9naT_q4ZEPCn<)fvm4|c%mC4fB)fv4{j+ub2yZpQ$s7%8=`!{)D?Guzwj zDu+`{^P~O4$rO9I?~>dy9*WHvsX7$MFOy%*=^5`8l_zv%T}AC~-*m7(ey z)a31SKUijp05urb>XFa7o_DH*|6{y9!|hV*|gPlUTSuKG9vS`B&s_v58&?v9`0SbnR{ zXP<6(mJ$}ntu|N1m?d|;&-(aLR_-s^tFzwfSCNq>$Eyge$=&N-dC_szu1r9Ub>;Wo zfT9??gjMtBX#Od4PH~{K37p;}joqgd*J8Kr3<~f#sbTW8!heVD;pGeAKdu^D!yRhB zf7-lyYDa59K>i-^R^vX^qR`-2U}e|5mbPtjD81C(%IFUQ@EC%KR5t!Dlr!|$uja}c z_dn9v^K-l2!@w;enSdOtV-+6%0Z`|#w@$m~vjfawDI2zovIwQ|Avx1$BkvxT?-DF! z4z4+Ubx+Hr65M@IA#kgi zN1BXVfenw^x&rQcUEZ)==6?fpmrFxjZ)C^OlgiT^67T$M`2cdgp9b7f)MP~VYq=Wv zy~`?LCmxkbG7b(os@d+nq02vL4WkaH>H2BN8E104NKF>dtIi;h6I?troMI(_RO zu1n6pldHWBba!hOwO2kN8%%RnBj67E$q9Q^rH@7?+usPuRxelU{^M#GmwNGW4UoN? z8X*1H_uTGdp7L&{PQ6vNp5{F10Kx8nd3paU`5xiX%&7pNXKOj4sP68Uqz%1Ypl(8~ z8PGJUE;M*s&}U`| z@2>jBkeB=_l?iYz^DMv+^ivV56je`T+wUwc+_{Uq>gIzp<`LD~`?Cwv#{?Hmv#o3| z${!lM>hZ1IxOx>_Kbd+`K8CQi`Ka~RJ~620;DLk;;NJWBwGf>>x6Chfy)yFB6Zjey zhyX_^j9)wM-LGDiV7UI_Ki_x07`k*ttF3eTu)>xNGTwXBcXOD|zPpzIQr)bl0G|^K z>bWmlAZ+u%HqMVelpLN(e}J*Iz>DW+Hu1|4ILkR%#Pl!B#{nr-o<9G&|PyZamBlLSj>*PWalgsH6IqhSz8h#va^u(s_7dA@iWrkn;+$>cxCZ z=L_*S*L&{%`%a2;SH_n;HAp{5bU#;mf8Q3s`Ck5$Yxi@`Q=2y&O>lKT#RPyAeufur zeDc-R(b$YRVz-Xl>GePl5$5ngQH}`fhj?W2xkpxNkN3E{=~047D}lR4-%OZ1he$J? z+E=ehJZD<$SK&TH!usOVpXfIIgcyx~w0iF2Q?V~6KP5b?>`Jn#3;vf=@bCOB_Bq^9 z_u0Jt`9TIBMdJl<4|J!X< z>>DkaKpp(gcCgVV-L$Og3+Ls*W|uYk3vNH`gw$wxdkiwMu<}0sP{Pds|DJcphZvO} z<;gp=t^%xX*8TV)z7d7ow@DK{dM$`8&DQe{wswFxBdx*b?RhMzv2V$$)ut=yde#0A z?#)WPNB`dar5~vmJFdq}?42+(UvoP~VwAAzgZYJ&q<8%#YOa|L%&fSz9-|rZ!E-vz z|JiBl8-S-8xmjGru&v9D!Ydh{4ZaCFKu8zGkt5-L^!x-J&<2|o>j10o1FqEU*zVU7 z(6<}a0D8RcOhWhz2*sijU^=+zQgPwQGU7y2q%N1J`Dw~#hhCZ+h!c7n`_Lua>gCm7 z-J2gWSIdE(k8BW!Zv7*nrY*f0!)@NVers>NH$}~${yKjZ}~ZRnDr?ksp93AL&2!*J4tx-wduyEhELkqtF(l^nVieN z4{3cLIOC@I(=g%Ex7VplBKNO^JpC-q=a&veJ_0_nKyH4Yll{r3R*~ACZozdPcna7G z+oow0^4700_7RR5w%%#W)EW=Nbkp*tRoedn4z|EMor@%}UE>E2rasS%Hr*l;f^;WG zj!-VzB^=8PIX9{M5B^!IZ;=Ex4HWNrvcX#-hVqHf(>&Sj4_(LJNnEuwQF73Rp(i zzU`o$uWWawp{m;ec1P&(1do*F7`k9@guMn#O_vT~YBka{9)3RRBHg=oMCV}J$rP+^ z;3*FC5WWAdo1eVo^|g8a@CwO4!dK$c(Q*1xMEpVzJcXk^yx zO!#3~YEW1{dfx&-);RmV@b&%FqepL^cw`po=jY!BxTug(iq7};S!++(M{d=}HUau; zH&vxxR@UP^-Kp9eD$gV>6$Th%?%gyp+G#dXzZMqlf8bV;?3l^#73tRRf-a0Dw~6~H z(^{#UMXU7py!X&U%9qyWebKqQEi5~)~;OXPt)p+iSn>$IeQ# zSL^D1d=<1dt#>p}m8J(oX1z2}D5NV9+)Y>iu7=icwX#JmQdh36S@(WD!t3eAgpvH+ z`#GD<-`+v2$>;Z+5!e-ejQwn0I=;TeCwRzt!{EEif?{ZI#@UR(t-7y=`rUH&RnB<` zl3zUTe0Q(j)qJH-f5Wco?3Weu`iH8`CVJPsMpjg8kph1n>l20oo;00uP^xhM}plO5i9-D zYtbu5+v1Wv?q9Oh0N(1rh}@no^cmmM?93}Q&oIv!J|A`0J`=}@+3obz)M%h!o%3zF z?dq0Ah;BH3rKwZzt$T6$u}K9nop9$fcLbX7;A>&4F0w^g1;Xj`lWmLXpLe!v?mmF? zgq*(RwP#bx&ck0a=(+ZkJcq-e!<@C0aE^Zqe_(;a$2v zyxYiJ`)W9}R3b!8jVgE zC*d1+MmEWBuGw{>9&|UyO|yN=z>A?nX*mPhr5U2%*;cHSaXs3~I?dCD3GNpSGjyJ* z%C;2MoK7#USu-8ILZ5Du;&*n%C!YFoKV$6lTf%lM{QeCS}h zVj8f7S1k8MRZgB8y}h!m>Z8~5N+8pE2E3v15$@TeXK^n+{*KZBSKcug(w|=O>G9|r?rML)jsyOV%f7=-3BpfD z*T48++Hzt1{M5OHxq^1o#=CIT`@W}Mmp1HVuC+ZJ?e@yJm3dnK@IqwL?Nx)2!@rZh z1cCtYiIJN+&3IH=si-!(G$n6qEzz;)U4dE%UYhKsM@6T#o)X}O5$TqA@FwPH3!emr#IR_~!a@F&zy_x@b zdX0vW>o?+`QHyQg6!T%b4Y1ehV*`pJzho4yS?yfjsoI$~m^6t(}>Ud4-PM z=i_rM%O}F@ZK=EI(}A{(j`l+ul{@dg|Io;Q_XQf$vzhaI3bplK z`=>?t+Q};Xi%u>;hkRHAvS!2G>sKuH+?6mjl6}zSlh-z>>Z~D`B37O~XR3c2claXE zLASJE7XKo9ZCTy*-|1UZ&L-x?*0HrW9E#sn{%V>Z1z2~Yn1Qw#pV~8(6sh4I#?S7i zUj6K$x&BCN%f8FZX~eCt4QFnzKpb+)22v6}H^$dQYa@g7S zL`&~sa9ZNn1mfuC3rOq30Hc0Me!wT(zLT5M6*b&_W?$_#wTe+@HZhMtur9=jL- z)GVFyL2SWFO1Jx%GlO#9Vl>&F{ch5G^)7cbL=D=Mx5lrQT1#|~?HE7oek0A=-R(ujqaz13Umx~ITgK)mdG+&}RS z@ndb+n)TluYld0H_uUYI`yLztt-7CZrnT?w^ET(M57m!}d2<)mPeH2BYeV`?Vc(mH zR>9U9qi)XyazpJqLz;(oA&#}-kQdtzYEboZL`?HOF7*Py(%8`??V?xmQY ze~dTIv;y5eQhWQp#!j-n`Rz*{v#ECn(jUZbUXm=_c=UE5otwW+l8)L~agOLKQVc!Ie0uo5eqZ^m>vsCr%&YD0xE-Nw;`H!>H7AQE zpBXI$IT}h*p!&7 z)}+ZM>$QVw=zxmsn+bPUx@uIM+g32`q}*@pc%ses>zdU`-!(4VK9npbO*{#^?kiH< z(|dAcU&hfg`p3IBZ@8OoZLbGpCw5s?TwHN%s5bI{Uu49H@!9*0EbS+VOUcqpCB0^#iAW%oTuD?=6CM->Q6+ zv*NEy)Tt&#fN*+`*yxJg!t3eZWru_ZPv^TnO@Vl}AKkF|7?)ax8~D+$J7;)&YaQSU zWZMSN%V^63F#q38xq&+iZsjIEdJ6YCie`NJ7a#m}`k<*gNnN#Mk?A$l`oXMCfsI5Kc=d=6f%MI$@SpOzf?E?HC zLucXFgx5y#Z44MA957(?=+Pk!;($>j9Njod8tE2Cj}9pb9oC`}y4a-1D4szKTds+|q_umXnhZ;9Q%AHw=1q^*U0ofImU-1CSKCI?g|>pacUu z6Z3>qEayz*ItQ1Q#AF)iP(? z%4qBCwe>S!nOl3NJdJ5&QTvah%s*Tm>%z1@H+?{_H7@|+ZY{$XX#I66mG_EJR1tk; z^>=RG?tw<;ug|+6N&_k|Ze{8aQHjy+RGBmP+6lL~{P}D88JU&n)r%7tZCKIC_ZZwV(41S?>|MukGFQDkS6fY>lv)? zeoxWNd=8rDh@@n=HkYbCFoseOxR(cN%R1BO72-65+S8qBxbY}=rTt1uc^rfiE|}t9 zrp=0NTQZShkc`SryQlVL-P_9SjTa%GtnDnU#%TU)WAf;;21gc6Ug=O40gHk%2h-A@ zA1`w3w%-`Em3X#_1y$W`e4K`XF(kM0jV7z%i2f+5;TUP}DvkzNeY&(qkW(K3*?2|~ zBgqu-JvQ9jc$?1RAyRG(lc_;?%$M<*lq&4WLAD{?DWKiU6*K$0&=tqeu%|1lR_glv zu0|6s4}v{{d&J@e{KN~Ewy38P66%>wf>?IB7Sq9YToXN{*P++DqYOx`)g z#oO2BQa?ad*~s1B-{rGl$F!uWbE@MSg8Uf%iny}1$%n=th&y4)d{-MW zt3w#~4eNLqX15iPx+q*epO4z&c^nsolYJSsAmDM+X68Ujb|NeqJTD#D!Jq;;_Y18u zSGL{0jU>zy#F)slwf*)9qGwDC=;od3hAWx7CsGF5(@0p-aMcmW%;w6@8#ZH{KdMBmP zV<&bZ;u>o-BF@b2{{Y3e($}40AC|}xC#Ak7-x6&lx z=yfvsKm2CjbQvSR7D-~#nkIf!#)j)*!U_~A9kBf$hQZnWqfT$0A4G1`IL-t_^W%4l zH08xw6h~!e-*ce)ShiOfE;&be8?$r7#3?%ju0}N)I@N+4m%xXLdC2t;v3Y<)qddyEVkK zQ<0bT&IUMGwG_xdN+z2GS~;Bw-u8WD)W%O05K}2b)|jKkYf}Cje}Bwhbw}@|;BVzZ zPe=x!ugHZbMagy5j~}Q{rfF54Tao8-11xvb7OCs@12A1Kythku%V1^nCk9;gJ znw9D}wik-{;h2X=G`e$fG^SboFW#vTLg_a1N;F3N2+4sBu{wTYa2)nGVphYK(oOgb zE{~!h4i<5JsU6%ucO+H^)U~sRH2m_D-LQb>Fx1Hk7Ot3EZ&;cL*aD6bl(8|^_L{4c zhpKC%{3#I39MCrOz{`JxTd9fuGtOnJ>nqdsJX`R~L*e~t9dQEkbd4MFlMu8C%{N;zI=UK3j5o&aQ04r=>$OQ zu<@_@_pSey%2hC=AsSE>JRWz>8Jrq(F%`l#l&e_gS0ZwaR+E(vvt1ud`BMD)Abz;;i>ElzB))l9F*#+cP z$}dJ69qLUbaNE>xP|iun&s3e38*LGKBwT@lxQ64y6P^!t(m4Qz=0CglUXRA`u!Lb_ z7oJr$h>s(?O`gcxn#JmfY%Twaa;gehnnR|;)iKpLU6(wYvgu!Y^QdIOgQKk;aU0;# z@#7AC3IN)jS;*h8)y{K&_(+Ad40WRsaWFF`k*zc@IQV-A#6xNskFhgLr-Qul_m@G}7;*gs{eM z;T~b(IA!ipZT+n9*aJgGOV-5PwdnB4@_E)={GS`p6hp76k?e_yWh0M`B<)fAe@cVz}D7Ft}CMQ(NlEgEy)NZ72z9g|7vaEIzPKSfqhZoP|0i z)^yovn+L`itpC@kQALjGj?(D7w3bbm0-fqE%87o-_QnpuOP+C=Utw2%Suc+oawls7FL*q3pWTc~g6V#ckUS6Df57>Z_wN0{vdSaJmy)sn>Gq=gfkaiO0x7)L146fw@$T3d9NuJ{@97DeV?fLY=ERe<=E zlTWm?q#nnPSrv#RMq|+{lFj3;ZZm1)pIMp|iybL8nFV=d(%m2c>5|Llm6I=IQ>1YW z%D@2)Du7vmsSk62<1_C6lr$Iqa9eY-AxN}Hh2^Vs5CE*GD1A60_;3CJkBUlHu3^=F zk`T*)Xvpi@^4DZN5^o1-N}}6VWw%OUbPpB2U!{x&c#&h(w75zXvbm5VMJ$$)8)<~Z z_a<94!0_jYl#%Lne&*?7_Sr6?o?vNbsvF3b`HozlBwYz}w??u#4x}RWKY*H)Ks?)% znC_O>Fl z9L-ayq2)7C$cYHmlUnBEr*z?S1iG_O=}mV`xp)>rG4w7~Wy>TIw0Q7q4iq^O%Sd@U zj0TNFlKDZ#1}~jZK5(e-+cUkLkw6obWIlS41kX-?B^ZmEsZo4EN|I)66(K^Nf>wlpO~U1XzND(mdAQ1^GN=o3uL>OjI|}GJ(Tw zIibh6{>y)%F~%ciP2)jhJhTp$;z(G}a2+6?0>iE|KU6flAiMh=viLz>6-jKYI$<&b zpyHx!c137KCi>SME(K_X3t}SpYJrx*Uv~Kjvg^7tbPYq7_r4X%#kT2WAx*6k$cvog z$QjozL?yI?CwZSNUYW)o(b8+LcmZN;G+a>EMiXn^!LwyEul8$ zi}@;%k>lirQbalx6zvN{6|mb}&%1*cwf#$zSWB=Fj`fcmieq^v+7!y3{~; z^q=%$z{%iUrG7{Eh+eWr-k;U=EsW5oS46@3pB*W?u^wZ#0t$-(eM~!B_QzwG#F0x& zn-Nm=l9j5%0|$rx;kr-Ntd)ecpyJss5uh9=O6%khR4-qZTl&6OMD>i>PKHLkhD=)6 zsL@ak%RQscy_MooT`a8d>1Q5TSE#3qvg5<*SYQqHedo%sIE_h|F9dSyi--1Aabe^q zJ%zUu>~iqV6uvfvT^r_@^0*uS+#Ud?>13vRL}g>B3EC3tOr-8!ba*Z1=*q`BcoxN@ z^!JGN52GtKH&t<5s9KN4U=!gzzQ28rvQ;!jw0ADOm#qe>gOQA%c#wkCxES-0QHwXB zBRnF39g)+pyOuc_ewvhIAr4$wg6p|-W>TDgF24P@&9{)M5}(5eF@{>Gz~6op=r198 zD8SvVgNofQea&tVM50|U=uLgxm9ED!6Yij~3-wI80VQIdAdW7x0M!x~26`=LpIX0z zSQ5Ga<+;v_$MZ;X^6roEt@hqL zST+(x^*J!!1BveSX>V4U9HzilDmr!Aa~@W8yfc2)*rFWD)rJr7NZ;2ntoP^@BN_J9 zJ_WvQnL!RIVi{(<24z}Op={-{u5phXIVpE^`RNIb3%&JO7eX=FLPLu9_{NuhuUD{+ zH3v+>4>-B^k_iqk?1x0^389&rr(W_fdLXCDs54{&jikt+FtyK~O5Dbii?)Nzds|u1 zE?Y0=RWGhf*M7^_g``>5uet*sBMPzidduGP3ER26n%6t>edb*IHi&`y*6&fTWjIMm zZZ_%fgV?*=zWiE1#>4MLKPzvb2cJ;koY_-0K8+MZ>B@_b2TUO;@B%}XccVHdin(!T zk57Q&Ch;j%$IJhu?Y1>_<2-B79}j92it_x}2uwgOfzeg>`>k)pM2C|Ec#$7#`&=Iz z^pd?JM_G`&UJb#fJp-_foV)m2l(HQVfN?U#S>ZA2`8=u%Km$d87Q0gz%|BfWNXe$} zFl8sTHk9;2!QlFe0m_ENCHj38A&GQ)DV1@x6pCc~HK{k*llbFM=I5?d2T^ zZ{t8v-%|Z~?kDFr>ID^-oc=BhU(yg01T@xNH`^Lypli)n?|VW`fx3!RG$tCl z^{@C`hk(-x!=40kSc%j7V(&tG7$jq#4PQw)L5|9b)05PO{P@;}kJh4@F*Evkn`$A= zOXPEXPu8~hR0t=N(ZA4GdJCmox5pE&%|T8g<1dtpCLb(uAdhk_j}xm=He#Bf7!eg$ zML)StDBCuf>s_7{bXVWO9iNV$v0A#J-HH)-LM&d}63xN-MdvW{D&w|-Q3Vw>8q`c7 zu=oH_z6hCAVsg6@X5{gpy|G#9b;#nSvUlO9`g`4z;_j1_{jf1WGOMA&5cTv^yFN7f z(?LU#h-ZXw$cpx16D!CCNg=Sm z8Mn04`$77T;u}i|0E7F&C2&*rEmmUm*^pMBOd=FJ#1u@IR;%Dv`tQ*{{}$C>LNtcI ze+`{SftE(mR~Hvq1qG}xN7GPs^Mad;M2?T-K8y8<-#(p}1#wcy|MmB0;AsRD%Rjm^ z=ysnvzET!4vHgzYF>9N3`!$wfbdQFEQ@~T!XWoIL^m{_d=50x1^MFLETj~mwt*sn| zO0^W69^wgZ0Qi>l{J_C=E5x3_s->*;_JbcyBGJHyLI3rWHB`&kk0mlYl(#JG`IgDs ziILa^s&d`@h?UY-9`SOi#8!~JT&N=w6wkoFcgQAgc1$XM^d)f0L1l&YdG8^HiK;1t9DIM(=z^pZP+xA-=6cCCja_Rw$x&?ly$ z{=|?);l*aR7fJKVK^}PK_`Q?Ir3W%9!_ZNnB-I;4i4&nq%nH-7sRP=4lZtp-qm_cu zPoE^(T$9%&YG&!tDV+YA4SYOr@;PUd4l#cBOFfD>1H`+MnRL>=Dbd(sm!hl&m3dOJ z){3c8>$IBHnfFybVZtev53bAUtK*{%*0SEMUD_V79!hzn2#6G&%ISVf6@K|XshWBG;@_xs$BGK$1)!#P{#^f#YRch5L{oBzD>i{7Z8%KIjkHcsJ+A1yw z4$M#XZkzmjno0MLCge08%%u(HKz zlVi74O4q;64Cyw!xhU3>&cgDQe{~i9Scd^GXfsz=LqzTWJvw-5`sUXg@?S0oCoVEv zHS`81tQPEjr`HXATslR(GN$e=wImwD3Lcnc3t1_Yz-UoD^|@c-$Ir|)@?%f(Ack7` z?E!Q%(z?Z%O+xTYl)ioyl-^)FF2p`dK9n;5$zpZodDb6WDZ_9&xPTdvRbHsFgMyFp zVqqIHgalB~E>H^Qe)e;%g953C$OaM@lpGze1=XiXUsEMPl#e>&zg-mwF*vqs;yS+j2hx3ZW z6BxzJDarEbRe%`JdD4G}3+=+flY=p6@Vi-~(b6g!z|H-Lnvm93T83dY8CD-)%w z@I=ih!Ry)ByxRQeuU&jK{1Nh)r{>9nNF+Vt9m9$=55Jo-@xxm6&wngRjd-Po)kDst z_I&nTB|vpv*JzV+ZalZtu zI}=v?f?EjAN~~IoTGS#e#8I%*mx@pjr;R6C4Qx^pZuHwe#mp?JY)-QrVkuQv1I59`sW<)9BD5DL*jG@x?4;-Z;<4uh^(ygjo z%wPoNX0}6_!l}GkBI<)xb%wR`5Byem_ds$P zzutw}a(2*d@%_&8SHUh?lp+@uA$6f_+!8Dr3}BA-fjF zk=)mT{8sSjxe}3>Q{^?&>r~kpliVV+=kxQl`^p`qZQad#gVL&t<%(%XbTlA?OrYWaAL5b5}zvTtd54$>~`xKXJNlP^p51zZ)DQn`C zW!RGmRjkq~JQqb$k8&8%_I9KPAgR+qNP*j9Zz-Id zN;tpTx6rWk`)l$Dsm$@$4bSdrU&Y)l8R8)VMEZKn$qt+50ND{0Grr!w&*w!rs(W8* zeW29uPlZXDtC_zd{{ER?msHWZBnB3fk*j}V4tL{DbTv`+3;gHL@eu^NA;ImQA2!l> zlEtEFnQXpEkrnvAJd^ih<{o(IPB(8979C0)>ldjj<)8j==ZBRbj?M9HMGfMIG^#{M zQ9K2d1Luu3Ha4m66dqiLwD`zzD=X>tkvCr>DaCt84C^G4m(4*M^yao(U6pK_>hSq1 zWMz2>lwXQ@GqipPs5+K^b;eqq-STLjb70t+FxIsa1o&}oXZL6LaCQ{?P4=|FFaNaV-y|7)2bUHZAlOdoE`=vbj*Fb1ZRx`+&mHNuvi=izQJ z!Ut!^ASkS%gG!Sv3jWth4MpULwOusNUJ)$@_9d}hRLXNz;zDE*pdKzscF?k z2ikPMwF-V9WeT~oqLfmG4&q1GcgUV_#NXMCjjJ=%OWDrH3dnEFbJ8}6`&VZS1G^Er zJy;R)2gY@IGs&M0&>6OhfA@2aZi)FGyewn1sxco_8GMjJh68?_Gab^@R#f)Ah)cx| zz~WW>uIJz@nin_y7>?#f>0C7@3N3!Q(W0p@=1m<v?1kf zxvm`Drc**&Eyw2?%O(OE1odSUx^~pLLS|cGA8=g{YABD-(Rr&#Co-?6@ryKDb-p-xZ>&H2PkTQp(FbdOffFw(i6 z#9za|&eqGS=~eOkbeAfehB8MKqvOPzG3rKcj8Lv^CLqWX8&!p!O4lt6_kqJLpk#VB zCYxH%IGIN<5g0p=vY*D%?cw!bCu7WEErzz#KT(OsKyx9r zOI{%QX5IatPBn_C@d@SGH~dVUM+@nwH#vEc0d%J0uTy3#3yfiCz3*OY6=VM9VdUL7 z*@=nO8v)4m30aa?eLeWFS6=kxw3`wJ8Bv^lc^ap? zG_6lw-rJ>YGZO)Rtuvg1UcLFAiCOrH<>Go1;^;J_ zgfCTp8sauwn>Y%ph|R22^!w*;IC?DgphK3hQ?wA`-Y8xFgDx8mF((h#&IQ=Bqdb4F zwWVA>q<*ygs-%#~8EU{0lD+g!L&@?PcV683Xab+k@@s%eikvVkO-1j&hk|}_pIiPa z@#p?w+Ye6sgQTME?zq+lHVz~C^ky;Z1D4M?BA5RK7k99tDao6*W#1$*J<_u@@sSvT zJDwT@JfXmzOa9^q2Il-Bz-&Vt+2;;!XiH|Y-- zR`bJG=nU9Dw!~ze62)FLou~Op#JwR1!;*apv*8c3YjV?Kz(d4Zla=?X52|M&`Kh(I z86tyh@R>xU;SsATX~2H~X!@-`nZcxX#TbEuYWX3WhZ!&n0nA{E6xT`>V0>ch*n|yn ze89V0PueRU0k)8HJK-wJP9D^9eJml%&vZiyZ9&woh7mac;KYhHM5T!$LYOLad?B3{ z>;8*;LjbgJ7)HsFBiyP(|2^kU8!`~G#0G-PiAMcxO*~@^z;6vc)mRD8>)c3Er1)%0 z6v8xOgBiNi2Hk&MZ?cB#@rxp>1-Dp}mq0bkCW8G;H}Z>>>_Le*RoKw&Kx=wDj9FnV zMM}W1OYO~Gc(W`{y8+ZEHfG41Tx0j?y+KjUndqD7OW!|m32?c|`Jvo`$y6_owiO6* z?xhEvL&V^$MQZcBjn;qt>GeI+mNu)CHR1K*)lU06I=rr6XLzhYIe)#-H7|TIAp0Rq zv;aT!3C?#ApV0hnS4DGxHR&X9I1H>s757nwmxE3YKmbTtQ#sLCKF<0*8Ey5>pY&7wqTD^o2WD*EUUZ^&Z`oBt$WMVaUH zw_^Ta5ndqeBE}OS zrHZ`7zX@3;F#os>=@g!?ajf*?irwjY7yTZT@dMN6sq(Zn=W{)Z=j%wDQGp|W4jZ$d z(}0EIcVY?e!zD9_q~L4Wwa^kC;N*;5V>p}8eQ{IW{uu+hXjYs=L~Jw4M{yol3;;+6 zqj>xA5@YTq(scWQJaVOVH~@1>)(S0Tcih<1p_A6JoW<((94Pq9JfQ4D8T}43B}LjU z@n7g!$p@B)3fHgJ$QP}wr1xcX-`SY4-D05?!Rt>GuTRqzn8NOs`W<3T{4oxcV3W;9 znnWzdHu#~nT*9lFKQH7(&8inv9LUD3NLMq6>HKDi5OM;(?VAhLm=Ev zD4`^&P-&VZjI7fqO>?Pn$eN}GCyZfHtwW$}#%vsVhxYRlj3u}~4u6kI%aP5HL}i<- zXDbGiIv-JyWvEePRUr4VDR5s90g@??p)y8ZjK{BsRVz|4UGd6oDFuXu7*nwXZ)mhb z@1`Z5Hud>%n)R0JwfewH@7$GmSVG{nLd}c``@b*7-Azs}6W;iIXK$YB9*0V=X{TP( zNPiVEfN3Q}xcU=D*oU~0^c%uRLp5IuxEKD=O*%Du2&cK<7Eo9WnEjhos zifwWGAAs)4UH;qJ4YBU`wM>%DBYFKl^L$S^`0E*{Z>aZH7eL{2Zd8#>ENx>0A`>DwE{!BIIL-B#J_1mllAOkxv@)xt>u;oNhR7Yg7B zk^9~PgoSPP-*Yb>e!efhP0_6VX16h4F%4eW(+jj_0tBO3dK{#h_o7Qw4Oq)-su+6N9IbzuHKU)`6 z6!NLsz7837TZE=VnVe;n5OI3jq5h}hhmhh_zGO_@fG6t$R*bV(zJAhFLs^CKM2SwQ zGEUs;Fa9AYlJ>9OhdhX(<7~_x!eNNxrP=j6B~h2YH95!q+hTy;_Fic+VTVveYi#nRI+uG6bE}5P6t7aOcY#Q z)?q99_mU|JKbgTcFBdJ<46`Awtnst}B)uqHn!Fql6OPHbA{n&F^$4EQF<-typkC^5 z2B$M*BM{@hF6Z1=W|-~LZwCi*sgVzg@GX9e$M$oTREd^4@&bNJ-n1; z<$+)G_-fdlf9Soi29sf=xyN2y?J7U#`mK$ZS!kX~UDHBxYPy1gTdF)*K2>gU=s7p8 zR;N=mh8IxNRq`Isdbba#YXxu(u`(KgD>7qJ62~f81ZMc2iMfCT|u7e)PEcz zu~g;FXd|kBQZRF8f@yg`M6cby^ZTn)RQjX8BPRTcK0ZjC`YGM22#B3Moh>^Du!kmk z_Rb4wL~>*n6I)F+fQD;)O*Eebjp>f}PA8yml`PIIHaM7uPr3PDComa$wU-RAH$!al za#4-D!t)|eN$;y-v_QW%^9_Hmuu!*A?hc`7po z2@+2jrf0$#t+~qyB6bOaAt;k81PH&#n~SUNRFlf@t@8-etixL|Mo@NH(PugF$_wgp z+s(~INuE)Cuf2&Mx#5%h(d8nAMjm^7AVH!1=P&&!k7xJ-(mq2v7*Y>GLQ4EWoyIEy zb4|M%tQj#82Y_br;Z&~w%x%QiyLY|P_}H|Q;_f-Lr7EbfWUeWgs&-5hH~@@@AMB=& z2KxWCKpZ`>aa^Z&U@m19Vwm=oHPl2r*&<1e1{hx|f|5Yr@*vy-JR9SEcr_0h0M#0T z2_`$wE{o`5B)*NH%{34rMUs*yye!Xt8O1wl{AB2UGI)pnSNcd{IJInvlnI~62QU1c zFM;_ltT$;6n2u?HdfrkoqTya?4O%O=hd%OX^77&C8$B?xgGKC{u7JAkw5}{^w6%Ov z9(lXiST*o(F2FPmBqjiXl!4A|f1T0Nbg1Kq7I}BA?*J?y%zJF>^S(%54f_>HTxOIjgdpnSh?~qO^l>M&3biVhwv?VpJ>g zU1^*+%M)9r$9HQo?3jI|L?Ku*N?zZ<^sd)RB|}J}JxGssW$GPKV<9l!J`cCSEn96fZ z>23JJ+Dq=If4vw!^O}^pHW;+in@Z($jUaXNQfra(v6i_+q2;! zCg(BE0VBjoRrWL`-Fd*BiUz`#?nR$v45-BN_Ns3tW|^C>JQXHtR59o{-?+cy8XEa| zS?{kwARwdEcI8eASPmOdw1fJ7)W0iC-s!MnPN9<@0av;9^}zF7&5MfK*4TF>AcFSY z^2Iql4|8g(W5r3>{{XAki4pO1zP*#y0}hb-{YW(_aT4_cju|#DY zt6()EqM|WtDTw+Ac6bp2DM;8P9P?SmdEB=h@+yN!$_bq*DOYDHnl1gj_bXE*dO!2pY|GA zjI^$GBuN}udM`AhwqHCj=F3GFlrVc}pB3oG9p|+{2}5SiK2e2C(h@yNdh*Tv(E+$( z-D^7**=NU%Zov2r-&C_7zi$*TvMMVAZ;p4+ZwXP-?8X~~!!`0pRxPxZDrg~AL#hfu zNO|BHd0bhQ?hD5Fe>c-dx%B7nFsX4^4KJS7KEsBhY|Zy7o&#ACFEssc@qYmI5K60z zTwPk?JBU~wj0nscW;aazg)l8Suy{oslmc0XXN#x8R8WvofLP(Jmpb7hB4+R8(lhkW zEA(-SON{({*&Cqt0*(2W#kk6RRz{o$`zS#`BQ7%ae*D=MuQVXwX;6n{jbp;f?VBVs zKkV&t62m_~U#QFXrw??e7f$KNT0+o%y`9X4Me)d*>72wqWhVrN&rwqw2 z&*0x|43(e8ZSE*h0Ly*U7wpqrWJI>Z=rz6kji-Q!eW=6G^73_I9kq@V>8*fwl4Y9N zzOax{3u&m29P+3{Xlm*(%Bq5K_Q`{oY|O;k?&&GRr+qCGore;;hM5?S_|~B*?^ZgP zu@5fDMr2G@MQXZ5DKh+?utxF(jlLduNy@OPA{Dz=sQ|l$tE2RG_`w7R5RBEint8rG zB7w6z9AEk#xmx(BO8~qiENC)}S=G`UM$P-aZfSF5tGD0mS~jpO%II zB^fYIxSSTEdi92N04~gsB3)7>Wl3LP8o^$s%HbTGQDc(?J?bIR)6(&_KiG->TGG~; zl|%NCm!4!|{H_;OR)>e6@h*M@QF%a{tDq_4v$|GVanU(#qS1!&UQ*QIiE})%z{U93gG(-)) zX(U~acqFpRts}Su7>niRkyi~o=c&vzq@T(af$(@{a+5efV&qtc(Gm8?CTZDuj@r?rVdy>s)5Y1}abgUsEb8)ef5ZrWF45w$ z52wsCc|Ud4&hi+=3y{m8G{#AH&{@e)Cw@MD@!2Q^Ec+%_)Ep1{xd%UIi$7Jic6wVG zVTMoeQ_cCrY7AT~>hZ6n)nMBE=u!aP^F}`u8aDA8VPxD!3Aqw658}05||;))3|8d(AilXQ7$d-Ipd1>Ap?tJ z93zW$!K#xn#>UjQ7?*P#j#W(&YOHyj*d{unDen(xH!o*MnVH36hY2I~Pel4S+Bk1= zbxOJei)|}A)W3Und|t+c`Q&UeIf1qUyp|}9vf&6V?lC%;QE6q+0jZgoss7^Km{E?^ zfwG75hno4@q$07KPa9RlDlbU&(fcZW@aQ-BQ~GegDBhb^Q@E45=vz=ctu$xnF7Iux zk5tS!Wmo<&D`OkhurqtYkW>%PBJpWux;Ib6Ed}|vIOByUdnb&P9*eI>^+kvFGdF?% zwI{Q)lknR-!L4Fdw5o;4bia%Kx(OjiC!RNS$&K%azd4mS;%lswDkB7ax3^+v_OYo z&u>RrU+ScAbD+&w`}a%^U~^0$k)1SN$9_RZs_iH-Qi#bCQb%iIX}Al>rX+(vR`2bE z-bcesKBq!&^L;cwo9I{@X>1iX(R2x0qq_W#wy9;1=F6x>nxO?+Qev&gQB!Wm5h-f9 zZA|OgXr9<4;5j)x*N@0$#s63b-SkFi!Rj|{7FdUCg2`#l1L>#2@k&b~y%wd3N}5hn z&<8~ImBTQhg9L=H@VA;7DM`z=iVhH##eazo{8)XNpe{l1g_@_8Jq~JSE}p!w0mqw| zeT5>9MC4O&Up)5sSAI?LX6pbE^vUgdQv^h88$0fLW6iJbg*{gtf~{|SWl_anecfbj zamZ;I2FWg8;pfGZj8Q84P@{!EQVk%(-(_toATapj^eZN9#+a5|0vjc-4I^(T{e(i# zKV7c##%D72f$&>5%u}nT^{p!+UG6e9*_+bNs{!3N#r=>nU1|HkMzVe=KSzoV*EEjl z8Bh>nB$!wMy9_ zHdu8M8(g&?u*VU6l>=u$itzU1M0$T1yw!eUu5oE0H=d<@w3^DBt(0PQ#9H=|;i9}* zCoIK)MJo0$1p_hmNB3zS6CcH3Oo`5DiD~wT@_x&XqcXLDK&Q0MzRv#uT7~wF{dH}) zjwbd=Zh|D;sSBWqT^gzm*e@?9*KiXoN?n0E9Qy!iX`E?17`YsAqy3U`@slLsRF?(Y z9jK80^3*1!bQ>yf6sr;9qOUp2HxTk}*c~tbG)sQv$;FdJ(pkKY#{+HvX)oFe}-W|cY1!z?o=?p$JM;@eGTb)5m5~Pt*B1V7EhjKX2BZs z#s0e`k!%KKZ@9bH0HQ_EsAa?Mph&$^d`6J%J zm&bf<{J|RN)iSv|_!I@^w{zo0PyZT(jMMW2nqup7Jn>&~enbF{`_48343B5?f#voF zQ2ZHJ``FJ_3Qkcxh38=A=dBwqi4_{59e~4cQfzZ_~(ZxClBfO zeq95vC~x_D7h_}dq2B&d6f7t}BJD!B%v43lVR_)gN3GC4&cJl@=Su7iI9i!b>aJLw z)+V@arAg1g{{SrnAQ%(kpP|)R|AneqDfA+(WMZVc*(M2(5P>!LNwm_x4dq@U%>XH* zBL8y?V*lH2j7?x_KmN~IWGwINQil5DMry6dy+1=F=3(w?K6m6k{XfpfihPyRv#*&3 zR`qB-zubY*SujwACU`JobH9Wfb0@Y5XHXCU$j`t<1Y84JO)!lz(8s*Wyh_T6ub0yZ zaLsdB9l*T1Mf*LKg1djrod_6E@EN)3rnFrgX>ymi6z7&OmNj3j@&z6mJzD}*vMcQy zo05Aikm~j&`sRwZydn+%c?+3SaNF< zo8E`v6&PK;lC9HknMK{3lxlH{`&AHCleZ0E?P6=@jfs>$ephls6{nX}dKuhV_bE+x z{T2#j#DMpVMTt9a)s!$}V{Tys07yy^*^Zhi&Fh|&q-U?m6Z8m7v}72pXJE!E6ODH) zYN$+n&TOB>9sbTYk^E=cY`z;al~y|ihdBRVqZkd@kh-3phIew0 zWz_qMRAlJEp1Rf8?T3%lE{goPBaEG_K2Ny=QtQ&}q5*zU;UqR{8p0)R)lnRqa`@|h zrDEJZNXUrtqNa67lsxz5MHtYwsJ~YsZ!G%A@c$H@g+mkE+lIHXjWNOjqib}hqfs{) z9gYr(0Rp2teZ>KzLmDKMZjh2jM~WagQc5HhLTJL~7|IO_w*zm|D71DIfkdOYTXMIkt zo?Z0pzHIoo>#R5^b)slS5V>-YK3-9FmNJ3H%+AlIfrXBL`W`>8zB0v0L(UtgBwv@BnRW{}= z#Br_bfHBfarTg6p_#)XPgB_IChg|7VLx$ykh1*zT1_TZLdj<5dG~Dbv1wTGuMTN-3 zW=l3zJLDlF@H`$ZHqggm4Yo>5(_v;zOQQ`LK8KSYU{pKVXm7H(HJ4{(M+-OKR#3a0 zjg#YMpr7xYy3n{tfA~mRX^qo-d9|P+8v=%b_1j`7U%nDv>ic9MN7Z3&qk2>msW_wh z0654yRRscr6pY(7jN4VDkLAIPzJ&z&t7e-XIB<=Pz|(vQXWN!pxm7mN9e)y3$u9=t zMIrTu^AirhiSmTF6|;EH^j~X1nvtMPAzz-GSv;Q(lTATJ0(Ry)DkH;)+C)u(NjVxC zpt%53E(DdfWaa+9^Mccdw*U49E=AavU2i4rc1T)V9e5+??6@d; zCLAED<1L7*_69?aZel9d+Vup!(4A@2%8J%VVKhY(WPEwnQ{XS5S>;vAZk*Q5@O+P( zRogJeHJz4bZL#l$HXtd>N$ZZ;Y0BuZcrm}ZUU^3Fz65ry znr`aTeQ)mYAR-kOH0-9^_Edc;E;+aT3AGzreBRl>sXh+PblYzq7HXA%2owq4rFQ`P z{8S$>!aV8M^g`K}=7jUqev1)5mNHj~pYP|^jQ;?T?d*1~fJnmUBXnsmLYgEjAxm)V zV@5AAQC8?BrO}y5#%ZDSQ|;DA@O2bhH(LCINc8pmrP&Iz%6i~&n&a2hXs)$fJVIZ<}AqnhGtY5;ahNf)MgDIzHIkiqDFGS z*4+0(Rq$J|iC)%ZT`SOZaNampM-V5bvK_bG1lYg+=JPh&D^Yc=`^t~9+Jl=V;vB`9 zXp2xXSm%W`;wOImIojC+t-*DQ}+^USoBsGa{n z4?6P?|Ks-cX5_A33RR{hzBDL0m!Ax5!f((0Fdl@BiLb9|xzHfI(I zwoNr!XH#}S_XZ5Qr2d?{BMbRa3ySBN;h5@qkwt*>KJ1+|DKc6ReNPtnl3N@ymb;DG z0A#HsG8rtSEPRFz|MT^~k*E{%7|504%N`oE`03T9lu32e6}uSGYa=f$tcN3KWANs$ z`;q}?(lmQfHgEFWzmfq`ALIfT3;r=(nULWi0quG@F#7dxrcy>+kAL1C^) z;!QzNP_k>SW4yW9{tEms<+Vjx&`TYW1!g+QuRXl4iiyjIvb1#J>JTg$oL#S_5DRQn z&;tcs@C(J!+XI130gb(M_xdMAxVe)Z!hg=0Uz&sJORW!HY=YbVpEW+_{ zRyVSi$(vz68hQ=uhl?EIj)Hy9%{RZ7M4wA0(uc^07VXj=kb*?%6m-}dSB)sh1HVK` zCPoK;K&a@yvnNRH80U|SI)E+--M`i#{6ZK*?8uStgXdk*tqPn18^ta6J7Z%zntIdD@kn249VhYSBSS2H4mngmQ(M znNj%o>~gQz*FjR`=TS{R+W+xCz?)qN8P3QdaGPgWtxLz>V5u9d$MpjLZb^Tii9Wwa z$T>Y9>NXMi(;|`C;VUpQu^CqBnOWaB%vS0`>zEoR) zU$6Y!r+I&mE`l}SzHjj7pV8X=dfn-9d35q3GidaOh#i=e9|feg-5uBd;PfNMb5Vc{ zqu}UOOO_YETB|x|ghYXqYi;O)QPj9DE0R{;|H3sMd?57e&FfQOgsG&=Oos=7Rko{TU>z8BydDLw)+42?V4%6uxwmUPrPBx$s2Ee+9E?k43o4iA} z7lswI>ip8zzGH;_NHpL+hhTcxp;U;%Zm)vV=;q(u9T7i`r)S=2^8?iV6g_ajjj7LW zuS#VYra3K|-HdTmGXmRM$@0f5)hxoyhz!M3#EPFN5kQsytDu`2J@)NnOUNR=1k7fU z7prNrUYU|ya2Mlhs=nNpG zMN%1Mp0=x1##d-ClPSy#SHGb!nu780Sw}JOC*v1Zj6897XD=NE{zZe$VFRl|Wz9-{ zD%&9G99(W7bCb%H+S}Wof`e>`MtpSipuy-!$5nExb1?6C+#6I}xUIB9o8XRAY9#S8 zRK+;{0(xqiB zTPT&l67EAD^xs-wzfTAr24>SJQ;CdRc&W5P`I#b(BaQ~6vKmc5a#BxB?pO)tvt-%S zs|?F0R&lj;4sFXAf*!=v3?S7|Q_Ij2whxdRxs7(CE2`|ck}F>SV`BH0c5bzy><1pM zO>-SoX4}VJC^cfl zgtuWN+2@>--}ECEZQ>{wCVC%Ly4gp!m~7r=grBcrcw9U8e){s&Pf}m9QKg?c`Y93d zl9hbQCU_~fJcv_U^s&ep18L14a{Jn|NxL{Dk>j?y+a}!=4lEUYFlwo0P@0`}0;*dG z%S~vkh}U5R)ZU*{L1zh3uA)lA#KQiry!@6`6n@@e_aznNJi?<*UbgrlU{8XrA}c++%#Vd*Sgv|KC*Bw zE-*N_$QH(SGgg*h6P3J59IpA-but;=5X*CP7Bp`+;?8)=Xr@H1l!QlVIbRgY-%;$_ z8Ic@+UTr@8G**+bvG$-eBA49|f=)rvwChbVUA){rJZ|Bg+Ze-?<&(3%PkKw4A`bxf zgs#6s(U^OIoQ^vY**~!2+;O#2gALDcjrMyncc*2F2Fj zQlqRHyf+o+8Ifuar8G*JVyaEgM&q6$-joy;7ca^@o<}3V@ti{YQd0PrcN%N*7~B(u zg}x@&(aMVvNj3XPHFvuiJ!d|j$$B!p;pow-d8n3G38j9?3=wxMv)7SY0`p^SrsCsA zDlr>=%*qk*_dc&&i(@i+(;fw4-XRqt6SVl3IXA^I);-zH$f+zhT*0i?>%F365VBYKb=1s~; z92#CWB!%Sz-3J;?y%(G!E;jKV8p?e^unuhsA;9XleR#69g}-v?6|h@YA7kXa*Lx8J zAYgyt^Lh~%e*m2IC#Cl33lHKfJp=2h9A|0Eii%B7&VUjnFZfKLnemx9-eV+1()-kV}XcB}Um=VLh^YSeN$^=sHBRC1RyL#r#E*&wamTPo9H!0y|=23-pqFU(8yIN&SE z`9~MGIIf9AUzH1d@||o_=Avyn4gBVouvpcxu6ZT>JnrEElbjZog%t)gZ##KZ##_XoRvf06476cPH*a{U?b^G1dK2+#HotF4f)=6of84g{!5vKoPgrRY`KA z#_~QMmZV&kAZwu%*l2Tzb*cA-_>38gs}9*E|E|3p-p(X}*@>d`tIzH1)N_vk-mD_p zNI9;*p=oKtl|aV$)@sViM(slL*joXDl_*^8Muf8Sosba}Ysfx!$mo9n$3O4C7d9+^ zKc_MD7Lrd4|n=ra&0B6Ndia?uS0)~?`y3TwR z4NrqJ6)$bph!zSWmI0v*1JXZ(OS4Vl^7q$2aS9@U)qHGEH~Bbp)fRiaF9`*^kx}3S z|0%#wJWV29XwHvmRU(K_Nv7L6DQ$bud*^yoUZnIA*{D;MIb7CDal?U}!(&7S1X{hp{9Bw6%U7I7Mi(Av#(a1s zQSZ|i5*724@}6~=)$`#=O^Sr?ZOqcfAbg-Sj*m zi|Ty(IIQ0G6fJRf;p2^f_I|0B7Q?PufUt(33)L!~E(CSxe-&0;l}g`~eV}t&eQZV^ zpS6aks0muHj7s%t|M9F?P146O{SQzcs-4nPmH#OIJ<`zxLA<4kr6es_z(SA~SO<~& z>Q0Q$FedENYE2$(FYTh2Yxq(=>@aWihJj**6|_`9Z~&O_S!6^}Hk0Xa-QmyP5AG!a zvWbl5^)JP>-F<7CQQ$~JtKFsQ$7Nw!0a51?f%+*D2haGB%izO1E>S-q-NFw%XW}}< z0vH%_ri@Coa~5{5$?$5-M}{etB!RYU38%lO0mGcF($gh6h3_(iozbty=FUxFErAU& zs>t6oT47d}U_pJ=ztpsD)aDbg`_zjL2e@$XTG%?r{kRd+2vf0!no!fPMgE35OfZz@ zlt1(HTyI!n5c1Mc-QV1B>{0wOFD$OUuf&YEYK8YTKH_-$IlHF5*e!?-jfyoZs~M@)6UuCpGAtx3d!x^ZCF)@#6vd zCIwY#{h1^Y2mAQ;_SZe3UxbtvG9Lo3%$V$rf)1ZHD5On;D5;D+rO$g93I zuI6zJU3~}YFI4VI?(^u4KI4=`E}bUBwX&2uUWycs5H)Rw^ho1r*|OaL%mm$y8k_dL zvIH|`sd0JX-#65S19kMYnv%BZL8g(V4g+WpcU{0V|GBadc!>RA-ao?!`!uNYQBCY@ z>#43=oejT36r_<5niVBL@+oH{`nd5^ey0Y#k?A4jB8;RO00YtRI~wjeBjqol zJGM5&P?pS`n#3Et;sm=LnKQhzGWuP%zcmYY5X(&cvI^rkwF_7gacdOy6I z%Lz@S)w5T-AR7YgkYK!i@~ znCCJHji5%1T~^jVUNt_~O&EB@x2czCt)w?mTteU z+8r7K4}>j`#;Kt~e6 z2#p^U7wvKk{uk_8P=R4+n5t<@C{J7HV-342vJw)0EXI-qMx)1?{O`U?Z*(*t&NT`S zf(bP%t2BIRJ!Lwxe**tST0)A#F7y65s*xf{0mfvqxL za;TEP{;7V-EcPWIt=vnMhzJzY;<|HF!WLTl6Bl~Hfojwp7ADVin+usjU~zWI71R2n)ze37sb zSTEL`_9=RQ{q=~(OhVAf$b~)SVLt3DDegK?JK4zu!~0>jpxx|$05^-h zkfAjoje=bgI*1(-M`TFkf|2zR;3+BMq5oa?ndx5`m=7f+D%e_zd|3dv_J@HL%L2Cb ze7v(FDP6uQ1Q+)O)9@vA!wmhNCren2TJ)^jADRo#l#*63{SxIKCfhqC(klFX%}lR9 z!w=QO6V_M9j2OKe*JY(lMpiYCQB#~-17)JS*msXwED-IYa_8`5=&KdE2cRk<9RIu< z#gBohD2Nb$`p}`1q58xaTEEOVm;9w*9Sumf#E6``hq*wCb#ZFA$)*KQ`TqcAvQF7O zP1p-^DPdod*4P8hpFMc>{&}{oo)sPlvt~1W32<$R(`1iRuG=Z#;Z9OaRV{~IElng7 zlY#q2cd72t1^qq{Sqj)G}bBQ_^8aA^%UyI2f@iJ)?#`#IFF6s=KXSb`#q12HFy0 zk0%}eOX4p&O~89QEmB`70p->jMno&TUJZufOLJdG37DT$aY|XG7=fF`3~k|(QSXs7 zLJ2vQBQy^`K|JF>sBT~8egnJp^}6ZOr^`0^-UUezRk|NBg~%a+AC9NOuW_{C1$-~a zB(kVcQ~SY4SgIXPYI0QObfR;kwVlU|RXJoWFyAg>$lQk8+brK)BS1cS&F3u?`hegF z2d}MEWpZ;r>@0OC)2ct^6er%fZRan94u+|y2frKlbRd|8CdjaQ-1MQdu<93cw)$o_9LY)iYSbgS#tkj6ngAz6StA3td76C)l*Iko9DwD|Faj zlb&#gpz>`qbO|hJH0M|=-(9m0fXol=77}2^-EL@-&UNh*QJb$S9BPLqP>U3!HTV@y zF@didv*rJeGleX7AtTuKCB*C9kc(+*8Nbx0_%?BE5>B)hn;NKbrLiy!m>K^d^!HyH z`)1N(2}ypkac#WVGj+z#gj;R>Klc7^Bj~2m-#or@9(M@5Ah09AA!AV?DaSmDbrON) z!VOk8uiAM24*LwNZ*^tAwnLsNxgo%?0w=Z;-`#8Xerme&}UWCJ`lk9tIurY5bS$vO1myUCFP|D z6O4k_cQA?^GQe8=;}EYTN@OikyEVJaeS0AdpV}ha z#Ks-dna{E)u=vTNaO?KBPf6gtuTxEl%6bpaNSbnJi!>0nS!y?tPL^U|lgU=P-S>$b zBwQ}L?OGoJv(%|N=9Q3-yuAwYy*2QD>kLS%07B}Nt+H4;WjBsSf3|M z$zQUf;@)-l`7WFZ$Ec|Nb*;a;@IQdY7Jbpb#L5%i;)3948TS9@S9EdbCTR;~(ds&l zDQui!2=8+Ams&#F+bN$-(_90`(O;P;#ST~!0k%r z(6E|ja1Y@ca;um*HQw6eI0DjG;-PrUWaV+uD1`lv&{4cLxkdTMYbW=(4rO6i#tfLF zbabQFrP_W-NQ3{`Z&K=ngi zT5NM%^Hv2L__K4sh3cjhq;-H@`6@aapoEpcNm=*5-rUB%5<^diL57HS-AaUxxh%ta zgsLuj-sBVe_%gGzpvo~FKwHO>oyNtBcSk^L?XjycRFhVxVtye2NjX%_?2yCqqjuDc zOIA`p?r`UHAt~2@3Lo}$uT?+&p?Ha0h6=|go=mn*!qbG(B+@!VuBv>&Q6*a4_VyOB>2D25WB_22$S%qduz$$yimu->NWsb(^ zX(yZ=_RU1pVbPWO$oESbH2{n>9FxAGuDi-FuYT8$&njP>@U)YW)J|(qTi-tC*2`Sv zA=Y}+PAQvhC9)z3Z#k5;eUM6#5feeuc~$=?906c7X|W10LYyR1wcDWM613s?8jgXB zmD8I=4^Z#`G(mmi_5mo@=ki|lVm+Uap{(196~)|eKR&y{RZ5Ddn0KM!Q5W#d9mDP? zK5JX&Zu+mIJXpF};qbbqRKAK0EDz{`g&@#`RE&vshZjCpPgVp;?C^o*nFcB*Z_7b!9G`M9E_$*B6h|;1BO}%_Yx6Jijv6lWl zVrc1{``@W9esxCUTl+T@FUHFj+-!Bnpy`_(wm;xR!(XNrt?;iCVLdQ``qGo{rd#eX zUnOzyMv=X=Ic38GI(D8hpWi7tn}f5-ACG!ON3tJcHm=-3ex1)wb=J$1u*b*Ww*KCx zqA+*m(QgWKHQII1e39Kh2VbowRtQK>&(joele4tu%`wugwGCVbh*Z{n)?*I&cFeS4 zMrnMzq0ySi_u2C=oi!GQ!@s3Do=-$>$EP_SFtI53=3&D0k#M&oUruLo; zh{eaBG(m`ht`e5>lpK*1Rqsm7a zKA%u4@5-FMl!9f#VndyorRpPSdAD0R?OfOUlF8G);A-UQ#r_WcPvyMn1=ZVEBO$N>)RP?{A zDfR6vdHSrsXM3b}qlKgsqtGD-HgCQw|5Gq>u=()(L1y=d+ih+Rj4}lHo6r*2t9%@~ zQUJH2(Pkr|4M2@rN`Id2HTa{=KtzQYLN+h0F*sH-v zllr_2DOJ)km$eqW+@IjjCPM;|WV$@GMY+qROd3_Rkz2%J-f!JlGh>Q+avhuTa=x zz#WJ~Rt&jkRvcLs^G%r~v251|G`4Shb+te2V%@T!IU{^?CDZww-l{`Q(Sq%)z`zbt z=FC8$&Mj_3tzt51&dyQWwxjC~1tk(^Tw{Bq3?QaxxWM(|qXo&A5wu&;Y1PY*xO!J9 zmbm%KCVL%khiXAaB-51BE3H`vV-k%!1s>U7E?U>OV&6OdcS)q8FGu*PFt9YJK?U0L zYe%Epum$*wPQ#1;@>3@5dN>E(@^JgV_v2}^HTdA0YQ9fRG4{1=cfIIFx}%)(xz+5u~H5*EPdR-fRb0>SV6knR!Cy|!4WO;3W&$YdFg%j zRQ>0{_fhfPhu5Z^-09vT45ax3XC)rv4|o5a>FPgpxig)7>Wz*Mt=Q84abkYp2K}m5 zS|S3;e}OM#w; zoj%0-5C~JZfAO4^ohBEx9-gTFlhPH;M83^!zWxpR2SoR_0pL&opP!t<2}bLeyfG|{ zvL6jv&%6Q;Y1}UDx z(k@$fy&-zpb}%%Dd>rlCzidsEur}x2)4>!D!@ciERnb)%-ps$DF|zgO{9!MHIc~hy zr=-oMY3sYdR?KK2+dJWfRBhEfrWEk9m6YuFF5>xDsCgDfiiY05uB7i17*>qFkHxVp8BeJdz8xdPy@=>*8aXqH?W0V|19+4;^)G`1GG& z=?bBV4Q5wX)J}33Q7dGz?uwvDf(mwE9uZNVzc}O{yblmz#qyD~<^vgNsd7cC!aa#8 z$y~U3&o){=&V-_s3WPU#;&cn=t`-oGCjqjEEMczDVM@8S9(mFx;xY~`Ec+J7&DgM` z%Ryk;_Q0Gj%$TD!(%g8#vpHD{XI3_e2!oW5SVad&O!WIdj?cbb8KyKI=q7N!4sN_y zU5+odxpYv}iotLSR?3QrjiM?};L*mQUAnrH9*WpE7LA6jG--5$Ma;?tkLxN-=|u|- zp!RcY(fbT!GDOgmTVE4x&o~eNXgzLb7oJI@)e^{f z%$&(aTGdjc8Fg2r#cHgwb&LrfO}s+Ii}SLiDq|P=?wKb^PETk{*ckZ|V2+o8iQY17 z{nZ^<10If4yGo$SO6ihb*$ z>b#rW!pR82R7v8r-B0&e&t6a6LSuDVPFXbko``LZaSon_@$YVTHp>C_JQR)EsjoQA~^V)U-iWxFT`7 z=X6U;T3>JN2AAk?aplAr;F_D++&gNcos3-m-aBFTkq_B?w6~)iMQbwOmEzFJhiwZX z@!GhcAfki^dhps%n)XU!$)uS9iIEB4QZnR37@?!=27i_D0-y5N*s!jr?L(6oA*(*m zhHlgB#_7Q%IYQ2kC~Yzo>m;lZMLhs>Pw4H(Zfb|l-^L$dvr8rbm5iF%9cCw|k!Obquu-B_5!r(}1E^H4>!D(425@lm2|ww}zvQ!w*)CoYD!tU9vrl>GWyqUL?EqKn>YbJL8P7SYH5CK(2IHK`Tr%iv55oc7^ z2_)zwc0NHRekFKXnLWrh-{|gTx#gQ3%VMI}?W^hiynURP5eI}0;)(%Q$`U6`1A9@Z zPSxCnlGRdcTKZL6?lwKZY+sEVZOPcBBUk?IfxoQr1#m6*wF(@?CwSMuFplnZgj)?? z+b4h+x3y-V-TBi8zh=>8LHD9YE9OmtAhZT`vQMu)0q0$wTTWm39)QU*g~dz&SR;&V zaK(TImP3J?G;V54=oOxVRjGpI#V>Au<{(!+fl5UQ2hmVZx!=$lXd7_@wnBzq2me$T zP+id?+$vyr=??^4CDu`l{wcpb<}S}4hJr|J)(9%|Pyf9#&S7=_HRs@+bDZ1v;ra$z z>4CY@S<;=`dtVt@b7X*tOS^}}kgXZz3_RKM-HVASQZAfz_}>jqkRcHQ`xrM(*c)e> z`>8grpD7zrD}&~cS37aFqb-_iP)&U=zj*&y&8<#0RGi2z{&8URpRiO=UCN zayXXg4Mv7|`GwvP=c3^AO-SY4R7UGYCnm*uM3#s0PQxe5oVC|Hs2&(8J)(1?CR95)_+{7Pij$qcrh^i%q);rhCIKE!74Eh?5?^$ZUM}XpYG7ICTz@rtMq> z&@s+3yT~RRAoXHAS^wI@T`WA{u4zW9tyy^w72|2i`&9&pa#Cum0+S7}amAkJwgoKP z)XINpFB@EmA$sFdV}f-9Uu^%Npfg&c3lL2-7D?{t6seC6*9NAw{=_~5z%uz2m$q*m zPlIG_2B&#s|C+1!^4oE&Csyb-Yjl#L;+~Tj0hK+0Lw{IT>|$ihJ0tb9r#fP=y`T@@ z)BI-(aPqWXw04dhH==D_?ZB|OTkdWPrh9}>8WTd?De;Q)6-AHV!_?y?J#_(lbStym-D9=neN&g3qvkN8uhf%O#IoU!Qw*q^n&y`Y4#js$%zf} zl$w*!2sQ>an^(G~dMGBbQO*w;qB`ieGPr9Li$SG<);l4b{z%7JCp3|8Ulr$i(Ps#2 zpsD%>%bNu=HAX9q>zV$Ub>n7)rRwGb#^wJbFpUU$&2<1dFfMz;Zj|Q@k;c{@xfW%h z48!Nn?513W(^5p-hVdM8=Y8?EUvu#4A0sP>FiIwTi`<>cT5k72JCRcN5gD|NL1U}5 zOxzC@OL}1)OFy4ihE>Wz(3Q=}>}pF_MpH@cfiA83jGjqJWbjiH3k0&TBv5)n?WuwAF81BnerhVKu(*FR}&*zkm+cM>^Kwu;@^_qK~MFBR}p&{Cnw_i%Y zb0Km19F%^9!cx|F$dS-sw>%N}gR_Z&>+Gw@_w`bG^PThx~sEK*p9o5vq zg)=qH*Ly5Z1A>q^?cuDQcoEaZYxuJo8}CfI*5Edc8Eij^8jh`$FnB1yL*+F`Mg;OD z;r;QNQ?yT2i(>Taq3*o35Q`Fyo{(+J<9$V0*c!@AcQJ0XLvJ+Wlt$-!13w zO;mOrb)jF+F019e_Bc2jMDO{qJVW#x0?sQ9AzHV_cy)zqqF29_<8E5iSyR z(PGg!1Nk}RS1>9PEmBt?!3%WBu%>fRf-iyjxJPp5E?tmX79a5$lhv!f;~IStEZnt_ zE*l9E_#FlkT-@uQTcfS<5&vh|G`X_3?{s_z8LxK@Y&$dmvamMkTLA21m13RuB~^R^ zYO*8KsfUf8)kY~%yyd(sQ!FwD64VEHn$s;9MCNPwNZMUyJ{B0Mmv)gB5G^_{FLq}- zBekUQ?!72t%T9jBQ56rSJwVp97nGp;jsR$`cRA?Gxp!&i@Oc^Y9n6t|);a+k20;FyAhArgx@W8anSn@fKc6YT^Ol@ z=f%Jid+zG78t4s}z23g6XU`J&Yigob^&$N|sa@}Zaa4Mb5F+NeuVEL$isQBXzxR7y zcJkUaXCMYq)~Fx|!rAfnpL-cp&#iWjO75-yZpB&(((2%=BsP)Rv{B2b;Y@Rz-+#A# zvNWTSm=w^H{D_eT+#tF3`pEqewJ8SUus{LRh;^*6Bji;mks20!o?EdaPWHWOBJx`a8@GJ2jJ__c|}vrtj;C{5!*j|ft7bakxFyh z6Ex1>mD9n_x;y#zCh4FPWA#5a)Xu;JI^gFrL?ioD91J)d?_{PrsS~_kW1$tAQx(X3 zKrDp(n7z7$f}$4riZTLv#w#k0&hBw4KHHS*(xdhBOnXibpwR>OK;P-bHkiV=ba*d< zz&j^=;UUw`8e*yzErAY!v7cxhb!qg)+k1b6`tzJ;WJ-u%`PL7q9r9i*4ZX}vj2Rin ze@HTx5VVr|_Qy+dFxEsx7gn5wdeY@Q=pa7{xsO=x2Dmm42l70yV^%bf%9%$=kTH56 z05ujy&WgW8pP5dCd@v~7Jv2Si1RTM`giBfA;dSR*!fAQ$oNs(*`kC65N0coM@}U=R zm%s7;d&`^oZaavNQUiq*&p^E9bys@v4`CqvpD^9y7jk-W!z;)9xg>?NS;1G-KE1g` z{U2Ua6CNuZB?JlN!=en3iM`>Ne#769q_kjN0}Ht#N)d~nLyxKHlltF(U#7^&!Lqp_ zH3>t*R98ezUJ&Xd_wCBh6IJY{erg9--y_CDj_ojkPaiSd6VAA!@mL%0jiMTSLDo^) zgMU7N#fpppO%m<|Wd26N_p8t%q=~ja4b{1+-IgV?C3~Dxxj%T8=hNV`c2E6Pw zTzwlqVl2@dH}c+c-b?=wjCq??ZL&Yw^dFHEf-SEa1cXCyqC2lGPb<_gQNXfA(Q0^BV(gra8ku6D@s8h{}91S52y05FlDLy#aWlogx{rm2S^QNrp7#0+t0_cJHX30>@ zZ(Rc0{DFJYw{@Xp&xva!Pq0+1>zd$L%QZ%*$o{1h>*Xr5%QMR%Jvl=XdX~?0Bh5>| z9rMi(Cb|WR1iT&A)E9yG^*QU2SKHgR&OYAO1F>}xTkl_`>3i7}AB?mf72`PKNSdDn z0JiCJl}pt!01<+(UQL?sZ0lq^?fH_6x?#2%=C7mX-XD7G_)n=iKmYLWHZAv`?L5+_ zYP=|KZz{58{ijk@T9gC%@VQ*{*7Y>gW<8e*+K~)_fH#dNzH)^8e@)3(gziOKd~0G) zt~Ej~v*wA+yF2idRfxNiPKsH3SdI`{mpAO59y=xSqp(kfZi9dL`!v^o75&+xzD$xH z3gihi)Fbqm% zr^R?=eKLr{SV5^ObfX@`-V2RWaxE&Cr8_i1#Y$X zn-cC-$=OtyDU`J9s0)R3mRC}?Yg`ZT0Ks;UfW`|EBsnR~qdiuQBIxts3dMBqBC%m| zl^uF$9q>=|$7m=Cra;NGfbz3W>Ks(m((4ojT>m|F9?jUml)z^<&tooCTIWMy`s?j} zX#6zzSZ|O2dE$T9Xp&e!wbN6ANesbX;g)RRAAB*#EX?SX_?uh2g(*HXMrh^6Uz4^) zW%O)R%zy4L1##R7_+$63_7N_G9}SS{3jHZ45&GH=Y>2{jUD3;;`Mbz!w&~KJ{Vhp^ zLEi9Nmh97un}sFMSd$puk)l0F#`mJA2)p$z$t}ZE)q@7W0F_ZN?6+J?QB&!W1_ z1Pw4<@!JMGICN`xY|Mku*qMcFIJVq_vvAc@pU$$LCo=tf$ITn7W3Z&@HqhAkZCge7 z(5<0N0!(Krfvq9>eDrI4^=5+0)ek-|J+QzU%`M52%-vpjS5BjhMFNgmjM}@R%Q6={ z{&tD+1^lV*;n>||B{z>dASXevm1-|f8d6e%MsG6KgtNlff$s0FT+1XLP87YJMiIDU zPaK`OtRcxZH;^%PxtAf@HKM_?4wKLldTI|_D!ap@t`?b!Z1HZuN3a$v=95{mqG0+|?bF?`j5uq5=^@ozrjv}gP0Fz^@ojz-wFw(31MfgX@m;rhs` z%Lq0WGCNjPIHBSXRR^DDnhYXLm0K#Vxj&rc&#|n09%?yRsPiV5KH_#%+)>_O@6T&q z3JK~0F8{e1S>VzlDaKMBKAIcl{?~a^I5h4lK`Uyk^fVSS!*mdT9!=hveIfX{`;SL? z#i8MYl6epFiGroHY@2K0S59fF5hT}6r`q>mupZGAT^H`LIXDZGVo{4#J{3xx-QUYE z)$Pba6w085u&Z@7%l)dkd!D~Go(}DM^@&~iu=C#&47QENfjEve27x92+)(3e{Fp*x z9VZl;f9xHi+j*!56slk%^nAYXiOdO-CSO`*IgdT4Waz{bopuD9h)lH(t7GanH@;GC z^;=sv3|3RaQya$-StBa?dH(~1Ah+ng4|DI?N8nNsob|2x6(dEUk(K~JD+-#SEttg2 z^W~Fbwy_3C9{Tm&e)kmTmzqncrS6Nzcv52=GfKi#Yzes`*MHF>=a4nI_M37u>YyYV z%X{@<5FnQbbGb7)@OCXjw>FkT5(a%%KHTMW6+oC0rbZYZi-)g-VfFU#F;m`)uW2u< zberuG1*#N21Cu4VohGE}+6}l&Cc7<`eP;XR}QL4=KEvu3g5XeTiShB#;p1cwJnbke+ zTOXD!j6vZL-_8RU7((B{K6=gwb&ekKv;tA7sKV1Y5?4aV5ulv7=kA%U^#~>Z5xzO7rL6gH6o;0FZ!6B7X*! zX`)@q?|F^(Sh)2M9);R}@*$WwJWkgkEn8j#wq;$E&8IHeCFXwcZrUH9W3VcaW@$yo8a_)$2?=hz z88umE!Lz*xtOOABpR|avF`^F9T5nI8QP_$uc})Osox(lzV{J3kWa?-_6cc~*^Y>+u zEoPecS~jeA93pMfMOIsYd={WfvsKj0y{0<}MlxdVtkFK*#>im{H_!qwRSA?9nj5oC ze?)BvPkw*XexN#qkN){JH{W%y*$sBBxz<}koQK0 zi*J#XscO%?m#$@XG-4Y8S=WPZ3NNKc4_0#eNg8F17>M$W&FST=7_mKe$tB3%P#-_k zcJ4s5azs@>+hcVy5Sxm=el`1-Skdn(HVnfD#T&CD(2rY*hud!irRJXA;8_v-qHSAL ztiGdso)_D(y|SvL$h&eCu-g?h=uC^zS$pJOBEghqZ!F5QvD~0+WYO{5T2`l%o`0JI z&21+VLBLsiX8RgS(x-Ol1vidm>DP#2h)bkSB~fZ?S$|+Y5@(;AjeH7^+l@ByDM8nG z?#M+2bkJvf8LO*CZX0tRN;f}##$A!B; zQv3=Aa{ZT`^kkJV()ZkxE_)h81tz>Jk`r{y_QHUV(%( z6lnG9k++Kr>3&Nnzfk3Cqjq*CM;(*#x{6v}gPIC>9N{4R%cRIM{7gW^Wsxkg`Sq3+ z#~N!(DAWKC;$nL1S9cG$p(lN3*=Zyzag-X(tWX>1J|bs?t;!`9S;Mt{6VQWLAv`OZ$rEZ)fQOF@w3u zr)u!?u;2yW-GwKI8?BoJJfp!f4Ze{Y_57z4c^|BWhuMK{K!4tQc;2B=qS0YcAujfX zNKbW^O(!Cj_}tn;lK%%_*w>eh{Piq=Polmv75arLpV^cckY{Aic!eM zePK$q$8V4Aj@88Nt!jNvnm-ZtAhKZSIiHfqINAGYVp3tB0WF{Bi>GRT&V$M%$f-+f z6)bT$LdnYDSmN&Kd0b}bl6am2O@$dRa~LbxSc*@ESdy^k?o@5iuzSz7Hb#d<{n5jq z(0SkFs{S=3E8nk}NMXdgy#!coWqg8e0F!F|4n|pE=#+gUbt#9y=GD4iI~!HJkhGDb z&RgD*A};;Xc{K2QqM%*MrFhIBx`_Qr_s;u2+n}T4GO`ci|0p^Ox2FC!4liL01{=+& z(IcfB-RO37D=pn1p)$IW6eM(`1f&INrAtA&K|%xtBou6aFYkYFu5+F1oaa2>&*#3A zao{JyLEF=E$K6F*L(?DopP*hA#`vSTH-YT{b+LIuCRb2yMG?-YR#B&i?I3kxP=s{q z#E@PiAPy=6F;{=@`xfvagjo|;z4r`YouckkhS9J=PUqog8u=C(#2BT1!DX|g^t0C} zId8npp=+?I{3xpMx0U`#q#rTuujTjRo{TQpgFmxS{1c~)(#vnde> zW-t&u^SK$kSmMU(!!x-h_fJM6t1MglB|Z~H={#5cv7XwQ-7MCL@?a3VJp7#JM}Hyb z<+2fn!{MUu($z|peb%dlQ-*h%m*UJ>SDE{YemwRbLa$wtBBQ zDG8tc%A@1psW}Yr$=6<(64JhR8MTjsR1cdgqcs0IV)bFmX2!+OFe1L&j}7cUSk8a` z6PWVEq49zsn}$hNnjj6Z?x!Zd=6<{D%i{tmYw~RBthp`gpK%sr?f)M@{-D3Lqo!#i`SWox$i=V>+uHn24J2z;3 zjcv=m@dO%*xj_*XB#Fy3>FNz6qLCE4Bs=JS42Ol~pYSLHf8LmqPHK91*0UZW{4h7O z;fnjORKW`qg#^IfD5r)Xlo4D38K?-&C!FdgNcX)$Tlh%u-kv=L5s2 zY6{cJI0KhNn!!6H|HgD(k0sjCZ(9N-s%HzM?8tNh9X&)x_XV-qEzViQN}J{Olp+&< zWvT-iz-1W7D_PT2L24qI+~l$MB1CvWykr7)78h8aCH}fXe3K-#bPbnPV|^8ab*Cwe zsYW}0wx1QvZ#)sR!S-1mJ74IHV3}q`80V^-%}cdHrv>A(t~&YvTKY;)33A)r5(z*3 ziX2U<<&oD-mPF9LX+{;Sa-O+DahY|m^i^=9tw2QpGr#YfNLQGU)Z05hg5(1RlxaX^ z`nT_uxSIDM{sWXv3pkpgURRg!vbLjXct6^?18KaCRHFu<)-pn_U?2_&!gj>)vW2}3uf+kC zUVpS+s+5%tHu`%Uma|i%ck^_m^TzRrNIiFYP}%MM?+H)7WW4X9=R>T83PS1qlAG=D z{pj5vZ^#cQKUvz$U_M@=dhE zVE>3lPzeoc7Xk%BglX?~{A*?(z|#QCMf3Oi(zSYy3!D(jh56bE-Il-ouZvv^Dw-(I zcr~3*@9U+QJA3k2g*s!+R07MjM4frSkjH(+($WU(j*o!#_qcS1W*CQz0kR!O z;!K`3KmNL4c%}}1*xg#PbSj(MC4p+EjROJvSPTY0rF~_s*eu8kvHC9QRbQg^HF}DN z9?m(Md85mTE`fVt(NMWlf~OQyOc8W@zh`M52$!06G0U|N-!aR`7zQ1Obx?Xa8wB>* z+pL!CF~yCA=^twE?~BF=JpT`1Bh(8T#RTvJ(58WI9y7TbBxySYHFtD+62Q(^5_rLK zmr8r`{%O|oC=|K~oF3-%Bv;vG)@M8G8U5n=XUNG6z=b7Exal9%_16+pKRF;N+as?A z^%ZfT0;5xIIz+~J_Krzd9p!}f%#U6fRXmo8kw0H3Bb=4`4ZMh_I;0p+`}-nAY)m1Z zAL16`pQUb>CHvCB{D#^N%k$)I();2*Dpwj~hMNsRWn&$!5*dxm>q|U?gyyD_{{RI& zshPMlW4S5w$L#@(Q(1C%g0`7|r5EhysM|u^O&XlvE^r+dwf(Qx^EKi z2*9`kMw7y8T;CV8!xE+;n_L~ZvN9pdV@EYCA0tE*9@aEWH;9dSu5o_W|4{j_Yx3F8 zFW#9i9C`rF8Zd7+gq!2iMVrw~2T5cAdNyCRv#IiS6BtI@vGojcn!sxf{@m zSr*zd&et~%S&fSS1DH{fRo&m)a??HyCwV&bY-xUVB&Fty0Q;cwOp%Iwo<`(t>3lmN z$4nZXRjMnNuQ?TiXfD5)Is<1Ke)tbyOz_kHDKTykmY4k4JAkGER9ISdrZk@I;%l~& zBiZQdP4(Gg?Lk4uZ-WsCnsHG3NzGx2tw^sRgOygyXX76yn;xqvY(Ho(q{1G`8{+zV54v^5YvT=jYZsPfOCn?pqR6*1p_26(PX6-uVm|^nGdO45Ux# zv5sZ3tzB)5>Vu~lQBxiB*{?swq**5AOujM*?ln03^826ULLghO*qAZ^u*p<4_jK{v zcZnO~sf?NfVUBvBM80(6F24CqoO@2iZ%Z@K5`}qCE%BQrhnsH4<(4L$rkb&2 zd7fOP_s@HZi)m1q)C%5~1INT(j`GT6FQBsz4Kl|ueyjUvXYU<8S8~M6dtAp@c0PDQ zRD`HvddJYD&*MspIc}`T=ZYS1qzIyIabOS|I!u;PYwRntlUEp02<8!D$ny#P@#d%P zvE;U?;%xG9jl*2{8@PrbzU<|sY-JByuwVO6vXDzUo+{>!rWRDOVz?9MYcLwm3?_D% z5Mjz7N)oWYPUpnR_CoomJbLi7U8^LG?18JYcP?Y(!e_Y`sKip<9(f9~Rf37?@M0~6-2f|G!Hgnp?m_RYY zB^JBvQO4^;ohXL4mJE&wfV>z1gxo~P`+D1^)FH8|hcm7Yv3mZL!s5A^L$!rnGj##a zzLP4b6t(PZ0M@f*jYJ}&oP}%aiMaIaDZ+T$6z^3v7;F62a-~u*zoahGP|Gz75exeM zPC`tWC}0kOe`D3!p*k9{hA}cF3hoGOZ2E0!eIqx_I%qL&$oXMmf+966J^=`E9N%Ne zJYkC+skEyNH`Mv!d?TQPcH%3i>ho&%x+=mnK^mkfwPtpE1PJlO{u7m#S>}U49M^BK zy?(~gkODq+gI9hMur7)W`qiQr@0_CT)SX4J%_#?lUj2BtG^&-XeSL`#;nY+BGJ5o}W)9k?!&vKoA zPYMUG4>fQq31AeECO`J6_uk6lRxEX_Q$__mu4|z$oJFv}UkO)2Ut6tYHG&@cAfJZ- z$2Lw;9dVRz#EMxxT;vHKlLV_fH6eJhGn!x8Mdcr`*aX|>BSnobpB-{_(?_eLI8*W@ zL@F)Yy_8hDyGdaZW4)b23%U0$1a(9dPNM7Zf?{m6eLn%`)4+0g!~k(Vw$ZaV331k@ zleMQ!9-+v}d=`qQn_L9rX`9K|#kmIp_7Q|@Q`9qFGz-9&!?P?lI0V0%i%+@xXAJc?P&D&KGsOizJB?+jTYlPJ`k0BWYkB<{{SWq zxOx-RsL{g3KPMC)m(QbGKZ-LulV1Rk-{qn+r3d?z?q$##w%y_vJNnK7YzHssKrT6y z?Rf)T3<+C91IjA6WQG3#LPGRnN2c$?J5J3BZB|bu?$x zcwhbB+uvnAu=<~4vc&}_GeuIQd_#h?aLVizMD%p6aOM5?6dd_Q{GNoY)PJmxcBZfw z&}QmYKgVQkN%85!?*?UC6ujxuL@A{AkdTBnHv_FM2wq1N7^-YK!C|cP7Y-3Kw!r2N z?CnkTh6j}Ln`omemTDTSKmspJ1q`m=68wbspaCUP(aDj z?Gq(crB*tmqiA`0fSpoePF#&~4-RKyHTU{!PV-wZ5l3uZpaeY78|$T{Y=^r@-z0{E z@v^y45{)#?5K*N~15MgldgjAkd}oSE@CDSKU*IU3%}j+cnPo8)QT*U;k51y34DMag zpHUvo6OLMQ?#+BO=}`H2lC?l#|0GQ#_pjfZ!fk{eG~d{vP$8p@X)?2kSC1R7W(42a z;Xc*Zh$!yIJ>t{C3a4C+Q@3A_s|p^An$#rws`KPue??=!h~~>q|ND@wEZGM3fbHgD z;BLJS-@hjPxG4Y6yR7AeoRs0xuc@t2d~Jafoy7VdZ>0~fOFuTdX0aDNKl(<24we+@ z>ic%o=iTL{D2PyRps@xFsJQ#=j?hggsBykE61w6*sjAH-`Krf|gZ|360wf)quD|t& zvlU)_-FL$p<~k09_NyKb@VkHo(3f;nm8j-pfBjz7^1cgO^MXE64)yzy0#WSS$7 zaauXJrr1<@HU`h^8euPBt&I{=USB7f=Zt3-W$6albka1%7%vvvE=gQ6_5)+4zY$~! z7nygG(E%t__LhSE!)bi$!a|XDy+sYBoUW&?sw?%eBYN}O9YHyp;yjcyAwbjxB&VBV zeCdL>=&k+JAX^gBpYq1~fI?G_hGsIfy<@G0DP7g4Z}FKxLf+)?blerM&Zqg{E*(f zvdytLkD96g8BNWbS$FuNH5%`4?U^XuAbLkl*^OmF+L(;WCEm(%6Hjj6m7jPC)|e6p zwj3PsmQfJH4d?RAldh)jFBFIz+%i!6&v;7JTCj$g6sGPPYumrTvO837vis@Aavbbp ziBE<(Qx>t$EcA@JX8MSQn44I%@WIllc>l|EDgp4%694pakWF)WR$RifKaPZ2YzX4< z`3^dEmY()8Nmn7vP&c>vX;P2D_g@pIs)EcNYcHNC2mA*ZYcNaE&M{FAOxFBDdYY^B zBJ)Yb@sCr?ulZ+Zr48yids@b%pNmvw$J=FhX@e6^Sl1s;!8b@FHC6pry^%!`6dvmV zTWxqEC*!KVIC|?pz({aNU+-gXL5e}MMn5SuAK2iL!8`E>flbstK5{MCqeyR|haa3z zjSZetW({G1v4_vf!>MG0L@P(7{1CjejBCZH!HYMfLgw)cyl^f<9I?ea9!Qc)O^-rY z8$9X|q;VxN@>xPLE&2i|O6_)qg!>azl--v5tLJx`@BAIg?V`uY?Q6ZWxKBmP_|oo- zs16HuS<7@zE|X17m*fuv?yD_uGC%qBn$=-Y-jRjtvyu8$UoV<5+7ahQEQif_%2BSsn~aedN^ z9R+dCoz+F~d*Y1lqoZ2sMNlYZAfCmzFc(-2z`+12!tTMm-I?X`AMgOdYK2)L06;bE zU~1p{jRa#gPHoo+__L29fq>(9KXpU1095V!EY8x!vro-Y7vP1AZ*Td4cv;^kR-)nl zI$d5aw1Hyyke+Db3*fh@xY)$>Tqg`i0I8bcPInl;=L3c_r?23OO8!PUh4VH#Po#^Q zND;aaP3@z*l9UEaW*(NQC->gk%91^j-CSDl9x`}Fu+36CeJSqM@}Qw4$d7)r%an}4 zXhz{|kC3l^jPK=A_v5-bw{3J>;WQYDjp(U+kTr@=WkD{cX$a%@*^fQxWAs1=xBa}G zAzjc~$lST&?@Wt9eHaU$y_+#cjRRjDM7-WoIPcv#%I5HA?-d+KD;QRGFZw&D!0Yen zt-3aJo|{VGhB5a(Og6ZW{gb_vZ>E}_J~+WHPG_Y&8SjLf4EhtCmP~Xqe<@2WY5(i* z0aLfB3iuLj4Kk4(KcRHTz2YstXL`c?YNz$Dsv%E^H{r%0W%#Ez%e4!iz`4fUqji}F zJdlFmT0x3RVQYCLR4(Hs2CVi5_65djH4o!tn`mczq_oPSsWbdS(IQ`^N<;YL{BI@UeIx z(veCVF`M_-xz1;45H0PehYgB=nqOYhE%=gZSBl}6B{qit|M^lNxOS>iR-xK>&^+QzlYqD)E z7W~VcHB+ze(OY-8GbIE{r@+f3Qm9Hk&A#802&K1|N8VaghsdXUUlW(KfGbTQ zQ$gPX50zG%ZmyDNwNFZS;y0ff=NmN~-z~68`n%`15#p$hmST$XenP$m?b*T_XoOST zoP6{Vf#X!HqX`27K!gx|HV*cTh5|*#Pjcz1U!g*L=O5#ja<)|YLy7`K0NPv7HxlWs zQ6wAY1QPk`%|a?Z?OPjL&fxQQX++NWplaP82{98)mUEzjfF&E!e3VIN1y713Jcm(4 ztcgY_MMtm>^PZkjqfN*?!=>%>C-*qKde?iK0Rf6k?}yfp1Y9PY1*iZ<%gO_NDH4-q z*O!?w24YBO{6UYs@!u;~QudYp8>}?RRa0EL!nY4 zfOTtMQ6Z1Km66)hESOTyG|5I*gtojlyLu|yq(&`%TH^ zy$^+N(Z;!s?Dd8891jBG0&0qRo7RUjz^Kl~p2Bpp6-8KDs*tlclc0V=gFw_oss@I| zzo(Z(5_7=(-1uV;GEZmCUgvRd-4xY;NtNpsf0&>V$+xJj_i7u4Y(Gti9v>+6Zhrpn zYou4;gSU-(Vz=}YvWwlr(OnUGa@Dm^(;c2irqwqLKkSBg+9>@EIE}HRqH}}d-7{Vn z6m%xtl#0QRnPVik)OpJh!EbKYk(N9Y1Z+p9Gt$B{+1x}A3`V2bs%s{KFqv`HRaB-= z`nKsMY?m^<^s1|YgU$ShC6D@X=5%{Qh~vYo==5liu=SzyA8@Q4ZEu{>x|wCthqf0u zoqH)scWUvrNR8etkjX&v2MFd4t4z`Bo-I{3-?1#{Dzii~7yBE-=gXHMkLw}EN|pLJ zrI3i-UDl)SbKvTKfXt?hl{f5K%ZdOVI!hj~U}~T}IxLlvgrw)bcDlRkzGS{)YCCyL z`kVjz16$b3wI&O67Wlce)NxvtOFtU{A%C3FtX~V&)CGduMP2Vc1bp^{Jt}f*p_Wb4 z%%Ia_9IZZNV$+Ezb9*`Vu!I?cC``t4dU9sB+f?6DkKg^8^5#o&XskRHi1dO#0$I_) z>y^j&cA3xES3UjJuRzT|y3>Hw4!lD4r`QD|Va8S0Z?Eb5u|;VY7T%=jR*aj?`MYjt zmBRa!p8t>%!-zlO*i-QApAy4}TQ0|pzp)ooj^e7qcoLT7_p?1Qd%%$Dn6&rjSGkoy z`s(Vo!Lp+8XhkByA#&*Hh!wMh)vew?JDSH2Pcm8fhF>K1I(k@nM?Tzra!Qzv_&IFd z$PrxvB)1$9^`Gu>vXkptx?I9!s|ISVhXrK2Xo5yEU-ZbhH3YPt-M+VUPvNR^@7mt7Hh$M~Oh_SCje za3nN(gs0-wJeI1NboXoWP{`)Az=oSWbq;YK97`g>x8HtFl*TZGD94}^F;%hzQG|Bs z&_Kr8O-&rkJ6G6cm0?E;Bcb%h6{~8yOv|zq#_7o_c#O1GX^ABrQ38m z<^p2u^Y_`s;^Ud=t21C))nGAQFpmEjhHXM?7O7MwlVON{|H9$^BMb~O+;!;>?pT5V z;Pamy{g9@xJ6vmHf0`=|uiH5M2f+O{&Ry}8PS$daOsC~1t2>DNZk0)~hEQfROsBj~ zw;1u4(C$$Ge3$4|NX?jRIpvwO&7vOt#rMmmVbnSP{-6VB1D7f#F{WAk`ViDaOE2-4 zFDC9T5&N8%K2=2%-k?kvGNC@&b^3djrKxl7WKQegTx|QY45C@496rJ-(gqaSwCsFg z-c~;SBJYqF=V{kh?-*iG^&ddxu`qYz@6waAs3Bz$W~4`MB&js6uH6yVl1G8<-*R!- zi!qZ7F0GVxP@Z&zdX1k#HL?WjS=)$4CD)r%xf&1Cs}Al`u0WrrWmpi2+Eq{V101y@ zBB8MFClawV9wCxkX?_#_bkAi4vV0gnZJr->il(&3Zv(0&8fG6+EX?|g#dR|OQhg9a z7ZSwhtc4;SR*JNRy?P%}pOK3y)3S5Aos9j!OI!dw)Srp)wO8o;Hx{NS%>Lr}t9OK5 z;kRM-e#;p11Pt}p^z&Cn`fk}}kaU9>gRi%J)Cq8$iv*fkS`-k&QCc&kyuvkDxu_T|3w8MM@U!!w^ymFa*apA{z_)8^53ZliMf)hQ$`zJx`<(A)926`&8mf3#QvTsE6mXh(qW`j>1kMsYBJSLbZ0Q2L5s5RCENE^Fxuy zt_YC{O>^E)6hlm`)}Ql`untW0M{H1p)~$g%eXya@TQ@F0q>Zq_BS32d-;+tt3IfcW z(I4;a=)btHOWYg&CIJolziFgCrzE!9D^r*8$4m9mZrq>(PA9DBH0{{t`-imnPn5zaB4+` z-wL$n>ln=pieqPBt%wq-kLu)^$AvNW*eybbo;Z~t(IIE4lE%bqIOoS~j5D&y=E*Bk zoGhnp>;NEXCd-@q1UxTHk&2Zb>yDi}s50AB4Z{Tr(Y-Fo%;TGYI|>VwYKZoT!(LS|^ zI>NPQP`@70mkP#eiMj^)NnLtKnpVY^ZhCbm84fj*jrd?OV2@k6N@iyc>L zVz&P8(TV#09XyI{@qIb2arUl3wgxN=&WScn39&*I9XaZ!g2EoWgzW8fG{6}+BHpBR zu+LlXWuT{XleW3HS3Jguj`nwWnt`q7cXfJ(&{^|5Sd1(^C7RO-RBvn26Z!kc8$RY# z5xvt=ds8Q1vk-`85`z8IG;{8V;{`km1~Fy=v=(ojIqwkYpLwk{PF7Egv=I0oZ`^5kT@MGf60)@;@CKnt_Y^YVzPKwf(W z`T0l1i^30JLS_!G+TV^wH?;>eoI+6Z#Vmm5f6!OQ&eimuM1|x}8c}cdU%x$d{K*8f z{27LA`S$#%|AR#*$}Px~{i)Jxrq&h=XIo?+KiX#8sHkt*C~;Kx5}G1W*ih+_g51;g zTtNv zj1}fVVTD~AS@F{qKnsTk-Vq11?yr9(aBmNGO$*F77FJ5J@mI)!1C#YJ7rNTybRp|y z7s2{+wCJ0)IBehodim`4Bx_by*CZfW=Ki*#<{s`!PWx7O-j~&rKTCDTyx=4-N-5NwyV&h=549zO)nqO`2^y&4+#TtJhzo z1^|Ap82uD~&Q*Ae7prqMvsI?MaHPid1Ku%LeBZ;ZG);buX}j(^rV~$@o0xuh^_}u; z1^Jr>x-`MAlXlHRx=_}XIg}(FZeafN_C%V#qXj>VsrvdI)@{uodZ;(~{IYvUN!iEs z-$&sUE4)jk3k$wPL{oL=xmL6y&)ZbLA*6s%d-$LHEUGq>l>wbaioj$*I^DQcwKsau zW#LTQ7#%s#7<>;F23}J^ad`ZhFDez_H$X0a0!n*4NePcVf&kow*m#M?Uhh2Pr%k|y zRpc^{L&3M?uK9i{4M$t|Sfq|H=|r-~?}KS*#`{cX`iMX&lKD%K+J)my<*__dbde!q zGSjA0`$;&~d95&h?4HVv9_?F)BBn_qOVnYx@%q)i2F;@^=^1c!h$+DHdq&3Jhg-v@ z-ZK^mjUR{~KL#%agS|^KMrix{nRb6P{b@^mC>dw~MD(A_y5mmqolAXtKbP1vGbGez zN9wEC1t?_d>@+194zkF%)+1!jX^U*ym0cDYmw-^PW7%Q2D}D2flKidP4@a;wY1svUY$r-C`hFfYaip!ft~EJNVfpIrML3u~44`|WS!zh_o|p*7W&b8#Eso)eF0?(@N=X-NAqn+$ba#T0!{%{- zPlmLA*Dy>i=zVaDIhED2MUw5XiQoE|h?t_-m`tE?)1&ILuk}v288?&wFFsjMLm@t{ z!q`a`9G%`9c!Fr}0pG;8Y$RI?@ldy{? z)pL+k4Uhz{>>nMhc+sj?EZE5JQgKmPM{U^ntE24q#rE_$H@o-rk?$Vov%;9lLJER7 z*b^WC0-mQ+)FkBfB7ENUuX~cow7&Ap{K#@KGQ`_Uon2^3;K)9XOaANPsnt#bF^3Zr zrI2}yqaf@e&72E_Z$&;W!EW*p*jVqJ+|VOA)YN6$a-B<+n!XhQU{d>A)!7X~VMVB+ z=OMH7Vaf2uf7`p+$mz<5AzNt=MYd&}K6quRY#LT24+nF}t8TFqQ5Ph?r z;Cw31Gc==}g;*4@#+ZCGI?3gvRhmNDzsMAKP2s^VTjW_#r^W>2Sn|tTTiJM6PFI0er%|WE7&_g;}!8cx!DKo~0SysgbhX%OXv&6SF^0bxh_yyBduyE?R6HEK+8Ohgq z;AbNK%m1W^Z}k{)kM9ve!7S$jhUOoGOz4Z>Pqc5Z?GBn~7~SEiNze{!_MBFFC74q^u8;7$|(B z;nmn`LhzFeASEVUe+iH3&AUHxF`R4UnwNuA9L@;pTSyi7~KQ&e+b8;Ta4n*)(&& zFtM$}JP45hVz542xnzxTI#wLk{17pj3D``^klH!R;VJ5B1M>HLd7rZB6;@`f83bXo z=96Rj0g45{>!hB1`j}T*_k1lmAJY8y0jIMeEX}jD3xM(gY8c(6`<}L+((nkM`9>W@ ztj9pfY7O0goYkzCSb100#ZtN(B{n=Hehe2$vTJ>M)3SO{40SLCa5&iF4H#fz&wEm~ zP*5^d-LpOYTidf;gqbACI8q$(X$TLpD}=ABb-F&jmGNW&FzQC1fYIhv)?Cy}zvH?^ zW#Om#J>}$x6f|+4Q@q~6Pi-1W{bxuW7IGCfrP423Tm$un?p7WbNhCj{%rgj zHbQAsVOq>X?qjYsOmS&{?!L!}c@0U}p2@7gK(+wxf&<@Clvi(gq2o!#OU|VNn2z2z zx_iQs+^p&UN`aOq_nkghXB)0IaLlFm*65!>7=He~V}q z#D_9t`=Ao@E_(WRnSZ=E^4Rtr0OvnO36xsyrFQ5|A&YSGoLkiE;5rtyAD-p6zV)(d z+W+jYc*~u`npV>TSIE=S(}$hV{}${j_~#n_{f1E95C*@{r_WJ(@9-iWmu_1qN23@c z+4be_&tYK^q=^{%Xry}F`Fu9Day?i-GCUUQ9l_Q6A~c;a5?CISjvzJ2zNqTrV5W`x>9u!nLOhA8)<2DSc|4~E3-`Vhczay5 zo&_G9dKEy1Q4CT=9SpkE@$zx|B9NAxu_;nZAou4l0DvWrLK(0V-(a0$45@f(hx3hF?n3?*mRauqEVW;Mv!}>Q6zU%<6dnVKPiG)#>WCMR+v4$kF(a zwVFRrFVmGW!@db|BlUR{4pO7a0 zs?B&Gk@(L5Tb)Nf7dZ++&Y2gA72o!pG(M@{eZ{#CeCM#Xnn{b3W6irU_OCgyB6Z%t zz(=1)K`3D%kRADw@#VBna6)(x8^tn7Q`2;39Q)yC`lK^qFQQgSnhG=*mi zm?uK|-aqy^d8PR7>`;(M!5Qz%Kt0`~ zgj_tz+|5iYUD2n%j$O3cw-(UaBBqY3E{*i*zwiq=w&Y0P7&E}5G*N6FnWi(g#9@^A z)5ixsa|2qlG0C(pD_oeyP%NFN>6 zxR$--%Lit8M_h65;K+Cw=HqW^jyaFZ^7H*33W{CFf5z25TX!q)vg#F zUY~4!9K!Lrj^6)R7aoA5t?v+3V|wD`vRmOjRPs#nj?K(Dhp=#wVL9Y*#4(j<2wrTZ zmBJNP{VIqnon)d3ZcU;o(!0v(vl7VTTyd(d`Iw_Q4Ywz7MV0H%-JC1771CiHd(%+bwVSUnKkhZM#Gp(aBG{ z&(t`7)4w<5@YvTV6^TiKnt3xN$7roGs%IZk5}*)I)j^{#56(P*wpY=?!3l+!a7-Uu zA=!{8R8en~dy&ALu&p!}yCT~Eu{3k<-+AIft2-~J(DgqwWuG#m- zoxE{%T8}Z6FJkxsrb7PoAZjb&h8QQcEk{wGOy~JsSOwwW{*(8t0na%9HB}f546g1& zRrAt>n1AqiCC{eZ{}7OOB^-mLcIyGVcMeY-Srv`yiP~zk`n;}hm|KgtVSVWQE~f{PI?= za9aGm{t5hHpE`7GpGQ0j2EvRlv0qb-|3;JJBG~QgH1Zy4!W+pBwX+@$%s?Zo?nA+5 z<%D3ZKozd{4B=mOcTxq-98RxdR!y|Ow8x~x%w60KU=Qyfif3+MZ|t)U>fM#)9&nnf z`g&j;t8Qld7*pCQ_a{v{1ZnDRoPzu&MU@cEh+B`4@u82eRXzFkIQg+c*<3+ai-q6s5VP-o{f|6ky!yKHmFnkP%>m;|`Mmu*kr&z0^Q>Ew9R1g&eCuB#CdC|V5<~m6 zb+SlA(wX46RyT-$bLv6j^m=n7j8HuE+ zFVU>t^)Igkp+x-{&{}QsMr{lr%s{%{gD;BsqjpLm>(MHG2*6?syh{a^m^R)>fIB?x zqx^uVfLTR7>`xhdW1!T*`Vx5^K-MMDVf`gwiHz$v8o%cBc~We#cYszsBm}`24fS<3 zA`c6>7D->$2R*6d7&{6jbb@`FDLv*&HBS$fgq;vO6?Q3neSc2Q9-*&nB?*Aowi*ap zwK+2-0|tI%h^#JG@=K-ZL(%W$zx&303GW!2>Pec7HV(k=hLuu$?wn z36yF}e!!uL$b!;fj>-fz?kY zGBNL*IoU$PUc{ez`prHN8e}lY%fkXV$Zd0(7O>~B^t{aEi4$EqHMHSKsLsu<|qG zaKeZH*;?#5G&ejW(`2ga3*DhwY@QQE4d#L)~y5Bs?1@0#Jd(zq_d-LWM`*)ZU*hLQKEJ5G&(ZEX@^)`Qy6} zA$!8*LQW(q*am={DSvFTViud32e>A=^f-o8Mi0mMNWZz4ZO1L|WtR6TP#7;f()r`f zv(R2!I`P&7l{`r%qsB4Ca|8vVN$o)ZLl%>Z)d=VtPGmI!H!I95q*%+tHOf80iwAer#Jfw#h zUOqtNP%utULx>E@6K03Gj$s@vbdAZei|3)Khn;F#uWV=`A(J{=cP@$(rFW(-|Ct21 zMwIHCP@XnRg!K$Pp;m~sb}@EbKvmZP6iAPI`K;j9(*y-h=fx?;-|6AZhv{Y7xHMNL zSbRjGkEFE2-Aehl!2baBBVQ{%PwkBt_{bKiJxT2~s*zptUyQsC!%5R?McOG&R{hyR zbN3q&2*k4fz^j(7nXbY8hl`f=Oa>FaVQSqMSxlARiq&qPSj*xu0_MYiXm9lFpHrI8 zKLSi+thXNQ-op1}*(|Z9idgc9|Ji{n==jO1>&r7{a1E!V0=AbT_pkA&E6+42_V~G$ zzFWbzuw+XiEOjM{E@5|bX-u&K*rK^Q;E|ySwA_8(&DL`laslM22V~WlU(^LtH8a7!fFPX9{As%{ z?)y5`Guc->UISEie?^!$g;-GV2UyJiEz)$BR43CK-dD`Q;oD+_Mv%10Yf&o4!;V%n zi|T2`RLCd@tKiH{|IVcBSdW0l*D{db+0XlC3!zSmvO#I&CtuDK1Jw4pOgjHHhsX+c zmq7#N)+j1l!@8_WKdufHLy&MaL2f5hYj%K^i3m)H-PMx5Mh(iTn4Y>|xb~tP=1Rxw z7!TJ1PL36RtR`as+01-xH^YauE40<)6PGXJA7c(L#U2V<;0P#0or%A}lmMvI;dVt? z)QX{HfyjqrYM$iIvUYxjbT;TSZ8J1FwNm?AWOOuZpRw;h!zIh?carMLf@c(l`SN^I zm9PabR-MV?A5OozXf{c*MchfO`WEnVuWqZhL0gBtFdd&Ae0S*CqBQfp)cnR1<{%#_ z)i4A-9=MMxe=|MF&~=0#LJFz$nTxT~(EV^oF^}o;T+3#sVWDGm$Q-E|9-DB*Ol$~% z0OD75OS1UXP_Z*dinnyZS#j@Hh*|h75p0JOy*v^A@Jb*c*&W~0XDNOkx0a&(AHc|k zDQXUr2y{Mm;hcOTVgWJ*C70-}_Cai~sW5zvp)?40!Pvm$DP#a?oL>JHGT+=OrZ*yh zpdMs5peAd&5ib%8uPZ>Jt-zrqq&kK6RX zo@v*L02Px~_sDd2&WLsquyGbzRZ=%x(SMIG=OwrnQzlz&?!+3)+^pZ@IV}EE&kk^poH-Lmk7J4$=wp2gy z-C7RFC@rB5K|jU3CCj>;ZfX*At4Vak=BMKK5xZow6`+Z6BZDY6bv*P zl;!sA7>K%@9mT_Gd1FArUMSk%V|TeTG>0Tl0GaDnW_w^=h z#c^F;vCg??YI$1L#wo29P`!;r`Sb5N7vYXc zwnhtKzs9K9WJN&y*FVNfQn}NrFl}-)TdTpxF2fv^rVr+GZt=#Hm6`F-lc!=NOLm7i;M??sfy`wJ6iwx$PD^OGq?8g=TRn3!ey09w0Vstj&fY5wI%XkmZB|Ad zQ0#3`6!%IZ9>(g>mzwDXjw`5jwib*fu3#T%6x4-%axxd;9?w;WEa*T%N&Y~Su110S zJBrUozSb^!JAWC1fag*cznaShyu1s_N_*LO-&wHZr4D(LQpZQO2e-k_%X5FCgGU3! zJrZ0i`ah1Y!y)O!?V~0x+zS*}7Oo<2B&ca+*}|-BXpthWN>ji}Ecd`gs9A}M+B&^1 za%3eYDGK7otM0JjA%aGCREVCZ=IG`3{srGJ@bEmJ@r?CWEqxCbr;O91ODtSB_dT3L zsEFx>qVkN?OOrjTJ77g`%^qz1GIdT+^3PRaPxx5VZkX)~d5ivJf9nzb3E+#{c03=;R3+?%rX4F_ORcd!hYM8a8{Ji!J}yJFLU_S8Mo6~R8WAsc@cTs ztazX0#YY96C3_)m-}5F7)k{ulMM3PZ87ldPm)^Yhxi?$)W2f|F@^xG5TRVO4oXNZQ zn7sKN)FD0g(eHVQnx^OKAB}|Ht=NCa;)37v&-P8~Hbt;GM~BmYcE3R6jXPX2d085k z6$Y-BWwI2qoh22UetYx!n2E*%q3_Npxo(3;Kl64u=AQ8$RO#dMZ(*wS!6S|*wLfX$ zX)v1_J}+TYJ{oCyKlra(rV`WwFwG~XuKhP$!7XCTQm??&?6^UHj{5EwUX1d3)r}^m z!$HaL1QS%e8<*Vn)a;%;u4D+L`j3@SoeT5&rR%S5_9Yz+rvzdy^AhZxFKs5_egf1l zA3B7(`CjhZVm3k8eP(wc^VhRA=p&nKZ-pJ#!rHGzrJRQ7=YB=}!F?3Pg-jxT6%Nd} zr*;(~hqm->HL{NYJv{LyLd{!k|5uKM=jGHr#?LRs{`kwgej)gVsf*`tV%b`>WdB+B z%W4n2?toKw=8@nhpC3HtOew##<(19&x0)9Ba!u2xjJ!r4j>l~?tXsL7^&5pX?%pzi zi~Ie(+&OdjT6w`)!smtbxA?`^weBO?HIJNQXLR#}eha(`tnMp(oiffgJBaWEOev{^ z(&<0>gfEz1uJ4H&nmcmuR#f)YgBHflvAcC2J_&457X6{qaR!&Svj)k^?I`)f>x*3- zt1$aZbl8?FS{Gl-c7bYqVuS8#{_4Oo-Ojk>Y;=vz|32vMG?;h<-nOT;>elIxMn}9T zzxyU@=WIJReQnh%AcAIm6Wlj!X#XY%z559Ky(@@h_V@6B%O3x5;07Z1Be7Kb;NqKm z+U^hExj(pnI#KgpL`(j12*Z-;-*-27=U-OHd#6BSCl*5y;+(#yHlyG6nrfW-CFZ|t zw0ie1S<=!Nz&k)K=l;h7Y$KGQ*ZG+dspPjmZ`|meSh%2Z`Rd-=H~X=sNmD_O&-?@g zVsZ9QFKnh*FD{)fS{ zE_NNlJoiND3H#lyUyq+c{{&=Iwuw)KjQ^Wb-2CR>uv>BYo-rNnO=`bB2W%%?ewT7C zanrBQYZ4#vbjr)swC$;)Dt7wmM8KTM@PD`e;@QG-?k-&)yU6k}qTGa@HtFjKd;9j+ zSFFIDds&<-sM<@dryKLn@A+(bG;ec{apQa2Anw_uM|RrxG+Z6_Gwjv#1D_5h+Uq|1 zZ(&WUN!s@DEuRp3?B0VqP~$8~EBb!Bo@F1#)%BN~daCc$vSC4F|FFEb-|X1|EeDNr zSIb5JnUaV>v9USv3;Crq2ua&y_UzH~SfxqFw985+a_>TSNP4v%m zlqb6E<^gia=*OtSv6wDx4;mj{DDG|#Pc8XpIJXAy!f^AY=-&(z27@ZuwuX)0BUM>-^^q zhQD8Z)u*@DJMhENi_nZK4?Gih7dImsJPnHXpA3Rh8(j}qqbV9;_fxk;@3zmr_UWPY zCED|>EbLs^Zf(~+#q+LTbekOa9ULjTS7tJ#cT)KGp|-t${X*OH;g2KVvVS!tVRwSl zC22!mVBYJZWmw!>;l&1EM8C?ANwDqeMfAKFH5&0i2f;Wkoh_}H81BlPqpC19* zYU&zl0YO-ZOA_y`G+p=#zbuL3(@wqR`Zf z)58vvJchT2BjI~4&1e$fBp%4Kzf-8;mCc1PdJ+GPxJt@8lsCNvmz$qy$JWU~RCH_H zIhv*Mo2pp3%@>ZRTp?4xHy<+bp-5Vhu3@`CQNuLuX8l5EUDB^(!~oaVCZxp+=P!}+ z@H01)P2EcVgda|DeKyN2E|)N-TeD`F1B8BlIp(=!W z*egTl%4KfW0@N@(v>6Ex^z9p|MZhdzz`s8==I-h|^=2^UUUEm!d%#roYs^R7qe1Ox z+N75tjBk{-x~kwn|2!vGES0jq_HHNl(f=?H*`Gyq=viN#_zCb}yO(Q3s!o(JY1`ao zvq-gO?e6y-yKqn1YLI&K@nLWFO8*?jR=T;k?-@u;U=-ihGAHd2z~?|g!~xD5*pKzB z$;oI^&~%)+cTuWXR}P43{C*GvH1=-Md0b^J1d|WHIB%M3)pM)i?jiy)pzSF)*k+Sp zP5TQ|T9vXR=U282dTlC87?BdoIJ>&KF`xFd_ZK45(=%T7LwJnkfYsIYpb$fe|EV^T z{FbZ!j=ArQ+#Q7dOX7aS3hIcl%o!Y9Ub7(DV ze7%>Mo4N55Ai^dcJnH`wAkfS2Eg@h{6(P{|4dg**<5N1kYXC<_iy|J7=j(`&PVAK;Fz4W z;4ACO_0>-Ix~Lm-P-C{wyK-)*E6Q{HrO%Gg{^9ks!mVpux(DI%-&DAJniuJ z)|q@q;r-?)@>WBkTI$`D3V~zNsSkJV4C6Z3;RUBky3W_9`TR?`N+oVqmUwHB1vf}| z3b^siHiV^J;-0?XY53uc^~p`I4ySe_UrT)GTSWRwd?<9bxT^wtp9rSEj(z=d`OMDi zh_r*tjQ}ZxQ`S+F4Zvl3Rj_5y(xp0V_pPPp1I8)rtTMCuY!8Zndq+hoKsT z?e)R2kHWKDCI7+`7=1c>zY*V$I@y2A^*Y1swf%zzQln{{hSLR$|Lso{eW}%)Abfmt8s>hs@DHNik@4wy{ z^LGJ%f3HXG^F?xRs=@)yGh`H!Uu26qHZqbICfMW-mt0VE5)tQI@o$;aH0MHeqt3w8 z)DQl-sj0>FS^d8kb4I6nmTsf?!6cBBboYeMQc2$&EewZU%#ZD;gu>f8G%ILr{j?La z*f6ml?U2Ql7^3oE>kyZfJItgl4@S-m^)LZhj04X4gm z*9T`yAK z<}HuDAmR23eI)E6%hoPywWfpngkXZH#+Kf#@7`F)KuG+KVmF#CQI8m-Qw8@;A`BBt zE2)h>mOYW*RoVGd4HAw7yLT_vdayP4NQAE3q}n5>72YWWyfeNkB5@B;(7Zmz%-kMz zyMQ&-zUR}fD>&NNy3Ny#Gi}*qb8QaQ@VMng_>ErqP13>>jWNx z{9S`&h_@58Zn8QNypYJO^r-N#Zx2*&9NCg(?PCj; z%VmZ3fo*xz=}Ns)cJgM?hANMJznE>^uXkt8w90@qD|nV{S%fAwcqgnY25I3Wi|<%Tkf|L5xsImUZs;JnKiL2==;UueVmGZ|D&Nrl~YrqR^W`` zXUDF0*+Ks#+y|wo1=--Qb*mk@b7hf6_hq`!I}g}2>(VO~-(#(XNE$4Ta>o3n-L}$| z-Xvv}HE%d$edGIjYVjvS_AX@H4rT5(o>MNyVLGM99&&#A<*9!5pyr(j2Ig8m~JyN%gIJc+2%9cRF9b_x>M$8O%%AXxQ+P&+J(7;D>1|INr zbzN2C_U+Zab0(u)_x*R%v|Y<;LV(qP-h?XH2}cmUbaWC7^j)`fhibJ$syv(|%_df< zaXvYRntL-n!rtj{JP8zA!b+SFszcW)8&ufWZ$C#Mc&LLMrCXF>b;(SI>IqcFAKq)3 zD{EN`tq7pfqH-9SGKHS)pFPEAd%_Xh&G*;g_%H{j0y3BauSxput}^7}an z>p>#-{QCMv>uIb-5MqJqRf0WJc=XJ4xvX!78*!w_{)iqVRWQ8Sw8US&1G4AY26Iysj@fD z&ek{tg!+P7$RnZt&ISheGruHzV^{*xy7myeal2$TlA0&28Ag2Ch>Yw;hD^v|;7$Tq zt`fCDsWL_)(3)I#Zy5&s?OYi7RGMj8MS7m&h*1Dfrht0hq=Gkz!Dr@$`0~l88?IJ$Hs1$ zYB9HS#==WN_}lvFt9<%sn$YyO$io4Tiq?u`YU*+Pzil5!BnOBYD*}VAhYYy6T-8d@YZdlC%Q$*p8!Zx(r7jIcE7n$yKywy z+MCMCVP5Hf9sNJ_aNt~{u7rNe5OIw#P@jqNN!aRLY^dhmirNmdngrso5I|6^9q*M) zb#L|WqHZ*0+1}+`fAEO= z2~=1F4HcMjZSnRPD21~?T`^%>M+TJ%gC`?=v0Hg`ZdO*-k~wnLk!c9-k0OzQtgjL} z@f~f>K`R7>MtBjeaZtUg3|&QtpYn%ja|3>TV*}Yq1bgS?A>E-dG+mMHZqZf?#75`x zY7MWNU0d{UNd;z^;B&OA67ZWQlq8ZW)9kd4c|^z~TU6QGQE#F;AChke-%!2w zC>dqUw8w7V=ajyoRMuafm|DvJc2*G1L>pbA&!*a;-j+@^piLguas~tRJTY5`n$@L=rFzK7WF}k?89Ghc* z1^*9jz@^yhPCd=j>$W2m)095-M}x}652Ie2u0g=i;FiifCh+hi5*|#tK9Kmdj~*D_ zWN37T9j&?-SMV=ApB@B;c{A$S7uoJLLT8a166vQ-=R+Rq4Dx)YrdEeQ<|1S@qpi2} ztm?vnRg{D^S{k}#m9Neus# zbDMry@ZEP90g3=pT0nfSk6*G*HEQ36Ta0WXoW+}R#sW4 z_b1hhPp5-{+VsYYlxV36&9qUvH#UCo1|k6>KP^yKQWmqG09FR-d*9JgD3<$IqD(h^ zId4};|M529=8S&aZ==8War863ur%rTQRsV8ey@?zb~gT-)GBT-KB_fKWBF@-qIP5u2RA`uN%7M7tOKNrwVO%WD zm5=yEhe@^#lM|+$8{^R62XDV%uc3h*smG}a7}tU+TG)x5a=)m z6zuNF%2I&&)+B!9>-bbi7~qRffMQ45aIDXqr#NY;jIXJ@x{z`8yEuj2H3rQoe(b6obVaSTD*z?p?SeLR!#2+g~Zz77pu=_d6>i)fLjrt@0}t0W1X)&aCuWMvrbf$^!RVt1 z-RXvkA}fLFUhAmky@e%ZB`g5-8@MYv!X5M!iT8^)K z5$S#^wVJGay7Z%FZK(hO0nvL)aE-QYP+8;UJfLLsIY+L?w1}HWj*zCMr!TDV7qf5J z6W{Pbj%q~5U7w#yV6sIO|Cgy(sklcEK=9cK)Y(DSI&fVeD~gz(j9*h_lt~HZX6qRT zK4|VJ5_FOe7C(q`;F6Elt*c-SDj$=|GSz>WT`-bEwc0_QhPs{`8Mj>CXbs1n9V(w| zM-$%FfE&#+-H|{d1Y@h*##zQ^5c5**^uLV#)_b*t4)<5>IqQsoYlT(&X?Ti&E?(Kd zt!uHy!XDq%DZbK;gi>sl)Zfod^scln$4>_4`M9iAEz7c~m+jTWLHshv`DdXo-M~>O&*kF}} zfD!7u?*eC_Ht!PKbM>VH=Oh^FWAu-J15NmI!k#Zk zbRGZr9W#X26}VszQW=a+LMDGfcaO4piy1IYcZtJ@H3Vo zb8{n&JIgD}{QT9`r6L+I{w3P>nd|h!ok=bCS17 z8acu<`pF!x~}OG5_Zedu}ch3%r_w2rRYEdxD0 zjOM-5G@t@J1KnfmJ7&L_S3Wx~FB_28&$+yg+A>JM5Qc~XZ^ow`PFomwXtJ8Ai6V^V z?ia_#c}Wm@q+oC{yL4xmjkIa===3uNEh^^_;*&Bz2_V(l(q}aWu4X2*x#uesU&kmZ zjY$WrkZ&Ux>~bI$qW4y>yr}N5)yp)w$(?^A_`Y*4|Z14Q5 z3NkNn5@7Y0c|Lum64kJDcSbDzZdKx|?hmwg+V_`8)2Lfz^Bb9&-}NfBD8ADIOYOppdFp$0LQpg^R-ZmY^0&Ty|-^C3Fa_T)C0E8y*x~|bZ$ek zW5SDg(R?SVW?8!{9@b&}(z?^GryJRS^ysGHOt2Jm1`bGaD=A?ut0K=%VSk{vjiZjQ zHj}}UIt^;a()V|_>SaeV9+nx0j98Ij>SCwsmXw4~{h|&9y$?grMcH~#f} zwcwQ8aQ8`Djd|jdN=3dFGr9v<-Fkmxez~CYO42 z^GLQExEBn&gfa0q_3F!!G@56V9K)t9x6m8Ucwr`Y#T5)g{Pu8`?tU&rkDI^)wR|}kpH~qbKL#hU@7SoJI$1+j zx{M3F4#izUf9c0`#-kMQ9eFqNwaauySA_r^2eDX<*+Jgb97u+DEKga549da7sciB) zMqp`9Fy8t|ehXg{sa7Y0YO;``CxOQV)CwzaY?XPSBvdr|cdMP}z5NHKn8p8N{dl zuO88^aiMYc2Z4?tiA22COJA-Mm{S9Tc8dVbZOsUTZTfj0F9~yidb1TdU|d4m?10T+ zJmLgLft#&E6x)}Udg8;%n|eAa@MCe%%9htECbb5B@^pQDl)9@^dVWfwx#N>!sm7ru z1}BM9sCt3>lwvJ31~825N*e;%;J-_AeL1AR7_oHiWF!A6Rr8S0Fb#CS5V%XMSF(lo z_~u!@M3Mj@Xo1g(Pxh6%}0CR8dVa)1s|5#ItrNIuBCctKiTDgwJ zwTNLbK)#t+z7r2;%v`M@=A+vix;EA&9e{J93zUe=EdO~3t? z+$-<%dodh5EvZV#z1=rb8jO!K7QiPIRN1z8pr#bqX!{px&*Mgy1e$8qY`FSc1x-R{2KBzFSORT;GId(kryR%oPPBSA;< zkTMH{8{l4|3+({vsl;G!+w19(^N{^fyS{OtLwRkqluDb$Q|n`&9tZ?m=kBkR;2L0GSoW4cGnW%R~lxq$%c(5P25 zw*V=njHaBv@}iNp6&JY)JLeEXOUZuILb{O*T4(VO2$`}mO{?yXi%=4LZ zS1VoTe2FTE_va9c+oGlNz=FI=y=uqr8n>w59?+tNw__=o)NI5d=B&iv*=)0N_mlrg zmVrs}JeJyH%5vO%IraW0gM`}h7i@ztKSLzC37}F!;5Mhv7u0xJjZs#9dot#RC zDz5^SXEL>zn|fPnBXzqyO@S*#L<+T__fVdnS%0sDD>KexLLg4y(bS@pyh2F&S!s(# zF@K*h80+o0r24g3T42;4Az*6vp7lz~nqL57Nc zq3C;O#oHm(s!S+DNkTy<@Oa9B9hKgQHu_F{JNSaRUuPf-tUTz`Fo7Z2|2=o_Vb93>$Qh%p{aPv~LpOS3+cWB*-j z!Y#kU_ z89?<5_tWMiG)=_k(L=L-UX{8xWi4T(SfbFest6a&j?RuHjTFmw5(wPSSYuAC$N-9y zle>oJ^Sqk}ZY_S@@R%-Tqvz;keYxho8GiF$(mYeo7?uH{wkIoI1`0DIYYp99_21aF za#UH1;c@X?XFj8Pdw9A4AEk5`BlH%dsi{TmoJE3xQR-;3|ihng2acX9erMFlse896h6sTcm z={#Co(!I5p?9J62BtulA?#M7xK5n?*_^PUoY{Vfstm+Z_K9<$U>zNoAtr5kPYAIol zejSeO2GwJF6%jaswtw4CINvImcJ(yj>BTkK`On?)MQrPs$km z7_$I!V#56w()UYk+!Kd!qY5`7s!Ba7tO+s#JIOy%O!y1+P{9N`s&|%6b#xmpRrTf8 znqKl7f5)YDbf|=UVrMX#d7w|RCjTKbOQk}ZU1-j+jovLi9qiONNV z@4ttN5F9)&t{V9eRu|*J-X%s5F>Ft~?K~syyUxs226>(i1{(N)Dobs?2D8gRHQ@izmtj;05ZDO0{$?=IM|IyOuGP11}6H z-nI-GSI~$v{T^X5nlJY#nyXGHHJ-M53sK=1yR6c>cxjrhvi}5#2%1k42+Q9RvMOQ0H?%rC}#i|)q;^2gO82)~thRstBYc)FV`1BB^ zdIzey5m}?O)a2?T+*?I@svaPv1k!GSHCVWe)1maBa3Jd(Mk{%k6kRnVGiVQ54rH|Q zp3do!3jQ?Mb-$J>vR2-#vc4H@Jv=j4-C}y2yt=x=i*TpcRv8z%^M>598Kh>22sV!v zAUOS8c(8a#0mts-8(8-u2}4c!QS9P>K{l$qpu9dv6oH}QerDpk`-ppZ1+bRW8=hym zNu2o;Aavz=CTpak<3FzO<)()0PbP6~B5b3n*moG8ph0e9zMSK>8&#wtrJn5yMzry8 zyFxL+mQ~#Cdbp=A5j;P?>-uK27V73;3*UEPWD^H-g~Ri^hzwLi%1oq%L0-J(LxMmH z$i0~jqF9#V%Nc97>O+}o`n8VwlYps38y_0IBK$Wdfk09GE>Tp1^ zlIijtDujV}XcL{s+$21bSWD_|U7cbc$yrzZT4)ePo$Je)NkAo=UKWgp!ACR5@x5X7 zCiI~qKXIEosr@d2H^h88q%V0E4Ua6-?zSQ4(B#|FCm-Q*@5TLflBp1`Po5j_B2!NF zCtc*goQaiKDf1Xq?9e+5279nkemn95jgry5OfnZ#1zb3IUiG(SXmpr-PbqX>Lxuv| zE`Y_2=M)N6HO1-oQs#!Jn^E7SnOZ<4{9XMtF}qZ>iXrW|kSaHJ%)_nk&xMPgFHH`AFwS z^+!4u21IR7<9-Ywg^Ng`n}+7TWXoc*NJDZsWdj{xfB_Mi&pWTOk5H&+{>*^+?h|^h z*C#F%9Il`Hx7UZbw6v`3;&(3#Bh|twpx~&rdDR9IyPoyIDvP!&n3Pa8wPB~VsqO%O zt)e{0WCut^a9LKytUezai&Cl`l4H{&mD&37Y2HK&iGh|$jZ&?+ZaJKWFxg!h z$NUL+Ee@cbGz^O!8c|c0q5dwwdBa;x!)in!Y6>6*X)&Eg=tovO5@|H<{_HzBv60D= zIb$K&*d|qPB>chTrh80xG#IU#o~zRf-Dua0*NZ%PEZ)LL32BH0E2 zuZoP1AaAB26|Pfy%tjw>9C%&q(%G16`=S`?)E5tdmK7kqnPFPgx5%g+7C}D&(1tAP zrbE}SZ1{gSkcj+S*+?ib*$kmTN3~m7hBrm1NQSC2fN3>g)MS?xzcdqsp&sz$fge}+ zt91Lxri^JAuwxnnQBKUfYI_PC6Wuv-tICF>&_VW1&mc=}k#F>)gu55i+l`ZUg!_)Q zVJe+xMH&Vj4DVcUEoY%p5jKOt0t7uCily5p$sJGR3*~K6EoLN=I(@U3Ra#)+u3`?C z=+O-z>9d&NZiCw+7_ZuHBzTOSQEfA{w8Z?xw3x|}=`UMg3yq$%7{{rxb#{sKdoS~X zw(^0>yl_M9)Be>^MDn(Qv*&*T%w*|VYqxV3#(e|>zQV8U|wmuAF^TAuA_ zc#Edu2j+>a3DgrNO7$4=(o#Wo}wqn zP8d0ZX2 zbMLp79vMjc^ZO1Pd<21%!%Zaj86ncQ)0`(zUxZuv>V?0-^ljG@+GfRW`Mhr;4Cw9X zwkecWJ;sQ47aKNPv9zSD8x7B4*Ed|}@r_qjSJ%_)p@C?qfk!s~6^G_cX(NRG;qhnH zTuMGMhdf3sCsq3jnl~$J3_F;iy>V)Sb4#~LxTK}q-0-M;e5CrP&ZQ0avvX)(vrCm3 z3-tSH*1~GvIidbQ`q49Hc*liG=!+Jb9koOp)1}2V;sjHn6?r$l-+HM=Y9wJ47sY+@NW>5lhqB3#n&>}g$1GvMpMdoBjaR)l zqxf4ZO+K?j&H2A@eEBGDhzUW6h@VpO&p9XS$4*L+afzX6UbJVx-Q;!sjRkylBOBUD z`uyEFDC!qPr9Q&ByT@*7Beqw=aLbJTf%<@exS;ox*uUhCnFzT`O^|gfRn5JR`aZp* zFsyGAR#&Aa4`#=-Re5{C4EZ1De!Dd7g*1E<-_KAJzD4;Q>E{|1H^*ZIhBqcnCx&-8 z<=rK*a9s!#F@HBUd*4!5*97=mN)@B=hV4&4ee>XrtR{ovov@*=Hw1jm#D()>bg!w4 zdxySsse6fP30wvp>kM?$Kx%<4)7tCkusykw1jlI5smv+4^8kQ9xxKV;9~~K9oE2s* z1*c>mxpRhjg^y|juy#KCo!&MSsG?$?>&lw`vTOw9$el{itb2kDSXEwBqBY2-H5iQ1 zV$|?QwEzL&>#^}&n>Y#+6d%D=D9GTmyNv?Cbpcu^JsCEdz|~)_;A>Df(Kc~>{Zuk9 zh;A&3r0&^AxGz38*GCl2lMj^jWJyi%=aXH-YrS_Eb#V?rD~1|CVU8#{`8Z9(Fl!UW zL#XB1Kd4o2V7Qc%O|V@!sgk(CO2%j<8mQcklSoeB9$gxrj6jPsQKI=zJoJ4gk=>yb zKiCm4{`bsEr5j~aA;X1esS~GjCLD`7$DA$dusUO09L;plFp*$)En6WdbNkux;I(Dd z+y`b4<@6!d=R_vB5O0d3HG9#0nnO^x$W^(fyOm;R?y^5?m(;p{#8kbn8w$j18!8P2 z36Cr1xMb))It;W&kaeG8siEP`V2~g>hCMxHmfouFfW~L?hH0KbK zQPnn`K;^{E=5V%I&P}-V>%SZB(McL8(tx=QjuEda#Zs^}-&el9iK;)ZeBjgmL7pPr z%1mS8`sh$UCo_b>-pPx14z%=a+z`PwM_WV*R1qm#x<@Kl8OT;(bpbr6?qR1aF3A~QK6$E<}-z=6}UR}TCui&3CC{&5_KLlT~WeV$@q)cXzZvuZ5QCu2Ui%2c&e%7dCsUREX zRfbT#$E;*%Tf6@saM1YQfI}i$;i)gZ)|q*1H|?Wl*5&vx8S098&C%_;qC-dPCd+~V zg<-pi^lhPxr)>|(eyL{o(O+Mm^N%!ugjSbu`m4E`!~@<_X%Ut-2$VPU$U|+Erf`SM z>eDT&5oQMQM07Et8C$?UyfX1W2jxBZdq9?Sv*&`~z-&3VqSPCqFh8*MZrn)@Ykjr< z*GngYEjm&{&pm#80)Af9dKc{cg5+n&jZpio|F_4|HP(clV$bG#pD|re)m1UA|Kapf3k!$HVg^eQbiNA5le@_%_9jQTL zLl%~P436BHfB=KEwuu~*)s~1sZOzER4i|xs7(5_zyA4Ejo2sW&Mr<=V@%^md}(?HJwq`$+ga6kH9RAG<~<=~#(t$!CDh2pW5j9B4mAmIj&teOHl zEm;}#;awJt#)ko|#IJG2VU!m-`f-R z%>8`EV~@(ESQNLjt?BsR>lY4eY8?vQI>YY$b5|CFXcLe@Tz{o-DQ3|5s6_!fx|qmG zEhhKFGzS>_-7)?B3JXdr*?wHzQ%$hE_WG(s?G{XvV;Nv9N#|jj0T_cd>p5@Kgg<=Y zO}_K+x8iiuaJL+yng_N6>|WNhQeR6Wqy9&ymsO7X5CTg z|9VAMYq4j)Oe|5}V;qF%7_}`rt*A;d+kUB(_xqTX-f%AuSU8u zX1Aw}HJ-`F?7bJGi9Y-G(9ug{_@)Y#&F(73#v7Bc=4n=zxPVhn-gJ92V$vgII)1tLkWCa}_=9H#t9+@vDa=dZh2TwIu2)$O zSVSA*!}buq&Qo!MCfw>>ZqP}kQU78EVv*L_UvGU=j3ViZ>52dd(x!H7g%_!k`Z=8= z0x)JXO!dL|fPUZJw77#Ax!k&|0V^wmmo5cu37z{&P7?-9SWZ(IuU`qs_{KB(Gr`k5 z9$nSJvUvMYJuM0A4zx%20sq&LB_RxGgg>5+uvMR~y(qjOVfpyso~At;^`gyzjLu~V zbr&A;xUMfwy0+#-P|Egr6yHmEayw$rMoJXL5sMR8s{JATxF+f`eVW4VYz*W?i$Ari z&wykoE7n+bC9}QOiz=SZ3#Uds@2%jud($h!5U&ECCQtaWR|k98aS34M9hiCyibMyx z&>CCas2p)0-9x5Mf5q)(g_g%{eP_+10bx2q2M?7}yDT_`{*bzsDQFcSf+wfImHiY{ z=YUqIrv?7;xYRO7VRVHkrjIAJ7hJ5g2&L!{!5+=ihlLU7 zC4CuXAxThAR$rh++0G8LlqW1)fUfrD;VK_CeaQ+w9 zwwV7#20zaA9F{T;H8G;TCQFt5oJi`!@YO84jH`Lt!%KYcy9rcW5bP%)?ivbQ6ww}c zbxHMzuv?2|;r>4X6P2eCGktlYyqv%*+rJAdg02kzG+)W_a?jjNGZo?D2YOV&%x z%lo9*h%zpzauyHf_++(=vt#30MXL6VU^ZC0`oRpsB+rnFfS8(B#5ws{T*pmllvKHL zH@WMn(Ah%Xbg4~LSX3VMRsH6eNpJ{&?ueZsKHkV$@WdwrFz{AFBzUNbf!YY#lD=PL z)O2}W@`!i{I?a$42q8Nlenw7NP!;c5Vz9GU#H?duLvowcTZfCc zprs|Z^+%eQ>S-j472B>|QiRd7S9r&_9@ABZkIaj~dIImw?*h#FZ*quSr?k`VsMA{6 z_gl7B(w0oqtycIq`)|v(RRe*o{Y#Pw^>zn}X>VzZ3Att4+_kCy$tz!n?wk_&a#*v3 zAm2Vi#_@l5&P}ciFjz2^wlxNYjc-I+f@%hx(%QUhmm!11yr$*MA(1zA%ZV?~(aW@c z>37g}Bu4A}XZl0;;LN#CTinXwz|A-vq=x!TYGE28dFvoP&W>_&4R5NCpn7CwWi5!T z`pE;DWE{(JM+xg8C^*)A`C=)l(iUM!-XpYq_d) zvwa?~EBpX_1KI+UgvZJm2dJJsWu@_U<9|10a{=zS7P&%2zFF1+%V2Mf`JaG&ar0tM zzu)IM8%fZ10TJ2TZCZD9V`F19U9&%JjzVw;5j2<&31ujQwxH1_HRe$;pKC&-*=gxJ zQIw;B=x8_9J+Kb=qV$Nz$xKyl7q}VuZ~pktV#{ZnbHkkG)}s@e@MF+SurKz=P_NJ` zLlr}#o2TEYX<=4n6YG8FXR+X;Gy>cQt2F|{z|?(+pHu*tjim-*KZ)t6$r_$vWk^OW zc@Ftj%4Xpu7+pLMr+dv|!*1>;z-K83(;R7O>NEUks5}}ngczES&5i!MayyOMUU6=s zIg9-y#4c+PoV#d+xe;K3?npI{Nm9r0@NI4aHPM%^N71Wuc}KcuDYDS-FaC zv!yOdz+0s$mt$g@7c|r)tjq)@U8l{~MyR<@Vv(W3(z6-yKt54P%8!u=N~w4+O%6LeUv)bqU#j_KO*cOxP!@##d_6I^6Y`@E!-t zH1uN!>_r0-5ps)$Al^h;HnD(eJ;0B=R&ikRkJUAE)Jy=A#16WQ z>NZldwHd9|lu}E~)~wA$Kq5?bz)5Swmx`758c?t<&Y)sI@B8;TWtTGSdDaaB%3(-Z z5j#6w`FdesMb-xh#1*x3$B!fg-ZfPJo6=$45^QwpVV`@>gS8Ad`cWzLo4)+D#p#Wu z1=d^`AiYQ(0`7gvYSDb1OGd^*k5(O5E&J<+0hF3=4($B%^->uB=e``%)^im?%J6e8 zh*6%`_w0Sk+)V%8=PQpCNbzBYd4^xtX;oQ`3517FzetyF&EVkrU-dyTq6KCjb@K5E z(N(^_>h^jJcjdYW@M%0;r~B+m_c#yL!H_>r@oR8YsOz|6o(!LQkE&jF<2B(yb>7#*|qcdKsI-Oj5MYVZxmO+3Sk?H9T zMpN0c=)T{4n7{@bKqmgy^SBa|$W z&-i`ZyQ6IPzPL>JEE0~-NEEQkL|$%#6oZT9YAhUaQM!pzZRP8oP!$NDXxchb$rc3& zTBX&LHPgzVIL;7SR8`D?Q@>m+`RtjMc1uH13W_)joGE+l_k|{hvwFY@>nrqs>Bmmp zA01xiv>2n=T3A7xJKzeq{*>DNQTwZVMutM#^*oL$qkA#DnCo= zA;b^lgO`R2n=EIB;0zG+r`0E*2 z!t$*(`t)r{=)Xty+etT&PCV%IW0l4&PjARVd*+0CM){vBGN&yYJqtW2f}CxTB9hLzc%(IK?la-Z z@OTlY>mM1-YyD{qyuNsdP{%}BuQC$LzA(5(UTyX_07_uhc5_J@6%xfR!|Z=`jv_1z z2i5*V#B7#os#csV4pnV`Xy(qd5@~hr;jN!M#U}$@``1N8ZvWFy~4pK?q zf3p0#hB=DuOcjNQ=WgjiS+dGHdh-=5>EFfQ5scgBzN0a4SLVaGCT!SSCizy3jDFqU zp<=oT^zrU|^;ZIG`BB%7L-MUQubS(oeFjVcex)Y{xmPq1Qe^JNfq`e8SJ;VmjcKuV zx6_@@>n7c01QW=SN-+$tU;qz%7mD4;7kK(XRdCeUN(QW@FC(mfb*&udu51s%-YF5) zcY0t7uO5uaSu#w{tud5!@~=kqoz>i2T&^Dti;9mRUQ!V8H9kS)%PrjW3*CX5?U_XfN%Hw!F zH*-VB=UMiZWz*&G!z(#j+C`lSjP0tKo))-h@tjjk5CvT%-VOCDb*y&xJSjEo>6sz; zL-$|Ux#&Cp<`q#F{9miW6(v9hKm5Zk6woi_jtPIf=b~|qQW)9(GoP4aFT_b!WYIwt zAXl*0gzEB{-jI50Q&OOi%^rg4q}W4jA$Gd2ZwuC5lcVH^4AE&xy) zm%A&s2PgpOJiJu@e{Wcetfzz4(zGzwz}|s$mD^*7yw~!r8lNM;Fx6@DCY+wS&|S{> zv8t#_FZhusD8Pzy(vF-4-jD!(!_o~o5GL2D^LYVG<%}CVo;E{F1sPU|Rr6J+IN0H- z7h!+-&TzV0h*RJ>5tm+?F%yUlXA3b>cB|A|M<_iQ#yh~LL!8CO5kC*sW*%ZS-!shv z(gQ{`_DC3Th@}kn#&SafC?x+}dg{5lfAusB@SkYqE}CO%IBfsxAI7rWCmGeQ(Q$A) z25hQ`iJ0+!8~E|4>9a9nizZJUgeUcHUtalL*XZdC0^%<9tR55!x_-=&9X(75%N}DB zUT)6(SR&H|h`(N0(T(ML694mdJhO7gsNKgNV2&^AADg8!gEFk7FCqRqJ8-9;aDcu< z6~wX`kE&21Qj_g4H;tZ5t(N2^m~3ib_W4w9uP+K+_91~3e~pydt& zKx+fsaUIyi!2m%}y;3o;)PY_Ep*9z6z?#RJG{^nIP>+^88Y+{fAgaV7nA}4A*;s68+~d8@b~W8-wu#NYZ!Ve zGbl7Y^>(akWpDUxEN!wj%l=xX$gfN0Zw8%zX4k8B0+4rgZqY{T8r3e?uZq1RmDLEl zK;%a~ETlvx*6OC6g%2MCALi?k)|A>=aF)T6hZ+*xvb3}rW7e042 zY+Mvq0P;P*yS!n!GV(^%A6ZSRudbp$*rt9vp>yf|D*gp1aPbBfm>s(xU#J>ys>`cCrqJVNiHPOl-`r9k!&8da z@@$16Ju#Z&e~(AG4)WxsUDat?1s5hr46Hm&H2TqB6jl|veC3L>NVY->~iD*jKBDn=ywk-mGrwn8sl=`wi?rB(Q1 z@BNP`U!Mb=Kgms|wbv|;i0+DK)j{DmwWzRA`uX!-4zVuYQvT1$JGC|V169FXH1CB5 zDF*&x%5{q>aJZFQ4*bt_PaL2BuZ5+d`TC0s|IC`-EG%@IW~67_0qNE+W(Io%_ZS7; z0rKI%6FGBpa@Q3-onD&tvgY<4!kPUp&(AH9r*7hHslK?ejE6L@r0L&>Vjv1e7Wrn5 z51O`fj+;CFj^_z*Q*C2J4E|(TBaUlaYiIuscqH?NaDGzI^0aA{*tJuuf+R7jhq-(P zjnt+O*fm|4+ymNmAyG_cBa+$J6;i#M`eK%)u=3d8b{#&e19|8~4C~?AWpX}o?5GQQ zHj8Z@r0)-8geTb=w~u~1G}4Hgp`bxt7%Z8Q%>MZw%Y0L)WYy}gn){oLkWJ`l(ih$& zioY>r!)$}<5R+V!`cnoAv@Q?;uZc~64iBGDT%e2Z8H06Rw-2?w26?4D5WJj;(2@pa z96Qse@-U0(BlUW}%ejWqr=x%*ue^M+ifgHJq=G$^;;vUOCi;Oc@u&x16y9{SV8zTv zTA{G?t+L;ZtH#g6s*Oc%7$*idE|Xhe=Pvhnjup~iJAS9<_NJB>6XBJA4Klu0Bq)49-f9R+bn4=$vGix_`4?b*AffgFd)OJ3o=(mDluq(VI!V*XA|{e%c?iSa=ooHglntGV1id(S1G= zmRm~B*m~euX&cag3hK~=cnZpS4j^0)@F60>mpl>u0i^?iwwl#Yz6U9RiZNj)$dc^W z@pIr)!vJjD48P%1N$;x~r`M?9JXDn41=K#RpFHx`_i!M9(#eKi4=D((no@CWM;r<2 zG*p7+AMXjM3(LXgccF_~`-)*96%%qAzJhOH9IrU5tfapU$(Bg+1oTj-$KmB|JB5<|m_LN%yp#nDggbW_7o#%7Zm%X9A=yR^KF z_7QqLi_zylt%>5PFL3M-NeGhd8-?n}6(3cq37-061to0CvDOI5VILojn6DZaDetS1 zSTyNBv*g{9)=?Yjv$tJ(Nm}dB9zQp6m2ZZH6QoPG0er7P=h%qX=H+kSyk9kHkjJ6~ zr7%*gJir}w0fUvD6xj}{sc%;o^T_{`z@#Q^JJR(IT ztXT!k)EZm9z}DAbUs-7!YI9BU7-4l2l9Jc~kaH>+z5cco@n-!Q%MdLQX$-uwxX6kb z+oVBS{Lt#a>3DzL?`&#l`~p;X1_u>TNjrnNpom@su{7SS=-z?; z=+&GfXFIkTZOGb>IXu)WYEuUomuKBToAVheYRcZ8eTdDq=@WyIX3QoNREpTA&Y$)} zQR|wM5$jRXI1ce{THr;GYCnkBvL+!s$}|MtSIExl zApC3im@1Nwy6D)?>nyO784O#Jv0+ntN6gSqe6t!7*L6ZH@<97j z?!4+a(27%gYhQB{#n;9f9Wp#W4}O1E(XsK**0?~qmo*oTZ$!c;ERDAIY8xa(Q3k;~ z7e^0sbA&#rxj|#dXyWf+_|EnOz<%Ln#&yZAY=->wE(cQdsAO1=Kw++mXQa8)Doy0! zqh-sZy$LL&7p$;$p7ox04DXw5!l$(c!b6zN_F>GhVy85GlxZ*kVkKqlA=pY%tdp=c z*Vj9zIbctc?Zbq-1!19c^qaAidBGCrw5i4jYFIy=25=U z;j^0>Q`fw%A3=%*dymo^BVNqBvNNrg3mRFLw+bJL!Y$+4EmRuMk(vYJ$+MjKcBu5U z>_fc`mKM@xzIVyb<%V9nO~6J`5H$8C?1~-~RK)KQ>iZlFf+%w%t_`-NZ#@Lh!5t` zc5N=nGa+H){4ztnafd5{W5IiVfv3!D1Rs7YEX9o<)TXl3+3&$puY`3?k{$+jJiNxZHqs+x-~st@f9y1wnGfLeX;%{txTZU)(BoYYAxz*z^?HK#E76$ zbb0)u$%WI+?C@V*U0p*5Fv(j@K5}ojbkwSIWkYm2S<wG?m3kra9UjQ-it!X!Z!>2xkBfxUuq>D9wf|bhF7DLF zqb2L~SbAN9r<)U*y;8Qev@l)YiX-$~XVQT>vs#YpS(h1WAk|5IGcg4yeCr^$8Tp78 zh*g7hxuCHj2BAeU(t?Us&P?LuvHGhr9KHPtvS&|LrmWV+%+2Ts_^@|%IX-$i!AGXT z7pj70DQYrg=KX9n|?48I3}hqMb-kjSmeOVTtv55;ed#dFoPE9MPC z#LI}XwYQE_1Bf!A!7vuZ!TJ*2oHzA4g(v#&sB)9#L-Q8#Jt0`d@Ng_T@$0m;cp5$_ zEtcTOfnrP1CBqhHx1qTa!F{`u5&97tUZU9|k2K+AtBrpeR?E!X%-cGf@ovu6LGnfP z&@{vx>zQkd8JoMF9#D@uxoa3uzpY?>6i_%Nr0zBYZHK@va;R)4(y>1t4T#bQo8!8R zy=9_!Ul-^P#=jGaLL`T7Ojh_oV20R~!TgDD9?s%&wiikpfZqR~PxYu^D!}J_b$=TH zD^Y`!+Cr#?i9Ws(I%LoHOsWg*YN3DG~|USOh>uTYzZ&7wIAwTS|$Z``<*Aqt`8ZpTD% zE)=yA`nT#sJb^n?{PG zA=KO%1iUh`{+_#+wK<^%x`6?q%9Pisup5%WnR8XH%~;a^z19=3!1()J>3y>oaB|0D zld+kDgP5=-s0Xue_4)gy`1lVeqzIXqx8akZuJU=7Y&?q7?5zn+B|QG}z#VN3yhNgo z)qN|+nF2bzn6$1(g;!{gvSRII{YgknlOD%Qf<*ALq5JymDm3XfGqkCcsOHoiAZlzp z6w>C?zU%%5(l5z@!g%JAQ%lnYRmzh%}1U5PyJgcl{b_CXv8$r>^x^PzDHR2*x znmLXT8QpM{fI2h8YQ`K|sAcL#1SQE<&8~$U?ztH^@%}Azy!CUffP4Q&QAx?{3*Z^#XisgKdieXp8!;t3Ha9%`-$n-da<^2OP@qGS;cBm zZS={B%@FIW6`^BpJ0%K!(P;Fj+dA3hX})U%5X(gtk)>rIhwM0`mmqq1(3^64h6oe& zymX=*fo=(Ik$RyBRQeqG{+O03V@L=|TW?Vo6|Hvl*F{zMVhv)B--GHo9}jruelV{_GC&MYWKeBq>Z5iqsR0U-}s|dS1k_FAru^;8 zrUY1P*zcdNoBKWVuIO)!z(mxiItixN2|#(9Wa<7Pg=TTrOuC+9*-bsz%P>8&L@!KN z_g;ks2buXuM}bvA@7E3Ctk~6#lV9)0ow4eHNKiOx zc}|1JzYrfI^|~1R8{lqk!wPCXr6b>&!9-)Xa{LRgFk)l}G?Fx{B{w}`fR{vj649K)H!s=_^F(L-7&rV+8}{ORXKAKR|=rlF9Q!s{M|?3o?d z9w<7b1skbIOIc^(^gTboE_w8w1mA>7@nEI;b?3Vpwna<9mh5#pZdT?X#d1UADi5(m z|FnDa_2`-Sw9|rEY|MzxnhmFD+%~%1`%uo1I1&r$Kk_dO;tL>b5t_U4>=PgSKD%?5 zN!LoUK$b%b8hZ}*)bOt(j&(&^1a1fHH?)jO*tL#6P`)A?hLOY>Jt)XX21C@0-^d4Lk zh0)qliZl0voy8FQ`l8TtW5yNBP0*g;X?@?SE*saOqVl`!;4}_Jf$tuFGR`)x0E79M zp}`gt`9EFQpS_4S5PNXy1^49EGs}U(-jBEey-y?RQC|AQMpiyaA5{C|o4;2^X!lrG zKV9p$(!RNxH)_{j4p$;LMfHv~crS!v!(4|;PU=&?p0-CqDD>L&Gwqd31)5NiqCaWgQSlfM(xoA;WS*fJH+b;7;qT$j81{6yG<1ty#~b7dU(tE)Y&F zY|1{)oG1$-I10Wd3wJ;~h)9pZ+SaB)aX+-^&f9TfcFVJ)!C4Da3dpm@)EgCdoRT_% z*Sh)o1L{-1)>3urIKlF>vbqNR5k+byG&FHwv+i`xM@;a6hGSxlnKoC*48Kha*!v~- zr#Yx*8^VIU+mydc)@8I*6x9oUyk6FQ)RCcon8|%K^Z!F{+Kq0WpZJeN`<^Wl)2Q*rs{s zWa76*)b^}L#z5A|`z8&_?A`-PTj&SuBF2cBFNxSF=9AZJ=(>Exv_?!r_{NdD1eiv~ z&wkzD$Xl$GNL|pg{sB}VJna0e0^#OWoU8Yb*z=cTTtPXfP~eCOyuujC027|Hfy55_ z3f@z9&eSYXpM5ra3=%qu9iQ&~uNA#|G}cKw1{ywEvx9{o@dt1_87_M!y*v6IBocD- zyF$SCRx=(`hX`pLypOUJyq&}l#aq;8?4k@BE2H{?2I_W;LO}G`NNrIkBjzUZJOc*Y z$s^Iqx$^RfVnnyW6$KgRa*5!KD`YR1VRei|s`nS`ihsl2Wyd`4Q(eePY=5(w8M%m>rGsXsRy_2Aj(p)B)VTc@|A>jVF+CJ1{L2do#v4 zPD{@%YW&}#N*{>Lzm@@bdz>?v|f0%X0=8WncH4{cYpucqF-M-7yPZYtJwP|V~u{dC59}Frb4@8 z$v+UQ8svxq=jnx25`H8WKCq&8}Bxv=rH*K?B%tOwir+GEF`N{v2CjM zkC_S0X?lg2EQhUg#$IS^cjDa)kBNnm=?f!kJq)h~=+^jp{*J0GMVwcx?HVjU%oI%J zlZAmbkV`<|OsdF5r2w2$l%L;yx;mN!BWhJ$r$yJgsp{jOn4<=N-PCdR;@2v(+Gl4j zQsMcde47rGcIwiy$wm7T=mosuTox|}T(Bu?u==^gTfe0W(nZcuf(!V)Rm}oXzmGaf z$t*sv%Yl42ocE!mt)EKW9~3=|{Q&b2C#L07d`TQ67?Qu;t90%AvY3_mhnav~e1mc1 zmfgx45LYqsO7Dq;V8XQLYD)%(inAT&4%|$1>cS&cj+G_}!;`Q#5cicRi?4Gc^Yu32 zMcV)tZffoZH!xL{iwVG}v*M3w&RY17*+1WHp;tVWy}qSBch7EvHgtt_`&4}~?MGlg z5iPnf1cjVU;#r1|{IB{Onm8ktR5_GTUarEzA1o{^i19~3ebu>0A-DjU>o7~i9;(AE z7H`t*Rva65Y?io1NZEekLxNur$WQ}vHwMBohX|bEez*ztnRrrP|Not(Yr0O(5PWq6L92Nx(PMn< z<#oV&zxt^9Q{ip}}oR+uUQ5(vV8OxOzEzMQz(n4wQM6zE)jrJ9g+V|an3w+&mK zZ`&Gz41}k|XZL(%o^PzWzSFiiapJV&^dZ8*vdQv^s(oq5KQoA-$02LfcGmaj54XO4 z`f#9_CdA^c4W9N13*PhwFtJa?JA5h4QjWXV`lQdkpGrpg*+_?8uIuH8o+!LFUmb;7 zEXC(j)E^Og73vh{WOpi#YDmjFoGC5XhJLp$%5cf}dGOGCKU2{vo)x_VkhPN*Q%T8? o1L69LIrYb46z+(pUr$*9^Us9amn~PjbHLMBBk;HY?SEhYKmP9^G5`Po literal 0 HcmV?d00001 diff --git a/src/qt/res/text/style.qss b/src/qt/res/text/style.qss index 211e2dd8d..5e3a0b1d9 100644 --- a/src/qt/res/text/style.qss +++ b/src/qt/res/text/style.qss @@ -1,6 +1,6 @@ QDialog, QMainWindow, QFrame { color: white; - background-color: #222; + background-color: #27576C; border: none; } @@ -12,41 +12,43 @@ QCheckBox { color: white; } -QFrame#central { background-color: #222; border: none } +QFrame#central { background-color: #113f53; border: none } QFrame#frame, QFrame#frame_2, QFrame#frame_3 { - background-color: #111; + background-color: #698FA0; border-style: plain; - border-width: 20px; - border-radius: 20px; - border-color: #111; + border-width: 5px; + border-radius: 5px; + border-color: #698FA0; min-width: 10em; padding: 6px; } QLabel[openExternalLinks=true], QHeaderView { color: #cca000 } QLabel[openExternalLinks=false] { color: white; font-weight: normal } QPushButton, QToolButton { - border: 4px solid #111; - border-radius: 12px; - background-color: #111; + border: 4px solid #698FA0; + border-radius: 5px; + background-color: #698FA0; color: white; padding: 6px; margin: 6px; + font-size: 14px; + font-weight: bold; } QPushButton:pressed, QToolButton:checked { - color: #cca000; + color: #000; } QPushButton:pressed, QToolButton:pressed { - border-color: #cca000; - color: #cca000; + border-color: #fff; + color: #fff; } QPushButton:disabled, QToolButton:disabled { color: #444; - background-color: #222; + background-color: #113f53; } #scrollAreaWidgetContents QToolButton { - border-radius: 8px; + border-radius: 5px; border-width: 0px; } @@ -54,66 +56,66 @@ QPushButton:disabled, QToolButton:disabled { due to the entire toolbar area not being drawable in a regular QMainWindow */ -QToolBar { background: #222; border: 0px solid black; padding: 3px; } +QToolBar { background: #113f53; border: 0px solid black; padding: 3px; } QToolBar::handle { image: url(handle.png); } -QStatusBar { background: #222; } -QMenuBar { background: #222; } -QMenuBar::item { background: #222; color: white; } +QStatusBar { background: #113f53; } +QMenuBar { background: #113f53; } +QMenuBar::item { background: #113f53; color: white; } -#scrollAreaWidgetContents { background: #222 } -#scrollAreaWidgetContents > QFrame { background-color: #222; border-width: 0px; border-style: none; } +#scrollAreaWidgetContents { background: #113f53 } +#scrollAreaWidgetContents > QFrame { background-color: #113f53; border-width: 0px; border-style: none; } QLineEdit { - border-radius: 6px; - border-width: 2px; - border-color: #222; + border-radius: 3px; + border-width: 0px; + border-color: #113f53; padding: 8px; - background-color: #111; + background-color: #698FA0; color: white; } QComboBox { - border-radius: 6px; + border-radius: 3px; border-width: 0; border-style: none; padding: 8px; - background-color: #111; + background-color: #698FA0; color: white; } QComboBox::drop-down { border-width: 0; border-style: none; - background-color: #111; + background-color: #698FA0; color: white; } QTableView { - background: #111; + background: #03293A; color: white; border-style: none; - selection-background-color: #cca000; - alternate-background-color: #222; - selection-color: #111; + selection-background-color: #477488; + alternate-background-color: #113f53; + selection-color: #698FA0; border: 0px solid black; } -QHeaderView { color: #cca000; background-color: #111; background-image: none; } -QHeaderView::section { color: #cca000; background-color: #222; } -QHeaderView::section:checked { background-color: #111; } +QHeaderView { color: #cca000; background-color: #698FA0; background-image: none; } +QHeaderView::section { color: #cca000; background-color: #113f53; } +QHeaderView::section:checked { background-color: #698FA0; } QTabWidget { - background: #111; + background: #698FA0; } QTabWidget::pane { - border-top: 2px solid #111; - border: 4px solid #111; - border-bottom-left-radius: 8px; - border-bottom-right-radius: 8px; - border-top-right-radius: 8px; - background: #111; + border-top: 2px solid #698FA0; + border: 4px solid #698FA0; + border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-top-right-radius: 5px; + background: #698FA0; } QTabWidget::tab-bar { @@ -123,11 +125,11 @@ QTabWidget { /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ QTabBar::tab { - background: #111; - border: 4px solid #222; - border-bottom-color: #111; /* same as the pane color */ - border-top-left-radius: 4px; - border-top-right-radius: 4px; + background: #698FA0; + border: 4px solid #113f53; + border-bottom-color: #698FA0; /* same as the pane color */ + border-top-left-radius: 5px; + border-top-right-radius: 5px; min-width: 8ex; padding: 4px; color: #888; @@ -138,7 +140,7 @@ QTabWidget { } QTabBar::tab:selected { - border-color: #111; /* same as pane color */ + border-color: #698FA0; /* same as pane color */ border-top-color: #cca000; } From 3d79f41be356ede7829d6884216ce317f3b61893 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 28 Aug 2014 23:03:44 -0600 Subject: [PATCH 030/555] Coin Control Select Blocks Less Than X --- src/qt/coincontroldialog.cpp | 47 +++++++++++++++++++++++++++++++ src/qt/coincontroldialog.h | 1 + src/qt/forms/coincontroldialog.ui | 47 +++++++++++++++++++++---------- 3 files changed, 80 insertions(+), 15 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 9f19d0872..8f15bac34 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -104,6 +104,9 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : // (un)select all connect(ui->pushButtonSelectAll, SIGNAL(clicked()), this, SLOT(buttonSelectAllClicked())); + // custom Coin Control Selection Button (select less than) + connect(ui->pushButtonCustomCC, SIGNAL(clicked()), this, SLOT(customSelectCoins())); + ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 45); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 80); @@ -175,6 +178,50 @@ void CoinControlDialog::buttonSelectAllClicked() CoinControlDialog::updateLabels(model, this); } +void CoinControlDialog::customSelectCoins() +{ + QString strUserAmount = ui->lineEditCustomCC->text(); + double dUserAmount = QString(strUserAmount).toDouble(); + + bool treeMode = ui->radioTreeMode->isChecked(); + + QFlags flgCheckbox=Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; + + map > mapCoins; + model->listCoins(mapCoins); + + BOOST_FOREACH(PAIRTYPE(QString, vector) coins, mapCoins) + { + QTreeWidgetItem *itemWalletAddress = new QTreeWidgetItem(); + + QTreeWidgetItem *itemOutput; + if (treeMode) itemOutput = new QTreeWidgetItem(itemWalletAddress); + else itemOutput = new QTreeWidgetItem(ui->treeWidget); + itemOutput->setFlags(flgCheckbox); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked); + + BOOST_FOREACH(const COutput& out, coins.second) + { + // transaction hash + uint256 txhash = out.tx->GetHash(); + + //Getting the coin amount + double nCoinAmount = out.tx->vout[out.i].nValue; + + //selecting the coins + if ((nCoinAmount) < dUserAmount * COIN) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + } + CoinControlDialog::updateLabels(model, this); + updateView(); +} + + // context menu void CoinControlDialog::showMenu(const QPoint &point) { diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index 282dea337..4d13e4c01 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -88,6 +88,7 @@ private slots: void headerSectionClicked(int); void buttonBoxClicked(QAbstractButton*); void buttonSelectAllClicked(); + void customSelectCoins(); //void updateLabelLocked(); }; diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index c729db58f..12dbb22a2 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -382,7 +382,7 @@ 41 - + 14 @@ -428,6 +428,32 @@ + + + + Select Coins Less Than + + + + + + + true + + + + 0 + 0 + + + + + 50 + 0 + + + + @@ -454,7 +480,7 @@ false - 11 + 13 true @@ -472,8 +498,7 @@ Amount - - + Confirmations @@ -481,39 +506,31 @@ Confirmed - - + Age - - - + Weight - - + Label - Address - Date - - Priority From 8119728f4fa61a18c995d4ca053339d2e7013276 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 28 Aug 2014 23:32:04 -0600 Subject: [PATCH 031/555] add %reward to getstaketx --- src/rpcwallet.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 194146198..03ec866ad 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1508,16 +1508,20 @@ Value getstaketx(const Array& params, bool fHelp) int64 nDebit = wtx.GetDebit(); int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); - + int64 nGeneratedImmature, nGeneratedMature, nFee2; string strSentAccount; list > listReceived; list > listSent; wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); + double nGeneratedAmount2 = max (nGeneratedMature, nGeneratedImmature); //uint64_t math not working + + double percentReward = nFee / (nGeneratedAmount2 - nFee); entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); + entry.push_back(Pair("Reward %", percentReward)); entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); entry.push_back(Pair("Size of Each New Block", ValueFromAmount(nGeneratedAmount/2))); } From 60b53e5d1eda7aeef748018ef4e16f3c518d6662 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 29 Aug 2014 16:29:55 -0600 Subject: [PATCH 032/555] Add Coin Control Filter Combo Box --- src/qt/coincontroldialog.cpp | 122 +++++++++++++++++++++++------- src/qt/forms/coincontroldialog.ui | 7 +- src/qt/qcomboboxfiltercoins.cpp | 33 ++++++++ src/qt/qcomboboxfiltercoins.h | 29 +++++++ 4 files changed, 160 insertions(+), 31 deletions(-) create mode 100644 src/qt/qcomboboxfiltercoins.cpp create mode 100644 src/qt/qcomboboxfiltercoins.h diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 8f15bac34..583f229b3 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -7,6 +7,7 @@ #include "addresstablemodel.h" #include "optionsmodel.h" #include "coincontrol.h" +#include "qcomboboxfiltercoins.h" #include #include @@ -123,6 +124,14 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : // default view is sorted by amount desc sortView(COLUMN_CONFIRMATIONS, Qt::DescendingOrder); + + // combo box to select coin filter + ui->QComboBoxFilterCoins->addItem("< Amount"); + ui->QComboBoxFilterCoins->addItem("> Amount"); + ui->QComboBoxFilterCoins->addItem("< Weight"); + ui->QComboBoxFilterCoins->addItem("> Weight"); + ui->QComboBoxFilterCoins->addItem("> Age"); + ui->QComboBoxFilterCoins->addItem("< Age"); } CoinControlDialog::~CoinControlDialog() @@ -181,43 +190,98 @@ void CoinControlDialog::buttonSelectAllClicked() void CoinControlDialog::customSelectCoins() { QString strUserAmount = ui->lineEditCustomCC->text(); - double dUserAmount = QString(strUserAmount).toDouble(); + QString strComboText = ui->QComboBoxFilterCoins->currentText(); + double dUserAmount = QString(strUserAmount).toDouble(); bool treeMode = ui->radioTreeMode->isChecked(); - QFlags flgCheckbox=Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; + + QFlags flgCheckbox=Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsUserCheckable; - map > mapCoins; - model->listCoins(mapCoins); + map > mapCoins; + model->listCoins(mapCoins); - BOOST_FOREACH(PAIRTYPE(QString, vector) coins, mapCoins) - { - QTreeWidgetItem *itemWalletAddress = new QTreeWidgetItem(); + BOOST_FOREACH(PAIRTYPE(QString, vector) coins, mapCoins) + { + QTreeWidgetItem *itemWalletAddress = new QTreeWidgetItem(); - QTreeWidgetItem *itemOutput; - if (treeMode) itemOutput = new QTreeWidgetItem(itemWalletAddress); - else itemOutput = new QTreeWidgetItem(ui->treeWidget); - itemOutput->setFlags(flgCheckbox); - itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked); - - BOOST_FOREACH(const COutput& out, coins.second) - { - // transaction hash - uint256 txhash = out.tx->GetHash(); + QTreeWidgetItem *itemOutput; + if (treeMode) itemOutput = new QTreeWidgetItem(itemWalletAddress); + else itemOutput = new QTreeWidgetItem(ui->treeWidget); + itemOutput->setFlags(flgCheckbox); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked); + BOOST_FOREACH(const COutput& out, coins.second) + { + // transaction hash + uint256 txhash = out.tx->GetHash(); - //Getting the coin amount - double nCoinAmount = out.tx->vout[out.i].nValue; + //Getting the coin amount + double dCoinAmount = out.tx->vout[out.i].nValue; + + //Coin Weight + uint64 nTxWeight = 0; + model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); + + //Age + double dAge = (GetTime() - out.tx->GetTxTime()) / (double)(1440 * 60); - //selecting the coins - if ((nCoinAmount) < dUserAmount * COIN) - { - COutPoint outpt(txhash, out.i); - coinControl->Select(outpt); - itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); - } - } - } - CoinControlDialog::updateLabels(model, this); + //selecting the coins + if (strComboText == "< Amount") + { + if (dCoinAmount < dUserAmount * COIN) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + else if (strComboText == "> Amount") + { + if (dCoinAmount > dUserAmount * COIN) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + else if (strComboText == "< Weight") + { + if (nTxWeight < dUserAmount) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + else if (strComboText == "> Weight") + { + if (nTxWeight > dUserAmount) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + else if (strComboText == "< Age") + { + if (dAge < dUserAmount) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + else if (strComboText == "> Age") + { + if (dAge > dUserAmount) + { + COutPoint outpt(txhash, out.i); + coinControl->Select(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); + } + } + } + } updateView(); } diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 12dbb22a2..41554dc0b 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -382,7 +382,7 @@ 41 - + 14 @@ -431,10 +431,13 @@ - Select Coins Less Than + Select Coins + + + diff --git a/src/qt/qcomboboxfiltercoins.cpp b/src/qt/qcomboboxfiltercoins.cpp new file mode 100644 index 000000000..1def74d82 --- /dev/null +++ b/src/qt/qcomboboxfiltercoins.cpp @@ -0,0 +1,33 @@ +#include "qcomboboxfiltercoins.h" +#include + +QComboBoxFilterCoins::QComboBoxFilterCoins(QWidget *parent) : + QComboBox(parent), role(Qt::UserRole) +{ + connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int))); +} + +QVariant QComboBoxFilterCoins::value() const +{ + return itemData(currentIndex(), role); +} + +void QComboBoxFilterCoins::setValue(const QVariant &value) +{ + setCurrentIndex(findData(value, role)); +} + +void QComboBoxFilterCoins::setRole(int role) +{ + this->role = role; +} + +void QComboBoxFilterCoins::handleSelectionChanged(int idx) +{ + + QMessageBox* msg = new QMessageBox(); + msg->setWindowTitle("Hello !"); + msg->setText("Selected Index is :"+QString::number(index)); + msg->show(); + //emit valueChanged(); +} diff --git a/src/qt/qcomboboxfiltercoins.h b/src/qt/qcomboboxfiltercoins.h new file mode 100644 index 000000000..80c49c174 --- /dev/null +++ b/src/qt/qcomboboxfiltercoins.h @@ -0,0 +1,29 @@ +#ifndef QCOMBOBOCFILTERCOINS_H +#define QCOMBOBOCFILTERCOINS_H + +#include + +//Derived Class from QComboBox +class QComboBoxFilterCoins: public QComboBox +{ + Q_OBJECT + public: + QComboBoxFilterCoins(QWidget* parent):QComboBox(parent) + { + this->setParent(parent); + connect(this , SIGNAL(currentIndexChanged(int)),this,SLOT(handleSelectionChanged(int))); + }; + ~ QComboBoxFilterCoins(){}; + + public slots: + //Slot that is called when QComboBox selection is changed + void handleSelectionChanged(int index) + { + QMessageBox* msg = new QMessageBox(); + msg->setWindowTitle("Hello !"); + msg->setText("Selected Index is :"+QString::number(index)); + msg->show(); + }; + +}; +#endif \ No newline at end of file From 97a702afcc6aa55655f188b2e7df1bf30592a237 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 29 Aug 2014 18:13:58 -0600 Subject: [PATCH 033/555] Add debug window to toolbar --- src/qt/bitcoingui.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5e2653744..d8f39abcc 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -100,7 +100,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Create the tray icon (or setup the dock icon) abffaaassffffa createTrayIcon(); - + /* QPalette p; p.setColor(QPalette::Window, QColor(0x17, 0x63, 0x82)); p.setColor(QPalette::Button, QColor(0x17, 0x63, 0x82)); @@ -110,7 +110,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): setPalette(p); QFile style(":/text/res/text/style.qss"); style.open(QFile::ReadOnly); - setStyleSheet(QString::fromUtf8(style.readAll())); + setStyleSheet(QString::fromUtf8(style.readAll()));*/ /* don't override the background color of the toolbar on mac os x due to the whole component it resides on not being paintable @@ -392,6 +392,7 @@ void BitcoinGUI::createToolBars() QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + toolbar2->addAction(openRPCConsoleAction); toolbar2->addAction(lockWalletToggleAction); toolbar2->addAction(exportAction); } From 2fc76bca193dc74c7a1ebc5e21b797f61ca8956e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 29 Aug 2014 20:29:44 -0600 Subject: [PATCH 034/555] Add Potential Stake Value --- src/qt/coincontroldialog.cpp | 5 +++++ src/qt/coincontroldialog.h | 1 + src/qt/forms/coincontroldialog.ui | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 583f229b3..aefb0b919 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -112,6 +112,7 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 80); ui->treeWidget->setColumnWidth(COLUMN_AGE, 50); + ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 50); ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 75); ui->treeWidget->setColumnWidth(COLUMN_LABEL, 125); ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 275); @@ -815,6 +816,10 @@ void CoinControlDialog::updateView() float age = (GetTime() - out.tx->GetTxTime()) / (float)(1440 * 60); itemOutput->setText(COLUMN_AGE, QString::number(age, 'g', 3)); + // Potential Stake + float potentialStake = 7.5 / 365 * age * out.tx->vout[out.i].nValue / COIN; + itemOutput->setText(COLUMN_POTENTIALSTAKE, QString::number(potentialStake, 'g', 3)); + // transaction hash uint256 txhash = out.tx->GetHash(); itemOutput->setText(COLUMN_TXHASH, txhash.GetHex().c_str()); diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index 4d13e4c01..0a209f808 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -55,6 +55,7 @@ class CoinControlDialog : public QDialog COLUMN_AMOUNT, COLUMN_CONFIRMATIONS, COLUMN_AGE, + COLUMN_POTENTIALSTAKE, COLUMN_WEIGHT, COLUMN_LABEL, COLUMN_ADDRESS, diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 41554dc0b..1a7ebefc1 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -513,6 +513,11 @@ Age + + + + Potential Stake + From 205edd9258630aaab3a8a06e84053027f63ba22e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 30 Aug 2014 13:24:59 -0600 Subject: [PATCH 035/555] add potential stake to CC & fix sorting --- src/qt/bitcoinunits.cpp | 26 +++++++++++++++++++++++ src/qt/bitcoinunits.h | 2 ++ src/qt/coincontroldialog.cpp | 34 ++++++++++++++++++++----------- src/qt/coincontroldialog.h | 2 ++ src/qt/forms/coincontroldialog.ui | 34 +++++++++++++++++++++---------- 5 files changed, 75 insertions(+), 23 deletions(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 5137a80cf..92511b1e2 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -112,6 +112,32 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) return quotient_str + QString(".") + remainder_str; } +QString BitcoinUnits::formatAge(int unit, qint64 n, bool fPlus) +{ + // Note: not using straight sprintf here because we do NOT want + // localized number formatting. + if(!valid(unit)) + return QString(); // Refuse to format invalid unit + qint64 coin = factor(unit); + int num_decimals = decimals(unit); + qint64 n_abs = (n > 0 ? n : -n); + qint64 quotient = n_abs / coin; + qint64 remainder = n_abs % coin; + QString quotient_str = QString::number(quotient); + QString remainder_str = QString::number(remainder).rightJustified(num_decimals, '0'); + + // Right-trim excess zeros after the decimal point + int nTrim = 3; + + remainder_str.chop(nTrim); + + if (n < 0) + quotient_str.insert(0, '-'); + else if (fPlus && n > 0) + quotient_str.insert(0, '+'); + return quotient_str + QString(".") + remainder_str; +} + QString BitcoinUnits::formatWithUnit(int unit, qint64 amount, bool plussign) { return format(unit, amount, plussign) + QString(" ") + name(unit); diff --git a/src/qt/bitcoinunits.h b/src/qt/bitcoinunits.h index 9b7c9e160..78da5a76e 100644 --- a/src/qt/bitcoinunits.h +++ b/src/qt/bitcoinunits.h @@ -42,6 +42,8 @@ class BitcoinUnits: public QAbstractListModel static int decimals(int unit); //! Format as string static QString format(int unit, qint64 amount, bool plussign=false); + //! Format as string + static QString formatAge(int unit, qint64 amount, bool plussign=false); //! Format as string (with unit) static QString formatWithUnit(int unit, qint64 amount, bool plussign=false); //! Parse string to coin amount diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index aefb0b919..fce9006c5 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -110,14 +110,16 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 45); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); - ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 80); - ui->treeWidget->setColumnWidth(COLUMN_AGE, 50); - ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 50); - ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 75); - ui->treeWidget->setColumnWidth(COLUMN_LABEL, 125); - ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 275); + ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 85); + ui->treeWidget->setColumnWidth(COLUMN_AGE, 45); + ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 85); + ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 70); + ui->treeWidget->setColumnWidth(COLUMN_LABEL, 85); + ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 150); ui->treeWidget->setColumnWidth(COLUMN_DATE, 100); ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100); + ui->treeWidget->setColumnHidden(COLUMN_AGE_INT64, true); + ui->treeWidget->setColumnHidden(COLUMN_POTENTIALSTAKE_INT64, true); ui->treeWidget->setColumnHidden(COLUMN_TXHASH, true); // store transacton hash in this column, but dont show it ui->treeWidget->setColumnHidden(COLUMN_VOUT_INDEX, true); // store vout index in this column, but dont show it ui->treeWidget->setColumnHidden(COLUMN_AMOUNT_INT64, true); // store amount int64 in this column, but dont show it @@ -429,7 +431,7 @@ void CoinControlDialog::sortView(int column, Qt::SortOrder order) sortColumn = column; sortOrder = order; ui->treeWidget->sortItems(column, order); - ui->treeWidget->header()->setSortIndicator((sortColumn == COLUMN_AMOUNT_INT64 ? COLUMN_AMOUNT : (sortColumn == COLUMN_PRIORITY_INT64 ? COLUMN_PRIORITY : sortColumn)), sortOrder); + ui->treeWidget->header()->setSortIndicator((sortColumn == COLUMN_AMOUNT_INT64 ? COLUMN_AMOUNT : (sortColumn == COLUMN_PRIORITY_INT64 ? COLUMN_PRIORITY : (sortColumn == COLUMN_POTENTIALSTAKE_INT64 ? COLUMN_POTENTIALSTAKE :(sortColumn == COLUMN_AGE_INT64 ? COLUMN_AGE : sortColumn)))), sortOrder); } // treeview: clicked on header @@ -443,7 +445,13 @@ void CoinControlDialog::headerSectionClicked(int logicalIndex) { if (logicalIndex == COLUMN_AMOUNT) // sort by amount logicalIndex = COLUMN_AMOUNT_INT64; + + if (logicalIndex == COLUMN_AGE) // sort by age + logicalIndex = COLUMN_AGE_INT64; + if (logicalIndex == COLUMN_POTENTIALSTAKE) // sort by potential stake + logicalIndex = COLUMN_POTENTIALSTAKE_INT64; + if (logicalIndex == COLUMN_PRIORITY) // sort by priority logicalIndex = COLUMN_PRIORITY_INT64; @@ -452,7 +460,7 @@ void CoinControlDialog::headerSectionClicked(int logicalIndex) else { sortColumn = logicalIndex; - sortOrder = ((sortColumn == COLUMN_AMOUNT_INT64 || sortColumn == COLUMN_PRIORITY_INT64 || sortColumn == COLUMN_DATE || sortColumn == COLUMN_CONFIRMATIONS) ? Qt::DescendingOrder : Qt::AscendingOrder); // if amount,date,conf,priority then default => desc, else default => asc + sortOrder = ((sortColumn == COLUMN_AMOUNT_INT64 || sortColumn == COLUMN_PRIORITY_INT64 || sortColumn == COLUMN_DATE || sortColumn == COLUMN_CONFIRMATIONS || sortColumn == COLUMN_AGE_INT64 || sortColumn == COLUMN_POTENTIALSTAKE_INT64) ? Qt::DescendingOrder : Qt::AscendingOrder); // if amount,date,conf,priority then default => desc, else default => asc } sortView(sortColumn, sortOrder); @@ -813,12 +821,14 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nTxWeight), 8, " ")); // Age - float age = (GetTime() - out.tx->GetTxTime()) / (float)(1440 * 60); - itemOutput->setText(COLUMN_AGE, QString::number(age, 'g', 3)); + int64 age = COIN * (GetTime() - out.tx->GetTxTime()) / (1440 * 60); + itemOutput->setText(COLUMN_AGE, BitcoinUnits::formatAge(nDisplayUnit, age)); + itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); // Potential Stake - float potentialStake = 7.5 / 365 * age * out.tx->vout[out.i].nValue / COIN; - itemOutput->setText(COLUMN_POTENTIALSTAKE, QString::number(potentialStake, 'g', 3)); + int64 nPotentialStake = 7.5 / 365 * age * out.tx->vout[out.i].nValue; + itemOutput->setText(COLUMN_POTENTIALSTAKE, BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN)); + itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 15, " ")); // transaction hash uint256 txhash = out.tx->GetHash(); diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index 0a209f808..29edd755c 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -61,6 +61,8 @@ class CoinControlDialog : public QDialog COLUMN_ADDRESS, COLUMN_DATE, COLUMN_PRIORITY, + COLUMN_AGE_INT64, + COLUMN_POTENTIALSTAKE_INT64, COLUMN_TXHASH, COLUMN_VOUT_INDEX, COLUMN_AMOUNT_INT64, diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 1a7ebefc1..90441a3ba 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -483,7 +483,7 @@ false - 13 + 16 true @@ -493,17 +493,17 @@ - Select + Select /** checkbox **/ - Amount + Amount /** amount **/ - Confirmations + Confirmations /** confs **/ Confirmed @@ -511,37 +511,49 @@ - Age + Age /** age **/ + - Potential Stake + Potential Stake /** potential stake **/ + - Weight + Weight /** weight **/ - Label + Label /** label **/ - Address + Address /** address **/ - Date + Date /** date **/ - Priority + Priority /** priority **/ + + + + /** age int 64 invisible **/ + + + + + /** pot stake int 64 invisible **/ + From b63ed70c2452c997afb8bef26b458d9bb36f6193 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 30 Aug 2014 13:57:42 -0600 Subject: [PATCH 036/555] CC column formatting --- src/qt/coincontroldialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index fce9006c5..677cee15c 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -822,12 +822,12 @@ void CoinControlDialog::updateView() // Age int64 age = COIN * (GetTime() - out.tx->GetTxTime()) / (1440 * 60); - itemOutput->setText(COLUMN_AGE, BitcoinUnits::formatAge(nDisplayUnit, age)); + itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); // Potential Stake int64 nPotentialStake = 7.5 / 365 * age * out.tx->vout[out.i].nValue; - itemOutput->setText(COLUMN_POTENTIALSTAKE, BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN)); + itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN), 15, " ")); itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 15, " ")); // transaction hash From 57d66293a3b5549997c7b362498b33a3fe43c8c9 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 30 Aug 2014 13:57:53 -0600 Subject: [PATCH 037/555] Web Images --- src/qt/res/images/web images/android.png | Bin 0 -> 10230 bytes src/qt/res/images/web images/github.png | Bin 0 -> 10158 bytes src/qt/res/images/web images/linux.png | Bin 0 -> 10575 bytes src/qt/res/images/web images/mac.png | Bin 0 -> 10282 bytes src/qt/res/images/web images/windows.png | Bin 0 -> 9897 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/images/web images/android.png create mode 100644 src/qt/res/images/web images/github.png create mode 100644 src/qt/res/images/web images/linux.png create mode 100644 src/qt/res/images/web images/mac.png create mode 100644 src/qt/res/images/web images/windows.png diff --git a/src/qt/res/images/web images/android.png b/src/qt/res/images/web images/android.png new file mode 100644 index 0000000000000000000000000000000000000000..c587241d62cb9506c6ac51154312d0edf03ef88e GIT binary patch literal 10230 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`>RI+y?e7jKeZ#YO-C z9V1CZK~#9!OpZNELQw#QpUXXjU>`$AA?k#~EyG+|`~eM(mmKcYUx-#Ca0+Z{acrrC zAUuO{h`Oa^m`nYDmX_c|kS*mX!D%p~cY0r*cX)(zj{i|%v}%pM9c?ixI=*sJN^0d2 z_2vz=xW)PYo+kiKFJiZnUnV=R0C?$r@I4ry!YB{`DLGB%7XoC`DPHGh@qPbUs4yxV zmrINRxk~l#bW~hJP9zc5=*NS`8QH}Jo_4m#RjNE}Z*twfMaQwrZ{9IH-n5!ABP56c00030|74O)D1&hT#-Hq6^8at|)VA(DBEqHM`(eP8uRw@X_;s{3~2uEYsyYTu-e#Yw+WVEGk8kCDHLFg zp;#_M6hCovd4p258i@LRBLMJ4N7;om6+m(Pcem@^c6YZq=Q2boP0-4~!U!WndMK>? z3RVziL8wLKLmw{+f)qs$Jw{|?ggqD|ss$R95CqXfR1YO+P|?!1wB0tB+r8eg9wtjm z&-3|l&iSAJIsdI{kv%JbYT$k_;7=@gqN!#p+uKj2U*5bXh+Ep)Uz|JGjAFCl^?2}j@{k3APd`=8J{-X; znDA|`1VJE?OcIU7s3=^WnR#7N;SQ_Siek6pa45(^Mw3#Hn+L}aXT>Q{6rwH{c3Gx$ z^(u-ReL+#5H!zDL7D+;qB=%gtLwij%y~Cqfuy5}!d{vc5773HdgpesvBqntYBV~}# zby6$re5DW*nvNQsB`-HlBAMjL$)ntV_hCtruc{Ian43$G&@?n%2Y4WUp89?~6b|2V zyPQNKDt1|Bf7M2MhesLf?xLapE_3NLYAnV~BtkS6h^lE zPflVsoAKs*80+pL1w8I(C8(-=4~3Zwg$Pg25Q+a@;;@{{gG2K@$6C>KortR9a5yjt z0!dBdS2Rj!dYZ4_Cg~q}_V-sWT$NGW=*zo!doa?~ypQSGI5u-eRU?%mmelw$HO0Ww z=UH%xw}Sz{3JArGz8K(;EfxxLoqYK*!@}j=2nPHo77O`@(sGN9q6*{qZ|BVH&g{&# zThgK!mP;rUs1VyUMQ$d57|^i9#0?Q1xTry5A4mj3NF*k{7)<2J#3!l`1k%L^7bB2} z#t^YmAqFo(;229o+8D1FyaJ{((}tj8!i4%hjRyKe6PYz)Rog8SH4A zJ?r(CULe)dLfkNj$^u1^QDg;0mXU zJNNMGwV_l#m;Ljhz^Qa5zIO2<``PxnENP#Mq3dX>imqvBnu?}s#9~pJ8yX10kc#I` zq&%rVah; zkbn`>Vn<(&FuW(Oi+|ls;bC}jF2QkBKW>f)pbdCKf}>8{YomG z*(s;enW^3F^H|*0N-P#d76MgO(e*fnuA>XVn|;SQd+j>=*R0_3%{vo%5Rybp7Rcj7 zJ9%l4{a>Eu+}qm;5((T|jgoCcB!UnUK@bx7KEOd4=&DrR`eF!?NCZiW-~&My^ zZrT1VyLkgLI@(sBL$;4HzCRaH#)0GbS~$V$Mu@`!A5x zRCcdgMpIm4U~dma&!bQ*QYe-%t-1}^OW6s>M3@wTt;vI1*SD6S-)^TCEv%kZA`2F)f*WdWvp1_ zPRV3sWP~GUz6a>d=d!=w&)Y~Uo$)_B_PO-dx-~eSk7?T!ibWEJL4#osk83E3!s(tZ z2qCy-+nny%Le29Sx_J}FDO0j6Ov|EBDp4{`M#l=AyL6d>!6ASR`CPW|A#&w&S&>R- zrhat%WFBDqi>pZ{lNg49s>l;1kYyQZ-1zU3t5U5_OuOb$xP6=RSFSQ}R8+Uaa-t#fdkuw4}LNu|n_e+@9bbJG0jos$MPd}mK^vG=11 zb!9Sk;B2l(tXg=Vzix3imZoz5tQn|6py)c1Bta@goNz8d9Al)@bYwEPp3A^+3D5V% z^7&miy0$+0+Y3hyZ66bGHrF$C)2c5OWl3V`oLRIO2C8MDrbte+ECDHEVu%xJ^n(Cb zl5qna-831W$#DAe73O58eq+h@$2Xilcwp+CoJ@Oe^~z#Q%$j-kpqm!DBG5DyMJNa% zBg=L07-C|AAjA)RG)=|xd>q#yCCMzFGn?M)1Gv6F<$-NG`_DfAtI3}UyngB8p)d+r zyI>w>I)kAqXsUvt>1djUswnkU%gtwkFu?bH9M{8f93)vrl4OV?vJ;ZG@s{s*&iUFS z&tHDwciTP%ymHs>tMg{gV9mUHF|8I1Rl(3SOw+(JO*B=*G<4cqS{QNNhHOQoQs_c( z?c*VAO+~JYhA55+!;tKR@m&4)AfDg$^=z)^yTw9&Xtea1uyNUv=`$zZg|6%9s)C`a zi4d?XEYm>OG+K3?U%&A--(0cimi-#4*>tqEQm$5!C7DzzMHEK_VTcz5EW77!UVQyD z?V0pI15*IZn%w!1FbtVFX(GC=p{fdoX<%6vEtZL8S&3%`cC1*$Q%C>8yZr+IbY@z3 zcFR|AflOVAL~)#SwjjjRH5^@M$?O^Y?c!xQo9mfWEaa~XfN7H^re{nXkD?~~XlOc? zX<-_A6I1~{so6a7hXM~ha35!`^%KXicl~O%{N@NRKDL!e2+}PrL{W58^13dns?yos zh98D#s&X9Y64_kO!>bl9VAjM5O_`!;8k(vmqOGo>WnkBlKN7|fhflvl7)3;J%+B8@ zzx}RG}oUEZu_Z`S${d@olYpgD^-0yCM)mMpYD4O+{4{ z^ig~H!j7$Xq*nz%)2L}0nx>%$fvPGfio%@E30%6?pB&1xX)cf@87U31Ba0Vu`1Cp2OoOA}+J;7Q+Dx*I$Sx(M|5J>f!lGMnAm@mR8 zA|@t`V&XWtkK>piijpF!6kov5h2wfuY^T}cqA14oebRiPqhC~P+Z`&8Xucm1gdwF$ z1;aG)gWwj&uzCJmetzv5bBUm-r~M#kYV5Gy(SW~-Ql)xmoMr8DeV-ep z5*@9rc%Fyv`vhT#D+KTD+dZaby!^yAVxSx({Ox&OQY#4X!;njT*Bg>*SOj7C!!U|= z_4f5MZCV!B^ROKU+jcMw7a_}pfSF41T+e3qzj}(^8^dg0-p!d}Kj-?cvwe9t-(R;1 z2MFUB*LAUN2itLQJrBomaUF-VANJntPQ^lgaPC9fcPmTihgMezS)~w-r9!?P8dS1g}{-DX# zRonh4u(wjJVr9}Ol}fV(N|MC5Oa?_HVWFid&41mZsyAh39kf&~Qy!@#*LwO|Eth%u z?Q@OS{FBkK&%SJ~XYavdC;0Z}2T_HfR4zCBZWKjWrb(#lJiTcHPjA{l1ngMe&5q^W z#E<~gYLrJR43|oj%4KS{&4}$VJW^q>JOc3C?S#NOKM0SXJa?Y;i|%h`9AOwHPQh_8 z44n}r$w3;!uOB4acBt7lrE)o0ZM90-b|?=Ib0qOh6bt#?x67(dWOF?y-udU%wd2R7 zS$OwsV!#hWJm1GO3=Caw?)hk7uYMqFcH*6CwoTb~xiL7%p;upPOtn5!`VAFfuzJBfG94ZGzE7oEZDyXg18yWfRmWjuq)NG5;@~SM8x%UXSjgAze4`fxM-Tkz7~?FH+|osiOSdGkf)J!68Hfq$1mU_a@AnpY{o>_DnSo*wS73-mQ22Ue_^c z>Na)~r$#MU1hj5Qx1~u-Ly!VRs6mJXg#s-?q!5HaAkiQyAtahoHU;Wb0b1O&c{QX> zm6&zxP2$wv^=8-hKJC5t&U^UdoSD6AIZf>(9PMcCtafMSdmg{@{e8c`d&Sw}Pnc2m zNhuF*=<57Xx#YdSl0mJNM{(xMrZe-4y!`qsy`3GM z-Rr)ST;Fu%O~^Op;aR|R-rWVC;%ulJde{WlI6ql^BIHimlEV_6nT*(ldR zA&{3S29`bu1WwTeJzq6e3*=y*Eh{WOi)mrMs;8N@`+uy-}%4GE7iT1?!a#*H2w6R;q6Dd+uKB%X7qQo zv8AsEr4(+dge@hut+1rdij-0~wvDAMY?F*yQWhznl#L_2wq;qS)43!qz{RmnE21be zq$bpZb%RW_+f|&L*1!CfGC&ogOF|gz4W%N5 z`L>TAIQg}&{Kgvs-ujU{9=u`qu6u=)xJq%u&TY81gV)rAqjHc&qOc9&%Rwt^b)*g8 zTtt8J0vskUs-qP~vO~3f@rq}-UD|cSbQoQTN-MjA1vJBgj z?Ax&w*Ku)O57&&KW7~M1SDanPF_MXm>$(Lu&KL}9DBFwWXtB#bCdc6)p$B8V1tlUJJW$Yi` z#*w4PSgb~@tCT;r@z6&nPJjJhzR;-Wb#3Y2@b{Kw5hp3{-Mk59D{RNcaaKpJb^rJ+Qv5O~!G;rk?ebJqJhGI7$`k(si}I=-9T_j?JhlrLcs+Dd>c5 z&-`eT=ci^gs{;P!iT^RQYxS?Blze}3nrBa)DXw2%Ug4jgKg#Xz-Hn?sbtwrN^56_e zvXm@Ih)r})k_6Xrh@#jGP|Wa#US2pgNk)d0@(aMNYG7nk_OI{yWIojfySoZO%u+hq z=8;z^yYQOwvuCF8v!~DS#iyR5yHe(}2M=%|2$-+dNDa9VLYQ?Yu#KwQ7^xelcrA?Z zqnP`@@hwiyE%56%zMormZpCq&f~dHTOB^StD8g1YfeazHDu5_XcvnXo&m4a_zwd_! zMn+o|u%}$|+&D>TDS0?b6}B;G+gF;sw%Bit*e48FfX_X4gsH`4?GSag(@}0>X8FQZ z@!iE*okx$I;J=Q)Qr!ENom-J$wmFHALVq?&B|;ROJ%2yTvgm4Q=IrWw+@yd$DI{?c zqb#X=TmNurCROaELXa6bG&2wS|7t>rHM>CLkq=bkb(8Bf{(GMS{3wZ$u_TOQ!)vu) zmy-g`c~inDLMjVo+wY{J`nI-YZ83wdfbnY0M^!8qF0N>%lP1J*N@8p0r0V-*LQt_( zA%I>w`gVi&)cE;on=KpfC)cd^#8A;RXK4)sqpLYquNSLp80NT|Iy`n}=P!Ng#io+? zQ&EyIJwMN&-Hl}_k}Sm!0xHIM3C&&{#W8UlBc&t|0uT7c-JhTqM!2?)+K*gP_jaZ2 z!@GwWxn>9TD57j4blp?|=;tSe7#y4TNsQSOn`)1Riz{5L`}r-;OdTHkp#r#At3BA< zRQj^56h~j1q^qTcm0F!jOEV?MF&n=k2m%ufBz51{>)EzR%sLj1O=^sx!H%}820Pf% zs-w0LNXMaOre+jH)P27=2SGp>Mfm0%h9RM$qH!GaLW3v`{6(Ww`|#F}+;Mkj>$(rT zbb1ntjO&NDVbyJ&^#s9cAZVbBS(edM(uE+F)X8pSUUbhuA20phX8^e8Ymf1*2~9W- z4sYczZ~Zv{{`!e$dFZL<>PTO!?zLL209^NjLdSf0 zdWPwRrTlisrVfw&)f#H)hv6@rId^^vX#M^xCn=X)c5fOo`=wYz2a_ZrNmEMR>V{t` zm2~tJf+WkR0j>~S>1xi*)Xf^6RX3`B5NJiXTB{XcYrd}wTxxavFr-$kGI{Pi-tht<}7C~tnm8>4`{R9$l-a#jy7&qr*J;9)mp9aX#6nJ zWkIqdi&6G@Gm2Vzi z@;vIkk7ud{d}GY#M8&mj`r6j<@SPtm3N2YIw#Jc5J)w2$XTVb9R;&>s{JX;yNzdk4FQHtMNd zE@Qh6uJ0EB?FOE0T|)EZWr#`<6Y?XkBgnl+(*Z#k5~bjWA^yt60_YRRCK}1b8DL*y zN$r)^i!A`d10$pTz&Eoj8~*P2alSi#oZj|UK6veJS}SE7$H6U?P_Bz3B}z1KS|jAW z8DK5kr3ID+~EY+nLC^G4tJc*{ck)ZwuhxDU8*U}Urc{4Vg@3l~?Kj=VU|kr&4c zg5TY`j{c5zdfHp*YH8L9{2PpLmZn5W!rX<6oLyXEdVYb~#pNPhY-l0yMc|KqTnXGe zVzo>i9$Nwaz#I&WjIIOj0Pe`LY~SqSl9*jwdaIQBhrq)o2+i>}G{xK0rVfuS1Al9d w%av;m0=+;R(9~cxE&?;asVkY9SKIz?00J~loJO=tZ2$lO07*qoM6N<$f_vWCR{#J2 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/github.png b/src/qt/res/images/web images/github.png new file mode 100644 index 0000000000000000000000000000000000000000..f861d2057eed0eb28f1cb17c38ed1ef3d380a692 GIT binary patch literal 10158 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/linux.png b/src/qt/res/images/web images/linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b733a45611ef5cba66771a8f1196075a73b251a8 GIT binary patch literal 10575 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/mac.png b/src/qt/res/images/web images/mac.png new file mode 100644 index 0000000000000000000000000000000000000000..c5171f1a321dd101e28c57deca8faf0485fe3b85 GIT binary patch literal 10282 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/images/web images/windows.png b/src/qt/res/images/web images/windows.png new file mode 100644 index 0000000000000000000000000000000000000000..5e913e3fddae36ced8a4e9ced1fe354da1fb1a52 GIT binary patch literal 9897 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 Date: Sat, 30 Aug 2014 14:56:17 -0600 Subject: [PATCH 038/555] Icons --- src/qt/res/icons/address-book.png | Bin 29573 -> 29600 bytes src/qt/res/icons/address-book.xcf | Bin 156695 -> 153973 bytes src/qt/res/icons/connect.xcf | Bin 540968 -> 542872 bytes src/qt/res/icons/connect0.png | Bin 0 -> 17357 bytes src/qt/res/icons/connect1.png | Bin 0 -> 15384 bytes src/qt/res/icons/connect2.png | Bin 0 -> 14392 bytes src/qt/res/icons/connect3.png | Bin 0 -> 13588 bytes src/qt/res/icons/connect4.png | Bin 0 -> 12700 bytes src/qt/res/icons/debugwindow.png | Bin 37875 -> 34579 bytes src/qt/res/icons/debugwindow.xcf | Bin 215838 -> 219833 bytes src/qt/res/icons/editcopy.png | Bin 18688 -> 32516 bytes src/qt/res/icons/editcopypaste.xcf | Bin 153729 -> 151713 bytes src/qt/res/icons/editpaste.png | Bin 18618 -> 32498 bytes src/qt/res/icons/export.png | Bin 36776 -> 36859 bytes src/qt/res/icons/export.xcf | Bin 140747 -> 138310 bytes src/qt/res/icons/history.png | Bin 27177 -> 27117 bytes src/qt/res/icons/history.xcf | Bin 165524 -> 163210 bytes src/qt/res/icons/tx_inout.png | Bin 2442 -> 34266 bytes src/qt/res/icons/tx_inout.xcf | Bin 0 -> 166080 bytes src/qt/res/icons/tx_input.png | Bin 17367 -> 27405 bytes src/qt/res/icons/tx_output.png | Bin 17369 -> 21460 bytes 21 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/icons/connect0.png create mode 100644 src/qt/res/icons/connect1.png create mode 100644 src/qt/res/icons/connect2.png create mode 100644 src/qt/res/icons/connect3.png create mode 100644 src/qt/res/icons/connect4.png create mode 100644 src/qt/res/icons/tx_inout.xcf diff --git a/src/qt/res/icons/address-book.png b/src/qt/res/icons/address-book.png index 99e8a2f183f515be8d950184588bbb689ff8a76d..be51a786672d46918b8e49472d8d547cc4b50e4c 100644 GIT binary patch delta 29526 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 delta 29494 zcma%iWmH^E(B=#b?(UM{4k383;K3z8aEIUo4R!~D2Mw0sgy8NDgS!QH2oO9B?#%Lj zdv^El-h0kH{pWVqsd}pV>FTPSU2y0wI9>(UPNLt2?USAX8pN$f%=# zd?{!q0Kxnz75QG}oAHOy(d(DvXB$~@k0d;j9Ou@3BB5p1G;Uk{i}y$ES4$4a?qdS; zM*sH%{J-J<$7s3EYAv|A*n)1=+iNwy-J;Q{Kc}26yNhE?3@ua}Lq5QB6JUuODImmZ@&>waN_QXNJF|4qN@v^9ZkO7-YHa}B_;?{6(HRn{f9u(ST6 zcgX(Fy8mplPH@(#+J&wVc)>1`J=#zBFknCH)RNZ|wNWIP2Sb9F24>`aI3sC$v$l8A z+U|EEa&-nUT#sfKSJw0U*eJlSM1%H0e_IUuPh8!-=%)A)iQ}#qH z%$9-kIDb9>kmlBxvI3e>zwp~7NV`M01mIIrfB*Z*p+e8@;m76){SDi%%qP=znPFt~ z4pcZ9zCU`BY1aDmh@O-`=AfSR1Gc^d2yrVf2VMucz1c$V`1QXj~&SHJ$)c9rviMsQa5itb^{~ACAjJ7OzeMD z<=0<%?jLZV*E4|GCBtc2j5^`T|Kxn(P*bVCOfu+~lhFWx;3Gs4*BY)`u~G`ilyoiQRNz%WOH+3wu#h*v}pr> zd$kAl!R`{HSDWR=ia;6`k4H&DTI&qkfN)=HSfQjMR{>=kg?J_Wc84e62eroswAq`+ zL)#n{BB;h1Dhn?Iw0UiGAHmrV;EjZHY+v9je+~(yle$62y4Jt3;tw>jl=ei@w}-$X z!QM0O5~!~A6mMoEMRF9uJD76L8r!r{Zx%AT?r4V#S@7dDve*a}wf|FFT0bChflveo zO7;MMVh~>@s$9|7!Vf@K!#Cdgt}!SlxGXR#&L$*RW16>yD81lbBB?9Zv71wo2;?Yg z%@(32=@0*MIp_p)p(XJC#Jn^nwr_V2HMx+ovL9q=y9MGg|6`*7q;{r+NSf~U3a1%|Mk$sBK_wpmz8u< za5sUp>k^`-I21qhj_Ty|;aQu9orq*ux43RrRj~eNSQLt~h&fZ$A84qMK09UAV(SM-&LsNk>zy<1f!f-+`{=e3%#q7kW)Uz)Mr18JzMQMu4)UH15>v`|AU|{ z3e4wSA|{dful zEl0N5K#fRHkL6L*z&mF;&CWP2nqG_%XS`e~*I=nCnoU1fCLhKqP-rmH2E_3u_^7eS z+!T8Fdohev2v&nO%m8TMnk^RV^c5mC%7eXyaP+yy_d2&JUA#XD%x1+M4$!@yJn;rU zxC<1l_WyOT1Dd;rsmlEEl*LcISLOk+BlIISVR!_x(D;V=>J}`RBg^%@)x#Es9%qvQ zieA$3HJh+&xcK!#;`3W=7EYr}dgRkRY>YyCJPV1Qe=FN(l z{?Bj(N0!-6P3AD?W$*44L2oR}QM1K0yt5l|{*&x>&2+PqiC$cyvtr&CsTsL?W(fc{ zqmAS($++SjX~N>b{y1g6C`VJ{-Yn=hqFhgX0^7BK(82vQMH~E%0D_3QYx#KjxnSK^ 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 I=|LC&1rmRxGynhq diff --git a/src/qt/res/icons/connect.xcf b/src/qt/res/icons/connect.xcf index c02f21ef73183b0aea4a1561613b83975385c34d..9416137c9702c8739680673637f03910d1b91a79 100644 GIT binary patch delta 26019 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 delta 22726 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 G`~Cy}JlazL diff --git a/src/qt/res/icons/connect0.png b/src/qt/res/icons/connect0.png new file mode 100644 index 0000000000000000000000000000000000000000..7389bb62cee4dc481fc72b20782bc0467176cf03 GIT binary patch literal 17357 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect1.png b/src/qt/res/icons/connect1.png new file mode 100644 index 0000000000000000000000000000000000000000..b2091712824ad7c831c2312ac0d2b0e29cd59609 GIT binary patch literal 15384 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect2.png b/src/qt/res/icons/connect2.png new file mode 100644 index 0000000000000000000000000000000000000000..8512a9478d09728368d5bd397a70f3c88013b18f GIT binary patch literal 14392 zcmcJ0cT`hR&}ZnqTIju_6a_?@0YQo=RX{olNRuiZLTG|gl`0@jdKaX(ARtA0ml}#n zC!r*S)Q#Vs-96u){r2oX`$taROWvJ3cV_O)oq6+nZ)BjuK+8!B000>DbhS(X021OQ z34ofC_+{f)`Rd=@8xx&}fci=9ec}z}OMM+J04-n=K%nTm3~n7(xK33e1K{N6d~R=ke!;Mw9AgI!AV^b_lSZlYGyi}3+6BC?;Ag&X_`F3T zjFs*>9Vs=row+0Ubxk-jmYJNH`g6k!ugO-u6hdih&ar1psghv{3_vUjNtAT-uNcC%3epYcOG_2h~p8FlB$?D5OHD3L>OoR zq8qEJlnSJABQA9UhPbGw7WY zOHb`dJ=MXZseb8F=Dpj53>0LMM*~P-pejNzb4mCLYOqpc8Pihlk3z!-$jRSbI0<-z zBJ+ScHIwMa@1lbDsaUB=sbjai&yW=yxcP73J#GAcu38JVw-;&=+*rJKDLO>TMYDCt zPK6IS)cX37yx_LTe~c(}LgghztZ!0jLev^7!l)IamZGLaVfHWADC-+=*A>OFnGifD zg{ty%vFIJ$O`1be4M3E|6nu*HFTqu++g=gf#^NPZQtT3oxfb@AS}{^a6xMYB{0_q#7kv1)G#SX2rqoHk6H4Sv1N=oiByxv2Fslpe=7CHgVENFC&&{t(Qt zWg+ave_Qvcc^wOa#CVLb)x(+Jj#bdBa(7!3hUBEisjw{ z4!0-5z zjEuTPjq#e!js(RHFd!8M_VTloX_=xJOHgA;{VweGWj?E>v1C7=3k4^i={|;E|ESKa zzWL`KHed%h3Qvcuz1i_Hj)*!-iASnX2N~6eq9Cb0Kh#k7?yC5c8kLgW*Los$4L8BQ zEo32nc`2)$Btr4#<@5VAq-FD9{KD05>2IR-g}lNd*aQ! zG`GdMO@3AQ@HnR4EhlR*Es&=r8hN)($OE`;JMhf_^kFa+>OF)|z;;<42Muk6rEq}) zOAKAxw8kDRH!qSt$p^3|@L%k)pN$Ret;jy9{fkKxzn(C@w_Kt7MYlXV{`%94+&x(9 z#ckOGN0F$p>si-WKZON3oPX|nU-z9Gq8ml$hWfmTpc){2j30%5X+4jKo+X7uoxM@S zGX6>7!at2Ao7yjn+gw7sZ)Q#R>O9r;uat0q!%9KXa1!*6N02(9BLFetigplAqA(JF zb#Xo6$W&{eB~(SLtV~RxRXsTJ!(NZ5aUad7&_EcF3&yqel(ijh;BQfT2agasc2QwY(j^uG z%hB^}^PT8Uj-1$+PI>9N!gJ_PNltG+`|%t!K9mf;#vCgWz#R(x(=KaPr69w#5X^^bRfEiA9Cn#?0DJn^HbN~{k9jn?T~_98LV$=_;J%N>aA0b zQ@qovpA1lpY?)Pw=h=>;tBGLFN24Z$6Fb!WwJ_j^Dx*(&i8}%O$UtbV&kBF$AJ*z(h``iaSbeev<#E zi$uo@(*c6?Hl&+-b&e1mvjp{HW&aD82`eBJ#i5swBY`)LFGm-jk=+xS`&cVBmp(Bf z@$pVmpi_)?l8sM^{cMpPSLOGPmz57q9?1?4x?E9|1_B-%(;C%Qv~{`}U88V*-w40A z{Z)rw(80mnk?K~@?iH!c%dNLV{q?p|tZif0B7^#!a&Z!p0oR0pR{PS@de6?)rz@k9L93iv0*jhv39Hc)%2 zcXTw5=o?6$7|V{f?83^vm$8qD+@`oGPPcFQ&PQC~0{EHjZ(5H2i^6f^Go+z;tb@h89kfZ?6-X5X7LWK7e^;NEHW!Lfy7m!>alc*BtZ;1~|_ zE(u>9z%A-HwTYH=VT8TX+N16Y&3$YL_#L5Pt?Xwx{anZ6vA&K6Prk^j>hbHX&0ou8 zZw+P9tp51bsvH?M8mphSY|tMVt^cUq>8(EHYWeFtpV7^<<=+&oQjMN!+5XGkkU7{! z_xw~tuPN_Fw+(uXQZDpWmfOVM6W8%QtCALH5x&p0<0Gwxtw-c->PnwV)!M{r#sd0J zD}RmZq$*=|Nl2%bR^{+_d11%#vV@rT!-b6JYZR}l?&0FG}N-n)?>t|dB=cu|V9a< zpf`HwV0IXiHp0+qD`ACa|3R1Axd-siY$2Ym3t2&k<^nIsfP5=aav2iG(RURMsY4T9 z7Y9Z@e;C9XN?q>Pw)TvXB4OuOVXzEb z8y?t!g@Eg&KpYZtkq@imU{42M#$T}iK;H3?upwb&t|zso#`Fcm0(DRp;ti(ZdLz6z z#cDV8c>w8DQ)N*1#zv?@p@KK`NkW)+e|sK~{yhB0#A#mzhV`d(j{e@lL+Khp`&K26 z;>M#md)K;(nImmTX`@!m3@74F6+|jPf9k++-ofd|XrHdA9ga^B@HTK}7dCQ|36*Js z;-4ZRvqt_SF<8AjOsPlH{shB|14Bam#Ux>YjZwrxgk)dI=mq408<|5U!JXh&nWL#x z*%GPhh+qCJLUkdW#clFw=9|uGPGo=TQYVQ=KqS!v?sEP0&Yf2=c;{#}LAdEdb1Kz+ zfNN80!^y=q2$pPlV_t0-{l1o=l*8ELrz;)cCzBm7@07;DAjc`^ci<*JWA&xwp`*T4 z?4tV~v|QO2%18-Rbw{8EFn8^+a^ZaHx}N*zkae&x0+!unj}Z-1NvL7N7}BwqB)B+i&7en@@@U3%$k_`*$1FZ@~~_ZRNa0pDrP&Rw@Y4i<9e z`wiIM(5t7%T~)Qn`MuNbi1j^K$n&m4ihBLtQn@Fm3h&x5^LeiOlE3|QB^gGMuD8=& zJsv@=IBz!Rx|U9d7C>{`8*e?0zFG73e#TJJP1ku3z$tBH09);JFyRmZvHbpLD=$mzjjFyo;1Tio*&2_EnE~IpCwWRA z2dM-FC3wIUe!tw?Ls+LF=v?yNKwk1*h9d90M4yW$ZW*t#C z7ZP$^yAc0*lCIo`!S^Oh{-Ed(1d%+MagRpo?P8H!O%>p+ zd09EYk#n;cVuiq4is8DAWJxU&^2*i%2&KJiTQ zPE$9~mJGOd=VP~8=({7~3w+kFkV>C@$++lsTrZntYKJ;EQTbuM-m=)#`^$8gs8WRZ72UIWEWqzVcrl z09)S`TIf}ouAceAD=;r#WL)y`F=@!+R2SHg*M_iuwmcDZw3!y10&GVhTqe))R(_fZ zQS+$PbL3-k6K1m#iGa7RQL}q#Z$;87xb<43C9l9Q|FWpx;4^EL2tNn_sCIHje=HQ} z6~yZ55Ivet=MurSE(lTp^_JWNg>4_V>8OEF2f5RK=jXr%wv8d1F+iGi%XaqoqSi-E zvCr+7{Es7_ocgY5H9Z@^YrDSIaQQ0$nVy}?nJqh5w?5o|vIcK?5K8w|q1dd1g$dL4 zGaShWzeP9|$rV&}p=_Ie zIa3jNQ;;+3KN}wQJ3e`4l`^J|(CgM?2j|*%pLak%lE+#xGskGtC6Zb;2eQ>ZP7uB; zX>O5%^R_z#)ZMyfnB2oF`Cj_p9^y;MUbRxh7KTCblASZFOik87;jQ2l-aF_kt%$?v zfJ?u+(79(j!)=%10epp8U*ZlddqQF4M(1J0H;U&9au%i`CG*>S4_)pH1k*Y^e&eQ8 zh)Y@Tx>^k+w6uNlZm15tH9%Aie#XTwjZ$`z>a`jrTj2=Hcm>^rJ-@SNSX~IjOt4bl zAm(I~`&TpP8jtT0xM0+pemh9TD7CVRS<`!!Vv!E&Zm*`lF;9QPCbU-LsPC;VpPg|YX44dWI+r$N$l2}m+jy+ z+7rfpL(!%ceWr7nkOq9R-l25Zs#n8eOP40osfUU_-8(70`p%L#?}?Zd*%wP4)D>U! zMq7p5@~3O+dbj7o7Y-Gx{kJ=M*^tUC%2gY^=g|%|+F>Q!cK9ybx;$X-FbnoTPh}r+CD+aCqQCwO# zHBqiq@;!_GMALEMl-6*t$bmD@)UFE+aD0uK@Smk%Ux`%Aj?V@+tbq=D@aK6AqkgXj zZWB1@p_8)OGU*F>+pn$Zz>W;lB>>|X;r8!&sW+G0A%c||)hd-V`y^TOzn!Of)^rM- zz5=N?%@px-XV}yk-{4)b9g*BQ=ayY3+R!?kW0TA|>4X#|oWtIzb8DC)Dwoc~DrrW& zU)M^c>)_?o7v!+iM~9YLA?-t{F6E6xHuRtvmNuW}n9G^)6SxP%qq~rs2p;Rn?k~V# zknLOiHKv~By+5U_>Yf-i!GRZX@8(B0&7_Lko2EB$IlnQ{RvLpsfY)XSMUA7Vv3#aV zH*=y>XCH{4Xj+Lm^)^}SNc8z(;R87!-fnq!)gnC`OvEl$3^Laa!qU_(5{L=3jC7Bg z%WBi{(i@vmwIb2WGyNv^$AKYU;Ps5brh0&-?RXU_?|~dn^N;;d0{%YsTgy=!Vf8E# z7M|F{!)4`DV`IOR6p_AV_yw>$jcKd;zM4V)`UWNu{FEm?dQc5wP|khBOw&{8fId;= zp#1|1vHe>@{q*|gQj})H=y(*wKWcg(;>)Zaj1%g>&mR&dtqOq0J2JM8u$0tYyMhsS zQ?)DprsZ9$5xMiSoKTo_-p5KUBf=9w5s|8pmadyu?t8FZWlu|nLX9u02a!)EON5v1 z*SVOtp`L-(+BP;lpSpqTpb#w88VJMH3Z5wCBv_3Qblbgk-XM~-!Sjg3T9zo!cjPJa zObl8#8bh75Sam-dTN{bm;;YFrn6ozUH8CbW?;jU3@yf6e3la_B?#>e*!7vZO8mZo> zz?+uGQiFc9>l;xEY0(V+&zm#DmV4%FvUa9@sU9RBipAv^1h(uNAn>Ph~j zrMTBo^us#t46^QksHZpZ0Xz15P@Zo5;@}~lK|fBz1=f3bhNh)DE3a1M z%GK+}>gTT7)_I9GVTEkAH$vvA)Cq@h6^YF&uz3STA5{ybQN`uY_SV%e z0n59XKiT%+VPwO?i?tb4#ZWIVN#D#1-boX{=Oa=E?FUaO7P|?*c}#}G%Ce{f#u2uT zeXEfza7B9zshs;NjP|P`4<#)rbt+hk%&W6JEO!aA>)C^AQ3W?vAK1TPz(p7|dBxPW z9{wsT<8n6?QnO^OqA%&fJ$_CmWL+%)mX>Zd_Mou(sY|(_{}UCcJz@oHJIyGO#;f1l zBhU5DTF-}=p7iV&*e{;rb{-Pt0M!2jW<4qFV{v@yuwwaPtFIFBfS&&DU-YsbKN*9M zQ3*h9kdl<$hil7Dz%9_(|9~?o~93c(l#@Ct>%BXFqp$A4d}MYf#19 zJg>SyZp3}HsM@+>_3lA&grPwbXRO44I=ys6j;cKJUEh2D_w$Q6IfdvxaF&S>2@9t+ z@)+1^2;I2p@mwx~L?V@wAS3`$EB9N>ATKxWgG2Og!F3H}XVukinY-XlWx*qei8q8l zSCt_YB;E8|xX$=xCzOj)am$6m-1oyEyG*+;D%#Rir6wch;g@(ii?w~e%!Nf0sB{^v z8>#@ro8iT5A}RgX?1y4}xZQAu`r0qt@2r(yf?T4c@z074$R#alEwN$j^42R;(wCqy zt2}Ratk@q6GPWtiw%lG>)ZA|ZGGv^-BC)jgW+he9HNMZnXzJ_4=T2))0^S^iO zz(z~!$i}%LF;te>tHTxE4*Ak;$@X%uulXK-xh7Z!;#I2;6X@JsMaUI67mQ!D#ho6k zllYSQ>{xJlA1@4Wl^J^bwSz1=BPzySf?8~O-TO^R0*X^IRP+&Ha(jH;L|i$82AhAm-&vNI{rwD;Z;Mb;LTuT#?5zIOzGi4 z#v5@$9lf2!0R@Lk#`EC;deS^q^qTh{mwT;=@U@Rt(K_?W)JVx!B?(Xel4NDSX5y z>pzJ+zh|PMA@R6WJ@PzAaPCMn6Jet!L0#&4mT5%2Egxwon?hvv)GA;0DzSV&e7wsf z*36i4ik`b>#ZcuR0NY?PcN#nCVRAFkSu9vQ(=uNbX-*k&X9A(OhwQUMIBneyo#%uE z!2Q!h=)d05ymmOUu5*NUX8e+h#n;Y$Kdwz;KC%jRg54s3fS9GQDh0~oNsSIRzllr3 zIwa6>3hbxvGmeX&C?#uyCyGpWe`cMVnPY)9uwH}B}+f!^(JoxT>Jg`2IL7X3^1~R&VpwyrL*r5}v=#_DWWV%2u;n^?;4dZOC^SiV|x&4Ec zh8~FgiqnP#k`x7Ph=?q^Qo2@=Gz$t-@JN@H9KL-Mkz%o&Z+;GR2+-Kwd0&pd_%t*R zX9`!itoAraw4cpi3S3)Qqyxn}d8k79{vOLEkGU&SdhYA!9cw(S`RQ)R0G%VR<2i~= zHhy>}tv=MY+1cyeI~G#|o;vA9Of-S(So8h>Z%p+Rk`(EXsnc2+{$ zktgRzF#EUS;+aQgV=cY)Yq`@5WQuNO&0Vt#=i*USohJu-uNDh#TP*|-vci3jFMkrx zL2<|SlP{|nk4A(F{M1O{mo-z^#5;ET9MleuD9DzF>XeYuFl^7zzM*2s!cD{P%Sg>$ zWY#wXCy|vsEPhl0v6LJk*=hNw_<$N_k6G`|6E94?Rq^w|`?z^Nv%H=c^5=Rb ziDtX8#sJkhHGc+ns<@Q(tu~iyWRvB z@(2hG*8S-xNAWX`(7KwMPKvY^R|zMTA`Y4T(ghJ7Ge{|!oSemYoeDC4Y9(mn?9j%) zgrngwBbO8vj_0od?F5av5HlmH>}QK_&XW&1T}CSo@qO;$+Rv(2KJa{72ntoje>P5O zT08$z${)FFwid?u6bGc-D5(AO;M3aARgx3b)_9k6(^ZaPN(X)eLE)aC=zCkQtjJm8 zWug-%BB&RE?`=C<(Xi@5g!evE$bVMdpTZ!>HC=UhV14$ksJ*uJvvdt8p}+ofCP4L) z?VyDLLDv&%b^S#HDr${C(&ZR2WoioM`a>7nz|W7GeDWd`v7h6nDzF z(7j9bC@BtzQx`P@zZLQ>%)ZP{kI3SWl*PJKQ~_Ogp#dd?w_G@~ORU%05@U_Y>l`zj zn*KYtiL1H~N7K%&#V?d5XWE`F40->Y)eN&S(zG#!aN@=rj>i2zEZ5scHL?d+6;4G^ zWiPbqIJYRW_hftv!8s-w4wem;D@1)HH#ozeISmo|oftI$GEG|pSMCQ~{aYp4K)Lz9 z_06j#Wi_+L>B>13CU}JL)tJ z)pu>kyefmXgeig(F^Y!i|E6uVWEwMkUcNlvKX(WGs;&Z09`Ke}^fWBk9k_Bm@HUi3 z?BeOv7Um0=*0G{bGXiTSH}2~I;Y{C#GiilnGF>)-g zsZo}ziC666!fpM5jIAr;TS30(zRoSjcUC~x^jmcvOkr)}cm+t*CNbwI-)?de@)Skv z(=B|6>j9JC$D;9>`a;(Oj6m{TwbJ4UQ*&I#GYd$Z)Mr3$XGk`!WwZ1+eNX6IW8_l8 ztg!+jz8m~Elh8;BM{mQ=V5948UYS$&g+JZ98uxwUz)3I0Mgw|H-@T~J%YOf|o`=v9 z4~N>FLbv%N&&SWVg13^TU{K)vxeOZszy|r(3-G=?;^FF}g>f#mp7~oHy%cTArH%el zJ(6p8#3w|THsky+^}VEFBoTB+xT;#GOx**VJ1EUmip3g%2$NdhX%|TUPljOo7F%$yr)Wuf9|P z*+JDk;Wv3nE?n#5MKZUK8)JW_-R8e%yw&(S50uHwdB=*Q9ES}qH|ZcYncDTR<>zueOz2olAH3oJ)YhgX7*up{v_QraAO>{yb>_1_@$KmiRIR*2 zkD^{Thk6q#vDhx?ro*oAQxLDFIi^{Fd%3cxOSGZ~8P&prE+W2kdjm%u+7a3Xp`!Uc z>%{QKWdJbzQU$%*d8`i!1+F2FE#v{@eC}szK?>Cp~QoaI)wCbD)SXVEE9on$g)KCV!dWzf5MgQ2n z{IL*VTfh3JB&{&DQW@R;*IwWl--Vq+xa`h~VGYSx0G1iTe`9xk_P~%#^@-fjgD`{b zTrq8u$i@veYA8YSS|5jSOX{_i!E+3gXeMsQsm1>CC%&S^!Z5~Xq6S0L(~k`qF*ON(}yQqq0WlfACJv3?mK4q zv5gh$*(5tiN%5tWijDuk4~3rTrIdrtw<*8l>lW8l3wN-}?d^Gufx3#haf;zo_O+a(mBihmy zq?Z}MTiQVC*R2YJhB?}F`DLdL+8*^474`iwGdTrcs_bRLl6JZh-BC-F0qe@&3V(ifdOI|5 zW_9FoV4NIhEZ5+*Y^Ld*J{?Ls&G0fegMsMDGBMT)SO|fh+j(KW%~;br)OPn74F52g z;82*I3@9irMc&({Q|j*pMF=vzQbixzj2nWmc`Oq*69 zIp2ydkbTPU7{7@?+%{+bj>ggkc9Kfu~BS^J`c9q*7bTKAj^q^2-WuJ-i4Vn#p= zpf`K~m{^Kz#k9mI@Zc~z?)6RTL9O5ClOGT(^!>T!sUBbbUoeJ~O@)h#&B@#SzJ&`G zYY6o((Ra(3KB<*0ncim>sC7FaDr8`nTTRTn zI_-_J$DAOkP>Gn6g3h?!FWf2pc?)n4F6mn>KU_wc+6UDo(}A7@CAlE%;;5jY2Q;?r~&PHENj;)%BFq z|Lkm;UV1$7N98nuz+by10CqVb=Wh;!o$`T4Aymq!-S>m7{1x_#A^p>Zx@2~4q`{5C zE&J86trG{B5%HcecZ_Jh#AE%JdW$Q9W7X2tO0SO=4nQ@_0SGEJHAD=jsio&0a$^S= zBCy@CV4VD&zal%pV4N@zOXN#zDt_*fVnJqUYog09|A2d8!XIXug}-SvOKTCM%j$cvB1Fp>t}-2qBX5!iX+ zgD3~UH`7*>AG-)&lOGe$7O~?twb-e`oY(h}1 zVeRt#%;a!(JFsaz_{SSus__HzUUs_R79hmmd3`u@URt^ew3oKxX*;hZSd~Ad@Vw;_ z53=!3SR*$L& z|3V>1oD}WMQ@Fz?1}OA-ba`dc=lfoRpL%mG8Em!1mk_RUf?yKs!NyCwU)2h?fWA#q zDAat?h9%yahh^6M&f<5(sf$%Bl>}1`APa~!(6@oG#YE$MpaR7wN`f7rnR$VpG+1;9 z!h1%z6FPVZMS6Ax=y@*v`u3NbNG-v8e){s3^751i!$HRemBsJMPom0c>iJY37Bbg0 z)-(^<;fbkkv_8?F&FKLYB%gW2I0zUotmX(L*^fzS8)2=8b$4~Ecr;evaYW<3owkDh zl(us30|lx#V#w9ZEf5Mq+v0W~lU@tK zDM0z+_=qanAQa}$puo{*0WudY;#4g~@u=@(9G%~ET8X~odGg}p%;lzMJt{n-Ssp(- zP4$jDbGy>!ZxND?wsj7{bNb+Z0(Hsd)VrGV`cBe`x462maI^+smjz9XF;u3^K-I8*Zr1smDG-^Myup{fG@Sf{Zfethn-rgD`FFD1v{j` z9s5nWXdt@TwE8qV>-8Jp6JH}u_sgSX$z9?|?L_SIy~XWuryQ#l%A3VIfE8`A!+v{S^u$A+>Orgm8<;6!?CF*(GIo z@8-iCg0bX>N>Xx?&lVf@80^6Q5mowU$RqEgw6Pl|z+klgZ$bIn2d{e+e|4=sa3LFzR3afj4Qv=y^!>I_Tta2yFt(uVujQ1Cw=L%so~#z7t}Y&LLW7S8#C<$d0raDNz^ zMO<`MS9teufr~w|nit!@Os1vS^nh8F{WF%ULqiYJRsw%F8N|%Es`*{LCYrKHi_%>= z*}VfDdgfqDn$1rI1hMpKLJAjVT+K1YkIXr{c`oF;_YI_rO6h)i-7 z10y-+U>a%%sY^cDT4a;Jg}3noon^tyf@iN4)^!X$o@Oq($E}9^9Cy&JXHl0NA3vab zZ@y3xnF-J-nLgPFJvqNLdodD#2w>+T7H9g#_(-17dqS8T)(*W{POcbjcQo%Ybf!IhHTRd>%3@E2NUU-}-8{7wCP;7opekt(1FV_S=h( z;>^L{iw)7%z=Tl7=mOyRa4|e+wTIvlkt8IfXs1(Ghl>D~TgHPzbA=!DrSISFvg_?2 zuDa$LxwYi$oJI-+D69>oW1n?OhGPGUHsj$@KYMpV*u=%l*$ns@ zYL7)f3vH6pU0jIbw*Td3W~*B=ZSpB+w!AkKluFqeeiRsYHw<->C{Q0FJa5l1EiO>b z66_`vNuqfQb1?vDo)oTQb~7&_4;nfkh)RV3=cRDB3JLkv3%X7d3|8+`PD&=;z=Hrr z!fz6OKe`j47@Du^ni!8io1gOJhd*TPlgIMOvJ;GgAn`tAzwAT6`ev`^?v66*NYsmp z+(l^HsXRf8V4YfLKkhYGA58N0jsZiq3N$Qj=Xn0KNL^fz%7~Esnz27bkZ9OPw0_3EFoe%W=!vh`C4+v;A0HD`;h57Jzlozbn!-EqEXo?6%i#VBU z1F7u%@L86=ayZ|?om8eMmGo_>*+Ie+wZ_cXse`qXV|hhNALCX-pVi^-EpbFrX8$Tj zA_#eGSS6bf?7nXuvB_Kzu!_~kJ%DFZgHNjZKw?qFsNLcFdhaH5XpU8N-7NiJhPF5a z2YxX=6u(bLps$ZdN0{FdZXuKLrv3T=t-?Tvr*>$FBOv?eA`@~KpYh*F3uOZ=O^p>W z(kn;UTz|yFF+eDZ0)GN;mI+6u8lZj|;h>M&54H&RUg}${)ZtF6vr2@m7ndf?hrAz_ zs2!h3;o<$NiHE|>)ZPB%KC=mX@qJ5?d40Ro_GHMY0kb#b&AclUubF0k=3rt0{xboJ)mOU?AmQb=Ie)mx7+`E+45_!ycFs~DP(8!k zp)fL}iksiuehyv-3_dhbfzRpy1_0BkOZcN^0BYL$1=AV^R&pVovygh&^pG<#+O3xA zdCzoMRKbAkW#6qV($8_AU(sk_vDb;k))Nj4Nrb5(*7KX>j3=?;C6jSwI2IYFbwd{J z&eF%D7$u{6LG{YM=$?)x|7{izRY`FLR@oYvPeD|lY<~BAddbN`LvE)*ipm0RTwn>b zKFdAeI^K6J)M{xIdTuRh6}KGuu$AcI$;3y1)@q8uhG&}#0+EF#u+wgZ5NLtSkMT&3 z7S7(%#mn^zsXISi7%JM-M2rq>dlGL|@lba+DMaegeb5}_MK9UUQ}_K9r+Be10@-E@ zNfy>wa@Tw!#2oyB+CkhMbir;NM1lUSpmh1el5L8BGYvWBYPurDs?FS zH6Dj}WdI`=E{U#BA`ts(NM&5fzq-)}Gpx=%bGUQ$`M1oEp59;{2Qz9L77c#pc7B#V zWyVGN;9p1fNe>EyR<2@(mrfD?us{zN0A5eJ@ftnpilJajYq*pbmWXJ9Ti$v|getKm z04Qyi;k_a+5q)~ko!jb78M4<|N=W`h-9U5}!n?eFx|N9!&a^3|aOB)FI8Tc*N_~@*wJ)DRdn3{V z!0Utc z`i~gjiDQYFrGH?ZC?X`~AEEz60R9?&!`c;_G<7q`jVb2;^u&Lk;{QU%g2vbO0kLnF zR>#W~8YpuOjqJf?U6$Kjw005xU(o{79 z00{7Z2>@gy_=~k)<(vQ9`5S2{1L}Ws?BZ`oUTbTp0w@5#0XX8mOIG|7avx0#fBbOx ze|`kY0{I~T05?EORmmh|@vvtl&B-NW^)fjG;jd?gG7qH5w-#|389dUQwC7ILeHs7H zW?o|LqpI73g)UpGy9XZ~wEW$0)@lp;4R84)o0|DTHw zNqPu5FuFO`G{32$QL&LbN^#9p@`Ar@Y+Ij92@u`4z=mmF%<9p+PX;6-DxBL}9K2D4Whw9mqd(DHvLcx=Q}U<#2(V@Va&$qR=s!#DI`qoU>}b5hA$dq} zyD5z7-N`2d3%n7}ZdMamz-#RaKOR1vS0}>pUexl@648yQl| zY`{g2U9Q|Bj`S91_1=LmHmrHXo}KP90XY!?(GO(%+Zzp5%yKjMKpi_6FV{*20=?ZS z@_KaL18My6P&tHoV+8D-N!FIpH(mB0hMwFeuwtK;A|%jLlc3)RyVO4d*L2rv7BF%{ zx@&tw%^m9N2=t+pz}i&*L%PrEKz$2lys)|><8jX&uxZbJ+~}5qY1SV;WervDkZG=n z^`Sz)2|_r7Nx-rxBKn1p;-@J zCN!n_5wA!6v?5CnAzas{htrzzQ5%}^i4-$J0|X#;*#di)Gy>*yjO!v}rfY2sqf%td zbVRPS*q=p957uC`Se_xTSXeYv2BVAofUCoOd8(ueh=wmArR1<~SD3aZIJsDuVLjoE z06gkOfZTzrBv8M|kUCnMEWvw{IZ7pVL-?Y#kL7c=G{t2!bt&3eXrkYmH)i=kX9=2G@9!TdQ>!cxx*^UuJ|@7;UbKz-9RJ^4Sw%4Du)(ndL9Hc z_)7R(UB`tJGr{(^kU!6qmma%~#{|un2rG+swWzr!|Dhgk$zhf-Pa$!A{$TS3 z9NCCh#mlPmYF8>*X+3%;B^q2{WWaCP`%!&07HjNsST64HRAg!HFc)Q5JFPsCyv9Oq z+*N{AcZ7Opa>k^Z`cmv7MVW@zdLcOO)0f)Y{h$kz9OK!#Z$zVvPt{VResWW(ktCgG zbx{$@#ic6mf9Om4Ar_}XVJ=23U@VP%_|L60iW|Sy$8AEI*c(czTh3TJg2=y@h?Bpo z%SbEHixt08nD;sPVQ33ShOUQj-wZi-3E7V*Jszkhq@HTvr+cqxqH@VdOteZ8Uy>6^ zr~cH>;>7i!@ji-DTXXsj&61)IeSh>x+b+pv&t0DklRokhp(;uU!Av2+n+~U!Rl{!; zl-#22)UL#(ZmIuevtt8ed11R{@oVPs?rYhT4vM;(0hN#3wdsk88;*kCbMlfUbp}$6 zI9=QGr7#%?yt%`e#9^e$N=qW6Ugpfr)27^!kj~Qm(6Et)!>D7^aLk5+%P~A2&C%bj zr5W-*^gp_I#(V^WfR9jIcaPf1E)CdXr9Lp+Qz(5*7fLUbmAvyY#Zq68FfsNOj|?4O zygRb({xo-FOOEGmJA=V(=uffqCn@*6dem8*EE=@#{1MmG5ETm5Vzl_PFVb^y$Bt8c z(x6<^J|UWyf;6j2AjDD-5bv1=_z#w|;dY*4w+A_m)rhyLh+>W_)=2&PrURl0PD@I4 z>7LvUeEZ8I=1x+lPJ|SEPxJ2R{tYBJAu9fLpe;s1tAJ#GI$$7h{|*@@KyFeS#x2}a z%c8n#x+6JN#2wAaAM=6enQ?Uf{KgFMJ~7#6ngPW5HS~tX7AL3hXDJwj_T$0y{XMsA=F~j-kGdiW0atkvM zt~8=w$uWfFN{?D|`a%O96TbYh<3T{{41irxzGLYLIc?Ob-Tb6vAJ<4^M+5lS zNA5U@`@M8ZspVWKrsHK^-U(xy@gS6ZZhps9vzjdaQ-~-uYK9@oC=1BQ&Qhz#HlwPv zD`pm%^87d5doq?!v-AC9Yj1l2%&*>-G=4jV5~Lgxg4bJeZk2Ml=oHtMCic1h9cm0f zH+5yse7N=i6LQB3pdJrz@nxw~TV-t?tA|W9#}l$YVMiw`NUvh8zlek(ZYxQwPDvx1 z<5%nB2CAQNvG?QQfGvSfo1t6BW&O4(y$QDVaZMS~AIXM|RB#*44v%un7_%Q+xDULf z&^~;%D~7Rghzn)&d7cc+X2ePc{Z);co{n-QrtanjDG2WWPPqp)0YSZ&IFrK^F2pa= z(yJmaACA$;E`xg1f?VdlhiU$mPV^9gz>YN$Gxbvn3nSNIMdb{ND`nswNJ^BAiqXTBryX+q?iN1_dTN4gp2 zh~~Nh(fgFc=Bgh#v1I-dJZj(H_v2|DYXLcg)yAV`&iu50bS%X)!D(F2M<}b*V$t9K z*>`Ih4*jHp@YCXfH2kZ5-6J=ha1sDgh`-{Rki~ZAZa@2`c*PJ)JZ2@I9R}C%JlTs> z7IiuGQEf|gB9%OFDQ?W$Z@(ki4%cyYEc(AYswmcp-c5bHY-8I`bYwi+Q^!(k*AyuXS&1CQo|WzXfGo7^&uWd*5O z`ss$OyC_gRc!G=}vh%MYeXIX=_}e0`cep5dh2X4wxjbFC~1%PgKUfqbuZ)f69q zNu0M-<-Ky0)+LfKljVHU6v~jUG40N6M(Aa69)a};3O-i&m=E3!qdtPFgUXrXwD)rw2kv(gzAkdzbq+oqIhG+`>22L_%N;O(_tmY z@)^14n@AC*c_gY-+(_Bv(2D&-FSD}+t-Y$R@!O#FnrxgjWU3V`wMc<F7@2BKdBiUj+HsOAteXnHpA&hl@DGXvQ^z@unrbPMq?$Z`OgOBvrAaaT zg~Ma(RjRu%x9F?L*00;|qg7#Iam0kAjK|~xw;>x6_NCOcc))oM+67*a z1*1c^o$KItsOu#ZgcLRULE=d3SbUd)^|9EC8mf&;>{f`)_5b*cf~>EZR(b7WaFW#u7p|? z?^?0f@2yTtD6=95-gS|05qTLWDC0R!xr1|PT0Haa(O=mC1Hz+y*w^J~PBcovq-}yH zDe=(i?IT9`n#aiCsI&-0!W$xC&t2YPB)hGDuBh+DaHMNt z=t3L%vx1>&P?5Tllhm%nI&iQg$cz*{dAyX@lt@fKRJe@fGB*o5I#jrz1xsAFM>|Sg zD=fV}2VKDqL(dL=*XB2oh_zN$&I zRS1o$gtL>x%Co-x_NZ42_=2@+M(d~Q>Bf|!lW0kBu0#BSN{HOU!o#j38rjunULn2iQ7mkrDIZY5L9M&cR+?+Ip1F&CmHy2t56Ed z7XbSAnj>bBdX)aP3g>hy@6*90Uxra5svGu_My7(?gj?ltMVFU3)xjXIVsYOAc<7-< zR2_L88zf{N?E8H6O1}fM1$GUthYt7+>sq$OUDIr-e}2wEM+5W}=VVF9=CR_bNlz$@ z|Cv$pn|(8u8r|q38Q5q8D$an^sis+w-2sw)E?9>R++Hq=L*8Npx=<63)a~Zfp|478 zln>`kL-snnnATY)-RMPUufl71BAcSiIo)@>Ck-2{gaY^$CB7l8!4g=#VI&uuK8+>H zII3sebsKa#YX$WVuE)`j4+>ngx*>y-PGDefGomb3@)R{fG1r!Fg6V4eyD_F(A5_%` z_eL6V|5~Xhzdt=$p5OnH@f`0cepnya^|Q*4$GJp$gIQPh4mB3)tX7wxs`@M#zlYGk zgYRLTW<74zCmYjYS<-3x_YGB0wYELMz{;zh$)w5Mz8~&82t)T1niBEPw6erc$~v2* z7q6^>_74%?y5NYc*_hq=BUQuWmT%yJ4S0SVHS1@h^8M?ui7v_s(e$R0cXQncLAn{9 z3d3L@@`Jusl}({iZ{F)`x*oYAe6W6xALcT!4-&tfxW!VB+2kx=59&lYo?mQWyVdH} zL~Gf?_$$e!4`!s>$=zE4W^&NrMGMRh|M5@ls-TMp6p)8aOqQ_SrKw`mo?+YFTEV0C zy;eZ&1);$Xmzp@X16_|ey$D=MxHh8I_FS9V znaw|z#N?I4Xs1cO=j^22jffTMZP}D=RY8)HDaffYO!}vDM?DF@$97coET$^~nVDM~ zbnJj7R;U4c1O?<^=8uZ!TDu%+PWFAX@6zsT)qgLI*PnQ|IPU=OB&+zMH9D8s60|d0 z+WU7Ue0E=|I^b_-FY|>oopjY|?^%p}jrxuD!1}+m1X1YC@u(EYx{Ql(51*4Lm3DP5 zrF}1j`_+RrA^OP+5YM2fdg4Yob9Wj)p$Y@OV7ogl;#wKo)S&_22Fs4wIWS`Qp@bxdQ|8&(<~fvLW;;+lf@yq^gH3x5Mk z54&=}Q7?uB6lb`}y^&jWgRP4VWP)XT)b7e8QH6QkDc|2Ej7&>hkP>ts4dE(famE4e zt5>5fiCa@mi`q|#d!7~tm5jMDt5tlClsMmfy7Z1cd?HS=uG|$LF4bk&1b%Zdg$)aT zu$QalRo~YLYVBbbJx>fqGf6Wn1}EH@W1F$#b{L`Mu(PKs9{b|oJ5Lns(P@t7{H2~B zUXc4drFhPo&1`;`tw*6b+|EGgeF#xhT@Ci(`xXDrGdjr$3OsCIqrcghg-Kw&l4RQH zM6Sq=WJGG@*s%5E?uc{2K;?!5)6qHy?uCekc^9eczkjS++l7}LY=%EB6T16}A~FXJ zn#TQayo~81I0>4hKN%Ct&V*eLk3n^qFjZIEf2*NLL{1TA_HuLQC8V2QB`4Q5TQ+qa zB!gX&IMAj4#EFAwL~meU7f4?Zi)g6L8tn5II5etyG1DV#Kg$ve6avF(o?qnsqDOa9 z#{NcZa7Q7p`Ta1Ra2yIE3yw@hbPcTvgJ3<+GiS>~PYs>?M_SWewp7Fe5jM|w4HJv8 z`Km8p8lAZZ3!lzTBH)3Rc2q@%UzXh8>HN;*gU{5tm{p)ndRE$x*1UAx5c`*+IBL5{ zTo{L4AuEpIZA6$V7V3SQ%M9eFx4%pEi%Z>vu0~s(FPbs8h1fZ0%q}pBUio+!+-gW6 zVz7I*n)v{z1XxGuo5MNHosNGwwGQ%6-qSGas^ScNEDMJ@!FK%x15KpXT~`0{^l&9~ z&Say9rNcx%&uCiKY<8w-xS(#ROuHKBP8_)WVMVSY7nmd5liS;dNc~h19vVq(#nW3a zRc@Mvk>-;K)*1{pI7x~$k>cshERU%RZMm09oAS^<-c}M8$*8_I3S9XKsO>n_7VNTx zN^@DqRyGI2122N!G%beBZsf#TnvUzvWpqonCwYn3m|3~!SY_mmCwJ1-Xb=qsq6-+2 zw+c0I;EV@p>r-1|X`8iomV}inVa{wzUQ^NsXK7>5tJY(`fL*#m9KlAr%jB<5?423} z-{KgpITUNLw53h7TR#nifTqHg&ONRHKVw1^6s z#YX;qa=sb_hDDy#B%?O>oo<_yfUp6yz83L4&)qd221eUNLQxU+KLcbtRk_7E)o zM8TsMOcLFPhUR53r2(=GISs-$3?d?jSE*Qtka=O(5dBGBVyT9rzbK8s6&sL@SNFSy zhNo8M)FWj)Oy>QPf$t8j#SyN0Eb^OLHs;m_DndM!Q=7d7{Wg0p{pLixtdX5b{dCPm#er)YLYXsl$p188hI#H;l24vp<7Ha4d(XWF2 z`(Uacr^cjO6#amTzQvvlk)pT1gh-I!W-%;ul)2yIIB{0 zpT8{ETYdoQ7_FjkE)=N|mZ;Lh=*R{kV5`BadnX*1J>)xjGXPsT5ZKZi zIs<{qWOhnR}As1xOChpxousxVWq#xQ5}jD(+0sAYQz{H*?p3T>0Saw$mvt*4b(x7 zBYnrX4QTsbpe|^ZaxQuJB~im1;F(nqm$R!Hc4UFxBnHv*-hba<{eAC`M1yiIx`xW9#!)Hy{VULZ zL|DA}Hv$vqITgU@n@*f8Gp-E+eyphXp}!l(b??|hQufRb${m&S=oi>b7t`4e&i^i- zOf`V>hn;QbU9;y0Bu%~2cq1u1xbKGu_jbyJLWd?(qtp;gJ8pY{5z;BgE z+K)ll)l_+PrJ3R`MKCbg5*2RApJny=4t)o)Ptkeb7Q z@)q|1Y44dTBP*IQck|KuMmvQnyJK)4LRw{M^p`%>C$@OK-XZpqOYO4{uePx|oj5m^ z&qVi$L)7lzEF@4|8g7?&$JC1M8)tFmWZ!cy!Vacb^5hUMx@GEBk$AjZnzOk1-f3o| zRq^dpwi{nj?^#3pm^<8++lmLj2uMDGx%~w0|MrhI3Xpy;e<|XNhj2MT@^qYPa(GA?K@4ov*zM8jri-y=T18 z-)d5MZe4m+kD?Ttaq{4s7toQ>xkK?UMzis4|1hEt#zyZCCV#2mj$$@l4!f(1Q6O5) zhx}X3KO9>k^uGH0Ye}T(>SJ(fCw6s~$-N-i_x!8TWYhgdl_nL04C4B#m+N0^X-m-l zRd|)Vbd^aQC%f9SVq^Gh`zD=|uZ3610`z2=3LKu8d82P=Ex(^dpF3!@j9+XE1v4@R zGyh|cJ?6HO!#v1IypRn6S$qtNufAXNZ=U!?OWWyUN!rd_(5mGq7X-0WYeDJp>WlU} zZFfl1qFE32v9RlhJm3N1d7#Y7nO2DhP5=D1f*LUBB2Hn!sEHCtCR@6$kXnwdEC4S- zu*}})m&<2ezIHF_Up6`$qAnlvluK^6D>pgjEX2o0?v;Y_t09Q2Rh2Nj(X%#&vSEI- zA3P4oTBxr87O)-S&D{#{Ieru`wZ z^)*6lfBP-TPL@KmZ}~kkU`WYZ`OlDY>=7QKyIeb+<=Cd*TT*W2EmnaSMf1N0SU+I5e=#m01^dvscR zB_sLD;<7`tG+4Mta9K=n;vsx>T0*A;+=S};6?xXIS;$YRUk3Uwpxx-KAac@-|3p${+R;K-i2KQQtcKbx#wN~yijI^VQ# z$lX|nKMUq{fzh?4-R8M(&e*fmDe5ZQ&qCb@l=1ZgjQRhm1>oxIr^24)V1+Xo%KGx? zf0Di+ThmdFcy42MbM08UUl>;&nd`Ra(scgyZ`a03)c&EEB=TRz9dR2>6PA^|tiywJ zMPR0JZrVkf{^0j$zEt&=o=30-{rfotcNG8Gh3w$a^5!*`_)WsAA44Q(9RE_O; zEbcRp+~LazJ9eO-tE_1uF?u;2*{K?26LGfDf6@}wdJn3YE%iFGbKj6i+#NWEJe$uiL+2s3Ez4GbZZ=cRquhkR3*<&!z1l7q;pI_*XdddX;7MjAa$e zd++m17ep_^>PEZ)QEGkpFSn`?YWIShCS7=TuP0C>an|%*n5Qo0Z{GFb&E?>1piTYK zztW6`G=n>))@Kdr7dSSY=h4%d<@Hssx2g0Pcpw`2<_yj*;~iTLnQf%I`!qHZ$k2}QQeUyI~E>$ zZ~^Y!j;Goc5uvZmh{cW&Yg|Paf-88RhQc22;UQY9Pq*AGGz#v>>KCQ?X0BSB2_dg( z`;0Z+L2MW|<^24;?;E*TI=>(L4VvdWA5*QV_n&bJImrYB+8~@fCixn^E3}nk1?p@D zu)ZILD$5kuj=o;|D*t-oNr~TzpYTH>+kycYz)F<_(n&aAAtl_IOUkTL2KB*ad=vr(!c3Nk< zRga_fp#empGxYdMi-1oS=b;L4;j8L#J1@G5C~fD0oek5i$gnppQfA$>8gBpL={zut z*0s8NSfHv>4X?)=N!L`u=XGJ|>MGcyyzALMjgkq80^oa(JtzzTCOKZPJaJS$8)Vb5 z3j3{3WG~KyKM;yEC0|S7Yn6gvy*>$Ef1CRQUP=fU66sC$M%T2~Ui=%Xxn;(R%C$+{7+qh!m~~Cr+%(F zWkH#ngStn3MMeFOcT>6Y%EnOd$x+2ssBci-^(yGw9H+gsx{kwrC4gw!deO(P7vAFU0My-nLNdo_e8K z>$9zHfZO4L*vHVLS~9_l+Wc*NJP!Md_auyNM%aTg*fGw~W9c6exEKDSJL(|I*7F3% znY)#o-`jdK+`6O7QSpU~t#AQ}Dv`c}U(Rin?Mo8O(>g78KGM=!PNTf#B-y5zE2@qg zC_aH^#Z0Iq$$@0R=QQ}3En~6k2%h>Z;QUyxv~!GNWr^5W>N<9@kqA*sfW*zR>Q9Hvcuia~4JlC`+*wT~@JJPXnZ17%mi)g^O zq7g~uy{Vm%1qDp(#?hJt_$W7|kOoos^&+}vml_qu|MQvGoPe=oVxzH$kc6|zTwPqR znY#!g(fn3J(uU?r#+W}UN6XkQJZN>g__-DhFhndKD!dGi&R7gERbIM_l7Bk3*0dr-FYVcJGZgW{g@()n`qBd&X+=kMnTI0{DH_%E*mU&C%gK%efq1w0He+HsnJ zOMSoL>UC;bd{#I8iqd1j(ol+)$mim}vT3YTxVM__`+Nl-bS58XT4#s&>exUke#5$e zG&4$EQn&HZ4pfehcj2rsR^w+GdC}lj zjf6{DiqTVj6oDB43f_oV@hV2b*G0J}o8^9bB zoXJtW7Q;8_3hKTJj;V-7Mjy-9w0OPs-zYLi58p==hG8}qEU*#Gt>LyAi}DuRF?pss zj>vwNJ;#57oexG#6ee@sfAbagKksqDN4O<&9VdP!*Ic>4U+=)8080rVF@Y@e2I9^Y zj#h3R1-fooDgWB$abV$3lCiitDCM?ubGP7Nzf~P&U9)(a^qFy5m7l&6187=pl1U1y zEMzcUc}qd-XNh-@ViH(!3EsDkBhX|&(iiI}E2&#|SGNYW@o0|&a`(R(i`TIki_bD= z?&i$g7qXf`D z#Ne(R*>L&>t0-l=WIq$i(D$O<*2Q6@PF?S*hi6^uOmc;_XS=39)FKS#3bftfQ_HPi z+tM>+RgIQz4brt#>{d8t6dCq&-#T*2p^xw7c+Om5{DJJ3dlT*i>Z%0zCD^aeJ`I6K z15wm2Jh;jV(56uOOKm|@9w`fzwg!}+qJj*wPSdXX`g}-3q{MZ-p3gC7k;HNRpx1ms{ zHHtf$JIdt_1}rOtE_ibrVe_RwrX@Jv+R}W^Yk9w6Ig`d4?N!&2KV@0)V|)%Sjwa=6 z9h5wZKrt!*sc!Orn6a3o?LI!EpI-MexS+j^?R89n0i246K(_Q`pBDl)WDj`t;o_wv z_D_bF1q7bzu6bD4V^}s-5*nJhU>nA~pd)V%>R>y5vb*OTxKQ7mHPa@D2f|K?$P$NX zAk6R%Ei0I|uXz)*loaVWZEntnHWIME|mMO8N+I+0E3`K(uw*Krd=^V`6v%NkaK+JN9A190)N{N;=FK?DIZY5s(W~YoQFa zw_`s@?sinZdHMLER$X;Z`y?LAI>dcu_>2bfM^<1arE5|h#7@OP97(~@r+%dHn&Z$} zdk66)9MYsBNLV%hy(=wxE>Ey-Hl^zEsb2WF2#9 z>M#B*2VOB&=Q!W3`cVHOTZELmrq!~59NEZ1&EeB2;;(3i~Nyzu$0keD9!Fl zB^9uf(e&*{>Uu19fcri2nbJP9k|k(AC_=ln`RnJIKh3`B0<x^_aIP?sLGHX4v^BZ^o?e~g=@j^Shq`ZXUNis+|` z++KPb2>=nAA*xF=%OexrL)Sj001h@!sh?Y1arNLj;ypNyMqMpFj48G;jecKD-yoE! ztEO~gw4|UkUX(CtIG*ZDZC?>FxO<5JzxXMsAA7w|!Un06jy9J9vWVTq$p-^j{BZ}X z3JpEDS?39imttKNZ`YQJjBZKes?^R)xo!O)KLV=HgDqh==1UMVOf>nVYieId*-G}D z1}`w7mw+=Q_^0cw;|hlQhvb^iAx7A=QFokArtoV=Ue?GA=i9^i-5lh{g_jy%rmL&F zI&kvP%RfCaO{?WHqaIejrig8|fZsB?_9qH)3V}+ncDZwq90mH#7RF0>iP(wL)zj4c zwXtjK&7edN9H+;fiNZa+6m-vbJZDu=RwD}WabS!By*bxn$mO8rk{nr*x6MwIJ zSI23p{zjR!w3Q5?2V|Eag<~mj7rwI!?FZk`L*qRLia;|E7H;GiU0)lLYwu}VTC`R3 zUxf4CdmWp`j|Wjdzgr*#0v=VAkhkXXW7e$gYUtYM63l_cd=(s?i{j-ejt5E~A zVN@_YNdH&`l*w9sX5XvZGw08IKeIDqgYK2JJnp=#NX3TIfcJIfa0g{zVkwmfyBem9 zMZEZl=RGk62{=b0AAw?v=CxJb1W z-M2=LLWxa-&a|_%M`mO03=2@kI#@Q;J#?yC3K3TyGX*|o=MxSL!g0LCd8x7*Dy}ir z6QqpGfmMY8z;3F8(u1qZtt+tI8JK7^Jwx-7hSK#3OGSfZ&q?nhirZ8zc+THT z-ebZa%HZwARt4d&XQzewVvzSlzy=xg`|3Wx3J(0s%M=npwpK9{Aq$o5I_^t&eYY>hlIpk$6(JR&t#fLzvFD{vp7q`Q z`1YkcDX_td%07r_MC|n?=CZ+^$X+`uW-@HF0j+M!J3899NIOkNWXlF*NwzGKRWj*T zbzMORuWSS#@n>d6Jr@h%trNQ-j~AsP`fW~x^alZ@eKu^?D6p+$nj~hG%mmJ|7%9;k z^5#e1N6HAJnPZw?fWYiKRcd|7-nR*Tf3(9RyofKpL63g1evWc7n*6wnPpvDiJ%9k( zS_we*!G#pHZxk|bjh6S5;RJJWeUfze)(d}n0?)s$15v}H*xAjE7bOJ>q2UGIqy$93 z?P?MqFZ}W0USap>&G=9h$aljWOtPV0N6te__E`wX;_EgZA@_Q?c{p!>%hP=q;-ws| zxW+->H<11&El>aLvj?kLifiF?eG|g>!dyaQcf-uy5cf`WL+6O*6qw0~e!CHUQ;`E& z&mzG~X|EQz3En)y_kn~E8v~+ZWY^ZW?N}R4MQNX#6ZvdE>Itffr3I;QBL!6fH|#^p z{f<>P!;N;_NVczlfx94uV@$h+6TX$?HxI$`;_FSS4wALeQu!6`7)=sjwE1&Lqq!sb?f_P&59`Wvw;+kZiyc-j~*P^=|Euz7UFK3R%7ZczK{`aW=4>jJ! z#}EB~h5HxZ~(1t+h#+3;FFN9I}e@Fj+^7@?reGk4t#v|pw f_S2U<2qknMy=={VHRXcuV*+TY>8aK$+sFJbpD1~F literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/connect4.png b/src/qt/res/icons/connect4.png new file mode 100644 index 0000000000000000000000000000000000000000..f56d20cdf53f63b39843155947b3b770c7b79b64 GIT binary patch literal 12700 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"@Sy(Q!2`q&p9u-G z0U&Spe0t*CSFag=>$}K6NC46F^=XmmLWG0C5&OGk5rMkZ>x!vc21hc`!TP3%rE!JU zp=RPyg{-G(tO_}G7{~ih0bt%5X?Xg~PuWyn*mM6^tK)qU-#rMw;!q~I9fbkk?!!7J zj;#sTNwfrj3*IfO4ah?0j6Ia@vKET(Kh-u1*>aE3nl*reZ6}LUqWo<{cF+i_0gmUh z5$&vgX3m5Fb_H%ZTB2(N;e9BKNU8%)Gs!m6@!fKZ4M$AjgKFt9XIflqy`c}4%pyZz zd7*5otCTnLH-XIAWk5PY9^=i;qh6u-$TTK2%Y>tlqv#NAoH}qi^hVNU#mDNYvfM>u z52?XX{$`Q<*;a}%trF!0Jv83rtzXo67E(a`@q;DvK-Idz z7~YH%&w2vax*~tHb$%@suGsbls<+}qIJxm)ez%PI@NT&ybN)Ty#SajL*gQ9Pd8gsb zJJ7l9Rdg>Yt|W4v*x3>0d{!TL&DW1@#);pFu4;RY!4YuB1rCqB1;OWus;6i&l_%!Gk;P5%MA8brLy(CYkdcZqzcKyPo;6 zTy9Q1vc6uGiRjiEA?|({*yzPi`#xQXfv=+cRO`Ch1PKt@H?etbR&cxY>So+7{Kf|CWPeI(6hW%jqV7!_-{3fseTm(BU1;VGq zDIq(=XY5x(bW46cChp3aDXrneucaSD&DP5O9)IziXD{#8^zLT+^TMwM!ts7SU2p2K zhlvB23o{!_LFjPg0GQhEz~l-(|JrHF+iG2jDN1Kwef3xN7xqkH0*ZfEj+bO7gQcc{ zxAf$!&HhCgc}IvI1aF)#ZhRY;!mf$`dwsTJ7y3(KEf)Obsh!rAnz5q*Yfx^nVb;8* z)>FHkw=o_MR)bd4J(8$`f%b}71e0S>6M0-N!|tc*Kb}6=rkdqCZYU2(pQohHyz1wy zYTvib=7=P(_e%|mT9A+rLFe@eUW>0DdlVUZ|RjZ~g3c+Famkvn9W_sgJSl?%)Dc~@L8N5X1S1gN&n#$~$wOkzIx238Pu zI$@~j+70l?iKUPfs5?@{@AbY%(v5@zUDM#-9c&_oYQ2exLW>G4v)#hcZ-mcu(8|{1Q2c5y{y?_@*@MD}moD3Jf$e_kb*b|=f2tg(^`M1hPSMv% zc%RkNHcb|S9@NqGEnWPur1T2**Qj)!zoEzztvf0Nc*MQdIAqYV+Q1A_MofyRDPtn)%81+yp)*g&Ujk-fg1MEv6&+)dyxG4}AaojjAf0 zfwyviP0jGG1-9_trC^=6K;2|PL9~IDx=Yju0eH}a;Yua7@X(aFPAWV zUq1j`PzT`$3AQ8z%EUV4BaJjCN9gWG75@PbwJlFPDkm)d65n~NAUUsB_SAr32hVLA zihK}a;<0SMgrerG3$7^Q9po#bngDt=Ge|i2@9AZ;6l*s|2|`y>9l1%D1h{R!f^^Bh z#DL;_ofDf=1&ZkVtY$1-(j$)&<&5frAH&6BA!k5NC0bn@Li$i@F_O0@k@m7JiPK(R zUiB?nD2so$kx(sSPi9UQr;nHoxw*gph$@Vr2B{f>=WX18MbiB(wpaPe7C>w>ww*}g~}5|DIokCqKj zc&Pk{{B#^FGn6vMJaN8X%{QSJhA5&uM1U$>#tHzfW1YVO&zT|G;9#)Xe}i z!|K;>1^r3PqfFlRq7~!uj$@;%m6^X)wEh`Qv z2qPF}i=^*Nfc4fENo#D5F%7)kP)AE=m_$L@M`6n7l(f>Nd%^lne@{>Dx=G~hb?`R- zf?Jgm?NTOt_d@ZG_QwdngX6sMcIM1O zdN=o(d5zEU2679hmJo*foeL%p(Y|@uko#^qxu}TvFdg?`7%xWr@C*g#)g>}DGdCf7 zT zw?M!?gjv9%#ItvaJcU0ma`n$6WlrYS1DMz{-H@V{2S5XzlwgX7#Ks+y(&p-IOgj7> z$>w}^s;U{}9Wlj=#HprW%ee{f<&mJl3GQVm<66ojjO{_sm7-{8RtT3&Nm(P~*i~;w zq3I~}*fQ;@J#ix!t9O477}AS>t5aa6u}QuNsNO13AE$`|@BywxFE=mWU*X42!K8Jj zk8f|b%}O4PjjnmK&NSzi?Gy-c1uIDC3;Pfg{W!%VV0AUb`~yO9J!X`>iIV&GxE6yV zY+i3&sh25DiA4dGq^igl$1xEkjD`kB{}qgCqB6%rZ07{=x@OxDZ~UdY)-7!r&ku{Q z;$=9kTf7om33`|yciDz@44|(-uM)9yyoJ`}1A)ZJikW~& z<_x4R4$K{@+zYc}7zvAGs*B0_yjt?Jsl_DHV#^e9E(lmzAU=`E4Go}Nw?eCy!1~b3 zPWML}qu3ni;Opl%QW4@mPHcYe9qCiC!Wu#%?zFQcD|V27awB>Zv!sc=^2`7nvQ`Or zRctSA3PR1c4{g0u+=ZE~5&+c|3pLYBY^8!{PT0<&Ertyd!^|jB=@I@W=}D?;Nh9HA zD^gSuC$SRkmOT?S&VlqJv8P;0luQs_;(O$fbLxYDJ)Of3*FJKFNg>xi`lKpjsqE5%6Li{`ns2e%p=9`uAi+QyqUNq5mf&{_% zqA>B&=y5ucNzu*0@9_YjGWZ0o1TG=yxSuz04fN1J!G|FyuaT0~aDTe3%|ZTEK$J@$-Tw32l;xtIsCP1)7k9Z;R_R}};Ysepc!aTnyI zx)V;-GnE+bvxbz9KDxZaob1U(bhsfg(4L4#M5MO!Fu%wmCMejs^N9g++tLg$Y;Km- zIiZy<0Nz`+=wnQIB_qtNC_uafm);>NF<4b!iA)~h&LmDlgkJwWgh>d->InMNQLQ%w zr1i$m0901?fAR=^eMyjt4>D;G)bYd*Wf^nyg$ZI#VZxe95X=))t z7&3t{Bq-ik`+sKXe|OyfGvEI&%q84-^`lG&<%bFd?+E{=02t^R K>ojYT*KLBkySqCS*W&IJCpZ*}6nA%bc+lcjytunN#fq2WZo$9s-f>4xMso5a zXUkf1%{kYOQd5ydMIu51005}+a#9)q01)yO2ta^?d>DQ&xB9qq(UAQNsF@}?g51EF zDauL#xIbRuVv_feUl5(-^jrV{KEsbUaAKsm4FI43$V*9Rd9IyyjU|xye5V6v`AAvN zdC+l>jl5oU$%<&F;fa4jMJ-T7RcislC_!UA)gDe5KK(9QH+!b^{;*Ql7TPbU-5F=WTfMk1yd+#^4bQ~i7WAWsO%#UOAR*3ZD2=NyPhmFK< zrZSGGZ!~ak)Bv$;!Jwln#qTc|v10Eq@TR2w@;QBoBtX)2aDp8;g7DQ8?!D;pk%Ri( z6#Rm&Da#=;eR%Z>ViXhV7jWfu5{{TXK#AW+K=XjQ9UBfv-FYDNGm(1V;Y4|P29T-d z_TKWFkMMzB1~^FuXX2AMJ*T&M;dvL z4k+x0w=Lo42uc1Ss2sr@YTb3?-#w#j$vl-&yokSa;8O^rn6O7}J#+c`ue-#13>@rN zP-l|8_m9MZ7;C-#{kdOW+B{EHJWnwLpZn+E$a=r*`ec3lTl_ejw-fN`Z+QU8Kt6VW zHBGlM6ru-iI-8iiDR7?nMxm+assl{DldxEKMgf0QU6O3%OU# z=7;#eQzcT!0>hFY^nwow-XASeH=N00FG8uoiKI}U9$hB!Dw(&zo}Ym15t9IT&@$$V zy|@|lh%1z<*`65FF}nEtB`1t2Kp!J14}R@1t#4$c>hi)vq7@_7pHJ9bRQR0qVCX_Q z;pnQZ=$(XMT|^8=tf&p7ZLs4ESPUN_s&hpcCsgX?+=cPOb(9+!7Az3oL$@aW*FMBw=yW{3MC>|zGE;)3GG z=DV5ykv&-nSy~YpBP;|$edSgI7r%xtLqZDRVg)#w0fO){3j#rZQ9iecV_!lZd4ynQ zTZcYO>U2zSnm3JjD-^g#(1U*$wqri)XILRLpd(`vHq+6!U3KY(>;F5~i1+RF)}!z0 zWR*-ZAJ*xANy1G|&2jHdBI%i9)jK9J8CZl3K(?L@wq<*<7qUP`&0L!&>~sviGLYT2 zgf4S}DuL#Yx|+$-7b6Pb`0fiZ#a}8}<9uNv5DKcp?=Cy%JSC=g0w~CcV2=mcY;%hY zi@HHA?Bx%DWkIL#=0vaqYxq54P|SM?DnTKAGr>_Inl_5Emqr<^O|5@K!iSxqW+dU9 z4C!Z20P%J&T>A;(JwSZ~ag*w+Hn?9M<%NAWz)GB*p@$<*s41nUCImf>+>O|T;#GKxO^5>$fi9Lor@<2R?;5DK}hab_yGacog3@Gm! z;Qz!4igwi_pRl$51Y02t0ZXzD0{kJY81S;QWPuEVK}4~3HuyxKpPckf zFxx6%Z~WMpg1<1|)vPg3y$bTg8(z$AAvw5QKu6%;K}^z%fg4V-DVv58fQ&mGQ5!)) zR@85(@DhbMn6gbFScw%zMIr51x(zeDa|08~nb^%{I$Z&sNtW;Ji=zRJ<@Q95q9P8ANk~lQ-a(35g&?mtlJDZqu zaTZvefdetXUIG=ITIpNcdB(8VAyp5Le~rW#IHJ52HK|7?jFZVqi=cq$Q~A1SBzOP> z#t}^j<_0jKh?lDY3xGju&Ci01@2g;QTMi7{H$W6SD5rN3sFbiE1Q7gN4+0yO@rVfl z1G9QVK)2X|>OW8i^YC1376L-fx#1zPXM+xB;|Wzrw{3>Hmb!Efl_@&`pG*21f0hkO zH|^nBGRR0ucpDv{hlGM6PN5mlbN-I7n_c*i{D;DDPkvlJ@#5Gl@uFeTuE?U{kIymD z^yTWXMdU?DGA7R0u|22&Dz%dGEf{+We-VU05NZJ|WiZtO3&`7-ZBNXJ%nr~5sJy(n z^f8QJKzDLN$)!F7+5c-+Tt>7ZwBbCb5(~tGw^9EAEE*EkpDf(L3zcAq&UVU&Hp+G` zb%8n~Q6nvgQvomo$%PPl=&u6FVV}=00sZ8G@HP4urf%KSWk-o3?TF{IzWqIGfo*qg2$q( zkr|`nS}zO|i5PG3^0t^|BfQxxr!a{ORsiMoa&8C^)}1n9#QZfO2bKdifH+see_?#2 zbmW%*v|Oq+ipaXUO1!B+RqgRoJEDs%dpgNobdK` zfLOX-30Ej_wET5|3@Kcnn{`eu^If-5I7Aa!F6{6`$N7$DYk+D_C{^}eol zlfwIU8)WeU%|j4+D7Gz;0ShS4YCi|?^9Kc@YaOnO)VL84OzSVYg`x27?)B#UWzO$)a6XI5x*=oSfmFhjdLZH z0+s2qfAaXR73bfhKnbz@ZbHkeXKOAPGz~zl)gm})hId#l%I)=ddxcPxcdx7Vh9)+3{fEtRNr`-G@2tIchaA7Bok!_YI zYX$7!tdBbC5iYcNkWssdYA_Ob`ofPe8W8rC2QjHf-cmdc$!&^YQJV?AbXW|c(m3Nk zod)*PwGQwIE0FIR> zIIrO9$zNZ*A$Q8iLFv`p%O_jd8&si4pCk#kvH79s6T@5X%3E387G-yM|8+3FHyQ94 zVC4nCdVvlk8YCCoX0Lp40&KRPI{})41{dIN{c&u%ji9)Y5Dz8JJ`^zV&w+Z&rhh5{K*XUN1ayQ2B#0`-W#5*#~_pI1N> zJxXrd9fIU$^y6RU1i{FHRPq#mU;f*qeH0sRL*MgbgXe@K#Goib< zd&QMsSz%XynyQe4jYa`cm;Gmxam zy)%6Ms*^kEuV0M)`{dV!OkKw9Oy>G3-&23r^w2tQOn{P^~Y<`5|5I2bjtHRr)7 z%=^DR+2|{0#>(YI3RhjdPfm1rab&9=sS83>7Tgm>29i%jr?HzS8rPy$x-|iy@zuTER67XNwW4<}r?Yu?-sh<5zxw;Lzb$XQdyKRMd{)l+_g0uE zGr-D31eZH$laSVX)L+Uj|5M_0hAc?>@d?+KF_BzNX8U!Dy{ zqEYYmm?FdsP5Dd)vN%aAymAqyMS7qX%2N|QUtyJ%MJm_Rx%0uPRrcJFUtIIDPQFSx zFu7(Qw*y-2B^+R&M*i*iFW2T_(@Ly>q?+f=iH>AC>u;E>v)=WMqO8QcSHu^Y{VsgR zf>ZE{=NDcNogOjKzxOjC&H_)G4IPp2qa+})J-~c?kx|)DR|QNW0OX5^DN!xH0=r`f zz%8%hE0huQP?ZTWrGOo~eQ!(!2!5^PWV~@1B(BG{Pc&|N&bZ>Fx^p@Cj%gL2(khOb z)wybB4p8zk)>}oFPe_|&|0EGKtAOGEkYW2A}*K#yPp^+0X)vP3C zV^B<{`rI!q4OWtJIi4X`_8wr^2_RI;dN#>-Ev88Aqj(I-5m8T)c3Sx-F=mS8bEMko znKSr)83G4L}P} zvj9{M6WCQaID|0B-Kvp5>!6?#3+}9Jqv{+zCRF;SqS5WpdB{r3d+l>{T zmywneGMwU|^y5IhgvRvG$?UPQQHx$b`#@kX6bue2z)cFE20wP)Q@*eqJ}iCu zC9f0)M5?8MLUXWbr9l=vc{aVKjKG*NpNkRdULIw`w2o3@pJ98sqo;U@`ga> zhjT2I8CF-rN+Tx+j`rpAzw2X<0VCD1t8@yxL5t*y2DVSvw)Jorl7CqhUJK_lWIjLU zfA@D@ys3>W4r=%!92q0W3qS6mGr8R_B7rAmY4jcfb|nz6D`Pqzty2+y!~f=rrUy9C zU;x$#e3Q8|vcaT*+jft9E37ToaZvRp33~ZY^$V1%JGq8-n~`!S5J!T4IzX)pIcH0& z&~OY-UC1)e;?>iXW?q+-PU`rN^dfaS8_nOC9CE99z3^Cy97iKM(xJb0C171usR_}k z+D{Au7%E`cNbyq&5}e$U5PK?l~DvlJ0haxoaMgYo0!2wgU-h8t4E>591ALpKcm) z2DVGZB@J_R^RM;=)e$#C%|9jm1UkR!SgB$qYSt!T-d0$;q~?4NNy%4Msga@{qWy;< zKk8?f8TLbS#xFVj(kt@kw$kWn7!O5;yv|jB(kRjjNTOIj+Bl!q`Ws7+ixABS2fW$5 zd)V-b(VtXO`xJEX&U}NQRt7K;@DEqULBpMMV#efaw2rQ)4PsI&eD*e%L1N_3Uy~v_VD!FvAOdSO^SGxl1WjoPkO=gj1~s}aYn-w zYDh%UjA&-ll5wSPU=9ZQ#kAMdc&#PV7%}%e7 zhl?$9Yae2vj*gY}t%1JH?#Sk1qQF#*zgVkfpup4NEgSn{{T0K&s8s|#jG*WPDzBRc z(@b3Hz-T$c)Pgoq*36J_lp-*n;qO^0;u#tHjf&RNiVG992ugyWEWrVeidNV|B!5)= z_>5HUxLjC;eY}CxK$cNcthPPTh=KMZ$@WhdJ!saqMnWyCrtgBGDg2qH#V|s2=Hmc zp=XgWCvy73NKYa@1zl`6R7gbSdCpUMB}K?RcV;lpKJbn1Gl=NX0d$h|SA^b~W+a2@ zzTDJ{bMLV54$d|B<>6nn7lvo*1ijCKzwjf4nOpl%kZB7l zrPkyL&*{FE%K4hj6xSOtFMYJ;A~9Rl3^*MxFBZ`YMI3%8;%NKDuN5aH?&zYR2hOTm_F z3g5v%Mn=|^)5PeVo<_?P3y8O#$=g|Nw1&hmtxo!usfQ!F@&bq}tH741=^HhY@;o2m zgfZ4peQ$pxP1mRS5WW4b!M1qSVJXp}%!*s?wcas+s(lUpSOJ{CPuf=o`-7aUl!tmt{)4DJxxXb0UUH;P_jotA45#u=PRtaOcS;f;G{# z$I>>&YBkdoHBg-T$$p*{3l`gA6=KvXB^hkf(af(pvB{4AC=w1PT~@VYY8%})`#sFi zu40iih;0F|eRj)E!Cj<0tHr@saa1)Zl;Y<_2Ys=IE*GC0#eHTF1S&i~X+#IB_KOWF zPkG()lomRR_EaJa>|ACNK%2U|^QIwPwfa5to^Q6rM4*$Kd3h05RaLF5tn_-2i-K-m z;X4C*qOLp(9e$gsBu)I6hx^|*XiUk}x{3gYD0vG!9H()SmP$4s}J6q-7+g(qgo zd|9uI+gUMoiIJ+?WR7EOKTZgw3QpH``9ld@M<}@y?`=Fl=iysJ@}#}$BT^ht#7PZ< zt|h2vdzxhc77goKm9xoeTm93E3v(+gI?tVy_p!%EugRI2JwE?EJ^+AR%ztqFnu|=t zKQ{mU<-qd=%&DWJQ}^o*Gew?xZ9kowO+(78u_6a4hjJI$Uy3g&L>IMxv<;d|3yJ_n z)cQSV){%1(GZ3$Ulq#OI6p3LMpQ&KS?5U1dHBaQURS_&v;_5N2*tM%O>W|&X`4WhnkmZk&t5q|L-io0-9l` zCnh&HckA~%rtXKX3sWB-;_U2fU1Q^6NL9T0YKy2?Yi#P`(rCYsl*Or3E`pE5sRe=+ zL7^H5-^+^?VY#)%t7G}5XbTm(!Bjmy6ryF?5KVrkv{|oZl znLb&O_xqbjIwY^I_Z2(6@33l3dio;JFY3FxLe9>Us`+fBLAZwH=O^_U) zE<~M%*v{aCBeEkonf`p@8pVy_qbdGGg3G?y&GjijynBNQG-5GjoW>KT$Z47; zDd7H3tmGVK4>Lh7rnLggXEtsvyj;>dnMOuhGq2vVKWZ1N+BZku2KkPb%i^g(5rV6$ z=Rkq4i4{BL1c|2AKWk0>%%KAwGXkRe>V{vIy#92%5SxgAk+ytql*dt2_Fzt(Arthy z@Yxz@+44uW8s6L_+wAs>fxseccOSNJz&(^u$2#nsY_3pfklHGj#&+AMuM1Sl`aXvl zvfg1VHvq{6xu%qn zkw!Km^&xF5eLymL~xhg$u!#>~{#?+f`pOdPYP9OYjEnWDI};{$pwqtw={DOWqH~~Kf`J{rPdJ)ldV>1vxI+B&-YSfeXic4*TVZ-aRoGOn*l!ZeI=!yT|TcZ04gY`1Sr1k);q;{y36o zA7_j|+;#;?ul@NA`C5aG*wUMPh$zb-2Ni3oUQ;N4jLZrzNm4Yz#Kc8iTYY>0__=2U z#6Q^Pa^Q6Gn^oBJl0qOXo6pgV1MJ%4dHzSh_hyQ(HQ-&;|Kh zUI;$;^h5^x)zzLXb)9VoP^8P3kqRe_G0M>P45dGblPSwtot>bl+ZI}FG)Qst$ zUtpg&8|b{(C+f z-6|hcY2D-E^7cs6u%|n6Xy`;&SGRYm>WlN;vGxbp?+(S3^>QIX05LObOe%W4#c}W7 zRCcS+0h<5oascTB^MtN}(ZJJ_ATJ*uL^1?TO(`qUrKI9vKNKt-4_n2ZcFY&h-VUL8 z=l$E+D?m}KzZO0kRxrmLW)yPknZJ`{+Au86lnO6g>u;JjCy{!*xT&#X>~jKU2zHJ^HIKv<`5vX z5j?f^qI`OOZf0%{?YP-FbOK>l5b5(F38o&h!>w!PzB+Ex*YA%8T9x3YiF_A1$R20W z!ThPk(M%=b?@)~!`m$)O5Og z<<%aZySsZ`M~gwz$znAP@+#}auXRivutAhmqk-%6SzQdyTJbz9Jy6YgDeHNPcmC&U z3K(m8D|?3hHM_==s45g{WQHhCE`DX6hyVPVo9sWl#Y=y~^R`X=k<|N8VPPuMG1Ho-rhJ|Ta1s48P+bq#L&*E9|4 z7rbYkAL(~I<|g?6kxF$(jy`$gg9#hgF8>mj5S?HaP-_|RqMS2~?9%aFphep_GP9TdJ!Q@m5UN$1eG`|i{7 zlXh$6kRda6k={%}pDx$!sV1K}gB?v#FN6Ou$tU%vsg-n@+JC^{v4e%G)mS$2WGjpk z5xi4}oD!2hl%@bT?H@dF;uq0+)*q(bY!A3N%SSGmG+@@)wHWC^Ni#k z?_a4Z@AqdyAHYi{>>23ua8BFZ2jM)BYjSe3LO-r(jv*;)xBl0!un*nzA%gEu3Db>x zhS%1J+?$&@@|5a&S|VOUpy{EE_m;oiIwXwo1J!R+iC*f__!twWae4<3#3H8 z5UU>(-70ucCH^$o<*iNJg5XdE2}`>-+cA$&EX!*7ng@u)GTbS)qN{iv6a$g zC6GgOPyjZQ?pR_z2S|t!w|ZQV`Co>RgDfp!iHV7I_4NA0USIO-+B++yw7bwg^<8f0 zaX*z;R{(xU#Rk`_J77#_Ayi<^6dkV#W^e4sC;hx*!P4Al_e9Mkc_ka?F;8B|X}6Ha za%3@PMhtw68(q_7n?j>! ztfg0nJ4iYKg5c!#V1VAG_t6os-(0;o8@=+8s#E_)v3fM(v?lS%esv$L*rH zTLm>IQp)kZAzfV}!rr$C0oU{a!D;(xiI4Y(B;)6Dl%MDtY34@0>_*BAh9Co#IFDi!z#5C(VG)ADSC%Skk@o#(Z|_7G z*DVfWyeQNpae*dvo^h!N!sP0rJ3O56a%(Q*%FrC*&)#fYq?&gzSDdsjvR#KeIXPL` zTN|@IK#yMf0bf7S18{y+8IJFAI>)vtB1+@>wJNXEp&UE zJXRF30=9ll@Rj z!^UY3D|13E@HwFm^J`+{#Mt8VYTXC|+?%<1$?NbRIOt{_lOH>h5&1_3p;M;gLp7QeNsh zKya&>LquV!44cr+sEf}SeaPs>U6OU;yzEsU$Z6t($^H9BC+h#F-#C%|Kr>iAtb-;u zxXiM8P7Y=2Q}ds{_g3lG`h_mgHkhe}er%;{BF((3qEvu$M(Sh)hHZO!x;fh8JsGEZ z#!4;h#bu6NES%JcF(XD+u;lFwKiZ2TD%96`J%=ASM*KS^q-P%UoHQppocMnP`c41y z6|@xb&Cl&-oY=zcIMt$=FMm5dWwEldc5-k>TgJl^T-xn;_^>8dS64ObQKQPWO40)J zaGDN}ntEqr6#X$viII{(Vh_o1Jm^1TVO zjff*c;S*6r50iAW1p#7}25K_j)->!IPH{4K%GPc9ti9E+0wY61fiGPb9p5p$cWskxT+DT3Z^-@CGJ;LFeowp?!) zb+<}&I$|YT_Ci0`95V@M=ze#I{M8$YTfM#41^BD}$5&BXJFK!s9n+MbXs7=XS=Z38 z_lt>Nnk)PV$!u$DQ|$?#w4KshZ-&UT4|$V9p8z5JK>BK2%=t#>)gq4;K&DPW(hIVH z1ZU7T2kV(VRNHscucplECTmnj-gDuCiYy+1vYG5ajS&y#Y=Mz^cd3S;?nARh4lfq%wKA@kC&?cC+oMm z;|y9Hc0T0N_x*9}HjQuVy8{vE;L9E8?&otMdwYA3+c(sSi_P7;6F$#hO`-cO7qc|d zX0nF~H}R6q&!~*D-ILiKu}OM{5wTO{TPiO;79*OSwBB~f-K4tpIE6X}6(C5up5!oc|XHs7sAUGh%YrEJMwvfho7In7ozUSBJM23-XCYK zj+dArE=`2Gwb7Ss+Wy&8>sFtiR8jI%8zbqK$aA=uAwy*RqkZE-0a9Da0p zFVqkiwp;W5>PWqE@d=4y=ACn5#R24dVpC057-Fo{0T>Aasu!D9?op32bZtO$LZ5#s zSn0@RnZWQGpBNXwgw{4PbvDIpaoFn574rBH;2#7vgWY6!CU_hXy5{HZo(DOEDLz0GKW=frtj-p?$> zy({3NoFiv-(}{=h)Zv1n^6JPIIs+b7sVql4{U9Z8<=omVI$o%Ww9{&9`N-*f~cGB{kQutd?MfB7wa6ci0X0;LKWD7;CuIf$Z3PljdEME;lq9EYi zcpgbO4jkb@LP7%a@WB5t3RYL;cYi>N%-{_^`{nVFBE+C9B`{Gn2&TPT?4FL?uF6e5 z4SX-oOxj0S2zCkA!MR|R! z%FND|(00@G$(KZ8A$tF?J6|4MKKRWC(Tu@ouWRfIY5vAxOE<*!?0Lo#(B-Jchx5XZnSdco{x+r9$?< zzi+^G)J8HW?3Rq}shT2zMbU-{gy}`$e1jtmta72Evjj{?mV&X`s5MnYF{WWF{ky^c zZRO|ZtL7hZcV&@_`bMOsS+cORn?pFHon4i#fx*a=_d|VicX-!^$dC#BuH=rUK%mBb z$B-0lky?Ke_me{RL}_2K&)$*C3>11-rWWm}*SEGoopBk-ouxCIR{a+VLw$Hm&n9O~H8PTn4#Zld>!$B9yBFp)~*E z zbbSwBulCZxL^bnf-5P84y;GRK=m>ZxbJ*$*f$&|%*Y24g@92QND*}i$JiJh*di8hA z972GQAiWDP_=@@-{oc9GBk(oEPl9XgD-WgvJ0o2`$-X{YaFH{0T(6pL*pQAdPG(;D{ zI&7Ze_?Ga#m&rhC<9F{R(OD z1=b$gBFMYlA9n9r{i2?1$H5o2Cx~{XOfsrDVjB#StAJ|X2}~_O9=I{GE#jHD4$S4n z!c`dwAyKdfvEfTF!mKu$6&XuKq#%@{6$CWaBp|RQsu-g(9wv))4nb3h6EKhH^7evh%+@t{JkHbvuv)!ls+AO=&*wX! zsBm{(oul;goTxCDMN>NV8;wWu@fFrs1hfb-G$TAhbF-|ud2bc?m#}RA&_IpkA%I~; zrZ1)(m2oTpVY+mmJFO&n(S_P8B(WRDbcRpb;i{1K?!b!U1IJ#?Sv*UkA7T3j6ufAtmA1uCDb=`678r z`R5?5vYot)oK<)a6>~ab_>X@|i=}b=!58MN8pimT`io z`PB6Ec7Iq5zlQ_b!F29Oe?QcRP2S;gvAen9)9Uelb9XSZ$NAv{b#>)F-F%qh5WHF- z>sfX*j@c>ByGx{5Q@83P*}od-+-`ClOB!qu_Wssx8uuom(4kJ^`>R=z%HGoZkB8_V zzLg(!-fV+Hs|ERsjd60dSXXqssJe1ysO<>vEX``PMe&2QqQ&ykiwkzs4-C<#-}IqK z&S2ys85qPfm5f$j!B2O@;M}c8(hrgTp>1o7I>I4@skr<6Fr<{nGt!>%dNvb1`a_PM!%?zk;%+%$Zlq~k482f4@g1Sq59(&xpET@7GmT&d|}&ILH#}A=n8i zQXoiftLBRi?a`}#Sk{n^h~?jmZx2DYpHnt}uIOXuBcHeFupM-#wNUKO8k#dDHhCO_O~wMMe-VIi`&ArZzyr?oXd&7G-Diysqs7Ez96f|+8h7DB%zKr?d(Eeu!h0d=_k{DY zu^&$QRmTNKRxBr(suKs?YC|iwf{+4hCFnj8*uTOfqVP?m<{Pp$Kcfp4*9A*$^KXoqS>jBXx8H6qtNsX-4xg7R|cZ;TGWmz3Q%)_jo zN=0+uwbPAGrgo>5*R!NQ4_M$k^pdlD9%kaHDMA!GdR+Murm!qjLxT-dKHs*V&P<-{ z@E0w)ZNB(Ras#9GiXJIbBddq%M;M|((MTX7BGuzuj{eLX_+E8Luq(UZy6!1hl4I?8 z4d(nf+_1E?lxH6@erI;-#rK&jklGaHw~c#eUzKH(#$cR%wSGP#&7GL_=~yG(uT*s=jux9;webO z`gNG>3Hb_MBCt#+Xh0rxu*SK>xK`>2gmJ_K@c za?>(@Rz#B0n@af_Hp7-ORL|Pgy#Kz@CuwmJm z%3ik7Lqkd9D_tbk@P@8Y>Ymi7&J1;;84NByY}}piM{WFSSdwlwn&=Mb;OcU zTA<e14YnsnP&8i9oupR1q8uDQ<7E0{F%O<4QfYv7Ec}raRpV{Ubu}xen0jot^IouM%%uGgHqbv7`--Fe8 zkkrrB1yZ?h+*I|uv7h#3S%$R)lC+4iddwrLeTl^sT2nUE4Z>vWTo?9tF?CLUuPBNB zhxa+h2NXP0PZf4J!YXbb6-jd&L9j2!6IH;)3XJFS_i7yf#(E7m*E0M5@bDfe_O>TB ze16UbIU#iQ_UZ%ae&fVQ{#BMXwyNEd5`+E!X8{1L{J7;RD6VgtMQ==~4LBR)@lbk% zvIF)^`Cr!HVYTB(e$cGaVY3b|wlNIrm0ZVvtHSL!Tr0tAIDv~iB_y?C{h1UbBO^hk zF~8a19$|=4N&G_^tM9vk@B6NNLzmL?^LJC*HqtJotLZ$d6+&`&9oru~{-hIItUW^= z`yLH;n#tCS+bDnX&=uW?iQD#AOG3F|G-ndMuAfz+(Tq327}>#{>be>o&sYQ18B


        a`4&RDQ9;YvQ`gqdSxB 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 literal 37875 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%0D3fkq3fRFB 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 YID6#(|6{-|ely%(w?Dnt{m^6oKM#d~hyVZp delta 51104 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�Lqy8V}F_rscKTsn|j~6)YGlYwN40 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 literal 18688 zcmd3OgL7nGv~@DEZFg*YVtZoSwr$&**tTs?>|}z8ZRhLXtNQBw3$OaNtE=uk=j^rD zUVEL6{3S1e0E-I?0s?{{B`K-|0s<-syn{eP0zVlXuNwtEfjTQm2!qtl;-3QFKpM$N zh=R=gcS|v$g9Cm7;~=T&3oV2W8<=iH{QfDiNIqzZ!ZxA zC$a7<3+Le>rt?PwZMCSO&@Ym3UY3zhP`F|UQs~gO*C0QS)V9C>VIE24-q2?0TRcdnTmj4 z6!kO07tQU-eN25{>K}6^z5s5qzR&azg^whj zsp=&QZ^O26NsSIz`}(bwGf@%MAv#7`X1(LZcvbMoK<^urKLr&Ejo zfhC!3{w9BVz(!*FN4BtEv0jP!*x#TsanZ9NBQbB{oloU>kT$5v=#&q_^dxln+pR|n$r|hs;K`tNL7f?o{`pk<$Bkz=Wjqu*2gX7! z@$-q7j&W}Ox`9~060x5&)F*)yuYXC#@R?^iQg^w9l?E_U(t zFdc)ZFM|`g^s5p4Q1U+hN@6zjf(DxOE33%vXQu7Xv8#KvAhH>k;&G-3c-s(TNwv>j zpT#AKfHU34VX7VPf@RdpMg&uMw0cuQyF@naI0MXG*tTy9oWD|cb{8Xb@hv}T*_PE? zs}$=yB7b$9Hm?%XT#pgjKaX6?E7&Qz$Npa58k?MJB;bI#(IheO4@`pFk)_+KeZwqR z!wzaU^WOKY5YwlyH9E@DI+J*hKqX5yNW(WSOxB$(L)Axx;ln#JkQpV1Fi%$#+6Ebh zQY*j;%v6n9`JpOAc=yAMqrxN7FZ-gtt6+^&i`Cv0tCG5w$7cyJLu{j>hzYU%t}}~8 zRO9>_Qys6FiVpoXYSIf^sc-EqGQAInn#j`R_d|)=2UQ;RuQOLd!PUPl39iRMOlfp5 zVk2kz2Y=%SfUv)iM#-<@Su%#kT({L`0e93@H2qPSC5CagmZiLbl2evL6O49;{(Di1 zNkIFvSm=cyk9;9NYN6mz5h&yksEvcn-91X=oT-uH%oDGYNo_HsDrDN6AmBSa5wK3B zWL5blt^%!Tl}u+3U|2UTOIA|QyAb8A`fP|Ee%#{})#hguqxRk(8#Px4x71Q1MNFE{ ziFFdJPj)j2rrwvXyquM#e={r+%7k`)W+9hGyTudJe5*YXqVc6bVLyqe);*~<9uZ#K za%#QXEoN}9O;nRvZjLKk;v~=s>c@^1=i=ud_4qmPu?PC>-nM4PTi4Sl+XlmPWtxnV z+!303Fuqo1_mYz4LK28W2K!4Vby(>SiI6%v|8DJ#u$JTr5=~}Z^=Rc?K8h#m0V+f? z50v}d1iM_TmIVOD0SQb=LDY9dbvHq5!(xckF`fKXgKE7?r=6^s>Ew{TJ&)IPQ#Hcf zK0T#%jc{C^L;2Kx`A!lU7piV$$Gjs$Qx(6$D(6WYgy`qhLcjnrW4!+U%x0Sg1J=va z=Cy;TXXK+-O@y*Khqi?{AhNbjhEAlH1_l|*Q3W0I5s6}D7c}}M@ei!7SXXcglL}~Y z4s&CWzDATws7^0EPUIw`jw2Nw{rvYQ18!*wXfjA13P==Og$^H?ykw2G6n(hhutDaY zikSX6ODk6cT5m<)RTe<}X1~|YeV($%HkA4j(=kh-keHNIj1da?lDcH=3AI$Z@Q95|1(kZWxmkHq^7zc2cF)U zplrd3jrTCui?14WtvqvVGZ_Fhc|SEp29^2oGq82O1!>+b-nQXK16`a0TDXm$nBs0> zWEOzMQ0`**x9=HBK4!lDq?;}R(A~gdeqocQTaM!!H zi>`W|MXSWTn5su{N0!!xBpJ<$+=w-d;1OHbNHc26qmGltQqz-N=druWt7vi_%P zLU_ceS?MQEbazFHv*1pQ3QyjP&W&f>V1s1IxOfD9aUk>t>4S*`=}12A*nWvd63p;$ z*z|ywYMW(pmtLzdRrzV*DMEE9YIDYdia2?}vL$x%SA$frlz7E{q4DOQqpX@ue?}}g zAFlU+>~m|7eiN2~^VPcBDg7^0{}&1Wkae3C^+ezBSXt&vbCQxe*hVtehQYuU=|cO( zGsh$2R78-^GFNoTLwyA0Pal4zVk;ID%W66Q#*K zWUPjSt1!^+v}rw6bVWG1h>n5-a@pwBe-yD7S-i7o6KU3&S<+53c<6$bhOHZ8$FnRd zrKy)F%nS3KZtMGpjOMQrfB<0=m;@i-gm!z>(U!7ew6BEF(JsptAkgT z5Fr)|Y}P^9p>T3075t@WefQ}ctb)~67`GR@Uo1lykUwZvj*i)pvh7BCJDx9A1ZMeO zgzNz=P09K@cqw1a2t$6$!t#S+y<&9H6sKMfdw3y!T$4L;bq-@Q4qFq6$%_`=plhk3 z($K_ZMzGGBL()YPs|mMNSB)Aqjk;Cr__0(Kie#9t8>DaK`&az)M_A6bHVrz=lXmMm z#tfHL*rlw#*ZCEac4?>N6-k(&)Faz4oYv2b-wTv4;r}vKO#Y?XHZ*+k7m|1%X)v-;@u%m2t>GcTm)kxXw9Z6no?f4q;{OFgA^yVZ~tzZ1?=F#FUTz8;DQok?HJ zDU^K|JQgKouu)oli>-erq5QpX)W2hCmgP2Co>kF2ho{W^mH#v*q%I3KhGb-wDk>It zxJi^x10z2g1zUFzw?Wt@MUjWSZOrDfUt8cnt2(jzO_+b%`c%({c}_j8-?=$_lG z2`6l*0I)J(5HK`^W7Y(QPe^FQlKJ=I0{(mkcf0i-;RL#qMvT>&ozY=e{o8Lj`-nK3 z?3UZ4c|vYz8x2Vy)#v5Ndp$>f&xUa`lK4K?6ipWO?*U~&OE2K=N#U%|HESwxX|Oj? zRutjsxnl-__EJ%Q+yoZdiY_WRWh%i*E|ObPiy9#NI)vy7DQpSCvT@53$bov$3%b_! zK&K|NwY|M}cqodJFHHammXniX06e*oXsq_$-hswRd%4B@@5ftNaI2{-5k$hYEh70$&FLqo=18(qJRuN|sKa z4LK|o_94@AvP)y7i%DejN~T(<8-lsqerH=~vmEgD&!z-5Hk`?|LY}1cWJ56^dEH>= zXh~-VzFn_QU3lr!YgLA1|9X-L4$Uv90wyrBzk*yLF9NwG6s-ZDa8K zCeelu7wPuj<-63XLFeEv05x9=+9~S0>t4o(@;J+4JPicaP5a(~k1NF7dB=0IYyzAn zW$b_AWL0$wNzpS#KREcqD{KBu@HpU+7oTug(osij4Tr00{d-NraX|gslq&e|!3b63 zoNQsk-ZYqn8w@0ES&SWt7SA@D{U?-2i+A`Q45(P5gMgu71;)=L7$-cji;mU7oIQsC zU|ydw3y#BCoB#*IHTX$r$dSF=?81`^jBx|D4d3PHe?PWchdfwDU06mOxWG{iJ9LbC z^o-eX4Y~0DdjWjp!spKhpE__$-52rsgz^uVFo~)o$;(OvJuSGKOvNxSqx}Get3dS>{KpRxS%OlnxViaoOXEGhoD%rbhS>L*OgKwUk82P42#%j`C|+|CQu)l9*C24g&boI^)M-oIu%(hWOh$hUz#4caAMQx zg6F!-4#NN-K!o&->dNl)xIbdo>-Eu$6cu+NgN0Uw`UZ`rUcJglB}Y_X}5IY^=Srb98x`e3o&x zLD#-#BBaIvN===t>g9+wv7+m2)mz0sFakd>>TLSTq{T(!TT2%$0mT6IZ!&1U>nGFB zl^mVDx5$Gr^-}l-B7&k^D=#atS4f4N^%{cB%8rzHA@a)ca_{fy#_Iw3aJ)ar5)u+G zBaD85$;rvM>zCR6FBQQNOoZ`{US3h@jQab_Rm#(dW?X$-W0x~>?1~AUx~?f4&Qs#2 zwjq*tn<*);@OO%cJYH9|TLvxNV+4sIe-oJCNY$9~dsFfrT|IPbI_J5PwUCsM`&HJ96yY>Ir^w-`j-tv*w+NT8N z_jN31E$zg2XX3aB0@GwQ)Tc*}Z6JFfw&I;)^K5X6GMn$HT%|5xXNDUz`7!OqA@sYO zv|}9}Y7uN2(VUB$yFwW=4g1I5ZO7j7Gv@j;hMb?isD`!~aC(~7Nv^K!9Npc+H#fKY zx@zAo|Gkh=S`V+IXS$F9tAbLJ;?bv(911AQs@ue1oOhErWgF-u@@*cW1?)h!0dX_d z#yvF(h2Q~@Oqs?;wygdKSfN znrlsN3UgV@xs(*U(QVFItDLKIV@R+;3$D?rD!Tr?kucvZpJg; zwEK^3KC(jvgAx)F)@#r)5ysZ9+coIbou6!)uvEP1EaAOSvkhFDfjxAZSGXXBi{KLx z>>a(~>W=MA2F$VkFll>JR!>0##%)Bvy8^n}GC!tF!}bq{LIbHBLU&~pGH+|Tap4#1&)^@*#hqIJ;? z-*eFTzWVY*JVFF9?z(iFo$by(zU-uri;Lr@nV5K{j30377~a0Ljpa|T!oZA%03Nlq zb@LSjy#f%vi--_nO(KzG{ggpC|6l@+bO6u45*qN_N$nNQ09qK*%8h7f6Pu^ero+50 zR=SHsq;P|@J3+ZO$Ig_aIW<|iGd20dnbZwD}g+g#0lz8jn! zCq;u3Bks+97`zmN4nC9co7G<5?(G$b=R7|@xA*mpeS9IFKVlN_xNL48tehkC>#`To zN0<8HYTjIZuJBP8ezO(zll7Yy_cNJM9J;d#t`(x;t)g|Mt7?#rKc>+ysvfEpVH_+> zmx8t-JI=q#%gf(fZS%^OEn4y4@Fwp5K8g2QAO+B2!fidhb2Bh7+}zv*#PQm!;2luK z_9Ba#VKoqT^ZxufJU{O!C+0uy&Dhr#&34_O!{F%b9bFYIQ_X2ztxij)UiF53RivOM zH~W$Ca=Wf<;0XWYyrncHIxrc8NFm@6H_pqma&*5GqchCXVGUzybS@>tv`ZDn5Vzqx zB(g!z2p~IZobx;9@8JVFkSaEYW4j+A2aEXYY2NqTySDDv9pkqWfp;HrexrR+Q#mMBG1(YjL zu(5ypgX!MnpwFRMnR#n6w*Q>6kfJLpego z06sI+`Nf8)38^)}$+v)`R*nqxN{0CDOMvfzVbk!zPQ$I!@ID+397L_6?rKXy-~;i1 z#zn?m{74NWTw{V8;_%U@yC z7)Ug6$HvCu#r^*|+qG#|b7t$BwCNZ%t^a*{!!ZYA$?FC3pI!QFJ&D>Dh)DKH{eloFq$pDM?2Z_-&!JGt9t2Gfld>TM8 z%M*pV&ZxJg6gJu#qyQe+v>9u+*C(#MUf-9AqP}Nu?fHL;bZSawYj=)0Z}(tt4>WrQ za{n%<&|@_(Vr^As>nEh>e^3P!7lu}_DoovU!+}c!_yeE&8BPrb%r&>|IPg_GB2%aH zvJ^v=Xr_@5SE+?<=jKZO=u6*T66IY`4WDq2+TYaXE$=GAPa%_=rOl@a?h7m<#_ALf zXZ}(Fb1R_l-*6n_OOiHic*UzwLNvC~S8J1WB$MFJ`f%8PKp6G9`+)%bUq+lTxsxiT znl#s7NN?}x7+7A$sI{*JM$mwE59R{>sf)O0$%hC{E5p1~!!eJSV~qaCJ}t1|ydv)d zBAK^$^!fRJOF>6}7dXzHm`qEElf(~=s;*|nvb2NlPQ3nn;jC-V;>ifiBf?~Ub`K** z1TqL}U98R9#A;b=Qx%eECIBE;)2`1NGQCEg+z5-Xc@sk3ajXv8>JdxQ(L3BIVJ3{d z-9Lf8-syEk7$oAoqpbm8VPSFcz6StNG_C*vl|;9G6CJigPqHbfu~WazRbXfjnNdM+ z|KC*W59QWcI?U*-puF6?gX-P;g5D^WXxj{Fak*LEk&UG(n%>C4rK_H^3(^M}R*oGP z9b2=>x%yzk4(0Vzzv@tdE;o|1E(zNGQ1^9FR0Fzw5Zhb;j5>xcj)^LF4BdGR$N{Ho zORN)*(~tV|Q}27o{|0t%Z;#T^l6oWrIIX}~&&l=eUtVTUn@WvV&wjFeM|V8~D*30Q zf<{$3{wbr$Fo;M<%(?QkuQjXITe~}k4O;tmcc@56NWdBC3K})rCWAa`)en_zrdLBq zF%s@k40YxWLkh)HK!0s`gmIatSdF|kcs==Yj^{=-S<U5W%sh;23w%d(pz~xSj>_Wy;;&?~s&?`fB^Mm+VBnpNP-*+($@A zYj&LSH|eo^ZtNiEUnGku07@H|VTP(&6L?47k;hRMomwS;+msin#BbkD+6xZsQmS7F zlyvLzz7AySWS|tF{BEdO>pQK+aDIuLLk;;g9Fr85sFY25)}+o;xn^!2E)nWwbwJMW zrdSI2z3~2DI=FP-U51X=PjMeQHa)Sh`Q{94wS2?&h6KVRPh zK_fi;mBDt)E)@S)t$CL^xrUXA?cVv9;axJPQ$>d*G#Q`{rO-1c6q{S``MQ6MeC(Rw{&K$3zc{?)~Sn?>Vj* zl@wdQQA7Xk=W5^3&xAK&Oewr<2SlZRr<_5J+O`ouGtoTCR zsr>^dCf7S1dU40BR^}=Z;o9$n)T@uhTub>MAIwzsza4oiLPsBo(>&{9c7^ z%Wf&Tq2^7y51I*AeBO&h@Z>pMSB@xTQY|CKp_?kyVw$BGH^x|zvK+!xae=H&$5_Ag zSI7(8F=)h4TEl0gT^PLwq`car{(Ux1D*ujpob$+|SYgX6y?33N-T7(5hX40rnHHaj z=sTYSOU4CQd$2G(?R8x<_4TRaO;JS{R0jsH9GG;4qd;;cp}QO&PNdSPJE`cVexE%m zZzeU*JesRaJFsW~lPXr1ZE9(=6x7&4~@ECS6&HwiT$T+AD zl*#(D{`l~Nskc`1QxQ*$)wAgljFJ*uY?T&e{vC7sbjjQ8^$5Fo`jDKsYt}RXT-4!B ztU$@qXwjC|G9fN91yj1@G}CpdAgvniQvNl9dE_@0eqDqOh8E8Jx@zGc29 zX@|)DNkn~ie{3a}-`bm)HcV5_aP4lm@7;WSP1PmH`(YaPlx^QP^0=&OZ}R845hXg> zXU-+6okSFidmYDeJWU|Zs>++euY5cn9EFo!t}TSEBoLz_vGbNKiGk3cN#!nRWTL6nvzq4Tv94{-`ZA6Pp`pc=Hyi9BX! zCdahMIJ**}ykXKJ)jZ|c?{p7zxnBdzDgJeH>bP+rhidO^zaSOZCZ!w-b(=^%Pv4-c zW5-R1FD>WR%qCrG$@`q+;o3#VdYve*>(xcu8K+8?8y6|AS_;HcTfQBCVW0dh=jw9- z-|%8%M>CF*QO?O{%C}NVrH8n%e(H#rHGn6SZ1HW$k+cxOF~JCPQvv;_i<)|`tJKnT zRhW)fD9dtv|IFfNWm8X{)g+i;>_;sFW5Z>upQU%lO{#XJti7gGK_jeY5j9G0!_=z_ z&r~%B;rRi*Hq3hKfJ3qD;2YZ=DX3=Cfq6R$QY*sg61+~4AR{!0?qoDy1r^&svRyoz zs;t5_M6|&2F0;JsAt{pKl&ge<->syZ&mv(_&D+tH`c-F4i#9_=RKg&rON=p zeeYukr<4CqS$;JFuN;R?N89AkSV`ZhP|v@*83Ns8(S`V?Dv|;9l6-$wu~1P_)p2^r zDjh1b1w5&H)7_j>*+faf2H#k^`2vR=J#pxav!SV}P5@5aygM{K;?L!CX%ze5CR4-= zS{@Q)9?@fDDPmZ*EHO!%HjzN9>K~`R>u;cz_FqS^&3?Bc)|LnlNI2Ei)mtVq-H*Ht z+#M5PX&wmCZQ+PEs_-%e$+afY0%8O}-Xk(gvPNh^il_>eWzN|fsyGL0u#`*VyHc{2 z+&4#E*VnWnpE0N3I?;to5Pvo8G88uB{E%T;1=lZheOxk{p|tr$+edsvAp;Z%h>8SV zKgY|(Md5oTjl8klh9w3!tbS(xJ^UwwPe9;{s!dz*uB)SSfti$U1fC3tGmr)GgNoO< z5mmAYZ*+2a)kn@MUyeZ^b^u>i>Pa^+p`koVkvSY!Bc=5@d1J(JtD=tF5BJf#q%($Q z<@Zeq6{5~bbjXe4Cth_c4xr`cVUVMCaYw&D*w4&pa*ztx&4!04X^~0U#<})W7Dp_a zhc2U}^zd{l9KSZk&AKZ6X?OGW>8+!$8_bK-Fus07tP}-KZ)rQERn_QrUIUuGUB?Pl ziP7Zk$;~||?`)hW52+(zb7|60_GU>pb;v??j965}X|^K2kfb)lqs;McWMVQ?>X`^# z-&gbQHSXy_-K4A?ikXA}n&-mlvTt4pIw=hxDW|*AmRHV|;7NSqNWw;t;Nsy?Qr&I* zelF^^H=90o?)LvCJU%uL*d`sAhk)EfE@NmvvohL}qC)LJhJKBgn?mM3#s;Y9cL~=! zz0teOi~lkejONLtlI_yvjb`&ASNaSyaX%NvosCaSjiXE*5Iu9p#N#DCnqP#qJAT?4?qgaxyl*l z!?ueoHcum=?$(cY2{6i**J6bL---CMY=EPisEelcMs2H4E>TegJxZn+^6o`_;@GTN z+zz8rX!7*Mf{#rwo*m(WT6xOerIHrh0*8M*l;2bF(mM<8mquy0FQX86xxHM{v60gV zBUze71#QTZxnzk%tL0Az==89ZMq`-D57JIoNGY^eDdTA2T)BKqr zzn$qh_l1b~L1lQ+slmn};;)9HN#j&3!L}hP9w0usVN7lpBlCVD>L#54-|!Y5D^8m8 z`}aOD*$aH16j?J*{X-?<_v!!q?6Ii%W#(qPKX6!)cpsrfL2?xGX^^FXWjO^#L7>uV zbceGx9-B+`q>fL(rg7WUwzt2kF`4f?I0x-4V~g;*xDN}3Xm>m&Io`bHuGIgEIsOB zp@}GhSFj_UiVb^gr12!87?8((4FmRX1`W$dEtRro%;pH)lfgB=KCms*#;-T+`?gDZ zt*)>)@L92c8|;Num$Os~W7a5KiBcHsw%FiRL_VRQLY;f|3{+QVvL^tgFJ}Xk zJgHNaYL1Z#xE2M7saIF7&C90*nQ0=@zOjY92@Vf4B^0)b+{d`+zzJ)=5M3s_&*W)AY>byQ8#D_%SrtX8b(rCNV!tCSR0 zNs&QU@{_u}b1)nC-3z(6EAsfOj~b89YNG8?fcYqi7G4@UaZ)K+WP*v3=w4WWI-pfm z_4kVyUY9!q$I!7zQ3(u8P`wAM$6mktE2%IdrN9?76)^{>uZus7eZq)bEHZnyVeqte z@%qEY3z&@#4S_K*&H_s$;s=RFdV8+{Z~b9|g$`s|0vJ1OLne9FvifO8*> zQbLgQe7SuDrlO&Vn}J1+&KN2lecZuUZ|QGC2?=@^6UZQN9kGIzv$H6|>LOK)d}jlj zk&STvH*4uCWQ|Rh z1}V>f{$g@dVKx;fB}oRRywR%Gna}Uo8LxJw9@Ht?_`BwCG)9;x6kV&gGt-s7cGw%u zQKZs)`6&txqVj)77-+X<9^66nwXAgSK@zW6` zkgRFYr4QET<_tHTzp^@42KpkTiW{;r%an+PhI~nt_ryzw!>J`W8nmf0>ZR3<6?&$# zX-5C)^zlQrm!>ZYug;y6jM8nN5LGLNe?~d~_ZVvtF)r7Bp;K*4B(h@+7K;ODHAG9M98n(QDg7XA?!|b*&@Ei(4p{5*kdmY?a01dfy<9 zX6WvNnv;AnS;`3hFcILkFEMOx5k`zPE67D+x%pysC{?^c33U4bO*BlIvMPs4g#oqa ze_RQ|h77lVJRjCZd@;Mby8|Nu%FG927z$6*O)u;7ZyBqk=qG1Dw~rc zub4EM6hF|RH#1|cxDf_(nN;)MONrAXzVHz%$EP{#P(CRkpiP?wN9_#SgB>P|D`$1U zU3H@PRqYGz_F3o@YPI=J0^nmNk~4VTdLOp2kI9k-w!c`Z{>TYLx@3r2ktrWIX~|J8 zp1llCpL8NdkNl`whCP48&7Q$MUxozEeOXx<7Z;ZYCJg3K@Uj&~&g2a85)QHlPVK2O z$-320_?aImTaOk9v8lvH))&`~fRLJYb9Ax_u?$1j?dCt5)x0%-YXCb()vs=9>+=F- z$f`zxdD-^_ZK~?N41>;f`#3m$C_GBSjw-PpfrJUGA-S_RXNqrfP(LE}1kKI;RBcZ- zHF0bMDwn=Xx6N#HoxfLCZpX9JK+!w+bO4kB_Z7hKD}!H`O;O zw+n!2wYIJfh|LgJjCzaxrCSp2s~&lJkX_VESz?~-Vh04%%LHYJo65K1Y}&W7mDExx zYsH4>SxQhr{4G(m)=CD8&L>JXxqP%e^+`-w|I|+JO~^4oR&rZPKPfsw7VZjP<1+e% zpGa#eRuoC&=(-<;DR;67kB$D4^&j8oF-^cXNQ95`Rf3y(uVLiGS__^DMNM#kB|$TPy)d~ThQ)*X-yS0i z1+kps;O3LPre~5CtJG@Vwo?lethDGlx;PGCq;ou>xoObjHU}HqGTJ#q_4agas#-Gl zyEX0b8HQU?lW+2*O_8shyGr_rVflD?^!tBy^$lHa=VpoqE^d=~rhc&-6^TZM%1`s8 z{FzVRsw0tu((r&fvx?s8GK|$i2hHBfmcqiqwT;m0^1#U{*(829ZIf>DAn%-YWZ^Xk zY0g*S*|Y)_Y6Vr}H|cp9A;vY8(QHs=uSVvWiX{dc4vT1a8>*ed0B1iQ(vLrw>C0MJ zn-t~Kv2N9M^9z6+{0v@X3hJw9($sb`Fui8Op;5ECd^TC4HvhFcN)=l?uEC2F8xt7| zD)dVn!gENpB0R~{;_pua+cYvPTe!3RF$%>X``M7L+LQcNA~>{=#^cQDII}qQf0mbx zLsordb2#JZ+&{cYP?}_NS0q7{)B;ulGh=c!dxX-)vqwBrUhr=;?Lv#j#YG|x=(NN& zG`i8w2{57QnzfuS?Bpn%%N_<$KT%MCJ-^wxxdsgets=&$TP;PZ`cOE`ydp@l4f)6p z&udR((8{a1H&i>)cd={I7PR)*EKs@)%8n=bMs0h`ho5;4991CACvCD|CtAFVNqK z(p_gTWk=~Cg_j;%F)@&AkzEM4%9mETq%Fl8%m%lCw4Q*{pEp@EJ)}eF3U$_Q)c1#vn!tCJeaAR1b zQLsu~5!Y>iHY3cF&f3x*kpKEaP5&b~wTSWTiNiV0vo>RrGkAd;@xtWB7ez5G{%#M{ zS)izMii+SlGe(2JOcF0*qsrB%5)7qMJ1cMmb8 zv2|LZo)T%=Kntlls9udau$L*g+Ja!vc_(AH7BqbGGbV2C$hSeOv8D*$j71u&jY(NN zks}u^ygz)p)OIwfZN7ROT}7j(lnep&g7IGQl2qf^V||4($`b6f4YsMfrx(8Bxw87m z(2i|uu*IrK+zf~JP1C|b!(}lkz{Z&c@!x<(u6_M5>1QBt6U562;0~G5SKBUs=Q-_! zw^4e-Egmm+6zIcVW)GWDDmrSceiSW{$bwVQ=1FYIXe0E|YGz4R2oA|(|$Tw+3q#LmaAp`WrD1M#&kZ2(5y0M_DS6VF;-$_BLg5)Qlc-r z*&(0-yreji3lR3Act2Z++mz`?dvn93gTHh$C8SW44GNdO`~;BBc0os5v8RCmeQiKq zW18IpY&3g1MuxwN*iQ=DiL0F^3A-zS;++S_ZQQ>ugI`cQ?KXV)u`|&0W!R#Z2^S)Ur*~gu+!Y(AT`X;3R^U{HEd^H=pl+3=D}agP_}j&c z600Kn-^m``4k;Q;C6xS#kCHI)<8Q0az(R5*@f36u{O#ejiIT%8sF}2A(Gm65@3s6C zSrv+!Y2;~erJIt3!uqw+7W;UTIQCp1KWzdNT*s3D@3@PQlZF@ZT#)_!{PWU)so#ZX z#9_^ApsRLh$S82x$}&AS5?cJ_I?%X}dv9~BHNl_`!fMVkm@g>~Ol^+V*R&8y;aR9D zYI+*&x`WVHMRF<5(vaS$Lv~!}FWLLaB!aA_fi*VnEp*%SU^!bb!e zE17cT*+F;a8uV;MzhgC0Epfj*c5`SO&Jn7;08mp2)3{@pr(&gEev|nBA7kjrieuZUG(r&MKqEfRV9v5XKZdH+ahVu}cXNiHD#z5={`BH?| zG)!7GFV`8^m_?2+|Laf@df!ai&Rn_?WN0dq%dNI?(O$*t`yV%|t#fepE|O|_K}xEl zlJMp{0}xX**v@cLj(Ho24FuS_1R6{vohDaL`AILUl>JWYJ^RvG$XjN&iEwN*fD^)& za%#_7kabA8PS>>VN&*iq$)~fEhQH%1=u}tLzEpS5HbDQij=VxZ;xKQu$zMh-C*Dc7 zVC6*qAR7iWZXke8h!HrN$ugWD{=F{Fj`_&8T{Zlp?=u~VeJq{pRUaEg ze!gfd7K`#sybUvAK{w#{9h<3&b@F8ZCZtuGRL3>hxR`%Xq=^igj^bk%mXnTrMO5nX zs(I^By||fp!@_W$1$>PpIdP*#&=AzSy6#ypHpjKD756dZVr@f6d%Kd7+iY+aebRd| z@E-J#^%E6;HzXH5pU|r(%N`k(E-se0_H+m_F!Bwel` zEs1D9r^KVG3pF~@Mf7tH7tI$c$Uh(=U;=kV+Bufq&9E@8@b>AXd=6UqHN!G^a)*A*p z(rJvfgV z_o+}-yvPV~O-7EohN!#6dlaRv6JPdpIY(mof$~RYaqfoP?#Q%kXY2MAgh?iswXI)N zRB8Q4)R32hC=<;%CM}dD37JdV8G~v+m8RM>#)p$OZy zzt$Q=J(IB}ibn6Hq}rX-DJ_A71B1eZ56_Gn3oIDzYU`MR{k96UO}JD|S*r)pl}rx_ zRlH52aro;l9)-TtT+~s&bXSg>N-!op^DIMyB<{ zmhlmWSq)OLUkx9K_|(r`F*6O7ocK@2G1p|UX{~5*#$em!@}j-vi|6fhg=5k&$fX3n zhS6Nx2EfFg2$CH8F+72J3z}HY9~B)L!$eSevsxCDCsM|rKLQUhhM zcqJWTaIJ-mGgM>Un75MLoubcn1IZKC<`t%=deT88Jvpak?K)lM4gv%%ng+*lTcU{P zP?g;RK8691fO}IX1ml@rl#Y_+NQLmS$b?pk(l2=dcf!Do9-u^&Z|pZUt0Q58Uansj z=}2c>)@o2^DehuHs)rH3oHf}rs>P1FjdqB;4J_Lzo429o?Bj~k_ez$iQkFZVl50}p zqgHgb>pSS`=ex&;@JE>zhLzaoXD}FAyi;RQ0vtbCc)@A zs^rX?)%u-Ax#=Z%A8!{fNco7Ps85A~rSl46fkrG))JCv4u z;~5u@VOL8(HhHuhkM{F=BknHXf^+te56=ch=s1DFskIfpX?D@h+XRKWL5`p#Tb>Wy zX|H{PRkJy^yhGcm)qF3FyFLj+>zg3+0D3Wc%qufZ*K}ggR#Fn$&lOFZl(@%UqZhGa zQe#&_GB7L~{e^q)eiN25_o`~A*tX;lv&qV^gy(A;(@88Mc>){?DjX!>{q?gJC#wb@ zu_br9EE!szzjKg+7RoJIN&9&Lb0&?R>HlP>zB;KE#ch@crz$ zoi3gy_e4sTA0df#PnO0?U51U$+J_g1IGxNm(?A)be_#L|D3k*|0>C{$Em|^_7$uqL z$cdiRI|mSD68ARNGE&KzMGXR|Ug?D1hR3}Xz9`vo;$E28)uH~2Z1l=bbqs|&I)zH` zGEIuy9YR_`2AVO%d{xl~iFi_7ejal1F%*?r4jRP`R+I6Ap9C|?zpM&FJls)mkR&Pw z8l(I=S{E`-SYQ9^AfifgCr4}7;hA$PE?z)Q$MQz?=oZk9rbSEXx#TTe$2Wa`h%ta=bH zYvaE>Rx2ACg{H+%fF*uK0M#t{k&8875CdM~({U_yrYr4CJ|{X=kv&l2VLNH7Nz`ze zQLAGO*&?Glk#lOv^-qH$^O&pmhX%xbF3sYqD z!Ek`8_3(bj0^2wA7}9j~sm_@&B#pfdBV#5UKRTM9OGaD24$qAYYUwn}zM?S={d}fY zhjjTf)s*y|1k#6ul~f*|6d9_OWqhQzX%N~FVGbWo`k(8ox{i=A1OeST+S#gt24`Xu zg=w0DvkiT`EHj6FQm zb`xcUgxvn*2Lco~Xh&*cF{y#7L82uG^^i*1#zF5Ma@&Vg>6_9yS=|sSFBBffLGFKD zYOZ)~mtRW1`Q#o{Z1*%z0~?3(3m=tt&c_@vB0A%cKFd;j;p03*qT zw@t)UTld@;tI~bOYG_k*I(oG-vDvv-93$ry`0BtViw`Dp_njDvw2(6AZ9S^Hw zehbRK=#_$Glq0KWHO-P++%&vtGF!w_=XodVp)1%O@6<}e(;|!fq}nG1s+Lwc=AaIo zWGC&J6T#cD&~@62JB>ac0`$iZdfq2TIB{bKfO=hRE!TsQYrS0D#voaTo`z0`R~~Y* zOx>AD*g7fQBdO{&!bSDO6bBC`_4HaP5FCRUmRBXZDK|fr0 zUt;8V9TKdoNVO3=^JVm5LrNlT{}7NPxN?p$J39;9m{G4)ljTnoV-4z@)89aiJ^qQl z5R>P^U+#t_h85xLMRD3ijO)bh072@0qmj@{P^~;-kQ71zBjy1MOR9>h{i-6DwH9-{ z{(-`N8QW^PbUc_8@=EI$B7%Rw!yJM{w5JIL%E{SOq& zyQ}X1Y1xE`Dj|aV`>5#z(WA;;Z@=_hd}TyB^3|*UUo+<(4s{yE@t=u=REA6%ZDU-f zlyx^zuFZ^lVhS0IOG|6n!PZpB*p!DPCf22)QFe)ml1o!tj9ZA(xRgt7L#(A31~ZwN z-~R0Wzkm1Fd*0{!yyrRRIq&<=dEWEc4fQ=_2t@$bR9UL${%-iTqPtv8omuYMxod$= zJ_yGw15)_z`dfpZQ(AOi?T|F+p&D>^{wCml2AR&xNP=cxvh=vR9If52K(VJ{vCGu8AT0U~TB&-yFgh}J z{7g=+5bC2f`vrXN)buC8HeMp9bAf7Z_d}!+Yadd703CWbNPtyu_FC~emp*9U6s|QD z-K};wQTy|)WN)*iLf;AN-==uk;d!{GY}zWZc3p!r7w_+LJkA6~x?)JjY-rdkQjj6D zhQ$}Dsn422V)Wu`%kznk@5WW*eZxw+Zc8PSxS~afyn!VKvx^0eV^iDjI>Bx_aNfV$ zTUpeP!N^zb%doX%e;LBVaMS9ewOZ?_RrB(k*Dr>;O<3o>jv3RIFrO#H0+;Se2m% zqN&TC2v(MzaLl+plo9(Nhe4{V>B7b*&&yFpj<+_Kytiqoux@!I7o*%gNtQmkTL%wLU3LEC(4iBJ!T8CVzaXDUV`26Fpb38Wou zktqsip4aEs>pKKQzrA1WmrRR+Hvaa{ za3GwCPz0YKi&-@KxE(LuF;JcyEt^kHM0XnULnqh0vcumhEa73STUCLFr+U!xhKkSwNSIIWq~}Xp@=A;B7}!`oU;k86imt=*wI><%+iI(7w~5c7#vVYNRdEJ9Yx4 zk`-NeTC2xZ05qlfi)W8jq~UmFc8Or2t+Mp;ccZO6D&;cLgpNh?q;Wu~c4rjE*{{OI ze>d0KqW}rVIw-&d#YRPRk2cmgN5;^dU~UQCLJuHOlt!M)lgvYzw1%rnBp9g#?QF!a zv5!cy4d5YVgpGiB-L|<4R89ivsTLx4sE4N7NLk+40)RV{$l_GW6bS&gsJ!f<=x zRV)((TKI&(qg{I)?|e_^E3|%SA3GUArI+*crV9Roc2;e+cxn5 z+V?tX@t_XgWB;^M>+wh*WKzIOG^!B!#^#lE3Y62PGNCLur) zfffNFKnN-15Bx}Zi9vadV)-Em35h(wYvMd2C3#2`5fSjc|7oh(yY}I0#$3D3jgTx9 z<6U+B>so8gHRfo(G3K0OjQwYSW%|p%JpFS=Y50}n|1tg6zdf1!(%+b*Y|I7dTJAe3B|H#k((e%@QSNBaOTlnui ze(TBP7ak^)@BG^5fB()p{`S|u{PYXI{^kGmOMmKDf9VhYj^FlskN+6n^B?%Wg#YmO zyMJdg`BVS(Wb&W>CzHva|HaAVFa9%=$zR==O#ar|Wb*EBPtx>1nxx;pIZ5CC=O$_M z&*1rQ;`evs_Zq+d>X-lfcYn{&zFpkEeS6>CcX#vKyW88zk4(Bx?b~#}e0$&DH+SiF zQT|%JUEaS<{^#rayZigQJN@9XS9f)9+xrDC)_C?A&)#{={PyenxBA4R=|0~rhugb! z_o5NLi5F}1>g@~eOZP7rzP)?6z0)8!qAb6yNEyhxyU+LSU3bgJs<-`px=SGU8AIXz zq(49MeVkpTvFf`=U%k7{y8it3e&8+D{T#2lziaNMXgWflI zh1{>;MIKl$Oj8a_3(q7X;+We6cFV|`Bb<0 zCgWG^_SEaUC8ejia5703Lo^m%b34~O{ap5Qoc{6#q~O|5+yrm#Lg3W6<=t(4n{Jl3 zH}%bzf9JcuYoN~M&$06V8-;f*J767EG0%rQj4TVokHESC@kDXUteON~6EKr9kv7 zEw8$N^ws;Y%|TO#HA{7LpFpF5!L1bQl}1X_i@s{+BXM0Z8;yx;R0L~IB@3V-CfYF- z7E{0-18ymr7b*$O%Xc;Hp9#=?2b2GWNs#1dDPKJOp2Db2;x6hOqaYIvpKHkDEscr4s zHHmOeNr=0RBp5hqJ+OilWd~suo+0x=wVtWoPVb-Z1`(WqASqs)-+lvkYSJDfy@lG4 zj?Sjm$XXsuos=q+qr;44?r-O^l(3{aR1jlOnCU)nfGAN9Ha%msOtphz0+CFl6l2sq zsX!ajPw*S!OtV5qf}?l|&@TXyh4FY-x~(O7s%(AVdonN;Xw(WgL)~fMb+C(1rkfN} zZUO-5IPlX*n%2j6u;P`Mqbic81aAEJ79v_I@8+<>BaskySSB$z)adx^PJ#T#3gwsU>PwM9pu1^;f=`{^eolCzByhKGnBt zH|ctLb6s86SIg_G`s(HK>aw|9TwGpWG#B0ZEaX;nsBX1fi21>888xt`_Fla=5@G*DujENRd483c0H_`c?P4q7O?bh+TL6=u04O;gaE&gbMb;0@BF zppyw{B)ow4=JDZD-;KxWwI$J>EXG3+ioZaM`{(5-@;wkiW zRZ*j%QyEizCKJiP>3NSqIZe=#f|g7k)({jY+DYnUbUJSf|8i(P?&H9jysIxD66$h3 z8zl8K1J6Zp2knRTXjA#GtLTT(!fOG2I_?bC~|Abns+C>c~*eKz+~!sm>8(1 z*?{Nz2XeB`gn%GaC~m%Op#(660k)7Xsf5z1bOBwFo;T;s zwkE(<9oh?ucyD#}q=|>db0(hlI@LY=874xNZ=`U|)gzwZEMO!-3yhU^2pfUYlS@z6 zHv^28QJZ&;SFGPG;%t_bFA^&;yY#OGT;)WOfgwS8=Ti|8US)quxdmFTA|UCL^Kg7Q7buk zLY!tZ?=b%o^RyS0X~ZoY7QriwTdwMrYe)!D!eMp_2-5igXLa)rg-no&9s#-h5kARX z1elLc_K?;C!4E%-XWA9&kG=)b8ej(oVvmcci7r`zP{er^;r0sn1OFLT70$6joR_S# zutDH#9`R7l5%>%-(PR}ZWcv)LS+*KMmu9eAI7U)eo4Oj@B91#mBkBmshXfzF;AB>A zfR-LUuq&vL&lj9Y@qziw{wt4h09AepX(9L}A@I=^%yfBFJ=e}D{w!YDi#&= zs5Gz^cAp_*PIQ=yDmaoy@2#~wmhAsS$A5UJRhGNgb=sWFaX0TzN6X`*>gWZd*M|{qwX+ut+@5wPQ(w`G z&K}4Eka{+&ML-7v((!_HCOj}dKEnMCX0|*!OouNAhZtRa>t@g9MRVGoERRnT$ay+C zj{7||+&+MA-Cxa~bpPx$pFW?Qp5UiB=?g1@p2fl80bVc{L3y?y?Nd)TpDd0~C>#>= z3^t2-a}Y!wW~@A`z@Id$AW5(%S)7CUy(j|0H1gr{0COQfzwarC8VWRH?hw`S@(8nU z@uGZ`4?i3nlCPqvoi!k5aSG~dOjvx%#~tphj_Silkbii98%O3;gQ>4f{q*=*EIMpW zLpp%SIC3*G^bda>@s3MJ-uFWuqD8Bk1M<{!6N|)xIxOeZ<}T z!M*7y;bl*lGAEJ`rw4!;jz2q%+lN|;zdSyg%1kOVzQK*M`>EJof#VP>=UPF*mWLR5 zN^L)=51LtTYX?(~p&|V-ER*Kjfy8`RA1wC|3a|jNY0e9Z)Grt~UuYJ!t0|V1HCN1_ zhk6N&8U$uCSrJuxsx38ze8f9zH`xgxc2e5* zusV1qQ1b_wiZ~(K&2Z(3P)T)4Q3!(&beg&0zF6hrN%__@KjkF;ja#>tQ@K(fHEV4aW4@e}rX@JrK zl^7BTmEu(aX`$l1@V%p`KveNBkKzRW$u=><7wsl9Du5QJpk@u0CQsd-exDKnH)yf^ zX^#i#BmUw2wE_q(k`wSwMsECVF>EMJb2z6<3L9^5R~5dI4)=j}A=5~}>4v6@_-qDi z=bZ^?KrHMroTLl+!x|VENqBT9Rm`u({TXN|^pH6lL0dl=&Mw39vgj?~5Vy)#L?lw-^ho}S8i!eSGk8n_nP@KI zWL5mpT*KCOw+FiWafbL4pA*Qi+)tuQST}`kk^n;x{eHIVvDah-C^T6oI*3&1Plihr ztr6B#$M2z?0xT(=v4;-)5%_~Q=oKQKW&*&F8HT@wq-xBxu~}6I9i*Z#*XH`lxGT5- zI(xrFR+tVJ2+qa;N7Auht2NJoc9W0R<;*MC_h@My;#Rp!-l$oEff)H!q_x-w?Nn6T zrd?+|)q?Ga&WPnphFjFc17XN=ALLN%52q)`L&4<|8&^k`Qw3cF>4yhk(|%P9NRsuk zLg6&1C;5IvZ-Sd9oHhtMB4n=url)X6GNK6A`G#f9Tfh9RU;Z=#0X~O^_knZuezmvQ z-`n5Id)=oWnN)`y4;SZvsDu5qpZ4bad$?Tbaz6Y*;8pFv=#jmOdxf=zud!!10PL$FS~oYX_xN|uaNfh!F#+D#E_o-y?QUMOJog5)$@G3 z+Iz<1yMA{9&Cev4^e*@`U;eVUixD_}tE;%7+i&pPfD5}KS})EA>maliCGg!49Y^8h zoBeukxeLZry4ZsNjo$1%VA}lgFbe$AL5n#rNgAF>@k}Fb<^3m81-hHPc6Sh;Ns~FO zN$JtN_YtIV+?^c}_<}n!1~$hqc-|w&ck}Mcj^B+%0A~(b*TJpjilupfd9YvaKa-RD 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 PU;CMFefc;4z_1S0n312IM<1RUFOa73cq5J7|^ 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 F{|9)JqPPG6 diff --git a/src/qt/res/icons/editpaste.png b/src/qt/res/icons/editpaste.png index a88c67729d6ed27eb4a6f3053f622862ed776777..e35e10ea723f16dd6da89421939cc669615ce076 100644 GIT binary patch literal 32498 zcmZr$Wl&pPw@z^P;_gt~DekVt-QC^Yi$igW7I!c1?!`4oafjm28{V1k-yO&R$>ebM z%G%F*WJfD2N+BcQBLDyZWEp93RR91e41NIMV8GAxkJb)@e*j%or9=TW(}c(1KVVGc zq{IR2A72qdV)x)@;GLwkT>$`Yy^jZQVx;&N06+?m5f@SOT085~P9a=QqJH)kx6m+W zTmfQ`YQ%hQlfjZmvXd=b_`S5rW&h?h^}H3x%KTuyW#-eteCrY@IpH(uQ&o%XYbPy2 zE+L~9N+~T&3Ks$;ov5YtlJz|kJ%D7F;o>l7R0qI>u_tZx2|@dp_~6s-?aZbSY}R6x z1!tx9l#NE?|NrYd1dhLb?WFwFj-y87z5}HLO26S309Wra_gbV zIvolx1I!w`8Eq{A%YZ%ZPXOd2dk>!gmD?;K)c5xZ7^LjKI4$pVD?~kI-WxOAs}c^D z97d1GK;aU`tr@PsF2j&3rKxD^CBvg0bHjuZn-df zXK+SU_hLv`!`YeGxhG%8w*Kcx0uwfWTQb1$K5JPG}JfJ6!X2k&EP7s2w4zcf?GKhfl zvhp{;sPSEXNx;Z2>+#8$rG{EqHKY)F@C!?-@JbL!6FLa~O0HfI-j6wYw#Bwv2dx7| z)yNa6m+|%u9bibgwJrd#AV9NQ;`Td--P71TgzbCe2PR@;F_PX-ExX^U+eBf*ahrxB z!)+-5s(?LTmMnv38U!ZpppJ-Gg|(V0YyS|!MNU>ug*xRwck97z?F9tk{C7P!v2z$x zjeiX5rXDj$!oE`vt-*GNfBgl^x&yXgKeIGV&Nhf5hUuDrTpAg$0r4oa#LbAC2i47r zW+5VlqM2_AoC(qY1=ux5yU)_phcQlg3ZU}J>%bJU)oAR#nBssQHrcfV)B$Fjo&vg` z1=k@x@~r@@Btb$w##;L@TEHD2H2l&PBgha>Oh79zfDU9E>;xHx0%t$l$BWjA4EjTA z0Of4(Mtn$W0OWOAhc;RaruX9Xs{IXE!v83UnLwbIWv295B-VM8^7 zUSwg(2KZkLGj3^rYv7TaqcW@ zpFjorePqZg^SHA3UZj)HpKuSp(pn<0EU8e7?N+n&ML<_9#$4APB+*@^Ogc80_`Reh zeX2%y9CtUH9QB$67zQIzu`wkX2gSOY87ae#j-y0H*1aaMppo)G6(AeI^`n7A0bBT> z_iF8_=Za>qycqE#UZYA05JzmT&JH6cyYxfXmBC_ z3DiINR+PL7~u70*1E6cHPMd!cP)8n=V|v(W?} zr>R0cU_1szfZZkmh>eq%ISybhpm(|maU#fs?g?d7Htwr66|OY|5~3nKA}4u999TlT zz=lD)FhM<cO_r(zkcnKO$yR*}u`Y)#l!>x~ z2wFD^Btq*Jw&3jXhj<-F-ruMRN{Af&B|L4vp9{g8J~~$oNR->BO>&JuqH;0&MB0Lo zjx~maNeLeo1neOMsdoPBG!CA6j#)J%<5IPF|M6`w5-7N@`0sNc$k-sfjaG%69h6>> zj|BaPwk|%I4eN~%8r*;?h|tX{vjB6hi2e}J28V1ZJTZqMxImDAjo3GtE8Ad}Z%7lP z_wJBa1muU(|3Coc#oX8<;)xm^tJQuB|` ziv*I9xGsBpJvb?KpU{v!e3#h_Rv>8 zlg_zbh)9D}%L3*O*Ibg8Rt%o4cZ3$9A59EPy#jUNf`S4<1@S2T0A{-%&7P$;bRt0A z#udb3Wif!3QdyQv9@#r>+sH%)QR2vlSZwyl7xU(?!YV`veXcKM;6dM2OGtjG`03&X zUuV*)d3{mSqN&%)x$?Pt$jUi_@cwkxkIKwwU;A$}eL_tyGo+qN7~%RiZNrbEoshDa zg@(MLcj&rU2h~9pFjUq;<5GR6o$XH?N4P5!XQf1nW+^sSzZE{1AstA3#{ELQB9+vv zY?d1XKmDL=vdGe>MjIQ3y%N?J0gRu22Y{-K0~7Gk&e~!fhu(*gZwbgPMW?@xt_wg0 zFgAGwanZBbh0gA71d(Uf;^~YgvS)|EQ+NVsMU9w}3eFYvp%XCf8mN&RmNc>6)B3ho z{r(zheNoi%Hw;mB8A3)JS7uQTVik`d3nFAhQqk~*xBvQAnd*I(DY!2c-cg}2d>!OM zBu{kJjcrv!L0K`u$xyepeRluW>et#-c%{jd`RIlA-E*7rNSHva3F@&q@%oDkvDh?~ zPOf`Xn|;4wejN51@2rJd;30@n zTwqqP)giNZ_F08aC@uun6I#C1XFV{3)!QZ%8@Jcky0;U;N%jI1y{{qX`t#G(B6nvY{w5dd;)~r*=Z~>dWy?9ES)gIY z;0S*iF6=c&6t}RQ&8rvElU8(<*?z3-vKT?NUlbR33h!a$HkV#+XUlbIPsOBDL1Q}Z z{1b-Rmw;9XKc?Qn9_LcF2x|}$k0--rWU-{>t<6b8nGCfkQ3&l<8GxvK%drUFzG2~6 zpD(Hjb*g%9X)3sEzr1rI&B(4>rr}>hYWgKy3hc4qwEZUh$nnmXu0A-(*pxZf0xzyB zdoVtwV?k1*Nu*`|XHe~Y`E=dM&k=wYl}sZ1{go%$#vt zia)VvGsv(pt62a|JicXJ3gdOWA_c*_`JdN7MjS47l$b@&kFXyNk4hGS|2lcQSpo0l zZMvOMW&2VDZln(uB_&or5rWyx&MSUa)7wlZwc2?s+XR15?v~~%i})&fqELHcT6t3u zi|5no+L9+%QtmW2?#cIad|o+4>sN^shAPzHnV=00Zi4se;BjbUi+1A;J^GZ87~nw! z(BeQz{cza^gLukj2}KL!c|DVZcaZ+1NI#7XsVC;3|J@5R6S~jEINSKDwGE@L`KQz- z8)WQKT-+N^l(D=#ymqPKCvnptBs>?aX`J?O6W9BPz<)yj99^5aPj!F2uLr&{7m+CE z$5owR0kgS+Ix9Y%?T^9`p*>SWO;5g`MX@~UB0KUK2hqKu_69$RKk^9=L;h~%<3Oqt z|A7dTVGq%O{K$E_-pSSR&h7=1VY&Fei^1zd4b@W8Z;Z?Dn6WK0_{FFZ17L+oD*W@G zfAL=-zS8CCD<_Tn?+GN%(HmZm=0-Gg2a>RMy|vm?Yh!|=6a7hd#7{nBCR^(>FEcEa)1@iyc@J)?K9+a$M$&&=HR;L9_{(1o5m zT#A?co!aE0(wHC}nqV$-RxPpIWHSQ$w;AExF4tXbRPtNL1OI4l%WZ^jhsG_wVuB=m z+$vvp0$+PtM1Tr`{77&X z7A1<&u`c!h%1%fm4bHzBa1@zkH;1CF)TA6#qN{mR;p+T=r(S_+9%b*FZ0NIR6IS$d z$6;T8Lle$j9V+N4TBjuK`1d-TaM6V2I6g>hRJWFr>Ls!?s=fn_nL&Gf5TYPnEXe;z1A-)9_W0x^eN>m$FnpJT_eMYvjIydha~Dcto0brZH0o134MRvkR1B zB|AoUvX`urUw0i3@lfv$qG!S5@A$zBz9mVTrNBNAZfQ+3XaF~M%R)6RmNm*KfU#o3 zgyHrph53+RxO^CgZ8m_GO$s))Cck%P`hqCqbYw-NKKI$;tSX~*#i5i*aL>zTg~-+F z&BQ3S`K4`*>A;izo<=)uBL=8%+DC|y#gb%1y>sdv%QYirvAs-6f4tn99X)VJ(Wp|+ z)^AMRgGyD0M?J6~oTf^UG5KN=NGWY^gm_cs$TKd00?;; zhjUIoe{r77p8O}qjS9g|a7vnn_PMRVyyZvp>ayv4{vW|g7DY1mi&txlgEazLZ?%nh z7%R+gnd`b9J)cH5-U+x9aK36-Knj{F0p}@6o zY;BL6tL!*ABm_9&a{JtA>pXLtI=duz%EtBjCds=ia=1gRSi%Eg)xhyzGcY4dE9Wmf zSk*ylm;D*`KAl$yi;)A4IuFN<-1diFjS&Yvut09w>o#$fp6_9tzUg=1PIgh(89;S9&iG$|3<(Q>Qt zh(eFhk|EAYwJ#$ivJqM%URHD6>Up&P#KnXA}LviOd) z9E!Yh9t-SG?bXsZ#^{ZB3P77YZ%+HWZ-3V4;!DQDXE9>YSkf==LBI=bJE`HD0uV17 zkU^RI?pFc1KVU&#%+8vOl8n4aspnEmfj%0Vw5i``K{n3~P>k4ruTMp&g^sE-NwJ>Z z50R67pdhU7-17iNP_JiY+m*Ju}N3Gne?{Z~ZPox23c{t3oYJo9K*+7wuf@u%d&%}J$|AXjW8 z(11$z6O|3Arl(InV^L2QW15VQ(GZthqnZ0vGCAz00T=f*fTtg|hmADt@mm(1jWv^|jmWrAfW9Rw?^3kj^5M0|~7i*`dR;jI7MuJ-UB$ zgbL2#>w`p2{ncLri-CoO$fVKv_HUV?PGR5aEyYOT*(teyJc$dMX2i^meh(=oHpL{T zZ<6okCZXg5Aqz3S=vJ;41$ zfJoIl)8J`R4y9T=($13i7LKz-JC;n3Ew9PSJx|^uXFw;@+vun+m#JpJ+X?GH0MHM| z?0jDi!OIdyuIzAy(fSK?bd1Za6;rD*59dAfF#44@+ft3WZ>uVi(N}!paC%~@UAEX@ z#lv)2)Q%Ma!=M5+NvEP%N8_QRg(f979#dr$3PndT<`$})p14G;U9WgwXhcsUE{J$e zOr>4UTPC95Y$7!R-A#Caea1?i>z;jwiTcmcNpCnolZq_glsk=msv3Zic{d&;6 z=K5Yl@&?!N%4d;Ob*Jjh>@r3wyU}#+Yo>3~D8U7ixR_U8)ChDWptkBavZD+LoIVPj zS~JEln{HZM;WX}E!|z3a($|PNmsvB0Bed3M_=`WltlFx2?-D&x7tzOY8sjGs9kR~z zD-E#^f!Bhjq9xO|pGg-^K9y<2IH@eU5-T)u`pCLQBT8Uz2g)Rq0D@hQE#$k~SPd~s zGtYn`b|Q(Er*2&lZG89y%^%WeDi_80pEL~v`*3ahfmqRyVP(rh~dE1K~pM$MeIJuVK)OU1;%ZIB*blmtmc-L3{MT|07JbdM(9 z83D^qEhgMscbO=noXp@UjTyl}oZ1Y82_Y_xp@6+c9-SC3z8Wcw(H75(BB#P}(=ho6 zReLI%16P9;CBY3JsZYRAu9}~ESQvfg-Ya_vPA&RKgG%o~yfqvQ((%d3*fJgZdTipxb6;uq-%Y@)vjE|f7ueQ~3# zEf}gBs>v2RJ#NQJW8mb(vsE3cWgsaZH=!*sdOoZ4B3!-!YCd3C>q8`J$Gn1gZYNs+ z8Gfqd!m2X|w9`zVTjWEkfBO2nyYx|~(~3G_aMzsVOkgocNbxMNn%3=Bt1#coAbP-4 zA_#u&xWM&L5q*3uKKdNo`iwH~ws7&Y$|OLqvGnBLypiiSV1RGXBdcuvz%Shsp_29D zmrn26mUm!jv$jAyT<$FNPh2KnUf#(KmBN0>At!Q%pJjv+*F5px;&|!Yoe4$4b&6tb zej1EKWAkATBc!pqu6#b_WM44jl?kiLDTyMVynmb7i8g|p#mv-Ew6>tsA{Vu&Fm=yk zng1zO#X|&*A)R|6*O2q|Z|=mFJq`3%{U=`EP3|aP&oJeusLhGKEyxNJE4B!@sdiVG zBNQ|J@7`n?ByMn%f2KKvLzeP?S!`Q#2{SPyWoJYeqS17_gnr9Zzb7|g6K~;=tYbh4 zHEi35N2lYWPl~H*Nuy;|>!HA)ls_(Xcrl3LC)iC*bd=?1!=IB7Z5O9n9s9#}Bkuc96 ze+T1~wz_2R*OL(@-Q{qov`hS0B|~_^fh5p*daj|FWeFjd6$-!SU5Su z1$^(-_PaJ=*iF5y;Zx0z{`%mOkVv(z4;k?co=xJcG~1$5Q+H@(81|l>F_=9_S+Bj@ z-HhPGyEZVaZSvOg z^yn}5tizwS%Ta$Gmq!+A>QblIM^?8E{mH4Rf<>F1tDOO>)-~MAcvBw2!tKiL2k6UBi_2Y zI@1;M)f5thjjraN=D?z+m$I|+_)a;h* z?rW@glHA}=zfdJALs!Bd&BeF#)l$>bj_~E4q*n}8AgV|z!DP8cpU3-#5`}~}M6n}I zu{5;h$wmYjFg!8>jeadKeD1Lx-V6YDeg@vA!?M7|mha_Ifmq~KFC=Qdsp!eyzwVPW zGkbdpLc;`(oxz@4-mu&b8_InZZ~4j5LzB_!I~=q-#e^(RWge{PrC)9le7CG^kysoa z*n{YinL>2b$phmvN5|L=5oYMc?Ze~xJ#s7@0CfSI_(|x*>^S32;u#&GSIeu*-?D|I z3M#6oEe;)G7fMW$2zO?$HrBFJWKo>rTon2s$zLfn1jDCWqEA3}cYOw|x1E|L*(a@W|s0 zdhXl<{9W(+;NbUsOvCfCqIjkCyO4m=oj6?nG;QG6J*$b!$!1d*hF81Z?MsA zx#EDv`J4Px!1zs^&O45Whidz6fB5L^^iV}YT8_XMXHi#^e|R+1?L2Nrq(6L4I=ptm zaq1km1!EHu_GSyj&{r0L`Uv|cLG{GNZ_5n~Drr<{>FLgI&+Z%T?uh9^uV~*8ztK*p zy8lT6B$;7Id*4U*8y^){e8sL_&LF>iKVcXNl z6&^Hc2hssnAXwTEXD}neDf;(yG@!Rd&EM9OA!Bpw_HL)FC)BK)_bsi%((Y@jLZN;m z9hqeeUS)i~>yEASyfh#b@IWe6%;_yERoZ)hxg4oC9nte@CjwML4xI;u>LDT`w)s7= z2|j`#^>_k_^EMv|<-WT(>u zA~9Lu9#Ip+F|>>Vg)Vhb7*@A5Sfq^%iG`D=v6~vMURNN=&S@X5zI{Qxr>7Y8Xo5f( zPW9=GP+aSgm1^DE{6L3?Y{iqGmp6Lgfp~b%^kHYA{KfhC&YFqV2J#X|NfQnOEI8IuEL4O?6@RJ?)mO3)P0Uii>PZMy!!52n-At+3)Svw*!%wmSS z->>WWcdbP*yUQ#y{3kvv|G;>LIxE-DD4?|k3oB>v2#GJDlHe01vF{mc&KGxCbHg6| z&F|!0%z6?kA3*4JiyAn{cQ_5s@Cc&|XBSVLzEs+F7;bne7H^gkaU|n*Wft4*>H+yC zd&ga{;S?Mfa*VuR2=%Q}JkG2&AcJli5F!>5@wKIGR=jMkT9GuxxX>bHRozOBelUM_ zRp0g(VdeRzu$PH&3h!jYM!>?$8@xB7wEO;|v@?WbI0%W#ALP*bO|kU0IqX+a#bpLu5P0h98H%B!RQbJ;|TtswHFm2ti*0sc7dX(Wtr6Yl)Esi z^fzs@o6tj(dk|8MP(;gNd%2(kz)6=Z^AP8~Jt2pa(kKQ4?pR?=M6CNlt1!zzOFN6q zjrM?afr8U?S%B-O2oRTqV5H_)-|J{6@(OIHKD2>*t3L2wfV{lCT0GZe^V!*{AdPor z_`4*DimQ$ZJ{=i4CjI<=X#@`-)FtXu1mvf(w*&5;cU7Uo)7pRc@p*gUI0kTnHLZq~ z4j=`z4FE`^5Y77T_`s$3q?=!z)C=)dZCJ$uF842OX+*JDT$Gvi8rrCg9ZfLRp`=$# zvN1miw=+VO zeD0hkJK_U2aGnB78QjwxfI% z65QPx`MvpMLp~?n(UYTDd8iw#1t7Pc>q5v~h&bR8o&S1p@39Xx0MyW~3+%3CziUny zyCvLyn)U?O>ER(GE35yswkQ5{xfV=6D&~LIRneL(Xb=nQ>*vFX{hAIrCFs@@$B37< z3IV|YJnKY0DHpd35|%9{RL5&&+G`#5@+sb3R75WSYLY%o0x0X8W8a^zN5T?&0fe6C z60RQi{+kerhwDsj{<#c^QM1QxPABhQGcs~|FE%@_$3NGC4yLlT^!11Gg_PX`b7oJY z!W@P4kdp`AFtrf8Ld{q0Hii0$>QWNL+j8{u2EbD=JV)r4acG{5QV5Q zYr;RD$u;Z42b9_rY-3C2@Vg^0zderdysen>c%0#a_q+Q@)rCU{$YU$g-ww?~>c~0KrqWF*DCVSF=O!3v=w95Ds~r!XM!uNxIN$ID zJkKj#7m@sfi$oz>OP+33r}p61-c;101rYLkp@E@>$N!ll;3|{^^d~S7&$0VSih+s2 z$lhMP5|y%;#rZXPOlRrq4Q`-AFPU(5C~MY~4Z!L1yVVC>?ex?YC|a^UM82`f8$=z6Q;-f$d&maeXt3ih1z znDkH5ylZ4Ro{!g~*Ok}W)FNi)2ZnqYyYHV*oAVBbdVE-0STQvd2r7QihG@tqr~@^f zh&Y2*03eICygH18I2x*$YT@&_NoNvX3i5rHZ-zH#ZnHhX0Tb zne}>oFMkX)D+vzeZ=*9Fjo zulJok&IVKqKJlRy9>iIb2Mw!RQ0sJH$a*z2G(uk$Zj?i!1t)+UIoJv_X<30gpLsVA~APfX|_4-Kx_s6^Y?pSJm7rVS5tXAG zDK19MM-Dr+bAn{_ocQBeK9bDV4Ofe*$|V8Ui5lvo4uKB`W)Zh&xNEa9p-g(ZcMJo{ z=fdKoV;B2+D03i1N{exX6lgr-NR3yn9P)AJn|=7syLmaUlk!qRke|A7t-1Zc4%%ca zc=UybLxUN+scBI{K%f|KeS93j!qW0T!R8|X=zV_v@+B9=!oniae6iZx#RNhsegjtW zulMlqu+vUI^zVjN)YDUeJD)Du-=7iAgz89``Ts#g43IT2fUQKV`^)VFurwx}U^CN> z;Gg-BPshjBAB~Z~e*@>R*&gn>?T-Ui90P}Wn!;^cr^e0!eKT4p85siUyBxkb*BX35 zohB{1zLSObYOvd^`Rxueywi;r(EbqB+Q@(Fb+xp#0PLpr z_C%GRKeye?ee%0Grop|7q@92`Jw3%mf}xeCZUIZ&WnEZdS~f4`yc zxSwe!FfcdatEy{v-X54CNSkyRks=`T&9Ej{8f|g5dLFxd6JSw^2ZJGDon{KeaPu;H zwK_rvq)U`Ptusaxy`7u%~^ZX-z{o(~H4R=4MCk(;%8+2?O99CSU zJ682#L8G<(TuOU%PWxTRU!Rs3by>w=D#9)1e_vwAt3qLZpsX5NjupY~RgGc#Vz|{< z2(5*p&C)QYvLa3qXl$Q|kjG^ko&WFtfA|fawZ@uzo~>dAA^ zpUSX@&|F-$`{yyRv2ix#^t(Ke#lw!v>8h%0jJJc|GR_o1qyAF#SA<9`Tj#s8!J%I7 z;fKy=E3Eua`zc@q9Y|3UjHVIvCd6UV>s`}VJJDgc&HnD~Zn%ImB}RGl=Ab zcqqdn)9^NNlTk0ZH=5sCa+#j{O(ir484wQ<;4ODxXecbIiJ#wwCEO(dO8=699lXuc($eZ$S|VnI{t=P{ zJdzz)ShDhQM}m1a5<5FPE;cl{JS&SUWAllrH4^QVv_{n9R}m+eFoI&X58ki8CK{lE z>+9O!OopcjxPc~mT^@_UK0gjKa&mfg9ectr{U17boUTa0Vl$@DiHh^({(L}A$Q!=r ziz`fR=QF~=p+&R2N~l2?0QCL)twvuYVd4@#S1%4|f>&|OLjHxvc47U4QyBIK|4IG* z`f7n{DV;c~`G|o`={qaaHu1Q;gI^nZ(xKQ9dMWhg-+9%K$m6mfb$J-Bm}-XuXW!y( zYB~Vi`YD%w^>oNx*WMnY%k60FZH{NIU5JZ4UK9@vtq7T38~ja_o6=3usoJ`s>rb0% z;TINXvI@J}@_tiauZRH%uq@NkHt73%nrC8XN2vY7m<88ld#h`u%a{8{z_T^~{fa3r z!D;@c&9@dQ1nT7{*9!8e1&+RR`nljP{E&&UOi;-p=5<>HkPFZ@1z0f*+_Eu1o>H6w zA1ICbMSZjLC^%(3hHupG)%uMl&kqCqQSf))=3eG+9-p=Sm}uzgGYb0t{nN+p1+%aZ z%{ZOQ7x_U39UM^Jx@UXDNgA^q&&GXUSEkyl%Bp7ad1Ahfup9H8lxE3P);sypg=}&2 zR`TLL7#r3y$W>KU8JU|8)`ZDwJ$*osa4J+Ma zhNQnCOm_;KxRCnunIM?e9c6o~=U@WBMluxSPu6d|jcl2HoS9o(f58}DlHLt#EOi#w^xNxw}-T6+;x(1YcX zEtqpG)5C~*F`Y)Vl%*+gtg%bo(q()X>uCL1nQN%!{~M2B02M4Vg}m;y!K55>rO|Tc z{$kq%ZhCDE|HE3iJy6Ku^F%qE&K&?Rq^`Z;L|-gJEnQ6XAmNa}RsU$%hLDybM;U8c z|6onV&U0n^b<*X#!i#X}< zC$wFminIyqSxe0oo+J9Mz0m*~NtFP8nN*tS+hY2g{i*`xS~1+uHX0h38Ii13`+4nEO&)Y~`kV&^RVEcBF`!;)dFwH|oY--Lz>2_`>M*Ni4{JU zwfK@Ijg74>zIMyH=)1H1zElC+j7vpRg7gSW6hEchofl4C_1K=5%ASt31?y>q1;5e3 z93v#cFpdUAPW)I#nhEbB=$|ynu#@%mtT_Q^to;A{)JrATp?Vq^>cQxkAoPyg^SoGl zMPm66(v{uy2=!$ePutpr{Ei&^50#A$jkW2D6=@Qu%}=OTr|Kg^?!jdm0kE%6Id6+& zkA179qL-KoIkTr>`Et&sn8Op_^U~2XaQwS; z&m|qb5*LM4NGM@-Rom}zC(`R-)AM?(o}f!g@>_>(&q6Gv5lb)w%Wvbs<}(x4T; zHWsn1KD<|~ojSy6`B5LG8;kv?5-}a2>`e7JLK;|wzQ3UaSBY41dYFO~x?eBNf>k!} zxPpbT_cVVp=(+Oq;Dy&jD74nU|nzyE_5Q}6`b$7$a zkc3Cs`pdsQ?0u*VuvZ#iUS4j5Eu(YTXygiZ>t3Iidxpai4_VpyBAL5c{9DV1v6Fuv zONXn~Gf@%A^rtZh@NY!KPIBrhSjSQ(;}Lc-(JA6!53E)(AIk(dbi3qok@__7{_Kl^ z*cX2Yw|8AIr!F_O-1G-*!JIkuV$pRPE{5Z)upnR3#$%0gR|0#{A+ollWAm*PHvMJV zN5nl%F`A996Xh+xrkeA3fdD_e5AgWGsuS#Bqu5MCkYWXRf$_$}1G~p}&-0Pw-=1N8 zdwWbFt-qwk8kqIT#NuyY0lagi)QLaVWPRNABv_ZZ+>_pB8M1mO+NZO01HQ!OglQgXLWl#MxpTZJe?#rbU^e_e841j~_< zx?_^O4~Gd)cUNjOievQ^B4)MTSoM(8uc?dyn|8W_jFvyXxG<5barcKA;^Wl6==W?tgfzLipdU{kq0EGV+3*Lh zdR-6UIG-$(GX|5O7i?ed-TayG+Kc19sx*8Q}t z;s=L`i3wI<{2H2?qU1sO{o;-c5XAm>=&z3>Lc<@S2p3lim1jCw7JqEA$HTyPOTU{j z8uev};=cYU9oG45N=B+^MJR-!09OJygwAthG7(IP=4j7A^@7R;7#X+Z;*(Uk-6BKv~p=;~MuU4D!85Bw+!g2Swb>5`H}I=hqKjjH@0cAg!CUim(1B}X;GL_r^diFl%Tw;oVq zgCcI&gDB!S@e$@_LMK6NHR@fXH&rpO!;vJJIA_?|XEzg~Ock6RQ}N`15bLk7V7`!+ zOp30D&bzj+yHTM~KX+7X@1zyYnQgp}8KbF2PH^lz^y+i!; zLj-+E<{n43meOq$)R=)&HSR*I016eCEQ_GKv9;(J-E|}I{c80rY^`bTVYl!ee+8XN z6D+eKe(Jz*_N`L=x4i#)b~|s~M!%gbQ$8v`biFPA+e z|7p>U&gjMO>f72$ZKkcdM1*|Kgn=)ufx7O#vC@8M=m!S}SI?)ld%2!lePH%nS67FY zNyF3o-QA3hvL(Q2tN>I#>Cu2enWKy@uQK;c2Jx*_jT`FQiXQ9tS?l%1H|KT-skqNq z`rLH);%qsT8dOR(x8WxC%+|C{D7Bhy(3%>c zRQ%W-H3k5!S{`PX+b?J|jkSiD$9qpjdrm262DtHHY z-x2x;N$kC!q_DaTmUJIpq0s9NDv$3y!@=R<&=xxccZyYTvaa4_XY({ov>l+{vdx_# z7;Pa7T}?)Mw84)zstmK3BTnU=J$Zu)0gx%pSHJ_{44RqGPLdq$+6Ttc1^?V{sK`=D z4#3tF#ob1rTv&C|b&G_Zq2!SGKeE~zL#A%Lhsi~R~xQEZnqBHzu%Y) zI-|0=9kWCPzI?4XnT3dp3FFOssH}91D>bWcWH2-S{^V}XTLmd^9Y+6l#-sX2;uqX0 zVJfs2>>m`|WUh4-LiY#qQft9z0`bIRaz!LUh~??~#61pPZBCS?G5A>uEwE=ZS}HgINi& z2f$v4pqX<sVc^#|tStG7+F$nR7{bYU z;<`Lck6G$Oi=Wyr1?Ae@JePEf>!}_1Dg4TaB>34;KlV+nyrk^iAqa)V5E{BKp}bAF^yI`v9{x zGfvK8L3vpD_>284fxcdvt1%#9u#h@wc3&7DrVW{%w&EQ`gZrG-~e3{@1s4|kq`y_{YMMX`VHa-)A2TLlaV2$0Pe&o$phr#Cy=8ZVr<1df;sh12;RuSRH?@;`dAUc`rbgQZkrivDgCSeFrz1sh(w6k)(cjVDQ@#6ojuy?U?`RYaJmDsW8Hhzs#l=pW*z9?b*KyK4% z2Mj}n9D)_P;hhwzy6a8?P$FzPTUtvjD60bL*dGT)MOHA?ugq}otaoPvB{PEzp1u2h z2C|#sd?zg0ed?v*FoYK2PMb||G=@m=zRp_-s-l{LlJ{5QTmI+4tJNyU(Pv3&5iNr# z2KrW>v{KyOYF%#UYo$Q&37Bt(>MRr!Z1ReVyQ4`I;L`|~()Y`k56Vd{AGCgrxOYvVu?+Ep5Z((?vOZPSpENOY$zDP=F?AMO z4GMzLic@I#MC+8H=2t4*F;+`;BU4n(Vb$GTBFUsSWB2?T)gesajG~fBuZ<3(Cuk3W z0;W`jMp00TMRO$UBeRPEv`_83(<$OQ_;ipDudLt>%WGxR+t%aQr znyYG-6Ij%^xnsta8NSYV${j}ya1aGCvJ0>JW*%iaEh#rpnzG>9=`3`v(obNVdk}zC z9*Ke9wFKBfEd^WjxgN099*9t+6Rz?KO2OYSK37(LIE~=Z`Jq|XTOIbktuiZPS47Yl z=}^7`AT0`!u!@HSPN`qS?+8ALG@^WV=Z5N-RTcOoQW+uYxld|W^?-#A)3TZ=ICWtt2H?^EOQ~%4J0h*3@(lg_JKB z1?;I$P9lNLbreFLphDU!N*Kk#|D6T6nP3JBhOOSS$toAtaxtGvzm&R(5W6+hc$r*D zssmlsuu^M$tW}0K8Qc0ivS=@Un^S~#RXbaJ_}c|HO=xeNTzp6^6YVesp9nSxF^GG> z7?i-arUC{M`(5-FVMX>1nV7ZxPHpKzxJ)DUCvdcE0kUNGHPK)UKO!Y~11hH(J2)tM z`kmbcHR)J2>wH9X*Lx$Zgedy+gVb7f8UDM2@OM4}c6N54@$a9H!1)PMghgYrqm(J$ zYjVq&X7~_c8{TQl>$6Fh8)C+8(8aHL0Bs613T{7TbXhvZ60ef>OX(MLvpKmS=NkS& zR@MD8gW1!tW1eX zN$aFiGY>K|GVXxIVHe-7Ra$W7r$^o(F6Qorh7cv8H>|+NH2Zu7@yr?-D^s{mR{Ou|zWS}LCh9gJxVyU)C{A&Af?J`uYjJmXDNwYyQ{1(< zYjKz2?(T5&e)qe7#LbiBw>)!BX3y-s_F8KWYCk)B>XSl=-xhg2HU`q5hU_&qy9Bkg z>383$zevCta*}cBh0t};K&7Sh;smBT1=Wztq$-q#;+lC*spAJN)8((#D9#+&fqP(Y zELgcgrO1rvRPuBPR&4qzdW||c!922Yr*no2VUr;5(K=$mS(EbW&$3p#-*QK>S(ur( z-ySxGGVD7e|Km;|Jww(wxh0F03fjVm^IMM>7dE zIxI2qO6C!fR*5D*^NA7an7g&%|mvFYXSH1voUQ328PGSg1F1+ zA+nv`P$Z9+tmfL5ngCW?EGIU8=t%K6F~!vO5-Sf~IO$%y=;Qt0Jb#h}m}5&ZY5Y?` z7z@6!rXRuZ7xd#?L&a59^58kvLAM*@dk2Mj>%hy}mzm4MAo+e0iAw z((NTo*-VSv7353%S?7l6%Ir3Y_h>t?MO8jy6GAdF8Y%Th4jKV=*_$Dmhw~9UXUy*C z)!m*sS{zmehgs!Pl9HIEx@Lgt<+NFDWmmUDGe5EwL3YGe)Pvz%{a5S;nW;@IY?PiP z1tz#CH?9RjQrQuPMM0@AQbn1g#N>i+fv#@9Mug-G zLn-@&?{xH{1yE~Ssa(LLuRp1re`2< z={Fo1qI@rI%UCEI3EHpesB>1C^4qWjJ;=$*{>h)}k`&{IDbKqV87Fr8?^3>}BYE3{ zBY1~U?l}Q1D7OUwVjjI~!{ZJvFTwGNiKqLXpKRbI%ZaAg5$ zgDurK9XGymPL#tK)hy2&7PU%bY?VisSA{BFpCU_3 zC?-rL*zzuk6-{Es)FY!BqJLtv{gGpII8MBvcWgqt4k&1Ym>qf945N1F9RgqEL4J@} z3w^ONQCb-PWD1pHbNd2X>-2qzjm|rJ9D@{@IH|&qfQu~QxV^n(@I#>G9ipBby4Nnk zjuK6=+>dB_tG+65F(~{iQ?|daMFV0f?-L;!niyr_eh7l_3m0pw`AZ!;VQzq{<6qw& zq1KABSOw%pDq~3l7MJs4GoRH9on)ZjIMeA7l-Q%BFe5Su1`x35<-UAt(w9 z?`Pr=Ov~Jz)e1ueqnxQ{SYspS>2kfrP_-~bMv-dZNAU69^^Rw5VXpjH8k0h}Hv2bG zV2kwtrj5*@n-GSqc6AWlv--L{Jd=LN}W6_G(~R(!pT5@bPoRu;n< z1e|}S8Av0!|JDb67DTG+S;z>p!bWo{*QusivXO=#HDo*r-zkZ20VSqJ_M1%YT$ndlLcL)8W6C!ZroUT*s&o>%!*)G(n&B#5z53J?nk zc?Y5IRvhXHVKu|Soj({k`$TU?HS(}cY<)@OKOm4Bl!8F|0A&WKAwcH zj%XK?{jm1FoE75{7Aa0C_gn2y?9_UYs&E-|qRW1Q?d1>4$-!Jwtre3fUj3JoL8J9qI7}h93c}zb2?{+|0i@J0tP=Vo znc-|~G9`6$tWLZB@{FEekSHtzMqPzc3dr@3RN4QEfD{32&M!zweOpbx3?Lk{j(tZc z_s8R>DqkNQ2;pHsgMn?BR>Lj(>~yM8fM~0AB35-OVHN7glW;Y; zaW>zwi7BDeK1%4xTwmgngWg~VVnc<^NSpi(kfF6a^)!mLh!eqQQT{&Xc6t5P*+dsHA%-fvu*p zlDqH`NapkniWrfX(&J%3YRh}EZ43;UIy6moRes)kiB&@{8wv{%%KQw#n_bEG zjux>%%6D~5LqJCUr(U`r>~L%R=W_tjB_zu_BU<)Qap5>{+8J+h6MZ|3VXvsJHY(U4 zvx+e6afImWQ9IyqvDF!Mf%1Im!>ea>~H zzJWG=8*hNL!vV zbG5YF^}n(hDb1F1qSkggQxuvaf#8!bLA4`!wP}ED>4bGNPdgf&0qO zv}SBSnbLjC*dZ(2O*4&E(HdWg%52U z*Ze2mkbu@zL$9c^80obUWjBEcV;~rob5jOV8FY7jymak+vzXZ2KgfY3ypBID>yqVy zI-9!sVqeCwIg?iABE+J1a*@UL@lDtG+%&Apf=wiy0HgT}x_b$#KVuLh#y-NiZEGUVqQjKU=b9pSoYf z3U|LUe=`GaURH@3<_jjNFP3k(Tr(>i+TV&w$e=htAmM);aJB!NweH)Y3AXNME)1_H zga_3S1rxq^>S;_|;cqh!MRuh2h|Axl(rbxhM33TiPmJ@CseV2c83LqyKu&2%bmBz) z4WpyNW;4eJpPqK>M1n;^*{g1FOdIJa-`^@&>>|+bV;UH zZpp?gFcJ#PVOS5wc0ds<&Db!i&oMO0CNMMJqvl=35d)54Gd(hPmPI-MgDI;bg=~Yn z9^&!~ZKGnu|Nf+kB`Y5E8#cB+bNgEwpROieyxZ+@xSYgJG+t+2sK{Ir%MZgTfH-yP z*nCqK47ro?PLpso*WJI*QlL#is)S?k^lI-D|rntj}*K5TJxD zxuv;f$lCp1h4WwTw(of3dJZ<)j83RinK`E=-mF9mZ*R^dmM4`mw;@v~6@p*r^ObLw zz@Dx%$Ns~^E5ckyf`naPA8-A|+7O9Edl%g~p`&T4ibcpecj%d&Cc`LF`iIb6POuiS zdzpRG{;;tWR9QP!sA!#^wM~MAe$~|d)NXmx-#nx?o!)x^Xr@Gd_`op|3EgOv7T;D1 z2cj6tM=d{hdxufM&wDY*j?JGSX!bLtpv|ILxSqkR(rpd;rtgX450QFr)?HGhuCU6^ zs}vCOY9SzV24tGqU{CYo#>YGLCKh2g)+J@v{_Q-4GIH*8wNZQ}rq^MdIaNP#2+Z@< z45DNxu=Qu5_lN42((n@yF|NuGHm?Hn%72HC$9N$6CNP<2_8Fou5vaSp<&s*P@1c?) zOjvj-kiv*C85$8C<=1SbR|}vZ_XQ@hLW37XjS%I|vPCYBs7WiT z5E>l|zdEI=eXCOTPb_45=KU+bSb4VT+^?}3_?PcXSZ&Td6VQ~9NF4k#0WX?QSn8+$ z;LSJ*Jn@nxnJV)V)O*T0o^BKhK!{`aJpI)`jA4bdHFUG2wy!;&YIcyg;^-DykezlP_N0@jQroHJ zYiTO-Q`x(0Zc}8DxK;gSL<(2WJ;r1vHWWb=hzJrrOuE*0gDNLd>@Q8+AAot()Xpk5S=W-T zdW43{9%Zp8pEP&3>w{aKBP9#-WU~ErTVZI(Ht_Dpid-d=z|%DBt=l-j>fsX{3mn6n zQYPb{;P_uXWd(G`Y@IELG^vU&ZC-bu{a#i#wjtOS|Mq2+KfZv!dF|UN*C!Y)G{H0E zZRW}Emp=&61}k)$W^kOV81kA>ls*aABv7j(Zj;Dk5b}bbloeOR*>N@#NeeWqc6)ab z+xre0_Gm*2AMppb>bi7TXXgT3OC1LtXv}4ziO@rzB|b}%KoPB~(z3M(c~&g}b6nC| zu?|&Ur2V?oJKo$tPOEZ3K4dY%^Mz%9B7=okS<`7O`9Z_(xPUK6jS&fj$~@`lvatVo z&0bHs-WeduHiz>yUWjh$^NGt5ZYD7e^>R34i|Yi_3O9?oBE?B(5({w1)kmWAR5rfM z0Re>Cfr*{{Xa}$7gY^Zwd@*k@Fuh%;0c3%y8!ySc=1Bm{NYImM;s|mQ92=z*Ge2;#BuPMh7KB+p)SY@j9a*WVs@|Eho zKj5i9elae~H1nN^8uk1VrPX_Ff$e@7kA9}yQL@i0$`4n_h#}-0a{|@G9aAK0Xmj$$AI+qne|` z?{O_+I1|0swPQ4K$L2r5HK`GaObSLGR3~L%WDh+(J;Vv} z*HOXll7|nHqCn615pa7bt4RjOup5-Ek19#w&x>D?iSMwnAu(c+36kzqxguWiizrBA zEEd%{?B6!|8G=V7j-0!@+h{@v+uiSmxQFr&LNG?Xu30=5iB1!5|eU3k0LV>{ld5i4njw|{{;P9xL^h{45A~H zo%*|p974i6qxgL{fPCg{vDWSAOXuiAps{lDo7jr4Rzvkq*M=)T%A?i7XKeZWMeU*; zwQq&0pQ*Iqy6+WKWK09B!yOpo^-A&VbAYlB z+hAHml0-?5d}xB-_D{-bJicU~Fx~^uzdk=PCEz0_j0-#$`^IWF>mo`u$G;MbTT z`RE?7(6Kiesj4;1YjrD}8+GiNK%iOGEj-laL-r5oOsYA*0Y$!O5NM?5kC$ReMQ#L+}JP&2d;W%DhH=mo}rm=ry~A2D>VD_0sx1g*6Z ziGSa(IZY@e5zVE=;;O|z^tU66O`~GvHJ;4E2syw*0Tcr--}`~O&^5@)i`1ev@HPs< zVX)8yy5MzVIQNnyT4L!t&!ifSM5CV#Q3=f6#5VX5NZh94#w&OT(#9g;W3s`sU#52L zN+ZxuB%oZHmU}onGpb$cz!N75uK%LgGV5ZfIE}xCZ6_&0jcBlvHC;!v{0$$(=KQd7 z*-`$zNvQk72iMg}wrOC1u&d z^rI3@`S(id9A^QDo8jM;!I@Yr%30=GS(&U8c=}c9bY_Wo!Greb_~6 z<93B_#*{?i&xsd-KcWL&Tftr#@lKo+QF4x_FM9wReDKR&ByO!T`xK5`vO(^`J9>?O zPGfP1L0)uwNo-!r7z3}4ng`C$vtXxoV3vHO%aQBzk6{3 zWui=!vSrW~7-L8Z`TA-+!r~BiA%L1uwd9k$;@{05pDmM`DZSS@1ezxD4aWDt$lSkK zBl`jyzmYq745g>fJpUmy&cKk*V7k$7J+S?FK135H-3`< z5UY9rNKIRQ#k=yrvn)WKKo)tgD<9gn)R(_Ue;DDVQ$hpr*=QyJ2YvMKF`4n2EPgG> z5jua@OE+!iGsXyOv??Jw65jrBfmU4nTq*YY&+VoLHhFYHO6T10-ryXUhSEq&!M>ue zGBN@%eeR+CUX_d*3yFT98dKa67>LVpQIsNj2J7r^8A_T2OyGUUeOzCJW>SL;1Pd{P zb#oZCA5>wA$0JR;-WVP7?q{b?zrcT5;`;cm6te#Ni}^>G#C|Hur7daz?W<@8P-H(> zmHxiA62{ayb^CZ%Ic!GxKEd*!sf5v&%WPkCMF3{@5B&(sHWP{5hO*>Prj62Ut0))D z-?}l;xEieLAzk|jnTm8QT^Y%St&zkCR@me$-Kgv|;7R0S$P^_>frM-q9#iDVg5Xi- zDHd50qE#@pMw!?Y9=(c~FcP-7m`E(0Ckk(7(Q}Zqg@Xv^4ss@_rGjbKLqDd)s`ZrX zBA2p)?{5k?$Tb7z@m+mVC} zXu-`N!l^>>@gs$~vPXa}8)5d6=td|^UX}SB6tk4R@P_n}noYWBxpvK^kwh3><+V-S zCz8XYy+PM^g~eck>Mt0%i9!6A^JxN3h z-^!*SXN$qVJ}P}UJ8PuRGZH}cy>5N?S23q#fK@}Hc@|w>{wxCbL(QeWsT<(Wd@eV` zctwZr%NnMxgQB4BPH>F4KeXR~zb}pZ%8qT83`L*bw^m_(_7%?Qr36~tW{O=@oQoK% zuxdG{3B}Ix-hKzBQi&oy1`@?x^47MyPT=aeAUe2ow`?}zqEyo`&{)i3Nb1TZ|pp+;L_ z_RTMHHcMDAd@F{S*mrz#wxcjMx~cS(wrl;;2etzNo%Kp>HEABOGbmw#yduMblhuWV- z8qJ^O#k-C8qui|KoE%#Jb9j#k{&bCWf?xvjJqk6I%!=*f$S|Gpxe}ol!Yxjay1F~8 zFv2ZVa11gf^1IMqbeqW8HtwYt{Clv`Ysgl$=il%Jl(5Q2|1|WDI7Oq&!M@GtbExW8 zr149lhzu~{HGU{7JNsY?MKAeJ(WLh^>sM70tctP~U?Bfudw-Zv6LJg} z0_9I03Gc~5CUVV|u5vuV*L7m7cjoQWaGzhI&3OIqR3WK>-_WxqS^{dqYs6Z_Hi@?) zeZ>UCBLo%r#0#v`8#713lQr@{d?*bH4NOyI9;MP7W#~be z=unZ$6|v1Q83+_LdUaF*#aQ`$_M`v+snLJW2xu>QB9<*BljAQhlbdEA|0B4hy14m5 z0S_#i-qt4P5GkL6EmF^uJVMtF(MVPdN!cCB?Rc_%pQ}=fMf^*mpXa=B@L_m@AO#g% z*6L+I#6gLiA0vZ5@UCw<@hzG+lG~~_*T83d^h8p%iBt<)_mc<1@Ls}Mzs0e@W12y_ zkN%BL;Vf^m+{`{D1-(qItgK+`a&;>8;1VmC&HOy?B0yS26yMbFG*ktuzy`k$Mrs+o zFMWv^JwvCk91pxkeO1V!I1FeHQrx;23;#SS)PP#Ur1PCj^?ktu<&mJ5Tjig0HR@r} zf|$`62BCyDB}feJ4e^goXJ;o22}P5d5vuKJUIab*JRea5wEq!^LWD|o3c0JDSs0@o zp@9`|CtmGIQ7*QqAW-wG+ESQ7{82r8B>8sbUh=0j2K#_d@IU&h2F6ed1HxQNxYaI& zgn^=dXY|>8`$QM9ch;$`x04$?BsHn(X(?P2mq<-_Ci`Cv<2u){xd4ojlsi_Dq+On{bBS(OUjr2BP~ zIMHhmvUI^FI|(^9_Z?OhJt5{^Uonxa3r&F2%=vKo$^TkeDNJ56$n8FacNFFv%Y(4h zLnKinWNxh2vxEwNr@uAG3ed|qIP2XEbOMUT)_{IAg@H~EbcNwPh_(fQJN!&BLpHs{^yB}qW z6oCPp)dl;5w}*8f>bj)KS!HMmohaD2Uw1>Z{nZH3zaYF56%9B&*tbFR+Dn0-op}>I zP%9xtL>=6e1dxYyM>$_g`t&P!Y}2}ij`OFbnn<5pwDT2VUXQRVC@yH198 zKSGL;!}ZPRCBq9tAuqP#_97b|*CiPIDo4pB)B`MN7!ZotK4M`84%6-XvX4dPS4hx==Z9Xlq|de^137RvYHgzYJghyK%ZmB zobrR_+{o9vgm$}TR%noQ-(QRUs4dnw>5)Z0Ne?#1)MRzF(Vo~Qw zrssiGy9;pyPG=b1iE4n{Qyw^$*Ghsp=cngg!<@1f38t#w2a~eY3H9`b#E|n1^J65m zc%h|(OHO}^nJ|b{bp|{2NSiyu{01?mK1l9!zH`0`4g#5x-bnYL>b;VX3az~z=vkVz zR#PcRMmImqFMKVxzt+)~%}h;hQcVLWV8vF6D4~P)M^Mdw#f#)G=E)-g2HTLkmp$#; zgz0rRS#zrQNq2%+F;yu!DiyrIg?V>Vi^Msh9r7$l$B6<^6!a8JoK`-74kI_L5r)7+ zd!eyKp~<+{jLGXp1COkaziYpSh_`fa*dj62vTqGZmuNLLPnjLYCsd$*I=Th1rFydT zZspIV^LF>-QNEXsy$EGSA+4puV?@=gXNMC6uqRi@O1Rh*8^hj9vhu+Px9$CN`Yv<+ zh6$NRo0u}#NU$hY~^8-Ko+R#Cyz~U=mq!#c%>%r z8f_sbMJ4>oN=q&mG|8(ZnUzKXSu_U+G-vaoCH0How8-Igh%`{>$9dIYubFL5X=eBQ zid{)c9$vKbsA3}>tL}uUb^eIrw=<;NE3FNI@A&~hoSd2`|CdcHz9kzFt0%U(0^U9-YQ|#Db4%-Lh<-k_#A(+s1p|J zpYz{OL)LHNp0D{Dewy@`=o&G@A?b9_|{9k+~)ayF&oX5K|P>)%)Aq4(p*4GfcjX7|8e zm=Di$w)Cn@Du=+NEW>B?Uc?6RM#sh!zl-IRA@glm75wWl^GQ)I|hbId3 z9OSo>i4ikzjkKHZQbdbu&%7^XFgph5Qp^KDsx>OanDrpI%*)?}>1Q^%@$Jpm*KEjJcgsBnw6+H| z*4~}kO<~D=Y0>FQ3y#)Zp|y-I#GxQTZ@Bs3+K0$m`OzELlq;m5EQo{lQ$z9`lnI17 z=N%pYJxwYi`t8+TXO4ahEKg%1oSi9*g?0`p#b=?8 zL;6&0hZ#{2_frA2boo5=q`J~`Pp_LF1)f3=V(?rQ$zhigWhyW;}{Zq{V())&X(op%=} z0W}9*i_J53q3vAL7zj{-Ddb!WXdYIHGb^lR2_Vc(qJ-GBKB z!)JkL%-hDvkNU>L0F(uB^ZhzOYT0o_Z6_iz25WnwHcYP;S<+(3(gtA7p_ zz+KdV0Cn|8Dzab|M$0~{&Ch721XSXXrj{|o)Mnr`Xd|q0&!ol?azbY21?k~FbD#YV z`NXK98@aWxg7cE;UvRhhGc#m%MVSzWd;f(ssc73;aw?92+6KkenZ@mq0!GC2L+26i zJ0Ar6?-;C^vv0+35>XaEZckprNl}Z@d1{uSaxajO*{0;Kp^w8v^MUb)TMjjpgjj%% z_VgD~P@WyIPj|5lAh*C|=v#-L)c89qX>@2|HFsh@24%)@8Yge@-{LzZg7W{5Y_)(IJ@Wy5E($F`@}p#1_4Stq+|XWtq_AotShNK{h^082%0#o@?VdBsKS z$pxU+GR16f_qTOf0Ax7;z*yln<{;`Oy(t>1u-qHM334~MfC*(9z|-1=EOK}m&;1w@ zzVE=jya-0E+x{xY@8t7GGc>tuPS9EONOGzHzGJaYNlJXtjF!s>yR9 z92I8ycW9T=s|b1nk2u7>8~a-0F$)?XOaXn6rhf@p>!c{KMf=x42G)B|1e|w{$NR`#lbfBeVA-#g;{0LAYXZ)0*Z{ro0papQi&%ACb_FNWdj31-v}D4~E>YckvKmghVPIq^+@T{$V_l*ji_R zzPJ-g;wdI@1}@s!hxn87KU=^#l|U09zwcp+XMd2^L%TPPa*N;WaqmoIQCkH*>tiU(rfDc3N0sm27Xdm-s8NI5zSw#nKg5V~t+LhzH)UL(U;`H6!0qt;G31{5F zwi^>uFZ3GY9Q>UdeJgYO&8aXmwJhXH9xj@{$a#yjuFzW>^8Tz~QBXQ(jWcTYm3+d8G4QS)$G zTFr`}N1gNa#nMSabH82B38nl@Mb2wcr{Bx&@!k5eEpz4!m%FGRq z8F#s2vF21z{`&ZL7+GvqP%L1@vBDg?jOP z+MMwBb*0?{@iam>W-Q(O89?Ov6m2I5j>5Ji0lmi?ffG>J9 zAd4;p$@6FfoT$O!!a-Q6Ad-ssaF9sKBG~)o<9h5hQJV1mvG2Ou7yIdH!!yzUa@6(T zxMvU+bZ}p_ktsPOR0A8j4p1+BfIUtr4agL!RmU860;AT_uUh9FZ{HmmzZn_)=~xZ? z?`nXD=+Htq@Nq#~sw||S!L~~FuPlKrR6{>~p{#qU7{pelEG>2dcwgst=WFo*0+083 zlqP6D?mH)=!vQ=zfO@1;WIrQ?*Am*=tEizir=67UmyXbSK822&f=uEekqfo|MwvbQ zQjvQX%_JRgxi?ZZmS?gmBH%OIwB^CaeaB~G_OQ{Nz>`Ao(X=9Ib>KJRg{4!G@~v(^ z8EO5iV5r)QE@VyTeRSz10(Cesh`$5J4sK5PT00*CkoYl!b3!Yl=oay|cCC)*smQsz z;9%QRn~EJ^z4PH{z-{cilN!T4MrYHuoBPeC4R5oTS8}v+Oad)CrZC*cfQpu?I3o+ zVFf(x|BK^(EE$|Jpwk_E>7+iP`tbY?{Rc+q&P^GO8<24p^cxF)%t?jp>CWdP;zZAn zqT@Os01^~H_&~AsgZHZV7`7b>mT|*`(}(L_`R=MG5!4mnS8>K= z%}~4x5A&syiZ7YBmdqfQj^wcGk+{CB$tn-{c4SX~lE*v5#4_){Kp{G>9=uY#s@-GB z^1Z=uXM9G418`ygU{~6FJ+U;oqOxoQXB$d#h^*Jn0xjUp+Fp~L~waN#eM6=jRopFT;|wrGo39~ zaZ1{PfL?oCU9urcSxCH(U>$CyL?r>gJX71-3G*441#uw4^!zbpSWvon!d`*{CZpk3 zkh;AKb1PCNtCamOW=Z~Wv$rnY+pm~b1?RD7%2(KUG8#uTr=Fc;-Ac7=y}#YQN|u(D z0R(6S&+;_GbvqF8Cb4Cv{~ZKQtfW3LIpQFJjeh-LD#=&Kp1&;?oBk{-eL=FuAupH| z{3$5Hb&HB5%wSsc-SQELb=sbW228FA$aOW5`?o|pvevig^|D>Hpl!6je~5uk6*Gg& zIu5`#_Fq6Eg|@G3wWnwGyni@WuXuzs?@*plySmHD>~50gF%6?lgGo=oY()&a@Wp&n%JoKH*=vw;CnrFzDvxG?y->h$?ia3+!w&jw z4h_rd4Z#Zj+6{qMVhpOp9VBkT`)etTVHBNth$U@8;UalrB$jVR{Y<9e+$9rwh(JI7 zAs-gw@q2uieiYP1%Sju(WVegVZT$tEBtEhI=J zaI1g+>mLdg)EoaYwTy3odC|TKHSMo--RZSG6svaaeAz`4^!?VP^KMPbIcVBzNwI2b z=t}CYSV}gZM)o!`RwQYFYaQ_8s1*SLM=} z(v$$UD?+_uS==M8n{X?09-+OV3qI628J{IJ?g2?_Z(qi0TI!2D7HJTAy1>K%`dm!2 zKry@-+RjnC>(Ohvxk#{zG_fUl@c|9Ev!e7 zfy$j3qObFOYDVYz1N{YZDnmIj&O2d;^`j0186Vu^s%OYcn%X0R|PY`&tPz(n>N78Nd(1)&`Baxp#&}j{Elki?@l$M+fow% z{^2Yx1{6H+M*LyW<-e?%q{v=l93dj`d^d@ULqlCy0~1mT%8*jX)L&YRq^Bm3<>KJe z{!fkuNlXtrd)@>eFgc97U!63fpbX{88l_%`p>?3UqEC__+jpwm|E>ViIffEAdNC8^ zv$vVmC9g%hLZ-Ma+*SN!Ba-+nLhI++Gyyu1SbXbxal`}h#LIHxvSuzg+;z|O(W)yz z_ZxJB^d4}(#)B^Q0kys7e!X@@BU)>_C$+kfng!M9B^WQ{aKC}zNTo+NMDX=x4Mk4dvXcO>{vM0jiC11JfPxQ)8t zR+WaPak+I$LasvVg2g8W20>xT^w0d?9=<{1pww51&PjqSDOEW<7iGeK-e7<`-~g<9 zb%&1!Uaauxe>QXr|G18T zy9*D0&#K;dE_(frxR+u-0HCwj-$pY|&aNDv-&C*vM%^0g*KlCR7HqGzFVxnlcUgY^ z-)(yj!#EMqEp)Om4z_PV$r?h^wce|e=mPk$AAO00n>H-UiKMq0fHxt zu`xE4{!&C+MO7*}Ct8A%&uueC)%}+sBoj_hga?lJvCDTNE}0K$?V0%Egdiyn5A84M z=wF1UQ3YYQKEIR@Cp%^fnuCKPTXyZBoB8PI3A>ESB0J~E7sM{e1_K8OYAx4|-d#vf z<)_vYZ>TpvISM8S0}wq5kesXOBtZgoeIB?-RyU<^X@Lx?)~8W zS?=Tg{_64LFBup}UV{~4w&MzC;1<@tBPVe*aYiprH;BYO%ZQ>EzBq)t|ppR|jbD2rVh;hw9EBG0e#+tE;O6H6dUB gAHG}-jy^!J6900nlVl-JrUw9IBo!s9#0-P}52K9;i~s-t literal 18618 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 O1Q4A)ogO#@{rWdtIkAoa diff --git a/src/qt/res/icons/export.png b/src/qt/res/icons/export.png index b90c020c27eb225e27425185c35f230fd6dcb5a7..48f0d5375594f9629e6cc45adfa8d6bc4270bdad 100644 GIT binary patch literal 36859 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 literal 36776 zcmaf)bx_>i_xBeT7F*oi-4-cc+^tB9%i>U=cyU$@)Lls+}d$#H@`?RLE``hh(zT1>rK9FO?C(4d3ocBp90#Dx_1m}7;ysV5S-Bh#+!{)aGn-{>jy!f&=SY5mGsMjZH$oo4*>T< z&)U{K42=BC(&NXB3}~AXb>p>pi)eS<`kqP0Fc-S01zNZb5+Ezy`)%j#Wf!n`Z`hV?ZQ9MSz9 zU&x@`gfm(wHW}a@s-N(_61)3eyAjGveeU1B?Ix z!snwDt1+bedHA?s)~9L2yWQZe!~b1$#D^l*lRZHKZRihS zVrt<&f(tH*GL2F2dI%yM{ccXL0I8c;)>hP|m1 zcg_3jfg5|vo?r^vA}54h{dbDpPvxgNyEt!gR%0-^q|O5n*AdSR2Oh-Ey<7IO@&R4% zglT@|b-l@;x1LGEMpU30J*_QG8kRlzZ;;p-@x?`_KyFB4ckZAYH*_Iw3O8rR+C zw0AuZfpcL+HsSe%J~U!nSVl970_B_O~BB=?q|IekqXVL%oUNr&BaC%>QdBQnm2 zp+7nJYwCNg6#XO+&XLx2f!#!*PQf!FGeKNV!EJ7^1=t-{B>AK7GR%vZ0Di&)@I`pv z>$_B+53K7!>fI5cw?~f6b8xGU9@gn?BbQ2^hnJk3(qWc))cwH1*;~&chG&Ls=x@{k zP~8ODka{1HVdY3YR0JdiK=GzR6+@bz!EMcjdk6{SIAW;Zj=LvAaC8vzt%o}h*P&>z zaS!=H@Gm?bCm#g0P|S^n=x>h?b}I83KHHE8gN|6WAI z_b7R&Y9q?C1$}FZ9;^`I=fDb?GeDM7N<$6W0z!Zh!`lEMMSY-m;9wO2FJ8bz?^(mh z?R}zWa(y=?3wHQX7qFX^fE{PL&>3rB`!oevoI>QB9>%WME(j|mU^szS+nAl47B+~m}KtchtsRoK; zhG2z*NUm-K02@g1lbopEWHKk+u%33IM((#Z7}50J>?2C?yKH0?z==FwYGDKL6OchUo%_Xu59; z_fGN4X(EThI?~a|KAKq%tt>!n%__peKT8V1D?Dt;kZ`7;zsM$bAL$rgDkLF=1H;5f z2Z}d)uPb}cCNM&wcanF2v5>VLqLR0F*H~B9MC)Fsa3{&1*rz;kOn@T!egjxR@FBn) zxWfw*;Gd^y!n*qiQ&0i?gKGQ*k*4J)oy_?T8>$6ygN+JN*+MIVq=0H55Lq~x?GH#J zQMQ3C81idr*!ELTHdQu%n=q{1gBwSdks%!#iI2EB%weNgZXWm+Rj|l!>MR%_;T9P# zis2_#XciYP%HJj555i<30xT5{0hn-kioiz8pnp$e zsep)Fsr`&x^UfI_!L|G+TT^%@SHy%wL+JXgj z#=}863<&*^dtLf2o|u+0=UM68UaAc2)~_mjRA3HtA8<*ACCiy z2Ohz2(7(|RBQ;w@0D2{n&r{$TKocOG1L0qen9*Vd_(-b4W?svo>sh82LGKy?lE|3I zY9g!2;rR&=sPnpDggi#I^~R%b2o0=6XftT$^r$T!alnG`9hEUn34VPKb|C~|!@Kgb zlRx-Jr-n~>xGxKzbiW(F!;I^mw2Ayt(Da%@NSRqvJc0m}UsVIjUxQSf8l()Lu9s{n zR776?$_U_E0D>g75oD2>P;ZzeXIO*?X~3x2Pu2DCax@@6KQ8E^H8hB9KdVmz*jpB1 zl8HYds^DrdpH0fHPRb@xEUAYA|FXEIHvV)@u>V95ci`AP4YqA--QYSiEIblH35X?% zO*i!IvHAzY@yYrpN>nyq`<+=p&Pqsj4RBjX^J~ke;L3AkTu)x3fVkiSY2M z_n|$)k3iH~k(*oQu^HXznRAjj+=&F=rWFK{n?gYa6pR2$Sc@hW0d6lYI%XqhJc~R& zK!ZSLQL@Noxal7p9-t*^9BDIry+ZV=X+#!_SYr%5#lvUkl|&ceA5IWw)4I zKRrh9^DhM2FII&zF*OJx;m`S)B09F@j!sgxSu=@~xuJ=A_2XzFI1I>$F^QQf^TR4c z|3t}K`}J6ihPGh@ROCC-VA^m^B+Q(ymUam=zu5MMM@d}CY~!&A1b0cnh!0EdSPpwP z;;qnxVdBp)wY4{!3u-t_P(J`V6jcK;vNpt-%h#9+hr6FxlLfG$a_aO8mY79FD4;lZ z?x}ftMv+?ka41a1hg(!DWnZ=1bpo5xgCEWO{v-dz=5gL*x$w{Hr>8Mj_J6``u=(Qg zP6e=A0-^6S0=khwP$10Ed`K@T$iT&+E<`6{CQ4o7&*~-|6lB}$W*A;#g?m`We1$d`!Eed0 z9@jzwzdu!QFSt^og-WQyW636L;YNa)K^&-T4KzaZ#8{n)dhO0_wt1b%@Xj#+Dik%f z=9e(bRD9jRYo^{+rN#3vUm7vTGcxK2b&GNo(W1txtB&9ZWSK6co`0cvtLFKvx0ZK? zkHg#6!E!E$a>;h~s`}^RNA|aTZsk3BB1#5Mgk;22oDF2 z{~qO%o$>ZU$ay&hZnlt?J65PJg^~~MEba^A01v6Y$>GTRKUrq5m_Ad}r%cJbg5p^| ze(T%@32S$*s}pa@>CkT4N2XxN@5fJ1zc0RY8I60OGgUZOEQJpaWF}!m`D-GDut$R- z-$KGcDMyq{nB9%LeP)0lH1wPR)SLjLkxcVXKMSVWzh*UXnTOaUqJ3j{N;^WPVGVFE zR8iySyN-VQsoJ*PO_!d8-*%>{rQuKC9%6?5zf4$C8PX8e4^sa?+ufIMU${<&gNT3Z zAklqLM0Hd&zp^ki;;%OApgNmNZK&l|)QW^cKa9g1&sc+Q&7xmq87jm?ZuyIhYYK|` z6rIvNa_)(5*%Fp@VCL@DyRM2wMhs%Vweko!X;`oSXVN!~J8GUHl$oUfw#S`YQiIkt zP-V|G%}AVzk}wT_gzW@4?x65$QO;Rh_4DmDK^%&FY|)I2Su_)D!x|a2i*~G%jze5W zal&0kdhyiM_@ebc>YV3Z(+L1DXNTQp+Jy`Fc@d+)*L^2yoq>PXz@(k8He<*nN+-6dY!R zuqFQdtnAb6{2%T=gJ?P_X#CXkwsiOFohbI3YskkvE!!WRX?Zy>^BZk1XY6(NO zO;j}AmI#``MF&M2aeTq2{Nyk3MK)w9a)}Y7N>B1Tyf|r&^n$=WU^iSKFQk|0SKrH)u94!CD~-YN z)sPJxMGIJ?_=0`&#kcR}usCmF+|?(?^P>xq4o$`Sq4^Apy>lHB{GWgS+$@k9Cd<BmG`!j6Ag3g)3ho?CcU8H9581sh+L^iYPX}voZ zKg8QVHA(ATBXf(ddwwSz7BCFG>2cb4ZpC`uXA-RWSx|>%y&EoA6cI$ej0EieJ;_QM zv_FHzrj4H&$7<_~7=q?d_rkBLMd3}@;vrEy0O{)@bCR{jC>ty_*y+4OtYKs8<&-&0uU~8W#~p zSaDA`Ty`N%{WQV($s>LWJj#R}$SAHTi?$eAK>zs=@aoAyqut%PVqXgTOMsQk{`LS( zGSr{cm_Z0QUc!^h`jq&jAJL3ls3D~CvYa?DiR3k6>UY6z^a8>S%52=a;?7d8yA{o1 zU#K`PKdH;QLPf;hxbkqp`X+qGq)V*KjYV}FHJ8z)E`f{XMbJ97dQar?_NDSRC-DAe0yEVLGQFZw5YjnB+QvIk z)vEJM(ryUs7yYb*MwXZrWQ*8{04po32HNzk%WRIHK4wU@?fOKUy3^ck_SfQYe+u(u z4zT7zSReAY-kG_`%3B3RPfa=$F3L(s>{_(^iNY3>G0GDD#JRl}%8C#nXEP3Dw9@O_ zkf!gA+3aDSn6_XncZeLN=M5y`uRptFL0tcF^d79m$oCxiH%>SXD+C|jej{l|8&0aiDD~2 zX^4$=d>+Em8Pt}hJfDALVX_tme3mjfkA*?eVOqd_M#z13$FOx_H_G_ruis@vQc!5fWUTO=cyWsf}HN;!T=(g$;v*XFQ_1qS?8-+xfb zaDnb^L#pzGgIlV=-E*ncJ4RcR3Qa)%+v}r0ix1bLcXPlYPPu&nGQVNd?-c z0Y+wVX!P?p7*sfDU9?wX3e&MuSNk3977-Ekdgh=eYpSZhsVxK-tlA7m z*S5_xpX$nE(Xq=1^Co_g&W+HBb-reCPQxF=mwMwZe7c|Y(~ZHi z3?MkYteDHfwV2M}YLqXqxlKR4V@qgF$d`haaHL&L|Z4wSRw5P5fXwuUDea`5YJobv(sC(kQ%$$H=*6L z^QqfF%m-r8wq}d{oFTH>8*)tXSA62R>8EOy%d>#!2)DT23Iv~0$VYy8hYhv{X_NrU z8IQb5F7m%~oyzqXQG)Us#6BpY-DzAXQn@A4ey>4wSn8(L-%XDIQ%j$PQ~|MoE5xU# zDig#v6|oIs8+4kzsaNqbR5h;g(FB5H&hx-hOD#mG1uB8f?~$XfSADuEcB&*}NU4-} zHH%`JbVfy$tAW2%5JZ+Vq%y*t6+=DCE_1m*d2aq93QH*Z+yp`q-!3^;E3$Dro+_6t z%E_%D$1+MfR}$JR$8tf;`|Z1ecMt=oUMa`?rkBq>{cdP;Bhn6sh*@gdHU6g=qA4k3 zJ9o>$8A|di^nHSvH&jS*K#p;Mf_RD5;@Rtg@$&N=r=QCj6d%AY9aulOXY#!;;Nd@b zy#FHRcl|Ppdn3PG?1cKI%q?C$@6pg0+%8&pB)WlWQdbu z^o6Y}XyAR-4eGJzowJ>${8h9ijJNuJS&B+XFgulD(Rf-6A`mDN2(?RU4o=4K2ayVZX5WA zXt9ESxI&nf5tHO0bjnH7Ok<;|X^HAaNK8$#GgF2?aiD$WvC9hYWmp^dLa*1c+FaaJ zP;Z1V_gfJBJ;MDlf4t}s7WFJwI=y0ZZ`3~T!_O!KR-T^MGT*H6yNP~{C+*;wA2R(j zWxBH|hCBp7^nhiP`^J?{iRT?UOu~hjVV8gwd9I2c%&?fg2GcQ18cW`GXomq>mnmT1 zA7BbNe~4P8=>vRBWAASyROyr!z%3vE056c*!&K9diTdhorQav>NTZ4U-BXz#XrGGt zv0ml}_QvExAXWFYmY-(%Gcv+=DE+Aq5ovHp8J4G+mXAP4Y4)`U+>le{g;ztACCx}k zP75?MC7mX9_*-28(bja?L561?dLyAS!;OmH@TK9EDHjRODuypJM8wd>jD+rZ(|%>F z`X*@Ma$wn6#Q51w_85%&1t7pSk`ze>CYh-V*4c(9G%6Ye@xwZSk&O#$I2~@7R5q{x z=eQcYqDLFiwst#bNu)_6Ow1J=GCF>s89?eUKn_VRw5V}iq48_piUkN~vWO7Chf;(x zb%tnY4-g1jD9jlB{*hi4px6}LT!U-s|J{l9T&4U@jT-TfvWwW9t5y!eMkruJm`ai7 zBdzpJPU4TJH{8mkZJgPB4ATNx7NiCRS^_F_fMt0Hi zW?k^`_-3wicai^zZjdJJ3sd&G@`)9%I0Z=KeI&8|$CYxw^)68<0VywZ_%Ht+MCh7M zkW9FfvjrO=93-pO@J`*mFx9V(Zv&)lAjPOGqtl82bW3$8Cu$s>0+I&RKZ^3EDyI#w zKGG{!U?@DK2MeHtVQ3YPlBN$VFzG|ePatx71trSK%QiY*EZ?Ty*Ug2FI#azX_p@_x zQL5`L8QJQT{20bcYn?9K`tju3R1N!I*&Ff1ikIk`1RA{>4Li#!f%BCSHZ+gVq*_FN z(OF?!oizka^|X-2dWA1!i99-=b~zfrIp~iuBA6ZHg^qEejD=|iEu?M0#EP>D_(($0L-5#zVrvb3eOSh0_ZmNDvhf*(h0A zPo+W#ir;f{rNh&Hp)WmG8>x;b2bBpoYDv>cQ)<%CocApo^T;G6nJ_1tqhoCFMU1)B zD2xXWxc69tTkzjIg`YhyyI#QmCI_Uqxh>YVA?R=p3QN#?PO z(1{@>Yn&mIMOxbcGRp`7h}37fB$E-#G7WO=VMI^fUiVWbx2nT)g;9Wg!AZXeygs9M zhJ0>eO zF(uoms>;yu?T=XviF@>{xg~F>c|}$9A5~ebL&ZK4`+A}1`p->dW zV>el<#16Ihj&Oi^WN_P;3(*=Qg;6Cw2;rh5k+C;kc$IT~qaS+DANu)AX^cIlK)@-w z2WU6u6{^zJu9nHB;*uI<;a~R+`=et#E`YQ}E-@cU9v_j(#FuwA2b?km3A)WxJ4uHL z4|Vz4C8MpnmrsSP`&$Mx0{yN-kE<);6|Sb`S3w)!_hK~O`(??c_$MbSBoR&%GUuzg z#I`jA@R?``m!Q9nJpN$8z4Ez7z4(O3I$B{%#>zPxedtj3Y_UK#q%TqFR6lM>GEnN3 z!;2FS=Csfrm~)%JkW;m@r*xsCP;#|V3W~B|H!04=JySErS0?;|UZe2){%HKFAXaNE zSviw|MQh}2^b_T`n|zEyJF=<*Lz$oa3XU`3OU>}5Wz*b7iy4_EBPg9W4@rG*B%zOW zY+pw2zMF>c-EU@+Mh=P`iZNcH+W7AG)i3i=OoauZU|M+U+CaVyx;Squ1MM254 zJs7#XjkOM2|67AqPpVM2y*G<82e-5P#w=n7W%JjBrcy#t6K_T3#ic+VAfew+C%dgD9%!&V@s%;e%UxVRmOu^Q@n|+a$y8jaXlL8(^6!xoVkD)p$&th{+rCec=b!L; z+C&DxAKKseE$rnFQ@>P_W3=|))@}v|XQF|@V*v+Wdyf;a>blAy^p2T^R-tVSyE@B( z6B>_TA5Tzq($ls%yga7!|K5z*;>%CjMucj_tUBOpz0joK40;xgo^p{Rg*2MPH-# z3K5wRH5QBErhQ(?RLfJAq!Y_^;Mlf&YF*2=IllC0Z0}w)e){j8OxrYK60GMQ26W*V zcSPRNBxMv9rKn%W)0Twa-XjxuWA1K0?8XRf{Y6syqQO^8@{Y;t^nQ2jG z+tHmyZEBlYEcIwCVOvH1RX;8#idMjOD2klM%DLAM#rs`54JJAJ1W8AaAM=BYC40k` zOJB0av`RPM*0n0L#tzf7Xl)o%CMbCAX4%wrbf9aoeE{JErS@6!25IepggmiEr{fi# z`~1(dsP>4S|LkBL^<1$UEXdmtAk(bhz*b&2h@M~KWRBZoBeN09m}3vK%fCpSOUGa& zywQ6l*WF*U;k_C+Jba*x(+J*W>h{KjXRn+ydafLhW|C$IXwNSeh}In(pXH*|&2@x4 zFrh{OYTC{mH5mfvKHkG0$q;)``Yx9&?6H>P=Q&qU{IPT&6-QOHzoSV3;+xteF``S8 zkxSow;6>(+O}EZ4dLJcMGtn6LU9Ugw$vV85c9d(Nbrf5-Uz9CwU&w$4;!53LWy65L zGGu;ms%e+*MM$%hpI+|VzAuMM`G)ihJ#849^o*S&s87u(OGo=Yu%Ox?59(atVw0XfAV&zik>J-Nlh1gl{r& zwo@wOw+LJ4Y;RsB{coA35?l;e+Pe%I)2n-S#12)PUF22oenov!wx>GHR*N*@xhr!? zWZ%?w2@b$!RYTU@$*;iXFvR)n6Z}sHJX~#6t0urFYe>{kVYoQx2 zY(z2V!^1F$5!>`ZLR^c>((A=2d&dFXuhbjYaP3Rlv)V^&cAp?u8?YuDp^%G1HDnZj?1t{45GoP+g@R? zA2uL7TX|=oGTWRO21)A_-+vUUcHg_vC&-Qaiq~P?JR6Pg2D2{yAtijt&LB01R$30_ zdiR%bK`bz1&mQglC=~G*ORRzgi&fTgv%M}4)jLVq{YNU}1Vqu7tb^UZ;;F<`zGzeA+#-Q4I_{Cq#7goa#eeCw0|dewsT$uAkU~ z{jk8gIKh^gI>gw&;bOqH=6gx}tDT7TZj|YNMR5T-Y9VB8?CzQ1Y$A6)>@ZW0vo>&; zge=$j3j)-B{15fRq}0-^#v)nNTL#}yRyVZxDw?U4k@04`VHBIil#Vz^hNDT8K)hvN z0iH7&j4rQ22~z7ogU?{UX{-GKgZqnw**DTFU2Nf;VsLEfJ}L4dK?AuH5?m3_;fF}U zz+fp;(YQa35|$Ps;iXP=vV`_uP{yQp_wQ9`1F!44VBcJ2f$Gd-Mfy*4@k_UN{1Rdx zm7ZrQ*6zAG@8%tmHd=y^C1m0rS6hy=R$+UTU@{hK2s_DdK-M3PUm@)-e52GTTOd^J zVWhJ`#CM4pV!mLAeb^?4O?r;qE?SB7x1-;i(O{wv(Ts)e#S{txNL=NmnmUKu*~U5> zDT!JG#ejZ7Z*)#|hhK~IHpY~IAEZB2)99lZqSSv#_CrGI}hZax?l5hy+* zW=5{lLZWU+OO5%NR3bva8p}k_@)1In;BtM~sPfMYDd&>>`{%ubk3ai$^^FRg3Y zpU<#hF6jnp{kB&yB1EJjs26oyni$FSVHY)+<`uLut;2Me<(mE@|y6|xnahd|4 zL;h?}Klrhs+h75eS*wNNV45S2!{XLnScGqSeAJnC##eDqiWh>4(V-Lf$q-VOat7V)}l=m?(ZEg&}LB^(a!I_$!Kvy+&6A-y+=7prY=u zoL9l%ah<`;n~gK7sA}X+^R$7Yf0M4O_s5O$#8T;l97{fiJ}UkA-4K0MRn_|8T&14A zey=UR55Hu>{Z?p5)BLx%0`HF(TM}h|UtS-&U#?#duwL$n1c9Bx8`Z&7u|O#lKYEyT zx1n5+E#&|T%_qq+WaFE5ICCCyrK#v9zU!E|qOX7iffdjvbK!_B5UEnMc%ZuR*fz1q z)poG>eWB``6yWHtWxj^cT!|Ya8&r$AS-)Fr_uzuG=Y4ogsPY~0C4iwiqXa|!#aHR{ z3bjwA7&5R_^#{E&ZZNV0j5i&m%BCaCQph%m~ykPl%z0QdRg!=hq;8QTR>50~n}hiUPk*Fy3) z4-2Q84>>4{*>0JHHHCQ=Fyyyk?Y>66=fASqoq^`uA@>BZR;jjJ#~N%>P=OL)o2{Oa zr;%QXIc!DyFD0&f$<;~Bv_k0zO{_lsq);}jU%asE>0$3xt?07G8eH|?|GxBABwu?8 zqVN#29MQ(3j1hv=-ghYCFO+f^*=JOgpnKs~ZcJF4LS~jhvyFd{TYPAUe>$3hs2*lp7L(*hp?+Q>rFeqtbRax#^3vUu=ZzglG=E08V2ua zpEP~EJUX=Nj~(aKQJ9y&0c*%;kYf&6*jK*N1SOG4-+I;NKQ5`-LmC2MnFNbk1aJrn zO*xjc=t%L^yBzrBV&o&|-$|-BQE99uPrJl0dt^t`ezPkL{woTCJ%XW84^9X>z;Lc^(e^(r)ZMHSgDbed_2q zFJCx+`>ypN^OJ=3{_Tpr#1KHs~K00r21Q3~bB5Qw(9MA#&hQArL9HP8%?3DEndtk0%B6iO?_ zMLnS={{;d1V&J_&bN@rImICixau;ELU_0vLS8H}{TkKLo8J()B@J=tI4^v)HD=XxM z8sq+gxyiV0uEJ<@p+UZUq9y(rc9!YxKFQiA7EMbzRoibQi zM3i`XRf6MI>?0twL8CMho*XewT@lCy9vWdgr?i?ma8`$DorVV)XTxdGPF^Rt{c2D- z+#8RZA_{LBg}J;n^`|orGuDr#%pVL@reR8AD@Z==uHv;T;P1 zdwFPZQK3+Q7P}Xy$Y74sDtz^YtLz^g0$#84))%5E5smaX16Z=WU>PuGI7o`GuoqJI zARLacC=&OuOZ>))1n~;Hy0VVlU9ea1*iHEIW9_Bme)ym3oE_=7 zFUR8g%kBZFfOkZw?}XsMDkW)7?EM9_OW28iXb*pr4AWP|Kg`MTIz&(MGwEWcBz&Pp z+IwlvGuwm1(Q!#tJM- zEJpC`x}Tm9ZG#E;!QiUL%XP9(VExJ}_t0nySS9+3XY9lwK4+eNP(;9-M(7JqSmoM0 zP@-MnRrlSk@nw$TrPKGH9&X@^Xc{r(`GosnVjpBGV>I!f()+d~Y#R}HO_#4slXC19 z)+!5~efBltvm7T~X+G_|OH+yD;=qxyWvB%7?XcE2aKbs&=Rs%JspFz$3l3|_m}AS& zf6u3WD=rx~|IlV%jvTPo>J1-Z-6iHrEk2s@v02*i;vE{Z47Q*CkL7zlY(HOL-?o32 z-Q1P~z&E#!HQe2d*Q8v-vEfa$wha?b&gkNHa5A%)Ym-f zH|82$Um|C!1g<8qjY*%M3amQ*I>liJ?!*cEpHQE)oOSUG!wy2^O8GK@6P^n7{xU}d zdxZmELm)9x<}7z6`bHI`_|AQjJ2MegTNb@DS3-R}C;IAtZXDzWJ)ITp6!FTe;U@1~ zORRCIENNFV`8;*M<=#k-9A9P(*6lVpW+gK%^D}B5$b)NRP!|^$;dAy2b-Yl<<5q((b4JjEB7!iha|-VdLku=L~B8p4;IF5@@H?aR-ot z-|}7$5vt`{fl0V)ZmT)sjb?1X;aozfsEp2L^t+dsCdA#ZjGyaTSg}9os}7SUI%I=m zI0IWb)_L(cz}>O>Ak@&LtfEt@ppI zcIDirwLUZi$`5?G*Vq=auX<-6S6$7y+!jFjh@wq0nMtK;7Rxn+J)l4LR5X?vUbv#c zfC;5xN2US`6YYOjGy|}lXG=eB9kpE)829#gH}5eUijey*L&DnyJRjxr=tUtZsl|U$ zy*g~fUe3hJ?pFFYx?as!1KyO#o*_1Yh8&^woX5ksfYKnT`69_aQbw{*KGw+%?G2b* zN@HQYqMCjghHDGsidN!UfNzEI3}r1YX@rWQrNwvBMGEN+>5^u*`Fd8GACGaS^iOeE z3MV{M6ZtaCnRtch9dTG#yL(BlzbT7yjQH{f za`7;e5|6QWG#GILax=A9Z^F^?D+?~;4)4FVi!;KmOo?E@8kq_kCG0hEpW`kcynp3W zZA!!QH_lT0l0>@@!ir(g~;uLsYCnk~qwx(UQzX^3hT}BLADk+m`xOX7-Hi z$}3GtMUMfYXd)bcltg`(e|oT3l-_X~9|||(M4UlSDP56hUMCZkI zUsEk2!|0SXke8+a1uyqI{yPb8uH!}@)9%qjq=g!jM@8vX?90}%%^~rd@<*uSp?GxK z5tsJV^Ia2pA3VG>gol=*MRHLuY9bo(c@R_V{xai!+P|#dMjaS{uq)1Yo5mXOsU62_H~yH^{!79ca;GruXMcpW{B?yY;!K#0(S@y^Tk6<>6nd`UI7W>R~?vf zU9(ZELi2{C+@O@mxK{E;jO!Rdg<|}>3t*z(UK|O>JKBd*hPMcK$n5d=)3cVb)BZPZ zdd7xtQ>vWo?J=CX@5?wpc?~HTmGM-}qw949HR8-)j*i30z>a=A1Ct-t;F1HeZR>h$?3=Czp&P7m%THm9~qx0%nc_JY_uScvGxF)jO61S{-;W~a0H-Lc z1$KZ5U~4Dg0~Un3FvY}LnDUZP+?Hv3g$CAoOLl_{i%t1lP&0fFKN zNR=y`qST-rhxb9;9O0u&^cM)DqFMn4C>cvLC7#oDBxU4vbm3&h?n2p<1>mx)22WE3 z691N=>l+(GsUXK;@aa>BMh3fGXeMMN!lm>OkZv4Y&K?Hg=K-@5 zgZhICde8MR{9dD%?mRmVwiX^n`6$hDiK)u6J$>c2{4>5>I&B%pRln{CJohYM*JA>F z$@+Nfs&IFyPIRp`&h||rpytc0_cr+ zf8|cHxj#A^BqljJs)nsj>-v_apfPsUzFC2O+hKQX|DK9Gs_{wqXWLaUGlBz?N4`2J zg3?HupZ*Ih_g0pAYpA!>XCEL3{caK%KWH1?xLoseL|wF{|Ql zh-{2yr5-jpisEoDDhCG%0}8_%Hg;~Sp<7N8auPRQqTa66MVGQPlO$ODXIGeUPE?1U zfsgaOX915x`-jAyo!q7cW-*S-uTns33Ou?$|~m zW^V3{Dw7TU@udFR{4SF_i*uy@tdSBP@pb*v+ms~KKoW6iD2~WBqOShsp8WUErH(aK zZ<^|D>g-4^DMKa$T@(WEFDobAdOnvw@AY)g^;`~^-R?+aZ=UXgMfQ)5B`>|8Y?gW? zZZNVs>tTT7;ZJzjz$q>eSq2LbWd?~LO$Bx!43QQY6l!z*%9EK+^{uLRNNU3LS8D$^ z;aL^GuHjH&^u_$H6R6&|#+~~e;41G1+q4)+orqE7iO_b_;=%;uZT(cvPHY(F zd?Ne{bMYB$1L_23JwwC6-@kunq4@%jI$eOBoxYjsw`Pk3gF-d#+c=kRxxV8Vhh#x6 zN?0X>t%niKD1Z#$cX2r{DDxBLWwCjA!k=Eoi2VOf0+)YVO_&sX_7ry`?zxS4TzrA< z@0qqA!MT|Hzh*K(0sJ@Vzt_8PNeUO_l5oKqyZ4Gihb%ijizNApR^MujAXhcLwQ^hYY+)J4e( z;SZl%2cc(tSwxk)X6TC6M$e9scPB{Onjw{*yYl?am`3zjS)Qr&i*xwRM)TQW#Ro>E z%v#rcKGjZwigaxxS@GnbPv{vQ>fW?u3Bz~Gd*Tsub01WhQX;SdkdOW}w0HZ^Ry{ot zU`c#PXWq-z*j)BE*A>V8h$ls!ga7M{>Tsp!5h37K@U%iAlgGNJF#`M3B#$<_0pEln z%Hn)oa`O4;4~)gGf|VorhooF(``%eziFjeD69jDN#0s1~gPK84Kye6x5^C)>d``e0 z=diB=E9!*&!Z^gc8#ASWgu&+l;r>dh<*Wn|8PL+Ipa&n??7qg*El^K&7K2Y04q%*~9 z&81D6S^j(EiKp^$Y$yqz13#cv9Y$llNWwod%RU^ z57e&zGC*97VqZ8_^LElpgCTIOZDujV6eR>$$DKJLhSS1j^hvhci2$Db_HGt>8F+r* z!_0THSIXUR;X8JI3kK3~?~~WI;iPbgmw0Sz6m2za36Apl*r7*lhLOnVGu%f;kJ=XT zW}XGpsm5=K3KI(HRLkotdj=Pza_DHZDTeIO(CUj3(;Y28@tbAWlQR+WjPFgb{V>Xm zN5*+Ct7mFD++3;4Ll(z&zk+hKv)6kTcjN@McN=f6)!b>optXG$M-h1#h9y0Qt~6o4 z5lfKomGf=nn_kP{lF>QofUS@sVy>~*O>Mq-BssmxhLVl-R51yk zeqA97$J*-AMB%f5h}=Gtg!6-w*h}ih|6&GR^GtGFejyct^dQ7yd`k48dgw-EI6lLO zSzP-fLPEKtH`2hDnaq&wE@rKdOr&-%mG#alIEHtHSJP^jdqCqX7J)-#j`7QQS*OdY za(aFwPJFn4g!05Y;Zz}wMYDRFPhpY}&&aq+;xlVwpN2KP$rimEFw zJSr~le36I_y7V5v_1bEnyKS4d0jD@mD8i(zMeezKE5i)8339gX{j?i28!^C#5iW%E zr8PklBjju4X*}K07f{ta^w;CMp(xg|ctOybeVs9NjPzQDxcmoba<^wLHl?y-Sf4X} zR%S*Rz(vVg!c-TF13Sk=G2NIklW4MYBQ+L!!^+{74Cnn~$0=vSsbe?iC zP6i7ydo$Mb-MfAO8e|4xlMLuOY}s(l|6R}_E`f)5XpS%Fi@JfRv3g98Z)*7-aI zjYwPp8O2d24g9PQ@8;oe#x3iaXNwH9<|mW*m@04W@9>1yC{oH7jTDdnn+uR^ZmI3! z`a*5OA!7CA=g7hg+{C{r=YYAFND2R zM7(9LkyER${2Ua!Q;rGEn5oNm<};QUr3(#mGY7Hp$D;|>R;|wOVb0}^#g6OP+TH{U z@Jj}-XU?p_EViiHRv2Kd7{Xk5>{4y6^T~mbUHaODT%ZF&KOe+bh6#=VwisvzGxP0h z+U4QqV2mBeIqf=`tlo17VC+Ed&^_jXZWW9@fF{X=1Dg}P3y^kUZe#O{67+D({+=4Z z@6W+F2PD8ZIN*B*NUFV3?0g?X-!q&8OvSl5ABqYyDt)4pNk7s6l@il}7#(J_(emEl zM1(ARX;VpD8k&~*1uO!&zcf=eBbcJ$ z0y7t?#_?!^&wlQ+SY2Ixs4Z@R`CY$`?afWFsq`n;a;^FN7Nl1L$_Cg|5q${Pv*fv= zKwn-APfP_k0WDb!F`Av$&bOhp7-)c=`_?lR^m#Tfcj&$wyYE-P*ayggTLy9{fR0=N zWzU(F0-yshT>@jv{oZXrZ8$m047fQsz?*{cI2i8&1@OWByJvlQwbuh5?jQJ_(JHV6 zq`WVdg{BT^mCb*;#SBRzuJ(3uQB;Z5-(ox^=VqiaZcJ;{GDPL%qr-_QsgEymXBYw4 zf_~%@3&^5N#{OiHMGBp(T`s)1x(Yjc4#!1!ux z$jdb@Y@Nfl!L?2cC_xTD4s_@Nnz~yDcAFbud=tQVFy3>a?ID1<`x`US&UORV(d8?! zwpKatK>**q3LYO4{LXF&oXzxz1=D(aQj(`DBHGe`K!!Vc{w7s7RLn@@50_O?`FshR zq?Anw=;VsXm^q&aT1u=7vj{o&L&k5!aflP=B4)}eyi{ueE?hr@|BVBW@o03au$TGx zpWCB=HOcvHTbT=ILUUe}w96c;eW6G8S##=+hRQ_J!WcvPS|&N#lj{Jz2syT;iFP#C zyK6Oh60#8CK`LuOlMJhPU6Sl(ebf0M_WZa4s3Ff)avTU>o##;&0T_(Q zWP)d&c?P4==z+7p+_*G=Up~=}%7WLT!dp5TAf`MZbe6SC5!dvdd1?WttO7$69>i_v zq4j;YfI(}!FQ8#Cg`w8Ap3$Lmbjgbo4!CFn-n=b9&NDh7TBIHVxD3WO+_63H!dVY? zfOTwsN(im51QwWro-{LkK~#B<6Y{16hd*8bSh_}~AKAQ}i?V&517_AWLY#Gi6wk-0 z{W~YfRanEP5^hlae4>7C%B`?&aYE?NWyV7DlVR^{%Pa?J8E!q>0`ivQ~ zG_%X~B1&O08U=%chf(-AI5@y-uf2xd-8ghS&D+KIFz*#dk^Mxha5FC$O<%b#a2aFd zfilU+<1`lu6+zIrDr{(6YN9&}0cOSy5EV2%22FQuR|w6m{!UGt4$lMLH^DgXSlJ{L zJ|d%&A*>6D1GC!^VD}aG@6QOwmT9GjSDwNbGSKt3_D2EVeF%Hcb`G$b+^>s6xDwuk zP7cA!{60<%6#Vm*b3f`9NK~z^)|`REkne>h^wLBw#$nlt-1%}>T845Fa*1!jkO>s3luf5`$`4mY)e`Sbc?{wGdu{e%bA`8zL&t|JdckK_|7ZA4#QG*U`|1I?}*aKtD%3uQc zU4(JtB{_t>vOuv2=w7I_q#we^Jz>|Q!%5%ePhy|WzxS58DZ%qUKY3ldc!W1+;o zxSmr4ORt%TV^kZ0!wd3!h&EGkmZ$LPlLLpc85?r$MjAq;1DTQmLs^c1DZgrXFrXq` zP-~iz)AnR*U9~_E<`+`}W*+$V_xJJ6JMW|+se5tb@z@SMU*CXgP7Z=vYaAXPVt02J zyL)?>?(HWzz6wgEHs4PDCWlxh#So6V#$dfmQC*M?{uQ=ZQe0ooeJQiXj1Mj5(1_-f zgJXd+_xAMx#B61E1B^B2t2bn31D^5a8oZ-{&bOo0L2i*;<)xGC_m3X*&OQJN=>=!Q zx`T#Ks7{H}iEEr}?plXCmyXZ{GZ1!L!sIjQC`iCbw%66dEiPF^1=wqb^aKlT?FPR#9UuxgU*i`SN9GtudR;u(!8|uYUEbm`}J7jVwIt>9db!?}`F+T;SE;={^PS~uR$a&w%T*hEr6oZAX zIq<7>U3`>42UIQs4<7i=E&wKdu7!#@nY$sc-kgmeqzXBxx`Va5%;8 z-Y)boz!)x{LKG7G-#lp%z!yFC_xEA65jJJ=ILj<&QR|_~b%oM4we(uRRrW^W!Wu4Q z5XGg$l_<;CCZg*55C$9AwlxWm2kvQBEgK{)gv^h-Hnc0kS{@aLmE%-o&p_yUzm__4 z_(zFlK_18?mqC)3*~F$j{+$#!D42Yf7o$AKN43u{N*k8N9RfkNFN__4dL@=hE0H{& zOZIM%n(XcKU!y%LtjCkh*dB>2RC^a9Xqyj}z`kKNrh+ z9`Gin-p*?5{%zIW`p%Abk?Q$g$zI?W-2EdfvcwC&9?^B?0Fc}#jPf2;rm{sV+ptLF zBq&%@o)_XAY!Zh@6b_`!Wr?7icPXN9u~CY!QbxOOBh~D&P#wIU6)7l6dL%Y8l|D7e z-cN9xDgeP{5)z`2kQjn;MFz*U({n85x3{-vMb5js*x%m+vz*uKS$fS*OiGYgOwW@S zSr$dBTv(qLkrI>G;sRF}$LA&-96r-HJpwlO_{~1+*0}5L--0zIcv6U-zxNn3b*Tb) zAH#Jf8DO3(v929?XFCfrMR|E4-RwZDjb>OGhlL|DD6Y7s_|E~Sz?E(eC&>{84hd{< zYT^<$GErgsU#VM*8N7wz`aR5I1+jD}PBmsrSx(VAr&MhEV-Y9HkGRrAOkA}gxOdUx z_1E$G>yi1%=jCc%v{1{3YE?e=l%&Z)R$!~;{+KDl&}`yhc0pq~c7dw_#z}W6R{_y~ zNV=?N$#r;;cKJWQW@50A41EjmBYv29xlcF)Eb~@H8jMgMb|LMuNN$1HJSiCvGc9g5 z1dF860EF}OZFjRcf`wIBZ)d;va#rkk#B+Hc zn<7YETc2vTI85}aw=4x9k{2rTo)_kgvTx?k(1 zd}`Jb0MAM=T~bA9bJPh2Lxs8xX|6CR#17fY;51O_Y8Ppn_LQhZ(w_C z8#)Xvr!+Y%D(flRPW|X(OPX|Jrou%#@vX=&3|ZYHjtMPwhhY{CljtRORbS@PaB#Vn z0C=2OxH^2BIZbLOEl(ueq_a(Xlp3GP)Sv&{7V{#g;xpw0*T`Imt=^8yQI^Q-qcKFH z?C&y{jIJ2zn7y{7NFXFK3BWO@rEhYOJyT#cky!P0(NjNDA@;mN505=JBjtS6DTGfK_FUd|@2d3Tc9%*$jr zSDKS%E-W4(E$Jz-uttTsm4IDZ+z4kIF7s$CZT%U^pl=DJIonoBVRdB{UDs9L>w|*> z+_-TA+js5+1J=B6*@wA#*cmP&lse?Hv^ZmA)pe?XU3O{;=?s<9NtTu4lvYZO=3=J3 zTuT641b$qGlq6%5f>E&uYh!khD!rXilPC0ksEvA+?$0Rlbbs_G2iH;@lwLUE({R<_wgyz3X`4d}TrPMfs#g;jSmNK=TW51DW@0|M;DaMA z<|TLHn($YS*%VsAitnDE)lrZslxBPtL!~sg#CbtE`u8V}G$b8H>d%$rsq)@eLMs0$ zWQ?MQ%h7X@lZkI>Cd?0^%4^igASH@`oD3lXS>ZAfsA;OGLo_g8$hKx!mx-&i;>{5#SUfeFC{G;thqRGrV*O6!epSfxlpj(d{|EszwI4^eI-QBeoTGCxdXm*-rU(*+Xc>iII_>F=*7&wUn75m`$BSe=`JswgC`tut`=9fy zjPi~N#1uj5cUbg5DAUPl|uCke0WnN%oYcizp30 zIBCeuLfyQPBtBvKq2;2wm`FboX9db|Knj;@$BPW6kXEq^x712fj5Biv5=8^?M9hl_ z2p1sEdH&J^H|MQ!LJpnLNJVy7dTnCd!NCE(_O-9!;9x4=+j`G(E$=~Gn{t=sBOwQ4 z6+9ZHA!PZS5kzGb+!sVL4@J+cvq*)ie|fo<0C+?eFvS;6b8EH4pcFpmHb{)b%_N3U z6(wuhELVhgTwL=hs|<3MSQiyss!SQ9wCF;CsZsVCY8LF0pmK8T#FWg1Cm$kH(LYuQ zi^;pJ2=Ba*=%*B9${x5_Uh4Y}PdxDi`o6ESzrDRZk^9Rk@Hsb?f^Eu`fU%uWj*m!e z(~^{h>}!$ZKY`MotipB+XKsdw5t1CE{Cq6e5&%!e11r`UzD==cS9Ed}&Kl2Czqm@! zoV%P*#t3Des}fdI(q6|^CPCSTmK&8g?_JIEpj`IdCay4ChG$hPg?!{D$E1HgUpQ&; z$^f8fMyVv}e5=?n4A|b@#xM*C_=Q$CXL2Cz3M8XUAdO^5jv`%vj8!KGn>l9ZL(}DR zB|yns7Nn_)`DtMbVnSWT$8kvnmjHN-Aeid10bf|iMX$jsD{dI#nu8C=e310;>fEYN#vR8PRv1<8DAuG&6b5q z7j6HB`9ad6H=2?}qo_hN3M;c@?u$=@5HG91O8`7h5-{fBsQB;;z91)_XF0dfYL>A& z*$I+r{wn({tHcr)JR{qelx$@0SnW4zVjNQ#X`PU#ARg*fvgwS_?AI9hy`es#smf<{C#+K({c^;)Q7kn=5Rgw8UA3|rS zMKL{)Ok#y}?WS1Kr?kLD4(vEjYM;Utd$~So04Qwl|Nr*BCDyVlJ?s0|-shZq>tVaf zkHQ@r$EHnpOiQG(cuYb(0SO@y62*}+=P^Mr2!lunIW2^Q6f!_!lE4@S4iXO`Bw*mc zghx8vNFApehkm3SJ9d?;T)tIx@7ZUs^)p!iTI*krbL-w)RkvR2Z@JH@Q;&Pj-e-UN z`(NKzjc9NofIzJgj->XISH+VsWyo!smZM62WE&%3k%D2%9>>ykhMNXpn>kkevixscdjt{{}MfV@*q(yebvO7=D24uE$ifXu4l zkO|>cU!baEj5Oa?DnJJvJu23gD2}4!=^Zs$X@2z+@)TM-OO}F}tbmI3de#I-IVlQn|LL86eelWBu=^G`B1tXrJZ$SaJo}$&0#_!KjW;LuIJP!x0bP zCI}^eRSv$oEpu^3wmku8xz1E{3u?=$7MBmR#-F9G5#r`nZjlmat0>jR9SRLNiYYlO z>)`a^NU;^lwmLWmBjf`yk+pC=!G^N=5ieS>xu~Bh zHF@MSfK(Ujsq9fA7h5g8c9T{4qCj;SbH-*{T+<)c9v@3 z**Tj@RD~1PG9k)(Rm|CEWllrul^$d%pb^UygsiN~+&t73AQBhD(8_3@iZTSZww0uD z*VEq)fJdzXqEOx-)qYK^iZU>XyA$P}EGmqvQ*8Bvx0U@glVEK+R1DH>{ho7U9ES6Y zD=m)XT7Pj1q_DFit#ubZPuOr#TeVTZpw%8xe^#^bcx#FJ+p|(rd-d!!b_SIZ@ChJ_6dbuzl$ryA7u-q!nwC;c%bvghZ zMgjAriqL8}a=h44FaT~8{j13lrgn{wQLNIHJGrUQt$jlBE+pmiX)0x`lxK9RM7e-x zS;`WDg4*UE2u+FKL zLA~}@+sRSAy_5N@a097o(97zIoSHwB;Sx1Xq^mJhE(X9AcTZj5(z>CZRqS&x9RQEa z1Zy+xT*0H-`Y1c2D3l7qH=D|CGHQ!Mo$i*?%G4_SmAWlX5sRiNZJ{VF8yuPGx*CLL zu0#o{trb-U$O#A4cZD*Q1+qG1F}1(Ll;{0nzqe$=E1!*6rqoX9wxeT-=?w8Ybs#<*s(C(d&+Br<~gIJUu!99zp@L z4T!?dkg9T3hF4j^pIf__v{hcI5`AyTq$Js=%3m|nAJjFcrej*cLW8~@m-A#TojodD z<4V=%!mFe_Hiv9hP;=#-r2W3nDwU(Wp?JMNrsU`T%Xy}7x){iOEx zn=`$;oMv#^d`VTm==o7fxJMt00x*diKA55AR;;BZ-(S5-=QnaY3 z6t_rQD;@qGu6X$L07>6BbHxtgd=NF6|ETUJh2i4%Fe+u;x{z{K>-T7>|K;6aoq|zy zT{rX#B8Y?9Hhr6TSBgOzP9dgRn044zAA%Di5JOx%W9nCZ@V+~bZ2MzGceH{qc z;`U2Ls)T%=rJ7OW%nX~L!HJ4x2BpcT!Mtj$);iOvVLZ{p_d+hFI~dV|eFS#DY@5nDzE@T?mVndM12wi8%) zvDKqME-%ljZh9sOR?G|#XEi@6Gnm4WuKq*E40nQz>qZB+`QuXT zprI0-*UMOSON;T2t)3K=>X*feFHtTC#ihWf{LG!59lZ7@UIhUB;QQal!Tx?47%nqi zRc|e8lvEs)yt<)TyG~Q}d!lV#(*OV<07*naR9?VE@xGk4XRZ93 z@7z)brKR9Oi66S7SXbgBU^fP}S*7dAin8HQ#x>)s{ej9^kCs~y7fLCpT=CLC2-p7% zmq#V%Mx}(8F$TM5c5&v+SrCBz{e3v=;)V)JHcjPcr`%Scm~GS)xwS=-hNV&ID>4(x z;qS7fnzQIeaiGzpp)yg4ueByi^N#jCxMKOpgrvtQHbFwz;zS)Y4X!4ph^x5{El;2E zg)l(O+EgbM>sq!Kxw>*O&Lt@oalH!~<^ZV}K5RAlNU6|}N|VZ~Ed3rg3uL7pU(oqu zJ#$D@sJf&>NJXkkoNOKQRX}b^(q{sxf}D%R3NL=?OBja%`v(WG&Z;6P#o591SEy1q zWbjsDRgfA`*Y=j#c3NYsDEymLHa7}^T$sRTeCggKq~bPllCANa`IHLOs7{O zbi-8W*k)Se4=-N^nDNm^e~9(LI<6yfVPqb*RP^3*WQoPgy1tZ#->KSB=GuWzb*dv%C3O}kDNB_8fk}evM67T7wKN`K&G;orm3tf$00Gd` zU|hLFO+t4R6iugNro`IQSM4<9w^Aw=k3!d1P2ZCqCn>-qT_+Ta4(No|z4>_#6jo;g#?npWL&)(getE?fT zy(?F?9eMpI-+|5N;#wv?)NG363M47*qgGwA(n#RqZF5m>;xt#L;f>241EV!ki*mh< zY9I~kb9#J8AEErlP|pA9X27lA~nW*6IDxq7BBdb$uY-{SNhsQ!Ma zCRJ!q5S6|nscT!_==9B!voZ!(o!p>PS(XK;=rVI$rRJ>h0y<$K&~7OuF&LZe*C{>S zQ{DSg1Ef{^z!HOFhsuCqaBK~rIJc&hl;Z`-#XVeu8CQF8c|ng0sG)i-tD3h9X<~+C zR26pgNQ+hs$-p?%D$Tb8VnZU+$V-JgE*7rRWN)G1Qcr;746#*^B7I}1*-_fLrlMk6 z=p8D__*|@+^39#Bk(C-0QIeIoxqhh4khuI9%5$J9jUWv&m*t1j9Z>HkQ&o*jD$fm_ z>RJ$^F}FoHfhHi!brjg&Q2DOk@w)7BQUJWH4(>TQxI19%tJgyva8`G#yXXXmnvb>> z52;8c;l_<2;jF}^n1|AGi>WZR&8jnA$i-!+{U2hA)~+3vU>$*?XfKd99a5VER8SQz zB=<{sh^qJqWEKD+-S@0eZ=I;MII0bbz%BKapiZsI5>&%_>C~66)p1qtZCQ5^QP!Q$ zgmRHP;&D`N1{x@j9Gmj8Ku%gIuQ``3p+Xmu8{;rVIswLAszMuZ%&J;*fctWN9u{wQ zkUSm(ya>i;>esjBaS4vC_c1X)3MYxt-nY6l0%k;oRfVeFDBx-?m@{3x9F8cP(^4r; zAqz-Fy@oh%du&xcir}P-c&NzNsMrrs9cIqhU@?Y4`9a~*H-okvY0j8Z*gD~|js>(m zP`H#0Q-*L_3^Yq4Lt_KUU`XAxh-%AoN_V9yBVgp6?%JDJ@i)qMvWucX24+kx`4^?4 zU8-UiSq5`G&=ge1n|{D2n+Hr2OIFp?2QWr(Bp^$9ysZe!XEl-O(E`A4oZxSUO^{Fr z)MwkMM>pFn*PZkAKh0rN$ew>zwPYaLHnd zyFY1znxauaXQRnPE*U#bSnOSJqDA_+^NkI3Z3qjh)mIqt(r{8n_<=M zupz`y8qzb+lon%M7Ew$wvqva?CMlP~6QEJNj-vYHAlKW7uCsq%QsCd+0#0Y;V6VWm z1e2aVAHbMX(Uwk_0+))zr57z}pNxuy+#xqDisnpQ{8VZ~vKCMXX*83}?d9o`-nZ52 zHKc}l<0CbOv8mXdh}$Mb0jaPfNnRHy{;p<&>Lo;@rln=kJZjW^E3w#Y-=_2(W^8fPM7cgmTzMW9H#o{}Zso8#BWJTGTnI^I zA~Y3?`d_>br3n(R(^kBv2+ub<0Ji4BK?luzEojuo#i%alzK&viYgs7 z#%{{_LOnOgsNLVn5pmWkFDTCuRZti^%F5x7bn{DFVK$rss*g-3plgaqSb!1^@XO%MR)8F1_Z-%59y*aTs9GKN^Qb^zF!kx9G9A) z)woLnV7<+o7!oy(q8f~A-f(hKS(~df&=fVMLNu0Dnw`BnYG$3%l*#u`vN=25kOG3Q<%mwO%0?dUGh%nbk$FX4=Xl+mZnzGz(cv4<){}*63Qnz>=#y`+FoEQ8~bTjSk>xUd(h>IAlLE@RLY}KfcHip-1 zG84OK%pE3$@N$}vjz0%z_ts#9mrU|JFyu0Ok`=Eo}$r#`UjH~KogtO@s4Ilgo zA_Iq6|1KQpc>5svCKp%fL+*de)f$MtaH^RrsyoNpFSu~lXzU@Ywb-mo*08bz)pIyu zZHn`qP}Y0NC>kyW_W*HXdgZpomXBMqE;R|>*iEJk=$c(B=&oxT5#friD>l`BGugQ# zMc$}&D=5<6EE6b{ZJ2Z2oiJ!#m5Iw)c%b^?M8M~~&PlBb3)ee4>0B`QxK%)c&90|e zt}`t-zL4JyKQLUUSLOOGiOjnl`0fmVucU)^6#&UWC8y4Am<43HOR+yWWZ;CdJECLC zAy5H)B}$;wWvk1T?YY4QBC_&tpz;f!*OnN0IgnM?mJ7v^M5NMaMjC|8r_!=Zh4OTg zxlybSgTDIrf(Qdq{XS4@8)kEaRkgIGE{kI1L{5b+J&>~DM4h_U%>mvzx0wC760~&M zS!E7XX=71lnp(A-P)niZmZVxFM*GQ7(TvjXtHS!Mj(yCrSc*i##cL~EZv$Ms{to2N z%k@bXe09t9yzRQ{09eKkWNwHcaJ5OhugxIRjLTt9%Pw3?kR8iSv$bR@2O>IF)w?s#AR?&W6lU z&Wx9f9l^_k>b>nu!KPS!ENp42ZaWjD&649cK`hDj1i8LuhQmfaUf_l+a0I_lub1mK zUdKJEII<^5RD{_P&MEtn}!iQ((w{?5{5}l36jB zMmS8x*x4|D%PRj1i8k zzf)NUOAeL@v%7j!$;owP{D0ViB^R&1&~A*^=vCbS(H-DE0+Yqj znjn|J_SXiLc*5Tj? zaFd0jeK2<5Xf4xF=fHFuj86f4S=Qou9D@M@z7Z0H6JG-3GJuP|t`Ha?t>DP2G}sCQ zw8H*`0g}Uf=G*v%eyDr&I9{CjHhzIzVt_=L!!-sAhcmEP`0J2Xe(NgM|1QdPdz1zU zJ-Np?0bp4WeNXBJst$P7HqzkPr@)&5mIk>)S=gB{OZ{&{xHAjv(W6I&OB(gp;->J^DGd{)b1c743PX? z%K|f5%&^#;`5pXRKioZf9FhI~4t@?6n|K|`H5KaYvBkLb?2nvWm$Rh5m*l!F>wjGa z>j)`u86gb@U}mt{g`-_K+W0#V&2Tj4;72oNBG3M4z(fX92f-dajs|{YFcGk!85<&O z^@60o>qFAtBF}!p%M6?g@O}e?cL2N#!t)@U2Vob4B?wnwa2DpdJs7(K zViEqhl=CtCcMVV8M)$y-eeR4aULxM*t%e1~3N5BNL2a z7!V8`jO?f<&lv}TLB3RK0CuN%O2d25!Sb5Rd~y)qKWiyj|G7Arh!Tt;7%&D_#{z@_ zz{tR87$Xx#Fcu(;AdJjd5MhLq*MRZX*YT%YZ`m?19PtR9{TBWY{64`9gAKE1^|Bi@ zgRmjS>0DxD(G5vj~)GK>(8Q@sB;p7qS8s7x)BM^Q9jL*PVH{gq-Plb5` zVF1wxiwy`1U|Ir;18>lU5#SlHW6~cO{FlNy1IymoV1$v2-oO}OAco-penBP4!C;7| zjq0uXQ@p1+fu-$$sLjDL@G}%Y3&FvV|62x(!Fg6b02mBm5U?8|qA$*Xjm!Lt2!J6k zKW9LoUwQ#A9CF7ya{SUIT>Q09@iE{pRz_THOyFnyqrB#s3NSmsasa|`;gee9vR*mJ z<*wzqK#o%&XfpeSyS87wo8T?hz!A*7dz%M%=Rr`8K@c^t1Xy-HQzCi*wjq%R{yEVf2OkjKrj35jKa{T@O7`Hlk^km6{O&LEIj|js^+<+` ztVqeILA!w_|J&q<_V6)5R+$G!Ko)BVO3Gj^!g&C|a6Fu>iv}QcetII*&_Sv0w=n{K zX9NHzSTn+!C9Ij?t{({VJKtb`Zn^w&!2E8sx@@gV7M34W#m!_#Aa zR=wsBpbc;yv`GV?^We@#7#m|Sp1}p+8{o542Zzxa@2{c_0K^u>$fq6vKNu@N-CY{7 zx)&ey(ukE@!0F%je9THV?b#p_YjKj&#q}+CwjNzlzjK9zZmKLza!O{e0 z05_b2!vYSkz~T3$_E)mMw~On#hX%kR4Sq)y*8E5e;dy!e6)=|awcdcQUISm;^{KF1 z0<@MSXv7Qyo@RhOZ{dZNFSy?w9_-*@gMC6Yz`zUy1LJ|u`DYaCe~SHaN-lF1dpZ>c zNEINC#d9kOo&1kIW2C{!XCfGOFeIOw8G|t50S1HdwbE#X=sem5Lo)*V<6|5K_L~6% z44ebppWnrqrMWl9VQD~r?hMZS&wX4MKz1;G{>=GD8-Ok_KLR!|zD7vE>zx35RB^Gaj;GAel7&T> zrU2&65*9No&9Jl-5S%@T(k`4C{07L?kHI)EmD!-+v=2Ya`xerUe@}l8VSuG+!!{Ne zVglnl+_hccVpz9X`I{jYU~J^yoWz^RM#&z_i~&;uJ~#{jj5RRhu##Hy3~(c$Lh`BgdEYz`7ML|c2r6y&-v?F#*+H_(!Gh-@ ziW&GD!7M;%ge^~grWQ^ZpJILlIJ5F;uUW%gJMZ`KqikK7`sVD9d-wM+HdD*i=C#1L z0DM#GfuF))1;SaF=SPs;gK;Yuw}j!**9Cci;f-AAGlu0XuUQNjVA!+0fh_{xBQ`LL z(C|>e$5zP9O$1C#nB+D% z5o6=X&#lStZ{RRvz=mCFkWkoXm8Jf`goG8wj;RuJPA-GNcUn?S8rq)crwoDl&kXNz z^p7;;Mn+`dHh~EWAd;s6mYggT46tP3CK+?V3`Yz9npt|V4B$7Mhr2R^aSIM>FkXPe zzNEhI0kQL2*8Y0^Z%YmE&Mc5{UVfcCM%|UOFgOnvn4r4>m?gjqFppq&0|SlVY4q&_ zUc%zG2SXUx0g916wOe*yaW?BY>Nhzdj_BWma``tc;DgoP7D0>Yx+Iu|JlT7VPVF^_!9Fo z!u({u4+bMU)zuxaV233P7I2>J8A_~=87o6r60rLI*YKC0U)+7?cUxT9;NZ3I;6F34 zc8rM#>%ayb`$rf|aM+N+;kbB|EW$U?e3-BHU z2o@}m^m|j_SGu>+2!{h91-?Y&u#nx}rEGYt1o$=re3Kt{X@cJ?&D6J^`vbh=dyg$$ z;HH5q5E~+It9sxol6-wA6|yDh+Iir)0fd|0t==ucybopr$06-C9`I=6>wFu)tjLeq z@Z`A-FQj(n0nRh50bz16f!#{#ZsUFZl4t)uZ$Q|UpDT|vW+|_4bXXVy3`Q98wNA&3 zK|FFo4T)qQCk#dhrsu@T(J{wykoaXhkF-$l#618245sAiisI1E zCV7v+xh;GKTKdPe_e*lbUeYSMD#}fO)?nI|Ill=!oP)b+!Pu9Y-#Tl0)ZlkC%F`KO z(-AQ#foT1n4@SD)@NEWhLsJ_9vbK=;0a+t_c{9pbI0& z?F$h4w$~Gr@D&(dKmyZpYk%WTmrkl^9KIft1DbM?Jvy_*0}y> z-p9Y6fc=;P8>}+`l;;F&tieQ12B-&Y$a(;Tm2}v65se6dBCjTV&;uc7fZm`Yk$We z#K#0d4@jN?eps-<5%k=3kQ+ffdI01B#5WTd0zd%7_}rgh!dZa#i}!j4z`^||^n3uq z8TG<}0^I~08Nhp9I zIj?w((aXMLADl6$z@qlyty=Y$+C6}d@D3Qai;HX5TU27V@YA-*!#9H7xdeVRgG~@N z2mshhc>#3ryKew^7a;f}5MGC0=K44R;qxPiuY>R$;06%i5C8-anIQna3BpqVZpBm^ ze5-h`=K15A0P6uTvcCX;zygx;8fkcNNOzsT zjc5S;ThHN7{?nK6S4TRcl-YfZnc@Eahxm`baTWhp10WcaGyXZTZ;Uuei7|-Gll4kL zkp)^M`7Xc{AsYU z-h7NMfUjuadr^S!10bfn9sEuM0FMcRp)RP|AaWr55&*mKY%l;HkN^iXJteNi391D>z# zNqx^qrxylG!`S&Ruj6O_!a02PVfzyOkDK`JU-|(5&Jhmae23Tx_>mt9nVgBwz1j)9 zOd6~#{ClC#1b~CcK85b675BjvTm(G}jv#YZeM=S4oa)7N4vZVcYv;lET%JD##&vlf z08aoA@T;T42K)5QHBG@G`-Nb>z!7u+I-u)L>@I5jzDubdn z7#QFzBDogxENUmT#D-=Mf+m2Vg*(uicft2U*UQf3AOZmRT!806Tu@JoDY=U1(JSl@ z0PrbbF8b%g#y@@(K<|g}Vy1!d{Vu#sZ5VLYGkzWXP6GfB0YLy;*aEp{ITD71;6;p60bZeU#K6h@dtnV5Ad)4`z`zt`BufG zz;Ft`jOf(82E%0B{Qk-iZySnw@_hSRoWM41fqA z1I03yr#!{9P(Lp))WA+Zmu~mI==v>T&aGwWdxYTyh6sQ%?y?BrCjdAE1{hLaVSaC4 zz^ni0OZdf?mv|MA=H%U7`8U+x|9`z^hOxwuCF|Iukdb}gvXnxbeVIWhVo(f5%@~FX z6RGqTlH^@vFUmG#sZ1e6DTYau!SEJ?!DpQF{VTrroO{mw=|1myp7Xr-`FK9>Y(*E)sM{un#Ly~*P1^ICHIWdur_$q zk&pr<#M<;IP|oQ7`BEO#L0JGf3%}1D=tU>Xa~9Qs2@vLNn1Sp3hL!?Et$A-=$Wu&^ ziRMYYKU{4Eow85x6_6r(Ibw*j_fcHTOWfAB0BptU4xD|ywX6X+dG3slF8>z}$6tU4 zBqiLaUX*&6QH7)l9+Gs z_1HoAWXViQT7uFw4|7K1ZPCwTNA<^SzzNKwbd{Pm;cMj}A)SC09-rPPu#8@b2tyt|wa~S2k zoMrVH!S%Fm1x{ff8@}Yx_) zmm2+~f>xY=`LOyfVeS}29MO85D1aQBP0aX{y0W{IA3<+Cm`V7DSUh`&A>%b!4tz4= zB?W*-?epgCO*a%7t=fwBtDp#6R45GMQ(Yj8M?j(G2UWBlC>^FAgUTuRwjerPD+2D5 zCNS$>oYOV%|7ah~W|lKMUUVsR^FwK0CsX+QwyPP9MQC33&{6e#J*tFZLr!%5OIKpL z8grJoovdM2J98w$%W6yexRt_F4IY74(s}K%>FYm;OBgg^TuRBi^SPtN>xRF5G2fPt zoJp>ea5hPFMir%vlE>HI*0k^r3DESWT{N_*=KSMcghNK|_?5*LUSZW|TEXoH>Lx;{ z`X3l4U?N31RZDI97M+$%S)YB^tIT1OC1$$xJM7pix}Z>g7%i*BGjq}K_FggI?fYbLSC(PW?*kHj?33BO z?<0Q%O^S*yn@ntyR~LgIczF(zB+jmF>WiMp=RdT3w@2acON-DD5lWz#DKU&EP;)WB z{o$}=4VI<6?1~-urrDCgc#z(j7EdnamkXv}T>0$wne%U9f0dJf@6(oc2;IXpe-$?- zMQ7}f`jGo3P|ZUJr)~7z>Ed4G{%4?q{kkU}UCfFq>IMYoDbD5&HmmeXt8DQr%SCsI zp~;-2Ra~$%{cZp0n0lOihtiV4Z?|h2kqLTZ=FqsUqlmEWZdww`v-5@g_cPLg#oQ=o zL>VGKc*POb({ZftWK@yMbSYEKQ%El}x{gBoaALTi7CKnx6B%En>mPj1{-|-A39LV7 zj>9V$*JGp|Sa;ZAR@|4)S1&j{UgfgZOG zgc_~{&r7n%zt#L+b>hVZlqr*Ua_t*I@W4pPoihzJt%HK)*;-G3cdnYx-*FW4{mDC1 z!pu`@wrqEi`x`T$!fjrM0snf}m83?5!5WR`rAtT+N1SS{Hw;WXz0pN?hFgW`@Px}^ zFt`4n&FvvPvb6T^R%n)*!-|4l2yNJd8*@l7p z^lwQIXp5TRN-(=)rH*iFx~dQo#PdGQdJ+xIk4)*F`{uF0O9&;zfkE90IP#<_KjG-6 zlBoLA6Q#2O4n#$a7=8|))t_U$lnqpJbw3*f7?xt3ae#WR!4$s_PDup35^ zY)9Ak&dUx4FeFnu)c6p;u?me6H${UvN}9`2{VbN^i3M4Rg&Tuegv2YnY=RfP87R6x z>rHXVyiEQNI|gM6XFi}mL`m24j@_`O?RSwXgm-~GZgu0T`}?O@=GdbFf~wxs<`n_< z@;SnHTeXJqUx1x=%js%Y2u^m_SE}NA@QB*PyUlNW>eC`S8xAlf$%_%>gQ$*rONiVl zY={%x2*#?gM|@tkT#cLPsNOT5e;|>KJlbApw_N`eEYHEij!PZBayF4_5pMbDhGBE~ z^dSS|F{jeE1ox7O(BX_*1ciG*)Sre%Fect|G*XbJb4K9A)W&1LW_CVhUNw^LgzUH` znHzaHyszd@NJofJ{AI~Ps~4*ri0`?$MdqGJ1kKw?OuZ2V2xlZ~Exh z0LmvoL0K}x4ApUZXX}{wld_y>%qs7EIyQXbEd3q(FZa35K0=g=b#;xsGRrur6+o{}`q=GzYoFK<^Ykm-9i2^nV zhc?~MsI!TSrth*8B^CE@_O?n91gi-ueFC}uh!?Q65>qVK20}~NHl8dM!07P;6A|dLaTjo-*k6%<%`s~OnE@S3d4A30=n66CVHqO221gnBH zfCabct_@`~mA*er*?;E%b_PhtD6%Cvj~ZNVbO*7^C^nJ5`-u{$Ecq1gG^kJzW zaJ__D4aVTl`X_B7uYH$Yu{ZI!e(4O|$(0!GSJc0A^}kGDs+{ne4{5lv3EOc?+W3>V z{?YdL42m@mjFm#^DnN?$;$b*o1xenxirx{?ujYiy>;n}6Wq@_He?QnSUSGUb$$22V zzJz!1+U#E${iwIHd7g0OT`Xu03_OAZ3>ot_*iP~S!{^PLtE@eB>vD0|DaGNQc?g~; zJsq_1w-2y9JsVa#gU>3*A!oJy#~p5u!P}AYfWl=F7*<1s zJnUI-iy`Cuimq!^?>2EZ8PoVyElTmj>4X;5Vs^~(=B*PA;sPxFp`nPSQ)N%njGZm#?mvRj?$)vU4G2h?|o`=yETA{={*@66y>5N(pIC zru4zFK$4osW00%?obD|ECa!0E8vj2xeKLFhDn~aAsvrz)|HMhW0^m6WHxhL2{8i66%I)J%ghhExEI=EQ5L zhGpeoVBA7~uj7_`9Khr%Z21C-vi{mc8h7=}Xeks8@9o_x7`3VDB_W0oHWVb6t+6)8 k&CzpLiL3t~7RYDpUE;Ijs9ovyCV)GR+q)dAvPGx-4>v=k{Qv*} diff --git a/src/qt/res/icons/export.xcf b/src/qt/res/icons/export.xcf index 26672ecd4cc79a221af2fb21461b85101bb39b36..81bffab83705f7e91e4cc7eb3486cf38690161af 100644 GIT binary patch delta 52249 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 IM6N<$f*YKb@Bjb+ diff --git a/src/qt/res/icons/tx_inout.xcf b/src/qt/res/icons/tx_inout.xcf new file mode 100644 index 0000000000000000000000000000000000000000..996a334d700d65375681bb4bdc80cde6f6015fc9 GIT binary patch literal 166080 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/tx_input.png b/src/qt/res/icons/tx_input.png index 1af47d87511518767bbf4fe4a4dedf99214ca2bd..df77b4d9f9d67658e863d1692c909fc60fa04b5e 100644 GIT binary patch literal 27405 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 literal 17367 zcmY&=byQUC7w!x>^Z+8=BHi5$N;gP%cXyYhC?$Pfe9(u+5~ z<%oPI+tcko-xRHFi8|lZIufv@ITJufBNtXRw8=4`D6hyY6Z(!XmmxEjO;8$$IF599 zc-nKMrjKch1YG-B|M#>+&eY!0`hiP#69Y3~Ty(OBh#t zgfl-_j8?2Irv^g6je^x`A_*`P(G(2l*Jvo*xyvgwoM>?hpBhtwHxGz0cDaJ3 z+lw~1#4ZzmBRK9s4|ciRM5TfWxB5kl;7TvyEQzPrEm4Gp|J@~%vSqTRnQ{?rc3Fwb zmcAAfJb(s&1c@Ps+O_v!_Z(k+nP)9Rm>^qhmb(0q^&fd$l^A$vqAvWL_e*@H;@?~@ z8m*dCoYYu;pD)Fb+MVt;rIuCibaPwGre+yPZ0)j5EYP;)*NbG~HXt|>oYiDgZTngY zo{UdLzxkjRX^LhVYZ4rJKs#V^R}%;EbAGbl6?3Z--t#o^vszUM=-4CaBYa1>wyA!% zjVmHG8*b2ikY)BUF|SyeCJz=peDver%t&z5tybJ%{sDameKcA?eVn~jUkx-Q!9L?L zUoW1D7Ws!Ocm!Ez_E(12I#`V&5=Q<>HGME+xLKECO-9&2N~=ZlQ2XdTRmPhA0Zu&o ztvhj<{3xtm6ge8VUmvwkdB80iJ7v00G5N=)qGhsueo7JSO^WlkEBmqQOQ&=$uSM_TY_3MLOok0l5;a3(#wnI*e1ns6lg!kT1* ziuAf11t)$ANN}8K zI$i6r`!Fn3v3L8-CVHxzNfn7ob)eW=j+C&>B%Eu45WB|ZX9<;!k})}f*$_qtma*0Y z+tbwbs1KYqe^bvhxHB%gM{O%nJCa3u1g)n)>V^G_8GZdk~ zqgN=AG;#zXODzOtfQjT@2B`>B#*J$Nmn-TWe_u_+hFi^1f^M<5vagH-@!hAZ4mI3& zV>0VIC?yL+0Zk7D-(Ggh(TQt{&{1;#D9@Ur*vtKAVY$0cpI?s!|N@Q-l&tOA$dWf|H<(PK#)(=Aevm$|Yxqs$bIO zhFffvkljAfCHU%Mdc2j3?B|?OF3L(MVAe!>==zi;K=~oZlq}HUt%XV#Vrc; z@}kKW1L#@|p+8Wk;IFdvu3q#_gqdO)zce|Ec=2LRLQeHzl}=SN4}7;a;+<6GP@cKl zDKy&P0xNUN2-Or-4zSsTXPMyah&Gggdo!B%`DPh?OHSZEDfObP&<3JnC)Plbz{3NZ z4{C;3aZa}k5Vg0*&~`hEKP)K1PEtc)1H98zuXQu6Q^Z{v-}l`|zju${_7Il>%V25x zW`$}^mzi8fIP=1)rnaW8c(ZU{f>fD|Mj72pNNhHm%ETpxW65B`t5YRYB%vZ)sU`lH zUaZ~<0_Ox}iB$&3u=$L(B{UF2Zm6%~qI+g`wxU>~^dq4hw910&1Z*}xTO=a?OH8%7 z{fTmCb|PtX`c)L&S&=MkvJp*ABVf&>=rc~(v{xA3hx1?JJE!R^DOzD>$Ccjc1193d zdS$LTO}b?YRn2O5&00=HbZ(++nBX!@hum^S#%oj(G(~Iopy>_?0H5E`w%=%22u2aH z_azZrbVJ!K;!5eS)KwX|rPb*|7`^Gd=gNffEX`bsJ_xUGq3mB2m*bV}pdi%WQsfdE z6Js`(bIuH!dxh^`K7fO5PtWvmB1L&g5Jg)tv07oXE*!5Lv% ztau3VmXcRhRB?GbY%5+GA(;a?X^CkSnE8Z5R#BNWvre``PGq7ZDL#l=epM^m88&XD z{Gf7eR84Vx9iHClhSk1F6JpX=_wpcJX+(#tN>SUEc?!6Dvxv%AE6JmNwH;xt% z==pLTJ)an~P$5Wkr2^%PO7b(a&+@Sx$d<9cV<<%pYZ^-U^-5FmXNK<}rwb3*nPZSn zxd*!Wk+3-pZhlYObc3iseIWr0t!`C6OCcfjJ}UFPM=!{|mrz!D6 z#|O7=Cv4nmPS1*Qf{*DR&_0RAPeGf7Lq*ET6lHW+7%q=yHS{Ty7cm0KNb~QXKg~$~ z=2&VRD>pw!+)yIvgve;S)x2(cDFBUv?o$#`DkVG8IA-v$uWu?+oh&28ASM8~yEagJ zb}ii7X4FF>;N4B+UI(HkpD##g4BjkvlECesk)4nV-y6fQBH^vqab(&b*Oww=!J*(;(g5N|+_{<{u; z@Y!%e`My0krcErotSyBKL35f)*;O53mA}P0a_^8#IF_)O5g!TX7P$ZZjM#Yo9L312 z@Z52A>0wN3F2v@<&vN~ZO~x?wo%!|(Exh8J#w2@OZ_uk?trxucZv?W^OKF7r#wg6| z>-eVYuE2O%M+6*j!RtG+iJO?ON-VV#-~x@^&q^Zn){tRFP7<`ksY5S$d9=RpLbB3j9!ojLE6`t{k$@A(OpxDZiM*p5_$`JwC~stcB-vdOAsWrDP(zr3ZNI%MYanIA7wUHpeh# zk7T!|KNkfQ7e8@6)OeGN4A>98|CpkMS!0+ughtuSk`Xpx0vmsQK318%s+&(3Yk+n+ z8++NmFYua$o4oKdMwsMz#Jfun8>d`AL=V&A^9|+8z~;{zne#fkkCL?ZzTs&sr6}mQ zQdvh|-WOBGbjdwyxYD!LX!ZSg2X0ra9?y5WYBTKv!-5FJRprOy9(#?4zWw&McWaiA z!AINY%o_K3jb+e8Kb}=J`}-*Ur0xKHr=?kcsTE}l;o?MD9oVGRB=$_LUfS`EQ2)F2 zB2i!=BVnoLtMq&`c4i|L-%w=+n?zqFVd&35Y0z_eMMSNc1x9GQubY!aeOc|C@#Q3% zoDSzH55TDeurW4UY_ZGk)goc+RjY-h*#+{3WQlm;HXmiU(|4L3);C0O)^#)WqQ>A5 zpFivN#r5O69l;O^^g`mwEUeh7jCYh@Y%@JXyP`519hXM*!rK(tT& zm@d@&Eu&7{Lc7@~b@vIuN$`PZh$v{!H+_w$ySa6W{&UtZ(7ebN@%(ZNC9~5TH=zmC zablv?d$e}fq$#7IAo``!8X}}9dFJIG2}ER}F&&@^o!O!02~O`GYn@UJoC3K8lq&==Ix zg0u)>F{95vc0IeXzgn8;cF#S6UM@;Z&)aPXm`#9TUb~H##F}NibX_mdg^a&7 z+I~dDoLdQ_=;6hgz?7Y;9@6h>Tu#}#e=Whqz7uzZYxio@xu7t}K*0FLXF=7~pB&!1 zKxm7qy-nicp;j-VxhUM$GCN>Z)d?*w4r_~?2R=-3y>?ZdQd4D|(2YLv$9rWA17Ua!|VU*7`jDh!80n_MOdVEaCR? z7LfEd?F~qrHJ;L*Wps2N!(V>D_%Iq>t)xfOJB7;;Ew$u>eEqkVJ-@J;j;^x2C9R){ z&e_#_m*kf$gInJ-gG`x% z$` zAUL%PEOW!<2Z-6w(7(6$QdCrQ@RjSSUr-tsLbvir1Q!qQW-r%GNJ8QY-#iO>=JMnP z-Ga|#zNlZD*FG*eIXR!ItjSUxg)iq%B&#F}YU;+;){)uSG*OBFE;iYmnwo+)0}%4v z2I_*QM6hD3MXs;{3PI((OzS)X!GVj8uY1<;{b$nAoD zbQ?uDY&@zC=G4;C;=iBo2XHM(p``z^HaF0dQ0AhmTW#OZlxIHo@12{qmTnd@yga&d zZEfvGyBC0bZJ9fQ4)<8Zf{9M$CE@9h_Q4N~>cInz|%L+-3Ay_?hqT=LmV^W z)6v(pYR&TzzSWPMQ@%Z0qBvp8d)wm&?ErRevkOki&(F6YU2FC6;UtXY^rX76lZ61( ztMBX_2M8jP@9FRVZFKZ4Udlg7<-Y};ZHNP4kfx3h|K9IBI1Bx_A3#cs$wijj7IG)> zPqLnnT*XwXKRcs@9kBD!Sq}8Awd!&QKp#_}xLNy)xq-nf%EwS6#+(ndI=WxGgAf2@ zfIaZ!t9?|f=n+`n1qH9=ZAPKvp^@z1ZwTtz802Yt`Irc*WV^0qt~d)^5QZ9cCo#XQ zGcf^F4lif5a|U4A+vpBbevRcSQojT~`Rv6>$ek{k+e(X)Q(o*q1|S*d%&n-X2xt~q zC!~G|SY&>ywYz(A`r*ekj>CbOz`d#ML8t2{pIAe+ieAkAJdQ9T|C(Mw>YAfK5;(8` z)t6NYO3Hs?QSgEpU?93R6^JI_23r|ZoD=P$agytg3D0FRk z+2HohWexYO`uTJfOUNePO4WGai<dVpMxld$)8I6%`Vm$DW`b*cg3xtLu8; zOTOUmEG9;w`K+xrMH%Kt9Vsm?AE)8HgB=AzqIe-*ExE=;4naY=0AA5w8&{HATn_Ix(AA7_`<7^rCxKwN-r;lj zc5=VH=le}4!^~}uoj@*5{kN@eU*9T$GM)U!mv+z0#LsxX>-zeRjEpGn>mi*T9N1rr zm(1Ec>f2SD2C&{x~N zfb;I-jhpm4+pw{+iUMfbuX}oY?C$L?w}}8$!Cg2_8T)S~4c8{b*`}Gb`|GAiw^=D= z#!TrXt#=y6C4FrSZ-96;r(EyLJ)zdy+Bmu4(KlDRzt1IGZ@4Nz$CM?22~J36VUVg?6~ z=*ay1JT12zN1N%=<<^(+1V0Xdl4Q?hNUFcMxVqBO8h4;LxlRc0u;y>{_xI0Gw{V;v)k;hC&)DFyfX;F;dlDO!p@FyGAgJcGx@Vn{)+Q(e?J%<9X&5E z&;KU~a1H*loN6XscULZe*773zgNh0}$v zX|_E7U8f{`awmG$HF$M()i`f5mFRC}?K(c|`7OxZeQO&w4w#;J`Vs;+iYh?oifyS} z1lw0dU43P3?H3&W4v3J!5(uQ9|6shF0ZinjC}%%s6bxls>9lJlc6H8oB+O2a>B&xx*ecAtLAA%r*qqzC4L}& z9G{+kX>Sjpz1}S|0+@Y#c6Jx2`wt{>_}c2~r)m};rf~8%_&Yfz1|d!x+S^}4wqsE@!ZJDgFXnlh2=0^zX(C#in=hSvH_0-l&W`GO_qMkBwE5eO>uMqb z*EglqwtE^Ic|U&-nGGw{?l40M4M-RVK}8*pJlK1?--Jf|cB%gl>7KKY`oZ15(Cgdu57?C~0Apmk-|kL$B(3REIpX+{`l%4c%ELVZb174Z5$I{i|Ca3qF6*dhFY z(BLfaKa6wBc%nRYb$@gRWkHclmi}BE&f697lO-=NFSpHvk2(wd0z6h!R8(^Tz_5;AvlOP!zB_6z$*gT4MbHU{A?Zr0Bq zj$8pwL#?cVn0$vgD>Rzoc`5)HGdnwLNPPH@drKU;l#aU`x=z|__(iHUW?VuXkw|(2bij z$q&BCdb7pC$<0omqeZUmn=W1I>M?H-O1;1~W0;`+wyHm2imsY5%28>T&-#kFyco-f;|Cl0K0iID{RUGBxW8Lw|X;i=p&*c7Mj6phW@F z$u+kr+HpS+Qs?;IO@ZWR|^Dt&*URITyqg?EtGn10UBNhOaEh2 z2n#xk>F!uEpekXBJ!=t4&;e}vpFhgAOsZ?5Gr|oU_r7kwzOhN*0%~UHTgs?9Q&?>c z4S%#u%rSZaXYu#?k5x)aiv8N+{^Nh|CSY3G0b zOd~1nCit&7pi7}#deX?b|JUs^nKwY}cG3He6{6^?&9yDJvCm`s67* zxeJ&EV6p%t6hPGw_zvBC$!FT6Oq0V&6tH23{|(TeS`6Mmbi%BFH2>e#si`40|1s+! z1FJZW_ZB1{-Qp5(4W~_|mb4Yf1rDkHVL!*Om=+)oe}hb8vgG0J-uG)HRajW~kLa0a z`$pc|nfg3p_hxE$k^EZzrYMWpLD>PIk8JUhhPYq*6Eb_MZ8zUD{U4pffEpc}4Af zw$i(M?Y_~e`NY$Ysu$W^IP9_fhe}W zWH!Fs0YZ!YCJzr6H@kNrkd|X9Bes|LV_UtWj$Y>%2~Pu4itx=ma;YO#&nR78Zn9*J z?-oN#GxsIuLMV%l0h)#V<+9@z895vV7de^ zuH;fKO*35Id8bvTOmXSWGtv_O)M;hx2uV(k)0PNl#Qq@hrs^Ez;-v-{#J1Wxy5uFSUr z@Ozybj~sg-$rh~3Lxx)>$0jTH2$rh_0v~kX;KB$!dri|-UuSXScg=}aSdh$?q{J_a zCL7|Qq%lZ_t&KsC)j<;xUW5rO>p7A#6}G06olU3n^ApdieAs+N%=S%#*^kSTzTWtO zF`;>Fb0i+=%jKTj9-U|33%V3EgJ$~R-kzWip?vR7zQA1lb3v#+s zd>e=|R`bkk)GG|4dv1W>Ya)R%WtOv=h4M*f@znEfoaR_tG{hB+Q6Jn#O+;Lyl6g%v zMp33b?r1G)V*l|o_TWg&`3LM?De8G>Jo3!$?Q`6jRZY3~6lALuCJ0dUD=1C(?3;oYik)`Yxu z!Rq=wU-MwG>igTLMYV_G8uwrf-(vKUGp>*R(+;$aF4@?183LCC zZ%E%fyN>_L@{XFl_^LK~yAijZf-a1DlCm=O^d&kIsS|!iEK~A&QVvr{pw?xYDP1?j zr0eQEFzeBTqzJyq+eMhnt!0$y&zZ;A$KD?b)EUS$yO4VIh;}JRSGAvJ5BN~)DRQVx zZAqwZZnB7u;J_iFLN7-Dg=afQ%|fVF5N4HIezwX;7bA~6H)QWo@=z;CycO1ZL;(to z#(hh;DSJb)tonet0v^j|>YjXEt$n~M-hHw6I005FUAvbJUE*vWzqDKhUg`fF04L1s z3Mi;se<*m_EK6FUR#E)qwzPU8k0!Nq(mjj?g89aWDjAC9XALzUl!U61{3xr?G@4bm zQLilMAp~l*Gnl7HCNScR=G@FzOBj?Pj%Hf3t0qxx2 z!beJR=X@T*&&m(E=2l`-Mp1dbM5Gol^-~m;R_Nj7UwB_M<@QdWUGD;9K6nf*+$^r3 zTup1P`Y~OwMp3f!_`? z|D#Z6f`Q8qNMMMg3Q_iuYQ3B2nidP5Lq8wJwJeoi0hQ&MZu9Hhu05k8v_Y-=UJ=?` zDCNM`$C!S+^9ekgw@JOHA(0$QWbg;t-pi$9Qtkj(3A-~LX&wvYS9orc~bM2ifkHJo^ww*mEZU_K|aUltBALEOj(sSD{-VwVhLfoB{|^N6{y5mJV2(EVo;jF zmPC$Kh$M>01T#iY^u5^Va59O*U# z@*acX?-di$nsF!{SWp?Y_LgvS1D0O*+FgAg{_*x_TbadyMo7Ub&?cvMAIL6{x`&@J zzb+zFU6YWmCwzbY;blxOr0L|5}t@^(gEl6#Sn+b@I} zphQjzy5J(45kDWe==cqH-u%|RH+b;aRQ6TS$~u}?Fs-OW3|TSe@}+W(FBw;BT)UIk zGN$S)j?SA8X8VFYf|kG5dM2m$^B%{j|HRQXai{JnlYN|^PtVy}TGba+2~|(-8h4HB z64QDc#mX{QX*2S|;3RPa=17uhw!z0(DZf*U{H~U7NP|!@_D2X7XzvK$rQIIQLZy+> zlUn4<0m3P&-)$ZwRDs7ILNXgC?D4daw>d?IK+I}6VEToPnY&7ze~_I820^p?d?=(VmK*HU(< zgwlYtT>RN$lG(6PNUN-#o0jgI28`JE|mKKbBgago3!({aI&Czj*0%xp!J|c z+}rQH%(f8H$2U-&dHk6G^qk;Cf$osL`PJ>}IsyScR5_vu4UC9)eZ=zx*biYbck}Y@ z%*yJ#?F8sd)1U^^l{5CD#wR{ug{n{8jI{PI;=A2+S-ggbB3Md$=8B(Lsx%RPm*2F& zj)qq8)nZpdh9H092n7_kca7sTr5!jw;33ou;IvN|~T7ugs`%j%A-`nI;}N zoZFREFiw|;!zgFxXO$H>>7&fEXjlj>E8}@&sY7DEScx|ZN6kOWTzm|?zN0{As^=m3 zvVm$lsp%UZM7S*8WcBNUt5n+I#BWMdH&-lQ>*}IfXM%W(UJG1|7adptrG@h0`PPSH z;Fqf71UvM}VvFf-KmJU(`!Imol6bEBdQ#>EyLCdE#&?Gq*+3RYtdI}Clr1=At)yMv zDbmO>M0=~U97)v~w7s?eD0OkxGtJpO(R%NcV`s zLA~C_*g(j6N)t(ZeE{Q1crpkdm$+*2J+d38Bzi$DSBGuB9 z4{WN5wMILXo*{)qweJSxXe;xL=nF|kkPI^)+`g7P*&}OJSK#tTOHK9dsmGh|WI$7PXnq-U+9>gv`hHbHyh*d(WVZE9+iH zGKeY_oT;y(yS)bH{$|{cMc=(S^D)-;;PR`mO-0TfTh`sJ9KEh@M-CMzBl&i(KgAG< zUmVARgrAz3Pnxu9h9)UIjftM&1bMR8r||3{YxCEV+11)3LUKR#F?S@`l_UpiLN|NO z%AG@roMFI3D@|SWw_jsLcEJ+n6JzpW*q)J?FglOM!&J&s*GxtUbr76>VW=} zt;C3kOPL{u^^1sQTSj}SbZg`}!`lKTqV9{Kc2%!pdZiC3F`AJ!v1ZM(!OO)IgddB$ ztem1G`3B!BhU(uvc0HXXN%ZY^N?DAUayljr#~Gpc#;;%uS3nhtaH{#q3bkG*PaW|E z7tsf*5ny9nl#tDGNK4bry~e+-#(9Af-41@Ge|z_v)jiDQ_mXj7{)3@h6aPY)7kT-K z4#_v!K$2HQsp1)EM+`~!P@T`e;z8UIe3wy%y#>nxc+Ynjlsi}G{jf~*%35d;Y@2DAwG@oij>ehcD6%cQ>{TY$74mNkz~ z#R;qki}n(P+DvY$*LH_~DW?>@pYjMlGBy|Hgj;bzUJ_pux9~H*NKk!oJR`NRKdIMd zM7EkA6S>A+xg1vsvI!j+xKbZ17Yt-PqZxM33mnDYTl6v6gaN{*E01 zWPlobL}(QlfqTFIcF`gf=GT7L5l@#~dqTN_nc5Ih#}A*J_s(jD2ZgyD+#PpGf;_JC z#WC5Yvv*6yX#RT4QeXF=nwc5ktw2`RBJPL=G^_Qf6)V*=apWc~++Ov45V$;Vh7P|k zUpWv9Ab0tE#s=mP{+uA@0@o11bZoy5yC`l<*nQ3YRZTQ?UsP=Jf3M@7qMyW{*2~Vn z%^Q?f8tQcn7%$P`5=L~=u6ejTm^B<&eU9V78jtBC_X_*alu<79!5;@SAwNpYu5|9- zvMjte=5izcjmgEX^oSwhi>8ilQ(X9j#>Zu`USUHQLh4HoRDR)3 zhWEGMX@LgC`bCVCSKT^sqxf3%t%@kM(EQblRN;tx6zqIrn44`e%%H8a;lOWRcz`69 zOUTJ;vO)g`LNHGoH%Jj}P|U?H?}xM1DW|ApWOCq#J#oE&&=-l1J(xhZl0$~ESsz8A zaBoo(IyzI*WD>^dW*Pbq}pf{iyFw%#CZ6 zsbS_);0!1Cr}Q>TReWts{6wropHQFrEI2rDG9;oz{`FXyRiia1)=Q-MS9|zun|l;} z)Ydj#W1~v^T#5Sr-c<+R!7Haeqy2k>LxdLs@gCHM8(FjM-tp&s@d#Cfc$7u*kJ>aL zerWku6Aa$~azJPSHg@W$kHWPpV>fD2c6B77yvQDUXpP`E`-5DHWSU#xq(g|lcdPZW# zj$-3HucowX^~*+MUv5Cwq9Je0k)cdC8;an)HdJ=6H|leD?M1Ndw>}TuKp>D}uTg2U z!_z6Yh*@3h6;99S8x)$#>^4(fUU%6mnTfLZe_<0lG1+S+>L0TuVlY?vccm5jQNv6i9>JP z;NxospqcPSOj1zF$+fQIJZ4-*vQv#vON?hdlcB_m=TmpBvoj??$A6*(TR(yld0X8A z57KTyT%A4H4dSoZ_gXl|;vv!uK14S4$6 z+^a>D8%dfClU!3>daTfj6dY?So63qm!6q(oRy+vcTAKxzXQr{UhV z$+{m+c(YGFLxuO_lDlE?1I*mXP{pXi($}=-B(V?aC(-FIlQ*87aLyOIjFdDEV5paqL|S-@}l?_objh^EkFpTg7a2C4*R6&?a(E%flHG-csILXWuVYif?rZy_YE4 zRPblp9PZ{E^)lJ3BAK!E?O$#gL?zQZ3g$H`>ID%Gs7Bw5zluq|N2YkXdM=4TZ0x)B zNdA0S+C{!>Bn`Vcdt`Vzc?y^?drelIP0W?Iza(o`R2K4E!NJ?#J@P9{{D*>9PPFjS zN}+s8-B`6Z*j>HDIm8H!9#gM-@L1NMUBI_5Jt*DBSARk1T;XSIOL2o|m>_>Nl)`;9 z;t*d4$xazeyX*)Eo3w{+32VXEg=b-$q6^1rh0FGcg}=ASkTu@i3lqYoVlt5Zya~`V zi)@}jX^tB(c@q+xWp=IJGroDh5pTA2nb%%cIDK>ebglf@seX0i)qjg}zVMO5MwCkF zrPNyHVIg+-9EaxyW%AnzoKQk?obC^|6KzgDT)tU)vBqw{IKleAMH3Czkl|nEk`OSkG!tCl|T~cku|RGwqtAKEYRrcQNHTd%KT-yfNppHytIlwTlTf)n((3oPFs>7 z4JC8Oj|v#!2C>JsJqL*SRS*zd?(nY38zH@2{dHk(Lv_w5Et~0h%MLpS=fYusD=O}1 zh5CALv>zjw&L!doNW)9g|MQP>mre09rZA&@FeN1 zCh&dMCyEzn+;{nZso+it(Kn%G<+}gYQkd_-L5(EYjz+B0G5`HtclL&?;UxhHzVF|; z-V~OUO8d$tbsMA{gEmR>i|gy>n|F0R(_w)%KMMnlB;3)(0gZ=Dg)sh|F05o2`>qD|TjUZseR}HJ6xRLV;K62RVdfJwja)c*#sap7 zqHv%NG@7?nr%r)?)##B{XGt0Jj-<&VSq;?U(@s@3y?zK6zW;8&(x49#dYH6(pVZBt za}TB#NA6n$Wt*6P*diXjK=-2K9ry2Yb^XBtfAs(Q#-u{R_=8%CSCJnxT=<@&#H}H6 zk)tIKJV1@(Yf>QGf<0vCw#q|Mw_kob2&jR6?nTOX(kF-JL@mzW3`g7!4Th$pIr=7>vb#=_ODzt&k8$_DuAB z7moPzK4NRa_t#b@1}+?xa=V&$ht&KFTFO#IAZ--s=%Q%hN5oSDY4hL*G<&54RJRS!B@bKA6nlm1NVeRX4a$hs}S3Z9sOZm<50E zsm6XMWwFu`jpZ+%D-scGoiF-gZ1CqK=r0G~Xw793l!AI_;=IQW6|hYrYe>t#N=f~$eS^#`vW{n-BVVwHEXE}zu!-&QJ& z|Iw>(4m~Gb{5TNwxWj*D z>po-hHga=8`C|X`@9~T!qpy|-X5e@H_@VfwBYK-R|EJxX+?7iaa0+Q=>!?d-rdbdB z)$%sN7Kv-~$I>6PLS2Jf(U@_6XXP)r$CnxqZ;W8a-J%Uwklr|kIyyA-@DuKFpoGM) zz%0B{^$jRMij8pSb+Z51;om+L+_%)Qo7sg{V%a!*7aN)V_$2(3+FO0Mj0LhlI_B5+ zMrA^i}qWlZJeaSha(E%x$`6N9$_8 z?pF<2Vc@K#lqGn`Zd?CZrX+c2A4rsSPgaWIvlN%ERifT9#4Nqm-?bYpfgLP~K4aK^u+lw2UIlN0?CyX@ zJCzbF=5KZ%t%ctgCIV_Z0dA2x9EsQM;9Mc=I8*BcfmZ#Bp{i!XS#Phv(aRNq9Trbr zOC>lo&gWtZ5s))Azk z%MAjIQtQU1cjUtt?bnEng_lyBjSTKJ4`D}2lD9bqS)zUVpHuY~{mS_V#yH4uwWa+J zwS74E;&((wnAf;ZC>(w>?3d+WCOIvY;m;}6<``47^vi5P8;=r4FLlu*Q5r6zrU%@< zgNHM?+IS$VPNU;j&e1J+dp87uCEjRq&HagOkhgaU1?gLSaf98j47a6A-9!UF8rb&2 zDx*Z{l$>HBL|DvGz7$JK^LRWfHtqF?M8ZCHG?;G`enOG60h{*He7 ziuE;*#&5pYFAO!yL~iOdq%`ckC_5HLh`+L&ElRnCF&dhPH(2d6uL>`#zb#r_<6c|+ zF}#Cvr!(m594V8#0vhCWHkY{ot!P~E`nW{6y2pY#5@-*l&4icQSP*GlLg1nW!)0ps|ke^EA z$s!;)-b-ULAp=uw>05`8%53Ic?k+Dr^jKwVd)j6+4s6P~;f0x;g3MOwWu|eW<{|Ef zNKSM?(cQS~-HJO95?K{i8FO1$omz%132|UV(6uya+8dLz>`PHC0OwJ&$XbgmK?*Ga31M#u6UqC`2j?rkjEMGs_vZ&nJ`9jX&T zs^Y4+g-O)5#_!tW1Js?5ED8KM+*a^wm1)qtLV0Log*5}4L>MGiUpqxC;RdJkb9X`C z0bLsWoqg)z=q+Y@C5;0D-*MAq4+J3=YDs(61K50qvDx^u6edWP@{lh~t<0AEap$2| z)>WJurL?-c{MU!UsGh3$GX?y3TybArJc3>OoaTFk7n{CYrnfckI`PlGmo0r*B#_}t zbl~MtjM=$G`84si*s!l|3?3wK*#9%I@J`6@y8Q>Z#~I7t_sxthaW?PkR45fe?8Izb z^g7vFE3c?Ml(_dfYw=UW$P{GGMf5bkerysaFms?uDiobGTAY!66Mr%t;pN(7lhGKx zo5V!1`c0h2{+?W}fjwtWW=vCam50;kXcoA&(kFAjZsOt|*W=sq@#!>x{b~VWLY^l2 zuGIofw#a_iY|c;h2)uZ)rb`mhq3(1ENumVm;@0xY4b{ejQu!vjoFnBy3UZ9V^EcdE z+_KADBZ3@1HkMNkN#UK4=R4StDT{B8;^?Dy^y%7bN=QY{Z0{vsja}r;88>J02g#*} zT$o$Ba!0xGPlou09Bu9Yw*|Czse)f9PItGfJg?TIhSx=i3{vNJFtadg(W9$eCc7P^ zgyge9jkL0tmXc0LB6n8^y| zdQ_DYKev?zt=zst<*qt%CPr539E`C)Afw&o6w0zC0?n4^ho7y38k$r)`1)^V*E7ak z8_UXE6Q3b~b{}LoPPjRYMW4RCX|EH900DK;YPh_%2Fr$H%eh8Tu@?#DjlOvZ{0_|g zaQjYsOhb6kb&aQu1l|X-e@*9)GWW@X_@RT%VTDL{9q8sk-*Q6hJEytEclhK@N???{ zjp&j2$+RA|Vg5}NBlyo->H3x+Z{mxh@J+IBhiR0Z4+NX1+IL0Hl6SDO@RA=gE3FS4 zlz4vF(ZHSR@->So)3cmohCMdl?zWZ6v(C5nLEge3Gi1nsr><~#uT`gffzZhgp1#poK-Gq>Uwg_%CV z`ZXOu(-3Z-AWCGPAv7~)2`6}k^lwJ@BNg1oBQ=NjR6isJ(I9H|tc5+LH}P-#NtPO3 z>`j_-%(#Ak+~73O^}*wnABvwp2QK@nRM1J>!F8m&>7&(FzLM1kv==^qPz+qmeQ3fD8;Nzz zk6a&C-2L^!@+8+a-S}#`FE&p~fx(-sZt*6Lq2=|L#m^l+F3Xy`Ir{&m$eN`rqbwDLNcNer7e)5679o2ilx2|YQMN>k zE&IN2Gv9f=KabyEzsJm+nREWQuKV2gwLGuqeVut`dP9$amWLJq00sknZF2wsQGbE} zB%JzX_qfRQzcU|mJx!qe2j3F)1b*kbo;HyG-^)h^0xy;x$))6@r{oD=GqOlUo=P>Bnu!C@I0AfKal*ZgI0j;>$ZXQGphN)u$41X7H?B{6f)Dov*Voz>Woto#_!d>PKKeghcTLGM?Vh)fKmTH4 z^!AMY>4>8XI}n!B|KC7nht3%Nn$OK5+BeLPZKh)vxAcw=AFMpZq12j64Nuho*`--7 z`Y<;+IwT8{s%o37EOdN$!~7Ji_(A%BKLjeT>21*sB)3k% zrs?rPxr2Z+9611o))KA)l{AD%MZBqo7k`)lh)Zi9q(MTafro z%psH2KOaY)_rJaMf}g$>G7x1p?}qZ*<8wx~^5D+_keh*pIo~z!F=%o;p3((S7?L8i zaN5-Uo?HY;6c#4qi6&sE%ZD%}V|KG%*pab&2=wm06nTWvCaje=fxe}c9Mp=Y*RX+6 z1=8Zpe4B4>-3JKa2|I>UnHM4uUN5XowJI5-4b|{ElSDg*|B1^#9qgW(-$uBqOHj1r z9uF+-pbNVEa}Gx?^l&L4Zb*R(;CedYj?iENo3%gvS&tV+yan<7-NJe);W3-E zpZC1M1gb5*#2kIKBab^Qy$S$+cVo%{6G<|c^y^y`c`%+f?iv6#sHZq2VNCraqcIZE z;o%9xK1?sqEAtS4+B1OYEik2=7aGeYh5?czfjiBMBA4;%#0+w5a$A#g$jJN*NS9i>X$8mM}2MTF zz{xPe8FeqH(}g?jErJ1v8Q12>)Y~JWC{Y-`I4W|hUoyO1OZms??1uy_G!26WVG`RU za0MObHwidO33UFYPz<>dH**1IShK4oFK%qS={4AxR~#w3Dn z8)g9kZHbx)+nc96pG%$Y{ofRC3m6?i1_hGUznz3s z9F~V^FbJ!}DLdbBqSX+C>+aGcAp7Wq*WZP)Z=)b+<;E%1kK}HUvRo+xfORs<6{EWz z!4p_cFa5yg&X6|4FYdL^X^t?-syua!Om^I*UA;ULY>&tF)R6^IQN6O zJF0-!T0dp&_-{pMqtfxe%RO|^%1|R_TwSzgExDrjaEd}c>!ZwnR?rf%p{rQ*DxxXU zDB7)|z4V~l%xrDS!W)8|6h>xZ`hCFv^Qn3D((Rx~C7qYODV?GgQX47PlrW6pMi1uR z#g7RgT9656ZF@oL2kvLn6NOxs=gK*s()32)x<+F_E?b1@BGSb<*$pJz$tVX<^JW%(cuSf)INC}?1T zt7%*w;lMBFw@^Ub{wPnlC*k@FO?f6T-a1r}twrH5qvUGN*;DHS^7eZp2ej;q?S3$x z3#xnLJ7v~kgNf3E;Kj{>k#dH>`)Y?JL4JAyH^`H9 zpCPuVCT>#-g*?z$pcm@Ls7=p;j{`otU>+kZRq(XAJYF!OC<(|#crX%zIGwgGasicV z&FuD9D^B_Kb#8{f+XUkySde^KUSFW`sDoPZqs-yZP~y|Q_L{S3vrtW^h8{<}De`Sc z1V7EO&?4R2{y1{;&DF`nvf*i2hpvg(Ua0H3YE01%9}X9Jf3qZfYjo;w@ZpZf0IP-o zM)vffcT!sd#be9u$Mv~Hcf+bE@5q8n9deJ5lYFhDcYZ39BiYfK6~kAM8zr3V@cf3a z712)WNO1#Tb4UWm^>0hkKXv;$ql4iQK~p-=H1h5P$^2Z(N@L?Fxv{3vvmw1cEo}Q~ z0PqkMlT$lY?OJ)fLLC8_d>me(h#Q35h^JBGVoMB|_r&1Ykn+wa7@|-TpY(WBtG5&) zuh4l>2z6-npCy@OYf4vngq{_vvoF9U3@Ek>DV;V zS%Z=m*p@~)8~$72*z;HF<97cxz;W&(s`TOrWiRFDXsG8|OWNzk?N|$x7p);10e{&4 z7mwGv3xt zyKb{<12MJ&v9j{6;7no~;|JS|;NSGw(w&y~=@?e84?KtIN*y1+WRyO;hF5s-hO7?Y zbSic>7N0b8hY)c{(%+|pEXMpq)?}B*XCJo@h@W>knk6^-^1hH&!FZYZ(ckJX+nO`u z9S-A1{T?-CkB_D=d_CE6ug>nDL8jA;M|~zAcQ39rH&_p!zcd%YiFWHsG6s7F6-?w&&F(nSpYu038r3|-GIgTfqq#Po69w2)_2JT4Yipz zlmcSm^`rJAoMZ2IPD*u6v?E2+Yzo;u*ln zAr1n@h<=$;Kdo9E1$D7L43kiW&c56h13>{rG%BAOYb6o@(z7~pH5Y~HNv>YO>b}l^ zt7@;X4F#+#Kh?bw7B*LW%3~7!`^)>&5SCrX{+{aQult*8wSoJ4m#39t=X2&ky;g_o z9h`BQXS^jrp8q*&wFMfZfXU4|*C~wZJgf1#6es0mH*H|93cY&?Owjm5vutac#CyCUHm-{}Ct8aK)UmUP=C(9$6uNh2J*kT_QsZT( zYm7H|J5Y-bbTl_J-3DH&tj8NPOZ*ilY*~Y)51efnAFf_}aHMtR#YJ}bZu-Eu>sRvA z(T(Oazlu`>*LUF(WFa}_m^2hWZ=1iUPZ}=h$pL4mn1G{)Dj}WKYti5z#ZfH7Qt^g2 zxIKc^i#@K0lN3n4awqq7a(F%>iIckiAG=EH9KW8-2xj*w3S>=*Cmn?tKXn}Zorfk4 zq~{E<&hC(Tokv4)XXJ6mjTg8-a$7>}o>IZ3a~d3y6d?yRD!jsVy?sjk3B{WHz;h!d z1dSS{F`|7VHjOFgPKaS0prb+r{vIPZhlz@^#&=iuBYys6 z7-LU%eCL~^Xde=3!zP_Q@A(@SJ^8#YWy;Ovvr)NdcI+GaW=|1cdAy?M*E zf{ZA+>WQmXYPh09&%<vw#Ks(oKh`gZsN4-*ca$x1)R6aidY2>f}Px--4^MpW% zid*+TNwUz4?C0Z$G<}%0joNy^)l>XW1O8$hZ)L@)Udh#Rw%<5;{?i1Q*WB$GF1!zL z5sl}f`|b5!AqJK2m0+G1Yz=sz5huv@AE~oTQL9dtery^|#VK zo>ohr$qTm3fQ4J#c8>o{-3mF}w~qZe|DoWm!IeRZIzeaRA@#ET*pj5;FnJk})u~yzZY9K$OIIm5Qd$P~c5qdC14nsq^ z=R=+3bI1`n-ir%7jCni+qad*;Ea&rxKfwT7@6IwT7Ch!=hh!u>5K&6~i zf(VG1XG5`h_n%q3d;SVh{cuES97Z@Ej~)j(+PjoWTTH3< zEDLBKrS;KE(`olc$g&T+QDSQlN}hA`en{AxWnB%~2=zNP;c|F9TB_HXKCqKEW<6nu zjphO^j1jzUKn-}E#|N0h@}~x(I~STBjtWd}^FG56wTHb{PoX))mkMtW`$yN$h8%fU z$*u6ajrQ}kMh2ea52#AN5=q!GU~&|*JOA!@V#>CWQj_-KO5YoH{LUnxX*ggMC{Tbw z?~KZAf&|%6vl^UCEyfb~m!+6u27O>tU%vmCldOC$S^dVzeIBXWB>Nz&uU|9cIy7LO z^J*7xdV@mdq};-7EY#B9fYsuxEc!KQgBkM<ILpcnjo%uLq2(KybXs%g^u1@<-?L-x-xe`3n3pPeudH6@1L0mI%#JB^q0O%PA^~M&N3BHl#3;EO zb0HUw9@98t=r;ljCTBrors*@SyQc@ zIFLxj@jt6GQgU+h!#`^p;SE{ZsQ4Qa6uWl5vk-F$`k*`fg^o{J?K_q zkPOznPzNa{iv|&2CE|cL97FM#IxvZ`vwZ|dpZZJo23Msr7q@WI}yffaGpbJe2)pvsXRYksASxP7?1vU zqVXC2gS|3{sQG%HjHn0d=tZtld8yKJ9889uYor!v3s_-NGh&19YCo^7`srR@>wEq7 zy12_c6A!Jl5IrY>TVeV|Y4BOa0e{n5Cv(P;xMvPZZL~#`)ibTFxo@1Ix%l8KJ4?29 zX7LwLbsPN|=hEk#Aw>Du+<9^=h~`9CT6>6x5AsQ6j-3sSW@<~4$RU}B+#fKA&8h`}#sowqahl%4?idugJd7d`Tf(be# zx%f{aV24Y?Qd81?j@jE_MfMmVU+~jR3_>C$#)YXj%b7}IQKd?d5y7}4rh+kwf}2>k z?CKZ}Ra7*5R?82S2Zs}dW^r=7Ncctmcp(_l*b=^AYt@3+6s&` zEI~CiAP+Y9;#or0OS#;8w&Wl0a=$^Su4r``?{_ND^i8VCF_@9Qu-mb%fjHdFz+(?7 z;B-!V_wD)Q`_otq$>1w_t^d>Nf(On4d>HGx%bI3Z1_P()l&KRGYRHwLwYgzz4sB!p zD6fNChRsD15?wSfK!pn=@rCGI)UBTV+usb;St>I?|LqzdmTO?N`Y)%fcgVAQP47LV zf`fZ^;2e@GX3^lDV6rVyj+YIZR{v$&dOOSg#W2&``%=Ah{PBG3S@#S|HxTmXf$D(=K{cr)RG6f(A)1EG)mWrO@-NWK>y%3MH=ufWt4Y2 z@;M5ulA)KUPK-?KCW%r?cF*I_W>@Tt^)dA9`5WRZ*#If`*Rb^C#@QNsdplv2Vb;^z zz+el2v`WdrRAfA!y~OY6-qHP0z9!}Pz8N`Si=v_7{<;#6touIe-h9tbHe508@q?vv zT)-u6&R?HaxkQ9fBf!|tlRU}s*LwgJ6|5%t(aI%$sC$fTB?bXHu*BlFnM2rhuUyAo zzw$>(YE%24z9!#K{ncx6YO6gl3lEb)rSH9F(!`dxJq*tKeH5qMzX~xd2Pe0qdzcZG zU}U&gcj1HnOi;lxhyxrd1UBIUr0b?VeNVsr;2V`kn1=s3kz!vxgvUGf`YycJ>7@v1 zdU0^|K0k`5MSf{W3lIJWDUe%Y;Ggnui@R(VZriX;_x7X&>Xd)r`t-Znv4)<8Y2qA+ zuYPFI#1W%b*E!tI<&}Cf*TsH8e2FaES-B zKiBO1SJN~=s*MQIOV`hzJ&bTZ03_M*U@cGf7X-Z2#;x71zO%jG6O7}C_p(dHG3WL{ z;sPj2z~ko=BMdyACIolA^c1Rp3g+May7=^#A*FF~>w=m(P{|trz@U%bo!0pGFkv!@ zY7yKinr&ioHn~IgBh5Wp{%@R_QN2MACpRu8%)I+xatXzotR9=47RVHs@UKb40Pw;F zJpE4H=qWw_1fWhiMWwKwlo?6_!Pxg#?R}`%8uu2L&1r+@>`(H zKck+}@I&ydb>*7JocHpRSiB(ct|sg;=(Ch7b1*x>$ZpTCE+S zMmQ^9Q$sUnFn^2jfeUe?;X+Yp_>3+oOW@0CKiRv6+^_D{&WL2h3y-X<4DoVlNdTMK z2k$#I?`duD0>J>uE_Qaw11Ur``|Ufx>t!0G)wCMmmRB1Bka(a^(Uw8LJypCtGSKUN zc#i^%K>wM;W){?P>@^Zja4Gg3vA3c-|EvChqo_-~e!0YQF9-#{=M>jy7((w?FC(86Wc`i+u9RLPH4?wGuf;O67D&TNx>|qooAZ+&736F}(-2`5iiti<~y^Rpg>k)`F|%-k35isLo#5>bYd^!uEI&92uvm>?sI4fpVSxqOOy z;vR&Gi;xp(K@v^5f<(AjY7HLFGR<7GwSq)+>r!AK$m`Mr#ZoZ7U| z$Zcnu$odAB8=?yE@RJ0gTF9no12z0jCZgsWU+mfiHWg)gqyjL{fq^$9?ZN!>&gGu z3*fN{ePa|`B>s6xOYYXr!F=l80WIg=B!l3IJRk{62XZYYZ}R7s@RL-bHB1nHK#u^4 zsRC6R^9+nIatt@=Je+=`<7v+(q#V}Rd(%701NS-|H|9n1P9ntm#~jwI6sXqpji5eU zH8ET_CJwyf{}Eo;oP7h-N;HF8yLu(J2}TS59P)^v%nq!*Upxw82BrUpiRSumf58WH zkz_4NATUxHIi`PPKgV1dhN*OYHH;WKzH6?$%ac}8GPmu*{*XI1Bzc6A>+F28AoI9! zn_IzQsg9qqc-Nw0elnxj<*~h!@TmIvuR?S!4}m9a6oGagDp3J$!$1A>U^V24;Pw71 zdD~;aA5+v~o0-W4GsbA?Dw{~h&TnKdMH;$Rp+bG;m~Tz4-&a(ysn2%egK~&E-BWu_ zAd!`N8!KRyP00ik8VCNM>?xfSO6}jU^wZ^FC*9 zEC$KV+W0Evw$zV{pYETJ0L5THr6W_(kfdvL3tB*85vTA39dUs&dq_#4R>pk}-lsW8 zA{6kkCuX1;U@cF>m`WUo7y4Ab8u*wF@($2K?zBhW`s(^Iuj?U|cv|4BcgV2DR`-6- zFnK3{wH2zQYbbwQzxD1zAW{_rfanBA4joBFBgZ(ao(dgxm(~5~yL~gN&MF8+MT%nZcZ$&RR_C2R0o#X&mNg5~2Nmyj6MM>7Z5c|qM z?+o9;qzaxn!AiHJ-1#xHB)*pw-t{g;C)awbk4?I_Wv?5`7{cUP%QGGaC3%$7t`YEg z8UpgKK^WZ%QC~Rzy!!ESNSTHgXHx1KikhGwTAk)lZMszs_^J7T9X4&%k$?g^Z_{ya zz96zlh5(?$^;!nMF_-eoY0s9@BxxL?r2G@LvA1Q+8jrYTOjK}xA-pW#LyaNM4C=l& zZ{sD6fIowdBm6+(3vYR0kshDUah&sxcKNsX#-;j#Qdtcxo{@K76j0uh!5oD7dv*ytrQ>jN zmrkb(MSvd|LPZ!qdBLKXv3CJ2JpAWg1A`(ro@xo% zzh|Zvxj6an41ach@y{Z-MF%rlH}ONz^>y;p>;p(>qBa_6xKmusY25fLPRILa_Vb@l z9(*TQe_?i~`iMycB3+zL+PK;g%P$#PM47$k4Y468$okaxoxAMCf#!2lB01F&$|-}F z$1QU5w(d7_Kv_=()p$dabt)hjCL)mF1P+G+9ilnf)#Rrf(%QTa@4HwYiN|I+kRHsl zjE={@!*}%2@QKkcYCZ4I_!)rGPr~)R?Dj6i|3+$x&3 zThU00yr4L?#sR(3=2xllXicts-&>O0@DbY+C2B;R>|h_XNSvt%H1|NTZ|19 zyw)7@Y(=5Mbw1EE*c;3I_i$VXKX9B_d8rQ6H$f*yMI(2=Bto-2+_FBvSiv7Zm1ZLC zm1e7lK90>hMdSE8?C=5DOZ~UU&|mjqJXv(uBHABD=q^m>>0UUD?!&L@DLOg)LuAX3 ziD7qtc4G9;ytV{joN z=Ao`HE>4-ygRSeoc%`mrRGFojl5k?LloySw1RHxNU3oDu)Wzou|J> zh5K~{l$%VEw(cjagKgThe_RV!MaIDL;MdD?O$m|1bieWa&hcM&EKcO&R?6>Tx}FufR%&dvHgbtVMWRMxK!e!DrB>`dheW<2p{ z!8NkZThUAi8($4pnr7|c*LiXMIdD|^LEQ=^fw_0ZHTXV8#xq$B4nh2|JZe8rzX^pp z7pca9M1|x)#3XiO5N)`#s`o9O=x{ef=V$KQ6EALF)$;Rd=X(hRXUb5_SP0dVHj);#d{^yM0K#R8$Gl*;A*R5K3*Dz~33UAS2 zlD@T1Ti;Rz9UtTZOD8R7bhs;8gdvX>{C%Hga&d4mbGc?qIZ@EmLT_ z;>C8N#~yY~kyON=3oZ<#-e9~snNqp5QK;Z%d1UfoJDQe=0(*V4b2FCQ%&%e~rPbYX z6#sgq=bh~J0<{-!i5lm*?_PxNs3SI97Kk|H}(&K<2o~Mvd%lD3A9`|z`3$}j+43&7RVUlQ_ z%MeID{Leh_b(JmfH~f!u33>?@rUU>xcBr0upkaf!#E!Qfsu}83OE9ru$6Hz4e0wDR zk}~|Jk znrdegfuURcZaEaENuL2`CyjESfS>*`E`swQF_#uGI(`fi@}QEd;*@|u9?%lWzStQM zm7VJ!f9XrDJ_|s?1-DvE}^GRn0D{^!2-h|8C=4i-nrJ78& zDMjua-up;)>7=xPBG$Odr+-09&K`!TE}b5nfCr;C-n(NurLl{z*c|2ZI0t0t{N#$n zCX>IV5I#s#Nov+`dQl)!V;kG5DLV-Af4SVkZjp66RXgYw`&p$Ev8ti<3BThX?C7{P z2NmYR@0RLltW{wjrNE}F7{yay;()T(sQ{8Vv5>mJ0Yo0=6h3RNgKV-4yWe(J;;7%> z(Zq|>AfpArX_63!Zwz*G$Ezg-MCVZX^`s*=ZyuI!E-jb1M7i3mY&T)^Ugox5U_8XY z8e|#-<;Kxs=EIiK6%!7oA!YYc5^1iQ!V zMW+k=z&OSbL5=5JAms|+-fLzoA3Lx#v!|ne=g}b}@l*~QA8wQ-*IA{(@oBJ!HQyX&5U1~d@&RIfJ>i7D07AJ;+f!Asm>S!RvOGm&D?f;1Zuy1`|08Hx?+5r!9Zd{EX9@6KW5o=eG zE%^0`sgC;d%UI@sxmj;!!j54C$dTi;fZJZ|XBA0$2BaBK$pO3M!}Y6Ng9hM#4XpBj z_-XOoMZ1a*AlXXb(>L7xYk*ya8dmBP5fn zCR&6rbZO~=_=|wOrjVQd%;vE`M7mPdRwT#(XItg*Gkwj?EOksOcjb(;{+dr#PhWW; ze!zqM3WS#*oy|6MNmODB5a$N?+mK$o>_DU|`Y$j91T*jb6N+t$gN0Z%gtgHtXNgLA zNjWOE#iA}wv_m3(t51ac8=`djH0~RkQWLM%_jk;s`c%-UmSYR9P$W{f?+YIA zNBXMvI)Ly~s=ErRP0pWC`l=^WYN9cDk{VZ}6^&^Ofl3?3-=G*BVPbd??WSn?=;zMt zK+C7~u@ga74fp`3UisGqYvU(NwAL$EL?s?EzF|X-btR*Ru%*%$MJ1Xj;;Qt@DuA4c z=f5X_t}ro{D#)E{-@?7uU3GH(uJRt(o6}$N=h8&_(DUxbG_)9WnWV;EK7X!{;ebYWm?((YB?yE=!JB;Ou}ntHO|tYd z;L$;GpL^ajp$1+pN?G?_*k#&QaV4}mDS&{@^C_Ixt^eNARx&VQ-Y~|EhY$XH`(G-t z-s9T`Je~qomnm$oh8I4lt)3#iK#q!g%R0rJU}BYIlg#{;B69&9rvYixXX=Ay;e9UU zKbno^b(0ts2e}EK0`5_Fq|>;AfIIB>kVLr<*I%IDDljf+li~b#`Ez)C+Ci%VnfXAz z?$aVnW!#KF)XHyk?S8$7FC(-q^D>h$;AIIVT}6lhdD~Opm$fbM)5O(a1c`w^XU%B~ zxoK;4CMQEqGTjc~Z-3VxX!D~r4aQVh2)*z}_0tH0*8jq4J(OgOeGYi^{z!!8eg?-H zU4~r*n)T=XE*C<)n326#Gkq-L+qUXJX!31)T*XRFUZT5Y6LpWE#nQ+0vfIu;Qx1z_ zt+et(ep;aO1|R6KEC#ScIOWPr2bO?MFxBo;&N&Vwd2)Y=NVDM_dGN=+S zHFCny9Y$x2_@2cLK~0+9-UtB3n*H=yfJ`}Nh^7GQwM6r+;4qjQd`_8%Qr0aC&M zQ&lg%msOG8r7)@@T52`?xm3g37I_k0<0?@#7nMBx+m%k2cVu z8A*})^v-FqWUW;X@K{Iv&Ie2Gdn$k~jo zEe)-+`Yb$1C zhnVt}9uz?8?_u;M=+=)?NkWjDQsgFNxWsw7rb{EfBwJL}7fsh2bT@#_Q)c{z1nBVZ zOAZoyLdr&cUR|XZxcc9{Vw82ExuaQ zJH>f3mAh$E{rBDmYfM)7eLO}i6JOcPDRd2*8>)CA-E|XiGS0;ClT;9RZf^YNU>4g* z2H+BMJ?o5LQQ>6AO97ouC{Jy|_lj+G|$d+7XGK2pq1U%FsO zm6B~~^$nGRpPvehAzv-b?|T0uj`%>0UWS%+W=AfdlZ`V23O* zz(r3BA1Vbw^#i3m?S%<2l((2$7h|!6_bpF{UR?4jWj0&V3uTfk#r8&2*7V7`Xz`7+ zk3D`oE9#!ND)A+nU4P_;mo#D#b&M@%F}zotREb>>d^&K7is<72-Ae}O9p9TsUiu2e zS^y#kRXc~JR^^S+rOc3NwAWv!vzrmI*zy0Okr{%1Nfp~vIuQ?ji zA^uE%{2a*04H&7BQSHonrjvdiBqJ_Ld<(Prv?6N>(1v$%(r?jO+AGK0`Gy|Y2Xlbh zRdsMIKHx9KTufkabwi}i<31{qdQA0EbNaW!zh5(TLVyqan0b|Tm~tyOa1oI^-+Bd} zsmZ&kQw;x?ut%wuo|SI(unHkpbtEk^*d(7g>K=V{P}ln}q}0CI#~vCOU0>t*w5-+e z-jC@9AF(Sb0nE0J2A*)kn1F)&46aU_N>y2$0_{54E=ylk!}COz_^p*cmYNIfQZD0p z8}3J?kqsKR+oBLLdet4O#Qa-Ha=$LFuT;w42my%`AvWl9UjbtV&@czd6bdcce%c41 zHm!RnYxK-M1-!2^u^8XbaD(>VJ!67+aJSekY-a+n@}iUA5BA9Hi_o%wNqyRWB2Q7-QvB<2^S2amA9?@>yKu_RG?qPDD-^G6o_3g7?n)3Yo;I8mD$e{H}fXo_383((Fb0^G=ht73pC%0IZ< z1j?2$^F-l`$UPA7F8N{lUoL-q)d$3;q+{NJx;09fpiSDL0b(Cne$sGOfb(st0kct; z#Mtn^4W!5FD6jS?V;&m~e7P7A0`aFEtJvmsOZx^=@y(ZNRh6FD-=9Oka}x&8s1V3F zZ?qT_N#)f(*QSP^QSHS%MD80N52w7Y435& zV%327HU)nUAF>|E&MnTK=5`h6%KI+k%XF^|pqjO~tJCZRaRl%$ANcr|4->;AZX@so z$neEx(Afx%_Iq#I<4wYDQ|cNyz=wtY8|@=jPNB4NgsR};v^=xZs2u}#LccK3`S#Uq z-7DH*8E3$UL18a`s1?=+o-T1Ae>NdZM7@76)#$*@bg1y>(eR`Sm$)*kSJhWgjX0Gl zYkSTT^IiZhzbBgXg#ysrz7rHuHzRS4HVe(BV))}7V(FpJ-)7MNnE^8l*nF$ zG7X~ElZwKvKn{)aC=dI!z3DBxKDhGhC&2SvH@Pl^(p6Aeu8<4_uJ55JX4Jom`HHPI z?pXsT&uw*zt^Vn;EBEOg)tko*uXODBnYYa*`Pk)%Zj}*@ak}I4>f1(C(#-9)CbMb60G$2_g$_pe4AWS}hRL&3 zdoY_Ob_kbFN?{Ma#i_fO+6||7Eq$0qa`8Y}%M)RS5b5wasD}tW299EXj1p-N$j!L#%-!yZ+cogwQ%$T*_GEC8q z-Uk|Pi|w9IE7T-dWt7}+#iRc0O)Fgc!v+N`>yDN!Irb9XlAQ;^Eik( z&n8zJzYvjT;t~VsjWmN?7s;k?k*MTv@F8Mjz$9#48h+f;1w_n&q=n&{^aR)&Gc^yql)wKj#jZlR|qFA+|ZHC_0_N*WiE*eqrM__^Nt~=bC5aQ%?U#Dwp~IUGzjeKT`@sqOsMYpu2(}&n^nU zz+vOC`17W(EjQ~pKW^gl)8G8yOP=Zl5gL8hvef~bh_R_y@=gZo)*!5^L=XegD38YI z%N^ZO#y%$7Y$LQb{aHo}U{CmFFh7op90#2C3TMHM9R@cN5StDwN9`kEn@B9sVw#f{ zXe6yq50O#*BJ65Yg4isYCmJwPxu^)pZ&v=Cw^zgkij5C>N*)MU)Xctg^y4MoM~1RB z?vLy+v56}|sr^8YmSz#lpxws6v;gO$xADT@1lw;knS@T8B42P?GQ}qAS{42;bNRHY z32VYz8c@~0P%)LCz~=uo{vd5d50arCtHIaSj+1_5J)uYZ{NMu(y4~A&@m^-?udM*k z+~43otmV^#gzSooWb&~579bJ5eC16I0I-_;_rCz9px51pRJwbbLpuO?{6(VSIUTn$ zSKTdik>K24oVaExa^E6t?M$l6)BDTI4xgz`fv=>$=0y*b-^g)Tf->V+zJN782oeXv zLw)+kx6d68c~j$*P17aBe81MFB!+hxW^*%8iG734@Wlx?Mla0dvrr+2^Ng%)FKRl802fosZaI|Jn+rbLsrU-n+#fl)}$KR2U-Z#_S*U#!P z+|P_6eI{EL!Mv{hE2L-S=Hq@sak+IQSjld7lh7S4cc7=4m;by&7~YC|dFmi)Dcodz z5hvW#l-DcB6~F{QkXBdYz8#n&H%~jirYA$1|6eEP{ZIA({_)otj?FRR*aunJvWa77 z6QPJB<85R{NjQg-l}$#Gt;klAtYfdTLaF3%h!PHxb)56{`4_&o+w(8DetKTl<9>gz zqSd4OAKdMO7@7~u7buePzSesS!3xQuxMy?+#UzqJK1Q9BSNwX^-Y!PAN#o+T5N(-c z>AhA=IwGB4{2{FM3bs2EVEvoF2)5Dt=auxs{Cs5^JtWx0hKS=|o$eqCe!Kzc>|6GtNL)P5hMOhj2A}{f%xg4kt|`C!sE)?*8R#AMcLeJQ5*M{nU1ge&@{Q zG3%krl^-Gh=w14SuZ}5Pz5;w-8Mta1+N&9IrT-dv%&wz(+A2P`UxbJbjCHB-rpfst&DMde59pIXk#w-(bUM)G^M(ZBHl>lgP{4D} z?9Xw$zE}}wll_CkCHB-^XB&jOJ#dt0|NTVQ{}>Zku$yFQ+I}_gY5`Wz+V6UvUR+fw z$sN9yWV_*nvILy)*GoesJ3AoVRMgR1tl4dQE1UkZ1Y9dDuk$oW%8(kr2LcPvWU`Jy z4srpq9k7m!5Q-6*(wbBg3U1NI9s)(rS3qQoch)LQP4M5n(=1L!ZTwZSAN>^&4s?0s zbPx>Szz;n>=5C<=N*p+mcAVyu#DD(t%CIT^!3vGXrsKY{ zvK0%;6)7jSa08a3lo4vGdS*R}C_p;X%_k?G16?L1kK1cqZy53TF`zO}L*$@NmzI4h z2VFF0(qy1R`zVAll%Q}^en%Nr>4iQIw$BU+<=?`1;)D!d^Z|@zI{XhzX6QRlB}x2P zcpZ(O0XnXL!QLT3A@t97ayu3HIf43KDsCTd!-{2VoV~~~lY2n4Z8|B-mt^3njz!Wtu%tE9SUsn-%NdRhWAv1_J)aykji&Tx41HREZkc2Mmr+lYt;C zT(CC3zB;UI$dq!yExHmrU5|%n$T~?vnF4|wmN*M2@)KS-XGw@sb`|4WKC2vmTj?xD zWH%)1$PGbF8}(p|mV;tj`x{}u6@BhI9`(xY;xb%f4k3=;X>GFgj8L~ADj*dE*9Dhc zX~dJ@fvnRWSo`a5vD#Zl)GxS_^R!PcmNtU*jXcxF@lT;wt%03!I8asq!qc3CrXdSg z4Kp{cg!D?{2zL34qrfra=r*^^6$mF7VG`5i1cm7sAm87rqO0ApMvADz6_Y&8*gU+L zzM(6KrHJ~A!ZlM0trjsm(*ZI1M0m0>nndZs8ZnhR{_e!kt>Yfx}7z#pp4+dqAY zpM#&3V1rU{fm1P?$7`Ts55R{l_Ld~|7F^CC6ZDR`{WVLQ3Un8kI6#FhabSZ>ui=dp zoLbwyILN-9rXgS9Y}3t-QhPl!&d&f>Vjty~6lE7pR}yjO@?5#Tm;}jjbYRDLhyIvE zf`;=7#Pjm)*?M0+SpinOsroR$J2o(%*&ADwJ{}lTf(3>Kn0Fsrmpcg?ehLJs>?G@_ z8ZY?%4lf^>vjuj0?0HdimYjW1VYZ-O^nGym*vrsOHg-9j6S(d|stIAyd1Sk<>|*J~ zl*de$TB@_khOT;0gW>%2{0D^K$@|cjwC_~j78h~}Kv-A>=_3@R7{%*0iRXq7tXClE z1};aK?(hj?wQ`P3lNV^LpK|vpb`1NUHo91`<;sBA0O%}n>nl!wZvERKWmTIWvA-+POzr%Cx zyX;kcyb*M;prYOb--Q1s2{Vh*oOfbmpWc-lG0HSeu(-6UFajMB9!b>`*R*!J z2nK8iKVRlY821CMl(gF&K76$er>mS+-m&@sG#!t^$hR#?GsehqrQf@%`9&m0>g{CB zCVS+8lXJv#U9G2o-S8cxGP+vv#IIl#wo4oBwlUEbDt_Qsk8SO0(D-VN#45HrDfDa5 zpL#`ptN!IvcoD829+wEO=gx|zXN;r(1dVmz=Od6J526!T10Ts5o&;Zui{J~ck~j(D zgTGQj9xA^@;*x&miQz=2&Gcf$cAQRXz^{%t0W7NefPW`IC_6RqX2{{MCyR$;o=Ozx zRdIA#M*LhwFp1u5dboLg8OsHfJvf6K8^pC(&q`?@66c*SbDQeci>56>3U?Y`S`UI- zadCi6tZnVeXTxggH0tQa4I)PHi0Du=-?NRTS|^=il&<3MAqZVqUnP=MGmSyi2-GWqop#QctB1p;|j|p^Ldm4CI(y6)byP z_&Y5K;jh81uG}S;Y;zJt!iTrt7;YG6&Ct@YOl}QmDL_SN7?SlWx^k>egGi$BX-dR)JlOM@?WUb8_K_yV zqW0LO|F`p)1PaCD=R_@_4^Jf7@B|tN|bs zdmg==A8-+i8_hcBRGI(_4H5$irKqriRZv%+U-D?hLyNugnlds${k=!L`b}QJ-n|1q zwzwJ2{NCg0x81D0-HI019`De`lODQ^i#B}{#4!$_RhfD9vrdCFyV8FJw6Qi&lny#Z zGBzqdd_JtW(w-R2YW(qBU5;>q)?(38I59?Zl{*Ut0)n3y{Op^G`ezzis2%Wb;QmVz z&XxCPkIVdt1Q0=473f<2ufj+Gmf#Y5x+_3>+5vaLRtY4@UVy^jHR!%6(*|T;w;#ON zM@a;&gr?6c=`D&KxShQ}c?Be;NaqO*{)x`-8#L2Sel4-{t+ASuhHJL^e&t`zhmg0p zKPd(Y{YkyEf@U8B$CFgu=i-B4Rn_k=ckeI5mAhd1G+ERQ4Q=WO+ znXc`)+sOnf%6gI7Hp@}ue=*^hXvRudt_{lgnWkB?+zks0OwiD7ReYJ(O|nBXUfa1yf)U4tDd@#OdBy910z4vxnOm$UG1gECCU9%_9^4wpym#NsBWZ(CRQ)iY; z>k$FnU5aaDKD*nhi}c8^rzfQtfod&d=O|cwgEH;E6O#H98pCM%pK{t6gm;bJQ#1F@ zpy~WcTETYUa5FYdts76@DnaVc9x&)T`cbF!60O*o>)zIifhBYL`Hf&=T$B3;h}OJM zq%8NNXX|9kp(d8VV_zWt9Pgfml5YnjNQ#guUti97vnY1uQ+F)#h=XU%1pBgip4@T$ zi<>;<9WjWpc4W(WG9f1f6k>;Df=4pk;88UMD;cByu`UNY3M~ta5<4kZ-+oW<;90cR zo{pY*NeR7^r2{I11UtQYU-1!(x5}O<`|Ko)F!5xm8`fM4jr{d6JmKy$o_YgKR*ZAx zvT55~oXpgP80~_u>@*gg6LW;t{W+ZPi@v2S;qC^;ok)^$rj?5t1T&JX`{tCEU`BSH z{kQbP3jbGS`He0b7)n`n-i_*sj<9&+JC(b9rCy`J85!8?2ve9%!ux*27$tmHidC55 z#nj2qgn=wXV#7hjMS8*AKV`pK$XfBzTM(}bb6;0B;$PP@dAa6VfUp@$)vk1YVylc& zy3S`$R-Qg%>FkccD<|k`!zyaKPQ|oOzD_J%UtS*&YCFAK)^h;5Z2GizWVkPasw@ zodDepj&iv*vuu18@*0il(pj-ZYFg+h%fNx{+f{-aG4O|TZc`~Q0vLNf_m=dHSv8Z0 z#WABeqr#&OB9qnD779zdCw&bW#7y<=Q3YXR#3G;ZSz{>T}?z?Q}FZhy&q zfKbCvj6&-9e*rBMJ|O-nV?rzN$e9l@ebWU*RA}dUINdCWa0^=;nrx}kC}@Zc0j4a( z_bW9b;E&`j8EOu8YLDFX@{So+gf>)Nx5t_AJ%98^!f%H_I~N9fW}Yrg^6#^ zDA2wjKxjjw4W#>FHCo}ZB_-!F@9+c6PGMkoZSDS^olt7oHf^(8zS#Hg%nCZ-FpfXo z*Fx*1j?M(?x0Zlhl0kh5<8k3vvh&55%h=b?P`u0o#w2Kp@6fp4qvAV8jh_9{O<(TZTorc`5l7nB+MBb*wI+4z;)RB|)!CR!l zA`-~cAcmud2Y*u>DZCP@oOwCU#U4mz0svN(u9DGx+AO^y+AZeB>n>Ag3gfF3LBviz z(>1QJE@8=kcHwHHi8g6sYrphI|453e9rzcF#O9L*-00=W~r|5%+WE zMn~7FGx)%B_7s6j5x|YN6T&d#t2VCZBD@)6sP_Cp9WjDdJo3 zM-%4tt`7XEFxP!E_^Grdwd_|uKuI<87hMi&Jo*TzCc{G6^ms3ig2(%_Sy+c6saf?M@Ls&%sQJF>n6^aNY!YQBS6g>&Q1E|K8j8V()$AW1i%IW` zmz9VgD7jAI(Qrz9$r8pFKC@!VA6nFPRf#Oiyy+w-$*W&IJZ;&9tg531|?)`DY z$_kv7nc4E}XYV<)4{@66idg8R=l}o!>%EekHUI!81$zTfkzrT*M;nG=A8;PpiZX!u zDe@E8AIMfJigJLye?MBnp7O9OXl_a$JOBV8lYeixiILKF0Dv0sUQSxqckQfOC4v5f zcllkO7>5Q%7jwi@FT*( zD;S~9d{Qt{0WMe+q9DS3dn+)f@TOb|ojO1X66(}g(`lHVjh9V=gX6>3srV(J{=rKl zX>_!9a&&a^ny7ekgO;~{WAeiGwLQrLc;Mb{!kIbo|9yb4(z+UZYgvOIOzRs3;veOG z=i!cbJle@4T^Rrr!JL`0;6#+2>xe116My5Iz)%lvGd%$5O}=+Pul5Edk7IK1&E7>6XCT52Xc}HYt zLj8i>))5Q zIrqBZc9;=#yVmWGkoDY!1zjYaLAc&>{Qa@=N=zYT*bf%R6-6{>1Wbo*;|TuhR-1wH zeMIsGxj{L>2P8)V?tp)zBd+GLMz-Z2#*mdVG$*CRF`^kzDZ(?6fLP%5{YPbRkV#~# z&ibd=ps-rtxfsx(^_9}ib)dZ)LEH_sqyCpmQDDpNJw;l9E8t_a74o0{R=)L&pjeVf z4UY)yJ|Z+A-;PfPXkur=g-fg(-v5FG70T$mC)sZbbwojJn-32B<^8oyib@30)Sy}V ztVrBY;%&V#s2#_B;I=o~jql9BdF>@ItRBcMHgJm0hsyOAnIfDEK9nfb{N&LaW5gib zH31CpyVykR#_YoEyvLoDjU>A@z`?6uf02{cC-wTkBg=SNH$PYa6=F2wp@rr%k{m-Jg;yPK0Zaxxp*ed-O4) z@sGrG>qI8U(UebGp7J6R{tUA~Y^x^rGU>ASXD70QOZ;z*5y}NdnKzZEMMXl?t;gND z%pA(zQJW;xo~S+S07<4Nh0&dR%)o`wGX(mj*d;W75?>>lkEqct&kH!TP7zZ}Q(hRt zUI5ss0v`KGDVo~s0Q4Q&Q9C;(~|5K%dU6S zjUt-=XE|cvGOnlk%v#}c`CfD6&oB+FXjWtykMK2YPJ*>RT_cVSru7rLsTOTl{+5Ys z7edIQ0?QT5be@v3_V{2seC#s1@hs*u{7B0b3&S(qi#uk%Kf}rQwCXdaJMn*+9(;y1 zT*A#yo?27)I{lQ6L5MxVbd~s?PCFnpxo`z|4rw;{_yp=fykd&gS2Sn1KI|em(MarO zu23KNfjg7>3H{DBD>+U7LItmk)@C&SwLyB& zYe(%SQ$`pjMT`_-t_0APKE{e(h5Llt219kQ?ZDdVz8B%9Hb2ncwTONbc{!p3w z-6AdLS8VGx!D?})QYn+NVkup;g#XDT9%rnjGN#9$m-?vTk-@}Ww-dxoBs1Jl4MyJd z^x)p4_XOW7P|XQ=pUxMQ3U-Bfk2&ynng#B?bW5hbLUa*O16a>6?vZ2=ic>5kLRt9F z@f;Ag8F%6kX1vDc1Y**|3@hq%kHJ)xh*lV^v;MENTCB8sa6R#6{(p+gGjsC4GOLNc zRX~fjOrbVB!@o$!?Na%uubRaPMYx1ZsQ`dUHnvfBDQWH=HraQGj&#@P!S;$}66u1v zCHcy9g!70}iMn#ESctTQG;lx9W293o)HRiH!}}WG6NerQ&f!fnPhTF3X^;X;2@$A} zC98{Gxr*%!%5XE4=!u`;yAl1Xj-Tu^*2N7{CxC0QU^RahbV`{P9|R{#P?m|JCBu zrT*QVV5D$9+D|kp8-n|&^?p8%rxk8FpHX3`!nYp)#_8v7P1(%UFnjN zKsA>C7evV@BQXco>gozX6hpj9UDRsbLBu}X`Ovs_Noi+KL%cE5F*X3o0^G5`{O-lv zMHOQ1pKnRtXyH7>H)+I?X7G4CV3r^*PtP0sN*w#Qh%Cpw2JYDpg)v}-w z*;_UqmW1=Z9om|*jy1Q8^yCmeRq3f(mg3J}vNYUpZdYl~YL|9nM3;#Cw_3wE(kMz< zd-{D;d9rXN1Z^$$2O>sPrsX9;y~ZX|hgtASscqyy`?N-kI!T22n_|ObmA~EUK_N5m zOF?W#w0fb`)G`j%4t2VS6u)PplFP$>YvmR5+mV+Yc(jr22V0{lNy>eo4#dt#-o>oA z^N#6ju&RHV5z-#vmuPaCL#P=8>)2K2r<5Bn+sS)ekv$=} zDswJt8;6Wupf}$%!#kV*#I-w_0|A_Kmn6I_mDxNxc;D2kAIE6z%I4yGWcr@Rf{iJW zmu)!%jD14xoObpACrq*Dw4#a&hxaF04&-QBRcQ+iin69&{6F0&7M#|d#@wLn=K)tthMV;ME4mn zeY-O6AV~c_b1sub7f$VS)}afN$v>o?TXyn@L@ev{Zcp_ zR??V)35XMJX)(!~7FutXzP47`ZH0%5pcQ9w=aO0PghTp}Ms3h5u;C&V@U*)&|Hs;p zQD5yPLlLCfS|o8*#ho*}FEzIrn z&Cd`hIhQ?t0k?Ok?6{AJGT5q`c~N|2(wkUMz9-WVQ%PDAKfRqs>@uXVbb+JPOouIvA+z;6lbEE^}0Ny4~L+3RIgW9c`1suE7oC0*u z@@kJ*8>ep~bAst5jUcT}5(gaZC~d|2S!}hzxH!YYBp>pz@4RBjA=!rfNnbs7iyS`0 z1?e{i)^o^-dD;35o&tf&CsAdVS_ck%GS7u--4`C8_I!;T1BIc5`oG_~2YD-#7?)5A z*6FJTodSQ+JUwrq$Ot0*=)yffdMq|H_GMcHEjIcatLvmgUn2`w;S{Qq@yUe&ru9eZ zm}kuU48^f6ZM+d3EfX6!qa50%=O#@f5KL^h`P5@ARwK!q*8^Gw{Sn!K8VFuIw{S?i zN&QiCsJvKXU^Z!8kNWCMe6ZAQZFffx4WQT27^Jya(o%d-gUV^J;?3|-*-uM8*!`FMV=-LG&xnY)jbEdBfl#^_do_rV5DXO>l{CgydAYev^i1M z|3buotG`8bX(VSv8@co8dAzF8yLqei(Wa9uQ9HoIz5w(%!*y^iBISgxdTy}7_?s&{ zEql@>JR|DM$LwKAIh?SDK(ZRvdehF~-?>7otE-=J&B~BTzck{?L+2Wmt-f%#dbc|d zUmhn^ao1x2z|(>zza%V(JfpdhhJlr#=JktgN<-1w8TD*fz`Q()9!Q<*8zHEc{ky?6%Orf5dkE-y)YhYX7d+V=aF;cG~3kBqN^p^1I&x=*v_xCQm{CFa21|Jn#d$vdqVC; zj_0|$zqBr&XK8cY{=}Q@23q1!D8Wmjl=yRhpOu;gFrs3YXy>?oivc#|9bSt-p-^%Pin7~9 z{?oIw%k$2Qt0}Py?mTt8%k>9V84LOrw%<190Un`m&VJez47dwZXEwP>umQec2qnN5 ztWhgT=DW(Ad-ygQwu1yBb^?2v@o5l;_js1;P4}kq#5TGEmTB(Co&0~+SDQJ80CXG+ zj!ryWb2XxY(|^a0a=D6?dET+)c-{GhHkdMZ8L}UDxDcbg#mgz*g^m86pFihCF)}j3 z{uaY3A$ZoT{?%BW17qx=>c=HssmIgoO(MlklO#I=#7LQz=TPU$biBJi;g&AQMTn4~W4KF~$l(f!P0@a7&F3 zg1Ftce5-bMckg!+wC2sORgIsb{;tZHFk;P^il#R2=H@1~eRqy*KKyLxYG9K)|0lrq zq~3hM6&cuBsyb8Orr^B(Z}9m!XUVLc$1yH^XJ;qB+JL9%!SQh{3|a+3_u5VmI#SD~ z)JJnfs6Ihk+w-zJwpwj{n|ecPUx<8V+Uq|O2fDk19>_1y?^SkK2^S#^j zS>4=({J6Jio)M-O_3iLpGHW1Ge4H$4tUz$ndApj2Az5eA(Eauc(w8AC)PU*m!fNeh z0b^rh1k@mwO%?A5GUv{=&P)RM0um-?H=pi`cR?Hl;WU`sY^E0Lt%Jk`Ipj32ow)D; z0Rg&t0_U=s3B`dyvw)|+3DP)9Y|?`+Qoby3tspW0M@5@MPIO0o z6^ImX_xRY(&6y_BQp#GgfG_uVGz-@%L;^I9gJ)@L8&hsioTRW30uEhuIz*t~=2!nh zW_0eC>4|gE8B&Ek0~x0=SQZG{E~(~M;{&*gQ{wDQK=t&nikuTt%I%}~X#1^x7CIaM z?I^EiU283?uI{5SlY2P2Qo5{LZ?n&d9w;fXOddS&=Yumus576*EW`X!U2T^W4YT0X z6tB!&~!!eqE?Dmkh1LmtTE_nSe zwf7D592`(g%K9xX=^+9zC6ifqUmQv#6I$8ar1)-na*Vu^(qX-f!doAH^#B{N^*h(; z?36oSRajVfXMaDk74oC+0N`0+P+L!&G%}#{cWLRZ+Po9_&OG03!wpKk{Vy-jTbM^- z5&PNKcXV$g=>)p<4wVySXC1LyT)VTo`*)t0&oA$@H8=6QhwiwG&U#00AD`8&txrBa znU}tkbU0s3v4L%}dU`+G+D5jvC{xE^aq@4i{au>0AXx+5v}@$Hwl%qp?0J_IM@?tuebb2S&)zvY5!>UdBvr5hU?d3P0Xk%gs z^qW-H!0Quk*6&Y~pZL_()wg0X7hpmf>iq)$q7t1quCvp7{c%MrXNwaO9ue9m4`QxU}p7fvotE=s4kSG}?L6j{TITeKoWbTVWIPI139|mx0|Ntnn+F%a zKQ--ce^kusqp%LNvbqt9GVu#O5U^X%SRH#W`p!7)8vzf@D-ZahnFwGnEwkv>&dv!~ zYBPAeH!J@#rs=ruU3roM_bn;?gXxr5CgwO19(*QHN3WwE7Ay025<%M@FkPJl_dEqv zXzq=K&!?sj0D)@#o3Iqr;<)@P2zvX&VUG-l`}^+8pcDh`&=a);h!b1&1B1RlY`yWVi>T50Ksi8n}3$-j0YN9GG~AA zMe@qQ7KP;~asQj+4Nu54H2*5}x8FHe@ARqgb)o$B9n9#L;9Xgb@W1YWo~m&)beFBJ z2djZitlf|2vJ(@7pPE)RGwEi}|qd9gL0c=Y} z;jXN${edMN7`CvgD$RUH9qYN0{z&@Y#KI6zBsnsHN>>3(!Y-RuqIvnCdl;&PMMX)G z&D_21GhslAj_DE;6Wizs3SdV1AlgDyC9Zg}I}mevae;FUG0Ui~wt{hBUS1xdP;T$x z^#k{h%i~$P+q*l7sC3xqR_5uGby$=-I)chR+K)w`wNqZayhy^V{pqJ+*AtGEDPNv? z%ww+~y^pthf3dUQ(>)KYERhW9Sj8}!gQ2ZG;O;z|Afor=TPwNM)R9Ne%U?F^ zq_3QHu`_o3e})suPMutFc8uBI+VlH_6s(@Gz~<;79e^P%m!8(i+4*1nRBzt|69nS{yJpA-*&TOX z2rNN1^uG8XUv!?n@4tTd&ei+mPQ2*VP9Ex7C4C?;KhL^v}^ia?Hf3vh#SCfuwNKW%-dd=h= z9Cp<2fx*epyNiHw>wgaXE0C?avbsuwEN=FR+27N1(7-(CfQ{J%HhGOfKC(N^G{bwB zDiP-Dh>tsc5j0{=utNqw&)ko@M+gX}eh@?Y;un2&wF1R}e@6-k;B*iS#~bY)w$`v) z)M&l1prRD_<=(&W=r;13(^)pg0d~~Kv~+VdJ?+iT;@zEZdfd0etW$%~+ubd}m^!BN zECw^f^K;NYl$?6C*H`u%Lq2g_9>FStn8^_?SrN-)m>J0bTg<_ZpY$K4Pfbm!ymv&J zkWPw-K+wRtfML5q|2W`mt%dNud-TDVM*$lL=izTngRr>xO?xosvffeuIwGuw&P&(Y zCTd4E(98b)DexJx36ul!ai{XjBiGgsGt?&FzwAK4kkzT zF7M++JGjsz+qb7vV>@6fun|6*^#=*Y-J|vCG1u&{P%f;*bO+}rE;$CU`R1P0{vSwA678K zaGIb{LL>=Jspx{Sq3F{;$1Y+;m^bSR5MsX*CRSGJ_;)ECe%n`E(r5q9&$7di-4_;T zO{i7Ls z?G*R$sFNVsM!`Rzn2G4=4Z+x%pA>7Vj(jMQ2j9B1y1EE`V_qsN%ug{vQ$k z?CqVNot@ozdF-JA`oJ~{e>-|K??I5je~h25j~a#x&!YfCQ;bm;XeVd-2*%NvNVC(a z4R`;-tRV^(5`7UUk+{f5K4wZ}*5nEvLVa~0(SKAYDe3(`bk=St% z*4BnVvZ*d)Eh+G+$nNm_+~MiF&I9Pt!ZO*!5Np7_n*GVEyM&vXTuH-z{+| z*r6b7tezgB+I%g0LGFL4bB3?ypR7X0ARP-`FD1Xl*18bUe=s0>9G11~K^8ZIlf_z>*#)6mV||8E4%zqtRMS&a>f_86}j7?6F{ z{cn1z;Dg}xR+zc(H~!O#{I6Mq(3aPxCV`xs-TG3+e?qj$+Gv&bT!_G4LLso5D*o$$ zdu-bzDSj62D{ZRKv+Qc$A3Tb>_8Ow3E`gAEO&Rl zy1EjSLrfPF6Z3Dq;|7qx1NiM(t-^;an$O)*fSz8sPl`m3i492d?w6$xfm1Ltk7`ot zG->!X^fwAC4#Xe|Y+7j8tYjlb{(`!9nblEWU?etp(4oD1A)h}FQn2Y}16ju$48h$) zM7C=R+-Vvr$!e?PFMU-}`v%OGLA#Grjw%qOwN)r~_mOvK<6YVpgCe$P{Gs39*iidm z<;+K3X*pPBNcqxHU#q{S(H=7Ua@+7sDoF--CwkPcE)>{sFosuUXKs+j2CGhCMJuc* z0fT3jVc&1{7xZCZQ4a7H3#$J7S;CyEFhR)NaJC=q(|WzZ1>?RbHB4>s;HMQRz|_FN z;f%R(aQ|sPLC{OT(^G;A5MpGqLDBh(AkC^Ta{nc!-q*-J}JmQa6JpsQ=OwpbH$rJr{=}p?Wxq*V79#6Jv z^n!sT>Yt7)O587{kHs24WU6NSLKB<MQ z?nof4xc4#**e(G5Rf)&jvH4iWcBVed$0W1uIpV{Eavx_}Ih|jURIDI|OjK#5!7*EN z1n@w%n|}P`Z%S_AqS$V#^&z09;S&`UL{IKJx{I&Ed)GSMeNV0aq7^F{}PxUxdCq(%y|HhDl#1~Ojy1bHd z-Df^CzIcrck!~#lIl5v#9bpHS!{Gv73P4`KZ3}vT&8k{s7ScBYbx0Xnq~Ft=(`1co zbyNOdFTh-=Qqyhcr}MX5hk)gfV^Prrcq*;}{sHRPw?ZY2b+~YeyMH;NK^;>t;G1E5 zfZcL@pZSV)#?dy=-ZEkB5hZ5#>l_#$2naSheI@qw89@5ZshIcn%Pv~FZ8?`K9&?z| zg;3vtzYApP>(aV@3qREtqzSE^6OyyDkzkgBX}DJAyDzyZ&VKApzUeN>h_t2;rnKQB z*__MQ%Etz4I<{vC{b+)>n@$SuV%@H1KAWR~e={K`fF}#T*>eOdB0Vd(K5-(=GnTTG zLnZ1QnQ9!|rhEu=*=iez( zL=~cy;=DCAEi2vP(xY!;QkfvXvKy;2G)MD1eEYgh8&_ckl>37hf5$diF>eV))bCWd z0nAC0W{RCF@yf7czQzh2cA4!bSPMh`JH#pToV85EV%?>4cjyH5sg4*#4s{wHNcD!O zMm6JJavZ))Wy0Yjlc`;HJ=VZT*>x&ruN2ihZY;vg!6P#E%$kq@Q zKCTE*?Xy28(AG1QstA-?G~mU5hk)JM$;hdG#?q`reR|3mH={Ej_fP5vtitwpXjP_O zV7cUX zrQ>ON`CT&1IOg1bBe(DldAy15+kSnydrm!fch)YIJr1oW$ICc;bk^%=6$m_;T#cxf1E6o?D5r|tlJzrG>r}@iF6201Mb+8ejqJX zdB(su5H;N^Ru+ngS1PPv$u}a*cON?NH`B}TFg-@Ca?Q(99VuqwmE}P_e0g`G9U#$G z-v%NF1Sep}5o{|yu(F!o>@?dV7Rm2JhA_d&4*P=cJ3iUjE{atbd17 zB5^I=j5R<8a+5cMcM_`aMs(~hQB%9wEZ3oae5?cg7T?oSsUix(U?13)Y%$nsxfPQY zxq(Zr5Cc+u6IBv|AoQe`4=C9Zi82z6jv`C?7bALve#1^1ba8m&)DW1-N)5e1oRioi$>Hg!HFAhvXxJ{@Kf&7&8(ZOQ%>hZmygu*;B5{ zV3&y^Psu$*`)4w+AGUQe#SF$bL~Wj%jh`_JFp~LEPPJy1yJnq*FMF4;>w1;rT1SS- zcKP}kc`WOR8gcX%d7GQ)mn$dtKtox<-Jsx|7AggWsrmfvjIsvXxE0jnCHfAn!-NcY z7xQ#}OLZkA_d!Wx-GKcuCxa6!TuEd5wkq$vsTAzo@XponUhEyylj)bH?JE~#)4H`w z*+?ot0qutLihLHVVdETcg>gfY{)RxNw=kZ7l|pAo)`3FDv6PafMQ}mOp5KPek=0JO zN}$Z%iC@zoXbrw4KHZ?L4xNS>js_P^DJ5JFmsW<_Mw#uYc37pW?15alio!TQX62P5 z$SGS{u$$|*yj&D+WT>|NXAWG}LjB4J?HbJzepCUOI%PT;wPtHgs#nI>{&Jmj!fFh& zqO*59uMBle$EeNKV~gu+h1f-eWnW~NPLBLDt`{H05wc|I}%QfAScwA1~>F5oF9Bk1oT; zu_<#*KQs27^K@?PyJW&i4M~ufa#yd)e%2_3@%LmnUmT9Z*ArI2wi$|Hg-}Cou3WG~ zAokOcyY|iV+wKn)nubKEgtP(@95M)B@c1iY?Hs5AP$jSiF+UO?3+M?}qAeXG z&`2>T&tSeoh*p4KbX&*QzCqg=E9+|zC5pAORe}?TqaOvEMJgrVG{7qprm{7JvZAK< z)ek$!42DJX)6lSw!M28@*rR?<4`;PqxmyhZ*uE?6)Exn zYWF8x&gE#X%+C-O56uOduyg##WSx2r8e;u%uCBSOnvVPf6Lhx;&2A1jNk-H)fzkI^ z{$Xa;@oDrkapleh)GKIX5ARd^%_D<(%2JW?nxmkOaniAKW!@r~!TV#=RI38d3j^C8 zYZ2oFZD}4RJ2YW;DP(-r!nA`(dZ(41a%EWQ`I*fJl-0nFXEkJu zy%h>uHf^$IlvRU$goO4Bjn??JxALwA0+4#kICXiMKtn+?EZCMHKR;dmh2*Ue$d)h7Z9^)2I%>g?4+`6Ye8o1Ns0 zhII&E!Msh^s8Q)1OCH9V%pJaB$XEG|0Mpbx2)!D@TV-uNYk(GSzpGxzMjArgzr7`6 z9uX62XR~`D`qWRr-6ejsOf*7E;*3ksT!v_&>b7k0Rjo?K-HjxWkVQFB?k}-+5Fy9+ zQdZh5N7Z*!47=2{gFX(!Tz~3%bog44yPlrMk|1x@n1n{>TI4WJqT|5yZPs?g{g!zC zxvEq}qy7nMjSZ(<@(~t4dW}r+m<*%)W~bN&l4vo%PG}0pn~r>60n*a^jFB^61)z9p z6G3O<)Iw4+%t#+`Pi&+yacd}G9XL3#PkbOK>|h$!%jal-25jLLZa`Dlv5FM)enLn~ z392=|d6D$@$dTCaltZ5{9vs_RJN%u~Ka& zShU%;#EitP;;+N3L>)xEgzB^^><*d4Xi2@4akK`z4u`>s;LklZWwiz&n|cSsbI?HW z&^>u(?3*7P9dv{-i?!F|KhxYErVUbNMX=Rk_~;eDbs1;{7zuul2vyRecFOLNBwdMN z=j?vFJbyT?tf7&w24^Z(Tv3ww)l31ok5gK=d{7h5=IhogzRj}#ClBNblG@s52>6Z# zThqds`(qQvq*381{#}LJ^~~4A`GI8QvX1sS~xX`GX)N{$<~uUt{x zn2AU&(v)Gi>9}(ORkaA+RwsKzY_gUhB$Q5F zuW4q2O3X^xU4<&bNuK>S^@^G>lF(_7tZBIt;+JjUnqm=K+^}t5TV^7yYMfuZ0aQ9I z2;q1y;8&j5qYhL)C>5cND@7q&A|}X@u-H@Cy_~HF9`!zA_r4Tw--dv7UXFW%fErk` z7-3Q97y+1^a`q*qevY@#8CgqVjwaa2u`8%QIsQ(okDBaqTZ!)fDyihn0;wBUvMiE< z&E&(tklyU+pX$a{`WPhdsasdkNO2ifLz^>tn3UzYBtBctn;gf^m0DY-S!C}Tz&f(L zm`CIenSGp{!HS;@uSPHYw+rrG^JY=*J&Bl4*FZLjv%apmKu#X9zI)Vu)Mn`xg*`gf zs#*EGXdF+u>G$C@VZpj|YYfava-u9U<}G27p+C3*Cq^OWL1^aVq2p- zJY5Ew^Ux9elyDHxZhltGS#(F@VTH$gk>gP_CYJ|mf|d!^5BtK!9awW@hJ74zdZEre zcf4DV+s}gA&;qI}19LC-{V{ts(eK-hN!-Jj9jqL2Z!prW$se%-elE(kr`X;@jM73U z1#B`{b_nd=BIne4pFwOYjZ|(kph#yM^lNk_W<8mj^mrMtMmc5-V}o8B>Nmxc^Mwj4 zC7DZ%VpMA%k4~SI@6!cB-ZkAmoMWBT^OdFV)B^6;$%O*= zijl%}cGl+C`LolmyQ%cI*u4Lx-f^urx7R!t3es!}2-*cHsUU`=+DF z^U%9LAv#%#HZ=X>oqd(|Di+eE=|I}s2`y{1F}&g8-sBA~Vvf%Dg%`C+PHswz4jd+q ztz&Gi@LM&ZJ2@C>R~zW}bq21fIipqC;S2I_?46u1M)iFYumbDCTvN(Bog%kU$Yi&f zj-KIS2QE&vEd2V}nGWDmG~!=?IPCY2{r;m0qc5Br^|)WPTONgFyrLbb9k2sr;q#lT z3L2ugGx&ci5RI+dSqIsoxs6%s?Pq^cSxKzht_!ZBx=P<};OJj?sdp|jL-U)LQq;gj zT|j&vl&6)hjHpNQm^`?&w;wmVdQuimli@3fS?{>`nfWQz{GiR8@dJr(vB^?C{|P-NW>Yuqxttw9`lnBxI;K=_lnld+l3z*U4wKdHtL}s(;u3 z7M#jGPFgu5O+!;W1}+m9(hBxsOr~5~Y45f4W+~x$6>S`@pWfQF$aZa)Ox8}j_V6BG z(m!#2^4oxOvAfJQh)H`611c~H(?YZ<7!{QgPZLp%XhfS%s4(C=(TF>kO|~~=OnICV!G)fEc09W)LmM6?lSYJ`V_j~UsKkIzx!qrVvdw} zo6xLW&t>s-`n$R2a0J2|g%B{?6R1~wcgZHm;^ig{rT2m9so`6Ww|i*6iF*h&dvUw; z$-F37a+)kbP?_Dc`**-Vxv!?MG^>>(4efOi4mYeT!4pu>^QQ+m+em*f{?m^aFd&k* zc4-2%Gx^n*A`N!SUj0xmcQUJp;Spd;>RBqV3xT#n1Ec{PhJdA;uwtj2$n-Ok`Zm5V1)c>~6kcay_O^!!vqh|i)_$?fqQhG9 zL}V{@eN0alvdckC>)(p+&~~V+Y@y0P5!6HX%Ejy^1Ps5qVogxsety2Vbbaa1BFlU( zdbk!r>4ng}R3J@8;|g<|!xf%kGzVGG%ra^kG|w>s=8T2Oweb_-LNm;MKUqwsPorDV zFAJ~&zj>i2a1n*`w%Rk5UH!adt@NPXE&5@oZqt%6$Eq5KLK0ZVApGkC(9N>+j4m0|mgeEIAjeLj5(FLX+74=VrW_7><`fLdUCLAwr%(G`il=IB$TDuEe1=scr zh^1fu^G_GdI}1TbzRN`!gNBf&69s6_gb?hRUK1atxriHzYFf#qw5?PKkqkOp}2 zalM{?CAzqFU2wn5nc{MGQi^-sC3@ltd6j%MN0UmE$Fw)+$4ZdHh^u1%ty92@gvI%z zB9kZ2Q}BWV|ERl<%heiA3Smn0BS5%yFSCk+ja*-_{_M|+;P{@+>=n&Vx2`th7}h6nAAT%g0}$i{U6#gKp7NNc zerVjylXPK#V~t#>0K;B$Sy6HQBm`^qGd@^*J0Eg^M0Uc! zjXu5~@|qk1GT+)Ys9%dYewF;A@v=yD{Z3&wElVM`q)%h6G+7>VAb8wcMmbf%72`#x zc$xvgrUFeOxJ+8kFZszN?>-89Y*G9^gYw`T(NyrVKz_G}|ogA2D)6n3P?Un#++Y-U$E>v)bG+Ca0R3f0SPeK$P= zMPtdf_YMqEWz~VsYOcA9j7;zPkO0I{!hzW?+!5Sj{oZDUX+b>H9e(E=nqS~RM={eo+y8k^(rA%%SB zzOC(HY5O&_7t$AtW0r}tpmF$g(0iBp<_-S_uB%} zWYut?f}3SyU_OBUD%@f6^7m~fq5G)U8;O@CAB89QhNDT2=acYvuNuKqA+INJA)JN< z7Wty{WlkfqV~BR^yw9m{nrk*woh3XeQGKosB}L0R1tdbX*u%fm(`g!7FEc~gAm@!s zw}7tGo6x?q^dipbok#LuE`m^vu$>OFkH0K)EwjQEAxD&~n>@b8FkpZG+U%@mX9+bP8Oizz6ImhXLT$cv|)#()9 znSz-@{Ku&h5uPAa*EsSYZbaTp0m#b|Mr6ZhhImhGD^GBU2K%1997{^tG<*1uhQJ@* ze+B8W#{2}aS}MYIT^EiZnG_6M@B)0X5rx9sHVGS%2a=qj4;B`d zdXI9DH}ZbQ88zHRDj`B&_StZs40A?I;28BLca3UT`FMIer;L(0#pTTa(mJ zv->ElH$MNB^=qA^GC#_%zb~YO3QgPlRJ}vk;D%N4K0OrS^7N(hfk_=ylf+}HPj`1w zb#bQV7@b=ow@DmNUCKrpnr`}GS5)E$T@--^eQ@~)sH=O6^FD-yLmCqFm1y5 zPjS7XmE;7BzP5?lTpLf$mXA$9;~raMfGiTa%FpyCkE6mi@+qIk{dwO!P0_gVAA7NZ zEQJujiVc235fSIwZ=T8}6+@;vf_rZLI}J}IBZ^*K1-g%n&j1GX3eDmn9-U@PK%Rjs z!PO?mhwHW>O0lOcRls2`RCH^n30j2?oUI;M|yH|)BF_#=3 z5ulJf)haEdKYgP&#l8K~js#gnuI%Tqnemo&4FWVHoS+>{Y0$;ZB=W9hx8d%UtoMRyrNGxK44YIL(fA7+ZGCC17I+YyOMOEL}ER zkG%Wul%gv#2~t_oX5w%?Hc!rW^zSneeQwiu_bkxEtNWZz++cf-SbmX}jtPCaDwn0h z^)nz?<}Y1WCkx~G4N@4vDgz#+D<9STIPj1)jEcW|0Thsu3e0;{zI z@fhSPTOR&7mY9Leyf+1MBWNBI8E1g04efsq@FOuMy=?VrC>IRK3AF$vo6bywP;e}3e#_V=ln7_(yo>;(&xQC|=ut8z4%8!Yru;FY!XOXU$Fh_-%2@exW3@r1Py7|>(ZhoMw9za7@ABrnoG7KNp{iyS^r6)QR8;X}t8_=(Rs z@N}jfUz_C}?xR8`O(@~b-QRQx;x(ryW6Dat?$mZAg4+phiq1p8T^Gq=y z(QWLE$G{Fhyh#TzXH?R%SJril)*Uf{rks$5TWHy!Lb6U?zL1u65D(G*SOB+F1u5eg zZ4J+#MceH++5(zywNf`+AW1ZS{vJUgTaW|#OcmDG%J%-Ba7j0kgN#Bd%`ystub;yp zIIUH`QgmW07&?Fu_{)P(rHFs$ zBdNN$l3!6B-s@QB@+vkdvD|owsDaKf)NG;cD;-gtYeYp2(&}Q7(flWf5l(HpTT8Z) z{poNIV+9)a)$u`9F;zSw#OknK-S${N4JVKlzAvZiDqfumHL^!AFGDnvmVdJ-!`8N% zW0(+jV446=7j8041UB!m0(c*%-bqEfE!;k&s{6^7Pc(dfD@K*Au zjqGhKRsu2C!M7i)xHL;?^bQ2>Ppq)q)$nHW1#q}yhMYeKS^^#CdqkF+7p>BMwH!DK z%zl$CeO|(s;h(VQYm|!Ge?%;1k1aClZx{y$@SgNt`4>QieeT;g;Ck#Ze7!%+coAjs zy-$K27e!Cb#zf`{;Ex<4|3<@R5b(h@Wk(U_Uy)Lj8gB39dZS~48Jr-s&NQ%vl^pQc z{ngf@=Rc)Zqm#VRJ^ISSw@x-%)8L#mzQmf0s%u)i*BKr_HlZ9ymXbo}Qjh z!y-0ag6WM&3HCTsr8KwK)N8T85ETLye!DG*$2$(n5){n(=ABH#Z_VzMPqXj8*va!R zXGV)KqWORE;db*LGg_;q1N~u-VzjKLsIHYy{C|eUOV!^ zJ&G-A388B-y`a7*^*h6xWe|v!dQeMb)0NWl`4d=MEUx;?;Ya?V@^$Yx=Jk9m# zBlh^XOQ+lxOLaF#ywy(b&Jj#SKp+-1Q6V!c0Dz$T@Bad1S)?H=2)@zj2nrn})j}xJ zkEJZ*SPtD|KwX8)qj5sugKn;S*DkzudxXCL!S=UjvV8I)lomDQ>px3wjA+MidGpdw z*)v<;XEF+J_x{vhb?#|gaL)d-wR;5X8G^%|)H`sX&s++ukp3fCtj5|(NyTZ2njAJt zc|40BKal->vB97l2wii<7AeC_=R5UgkN5(IgBhAZ9}cDFAayA=PiNrhEUwNS_$T^r zfG;KDJ4UrMPFbrOo~M^gCGxU>88XcFTp$q@DWYSiqL3675qKRSBGG6azy&^&Y{VI# zO1&^b7akW#Ls-9x)+GdwOd@fM0%9}FwutT_s(eI#+~wsJQUVf7f>38{}L6T^R`hCh~ek4ygkXMDTc=H2!2!R9m#$8*Hu-fjm)@4x5Yv3vmx zH-Nt)M!iWdO^shK{Pl!j&!fTGPNi^HQ2QIf9bsHzvOUeq+i*Rs=UN`a&(&O)lHRrn z{jEcnu>Fn$v}``YGI(Ek_sR>r3x@Tko4caIABA(r441L-+m6PxzD7~J)_1?Sp9Kev zw3?g#2?`w9y3|A@1cDukGIhC;C3ufof;wn>W#NS4nevV}Wej>vsmu z8?Uq<{U^Tuf!w}$hnL5*?`tQ9@7h!PVlL~x&oS~9i}y=Vzb;@7oAWGl*e-h7v*9Wv0 zK7RlbKQ!TojYMA4BiDyNR(<^#JV`VsYTq}L7nLVo0~5qCzk(Zk892;evimna3cae9 zzWwLlmq+cU@;QK3W|cPQf7@GWSF!Uo&>-2q{BP>#6`xmq<*MTZo*4mLF@fdm2-K4# h29$R_d+C4qPc9#QCweXP2Oh@3;OXk;vd$@?2>|*{NJRhu From 993befc880518b47721095eb9425a795b2c1b940 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 30 Aug 2014 14:56:29 -0600 Subject: [PATCH 039/555] Version 1.0.5 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 546bec412..500b07d5e 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.4" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.5" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index fa3eeeb41..25ac3bc6e 100644 --- a/src/version.h +++ b/src/version.h @@ -46,7 +46,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 4 +#define DISPLAY_VERSION_REVISION 5 #define DISPLAY_VERSION_BUILD 0 #endif From 55a0b8f1a0b9f8672c3dc49fb3f69c66543b9b24 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 31 Aug 2014 15:37:26 -0600 Subject: [PATCH 040/555] change .pro to win32{} --- HyperStake-qt.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index e6c5162c1..88c8bb555 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -9,6 +9,7 @@ CONFIG += static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +win32{ #uncomment the following section to enable building on windows: windows:LIBS += -lshlwapi LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) @@ -26,7 +27,7 @@ MINIUPNPC_LIB_PATH=C:/deps/miniupnpc MINIUPNPC_INCLUDE_PATH=c:/deps QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs - +} OBJECTS_DIR = build MOC_DIR = build From 7d65deda7d2112ce85f08fa0289650460f69a460 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 31 Aug 2014 16:14:04 -0600 Subject: [PATCH 041/555] add potential stake sum for treeview --- src/qt/coincontroldialog.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 677cee15c..676db2e14 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -744,7 +744,9 @@ void CoinControlDialog::updateView() double dPrioritySum = 0; int nChildren = 0; int nInputSum = 0; - uint64 nTxWeight = 0, nTxWeightSum = 0; + uint64 nTxWeight = 0; + uint64 nTxWeightSum = 0; + uint64 nPotentialStakeSum = 0; BOOST_FOREACH(const COutput& out, coins.second) { int nInputSize = 148; // 180 if uncompressed public key @@ -830,6 +832,9 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN), 15, " ")); itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 15, " ")); + // Potential Stake Sum for Tree View + nPotentialStakeSum += nPotentialStake / COIN; + // transaction hash uint256 txhash = out.tx->GetHash(); itemOutput->setText(COLUMN_TXHASH, txhash.GetHex().c_str()); @@ -858,6 +863,8 @@ void CoinControlDialog::updateView() itemWalletAddress->setText(COLUMN_CHECKBOX, "(" + QString::number(nChildren) + ")"); itemWalletAddress->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, nSum)); itemWalletAddress->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(nSum), 15, " ")); + itemWalletAddress->setText(COLUMN_POTENTIALSTAKE, BitcoinUnits::formatAge(nDisplayUnit, nPotentialStakeSum)); + itemWalletAddress->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStakeSum), 20, " ")); itemWalletAddress->setText(COLUMN_PRIORITY, CoinControlDialog::getPriorityLabel(dPrioritySum)); itemWalletAddress->setText(COLUMN_PRIORITY_INT64, strPad(QString::number((int64)dPrioritySum), 20, " ")); From 5c9b0aa12bddea759793111f3bdcf7b83f4b2b1f Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 2 Sep 2014 14:50:31 -0600 Subject: [PATCH 042/555] readme typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4c4ec4a9d..bffa629e4 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,6 @@ Start up the new hyperstaked. See the hyperstake site: - http://hyperstake.org/ + http://hyperstake.com/ for help and more information. From 30dabf7e90840245c83afa72546924b4272b2093 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 6 Sep 2014 13:11:12 -0600 Subject: [PATCH 043/555] change getinfo to show PoS diff --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 03ec866ad..68a412893 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -84,7 +84,7 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("connections", (int)vNodes.size())); obj.push_back(Pair("proxy", (proxy.first.IsValid() ? proxy.first.ToStringIPPort() : string()))); obj.push_back(Pair("ip", addrSeenByPeer.ToStringIP())); - obj.push_back(Pair("difficulty", (double)GetDifficulty())); + obj.push_back(Pair("difficulty", GetDifficulty(GetLastBlockIndex(pindexBest, true)))); obj.push_back(Pair("testnet", fTestNet)); obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime())); obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize())); From 049bd7f5b5705b744f712dd3e4cb6b6f07bd6ced Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 11 Sep 2014 20:37:09 -0600 Subject: [PATCH 044/555] s4c and block browser --- HyperStake-qt.pro | 3 + src/bitcoinrpc.cpp | 2 + src/bitcoinrpc.h | 2 +- src/qt/addressbookpage.cpp | 29 +- src/qt/addressbookpage.h | 2 + src/qt/bitcoin.cpp | 2 +- src/qt/bitcoin.qrc | 2 + src/qt/bitcoingui.cpp | 64 ++++- src/qt/bitcoingui.h | 16 +- src/qt/blockbrowser.cpp | 313 ++++++++++++++++++++++ src/qt/blockbrowser.h | 55 ++++ src/qt/charitydialog.cpp | 30 +++ src/qt/clientmodel.cpp | 1 + src/qt/forms/addressbookpage.ui | 14 + src/qt/forms/blockbrowser.ui | 462 ++++++++++++++++++++++++++++++++ src/qt/res/icons/blexp.png | Bin 0 -> 1053 bytes src/qt/res/icons/info.png | Bin 0 -> 798 bytes src/qt/transactionview.cpp | 17 +- src/qt/transactionview.h | 2 + src/qt/walletmodel.cpp | 34 ++- src/qt/walletmodel.h | 3 + src/rpcblockchain.cpp | 9 +- src/rpcwallet.cpp | 74 +++-- src/wallet.cpp | 12 +- src/wallet.h | 12 +- src/walletdb.cpp | 12 + src/walletdb.h | 12 + 27 files changed, 1145 insertions(+), 39 deletions(-) create mode 100644 src/qt/blockbrowser.cpp create mode 100644 src/qt/blockbrowser.h create mode 100644 src/qt/forms/blockbrowser.ui create mode 100644 src/qt/res/icons/blexp.png create mode 100644 src/qt/res/icons/info.png diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 88c8bb555..7d4ad9734 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -198,6 +198,7 @@ HEADERS += src/qt/bitcoingui.h \ src/ui_interface.h \ src/qt/rpcconsole.h \ src/version.h \ + src/qt/blockbrowser.h \ src/netbase.h \ src/clientversion.h \ src/hashblock.h \ @@ -276,6 +277,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/notificator.cpp \ src/qt/qtipcserver.cpp \ src/qt/rpcconsole.cpp \ + src/qt/blockbrowser.cpp \ src/noui.cpp \ src/kernel.cpp \ src/pbkdf2.cpp \ @@ -300,6 +302,7 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ + src/qt/forms/blockbrowser.ui \ src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index d2d28919c..cdb04a598 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1198,6 +1198,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); + if (strMethod == "stakeforcharity" && n > 2) ConvertTo(params[2]); + if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 7a7291a53..7b27e921d 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -128,7 +128,7 @@ extern int64 AmountFromValue(const json_spirit::Value& value); extern json_spirit::Value ValueFromAmount(int64 amount); extern double GetDifficulty(const CBlockIndex* blockindex = NULL); -extern double GetPoSKernelPS(); +extern double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); extern std::string HexBits(unsigned int nBits); extern std::string HelpRequiringPassphrase(); diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index e20358c70..a60b2aed6 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -54,10 +54,12 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : ui->labelExplanation->setVisible(false); ui->deleteButton->setVisible(true); ui->signMessage->setVisible(false); + ui->S4CPushButton->setVisible(true); break; case ReceivingTab: ui->deleteButton->setVisible(false); ui->signMessage->setVisible(true); + ui->S4C->setVisible(false); break; } @@ -68,6 +70,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this); QAction *signMessageAction = new QAction(ui->signMessage->text(), this); QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this); + QAction *S4CAction = new QAction(ui->S4CPushButton->text(), this); deleteAction = new QAction(ui->deleteButton->text(), this); // Build context menu @@ -82,8 +85,10 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : if(tab == ReceivingTab) contextMenu->addAction(signMessageAction); else if(tab == SendingTab) + { contextMenu->addAction(verifyMessageAction); - + contextMenu->addAction(S4CAction); + } // Connect signals for context menu actions connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction())); @@ -92,6 +97,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked())); + connect(S4CAction, SIGNAL(triggered()), this, SLOT(on_S4CPushButton_clicked())); connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); @@ -210,6 +216,21 @@ void AddressBookPage::on_verifyMessage_clicked() emit verifyMessage(addr); } +void AddressBookPage::on_S4CPushButton_clicked() +{ + QTableView *table = ui->tableView; + QmodelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); + QString addr; + + foreach (QModelIndex index, indexes) + { + QVariant address = index.data(); + addr = address.toString(); + } + + emit S4CSavingsSignal(addr); +} + void AddressBookPage::on_newAddressButton_clicked() { if(!model) @@ -257,6 +278,8 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(false); ui->verifyMessage->setEnabled(true); ui->verifyMessage->setVisible(true); + ui->S4CPushButton->setEnabled(true); + ui->S4CPushButton->setVisible(true); break; case ReceivingTab: // Deleting receiving addresses, however, is not allowed @@ -267,6 +290,9 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(true); ui->verifyMessage->setEnabled(false); ui->verifyMessage->setVisible(false); + ui->S4CPushButton->setEnabled(false); + ui->S4CPushButton->setVisible(false ); + break; } ui->copyToClipboard->setEnabled(true); @@ -279,6 +305,7 @@ void AddressBookPage::selectionChanged() ui->copyToClipboard->setEnabled(false); ui->signMessage->setEnabled(false); ui->verifyMessage->setEnabled(false); + ui->S4CPushButton->setEnabled(false); } } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index df8748694..747f89ce6 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -64,6 +64,7 @@ private slots: void on_copyToClipboard_clicked(); void on_signMessage_clicked(); void on_verifyMessage_clicked(); + void on_S4CPushButton_clicked(); void selectionChanged(); void on_showQRCode_clicked(); /** Spawn contextual menu (right mouse menu) for address book entry */ @@ -80,6 +81,7 @@ private slots: signals: void signMessage(QString addr); void verifyMessage(QString addr); + void S4CSignal(QString addr); }; #endif // ADDRESSBOOKDIALOG_H diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 574560a91..a712ef588 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -83,7 +83,7 @@ static void InitMessage(const std::string &message) { if(splashref) { - splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); + splashref->showMessage(QString::fromStdString(message+'\n'+'\n') + QString::fromStdString(FormatFullVersion().c_str()), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); QApplication::instance()->processEvents(); } } diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 555535a08..2ac2f35cf 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -43,6 +43,8 @@ res/icons/filesave.png res/icons/qrcode.png res/icons/debugwindow.png + res/icons/blexp.png + res/icons/info.png res/images/about.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index d8f39abcc..c70e5ad20 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -28,6 +28,7 @@ #include "rpcconsole.h" #include "wallet.h" #include "bitcoinrpc.h" +#include "blockbrowser.h" #ifdef Q_OS_MAC #include "macdockiconhandler.h" @@ -136,12 +137,17 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): signVerifyMessageDialog = new SignVerifyMessageDialog(this); + charityDialog = new StakeForCharityDialog(this); + + blockBrowser = new BlockBrowser((this)); + centralWidget = new QStackedWidget(this); centralWidget->addWidget(overviewPage); centralWidget->addWidget(transactionsPage); centralWidget->addWidget(addressBookPage); centralWidget->addWidget(receiveCoinsPage); centralWidget->addWidget(sendCoinsPage); + centralWidget->addWidget(charityDialog); setCentralWidget(centralWidget); // Create status bar @@ -220,6 +226,12 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Clicking on "Sign Message" in the receive coins page sends you to the sign message tab connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); + // Clicking on stake for charity button in the address book sends you to the S4C page + //connect(receiveCoinsPage, SIGNAL(S4CSignal(QString), this, SLOT(S4CClicked(QString)))); + + // Clicking on "Block Browser" in the transaction page sends you to the blockbrowser + connect(transactionView, SIGNAL(blockBrowserSignal(QString)), this, SLOT(gotoBlockBrowser(QString))); + gotoOverviewPage(); } @@ -287,7 +299,24 @@ void BitcoinGUI::createActions() charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); - charityAction->setMenuRole(QAction::AboutRole); + charityAction->setCheckable(true); + tabGroup->addAction(charityAction); + + blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); + blockAction->setStatusTip(tr("Explore the BlockChain")); + blockAction->setToolTip(blockAction->statusTip()); + + blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); + blocksIconAction->setStatusTip(tr("Get Current Block Information")); + blocksIconAction->setToolTip(blocksIconAction->statusTip()); + + stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); + stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); + stakingIconAction->setToolTip(stakingIconAction->statusTip()); + + connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); + connectionIconAction->setStatusTip(tr("Get Current Peer Information")); + connectionIconAction->setToolTip(connectionIconAction->statusTip()); aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); @@ -324,6 +353,7 @@ void BitcoinGUI::createActions() connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); + connect(charityAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(charityAction, SIGNAL(triggered()), this, SLOT(charityClicked())); connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); @@ -338,6 +368,11 @@ void BitcoinGUI::createActions() connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWallet())); + + connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); + connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); + connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); + connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); } void BitcoinGUI::createMenuBar() @@ -358,6 +393,13 @@ void BitcoinGUI::createMenuBar() file->addAction(verifyMessageAction); file->addSeparator(); file->addAction(quitAction); + + QMenu *network = appMenuBar->addMenu(tr("&Network")); + network->addAction(blockAction); + network->addSeparator(); + network->addAction(blocksIconAction); + network->addAction(stakingIconAction); + network->addAction(connectionIconAction); QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); @@ -454,6 +496,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); + charityDialog->setModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); @@ -533,9 +576,14 @@ void BitcoinGUI::aboutClicked() void BitcoinGUI::charityClicked() { - charityDialog dlg; - dlg.setModel(clientModel); - dlg.exec(); + charityAction->setChecked(true); + centralWidget->setCurrentWidget(autoSavingsDialog); + + if(!addr.isEmpty()) + autoSavingsDialog->setAddress(addr); + + exportAction->setEnabled(false); + disconnect(exportAction, SIGNAL(triggered()), 0, 0); } void BitcoinGUI::setNumConnections(int count) @@ -782,6 +830,14 @@ void BitcoinGUI::gotoAddressBookPage() connect(exportAction, SIGNAL(triggered()), addressBookPage, SLOT(exportClicked())); } +void BitcoinGUI::gotoBlockBrowser(QString transactionId) +{ + if(!transactionId.isEmpty()) + blockBrowser->setTransactionId(transactionId); + + blockBrowser->show(); +} + void BitcoinGUI::gotoReceiveCoinsPage() { receiveCoinsAction->setChecked(true); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 56eeb6154..89f4389b6 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -16,6 +16,8 @@ class SendCoinsDialog; class SignVerifyMessageDialog; class Notificator; class RPCConsole; +class StakeForCharityDialog; +class BlockBrowser; QT_BEGIN_NAMESPACE class QLabel; @@ -67,6 +69,8 @@ class BitcoinGUI : public QMainWindow AddressBookPage *receiveCoinsPage; SendCoinsDialog *sendCoinsPage; SignVerifyMessageDialog *signVerifyMessageDialog; + StakeForCharityDialog *stakeForCharityDialog; + BlockBrowser *blockBrowser; QLabel *labelEncryptionIcon; QLabel *labelMintingIcon; @@ -84,7 +88,6 @@ class BitcoinGUI : public QMainWindow QAction *signMessageAction; QAction *verifyMessageAction; QAction *aboutAction; - QAction *charityAction; QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; @@ -98,6 +101,12 @@ class BitcoinGUI : public QMainWindow QAction *repairWalletAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; + QAction *blockAction; + QAction *blocksIconAction; + QAction *connectionIconAction; + QAction *stakingIconAction; + QAction *charityAction; + QSystemTrayIcon *trayIcon; @@ -158,7 +167,8 @@ private slots: void gotoReceiveCoinsPage(); /** Switch to send coins page */ void gotoSendCoinsPage(); - + /** Switch to block browser page */ + void gotoBlockBrowser(QString transactionId = ""); /** Show Sign/Verify Message dialog and switch to sign message tab */ void gotoSignMessageTab(QString addr = ""); /** Show Sign/Verify Message dialog and switch to verify message tab */ @@ -169,7 +179,7 @@ private slots: /** Show about dialog */ void aboutClicked(); /** Show Stake For Charity Dialog */ - void charityClicked(); + void charityClicked(QString addr = ""); #ifndef Q_OS_MAC /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); diff --git a/src/qt/blockbrowser.cpp b/src/qt/blockbrowser.cpp new file mode 100644 index 000000000..76179881f --- /dev/null +++ b/src/qt/blockbrowser.cpp @@ -0,0 +1,313 @@ +#include "blockbrowser.h" +#include "ui_blockbrowser.h" +#include "main.h" +#include "base58.h" +#include "clientmodel.h" +#include "db.h" + +double GetPoSKernelPS(const CBlockIndex* blockindex); +double GetDifficulty(const CBlockIndex* blockindex); +double GetPoWMHashPS(const CBlockIndex* blockindex); + +using namespace std; + +const CBlockIndex* getBlockIndex(int64 height) +{ + std::string hex = getBlockHash(height); + uint256 hash(hex); + return mapBlockIndex[hash]; +} + +std::string getBlockHash(int64 Height) +{ + if(Height > pindexBest->nHeight) { return ""; } + if(Height < 0) { return ""; } + int64 desiredheight; + desiredheight = Height; + if (desiredheight < 0 || desiredheight > nBestHeight) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hashBestChain]; + while (pblockindex->nHeight > desiredheight) + pblockindex = pblockindex->pprev; + return pblockindex->GetBlockHash().GetHex(); // pblockindex->phashBlock->GetHex(); +} + +int64 getBlockTime(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nTime; +} + +std::string getBlockMerkle(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->hashMerkleRoot.ToString();//.substr(0,10).c_str(); +} + +int64 getBlocknBits(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nBits; +} + +int64 getBlockNonce(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nNonce; +} + +double getTxTotalValue(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return 0; + + CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); + ssTx << tx; + + double value = 0; + double buffer = 0; + for (unsigned int i = 0; i < tx.vout.size(); i++) + { + const CTxOut& txout = tx.vout[i]; + + buffer = value + convertCoins(txout.nValue); + value = buffer; + } + + return value; +} + +double convertCoins(int64 amount) +{ + // Tranz needs to use options model. + return (double)amount / (double)COIN; +} + +std::string getOutputs(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return "N/A"; + + std::string str = ""; + for (unsigned int i = (tx.IsCoinStake() ? 1 : 0); i < tx.vout.size(); i++) + { + const CTxOut& txout = tx.vout[i]; + + CTxDestination address; + if (!ExtractDestination(txout.scriptPubKey, address) ) + address = CNoDestination(); + + double buffer = convertCoins(txout.nValue); + std::string amount = boost::to_string(buffer); + str.append(CBitcoinAddress(address).ToString()); + str.append(": "); + str.append(amount); + str.append(" CAP"); + str.append("\n"); + } + + return str; +} + +std::string getInputs(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return "N/A"; + + std::string str = ""; + for (unsigned int i = 0; i < tx.vin.size(); i++) + { + uint256 hash; + const CTxIn& vin = tx.vin[i]; + + hash.SetHex(vin.prevout.hash.ToString()); + CTransaction wtxPrev; + uint256 hashBlock = 0; + if (!GetTransaction(hash, wtxPrev, hashBlock)) + return "N/A"; + + CTxDestination address; + if (!ExtractDestination(wtxPrev.vout[vin.prevout.n].scriptPubKey, address) ) + address = CNoDestination(); + + double buffer = convertCoins(wtxPrev.vout[vin.prevout.n].nValue); + std::string amount = boost::to_string(buffer); + str.append(CBitcoinAddress(address).ToString()); + str.append(": "); + str.append(amount); + str.append(" CAP"); + str.append("\n"); + } + + return str; +} + +double BlockBrowser::getTxFees(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + CTxDB txdb("r"); + + if (!GetTransaction(hash, tx, hashBlock)) + return convertCoins(MIN_TX_FEE); + + MapPrevTx mapInputs; + map mapUnused; + bool fInvalid; + + if (!tx.FetchInputs(txdb, mapUnused, false, false, mapInputs, fInvalid)) + return convertCoins(MIN_TX_FEE); + + int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut(); + + if(tx.IsCoinStake() || tx.IsCoinBase()) { + ui->feesLabel->setText(QString("Reward")); + nTxFees *= -1; + } + else + ui->feesLabel->setText(QString("Fees")); + + return convertCoins(nTxFees); +} + + +BlockBrowser::BlockBrowser(QWidget *parent) : + QDialog(parent, (Qt::WindowMinMaxButtonsHint|Qt::WindowCloseButtonHint)), + ui(new Ui::BlockBrowser) +{ + ui->setupUi(this); + + setBaseSize(850, 500); + + connect(ui->blockButton, SIGNAL(pressed()), this, SLOT(blockClicked())); + connect(ui->txButton, SIGNAL(pressed()), this, SLOT(txClicked())); + connect(ui->closeButton, SIGNAL(pressed()), this, SLOT(close())); +} + +void BlockBrowser::updateExplorer(bool block) +{ + if(block) + { + int64 height = ui->heightBox->value(); + if (height > pindexBest->nHeight) + { + ui->heightBox->setValue(pindexBest->nHeight); + height = pindexBest->nHeight; + } + + const CBlockIndex* pindex = getBlockIndex(height); + + ui->heightLabelBE1->setText(QString::number(height)); + ui->hashBox->setText(QString::fromUtf8(getBlockHash(height).c_str())); + ui->merkleBox->setText(QString::fromUtf8(getBlockMerkle(height).c_str())); + ui->bitsBox->setText(QString::number(getBlocknBits(height))); + ui->nonceBox->setText(QString::number(getBlockNonce(height))); + ui->timeBox->setText(QString::fromUtf8(DateTimeStrFormat(getBlockTime(height)).c_str())); + ui->diffBox->setText(QString::number(GetDifficulty(pindex), 'f', 6)); + if (pindex->IsProofOfStake()) { + ui->hashRateLabel->setText("Block Network Stake Weight:"); + ui->diffLabel->setText("PoS Block Difficulty:"); + ui->hashRateBox->setText(QString::number(GetPoSKernelPS(pindex), 'f', 3) + " "); + } + else { + ui->hashRateLabel->setText("Block Hash Rate:"); + ui->diffLabel->setText("PoW Block Difficulty:"); + ui->hashRateBox->setText(QString::number(GetPoWMHashPS(pindex), 'f', 3) + " MH/s"); + } + } + else { + std::string txid = ui->txBox->text().toUtf8().constData(); + + ui->valueBox->setText(QString::number(getTxTotalValue(txid), 'f', 6) + " CAP"); + ui->txID->setText(QString::fromUtf8(txid.c_str())); + ui->outputBox->setText(QString::fromUtf8(getOutputs(txid).c_str())); + ui->inputBox->setText(QString::fromUtf8(getInputs(txid).c_str())); + ui->feesBox->setText(QString::number(getTxFees(txid), 'f', 6) + " CAP"); + } +} + +void BlockBrowser::setTransactionId(const QString &transactionId) +{ + ui->txBox->setText(transactionId); + ui->txBox->setFocus(); + updateExplorer(false); + + uint256 hash; + hash.SetHex(transactionId.toStdString()); + + CTransaction tx; + uint256 hashBlock = 0; + if (GetTransaction(hash, tx, hashBlock)) + { + CBlockIndex* pblockindex = mapBlockIndex[hashBlock]; + ui->heightBox->setValue(pblockindex->nHeight); + updateExplorer(true); + } +} + +void BlockBrowser::txClicked() +{ + updateExplorer(false); +} + +void BlockBrowser::blockClicked() +{ + updateExplorer(true); +} + +void BlockBrowser::setModel(ClientModel *model) +{ + this->model = model; +} + +BlockBrowser::~BlockBrowser() +{ + delete ui; +} \ No newline at end of file diff --git a/src/qt/blockbrowser.h b/src/qt/blockbrowser.h new file mode 100644 index 000000000..5d603648f --- /dev/null +++ b/src/qt/blockbrowser.h @@ -0,0 +1,55 @@ +#ifndef BLOCKBROWSER_H +#define BLOCKBROWSER_H + +#include "clientmodel.h" +#include "main.h" + +#include + +namespace Ui { +class BlockBrowser; +} +class ClientModel; + +class BlockBrowser : public QDialog +{ + Q_OBJECT + +public: + explicit BlockBrowser(QWidget *parent = 0); + ~BlockBrowser(); + + void setTransactionId(const QString &transactionId); + void setModel(ClientModel *model); + + +public slots: + + void blockClicked(); + void txClicked(); + void updateExplorer(bool); + double getTxFees(std::string); + + +private slots: + +private: + Ui::BlockBrowser *ui; + ClientModel *model; + +}; + +double getTxTotalValue(std::string); +double convertCoins(int64); +int64 getBlockTime(int64); +int64 getBlocknBits(int64); +int64 getBlockNonce(int64); +int64 getBlockHashrate(int64); +std::string getInputs(std::string); +std::string getOutputs(std::string); +std::string getBlockHash(int64); +std::string getBlockMerkle(int64); +bool addnode(std::string); +const CBlockIndex* getBlockIndex(int64); + +#endif // BLOCKBROWSER_H \ No newline at end of file diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 263f1490e..a2816afd9 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -26,7 +26,37 @@ charityDialog::~charityDialog() void charityDialog::setModel(ClientModel *model) { + this->model = model; + + QString strAddress = model->getAutoSavingsAddress(); + QString strPer = QString::number(model->getAutoSavingsPercent()); + + if (!strAddress.isEmpty() && strPer.toInt() > 0 ) + { + ui->charityAddressEdit->setText(strAddress); + ui->charityPercentEdit->setText(strPer); + ui->message->setStyleSheet("QLabel { color: green; }"); + ui->message->setText(tr("You are now saving to\n") + strAddress + tr(".")); + } +} +void charityDialog::setAddress(const QString &address) +{ + ui->charityAddressEdit->setText(address); + ui->charityAddressEdit->setFocus(); +} + +void charityDialog::on_addressBookButton_clicked() +{ + if (model && model->getAddressTableModel()) + { + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); + dlg.setModel(model->getAddressTableModel()); + if (dlg.exec()) + { + setAddress(dlg.getReturnValue()); + } + } } void charityDialog::on_buttonBox_accepted() diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 6ea4f83bc..d1de372c6 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -12,6 +12,7 @@ #include static const int64 nClientStartupTime = GetTime(); +double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QObject(parent), optionsModel(optionsModel), diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 9ed6b02f8..93ce1037c 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -125,6 +125,20 @@ + + + Send a percentage of stake to a specified BottleCaps address + + + &Stake For Charity + + + + :/icons/send:/icons/send + + + + Delete the currently selected address from the list diff --git a/src/qt/forms/blockbrowser.ui b/src/qt/forms/blockbrowser.ui new file mode 100644 index 000000000..ede191602 --- /dev/null +++ b/src/qt/forms/blockbrowser.ui @@ -0,0 +1,462 @@ + + + BlockBrowser + + + Qt::NonModal + + + true + + + + 0 + 0 + 850 + 500 + + + + + 0 + 0 + + + + + 0 + 0 + + + + false + + + Block Browser + + + + QLayout::SetMaximumSize + + + 21 + + + 10 + + + 10 + + + + + + + 0 + 0 + 822 + 27 + + + + + 7 + + + + + + 0 + 0 + + + + + 75 + true + + + + font-weight:bold; + + + Block Browser + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + 0 + 30 + 812 + 410 + + + + + QLayout::SetDefaultConstraint + + + 7 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Decode Transaction + + + + + + + Inputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0000 MH/s + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Value out: + + + + + + + Transaction ID: + + + + + + + 0.00 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + 000 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Difficulty: + + + + + + + + 0 + 0 + + + + 99999999 + + + + + + + Block Height: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Jump to Block + + + + + + + Block Merkle: + + + + + + + Block Hash: + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Hashrate: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Fees: + + + + + + + Block nBits: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + 187 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Outputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block nNonce: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Timestamp: + + + + + + + true + + + + 0 + 0 + + + + + 0 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 20 + + + + + + + + + + 0 + 450 + 75 + 23 + + + + Close + + + + + + + + + \ No newline at end of file diff --git a/src/qt/res/icons/blexp.png b/src/qt/res/icons/blexp.png new file mode 100644 index 0000000000000000000000000000000000000000..1838dad1640d7a008f9120c74ec692b32649a1be GIT binary patch literal 1053 zcmV+&1mgRNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1F}g(K~y+Tm6U5p zlVKFcbIuFN!XPZHSk@L!N4kq+IG1y&ps8(cN=|c1H9~8pZl%?{Bo@tEQxoxHXns&} z1z{JX6a_(KLLWq#kbd*J^Zed({^vZ~2hr*DwzjrsyQ{Ue zwXUv?N~Jn>yNDp=h=PNI5&dw{r(d#IEW^XY1qB6vWjR4XK|zSV?XK0;)%yDSjg5`! z>S}j)ck;MX{{dQASuvSRo12^1R$N@XgGF-w4YanlR$E&;J39*^R8ms1owYaUJ1GRn zrLV8gXf!@1WwlzhS}h52Xb%t&TRVOWPTB2t)Ca(PZp4ic=WsK5|(bad2h;( z)6&wClaoavQCL`5e0+RLN{U*o&d<*;EiI+dXe7r4gdRf(dU|?Lh*GJ<$%u#uHk&OJ z3X_tO7z~C$Ac%>Hk;!DJj?d?l92XD<1bsoL;RxJGOiV-;{{H^n-riABQDtRi6bi-9 z&o3}A@Ej@pNOJxJp-oFmOY7_FV`F0yi3F6&%1Zc(!`OgM4Gau;czECyHyovj>#gu%g#z##NhDwSd%cH`qn2Oiv_uo+{9q+n1+ zW@h%aYr1>)kDmy@YG-FBG6e{8#AGrlRO&@_)(xFL`>N*jY35E4Y@VK;URYRYY;KN{ zNG^+nx5VL6PUxYd$4sUt%gf6)o2|dUpMHuV;PGz8Mc&mb+zCQ2Fs2y4Epa$p4wuK}^Eo_+umo)dc>Z3Z{Q7TmUPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0<%d(K~y+TWs>_- z5>XV#{a33WYf67GpZP-4N>Q^k@I?rQLYB{j5JydXq@sdk>Ik?h^2S{RRvzEZ-9;Pg z%zS3&+;h(Ne($|of`6h=0Cv0?m{*g~%nRtVCow>LT~FdTa8vC18}|faLLP=C0fu!E zfRRDbr6*^b1jxq%wKDG6$e02e-vG#zYh=zf(*fHgfR# zOO%M<6=OVtUOG-2&6R`_H&BkALq!&Ei>-{$5iEO>$mQrIoIG00VZ1cSD2X@Jt1$Rc zl1%4Nr}LrJ9K0(k#~2|jxOj-7h}q36C`Ln27-gD_LA02HXw-S-J9sg8NG>kXUJg^8$O3(gj}0^vVi{k1!_O~QKLOYy*@xqm#8PKTQLZN zfQi*8t^Rx<)Kih c*vSI;1KpHhaT}F4NB{r;07*qoM6N<$g2rlP_W%F@ literal 0 HcmV?d00001 diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index f7568079b..e977028e4 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -130,7 +130,7 @@ TransactionView::TransactionView(QWidget *parent) : QAction *editLabelAction = new QAction(tr("Edit label"), this); QAction *copyTxID = new QAction(tr("Copy Tx ID"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); - + QAction *showBlockBrowser = new QAction(tr("Show transaction in block browser"), this); contextMenu = new QMenu(); contextMenu->addAction(copyAddressAction); @@ -139,6 +139,7 @@ TransactionView::TransactionView(QWidget *parent) : contextMenu->addAction(editLabelAction); contextMenu->addAction(copyTxID); contextMenu->addAction(showDetailsAction); + contextMenu->addAction(showBlockBrowser); // Connect actions @@ -156,6 +157,7 @@ TransactionView::TransactionView(QWidget *parent) : connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(copyTxID, SIGNAL(triggered()), this, SLOT(copyTx())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); + connect(showBlockBrowser, SIGNAL(triggered()), this, SLOT(showBroswer())); } @@ -441,3 +443,16 @@ void TransactionView::focusTransaction(const QModelIndex &idx) transactionView->setCurrentIndex(targetIdx); transactionView->setFocus(); } + +void TransactionView::showBroswer() +{ + if(!transactionView->selectionModel()) + return; + QModelIndexList selection = transactionView->selectionModel()->selectedRows(); + QString transactionId; + + if(!selection.isEmpty()) + transactionId = selection.at(0).data(TransactionTableModel::TxIDRole).toString(); + + emit blockBrowserSignal(transactionId); +} \ No newline at end of file diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 93dc12542..dc3cdfd66 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -66,9 +66,11 @@ private slots: void copyLabel(); void copyAmount(); void copyTx(); + void showBrowser(); signals: void doubleClicked(const QModelIndex&); + void blockBrowserSignal(QString transactionId); public slots: void chooseDate(int idx); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 58710e3d0..1576688f7 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -317,10 +317,40 @@ int WalletModel::getStakeForCharityPercent() QString WalletModel::getStakeForCharityAddress() { - if (!wallet->StakeForCharityAddress.IsValid()) + if (!wallet->strStakeForCharityAddress.IsValid()) return "Not Set"; else - return wallet->StakeForCharityAddress.ToString().c_str(); + return wallet->strStakeForCharityAddress.ToString().c_str(); +} + +void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, + int64& nStakeForCharityMin, int64& nStakeForCharityMax) +{ + // This function assumes the values were checked before being called + if (wallet->fFileBacked) // Tranz add option to not save. + { + CWalletDB walletdb(wallet->strWalletFile); + if (fAutoSavings) { + walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); + walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent ); + } + else { + walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); + walletdb.EraseStakeForCharity(strStakeForCharityAddress.ToString()); + } + + if(fDebug) + printf("setStakeForCharity: %s %d\n", stStakeForCharityAddress.ToString().c_str(), nStakeForCharityPercent); + } + + { + LOCK(wallet->cs_wallet); + wallet->fStakeForCharity = fStakeForCharity; + wallet->nStakeForCharityPercent = nStakeForCharityPercent; + wallet->strStakeForCharityAddress = strStakeForCharityAddress; + wallet->nStakeForCharityMin = nStakeForCharityMin; + wallet->nStakeForCharityMax = nStakeForCharityMax; + } } void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 2424bc904..368d78628 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -17,6 +17,7 @@ class COutput; class COutPoint; class uint256; class CCoinControl; +class CBitcoinAddress; QT_BEGIN_NAMESPACE class QTimer; @@ -103,6 +104,8 @@ class WalletModel : public QObject //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); + void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, + qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 99559cb77..d532df352 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -42,15 +42,18 @@ double GetDifficulty(const CBlockIndex* blockindex) return dDiff; } -double GetPoSKernelPS() +double GetPoSKernelPS(const CBlockIndex* blockindex) { int nPoSInterval = 72; double dStakeKernelsTriedAvg = 0; int nStakesHandled = 0, nStakesTime = 0; - CBlockIndex* pindex = pindexBest;; - CBlockIndex* pindexPrevStake = NULL; + const CBlockIndex* pindex = pindexBest; + const CBlockIndex* pindexPrevStake = NULL; + if (blockindex != NULL) + pindex = blockindex; + while (pindex && nStakesHandled < nPoSInterval) { if (pindex->IsProofOfStake()) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 68a412893..5eb0c5f7f 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -339,11 +339,12 @@ Value getaccountaddress(const Array& params, bool fHelp) Value stakeforcharity(const Array ¶ms, bool fHelp) { - if (fHelp || params.size() != 2) + if (fHelp || params.size() < 2 || params.size() > 4) throw runtime_error( - "stakeforcharity \n" + "stakeforcharity [min amount] [max amount]\n" "Gives a percentage of a found stake to a different address, after stake matures\n" "Percent is a whole number 1 to 50.\n" + "Min and Max Amount are optional\n" "Set percentage to zero to turn off" + HelpRequiringPassphrase()); @@ -359,24 +360,67 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) unsigned int nPer = (unsigned int) params[1].get_int(); - //Turn off if we set to zero. - //Future: After we allow multiple addresses, only turn of this address - if(nPer == 0) + int64 nMinAmount = MIN_TXOUT_AMOUNT; + int64 nMaxAmount = MAX_MONEY; + + // Optional Min Amount + if (params.size() > 2) { - pwalletMain->fStakeForCharity = false; - pwalletMain->StakeForCharityAddress = ""; - pwalletMain->nStakeForCharityPercent = 0; - return Value::null; + int64 nAmount = AmountFromValue(params[2]); + if (nAmount < MIN_TXOUT_AMOUNT) + throw JSONRPCError(-101, "Send amount too small"); + else + nMinAmount = nAmount; } - //For now max percentage is 50. - if (nPer > 50 ) - nPer = 50; + // Optional Max Amount + if (params.size() > 3) + { + int64 nAmount = AmountFromValue(params[3]); + if (nAmount < MIN_TXOUT_AMOUNT) + throw JSONRPCError(-101, "Send amount too small"); + else + nMaxAmount = nAmount; + } - pwalletMain->StakeForCharityAddress = address; - pwalletMain->nStakeForCharityPercent = nPer; - pwalletMain->fStakeForCharity = true; + CWalletDB walletdb(pwalletMain->strWalletFile); + + LOCK(pwalletMain->cs_wallet); + { + bool fFileBacked = pwalletMain->fFileBacked; + //Turn off if we set to zero. + //Future: After we allow multiple addresses, only turn of this address + if(nPer == 0) + { + pwalletMain->fStakeForCharity = false; + pwalletMain->nStakeForCharity = 0; + pwalletMain->nStakeForCharityMin = nMinAmount; + pwalletMain->nStakeForCharityMax = nMaxAmount; + + if(fFileBacked) + walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharity.ToString()); + pwalletMain->strStakeForCharityAddress = ""; + + return Value::null; + } + //For now max percentage is 50. + if (nPer > 50 ) + nPer = 50; + + if(fFileBacked) + walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); + + pwalletMain->strStakeForCharityAddress = address; + pwalletMain->nStakeForCharityPercent = nPer; + pwalletMain->fStakeForCharity = true; + pwalletMain->nStakeForCharityMin = nMinAmount; + pwalletMain->nStakeForCharityMax = nMaxAmount; + + if(fFileBacked) + walletdb.WriteAutoSavings(address.ToString(), nPer); + + } return Value::null; } diff --git a/src/wallet.cpp b/src/wallet.cpp index c06158614..5bb44529f 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1126,15 +1126,17 @@ bool CWallet::StakeForCharity() // Calculate Amount for Savings nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; - // Do not send if amount is too low - if (nNet < MIN_TXOUT_AMOUNT ) + // Do not send if amount is too low or high + if (nNet <= nStakeForCharityMin || nNet >= nStakeForCharityMax ) { - printf("StakeForCharity: Amount: %s is below MIN_TXOUT_AMOUNT: %s\n",FormatMoney(nNet).c_str(),FormatMoney(MIN_TXOUT_AMOUNT).c_str()); + printf("StakeForCharity: Amount: %s is not in range of Min: %s and Max:%s\n",FormatMoney(nNet).c_str(),FormatMoney + (nStakeForCharityMin).c_str(),FormatMoney + (nStakeForCharityMax).c_str()); return false; } - printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), StakeForCharityAddress.ToString().c_str()); - SendMoneyToDestination(StakeForCharityAddress.Get(), nNet, wtx, false,true); + printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), strStakeForCharityAddress.ToString().c_str()); + SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); } } } diff --git a/src/wallet.h b/src/wallet.h index f31a6bf24..819e8bbc4 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -87,7 +87,9 @@ class CWallet : public CCryptoKeyStore std::string strWalletFile; bool fStakeForCharity; int nStakeForCharityPercent; - CBitcoinAddress StakeForCharityAddress; + int64 nStakeForCharityMin; + int64 nStakeForCharityMax; + CBitcoinAddress strStakeForCharityAddress; std::set setKeyPool; @@ -106,7 +108,9 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - StakeForCharityAddress = ""; + strStakeForCharityAddress = ""; + nStakeForCharityMin = 0; + nStakeForCharityMax = 0; } CWallet(std::string strWalletFileIn) { @@ -119,7 +123,9 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - StakeForCharityAddress = ""; + strStakeForCharityAddress = ""; + nStakeForCharityMin = MIN_TXOUT_AMOUNT; + nStakeForCharityMax = MAX_MONEY; } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index ad2417203..4909bac6a 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -373,6 +373,18 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nOrderPosNext; } + else if (strType == "ats") + { + string strStakeForCharityAccount; + ssKey >> strStakeForCharityAccount; + if (CBitcoinAddress(strStakeForCharityAccount).IsValid()) + { + pwallet->fStakeForCharity = true; + pwallet->strStakeForCharityAddress = CBitcoinAddress(strStakeForCharityAccount).Get(); + ssValue >> pwallet->nStakeForCharityPercent; + } + } + } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index a3e779ab9..393f2c7c5 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -144,6 +144,18 @@ class CWalletDB : public CDB { return Write(std::string("minversion"), nVersion); } + + bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent) + { + nWalletDBUpdated++; + return Write(std::make_pair(std::string("ats"),strStakeForCharityAddress),nStakeForCharityPercent); + } + + bool EraseStakeForCharity(std::string strStakeForCharityAddress) + { + nWalletDBUpdated++; + return Erase(std::make_pair(std::string("ats"), strStakeForCharityAddress)); + } bool ReadAccount(const std::string& strAccount, CAccount& account); bool WriteAccount(const std::string& strAccount, const CAccount& account); From c1d7eae72489f61ae54924b857c87b6b8859caa0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 12 Sep 2014 00:30:08 -0600 Subject: [PATCH 045/555] Revert "s4c and block browser" This reverts commit 049bd7f5b5705b744f712dd3e4cb6b6f07bd6ced. --- HyperStake-qt.pro | 3 - src/bitcoinrpc.cpp | 2 - src/bitcoinrpc.h | 2 +- src/qt/addressbookpage.cpp | 29 +- src/qt/addressbookpage.h | 2 - src/qt/bitcoin.cpp | 2 +- src/qt/bitcoin.qrc | 2 - src/qt/bitcoingui.cpp | 64 +---- src/qt/bitcoingui.h | 16 +- src/qt/blockbrowser.cpp | 313 ---------------------- src/qt/blockbrowser.h | 55 ---- src/qt/charitydialog.cpp | 30 --- src/qt/clientmodel.cpp | 1 - src/qt/forms/addressbookpage.ui | 14 - src/qt/forms/blockbrowser.ui | 462 -------------------------------- src/qt/res/icons/blexp.png | Bin 1053 -> 0 bytes src/qt/res/icons/info.png | Bin 798 -> 0 bytes src/qt/transactionview.cpp | 17 +- src/qt/transactionview.h | 2 - src/qt/walletmodel.cpp | 34 +-- src/qt/walletmodel.h | 3 - src/rpcblockchain.cpp | 9 +- src/rpcwallet.cpp | 74 ++--- src/wallet.cpp | 12 +- src/wallet.h | 12 +- src/walletdb.cpp | 12 - src/walletdb.h | 12 - 27 files changed, 39 insertions(+), 1145 deletions(-) delete mode 100644 src/qt/blockbrowser.cpp delete mode 100644 src/qt/blockbrowser.h delete mode 100644 src/qt/forms/blockbrowser.ui delete mode 100644 src/qt/res/icons/blexp.png delete mode 100644 src/qt/res/icons/info.png diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 7d4ad9734..88c8bb555 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -198,7 +198,6 @@ HEADERS += src/qt/bitcoingui.h \ src/ui_interface.h \ src/qt/rpcconsole.h \ src/version.h \ - src/qt/blockbrowser.h \ src/netbase.h \ src/clientversion.h \ src/hashblock.h \ @@ -277,7 +276,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/notificator.cpp \ src/qt/qtipcserver.cpp \ src/qt/rpcconsole.cpp \ - src/qt/blockbrowser.cpp \ src/noui.cpp \ src/kernel.cpp \ src/pbkdf2.cpp \ @@ -302,7 +300,6 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ - src/qt/forms/blockbrowser.ui \ src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index cdb04a598..d2d28919c 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1198,8 +1198,6 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); - if (strMethod == "stakeforcharity" && n > 2) ConvertTo(params[2]); - if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 7b27e921d..7a7291a53 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -128,7 +128,7 @@ extern int64 AmountFromValue(const json_spirit::Value& value); extern json_spirit::Value ValueFromAmount(int64 amount); extern double GetDifficulty(const CBlockIndex* blockindex = NULL); -extern double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); +extern double GetPoSKernelPS(); extern std::string HexBits(unsigned int nBits); extern std::string HelpRequiringPassphrase(); diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index a60b2aed6..e20358c70 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -54,12 +54,10 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : ui->labelExplanation->setVisible(false); ui->deleteButton->setVisible(true); ui->signMessage->setVisible(false); - ui->S4CPushButton->setVisible(true); break; case ReceivingTab: ui->deleteButton->setVisible(false); ui->signMessage->setVisible(true); - ui->S4C->setVisible(false); break; } @@ -70,7 +68,6 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this); QAction *signMessageAction = new QAction(ui->signMessage->text(), this); QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this); - QAction *S4CAction = new QAction(ui->S4CPushButton->text(), this); deleteAction = new QAction(ui->deleteButton->text(), this); // Build context menu @@ -85,10 +82,8 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : if(tab == ReceivingTab) contextMenu->addAction(signMessageAction); else if(tab == SendingTab) - { contextMenu->addAction(verifyMessageAction); - contextMenu->addAction(S4CAction); - } + // Connect signals for context menu actions connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction())); @@ -97,7 +92,6 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked())); - connect(S4CAction, SIGNAL(triggered()), this, SLOT(on_S4CPushButton_clicked())); connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); @@ -216,21 +210,6 @@ void AddressBookPage::on_verifyMessage_clicked() emit verifyMessage(addr); } -void AddressBookPage::on_S4CPushButton_clicked() -{ - QTableView *table = ui->tableView; - QmodelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); - QString addr; - - foreach (QModelIndex index, indexes) - { - QVariant address = index.data(); - addr = address.toString(); - } - - emit S4CSavingsSignal(addr); -} - void AddressBookPage::on_newAddressButton_clicked() { if(!model) @@ -278,8 +257,6 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(false); ui->verifyMessage->setEnabled(true); ui->verifyMessage->setVisible(true); - ui->S4CPushButton->setEnabled(true); - ui->S4CPushButton->setVisible(true); break; case ReceivingTab: // Deleting receiving addresses, however, is not allowed @@ -290,9 +267,6 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(true); ui->verifyMessage->setEnabled(false); ui->verifyMessage->setVisible(false); - ui->S4CPushButton->setEnabled(false); - ui->S4CPushButton->setVisible(false ); - break; } ui->copyToClipboard->setEnabled(true); @@ -305,7 +279,6 @@ void AddressBookPage::selectionChanged() ui->copyToClipboard->setEnabled(false); ui->signMessage->setEnabled(false); ui->verifyMessage->setEnabled(false); - ui->S4CPushButton->setEnabled(false); } } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index 747f89ce6..df8748694 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -64,7 +64,6 @@ private slots: void on_copyToClipboard_clicked(); void on_signMessage_clicked(); void on_verifyMessage_clicked(); - void on_S4CPushButton_clicked(); void selectionChanged(); void on_showQRCode_clicked(); /** Spawn contextual menu (right mouse menu) for address book entry */ @@ -81,7 +80,6 @@ private slots: signals: void signMessage(QString addr); void verifyMessage(QString addr); - void S4CSignal(QString addr); }; #endif // ADDRESSBOOKDIALOG_H diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index a712ef588..574560a91 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -83,7 +83,7 @@ static void InitMessage(const std::string &message) { if(splashref) { - splashref->showMessage(QString::fromStdString(message+'\n'+'\n') + QString::fromStdString(FormatFullVersion().c_str()), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); + splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); QApplication::instance()->processEvents(); } } diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 2ac2f35cf..555535a08 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -43,8 +43,6 @@ res/icons/filesave.png res/icons/qrcode.png res/icons/debugwindow.png - res/icons/blexp.png - res/icons/info.png res/images/about.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index c70e5ad20..d8f39abcc 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -28,7 +28,6 @@ #include "rpcconsole.h" #include "wallet.h" #include "bitcoinrpc.h" -#include "blockbrowser.h" #ifdef Q_OS_MAC #include "macdockiconhandler.h" @@ -137,17 +136,12 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): signVerifyMessageDialog = new SignVerifyMessageDialog(this); - charityDialog = new StakeForCharityDialog(this); - - blockBrowser = new BlockBrowser((this)); - centralWidget = new QStackedWidget(this); centralWidget->addWidget(overviewPage); centralWidget->addWidget(transactionsPage); centralWidget->addWidget(addressBookPage); centralWidget->addWidget(receiveCoinsPage); centralWidget->addWidget(sendCoinsPage); - centralWidget->addWidget(charityDialog); setCentralWidget(centralWidget); // Create status bar @@ -226,12 +220,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Clicking on "Sign Message" in the receive coins page sends you to the sign message tab connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); - // Clicking on stake for charity button in the address book sends you to the S4C page - //connect(receiveCoinsPage, SIGNAL(S4CSignal(QString), this, SLOT(S4CClicked(QString)))); - - // Clicking on "Block Browser" in the transaction page sends you to the blockbrowser - connect(transactionView, SIGNAL(blockBrowserSignal(QString)), this, SLOT(gotoBlockBrowser(QString))); - gotoOverviewPage(); } @@ -299,24 +287,7 @@ void BitcoinGUI::createActions() charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); - charityAction->setCheckable(true); - tabGroup->addAction(charityAction); - - blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); - blockAction->setStatusTip(tr("Explore the BlockChain")); - blockAction->setToolTip(blockAction->statusTip()); - - blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); - blocksIconAction->setStatusTip(tr("Get Current Block Information")); - blocksIconAction->setToolTip(blocksIconAction->statusTip()); - - stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); - stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); - stakingIconAction->setToolTip(stakingIconAction->statusTip()); - - connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); - connectionIconAction->setStatusTip(tr("Get Current Peer Information")); - connectionIconAction->setToolTip(connectionIconAction->statusTip()); + charityAction->setMenuRole(QAction::AboutRole); aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); @@ -353,7 +324,6 @@ void BitcoinGUI::createActions() connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); - connect(charityAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(charityAction, SIGNAL(triggered()), this, SLOT(charityClicked())); connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); @@ -368,11 +338,6 @@ void BitcoinGUI::createActions() connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWallet())); - - connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); - connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); - connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); - connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); } void BitcoinGUI::createMenuBar() @@ -393,13 +358,6 @@ void BitcoinGUI::createMenuBar() file->addAction(verifyMessageAction); file->addSeparator(); file->addAction(quitAction); - - QMenu *network = appMenuBar->addMenu(tr("&Network")); - network->addAction(blockAction); - network->addSeparator(); - network->addAction(blocksIconAction); - network->addAction(stakingIconAction); - network->addAction(connectionIconAction); QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); @@ -496,7 +454,6 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); - charityDialog->setModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); @@ -576,14 +533,9 @@ void BitcoinGUI::aboutClicked() void BitcoinGUI::charityClicked() { - charityAction->setChecked(true); - centralWidget->setCurrentWidget(autoSavingsDialog); - - if(!addr.isEmpty()) - autoSavingsDialog->setAddress(addr); - - exportAction->setEnabled(false); - disconnect(exportAction, SIGNAL(triggered()), 0, 0); + charityDialog dlg; + dlg.setModel(clientModel); + dlg.exec(); } void BitcoinGUI::setNumConnections(int count) @@ -830,14 +782,6 @@ void BitcoinGUI::gotoAddressBookPage() connect(exportAction, SIGNAL(triggered()), addressBookPage, SLOT(exportClicked())); } -void BitcoinGUI::gotoBlockBrowser(QString transactionId) -{ - if(!transactionId.isEmpty()) - blockBrowser->setTransactionId(transactionId); - - blockBrowser->show(); -} - void BitcoinGUI::gotoReceiveCoinsPage() { receiveCoinsAction->setChecked(true); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 89f4389b6..56eeb6154 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -16,8 +16,6 @@ class SendCoinsDialog; class SignVerifyMessageDialog; class Notificator; class RPCConsole; -class StakeForCharityDialog; -class BlockBrowser; QT_BEGIN_NAMESPACE class QLabel; @@ -69,8 +67,6 @@ class BitcoinGUI : public QMainWindow AddressBookPage *receiveCoinsPage; SendCoinsDialog *sendCoinsPage; SignVerifyMessageDialog *signVerifyMessageDialog; - StakeForCharityDialog *stakeForCharityDialog; - BlockBrowser *blockBrowser; QLabel *labelEncryptionIcon; QLabel *labelMintingIcon; @@ -88,6 +84,7 @@ class BitcoinGUI : public QMainWindow QAction *signMessageAction; QAction *verifyMessageAction; QAction *aboutAction; + QAction *charityAction; QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; @@ -101,12 +98,6 @@ class BitcoinGUI : public QMainWindow QAction *repairWalletAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; - QAction *blockAction; - QAction *blocksIconAction; - QAction *connectionIconAction; - QAction *stakingIconAction; - QAction *charityAction; - QSystemTrayIcon *trayIcon; @@ -167,8 +158,7 @@ private slots: void gotoReceiveCoinsPage(); /** Switch to send coins page */ void gotoSendCoinsPage(); - /** Switch to block browser page */ - void gotoBlockBrowser(QString transactionId = ""); + /** Show Sign/Verify Message dialog and switch to sign message tab */ void gotoSignMessageTab(QString addr = ""); /** Show Sign/Verify Message dialog and switch to verify message tab */ @@ -179,7 +169,7 @@ private slots: /** Show about dialog */ void aboutClicked(); /** Show Stake For Charity Dialog */ - void charityClicked(QString addr = ""); + void charityClicked(); #ifndef Q_OS_MAC /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); diff --git a/src/qt/blockbrowser.cpp b/src/qt/blockbrowser.cpp deleted file mode 100644 index 76179881f..000000000 --- a/src/qt/blockbrowser.cpp +++ /dev/null @@ -1,313 +0,0 @@ -#include "blockbrowser.h" -#include "ui_blockbrowser.h" -#include "main.h" -#include "base58.h" -#include "clientmodel.h" -#include "db.h" - -double GetPoSKernelPS(const CBlockIndex* blockindex); -double GetDifficulty(const CBlockIndex* blockindex); -double GetPoWMHashPS(const CBlockIndex* blockindex); - -using namespace std; - -const CBlockIndex* getBlockIndex(int64 height) -{ - std::string hex = getBlockHash(height); - uint256 hash(hex); - return mapBlockIndex[hash]; -} - -std::string getBlockHash(int64 Height) -{ - if(Height > pindexBest->nHeight) { return ""; } - if(Height < 0) { return ""; } - int64 desiredheight; - desiredheight = Height; - if (desiredheight < 0 || desiredheight > nBestHeight) - return 0; - - CBlock block; - CBlockIndex* pblockindex = mapBlockIndex[hashBestChain]; - while (pblockindex->nHeight > desiredheight) - pblockindex = pblockindex->pprev; - return pblockindex->GetBlockHash().GetHex(); // pblockindex->phashBlock->GetHex(); -} - -int64 getBlockTime(int64 Height) -{ - std::string strHash = getBlockHash(Height); - uint256 hash(strHash); - - if (mapBlockIndex.count(hash) == 0) - return 0; - - CBlockIndex* pblockindex = mapBlockIndex[hash]; - return pblockindex->nTime; -} - -std::string getBlockMerkle(int64 Height) -{ - std::string strHash = getBlockHash(Height); - uint256 hash(strHash); - - if (mapBlockIndex.count(hash) == 0) - return 0; - - CBlock block; - CBlockIndex* pblockindex = mapBlockIndex[hash]; - return pblockindex->hashMerkleRoot.ToString();//.substr(0,10).c_str(); -} - -int64 getBlocknBits(int64 Height) -{ - std::string strHash = getBlockHash(Height); - uint256 hash(strHash); - - if (mapBlockIndex.count(hash) == 0) - return 0; - - CBlock block; - CBlockIndex* pblockindex = mapBlockIndex[hash]; - return pblockindex->nBits; -} - -int64 getBlockNonce(int64 Height) -{ - std::string strHash = getBlockHash(Height); - uint256 hash(strHash); - - if (mapBlockIndex.count(hash) == 0) - return 0; - - CBlock block; - CBlockIndex* pblockindex = mapBlockIndex[hash]; - return pblockindex->nNonce; -} - -double getTxTotalValue(std::string txid) -{ - uint256 hash; - hash.SetHex(txid); - - CTransaction tx; - uint256 hashBlock = 0; - if (!GetTransaction(hash, tx, hashBlock)) - return 0; - - CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); - ssTx << tx; - - double value = 0; - double buffer = 0; - for (unsigned int i = 0; i < tx.vout.size(); i++) - { - const CTxOut& txout = tx.vout[i]; - - buffer = value + convertCoins(txout.nValue); - value = buffer; - } - - return value; -} - -double convertCoins(int64 amount) -{ - // Tranz needs to use options model. - return (double)amount / (double)COIN; -} - -std::string getOutputs(std::string txid) -{ - uint256 hash; - hash.SetHex(txid); - - CTransaction tx; - uint256 hashBlock = 0; - if (!GetTransaction(hash, tx, hashBlock)) - return "N/A"; - - std::string str = ""; - for (unsigned int i = (tx.IsCoinStake() ? 1 : 0); i < tx.vout.size(); i++) - { - const CTxOut& txout = tx.vout[i]; - - CTxDestination address; - if (!ExtractDestination(txout.scriptPubKey, address) ) - address = CNoDestination(); - - double buffer = convertCoins(txout.nValue); - std::string amount = boost::to_string(buffer); - str.append(CBitcoinAddress(address).ToString()); - str.append(": "); - str.append(amount); - str.append(" CAP"); - str.append("\n"); - } - - return str; -} - -std::string getInputs(std::string txid) -{ - uint256 hash; - hash.SetHex(txid); - - CTransaction tx; - uint256 hashBlock = 0; - if (!GetTransaction(hash, tx, hashBlock)) - return "N/A"; - - std::string str = ""; - for (unsigned int i = 0; i < tx.vin.size(); i++) - { - uint256 hash; - const CTxIn& vin = tx.vin[i]; - - hash.SetHex(vin.prevout.hash.ToString()); - CTransaction wtxPrev; - uint256 hashBlock = 0; - if (!GetTransaction(hash, wtxPrev, hashBlock)) - return "N/A"; - - CTxDestination address; - if (!ExtractDestination(wtxPrev.vout[vin.prevout.n].scriptPubKey, address) ) - address = CNoDestination(); - - double buffer = convertCoins(wtxPrev.vout[vin.prevout.n].nValue); - std::string amount = boost::to_string(buffer); - str.append(CBitcoinAddress(address).ToString()); - str.append(": "); - str.append(amount); - str.append(" CAP"); - str.append("\n"); - } - - return str; -} - -double BlockBrowser::getTxFees(std::string txid) -{ - uint256 hash; - hash.SetHex(txid); - - CTransaction tx; - uint256 hashBlock = 0; - CTxDB txdb("r"); - - if (!GetTransaction(hash, tx, hashBlock)) - return convertCoins(MIN_TX_FEE); - - MapPrevTx mapInputs; - map mapUnused; - bool fInvalid; - - if (!tx.FetchInputs(txdb, mapUnused, false, false, mapInputs, fInvalid)) - return convertCoins(MIN_TX_FEE); - - int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut(); - - if(tx.IsCoinStake() || tx.IsCoinBase()) { - ui->feesLabel->setText(QString("Reward")); - nTxFees *= -1; - } - else - ui->feesLabel->setText(QString("Fees")); - - return convertCoins(nTxFees); -} - - -BlockBrowser::BlockBrowser(QWidget *parent) : - QDialog(parent, (Qt::WindowMinMaxButtonsHint|Qt::WindowCloseButtonHint)), - ui(new Ui::BlockBrowser) -{ - ui->setupUi(this); - - setBaseSize(850, 500); - - connect(ui->blockButton, SIGNAL(pressed()), this, SLOT(blockClicked())); - connect(ui->txButton, SIGNAL(pressed()), this, SLOT(txClicked())); - connect(ui->closeButton, SIGNAL(pressed()), this, SLOT(close())); -} - -void BlockBrowser::updateExplorer(bool block) -{ - if(block) - { - int64 height = ui->heightBox->value(); - if (height > pindexBest->nHeight) - { - ui->heightBox->setValue(pindexBest->nHeight); - height = pindexBest->nHeight; - } - - const CBlockIndex* pindex = getBlockIndex(height); - - ui->heightLabelBE1->setText(QString::number(height)); - ui->hashBox->setText(QString::fromUtf8(getBlockHash(height).c_str())); - ui->merkleBox->setText(QString::fromUtf8(getBlockMerkle(height).c_str())); - ui->bitsBox->setText(QString::number(getBlocknBits(height))); - ui->nonceBox->setText(QString::number(getBlockNonce(height))); - ui->timeBox->setText(QString::fromUtf8(DateTimeStrFormat(getBlockTime(height)).c_str())); - ui->diffBox->setText(QString::number(GetDifficulty(pindex), 'f', 6)); - if (pindex->IsProofOfStake()) { - ui->hashRateLabel->setText("Block Network Stake Weight:"); - ui->diffLabel->setText("PoS Block Difficulty:"); - ui->hashRateBox->setText(QString::number(GetPoSKernelPS(pindex), 'f', 3) + " "); - } - else { - ui->hashRateLabel->setText("Block Hash Rate:"); - ui->diffLabel->setText("PoW Block Difficulty:"); - ui->hashRateBox->setText(QString::number(GetPoWMHashPS(pindex), 'f', 3) + " MH/s"); - } - } - else { - std::string txid = ui->txBox->text().toUtf8().constData(); - - ui->valueBox->setText(QString::number(getTxTotalValue(txid), 'f', 6) + " CAP"); - ui->txID->setText(QString::fromUtf8(txid.c_str())); - ui->outputBox->setText(QString::fromUtf8(getOutputs(txid).c_str())); - ui->inputBox->setText(QString::fromUtf8(getInputs(txid).c_str())); - ui->feesBox->setText(QString::number(getTxFees(txid), 'f', 6) + " CAP"); - } -} - -void BlockBrowser::setTransactionId(const QString &transactionId) -{ - ui->txBox->setText(transactionId); - ui->txBox->setFocus(); - updateExplorer(false); - - uint256 hash; - hash.SetHex(transactionId.toStdString()); - - CTransaction tx; - uint256 hashBlock = 0; - if (GetTransaction(hash, tx, hashBlock)) - { - CBlockIndex* pblockindex = mapBlockIndex[hashBlock]; - ui->heightBox->setValue(pblockindex->nHeight); - updateExplorer(true); - } -} - -void BlockBrowser::txClicked() -{ - updateExplorer(false); -} - -void BlockBrowser::blockClicked() -{ - updateExplorer(true); -} - -void BlockBrowser::setModel(ClientModel *model) -{ - this->model = model; -} - -BlockBrowser::~BlockBrowser() -{ - delete ui; -} \ No newline at end of file diff --git a/src/qt/blockbrowser.h b/src/qt/blockbrowser.h deleted file mode 100644 index 5d603648f..000000000 --- a/src/qt/blockbrowser.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef BLOCKBROWSER_H -#define BLOCKBROWSER_H - -#include "clientmodel.h" -#include "main.h" - -#include - -namespace Ui { -class BlockBrowser; -} -class ClientModel; - -class BlockBrowser : public QDialog -{ - Q_OBJECT - -public: - explicit BlockBrowser(QWidget *parent = 0); - ~BlockBrowser(); - - void setTransactionId(const QString &transactionId); - void setModel(ClientModel *model); - - -public slots: - - void blockClicked(); - void txClicked(); - void updateExplorer(bool); - double getTxFees(std::string); - - -private slots: - -private: - Ui::BlockBrowser *ui; - ClientModel *model; - -}; - -double getTxTotalValue(std::string); -double convertCoins(int64); -int64 getBlockTime(int64); -int64 getBlocknBits(int64); -int64 getBlockNonce(int64); -int64 getBlockHashrate(int64); -std::string getInputs(std::string); -std::string getOutputs(std::string); -std::string getBlockHash(int64); -std::string getBlockMerkle(int64); -bool addnode(std::string); -const CBlockIndex* getBlockIndex(int64); - -#endif // BLOCKBROWSER_H \ No newline at end of file diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index a2816afd9..263f1490e 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -26,37 +26,7 @@ charityDialog::~charityDialog() void charityDialog::setModel(ClientModel *model) { - this->model = model; - - QString strAddress = model->getAutoSavingsAddress(); - QString strPer = QString::number(model->getAutoSavingsPercent()); - - if (!strAddress.isEmpty() && strPer.toInt() > 0 ) - { - ui->charityAddressEdit->setText(strAddress); - ui->charityPercentEdit->setText(strPer); - ui->message->setStyleSheet("QLabel { color: green; }"); - ui->message->setText(tr("You are now saving to\n") + strAddress + tr(".")); - } -} -void charityDialog::setAddress(const QString &address) -{ - ui->charityAddressEdit->setText(address); - ui->charityAddressEdit->setFocus(); -} - -void charityDialog::on_addressBookButton_clicked() -{ - if (model && model->getAddressTableModel()) - { - AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); - dlg.setModel(model->getAddressTableModel()); - if (dlg.exec()) - { - setAddress(dlg.getReturnValue()); - } - } } void charityDialog::on_buttonBox_accepted() diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index d1de372c6..6ea4f83bc 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -12,7 +12,6 @@ #include static const int64 nClientStartupTime = GetTime(); -double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QObject(parent), optionsModel(optionsModel), diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 93ce1037c..9ed6b02f8 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -125,20 +125,6 @@ - - - Send a percentage of stake to a specified BottleCaps address - - - &Stake For Charity - - - - :/icons/send:/icons/send - - - - Delete the currently selected address from the list diff --git a/src/qt/forms/blockbrowser.ui b/src/qt/forms/blockbrowser.ui deleted file mode 100644 index ede191602..000000000 --- a/src/qt/forms/blockbrowser.ui +++ /dev/null @@ -1,462 +0,0 @@ - - - BlockBrowser - - - Qt::NonModal - - - true - - - - 0 - 0 - 850 - 500 - - - - - 0 - 0 - - - - - 0 - 0 - - - - false - - - Block Browser - - - - QLayout::SetMaximumSize - - - 21 - - - 10 - - - 10 - - - - - - - 0 - 0 - 822 - 27 - - - - - 7 - - - - - - 0 - 0 - - - - - 75 - true - - - - font-weight:bold; - - - Block Browser - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - 30 - 812 - 410 - - - - - QLayout::SetDefaultConstraint - - - 7 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Decode Transaction - - - - - - - Inputs: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0000 MH/s - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Value out: - - - - - - - Transaction ID: - - - - - - - 0.00 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - 000 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Difficulty: - - - - - - - - 0 - 0 - - - - 99999999 - - - - - - - Block Height: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Jump to Block - - - - - - - Block Merkle: - - - - - - - Block Hash: - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Hashrate: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Fees: - - - - - - - Block nBits: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - 187 - 0 - - - - 0x0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Outputs: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block nNonce: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Timestamp: - - - - - - - true - - - - 0 - 0 - - - - - 0 - 0 - - - - 0x0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - 0 - 0 - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 20 - - - - - - - - - - 0 - 450 - 75 - 23 - - - - Close - - - - - - - - - \ No newline at end of file diff --git a/src/qt/res/icons/blexp.png b/src/qt/res/icons/blexp.png deleted file mode 100644 index 1838dad1640d7a008f9120c74ec692b32649a1be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1053 zcmV+&1mgRNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1F}g(K~y+Tm6U5p zlVKFcbIuFN!XPZHSk@L!N4kq+IG1y&ps8(cN=|c1H9~8pZl%?{Bo@tEQxoxHXns&} z1z{JX6a_(KLLWq#kbd*J^Zed({^vZ~2hr*DwzjrsyQ{Ue zwXUv?N~Jn>yNDp=h=PNI5&dw{r(d#IEW^XY1qB6vWjR4XK|zSV?XK0;)%yDSjg5`! z>S}j)ck;MX{{dQASuvSRo12^1R$N@XgGF-w4YanlR$E&;J39*^R8ms1owYaUJ1GRn zrLV8gXf!@1WwlzhS}h52Xb%t&TRVOWPTB2t)Ca(PZp4ic=WsK5|(bad2h;( z)6&wClaoavQCL`5e0+RLN{U*o&d<*;EiI+dXe7r4gdRf(dU|?Lh*GJ<$%u#uHk&OJ z3X_tO7z~C$Ac%>Hk;!DJj?d?l92XD<1bsoL;RxJGOiV-;{{H^n-riABQDtRi6bi-9 z&o3}A@Ej@pNOJxJp-oFmOY7_FV`F0yi3F6&%1Zc(!`OgM4Gau;czECyHyovj>#gu%g#z##NhDwSd%cH`qn2Oiv_uo+{9q+n1+ zW@h%aYr1>)kDmy@YG-FBG6e{8#AGrlRO&@_)(xFL`>N*jY35E4Y@VK;URYRYY;KN{ zNG^+nx5VL6PUxYd$4sUt%gf6)o2|dUpMHuV;PGz8Mc&mb+zCQ2Fs2y4Epa$p4wuK}^Eo_+umo)dc>Z3Z{Q7TmUPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0<%d(K~y+TWs>_- z5>XV#{a33WYf67GpZP-4N>Q^k@I?rQLYB{j5JydXq@sdk>Ik?h^2S{RRvzEZ-9;Pg z%zS3&+;h(Ne($|of`6h=0Cv0?m{*g~%nRtVCow>LT~FdTa8vC18}|faLLP=C0fu!E zfRRDbr6*^b1jxq%wKDG6$e02e-vG#zYh=zf(*fHgfR# zOO%M<6=OVtUOG-2&6R`_H&BkALq!&Ei>-{$5iEO>$mQrIoIG00VZ1cSD2X@Jt1$Rc zl1%4Nr}LrJ9K0(k#~2|jxOj-7h}q36C`Ln27-gD_LA02HXw-S-J9sg8NG>kXUJg^8$O3(gj}0^vVi{k1!_O~QKLOYy*@xqm#8PKTQLZN zfQi*8t^Rx<)Kih c*vSI;1KpHhaT}F4NB{r;07*qoM6N<$g2rlP_W%F@ diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index e977028e4..f7568079b 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -130,7 +130,7 @@ TransactionView::TransactionView(QWidget *parent) : QAction *editLabelAction = new QAction(tr("Edit label"), this); QAction *copyTxID = new QAction(tr("Copy Tx ID"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); - QAction *showBlockBrowser = new QAction(tr("Show transaction in block browser"), this); + contextMenu = new QMenu(); contextMenu->addAction(copyAddressAction); @@ -139,7 +139,6 @@ TransactionView::TransactionView(QWidget *parent) : contextMenu->addAction(editLabelAction); contextMenu->addAction(copyTxID); contextMenu->addAction(showDetailsAction); - contextMenu->addAction(showBlockBrowser); // Connect actions @@ -157,7 +156,6 @@ TransactionView::TransactionView(QWidget *parent) : connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(copyTxID, SIGNAL(triggered()), this, SLOT(copyTx())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); - connect(showBlockBrowser, SIGNAL(triggered()), this, SLOT(showBroswer())); } @@ -443,16 +441,3 @@ void TransactionView::focusTransaction(const QModelIndex &idx) transactionView->setCurrentIndex(targetIdx); transactionView->setFocus(); } - -void TransactionView::showBroswer() -{ - if(!transactionView->selectionModel()) - return; - QModelIndexList selection = transactionView->selectionModel()->selectedRows(); - QString transactionId; - - if(!selection.isEmpty()) - transactionId = selection.at(0).data(TransactionTableModel::TxIDRole).toString(); - - emit blockBrowserSignal(transactionId); -} \ No newline at end of file diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index dc3cdfd66..93dc12542 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -66,11 +66,9 @@ private slots: void copyLabel(); void copyAmount(); void copyTx(); - void showBrowser(); signals: void doubleClicked(const QModelIndex&); - void blockBrowserSignal(QString transactionId); public slots: void chooseDate(int idx); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 1576688f7..58710e3d0 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -317,40 +317,10 @@ int WalletModel::getStakeForCharityPercent() QString WalletModel::getStakeForCharityAddress() { - if (!wallet->strStakeForCharityAddress.IsValid()) + if (!wallet->StakeForCharityAddress.IsValid()) return "Not Set"; else - return wallet->strStakeForCharityAddress.ToString().c_str(); -} - -void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - int64& nStakeForCharityMin, int64& nStakeForCharityMax) -{ - // This function assumes the values were checked before being called - if (wallet->fFileBacked) // Tranz add option to not save. - { - CWalletDB walletdb(wallet->strWalletFile); - if (fAutoSavings) { - walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); - walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent ); - } - else { - walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); - walletdb.EraseStakeForCharity(strStakeForCharityAddress.ToString()); - } - - if(fDebug) - printf("setStakeForCharity: %s %d\n", stStakeForCharityAddress.ToString().c_str(), nStakeForCharityPercent); - } - - { - LOCK(wallet->cs_wallet); - wallet->fStakeForCharity = fStakeForCharity; - wallet->nStakeForCharityPercent = nStakeForCharityPercent; - wallet->strStakeForCharityAddress = strStakeForCharityAddress; - wallet->nStakeForCharityMin = nStakeForCharityMin; - wallet->nStakeForCharityMax = nStakeForCharityMax; - } + return wallet->StakeForCharityAddress.ToString().c_str(); } void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 368d78628..2424bc904 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -17,7 +17,6 @@ class COutput; class COutPoint; class uint256; class CCoinControl; -class CBitcoinAddress; QT_BEGIN_NAMESPACE class QTimer; @@ -104,8 +103,6 @@ class WalletModel : public QObject //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); - void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index d532df352..99559cb77 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -42,18 +42,15 @@ double GetDifficulty(const CBlockIndex* blockindex) return dDiff; } -double GetPoSKernelPS(const CBlockIndex* blockindex) +double GetPoSKernelPS() { int nPoSInterval = 72; double dStakeKernelsTriedAvg = 0; int nStakesHandled = 0, nStakesTime = 0; - const CBlockIndex* pindex = pindexBest; - const CBlockIndex* pindexPrevStake = NULL; + CBlockIndex* pindex = pindexBest;; + CBlockIndex* pindexPrevStake = NULL; - if (blockindex != NULL) - pindex = blockindex; - while (pindex && nStakesHandled < nPoSInterval) { if (pindex->IsProofOfStake()) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 5eb0c5f7f..68a412893 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -339,12 +339,11 @@ Value getaccountaddress(const Array& params, bool fHelp) Value stakeforcharity(const Array ¶ms, bool fHelp) { - if (fHelp || params.size() < 2 || params.size() > 4) + if (fHelp || params.size() != 2) throw runtime_error( - "stakeforcharity [min amount] [max amount]\n" + "stakeforcharity \n" "Gives a percentage of a found stake to a different address, after stake matures\n" "Percent is a whole number 1 to 50.\n" - "Min and Max Amount are optional\n" "Set percentage to zero to turn off" + HelpRequiringPassphrase()); @@ -360,67 +359,24 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) unsigned int nPer = (unsigned int) params[1].get_int(); - int64 nMinAmount = MIN_TXOUT_AMOUNT; - int64 nMaxAmount = MAX_MONEY; - - // Optional Min Amount - if (params.size() > 2) + //Turn off if we set to zero. + //Future: After we allow multiple addresses, only turn of this address + if(nPer == 0) { - int64 nAmount = AmountFromValue(params[2]); - if (nAmount < MIN_TXOUT_AMOUNT) - throw JSONRPCError(-101, "Send amount too small"); - else - nMinAmount = nAmount; + pwalletMain->fStakeForCharity = false; + pwalletMain->StakeForCharityAddress = ""; + pwalletMain->nStakeForCharityPercent = 0; + return Value::null; } - // Optional Max Amount - if (params.size() > 3) - { - int64 nAmount = AmountFromValue(params[3]); - if (nAmount < MIN_TXOUT_AMOUNT) - throw JSONRPCError(-101, "Send amount too small"); - else - nMaxAmount = nAmount; - } + //For now max percentage is 50. + if (nPer > 50 ) + nPer = 50; - CWalletDB walletdb(pwalletMain->strWalletFile); - - LOCK(pwalletMain->cs_wallet); - { - bool fFileBacked = pwalletMain->fFileBacked; - //Turn off if we set to zero. - //Future: After we allow multiple addresses, only turn of this address - if(nPer == 0) - { - pwalletMain->fStakeForCharity = false; - pwalletMain->nStakeForCharity = 0; - pwalletMain->nStakeForCharityMin = nMinAmount; - pwalletMain->nStakeForCharityMax = nMaxAmount; - - if(fFileBacked) - walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharity.ToString()); + pwalletMain->StakeForCharityAddress = address; + pwalletMain->nStakeForCharityPercent = nPer; + pwalletMain->fStakeForCharity = true; - pwalletMain->strStakeForCharityAddress = ""; - - return Value::null; - } - //For now max percentage is 50. - if (nPer > 50 ) - nPer = 50; - - if(fFileBacked) - walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); - - pwalletMain->strStakeForCharityAddress = address; - pwalletMain->nStakeForCharityPercent = nPer; - pwalletMain->fStakeForCharity = true; - pwalletMain->nStakeForCharityMin = nMinAmount; - pwalletMain->nStakeForCharityMax = nMaxAmount; - - if(fFileBacked) - walletdb.WriteAutoSavings(address.ToString(), nPer); - - } return Value::null; } diff --git a/src/wallet.cpp b/src/wallet.cpp index 5bb44529f..c06158614 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1126,17 +1126,15 @@ bool CWallet::StakeForCharity() // Calculate Amount for Savings nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; - // Do not send if amount is too low or high - if (nNet <= nStakeForCharityMin || nNet >= nStakeForCharityMax ) + // Do not send if amount is too low + if (nNet < MIN_TXOUT_AMOUNT ) { - printf("StakeForCharity: Amount: %s is not in range of Min: %s and Max:%s\n",FormatMoney(nNet).c_str(),FormatMoney - (nStakeForCharityMin).c_str(),FormatMoney - (nStakeForCharityMax).c_str()); + printf("StakeForCharity: Amount: %s is below MIN_TXOUT_AMOUNT: %s\n",FormatMoney(nNet).c_str(),FormatMoney(MIN_TXOUT_AMOUNT).c_str()); return false; } - printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), strStakeForCharityAddress.ToString().c_str()); - SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); + printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), StakeForCharityAddress.ToString().c_str()); + SendMoneyToDestination(StakeForCharityAddress.Get(), nNet, wtx, false,true); } } } diff --git a/src/wallet.h b/src/wallet.h index 819e8bbc4..f31a6bf24 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -87,9 +87,7 @@ class CWallet : public CCryptoKeyStore std::string strWalletFile; bool fStakeForCharity; int nStakeForCharityPercent; - int64 nStakeForCharityMin; - int64 nStakeForCharityMax; - CBitcoinAddress strStakeForCharityAddress; + CBitcoinAddress StakeForCharityAddress; std::set setKeyPool; @@ -108,9 +106,7 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - strStakeForCharityAddress = ""; - nStakeForCharityMin = 0; - nStakeForCharityMax = 0; + StakeForCharityAddress = ""; } CWallet(std::string strWalletFileIn) { @@ -123,9 +119,7 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - strStakeForCharityAddress = ""; - nStakeForCharityMin = MIN_TXOUT_AMOUNT; - nStakeForCharityMax = MAX_MONEY; + StakeForCharityAddress = ""; } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 4909bac6a..ad2417203 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -373,18 +373,6 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nOrderPosNext; } - else if (strType == "ats") - { - string strStakeForCharityAccount; - ssKey >> strStakeForCharityAccount; - if (CBitcoinAddress(strStakeForCharityAccount).IsValid()) - { - pwallet->fStakeForCharity = true; - pwallet->strStakeForCharityAddress = CBitcoinAddress(strStakeForCharityAccount).Get(); - ssValue >> pwallet->nStakeForCharityPercent; - } - } - } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 393f2c7c5..a3e779ab9 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -144,18 +144,6 @@ class CWalletDB : public CDB { return Write(std::string("minversion"), nVersion); } - - bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent) - { - nWalletDBUpdated++; - return Write(std::make_pair(std::string("ats"),strStakeForCharityAddress),nStakeForCharityPercent); - } - - bool EraseStakeForCharity(std::string strStakeForCharityAddress) - { - nWalletDBUpdated++; - return Erase(std::make_pair(std::string("ats"), strStakeForCharityAddress)); - } bool ReadAccount(const std::string& strAccount, CAccount& account); bool WriteAccount(const std::string& strAccount, const CAccount& account); From af50323d921bc7a8ecfed5214584dd6efaaa58db Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 13 Sep 2014 12:12:33 -0600 Subject: [PATCH 046/555] S4C persistent (Tranz/HBN) + block explorer --- HyperStake-qt.pro | 9 +- src/bitcoinrpc.cpp | 2 + src/bitcoinrpc.h | 2 +- src/qt/addressbookpage.cpp | 29 ++- src/qt/addressbookpage.h | 2 + src/qt/bitcoin.cpp | 2 +- src/qt/bitcoin.qrc | 2 + src/qt/bitcoingui.cpp | 82 +++++- src/qt/bitcoingui.h | 19 +- src/qt/blockbrowser.cpp | 313 +++++++++++++++++++++++ src/qt/blockbrowser.h | 55 ++++ src/qt/charitydialog.cpp | 135 ++++++++-- src/qt/charitydialog.h | 28 +-- src/qt/clientmodel.cpp | 1 + src/qt/forms/blockbrowser.ui | 462 ++++++++++++++++++++++++++++++++++ src/qt/forms/charitydialog.ui | 218 +++++++++------- src/qt/res/icons/blexp.png | Bin 0 -> 1053 bytes src/qt/res/icons/info.png | Bin 0 -> 798 bytes src/qt/transactionview.cpp | 17 +- src/qt/transactionview.h | 2 + src/qt/walletmodel.cpp | 34 ++- src/qt/walletmodel.h | 3 + src/rpcblockchain.cpp | 9 +- src/rpcwallet.cpp | 74 ++++-- src/wallet.cpp | 12 +- src/wallet.h | 12 +- src/walletdb.cpp | 12 + src/walletdb.h | 12 + 28 files changed, 1373 insertions(+), 175 deletions(-) create mode 100644 src/qt/blockbrowser.cpp create mode 100644 src/qt/blockbrowser.h create mode 100644 src/qt/forms/blockbrowser.ui create mode 100644 src/qt/res/icons/blexp.png create mode 100644 src/qt/res/icons/info.png diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 88c8bb555..6eebea741 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -132,7 +132,6 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ - src/qt/charitydialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -183,6 +182,8 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/transactionview.h \ src/qt/walletmodel.h \ src/bitcoinrpc.h \ + src/qt/blockbrowser.h \ + src/qt/charitydialog.h \ src/qt/overviewpage.h \ src/qt/csvmodelwriter.h \ src/crypter.h \ @@ -225,7 +226,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ - src/qt/charitydialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -289,6 +289,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/cubehash.c \ src/shavite.c \ src/echo.c \ + src/qt/blockbrowser.cpp \ + src/qt/charitydialog.cpp \ src/simd.c RESOURCES += \ @@ -300,9 +302,10 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ - src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ + src/qt/forms/blockbrowser.ui \ + src/qt/forms/charitydialog.ui \ src/qt/forms/overviewpage.ui \ src/qt/forms/sendcoinsentry.ui \ src/qt/forms/askpassphrasedialog.ui \ diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index d2d28919c..cdb04a598 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1198,6 +1198,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); + if (strMethod == "stakeforcharity" && n > 2) ConvertTo(params[2]); + if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 7a7291a53..7b27e921d 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -128,7 +128,7 @@ extern int64 AmountFromValue(const json_spirit::Value& value); extern json_spirit::Value ValueFromAmount(int64 amount); extern double GetDifficulty(const CBlockIndex* blockindex = NULL); -extern double GetPoSKernelPS(); +extern double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); extern std::string HexBits(unsigned int nBits); extern std::string HelpRequiringPassphrase(); diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index e20358c70..50dce2b60 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -54,10 +54,12 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : ui->labelExplanation->setVisible(false); ui->deleteButton->setVisible(true); ui->signMessage->setVisible(false); + ui->stakeForCharityPushButton->setVisible(true); break; case ReceivingTab: ui->deleteButton->setVisible(false); ui->signMessage->setVisible(true); + ui->stakeForCharityPushButton->setVisible(false); break; } @@ -68,6 +70,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : QAction *showQRCodeAction = new QAction(ui->showQRCode->text(), this); QAction *signMessageAction = new QAction(ui->signMessage->text(), this); QAction *verifyMessageAction = new QAction(ui->verifyMessage->text(), this); + QAction *stakeForCharityAction = new QAction(ui->stakeForCharityPushButton->text(), this); deleteAction = new QAction(ui->deleteButton->text(), this); // Build context menu @@ -82,8 +85,10 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : if(tab == ReceivingTab) contextMenu->addAction(signMessageAction); else if(tab == SendingTab) + { contextMenu->addAction(verifyMessageAction); - + contextMenu->addAction(stakeForCharityAction); + } // Connect signals for context menu actions connect(copyAddressAction, SIGNAL(triggered()), this, SLOT(on_copyToClipboard_clicked())); connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(onCopyLabelAction())); @@ -92,6 +97,7 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : connect(showQRCodeAction, SIGNAL(triggered()), this, SLOT(on_showQRCode_clicked())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked())); + connect(stakeForCharityAction, SIGNAL(triggered()), this, SLOT(on_stakeForCharityPushButton_clicked())); connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); @@ -210,6 +216,21 @@ void AddressBookPage::on_verifyMessage_clicked() emit verifyMessage(addr); } +void AddressBookPage::on_stakeForCharityPushButton_clicked() +{ + QTableView *table = ui->tableView; + QModelIndexList indexes = table->selectionModel()->selectedRows(AddressTableModel::Address); + QString addr; + + foreach (QModelIndex index, indexes) + { + QVariant address = index.data(); + addr = address.toString(); + } + + emit stakeForCharitySignal(addr); +} + void AddressBookPage::on_newAddressButton_clicked() { if(!model) @@ -257,6 +278,8 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(false); ui->verifyMessage->setEnabled(true); ui->verifyMessage->setVisible(true); + ui->stakeForCharityPushButton->setEnabled(true); + ui->stakeForCharityPushButton->setVisible(true); break; case ReceivingTab: // Deleting receiving addresses, however, is not allowed @@ -267,6 +290,9 @@ void AddressBookPage::selectionChanged() ui->signMessage->setVisible(true); ui->verifyMessage->setEnabled(false); ui->verifyMessage->setVisible(false); + ui->stakeForCharityPushButton->setEnabled(false); + ui->stakeForCharityPushButton->setVisible(false ); + break; } ui->copyToClipboard->setEnabled(true); @@ -279,6 +305,7 @@ void AddressBookPage::selectionChanged() ui->copyToClipboard->setEnabled(false); ui->signMessage->setEnabled(false); ui->verifyMessage->setEnabled(false); + ui->stakeForCharityPushButton->setEnabled(false); } } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index df8748694..4a6ead92c 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -64,6 +64,7 @@ private slots: void on_copyToClipboard_clicked(); void on_signMessage_clicked(); void on_verifyMessage_clicked(); + void on_stakeForCharityPushButton_clicked(); void selectionChanged(); void on_showQRCode_clicked(); /** Spawn contextual menu (right mouse menu) for address book entry */ @@ -80,6 +81,7 @@ private slots: signals: void signMessage(QString addr); void verifyMessage(QString addr); + void stakeForCharitySignal(QString addr); }; #endif // ADDRESSBOOKDIALOG_H diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 574560a91..a712ef588 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -83,7 +83,7 @@ static void InitMessage(const std::string &message) { if(splashref) { - splashref->showMessage(QString::fromStdString(message), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); + splashref->showMessage(QString::fromStdString(message+'\n'+'\n') + QString::fromStdString(FormatFullVersion().c_str()), Qt::AlignBottom|Qt::AlignHCenter, QColor(255,255,200)); QApplication::instance()->processEvents(); } } diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 555535a08..2ac2f35cf 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -43,6 +43,8 @@ res/icons/filesave.png res/icons/qrcode.png res/icons/debugwindow.png + res/icons/blexp.png + res/icons/info.png res/images/about.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index d8f39abcc..9266c93ae 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -28,6 +28,7 @@ #include "rpcconsole.h" #include "wallet.h" #include "bitcoinrpc.h" +#include "blockbrowser.h" #ifdef Q_OS_MAC #include "macdockiconhandler.h" @@ -135,13 +136,20 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): sendCoinsPage = new SendCoinsDialog(this); signVerifyMessageDialog = new SignVerifyMessageDialog(this); + + stakeForCharityDialog = new StakeForCharityDialog(this); + + + blockBrowser = new BlockBrowser((this)); + centralWidget = new QStackedWidget(this); centralWidget->addWidget(overviewPage); centralWidget->addWidget(transactionsPage); centralWidget->addWidget(addressBookPage); centralWidget->addWidget(receiveCoinsPage); centralWidget->addWidget(sendCoinsPage); + centralWidget->addWidget(stakeForCharityDialog); setCentralWidget(centralWidget); // Create status bar @@ -180,7 +188,9 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): timerMintingWeights->start(1 * 1000); connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights - nWeight, nHoursToMaturity, nNetworkWeight = 0; + nWeight = 0; + nHoursToMaturity = 0; + nNetworkWeight = 0; // Progress bar and label for blocks download progressBarLabel = new QLabel(); @@ -220,6 +230,12 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Clicking on "Sign Message" in the receive coins page sends you to the sign message tab connect(receiveCoinsPage, SIGNAL(signMessage(QString)), this, SLOT(gotoSignMessageTab(QString))); + // Clicking on stake for charity button in the address book sends you to the S4C page + connect(addressBookPage, SIGNAL(stakeForCharitySignal(QString)), this, SLOT(charityClicked(QString))); + + // Clicking on "Block Browser" in the transaction page sends you to the blockbrowser + connect(transactionView, SIGNAL(blockBrowserSignal(QString)), this, SLOT(gotoBlockBrowser(QString))); + gotoOverviewPage(); } @@ -276,6 +292,7 @@ void BitcoinGUI::createActions() connect(historyAction, SIGNAL(triggered()), this, SLOT(gotoHistoryPage())); connect(addressBookAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(addressBookAction, SIGNAL(triggered()), this, SLOT(gotoAddressBookPage())); + quitAction = new QAction(QIcon(":/icons/quit"), tr("E&xit"), this); quitAction->setToolTip(tr("Quit application")); @@ -287,7 +304,26 @@ void BitcoinGUI::createActions() charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); - charityAction->setMenuRole(QAction::AboutRole); + charityAction->setCheckable(true); + charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); + charityAction->setCheckable(true); + tabGroup->addAction(charityAction); + + blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); + blockAction->setStatusTip(tr("Explore the BlockChain")); + blockAction->setToolTip(blockAction->statusTip()); + + blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); + blocksIconAction->setStatusTip(tr("Get Current Block Information")); + blocksIconAction->setToolTip(blocksIconAction->statusTip()); + + stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); + stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); + stakingIconAction->setToolTip(stakingIconAction->statusTip()); + + connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); + connectionIconAction->setStatusTip(tr("Get Current Peer Information")); + connectionIconAction->setToolTip(connectionIconAction->statusTip()); aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); @@ -324,6 +360,7 @@ void BitcoinGUI::createActions() connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); connect(aboutAction, SIGNAL(triggered()), this, SLOT(aboutClicked())); + connect(charityAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(charityAction, SIGNAL(triggered()), this, SLOT(charityClicked())); connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); @@ -338,6 +375,11 @@ void BitcoinGUI::createActions() connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWallet())); + + connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); + connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); + connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); + connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); } void BitcoinGUI::createMenuBar() @@ -358,6 +400,13 @@ void BitcoinGUI::createMenuBar() file->addAction(verifyMessageAction); file->addSeparator(); file->addAction(quitAction); + + QMenu *network = appMenuBar->addMenu(tr("&Network")); + network->addAction(blockAction); + network->addSeparator(); + network->addAction(blocksIconAction); + network->addAction(stakingIconAction); + network->addAction(connectionIconAction); QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); @@ -389,6 +438,7 @@ void BitcoinGUI::createToolBars() toolbar->addAction(receiveCoinsAction); toolbar->addAction(historyAction); toolbar->addAction(addressBookAction); + toolbar->addAction(charityAction); QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); @@ -454,6 +504,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); + stakeForCharityDialog->setModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); @@ -531,13 +582,6 @@ void BitcoinGUI::aboutClicked() dlg.exec(); } -void BitcoinGUI::charityClicked() -{ - charityDialog dlg; - dlg.setModel(clientModel); - dlg.exec(); -} - void BitcoinGUI::setNumConnections(int count) { QString icon; @@ -782,6 +826,14 @@ void BitcoinGUI::gotoAddressBookPage() connect(exportAction, SIGNAL(triggered()), addressBookPage, SLOT(exportClicked())); } +void BitcoinGUI::gotoBlockBrowser(QString transactionId) +{ + if(!transactionId.isEmpty()) + blockBrowser->setTransactionId(transactionId); + + blockBrowser->show(); +} + void BitcoinGUI::gotoReceiveCoinsPage() { receiveCoinsAction->setChecked(true); @@ -1125,3 +1177,15 @@ void BitcoinGUI::updateMintingWeights() } } + +void BitcoinGUI::charityClicked(QString addr) +{ + charityAction->setChecked(true); + centralWidget->setCurrentWidget(stakeForCharityDialog); + + if(!addr.isEmpty()) + stakeForCharityDialog->setAddress(addr); + + exportAction->setEnabled(false); + disconnect(exportAction, SIGNAL(triggered()), 0, 0); +} \ No newline at end of file diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 56eeb6154..8da9a6ed4 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -16,6 +16,8 @@ class SendCoinsDialog; class SignVerifyMessageDialog; class Notificator; class RPCConsole; +class StakeForCharityDialog; +class BlockBrowser; QT_BEGIN_NAMESPACE class QLabel; @@ -67,6 +69,8 @@ class BitcoinGUI : public QMainWindow AddressBookPage *receiveCoinsPage; SendCoinsDialog *sendCoinsPage; SignVerifyMessageDialog *signVerifyMessageDialog; + StakeForCharityDialog *stakeForCharityDialog; + BlockBrowser *blockBrowser; QLabel *labelEncryptionIcon; QLabel *labelMintingIcon; @@ -84,7 +88,6 @@ class BitcoinGUI : public QMainWindow QAction *signMessageAction; QAction *verifyMessageAction; QAction *aboutAction; - QAction *charityAction; QAction *receiveCoinsAction; QAction *optionsAction; QAction *toggleHideAction; @@ -98,6 +101,12 @@ class BitcoinGUI : public QMainWindow QAction *repairWalletAction; QAction *aboutQtAction; QAction *openRPCConsoleAction; + QAction *blockAction; + QAction *blocksIconAction; + QAction *connectionIconAction; + QAction *stakingIconAction; + QAction *charityAction; + QSystemTrayIcon *trayIcon; @@ -158,7 +167,8 @@ private slots: void gotoReceiveCoinsPage(); /** Switch to send coins page */ void gotoSendCoinsPage(); - + /** Switch to block browser page */ + void gotoBlockBrowser(QString transactionId = ""); /** Show Sign/Verify Message dialog and switch to sign message tab */ void gotoSignMessageTab(QString addr = ""); /** Show Sign/Verify Message dialog and switch to verify message tab */ @@ -168,8 +178,6 @@ private slots: void optionsClicked(); /** Show about dialog */ void aboutClicked(); - /** Show Stake For Charity Dialog */ - void charityClicked(); #ifndef Q_OS_MAC /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); @@ -192,7 +200,7 @@ private slots: /** Toggle unlocking wallet temporarily */ void lockWalletToggle(); - void unlockWallet(); + void unlockWallet(); /** Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHidden is true */ void showNormalIfMinimized(bool fToggleHidden = false); @@ -203,6 +211,7 @@ private slots: void updateMintingIcon(); /** Update minting weight info */ void updateMintingWeights(); + void charityClicked(QString addr = ""); }; #endif diff --git a/src/qt/blockbrowser.cpp b/src/qt/blockbrowser.cpp new file mode 100644 index 000000000..807816207 --- /dev/null +++ b/src/qt/blockbrowser.cpp @@ -0,0 +1,313 @@ +#include "blockbrowser.h" +#include "ui_blockbrowser.h" +#include "main.h" +#include "base58.h" +#include "clientmodel.h" +#include "db.h" + +double GetPoSKernelPS(const CBlockIndex* blockindex); +double GetDifficulty(const CBlockIndex* blockindex); +//double GetPoWMHashPS(const CBlockIndex* blockindex); + +using namespace std; + +const CBlockIndex* getBlockIndex(int64 height) +{ + std::string hex = getBlockHash(height); + uint256 hash(hex); + return mapBlockIndex[hash]; +} + +std::string getBlockHash(int64 Height) +{ + if(Height > pindexBest->nHeight) { return ""; } + if(Height < 0) { return ""; } + int64 desiredheight; + desiredheight = Height; + if (desiredheight < 0 || desiredheight > nBestHeight) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hashBestChain]; + while (pblockindex->nHeight > desiredheight) + pblockindex = pblockindex->pprev; + return pblockindex->GetBlockHash().GetHex(); // pblockindex->phashBlock->GetHex(); +} + +int64 getBlockTime(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nTime; +} + +std::string getBlockMerkle(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->hashMerkleRoot.ToString();//.substr(0,10).c_str(); +} + +int64 getBlocknBits(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nBits; +} + +int64 getBlockNonce(int64 Height) +{ + std::string strHash = getBlockHash(Height); + uint256 hash(strHash); + + if (mapBlockIndex.count(hash) == 0) + return 0; + + CBlock block; + CBlockIndex* pblockindex = mapBlockIndex[hash]; + return pblockindex->nNonce; +} + +double getTxTotalValue(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return 0; + + CDataStream ssTx(SER_NETWORK, PROTOCOL_VERSION); + ssTx << tx; + + double value = 0; + double buffer = 0; + for (unsigned int i = 0; i < tx.vout.size(); i++) + { + const CTxOut& txout = tx.vout[i]; + + buffer = value + convertCoins(txout.nValue); + value = buffer; + } + + return value; +} + +double convertCoins(int64 amount) +{ + // Tranz needs to use options model. + return (double)amount / (double)COIN; +} + +std::string getOutputs(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return "N/A"; + + std::string str = ""; + for (unsigned int i = (tx.IsCoinStake() ? 1 : 0); i < tx.vout.size(); i++) + { + const CTxOut& txout = tx.vout[i]; + + CTxDestination address; + if (!ExtractDestination(txout.scriptPubKey, address) ) + address = CNoDestination(); + + double buffer = convertCoins(txout.nValue); + std::string amount = boost::to_string(buffer); + str.append(CBitcoinAddress(address).ToString()); + str.append(": "); + str.append(amount); + str.append(" CAP"); + str.append("\n"); + } + + return str; +} + +std::string getInputs(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return "N/A"; + + std::string str = ""; + for (unsigned int i = 0; i < tx.vin.size(); i++) + { + uint256 hash; + const CTxIn& vin = tx.vin[i]; + + hash.SetHex(vin.prevout.hash.ToString()); + CTransaction wtxPrev; + uint256 hashBlock = 0; + if (!GetTransaction(hash, wtxPrev, hashBlock)) + return "N/A"; + + CTxDestination address; + if (!ExtractDestination(wtxPrev.vout[vin.prevout.n].scriptPubKey, address) ) + address = CNoDestination(); + + double buffer = convertCoins(wtxPrev.vout[vin.prevout.n].nValue); + std::string amount = boost::to_string(buffer); + str.append(CBitcoinAddress(address).ToString()); + str.append(": "); + str.append(amount); + str.append(" CAP"); + str.append("\n"); + } + + return str; +} + +double BlockBrowser::getTxFees(std::string txid) +{ + uint256 hash; + hash.SetHex(txid); + + CTransaction tx; + uint256 hashBlock = 0; + CTxDB txdb("r"); + + if (!GetTransaction(hash, tx, hashBlock)) + return convertCoins(MIN_TX_FEE); + + MapPrevTx mapInputs; + map mapUnused; + bool fInvalid; + + if (!tx.FetchInputs(txdb, mapUnused, false, false, mapInputs, fInvalid)) + return convertCoins(MIN_TX_FEE); + + int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut(); + + if(tx.IsCoinStake() || tx.IsCoinBase()) { + ui->feesLabel->setText(QString("Reward")); + nTxFees *= -1; + } + else + ui->feesLabel->setText(QString("Fees")); + + return convertCoins(nTxFees); +} + + +BlockBrowser::BlockBrowser(QWidget *parent) : + QDialog(parent, (Qt::WindowMinMaxButtonsHint|Qt::WindowCloseButtonHint)), + ui(new Ui::BlockBrowser) +{ + ui->setupUi(this); + + setBaseSize(850, 500); + + connect(ui->blockButton, SIGNAL(pressed()), this, SLOT(blockClicked())); + connect(ui->txButton, SIGNAL(pressed()), this, SLOT(txClicked())); + connect(ui->closeButton, SIGNAL(pressed()), this, SLOT(close())); +} + +void BlockBrowser::updateExplorer(bool block) +{ + if(block) + { + int64 height = ui->heightBox->value(); + if (height > pindexBest->nHeight) + { + ui->heightBox->setValue(pindexBest->nHeight); + height = pindexBest->nHeight; + } + + const CBlockIndex* pindex = getBlockIndex(height); + + ui->heightLabelBE1->setText(QString::number(height)); + ui->hashBox->setText(QString::fromUtf8(getBlockHash(height).c_str())); + ui->merkleBox->setText(QString::fromUtf8(getBlockMerkle(height).c_str())); + ui->bitsBox->setText(QString::number(getBlocknBits(height))); + ui->nonceBox->setText(QString::number(getBlockNonce(height))); + ui->timeBox->setText(QString::fromUtf8(DateTimeStrFormat(getBlockTime(height)).c_str())); + ui->diffBox->setText(QString::number(GetDifficulty(pindex), 'f', 6)); + if (pindex->IsProofOfStake()) { + ui->hashRateLabel->setText("Block Network Stake Weight:"); + ui->diffLabel->setText("PoS Block Difficulty:"); + ui->hashRateBox->setText(QString::number(GetPoSKernelPS(pindex), 'f', 3) + " "); + } + else { + ui->hashRateLabel->setText("Block Hash Rate:"); + ui->diffLabel->setText("PoW Block Difficulty:"); + //ui->hashRateBox->setText(QString::number(GetPoWMHashPS(pindex), 'f', 3) + " MH/s"); + } + } + else { + std::string txid = ui->txBox->text().toUtf8().constData(); + + ui->valueBox->setText(QString::number(getTxTotalValue(txid), 'f', 6) + " CAP"); + ui->txID->setText(QString::fromUtf8(txid.c_str())); + ui->outputBox->setText(QString::fromUtf8(getOutputs(txid).c_str())); + ui->inputBox->setText(QString::fromUtf8(getInputs(txid).c_str())); + ui->feesBox->setText(QString::number(getTxFees(txid), 'f', 6) + " CAP"); + } +} + +void BlockBrowser::setTransactionId(const QString &transactionId) +{ + ui->txBox->setText(transactionId); + ui->txBox->setFocus(); + updateExplorer(false); + + uint256 hash; + hash.SetHex(transactionId.toStdString()); + + CTransaction tx; + uint256 hashBlock = 0; + if (GetTransaction(hash, tx, hashBlock)) + { + CBlockIndex* pblockindex = mapBlockIndex[hashBlock]; + ui->heightBox->setValue(pblockindex->nHeight); + updateExplorer(true); + } +} + +void BlockBrowser::txClicked() +{ + updateExplorer(false); +} + +void BlockBrowser::blockClicked() +{ + updateExplorer(true); +} + +void BlockBrowser::setModel(ClientModel *model) +{ + this->model = model; +} + +BlockBrowser::~BlockBrowser() +{ + delete ui; +} \ No newline at end of file diff --git a/src/qt/blockbrowser.h b/src/qt/blockbrowser.h new file mode 100644 index 000000000..5d603648f --- /dev/null +++ b/src/qt/blockbrowser.h @@ -0,0 +1,55 @@ +#ifndef BLOCKBROWSER_H +#define BLOCKBROWSER_H + +#include "clientmodel.h" +#include "main.h" + +#include + +namespace Ui { +class BlockBrowser; +} +class ClientModel; + +class BlockBrowser : public QDialog +{ + Q_OBJECT + +public: + explicit BlockBrowser(QWidget *parent = 0); + ~BlockBrowser(); + + void setTransactionId(const QString &transactionId); + void setModel(ClientModel *model); + + +public slots: + + void blockClicked(); + void txClicked(); + void updateExplorer(bool); + double getTxFees(std::string); + + +private slots: + +private: + Ui::BlockBrowser *ui; + ClientModel *model; + +}; + +double getTxTotalValue(std::string); +double convertCoins(int64); +int64 getBlockTime(int64); +int64 getBlocknBits(int64); +int64 getBlockNonce(int64); +int64 getBlockHashrate(int64); +std::string getInputs(std::string); +std::string getOutputs(std::string); +std::string getBlockHash(int64); +std::string getBlockMerkle(int64); +bool addnode(std::string); +const CBlockIndex* getBlockIndex(int64); + +#endif // BLOCKBROWSER_H \ No newline at end of file diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 263f1490e..e92bb5e4d 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -1,35 +1,62 @@ #include "charitydialog.h" #include "ui_charitydialog.h" -#include "clientmodel.h" -#include "notificator.h" -#include "version.h" - -#include "wallet.h" -#include "walletdb.h" -#include "main.h" +#include "walletmodel.h" +#include "base58.h" +#include "addressbookpage.h" #include "init.h" #include -charityDialog::charityDialog(QWidget *parent) : - QDialog(parent), - ui(new Ui::charityDialog) +StakeForCharityDialog::StakeForCharityDialog(QWidget *parent) : + QWidget(parent), + ui(new Ui::StakeForCharityDialog), + model(0) { ui->setupUi(this); } -charityDialog::~charityDialog() +StakeForCharityDialog::~StakeForCharityDialog() { delete ui; } -void charityDialog::setModel(ClientModel *model) +void StakeForCharityDialog::setModel(WalletModel *model) { + this->model = model; + + QString strAddress = model->getStakeForCharityAddress(); + QString strPer = QString::number(model->getStakeForCharityPercent()); + + if (!strAddress.isEmpty() && strPer.toInt() > 0 ) + { + ui->charityAddressEdit->setText(strAddress); + ui->charityPercentEdit->setText(strPer); + ui->message->setStyleSheet("QLabel { color: green; }"); + ui->message->setText(tr("You are now saving to\n") + strAddress + tr(".")); + } +} +void StakeForCharityDialog::setAddress(const QString &address) +{ + ui->charityAddressEdit->setText(address); + ui->charityAddressEdit->setFocus(); } -void charityDialog::on_buttonBox_accepted() +void StakeForCharityDialog::on_addressBookButton_clicked() +{ + if (model && model->getAddressTableModel()) + { + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); + dlg.setModel(model->getAddressTableModel()); + if (dlg.exec()) + { + setAddress(dlg.getReturnValue()); + } + } +} +/* +void StakeForCharityDialog::on_buttonBox_accepted() { QMessageBox msgBox; CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); @@ -82,14 +109,88 @@ void charityDialog::on_buttonBox_accepted() msgBox.setText("Stake For Charity Set"); msgBox.exec(); close(); +}*/ + +void StakeForCharityDialog::on_enableButton_clicked() +{ + if(model->getEncryptionStatus() == WalletModel::Locked) + { + ui->message->setStyleSheet("QLabel { color: black; }"); + ui->message->setText(tr("Please unlock wallet before starting auto savings.")); + return; + } + + bool fValidConversion = false; + int64 nMinAmount = MIN_TXOUT_AMOUNT; + int64 nMaxAmount = MAX_MONEY; + + CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); + if (!address.IsValid()) + { + ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setText(tr("The entered address: ") + ui->charityAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); + ui->charityAddressEdit->setFocus(); + return; + } + + int nCharityPercent = ui->charityPercentEdit->text().toInt(&fValidConversion, 10); + if (!fValidConversion || nCharityPercent > 50 || nCharityPercent <= 0) + { + ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setText(tr("Please Enter 1 - 50 for percent.")); + ui->charityPercentEdit->setFocus(); + return; + } + + if (!ui->charityMinEdit->text().isEmpty()) + { + nMinAmount = ui->charityMinEdit->text().toDouble(&fValidConversion) * COIN; + if(!fValidConversion || nMinAmount <= MIN_TXOUT_AMOUNT || nMinAmount >= MAX_MONEY ) + { + ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setText(tr("Min Amount out of Range, please re-enter.")); + ui->charityMinEdit->setFocus(); + return; + } + } + + if (!ui->charityMaxEdit->text().isEmpty()) + { + nMaxAmount = ui->charityMaxEdit->text().toDouble(&fValidConversion) * COIN; + if(!fValidConversion || nMaxAmount <= MIN_TXOUT_AMOUNT || nMaxAmount >= MAX_MONEY ) + { + ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setText(tr("Max Amount out of Range, please re-enter.")); + ui->charityMaxEdit->setFocus(); + return; + } + } + + model->setStakeForCharity(true, nCharityPercent, address, nMinAmount, nMaxAmount); + ui->message->setStyleSheet("QLabel { color: green; }"); + ui->message->setText(tr("You are now sending to\n") + QString(address.ToString().c_str()) + tr(".")); + return; } -void charityDialog::on_buttonBox_rejected() +void StakeForCharityDialog::on_disableButton_clicked() { - close(); + int nCharityPercent = 0; + CBitcoinAddress address = ""; + int64 nMinAmount = MIN_TXOUT_AMOUNT; + int64 nMaxAmount = MAX_MONEY; + + model->setStakeForCharity(false, nCharityPercent, address, nMinAmount, nMaxAmount); + ui->charityAddressEdit->clear(); + ui->charityMaxEdit->clear(); + ui->charityMinEdit->clear(); + ui->charityPercentEdit->clear(); + ui->message->setStyleSheet("QLabel { color: black; }"); + ui->message->setText(tr("Auto Savings is now off")); + return; } -void charityDialog::on_pushButton_clicked() +/* +void StakeForCharityDialog::on_pushButton_clicked() { QMessageBox msgBox; pwalletMain->fStakeForCharity = false; @@ -99,4 +200,4 @@ void charityDialog::on_pushButton_clicked() msgBox.setText("Stake For Charity Disabled"); msgBox.exec(); -} +}*/ diff --git a/src/qt/charitydialog.h b/src/qt/charitydialog.h index d37b6d013..f3e8344b1 100644 --- a/src/qt/charitydialog.h +++ b/src/qt/charitydialog.h @@ -1,31 +1,31 @@ #ifndef CHARITYDIALOG_H #define CHARITYDIALOG_H -#include +#include namespace Ui { -class charityDialog; +class StakeForCharityDialog; } -class ClientModel; +class WalletModel; -class charityDialog : public QDialog +class StakeForCharityDialog : public QWidget { Q_OBJECT public: - explicit charityDialog(QWidget *parent = 0); - ~charityDialog(); + explicit StakeForCharityDialog(QWidget *parent = 0); + ~StakeForCharityDialog(); - void setModel(ClientModel *model); + void setModel(WalletModel *model); + void setAddress(const QString &address); private slots: - void on_buttonBox_accepted(); - - void on_buttonBox_rejected(); - - void on_pushButton_clicked(); - + void on_enableButton_clicked(); + void on_disableButton_clicked(); + void on_addressBookButton_clicked(); + private: - Ui::charityDialog *ui; + Ui::StakeForCharityDialog *ui; + WalletModel *model; }; #endif // CHARITYDIALOG_H diff --git a/src/qt/clientmodel.cpp b/src/qt/clientmodel.cpp index 6ea4f83bc..d1de372c6 100644 --- a/src/qt/clientmodel.cpp +++ b/src/qt/clientmodel.cpp @@ -12,6 +12,7 @@ #include static const int64 nClientStartupTime = GetTime(); +double GetPoSKernelPS(const CBlockIndex* blockindex = NULL); ClientModel::ClientModel(OptionsModel *optionsModel, QObject *parent) : QObject(parent), optionsModel(optionsModel), diff --git a/src/qt/forms/blockbrowser.ui b/src/qt/forms/blockbrowser.ui new file mode 100644 index 000000000..ede191602 --- /dev/null +++ b/src/qt/forms/blockbrowser.ui @@ -0,0 +1,462 @@ + + + BlockBrowser + + + Qt::NonModal + + + true + + + + 0 + 0 + 850 + 500 + + + + + 0 + 0 + + + + + 0 + 0 + + + + false + + + Block Browser + + + + QLayout::SetMaximumSize + + + 21 + + + 10 + + + 10 + + + + + + + 0 + 0 + 822 + 27 + + + + + 7 + + + + + + 0 + 0 + + + + + 75 + true + + + + font-weight:bold; + + + Block Browser + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + 0 + 30 + 812 + 410 + + + + + QLayout::SetDefaultConstraint + + + 7 + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Decode Transaction + + + + + + + Inputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + 0000 MH/s + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Value out: + + + + + + + Transaction ID: + + + + + + + 0.00 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + 000 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Difficulty: + + + + + + + + 0 + 0 + + + + 99999999 + + + + + + + Block Height: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Jump to Block + + + + + + + Block Merkle: + + + + + + + Block Hash: + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Hashrate: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Fees: + + + + + + + Block nBits: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + 187 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Outputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block nNonce: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Timestamp: + + + + + + + true + + + + 0 + 0 + + + + + 0 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + 0 + 0 + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 20 + + + + + + + + + + 0 + 450 + 75 + 23 + + + + Close + + + + + + + + + \ No newline at end of file diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index e9d94b267..ac369befc 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -1,158 +1,186 @@ - charityDialog - + StakeForCharityDialog + + + Qt::NonModal + 0 0 - 250 - 318 + 652 + 300 - S4C + Stake For Charity - + - -130 - 250 - 341 - 32 + 20 + 150 + 131 + 20 - - Qt::Horizontal + + Enter whole numbers 1 - 50 - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + Enter % to Give (1-50) - + - 10 + 20 190 - 231 - 20 + 571 + 21 + + + - Enter % to Send (1-50) + Enter Address to Send to - + - 10 - 220 - 231 + 30 + 20 + 591 + 81 + + + + 1 + + + Stake For Charity allows you to automatically send up to 50% of your stake to another HoboNickels address after it matures. + +Please enter percentage to give and HoboNickels address to give to. Min and Max amount are optional. + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 250 + 150 + 131 20 - - - 7 - + + Enter whole numbers - Enter Address to Send to + Enter Min Amount - + - 0 - 10 - 251 - 31 + 490 + 150 + 131 + 20 - - - 16 - + + Enter whole numbers - Stake For Charity + - - false + + Enter Max Amount - - Qt::AlignCenter + + + + + 330 + 220 + 291 + 61 + + + + - + - 35 - 42 - 181 - 141 + 20 + 240 + 75 + 23 - - 1 + + Check and turn on Stake For Charity - Stake For Charity allows you to automatically send up to 50% of your stake to another HyperStake address. Stake For Charity requires that the staked block recieve 30 confirmations before the transaction is automatically sent. Stake For Charity is not stored in long term memory and must be set each time the wallet is started. + Enable - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + 160 + 240 + 75 + 23 + - - true + + Turn off Stake For Charity + + + Disable - + - 90 - 280 - 91 - 23 + 590 + 190 + 28 + 21 + + Choose an address from the address book + - Disable S4C + + + + + :/icons/address-book:/icons/address-book + + + Alt+A + + + false - - - - buttonBox - accepted() - charityDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - charityDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - + + + + diff --git a/src/qt/res/icons/blexp.png b/src/qt/res/icons/blexp.png new file mode 100644 index 0000000000000000000000000000000000000000..1838dad1640d7a008f9120c74ec692b32649a1be GIT binary patch literal 1053 zcmV+&1mgRNP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1F}g(K~y+Tm6U5p zlVKFcbIuFN!XPZHSk@L!N4kq+IG1y&ps8(cN=|c1H9~8pZl%?{Bo@tEQxoxHXns&} z1z{JX6a_(KLLWq#kbd*J^Zed({^vZ~2hr*DwzjrsyQ{Ue zwXUv?N~Jn>yNDp=h=PNI5&dw{r(d#IEW^XY1qB6vWjR4XK|zSV?XK0;)%yDSjg5`! z>S}j)ck;MX{{dQASuvSRo12^1R$N@XgGF-w4YanlR$E&;J39*^R8ms1owYaUJ1GRn zrLV8gXf!@1WwlzhS}h52Xb%t&TRVOWPTB2t)Ca(PZp4ic=WsK5|(bad2h;( z)6&wClaoavQCL`5e0+RLN{U*o&d<*;EiI+dXe7r4gdRf(dU|?Lh*GJ<$%u#uHk&OJ z3X_tO7z~C$Ac%>Hk;!DJj?d?l92XD<1bsoL;RxJGOiV-;{{H^n-riABQDtRi6bi-9 z&o3}A@Ej@pNOJxJp-oFmOY7_FV`F0yi3F6&%1Zc(!`OgM4Gau;czECyHyovj>#gu%g#z##NhDwSd%cH`qn2Oiv_uo+{9q+n1+ zW@h%aYr1>)kDmy@YG-FBG6e{8#AGrlRO&@_)(xFL`>N*jY35E4Y@VK;URYRYY;KN{ zNG^+nx5VL6PUxYd$4sUt%gf6)o2|dUpMHuV;PGz8Mc&mb+zCQ2Fs2y4Epa$p4wuK}^Eo_+umo)dc>Z3Z{Q7TmUPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!~g&e!~vBn4jTXf0<%d(K~y+TWs>_- z5>XV#{a33WYf67GpZP-4N>Q^k@I?rQLYB{j5JydXq@sdk>Ik?h^2S{RRvzEZ-9;Pg z%zS3&+;h(Ne($|of`6h=0Cv0?m{*g~%nRtVCow>LT~FdTa8vC18}|faLLP=C0fu!E zfRRDbr6*^b1jxq%wKDG6$e02e-vG#zYh=zf(*fHgfR# zOO%M<6=OVtUOG-2&6R`_H&BkALq!&Ei>-{$5iEO>$mQrIoIG00VZ1cSD2X@Jt1$Rc zl1%4Nr}LrJ9K0(k#~2|jxOj-7h}q36C`Ln27-gD_LA02HXw-S-J9sg8NG>kXUJg^8$O3(gj}0^vVi{k1!_O~QKLOYy*@xqm#8PKTQLZN zfQi*8t^Rx<)Kih c*vSI;1KpHhaT}F4NB{r;07*qoM6N<$g2rlP_W%F@ literal 0 HcmV?d00001 diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index f7568079b..a7f435ad0 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -130,7 +130,7 @@ TransactionView::TransactionView(QWidget *parent) : QAction *editLabelAction = new QAction(tr("Edit label"), this); QAction *copyTxID = new QAction(tr("Copy Tx ID"), this); QAction *showDetailsAction = new QAction(tr("Show transaction details"), this); - + QAction *showBlockBrowser = new QAction(tr("Show transaction in block browser"), this); contextMenu = new QMenu(); contextMenu->addAction(copyAddressAction); @@ -139,6 +139,7 @@ TransactionView::TransactionView(QWidget *parent) : contextMenu->addAction(editLabelAction); contextMenu->addAction(copyTxID); contextMenu->addAction(showDetailsAction); + contextMenu->addAction(showBlockBrowser); // Connect actions @@ -156,6 +157,7 @@ TransactionView::TransactionView(QWidget *parent) : connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(copyTxID, SIGNAL(triggered()), this, SLOT(copyTx())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); + connect(showBlockBrowser, SIGNAL(triggered()), this, SLOT(showBroswer())); } @@ -441,3 +443,16 @@ void TransactionView::focusTransaction(const QModelIndex &idx) transactionView->setCurrentIndex(targetIdx); transactionView->setFocus(); } + +void TransactionView::showBrowser() +{ + if(!transactionView->selectionModel()) + return; + QModelIndexList selection = transactionView->selectionModel()->selectedRows(); + QString transactionId; + + if(!selection.isEmpty()) + transactionId = selection.at(0).data(TransactionTableModel::TxIDRole).toString(); + + emit blockBrowserSignal(transactionId); +} \ No newline at end of file diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index 93dc12542..dc3cdfd66 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -66,9 +66,11 @@ private slots: void copyLabel(); void copyAmount(); void copyTx(); + void showBrowser(); signals: void doubleClicked(const QModelIndex&); + void blockBrowserSignal(QString transactionId); public slots: void chooseDate(int idx); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 58710e3d0..10219964d 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -317,10 +317,40 @@ int WalletModel::getStakeForCharityPercent() QString WalletModel::getStakeForCharityAddress() { - if (!wallet->StakeForCharityAddress.IsValid()) + if (!wallet->strStakeForCharityAddress.IsValid()) return "Not Set"; else - return wallet->StakeForCharityAddress.ToString().c_str(); + return wallet->strStakeForCharityAddress.ToString().c_str(); +} + +void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, + int64& nStakeForCharityMin, int64& nStakeForCharityMax) +{ + // This function assumes the values were checked before being called + if (wallet->fFileBacked) // Tranz add option to not save. + { + CWalletDB walletdb(wallet->strWalletFile); + if (fStakeForCharity) { + walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); + walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent ); + } + else { + walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); + walletdb.EraseStakeForCharity(strStakeForCharityAddress.ToString()); + } + + if(fDebug) + printf("setStakeForCharity: %s %d\n", strStakeForCharityAddress.ToString().c_str(), nStakeForCharityPercent); + } + + { + LOCK(wallet->cs_wallet); + wallet->fStakeForCharity = fStakeForCharity; + wallet->nStakeForCharityPercent = nStakeForCharityPercent; + wallet->strStakeForCharityAddress = strStakeForCharityAddress; + wallet->nStakeForCharityMin = nStakeForCharityMin; + wallet->nStakeForCharityMax = nStakeForCharityMax; + } } void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 2424bc904..368d78628 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -17,6 +17,7 @@ class COutput; class COutPoint; class uint256; class CCoinControl; +class CBitcoinAddress; QT_BEGIN_NAMESPACE class QTimer; @@ -103,6 +104,8 @@ class WalletModel : public QObject //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); + void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, + qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 99559cb77..d532df352 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -42,15 +42,18 @@ double GetDifficulty(const CBlockIndex* blockindex) return dDiff; } -double GetPoSKernelPS() +double GetPoSKernelPS(const CBlockIndex* blockindex) { int nPoSInterval = 72; double dStakeKernelsTriedAvg = 0; int nStakesHandled = 0, nStakesTime = 0; - CBlockIndex* pindex = pindexBest;; - CBlockIndex* pindexPrevStake = NULL; + const CBlockIndex* pindex = pindexBest; + const CBlockIndex* pindexPrevStake = NULL; + if (blockindex != NULL) + pindex = blockindex; + while (pindex && nStakesHandled < nPoSInterval) { if (pindex->IsProofOfStake()) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 68a412893..1d295d2ac 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -339,11 +339,12 @@ Value getaccountaddress(const Array& params, bool fHelp) Value stakeforcharity(const Array ¶ms, bool fHelp) { - if (fHelp || params.size() != 2) + if (fHelp || params.size() < 2 || params.size() > 4) throw runtime_error( - "stakeforcharity \n" + "stakeforcharity [min amount] [max amount]\n" "Gives a percentage of a found stake to a different address, after stake matures\n" "Percent is a whole number 1 to 50.\n" + "Min and Max Amount are optional\n" "Set percentage to zero to turn off" + HelpRequiringPassphrase()); @@ -359,24 +360,67 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) unsigned int nPer = (unsigned int) params[1].get_int(); - //Turn off if we set to zero. - //Future: After we allow multiple addresses, only turn of this address - if(nPer == 0) + int64 nMinAmount = MIN_TXOUT_AMOUNT; + int64 nMaxAmount = MAX_MONEY; + + // Optional Min Amount + if (params.size() > 2) { - pwalletMain->fStakeForCharity = false; - pwalletMain->StakeForCharityAddress = ""; - pwalletMain->nStakeForCharityPercent = 0; - return Value::null; + int64 nAmount = AmountFromValue(params[2]); + if (nAmount < MIN_TXOUT_AMOUNT) + throw JSONRPCError(-101, "Send amount too small"); + else + nMinAmount = nAmount; } - //For now max percentage is 50. - if (nPer > 50 ) - nPer = 50; + // Optional Max Amount + if (params.size() > 3) + { + int64 nAmount = AmountFromValue(params[3]); + if (nAmount < MIN_TXOUT_AMOUNT) + throw JSONRPCError(-101, "Send amount too small"); + else + nMaxAmount = nAmount; + } - pwalletMain->StakeForCharityAddress = address; - pwalletMain->nStakeForCharityPercent = nPer; - pwalletMain->fStakeForCharity = true; + CWalletDB walletdb(pwalletMain->strWalletFile); + + LOCK(pwalletMain->cs_wallet); + { + bool fFileBacked = pwalletMain->fFileBacked; + //Turn off if we set to zero. + //Future: After we allow multiple addresses, only turn of this address + if(nPer == 0) + { + pwalletMain->fStakeForCharity = false; + pwalletMain->nStakeForCharityPercent = 0; + pwalletMain->nStakeForCharityMin = nMinAmount; + pwalletMain->nStakeForCharityMax = nMaxAmount; + + if(fFileBacked) + walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); + pwalletMain->strStakeForCharityAddress = ""; + + return Value::null; + } + //For now max percentage is 50. + if (nPer > 50 ) + nPer = 50; + + if(fFileBacked) + walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); + + pwalletMain->strStakeForCharityAddress = address; + pwalletMain->nStakeForCharityPercent = nPer; + pwalletMain->fStakeForCharity = true; + pwalletMain->nStakeForCharityMin = nMinAmount; + pwalletMain->nStakeForCharityMax = nMaxAmount; + + if(fFileBacked) + walletdb.WriteStakeForCharity(address.ToString(), nPer); + + } return Value::null; } diff --git a/src/wallet.cpp b/src/wallet.cpp index c06158614..5bb44529f 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1126,15 +1126,17 @@ bool CWallet::StakeForCharity() // Calculate Amount for Savings nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; - // Do not send if amount is too low - if (nNet < MIN_TXOUT_AMOUNT ) + // Do not send if amount is too low or high + if (nNet <= nStakeForCharityMin || nNet >= nStakeForCharityMax ) { - printf("StakeForCharity: Amount: %s is below MIN_TXOUT_AMOUNT: %s\n",FormatMoney(nNet).c_str(),FormatMoney(MIN_TXOUT_AMOUNT).c_str()); + printf("StakeForCharity: Amount: %s is not in range of Min: %s and Max:%s\n",FormatMoney(nNet).c_str(),FormatMoney + (nStakeForCharityMin).c_str(),FormatMoney + (nStakeForCharityMax).c_str()); return false; } - printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), StakeForCharityAddress.ToString().c_str()); - SendMoneyToDestination(StakeForCharityAddress.Get(), nNet, wtx, false,true); + printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), strStakeForCharityAddress.ToString().c_str()); + SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); } } } diff --git a/src/wallet.h b/src/wallet.h index f31a6bf24..819e8bbc4 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -87,7 +87,9 @@ class CWallet : public CCryptoKeyStore std::string strWalletFile; bool fStakeForCharity; int nStakeForCharityPercent; - CBitcoinAddress StakeForCharityAddress; + int64 nStakeForCharityMin; + int64 nStakeForCharityMax; + CBitcoinAddress strStakeForCharityAddress; std::set setKeyPool; @@ -106,7 +108,9 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - StakeForCharityAddress = ""; + strStakeForCharityAddress = ""; + nStakeForCharityMin = 0; + nStakeForCharityMax = 0; } CWallet(std::string strWalletFileIn) { @@ -119,7 +123,9 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fStakeForCharity = false; nStakeForCharityPercent = 0; - StakeForCharityAddress = ""; + strStakeForCharityAddress = ""; + nStakeForCharityMin = MIN_TXOUT_AMOUNT; + nStakeForCharityMax = MAX_MONEY; } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index ad2417203..4909bac6a 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -373,6 +373,18 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nOrderPosNext; } + else if (strType == "ats") + { + string strStakeForCharityAccount; + ssKey >> strStakeForCharityAccount; + if (CBitcoinAddress(strStakeForCharityAccount).IsValid()) + { + pwallet->fStakeForCharity = true; + pwallet->strStakeForCharityAddress = CBitcoinAddress(strStakeForCharityAccount).Get(); + ssValue >> pwallet->nStakeForCharityPercent; + } + } + } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index a3e779ab9..393f2c7c5 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -144,6 +144,18 @@ class CWalletDB : public CDB { return Write(std::string("minversion"), nVersion); } + + bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent) + { + nWalletDBUpdated++; + return Write(std::make_pair(std::string("ats"),strStakeForCharityAddress),nStakeForCharityPercent); + } + + bool EraseStakeForCharity(std::string strStakeForCharityAddress) + { + nWalletDBUpdated++; + return Erase(std::make_pair(std::string("ats"), strStakeForCharityAddress)); + } bool ReadAccount(const std::string& strAccount, CAccount& account); bool WriteAccount(const std::string& strAccount, const CAccount& account); From 65e1c9ec618450d495f370f5947af896ea04a2f8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 13 Sep 2014 14:00:06 -0600 Subject: [PATCH 047/555] update address page --- src/qt/forms/addressbookpage.ui | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 9ed6b02f8..b70b6dadf 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -125,6 +125,20 @@ + + + Send a percentage of stake to a specified BottleCaps address + + + &Stake For Charity + + + + :/icons/send:/icons/send + + + + Delete the currently selected address from the list From 050d4247574b0559a1c08ab859473bb4e8a2048e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 13 Sep 2014 14:34:29 -0600 Subject: [PATCH 048/555] Fix Coin Control to update after filter --- src/qt/coincontroldialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 676db2e14..bd951c751 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -285,6 +285,7 @@ void CoinControlDialog::customSelectCoins() } } } + CoinControlDialog::updateLabels(model, this); updateView(); } From 6971b1f16378fd0ee521c4b79910b4e3efcad85b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 13 Sep 2014 14:51:26 -0600 Subject: [PATCH 049/555] potential stake max reward for CC --- src/qt/coincontroldialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index bd951c751..6573eaa2b 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -829,7 +829,7 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); // Potential Stake - int64 nPotentialStake = 7.5 / 365 * age * out.tx->vout[out.i].nValue; + int64 nPotentialStake = min((7.5 / 365 * age * out.tx->vout[out.i].nValue), double(1000 * COIN * COIN)); //min of the max reward or the stake rate itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN), 15, " ")); itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 15, " ")); From 43f4df3fc3c59b5b7e81b8f17fc19fb7994b7f8a Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 01:42:07 -0600 Subject: [PATCH 050/555] allow receiving address to be deleted - GUI & RPC --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/qt/addressbookpage.cpp | 26 +++++++++++++++++++---- src/qt/addressbookpage.h | 1 + src/qt/addresstablemodel.cpp | 5 +++-- src/qt/forms/addressbookpage.ui | 37 ++++++++++++++++++++------------- src/rpcwallet.cpp | 18 ++++++++++++++++ 7 files changed, 68 insertions(+), 21 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index cdb04a598..e189de0d2 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -245,6 +245,7 @@ static const CRPCCommand vRPCCommands[] = { "getblockhash", &getblockhash, false, false }, { "gettransaction", &gettransaction, false, false }, { "getstaketx", &getstaketx, false, false }, + { "deleteaddress", &deleteaddress, false, false }, { "listtransactions", &listtransactions, false, false }, { "listaddressgroupings", &listaddressgroupings, false, false }, { "signmessage", &signmessage, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 7b27e921d..9943ee18c 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -176,6 +176,7 @@ extern json_spirit::Value listaccounts(const json_spirit::Array& params, bool fH extern json_spirit::Value listsinceblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value gettransaction(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstaketx(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value deleteaddress(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value backupwallet(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value keypoolrefill(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value walletpassphrase(const json_spirit::Array& params, bool fHelp); diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index 50dce2b60..dcdc70ae8 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -55,11 +55,13 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : ui->deleteButton->setVisible(true); ui->signMessage->setVisible(false); ui->stakeForCharityPushButton->setVisible(true); + ui->deleteCheckBox->setVisible(false); break; case ReceivingTab: ui->deleteButton->setVisible(false); ui->signMessage->setVisible(true); ui->stakeForCharityPushButton->setVisible(false); + ui->deleteCheckBox->setVisible(true); break; } @@ -98,7 +100,6 @@ AddressBookPage::AddressBookPage(Mode mode, Tabs tab, QWidget *parent) : connect(signMessageAction, SIGNAL(triggered()), this, SLOT(on_signMessage_clicked())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(on_verifyMessage_clicked())); connect(stakeForCharityAction, SIGNAL(triggered()), this, SLOT(on_stakeForCharityPushButton_clicked())); - connect(ui->tableView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextualMenu(QPoint))); // Pass through accept action from button box @@ -158,6 +159,22 @@ void AddressBookPage::setOptionsModel(OptionsModel *optionsModel) this->optionsModel = optionsModel; } +void AddressBookPage::on_deleteCheckBox_clicked() +{ + if(ui->deleteCheckBox->checkState() == Qt::Checked) + { + ui->deleteButton->setEnabled(true); + ui->deleteButton->setVisible(true); + deleteAction->setEnabled(true); + } + else + { + ui->deleteButton->setEnabled(false); + ui->deleteButton->setVisible(false); + deleteAction->setEnabled(false); + } +} + void AddressBookPage::on_copyToClipboard_clicked() { GUIUtil::copyEntryData(ui->tableView, AddressTableModel::Address); @@ -282,16 +299,17 @@ void AddressBookPage::selectionChanged() ui->stakeForCharityPushButton->setVisible(true); break; case ReceivingTab: - // Deleting receiving addresses, however, is not allowed + // Deleting receiving addresses is allowed if enabled on deleteCheckBox ui->deleteButton->setEnabled(false); - ui->deleteButton->setVisible(false); - deleteAction->setEnabled(false); + ui->deleteButton->setVisible(false); + deleteAction->setEnabled(false); ui->signMessage->setEnabled(true); ui->signMessage->setVisible(true); ui->verifyMessage->setEnabled(false); ui->verifyMessage->setVisible(false); ui->stakeForCharityPushButton->setEnabled(false); ui->stakeForCharityPushButton->setVisible(false ); + ui->deleteCheckBox->setVisible(true); break; } diff --git a/src/qt/addressbookpage.h b/src/qt/addressbookpage.h index 4a6ead92c..079b4ab50 100644 --- a/src/qt/addressbookpage.h +++ b/src/qt/addressbookpage.h @@ -60,6 +60,7 @@ public slots: private slots: void on_deleteButton_clicked(); void on_newAddressButton_clicked(); + void on_deleteCheckBox_clicked(); /** Copy address of currently selected address entry to clipboard */ void on_copyToClipboard_clicked(); void on_signMessage_clicked(); diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index e65d3915e..b9355d6e3 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -1,7 +1,7 @@ #include "addresstablemodel.h" #include "guiutil.h" #include "walletmodel.h" - +#include "walletdb.h" #include "wallet.h" #include "base58.h" @@ -357,7 +357,7 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex & paren { Q_UNUSED(parent); AddressTableEntry *rec = priv->index(row); - if(count != 1 || !rec || rec->type == AddressTableEntry::Receiving) + if(count != 1 || !rec /*|| rec->type == AddressTableEntry::Receiving*/) { // Can only remove one row at a time, and cannot remove rows not in model. // Also refuse to remove receiving addresses. @@ -366,6 +366,7 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex & paren { LOCK(wallet->cs_wallet); wallet->DelAddressBookName(CBitcoinAddress(rec->address.toStdString()).Get()); + //CWalletDB(wallet->strWalletFile).EraseName(CBitcoinAddress(rec->address.toStdString()).Get()); } return true; } diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index b70b6dadf..8d08f0636 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -6,7 +6,7 @@ 0 0 - 760 + 821 380 @@ -55,6 +55,13 @@ + + + + Enable Deletion of Receiving Address - WARNING YOU WILL LOSE KEYS TO ANY COINS AT THE ADDRESS, BACK UP WALLET FIRST! + + + @@ -125,20 +132,20 @@ - - - Send a percentage of stake to a specified BottleCaps address - - - &Stake For Charity - - - - :/icons/send:/icons/send - - - - + + + Send a percentage of stake to a specified BottleCaps address + + + &Stake For Charity + + + + :/icons/send:/icons/send + + + + Delete the currently selected address from the list diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 1d295d2ac..7b269d5b7 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -5,6 +5,7 @@ #include "wallet.h" #include "walletdb.h" +#include "walletmodel.h" #include "bitcoinrpc.h" #include "init.h" #include "main.h" @@ -1452,6 +1453,23 @@ Value listaccounts(const Array& params, bool fHelp) return ret; } +Value deleteaddress(const Array& params, bool fHelp) +{ + if (fHelp || params.size() > 2) + throw runtime_error( + "delete

        \n" + "Deletes an address from wallet.dat, use with caution. Cannot be restored."); + + + string strAdd = params[0].get_str(); + + CWalletDB(pwalletMain->strWalletFile).EraseName(strAdd); + + string ret = "Success, please restart wallet if using QT"; + return ret; +} + + Value listsinceblock(const Array& params, bool fHelp) { if (fHelp) From 619d258d3c2a5f0ae515adcf55fabd94a45f42fe Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 14 Sep 2014 20:07:13 +0100 Subject: [PATCH 051/555] transactionview: add a "total amount" widget This is useful to get the total amount of the subset of transactions currently selected in the table below (eg, total of all stakes in the last week, etc). --- src/qt/transactionfilterproxy.cpp | 11 ++++++++-- src/qt/transactionfilterproxy.h | 4 ++++ src/qt/transactionview.cpp | 34 +++++++++++++++++++++++++++---- src/qt/transactionview.h | 7 +++++++ 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/qt/transactionfilterproxy.cpp b/src/qt/transactionfilterproxy.cpp index 16fb4dab9..ad71d8455 100644 --- a/src/qt/transactionfilterproxy.cpp +++ b/src/qt/transactionfilterproxy.cpp @@ -29,7 +29,8 @@ bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex & QDateTime datetime = index.data(TransactionTableModel::DateRole).toDateTime(); QString address = index.data(TransactionTableModel::AddressRole).toString(); QString label = index.data(TransactionTableModel::LabelRole).toString(); - qint64 amount = llabs(index.data(TransactionTableModel::AmountRole).toLongLong()); + qint64 amount = index.data(TransactionTableModel::AmountRole).toLongLong(); + qint64 abs_amount = llabs(amount); if(!(TYPE(type) & typeFilter)) return false; @@ -37,9 +38,11 @@ bool TransactionFilterProxy::filterAcceptsRow(int sourceRow, const QModelIndex & return false; if (!address.contains(addrPrefix, Qt::CaseInsensitive) && !label.contains(addrPrefix, Qt::CaseInsensitive)) return false; - if(amount < minAmount) + if(abs_amount < minAmount) return false; + totalAmount += amount; + return true; } @@ -47,24 +50,28 @@ void TransactionFilterProxy::setDateRange(const QDateTime &from, const QDateTime { this->dateFrom = from; this->dateTo = to; + totalAmount = 0; invalidateFilter(); } void TransactionFilterProxy::setAddressPrefix(const QString &addrPrefix) { this->addrPrefix = addrPrefix; + totalAmount = 0; invalidateFilter(); } void TransactionFilterProxy::setTypeFilter(quint32 modes) { this->typeFilter = modes; + totalAmount = 0; invalidateFilter(); } void TransactionFilterProxy::setMinAmount(qint64 minimum) { this->minAmount = minimum; + totalAmount = 0; invalidateFilter(); } diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h index 30b98588f..9a89e88a7 100644 --- a/src/qt/transactionfilterproxy.h +++ b/src/qt/transactionfilterproxy.h @@ -32,6 +32,9 @@ class TransactionFilterProxy : public QSortFilterProxyModel void setLimit(int limit); int rowCount(const QModelIndex &parent = QModelIndex()) const; + + int64_t getTotalAmount() const { return totalAmount; } + protected: bool filterAcceptsRow(int source_row, const QModelIndex & source_parent) const; @@ -42,6 +45,7 @@ class TransactionFilterProxy : public QSortFilterProxyModel quint32 typeFilter; qint64 minAmount; int limitRows; + mutable int64_t totalAmount; signals: diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index a7f435ad0..8570a4572 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -192,6 +192,9 @@ void TransactionView::setModel(WalletModel *model) TransactionTableModel::ToAddress, QHeaderView::Stretch); transactionView->horizontalHeader()->resizeSection( TransactionTableModel::Amount, 100); + + transactionProxyModel->setMinAmount(0); + updateTotalAmount(); } } @@ -200,7 +203,7 @@ void TransactionView::chooseDate(int idx) if(!transactionProxyModel) return; QDate current = QDate::currentDate(); - dateRangeWidget->setVisible(false); + enableDateRangeWidget(false); switch(dateWidget->itemData(idx).toInt()) { case All: @@ -237,10 +240,11 @@ void TransactionView::chooseDate(int idx) TransactionFilterProxy::MAX_DATE); break; case Range: - dateRangeWidget->setVisible(true); + enableDateRangeWidget(true); dateRangeChanged(); break; } + updateTotalAmount(); } void TransactionView::chooseType(int idx) @@ -249,6 +253,7 @@ void TransactionView::chooseType(int idx) return; transactionProxyModel->setTypeFilter( typeWidget->itemData(idx).toInt()); + updateTotalAmount(); } void TransactionView::changedPrefix(const QString &prefix) @@ -256,6 +261,7 @@ void TransactionView::changedPrefix(const QString &prefix) if(!transactionProxyModel) return; transactionProxyModel->setAddressPrefix(prefix); + updateTotalAmount(); } void TransactionView::changedAmount(const QString &amount) @@ -271,6 +277,13 @@ void TransactionView::changedAmount(const QString &amount) { transactionProxyModel->setMinAmount(0); } + updateTotalAmount(); +} + +void TransactionView::updateTotalAmount() +{ + QString str = BitcoinUnits::format(BitcoinUnits::BTC, transactionProxyModel->getTotalAmount()); + totalAmountWidget->setText(str); } void TransactionView::exportClicked() @@ -389,6 +402,12 @@ void TransactionView::showDetails() } } +void TransactionView::enableDateRangeWidget(bool enable) +{ + dateFrom->setEnabled(enable); + dateTo->setEnabled(enable); +} + QWidget *TransactionView::createDateRangeWidget() { dateRangeWidget = new QFrame(); @@ -415,8 +434,14 @@ QWidget *TransactionView::createDateRangeWidget() layout->addWidget(dateTo); layout->addStretch(); + layout->addWidget(new QLabel(tr("Total:"))); + totalAmountWidget = new QLabel(this); + totalAmountWidget->setText("0"); + totalAmountWidget->setFixedWidth(100); + layout->addWidget(totalAmountWidget); + // Hide by default - dateRangeWidget->setVisible(false); + enableDateRangeWidget(false); // Notify on change connect(dateFrom, SIGNAL(dateChanged(QDate)), this, SLOT(dateRangeChanged())); @@ -432,6 +457,7 @@ void TransactionView::dateRangeChanged() transactionProxyModel->setDateRange( QDateTime(dateFrom->date()), QDateTime(dateTo->date()).addDays(1)); + updateTotalAmount(); } void TransactionView::focusTransaction(const QModelIndex &idx) @@ -455,4 +481,4 @@ void TransactionView::showBrowser() transactionId = selection.at(0).data(TransactionTableModel::TxIDRole).toString(); emit blockBrowserSignal(transactionId); -} \ No newline at end of file +} diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index dc3cdfd66..b453a817b 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -14,6 +14,7 @@ class QModelIndex; class QMenu; class QFrame; class QDateTimeEdit; +class QLabel; QT_END_NAMESPACE /** Widget showing the transaction list for a wallet, including a filter row. @@ -48,6 +49,8 @@ class TransactionView : public QWidget QComboBox *typeWidget; QLineEdit *addressWidget; QLineEdit *amountWidget; + QLabel *totalAmountWidgetLabel; + QLabel *totalAmountWidget; QMenu *contextMenu; @@ -57,6 +60,10 @@ class TransactionView : public QWidget QWidget *createDateRangeWidget(); +private: + void updateTotalAmount(); + void enableDateRangeWidget(bool enable); + private slots: void contextualMenu(const QPoint &); void dateRangeChanged(); From 95d1cc707f232a0f2397424d5705b399aa7ef290 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 13:46:48 -0600 Subject: [PATCH 052/555] include inttypes.h --- src/qt/transactionfilterproxy.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/transactionfilterproxy.h b/src/qt/transactionfilterproxy.h index 9a89e88a7..b7156b99e 100644 --- a/src/qt/transactionfilterproxy.h +++ b/src/qt/transactionfilterproxy.h @@ -3,6 +3,7 @@ #include #include +#include /** Filter the transaction list according to pre-specified rules. */ class TransactionFilterProxy : public QSortFilterProxyModel From f9523155cf9ff05ed56ac1128949e7564228e4fe Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 14:09:58 -0600 Subject: [PATCH 053/555] add new hard checkpoint --- src/checkpoints.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 8051f4d68..63bc772b8 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -27,6 +27,7 @@ namespace Checkpoints ( 0, hashGenesisBlockOfficial ) (10, uint256("0x0000074074af28e73189ae5767b706246be2e0827c46d97a61178394aec877cf")) (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork + (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky ; static MapCheckpoints mapCheckpointsTestnet = From 6d2dfb0a328c63220460c67a31bba5190c34f1d5 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 16:54:23 -0600 Subject: [PATCH 054/555] add block explorer as DNS seed --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 55429637b..0c40add43 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1150,7 +1150,7 @@ void MapPort() // The second name should resolve to a list of seed addresses. static const char *strDNSSeed[][2] = { {"chainworks seed", "hyp.chainworks.info"}, - {}, + {"CCE block explorer", "hyp.altcointech.net"}, {}, {}, }; From c5ce7bef82472bb91bcc86673796674bdcb2ec90 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 20:21:28 -0600 Subject: [PATCH 055/555] fix typos --- src/qt/blockbrowser.cpp | 8 ++++---- src/qt/transactionview.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/qt/blockbrowser.cpp b/src/qt/blockbrowser.cpp index 807816207..1d8fb3bf6 100644 --- a/src/qt/blockbrowser.cpp +++ b/src/qt/blockbrowser.cpp @@ -141,7 +141,7 @@ std::string getOutputs(std::string txid) str.append(CBitcoinAddress(address).ToString()); str.append(": "); str.append(amount); - str.append(" CAP"); + str.append(" HYP"); str.append("\n"); } @@ -179,7 +179,7 @@ std::string getInputs(std::string txid) str.append(CBitcoinAddress(address).ToString()); str.append(": "); str.append(amount); - str.append(" CAP"); + str.append(" HYP"); str.append("\n"); } @@ -265,11 +265,11 @@ void BlockBrowser::updateExplorer(bool block) else { std::string txid = ui->txBox->text().toUtf8().constData(); - ui->valueBox->setText(QString::number(getTxTotalValue(txid), 'f', 6) + " CAP"); + ui->valueBox->setText(QString::number(getTxTotalValue(txid), 'f', 6) + " HYP"); ui->txID->setText(QString::fromUtf8(txid.c_str())); ui->outputBox->setText(QString::fromUtf8(getOutputs(txid).c_str())); ui->inputBox->setText(QString::fromUtf8(getInputs(txid).c_str())); - ui->feesBox->setText(QString::number(getTxFees(txid), 'f', 6) + " CAP"); + ui->feesBox->setText(QString::number(getTxFees(txid), 'f', 6) + " HYP"); } } diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 8570a4572..9e17d5617 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -157,7 +157,7 @@ TransactionView::TransactionView(QWidget *parent) : connect(editLabelAction, SIGNAL(triggered()), this, SLOT(editLabel())); connect(copyTxID, SIGNAL(triggered()), this, SLOT(copyTx())); connect(showDetailsAction, SIGNAL(triggered()), this, SLOT(showDetails())); - connect(showBlockBrowser, SIGNAL(triggered()), this, SLOT(showBroswer())); + connect(showBlockBrowser, SIGNAL(triggered()), this, SLOT(showBrowser())); } From 67b6b85e4c4a8dd7557ea3e20f79ef79feb4607e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 14 Sep 2014 20:42:01 -0600 Subject: [PATCH 056/555] comment out partial features --- src/qt/bitcoingui.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 9266c93ae..f980bf5bb 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -313,17 +313,17 @@ void BitcoinGUI::createActions() blockAction->setStatusTip(tr("Explore the BlockChain")); blockAction->setToolTip(blockAction->statusTip()); - blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); - blocksIconAction->setStatusTip(tr("Get Current Block Information")); - blocksIconAction->setToolTip(blocksIconAction->statusTip()); + //blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); + //blocksIconAction->setStatusTip(tr("Get Current Block Information")); + //blocksIconAction->setToolTip(blocksIconAction->statusTip()); - stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); - stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); - stakingIconAction->setToolTip(stakingIconAction->statusTip()); + //stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); + //stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); + //stakingIconAction->setToolTip(stakingIconAction->statusTip()); - connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); - connectionIconAction->setStatusTip(tr("Get Current Peer Information")); - connectionIconAction->setToolTip(connectionIconAction->statusTip()); + //connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); + //connectionIconAction->setStatusTip(tr("Get Current Peer Information")); + //connectionIconAction->setToolTip(connectionIconAction->statusTip()); aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); @@ -377,9 +377,9 @@ void BitcoinGUI::createActions() connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWallet())); connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); - connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); - connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); - connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); + //connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); + //connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); + //connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); } void BitcoinGUI::createMenuBar() @@ -403,10 +403,10 @@ void BitcoinGUI::createMenuBar() QMenu *network = appMenuBar->addMenu(tr("&Network")); network->addAction(blockAction); - network->addSeparator(); - network->addAction(blocksIconAction); - network->addAction(stakingIconAction); - network->addAction(connectionIconAction); + //network->addSeparator(); + //network->addAction(blocksIconAction); + //network->addAction(stakingIconAction); + //network->addAction(connectionIconAction); QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); From e34fe0798306ad8aac6ef53e849377d15788cbe9 Mon Sep 17 00:00:00 2001 From: Your Name Date: Mon, 15 Sep 2014 23:29:45 +0100 Subject: [PATCH 057/555] bitcoingui: fix network weight, etc, not updating when many peers are lagging If the median of the peers' block count is less than our block count, things like network weight, etc, will not be updated. If we are connected with slow to update peers, this can mean those update very seldom. We now update those values when we're equal or above the median value. --- src/qt/bitcoingui.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f980bf5bb..f422ab594 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1156,7 +1156,7 @@ void BitcoinGUI::updateMintingIcon() void BitcoinGUI::updateMintingWeights() { // Only update if we have the network's current number of blocks, or weight(s) are zero (fixes lagging GUI) - if ((clientModel && clientModel->getNumBlocks() == clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) + if ((clientModel && clientModel->getNumBlocks() >= clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) { nWeight = 0; nCharityPercent = 0; From 7e78203fc7356e83c64ba6f04b20e6035a73e3cf Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 15 Sep 2014 21:32:38 -0600 Subject: [PATCH 058/555] refine stake time estimate --- src/qt/bitcoingui.cpp | 15 ++++++++++++--- src/qt/bitcoingui.h | 1 + src/wallet.cpp | 6 +++++- src/wallet.h | 2 +- 4 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f980bf5bb..643b43e94 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -191,6 +191,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): nWeight = 0; nHoursToMaturity = 0; nNetworkWeight = 0; + nAmount = 0; // Progress bar and label for blocks download progressBarLabel = new QLabel(); @@ -304,9 +305,9 @@ void BitcoinGUI::createActions() charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); - charityAction->setCheckable(true); + //charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); - charityAction->setCheckable(true); + //charityAction->setCheckable(true); tabGroup->addAction(charityAction); blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); @@ -1124,6 +1125,13 @@ void BitcoinGUI::updateMintingIcon() else if (nLastCoinStakeSearchInterval) { uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; + + uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); + if(nEstimateDays > 1) + { + nWeight = qMax(nAmount, nWeight); + nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; + } QString text; if (nEstimateTime < 60) @@ -1160,9 +1168,10 @@ void BitcoinGUI::updateMintingWeights() { nWeight = 0; nCharityPercent = 0; + nAmount = 0; if (pwalletMain) - pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity); + pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); if (nHoursToMaturity > 212) nHoursToMaturity = 0; diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 8da9a6ed4..bd5e94c64 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -120,6 +120,7 @@ class BitcoinGUI : public QMainWindow uint64 nWeight; uint64 nNetworkWeight; uint64 nHoursToMaturity; + uint64 nAmount; int nCharityPercent; QString strCharityAddress; diff --git a/src/wallet.cpp b/src/wallet.cpp index 5bb44529f..7a35dd054 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1480,7 +1480,7 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint } //This is added for informational purposes since staking takes 8.8 days min approx. because of bug -bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity) +bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount) { // Choose coins to use int64 nBalance = GetBalance(); @@ -1524,12 +1524,16 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin nHoursToMaturity = ((nStakeAge - nPrevAge) / 60 / 60) + 1; } int64 nTimeWeight = GetWeight2((int64)pcoin.first->nTime, (int64)GetTime()); + //CBigNum bnAmount = CBigNum(pcoin.first->vout[pcoin.second].nValue) / COIN / 1000; CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); + + // Weight is greater than zero if (nTimeWeight > 0) { nWeight += bnCoinDayWeight.getuint64(); + nAmount += (uint64)pcoin.first->vout[pcoin.second].nValue / COIN; } // Weight is greater than zero, but the maximum value isn't reached yet diff --git a/src/wallet.h b/src/wallet.h index 819e8bbc4..d3bb8ba13 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -195,7 +195,7 @@ class CWallet : public CCryptoKeyStore bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); - bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity); + bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); From 093fe6e4afee55a1b62b7586d2e712c9e21f1a20 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 16 Sep 2014 10:22:29 -0600 Subject: [PATCH 059/555] update linux.pro --- HyperStake-qt-linux.pro | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro index 6e88eb74b..6eebea741 100644 --- a/HyperStake-qt-linux.pro +++ b/HyperStake-qt-linux.pro @@ -9,8 +9,25 @@ CONFIG += static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +win32{ #uncomment the following section to enable building on windows: - +windows:LIBS += -lshlwapi +LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) +LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX +windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 +LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 +BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 +BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 +BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib +BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix +BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix +OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include +OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g +MINIUPNPC_LIB_PATH=C:/deps/miniupnpc +MINIUPNPC_INCLUDE_PATH=c:/deps +QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 +QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs +} OBJECTS_DIR = build MOC_DIR = build @@ -115,7 +132,6 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ - src/qt/charitydialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -166,6 +182,8 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/transactionview.h \ src/qt/walletmodel.h \ src/bitcoinrpc.h \ + src/qt/blockbrowser.h \ + src/qt/charitydialog.h \ src/qt/overviewpage.h \ src/qt/csvmodelwriter.h \ src/crypter.h \ @@ -208,7 +226,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ - src/qt/charitydialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -272,6 +289,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/cubehash.c \ src/shavite.c \ src/echo.c \ + src/qt/blockbrowser.cpp \ + src/qt/charitydialog.cpp \ src/simd.c RESOURCES += \ @@ -283,9 +302,10 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ - src/qt/forms/charitydialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ + src/qt/forms/blockbrowser.ui \ + src/qt/forms/charitydialog.ui \ src/qt/forms/overviewpage.ui \ src/qt/forms/sendcoinsentry.ui \ src/qt/forms/askpassphrasedialog.ui \ From 9c729b8d6775e6c867686d876d80cc30758d6839 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 16 Sep 2014 10:59:05 -0600 Subject: [PATCH 060/555] fix highlighting of S4C tab --- src/qt/bitcoingui.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 302170b5b..782eeb4de 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -305,9 +305,8 @@ void BitcoinGUI::createActions() charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); - //charityAction->setCheckable(true); + charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); - //charityAction->setCheckable(true); tabGroup->addAction(charityAction); blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); From 4d0132bbfc12176efe917f27ccc2bb75fd604ee7 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 16 Sep 2014 11:00:27 -0600 Subject: [PATCH 061/555] fix typos --- src/qt/forms/charitydialog.ui | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index ac369befc..36e86c0ec 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -61,9 +61,9 @@ 1 - Stake For Charity allows you to automatically send up to 50% of your stake to another HoboNickels address after it matures. + Stake For Charity allows you to automatically send up to 50% of your stake to another HyperStake address after it matures. -Please enter percentage to give and HoboNickels address to give to. Min and Max amount are optional. +Please enter percentage to give and HyperStake address to give to. Min and Max amount are optional. Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop From b6b564c8e572c8caf7a3c77386ae92a6942b2e24 Mon Sep 17 00:00:00 2001 From: billotronic Date: Wed, 17 Sep 2014 12:10:47 -0500 Subject: [PATCH 062/555] Changes for OSX Compile --- src/net.cpp | 2 +- src/qt/bitcoingui.cpp | 4 ++-- src/serialize.h | 55 +++++++++++++++++-------------------------- 3 files changed, 24 insertions(+), 37 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 0c40add43..44db575b3 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -57,7 +57,7 @@ static bool vfLimited[NET_MAX] = {}; static CNode* pnodeLocalHost = NULL; CAddress addrSeenByPeer(CService("0.0.0.0", 0), nLocalServices); uint64 nLocalHostNonce = 0; -array vnThreadsRunning; +boost::array vnThreadsRunning; static std::vector vhListenSocket; CAddrMan addrman; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 782eeb4de..a603f62da 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -117,7 +117,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): the whole component it resides on not being paintable */ #ifdef Q_OS_MAC - toolbar->setStyleSheet("QToolBar { background-color: transparent; border: 0px solid black; padding: 3px; }"); + //toolbar->setStyleSheet("QToolBar { background-color: transparent; border: 0px solid black; padding: 3px; }"); #endif // Create tabs @@ -1196,4 +1196,4 @@ void BitcoinGUI::charityClicked(QString addr) exportAction->setEnabled(false); disconnect(exportAction, SIGNAL(triggered()), 0, 0); -} \ No newline at end of file +} diff --git a/src/serialize.h b/src/serialize.h index 3b3dcd4fc..2336a2b4b 100644 --- a/src/serialize.h +++ b/src/serialize.h @@ -811,46 +811,33 @@ class CDataStream iterator insert(iterator it, const char& x=char()) { return vch.insert(it, x); } void insert(iterator it, size_type n, const char& x) { vch.insert(it, n, x); } - void insert(iterator it, const_iterator first, const_iterator last) - { - assert(last - first >= 0); - if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos) - { - // special case for inserting at the front when there's room - nReadPos -= (last - first); - memcpy(&vch[nReadPos], &first[0], last - first); - } - else - vch.insert(it, first, last); - } - void insert(iterator it, std::vector::const_iterator first, std::vector::const_iterator last) - { - assert(last - first >= 0); - if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos) { - // special case for inserting at the front when there's room - nReadPos -= (last - first); - memcpy(&vch[nReadPos], &first[0], last - first); + assert(last - first >= 0); + if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos) + { + // special case for inserting at the front when there's room + nReadPos -= (last - first); + memcpy(&vch[nReadPos], &first[0], last - first); + } + else + vch.insert(it, first, last); } - else - vch.insert(it, first, last); - } -#if !defined(_MSC_VER) || _MSC_VER >= 1300 - void insert(iterator it, const char* first, const char* last) - { - assert(last - first >= 0); - if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos) + #if !defined(_MSC_VER) || _MSC_VER >= 1300 + void insert(iterator it, const char* first, const char* last) { - // special case for inserting at the front when there's room - nReadPos -= (last - first); - memcpy(&vch[nReadPos], &first[0], last - first); + assert(last - first >= 0); + if (it == vch.begin() + nReadPos && (unsigned int)(last - first) <= nReadPos) + { + // special case for inserting at the front when there's room + nReadPos -= (last - first); + memcpy(&vch[nReadPos], &first[0], last - first); + } + else + vch.insert(it, first, last); } - else - vch.insert(it, first, last); - } -#endif + #endif iterator erase(iterator it) { From 52c2b4c196469ba1e71423cc86f53eeb1c16caa3 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 18 Sep 2014 09:09:53 -0600 Subject: [PATCH 063/555] S4C cleanup --- src/qt/charitydialog.cpp | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index e92bb5e4d..edd482db9 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -116,7 +116,7 @@ void StakeForCharityDialog::on_enableButton_clicked() if(model->getEncryptionStatus() == WalletModel::Locked) { ui->message->setStyleSheet("QLabel { color: black; }"); - ui->message->setText(tr("Please unlock wallet before starting auto savings.")); + ui->message->setText(tr("Please unlock wallet before starting stake for charity.")); return; } @@ -185,19 +185,6 @@ void StakeForCharityDialog::on_disableButton_clicked() ui->charityMinEdit->clear(); ui->charityPercentEdit->clear(); ui->message->setStyleSheet("QLabel { color: black; }"); - ui->message->setText(tr("Auto Savings is now off")); + ui->message->setText(tr("Stake For Charity is now off")); return; } - -/* -void StakeForCharityDialog::on_pushButton_clicked() -{ - QMessageBox msgBox; - pwalletMain->fStakeForCharity = false; - pwalletMain->StakeForCharityAddress = ""; - pwalletMain->nStakeForCharityPercent = 0; - - msgBox.setText("Stake For Charity Disabled"); - msgBox.exec(); - -}*/ From 758122894466f1be57b735445504a8044c7b17a7 Mon Sep 17 00:00:00 2001 From: billotronic Date: Thu, 18 Sep 2014 13:22:36 -0500 Subject: [PATCH 064/555] Replaced OSX Icon Removed Truckcoin icns with Hyperstake logo --- src/qt/res/icons/bitcoin.icns | Bin 54281 -> 71255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/icons/bitcoin.icns b/src/qt/res/icons/bitcoin.icns index e86dc8c7e1f08e98eea30364bcdcf0ffcf2b7cdd..8f36f784ed083c7a4a9bd20d604922a35308be1f 100644 GIT binary patch literal 71255 zcmbTe2Y_6~kw5$-t)z{UbKabD-kltGa?UyDo!OjsX0tYER|yazm}syuV4K4c#{(N@ z8!*O!^VueY1IG6GZvpS?SqTu>__%Kn(!6>7y1J^Xs()Qo{o=vV3FrvH8lULyf}mrF zTsmt`k2@Srr^C6tZC#swO4Vbw`T{<0z-zYhH6rPt&K8ihRdo(3Ll&JtF`}`0>ajF3 zlUUj9Gi#M{ov(qwB#;?&3bD>hl{RTl z=dgv}*&)zdY&MIQ-`>hq;ZAZPsDmvM4!1$Kb6kO3B5ks{EH0nVWeJ8X^V!>U{d)J< z{KEX)s8i3?Db;LEIG=Io1Bt1eU(Hnsw% zOQpraVYx(NjD(#t(P8a4d3lFyk;K6f${ z4!dHLlIiAl^SsLwOt^g}_pH9TPT1LHn$BcKW3kBzU3=58L(tkN^`*wfQyy_`C0mVv zI1tppkx7T^pzm<}(OfKH)EZ3gK)_|P7|qk^b^UUoE)d~R)Fn$tEqD|b8Gsj0C{+_Ms?gOr=m$k^CYeny;{U6F3ow>Y=c z*_oxW$yjE~Twf{b=&-M?tmfzE*YoC<2DV$!Tq}>xEH6!mq?L5GrmP@=T8?~VxDxsq zCzO~NNGBoaNHMSosKRs4V~^f$ItjiOE_J_#--f}Tp9;XmF=!rs`>i+M0)JpQ2rf-=0l#pe@@L?ym*5BZQONV&WuXtzo#5AZKX1ZYk6wHKP57Q~zW@5}Ti)M()qL&! zx8GtP|KWQLF2i4hATj*bRSK8k|LFh&48q_S@OcaVyXKIAq3;&>f#I*Tg3AJfMWUU1 z?^z!@Qn-w#3SOb?S1S-9kQq<=o`>O&Z!AtuEpI;rLGsYpL}~*fM||F>FMVd*YtpDx zN|n|Un7L&?9*IPKs}R*;G9^#%Ce3oSEf7m2qJE1?VawhP$M1byk%w|di8GiSv&#(8 zY$g`;`u(v?CZv&jX6C{(vua2(kML!px{+`uYT@;_HCKxy5=SiKlbB=U!MG2yr~R3b zN}WzvyQ^s!0uw3eBvy-D$%M=h8TDFpDsMWdQKv&vI+;|$)j3W3gU*2a=DQz+q> zH;sq=hLKcANMMji)MgT`o{pzh)zF!WSX5$#*CdgoRT7L!$wWGVgu~+~b=0ax9Gy|g z(k2`-XBaq1g+6Iw(TEgAEec1%lJEpFkw#&W>Rm~NM&9c-NQ0qn9F2u05l93q4v)uS z^W+?nMH+}ZWo8?sP{j?bItut5P3)r9(WnecO%0`vLFGB4GPPAFHOGhX)mSnfkET;7 z1XewPz$DkyF<1l2xMoDBmbe4`MC9Fsj+-wu(J#(Dbl>N3B+#z1y?HodmZ%jHzq6ax z^Xj?BwjRrU=FC?f{*POZ6A_3U8INLg1RY|HTpY0VQ8xCN--l^RUl-z) zm7o!oR9ta!845=xqR{we0=BAE5t0j_3BD{~qEJZ0!DcFvKp_rPvS@WwER#WPw0ngD zt%A?9dwWq>RvjKgB9R%Dl-}mrhB{U!o)<9ixcv5Rp4?|cK&aPsHEH8P!5mU)o#a}xSIgz`*o{y*PvCNmpzs<7ky2Sj zpwJiu8kVJU+qgWZr5YOOAK;1IPE|7+T~*USrO^l?9HvF@w)1(-sFrxoAcsG|6+2uO zVKsw7$Ix&Uln#-j&utZOdwTl&Iw6%)#O~t=jZT+cE$AN_8W!oDZikl7Y47f54?s|( z%|6`S#^%XQcBeb z5ml~2q$Un`fJa1j4snGNnM^F;475TJzq_|*6T&w!$ZP|2^f;rryQ`53LFZKi(8;=0 z=pBQ90T}$+{Mh)y*2BQygYOxgWr!EHO}HVBr>7JbpPahgQ*%OOsO{@DG(*d8us?Vkqa~u2f z8dEHLXz)pIGNkhEZOu3h8lluAoR8}q>ACGwMqMOzXz;0^+H-m(E?3B$I+fC3FzNkE zp|SNHqal`Z&YN?Qu+F@*5*6!Ya)n!|^MZj!Qc-VuV?$+zXC>jVMUmf#%Vj#5LLwbe zId!h6H5iUN$F?Wrj)2qVl81Jtv|5=)XXQ(jVzo+dxBLBJr*nSCsrlv z6f%WWB3Ee*2Cv`e4p_ZglOra}XLBQt?Qxw|E)@&8(y-d5H@Q5Cq&MbsrRO$vN}W!c zI^~mEjEWJH#-MRpqvJ702&}ALS9J80M;cVhX7hfL@>kCBUp<}nJ^9GaB~i%~xdo4U4*ucuKX~~YKY!x+-#+(aCzvRkR%UXpPDoVJoH9S_vwrDonLk|r z&HsA+v1e}o(L=X=_7e|HdOjYuOCL(#v^y%@x|M} z_V78qX=Pfh5Xu&o<)LSP_u{kv{p(-;>iKWq{>4Y{$lp2l!|$fWo|Q47SSXrYvCV$( zn_vCUZ+zwJU;oxa7ryYw`K7(7?a0Gc&qkCl;O2Od_27_HH)65qWlDq16^|PA#)whj z_op`OT*$*Uu1?A1Bhr9Jr!%_TbHRW+WYySB8p~`>&Xvo!qM4kNFSS|}DvQGxjr+&q z;fT)}mW5W6JPxm8fa6%5QV4Wlrj6dQNHpb}c8!Le+2HhwhMT%mnv-w^?VlLQ7kT`h00ZzGmuES{eG{-sWXf&O^G-LQw^~AVUB)z zVbrCw#6~A0LBD;?qOp%H&yH|9F~H&n*t|iuetvl>?hMD${+LT=^T%d$lX7<7p}{w) z9HOEAVa4du;_O&DnMuc!<8w=kQSopWc=jEO?;I4^vhyp86$^_?OLIvBcc2mVp20r~ z^$dv&zC?Cn0$?DmV6fBfdDq~11AIEZy`L?VDHKw{a33&u!LY6-Z6N(I~376PTzEHeS9nx3og#jZ=JhoLvM^< zG5CZx9#Tbays(i9`7Mr!Wn(6kUf8<+f?XF)9vXZyq>fxVm~(lYDX>ck0}wp5GnGGk zgH0bx9vXa9=eT$L+SM7LT!4eHM*+?;vIOMa*vC zv>k45AQBs&ni!i(j$O!)7|n1_=D%Sj5O+CjX1#sV6Z3^LV~b1U^Anl*t@B2OMkkrN zF6)TLJ+4G3?8~GUx0cgW6SFfDqf<-QMTmZy{fGbg`Ey@><;P$C{$oGdoA~NXbbn2%6sh+&=a+x==`+th_R34YeCm-$e*KGY ze&wfM`Nb3W1ta^bV0n~p?>QI#@cQ3=|HnVP_S#>5@wK1*_K}N^oPFh`4RhvTQ6v_K z^Jn6xfAQpxp8UxVfBciDAA8`bpMUcFU3<4J{U|YdevB{R<+z!16Iy4)6_15nzIZyb zxDX9TCL^xN@rCm~4rJlj&#pOKPWxCo5Qt{7rzR(|GYNk@;)`wVsX0;!N4$1AWwyto z9&dbfVs2qFKQ}WomYTFro}K1#xE(|6z}YpIDKH+4#>N52Uz%9YEKa4C#@7#wY}f75 zoQNyTonEwLy-Sm^iRH=3iA-i}blMYMKge>q9ANO(Y|ZZWg2lZ*mYG~y9-EvTPh>*D zrQKCAM`Nso2Kt8Cw!Q78bU3lNvN1P3IeGz%FTb~`V)qeS3kJ^}9JZd?Tc1nME#@W{ zGU4R-?AHE@YIvY;0IcvWhXy~Sp4;2m%q=bCmgg5%w)S?%q(j}k?;3np*MPvYxV^WV z-zneS152EhJJ5m~6!5Mt@n3*?2F2Fc)KV_DFcCHg2D&WnYb~BhYVR8sjwqEWwS^96JhC z=YR0`E1Q)+e?5(Zz%TE8iXg(p{|7b_hkJ{+!I$696(8;=t~4ovR4>7AU4HX$rvY|8 zh5g5mo1vns9TY+1@Y|QK-n>HMt;_HmBUc+7gC^eHR$aMU`1?)xAJVH^7A^cv&+pwX zG@RGCk@9w`1 zi}U}>{q%A=(r=6>Z9j}`X# zfK)r&0oBGc{b@(2-qC3cj69nL>gaqerxw6`PJgzEdM8k6Bj%+RlhPo$&aaLDI%dA&Y=I2_H4`}xDJcpwR1H&gxFSQfUu`!lUDsK3&8T2xLdspeEiN9G&<1 z+0x8tFzA!_P{~y^Mgxv%li@nM4Zc8lEHWq$8H1s$cNJ=m-4Y*l`-apLF@I3qgs*NS z;ISb3iSoBoXry|!GZ09pIkKQuYgLOu$U~rV1}r|d3WOd!gTz`gwVpx1(lOX743&nb zwx}w_et&Y5t@I1{+DAJfh^vtgd&QEmu;1QG040@AZcQcJjqT|tIJQ|Bfv8rpTaD#NPqo%W%Opec&Rf}A8J(4=fxBkZ=9m)9o z14J5%#zZ$@C`f80g4~WF5}Q~kQZ<#;L?J8uq2#c^?6E;wy~;cY@VSyft-?^4sQw%a zg-7FYC=8B_#S)1$9F;^PGAix9w3%naHS^+QX4y#E>jtqHW)l&?z))}~Gzm*UW5_u0 z43UXvl9{#mL4PpLHmEGd;XX6R9rcZnsboA21L7zsOg{+L5bMzdB85P#CXktUVl|m) z@}*P~Q+`I1lWTc#zo(hrTFW5eabyw^#Tslw@T#%BG$ysWy&lJEZot!wdRNrLF}C$2 zwNiP~YoyT{X;2x7aJ;k#OJ-p(*po+5XcV!Qg0Jals3NfXo1Oj`M}@Q~J*kdCNrEG@?qa`Bt#knL|INd4E5 zzi^-~Sn&O)Klz`qy_lLO=J3Rt+TK=z)ECo;)C+xTZou#CX{(3s{zHELJD<+JZ4%x6 zL?3+f#NB_YAuy;^VkH%iAyhXGc_U`N<|dw!8}iv3>ub@!dGziF;IQZik9`YX82{^? z_dXClM#3UamXzYjXiOuv*AudHHBU(8+_2Zy(t$I*T@MYyeX>l>w+xGadIsW|tj2+` z!{v5TOSqOkMvpt_;HW<*lygI1Cq1i7?i?>MT`0Nrk%zvrLcE93J4RtBhZy4m#x$vB zu7-via0Tsb)z=5*oPft!S&Ur0?$%o`p1Ey*XLsk!%{TZkVNXDVIqI&5d}FJG(i&`^ zJ80!7zSAT}a=boAFR^xcb$L0zl3Ur#=UbLG1B?zDHYkAtZ55F=wWo+u$9IMF{E^d; zoNW&{B;}Fse&vf_`tn0xc;u1%mvUeD<}NMka>R#EdK!*~YaqJ?iBz~E3V|eYQOeVV zTv8Mfg#RiD{2By-0D?_41{OoF!eQwIprvF&Nwc_F?+OdWe2GpV5=9(l8VXG&;~SfC z-AoJ)g~j8D_-YCsi$&9hTF^9lGrhy%_7BUt2L`)kY=48x*@YyKu-Fq^ZVeub#}deR zZVwaNN@Wo+Sac-;*T&+x0w%U}1)@vYhJamzB{I-h1^XltOT*yFBy>YpNk=8FO_C?& zYWt|AwRT%rEEHIc8a-FU3)!9R2pqD8hN>puiDW8)-iWOu);k%vChBlKwXqk+b9h{X zvaX)q_QpEtklAlFlF+1+H6wU37DL7NRC z1NAjL(XheqFxnjQE;1%~)j+}{7(`<)M=Vn*bt<(M>??%BUEp_9 z8w_C%AZinnD!4)N2)4StyKjiY9_a0AVV*34#(JR>mFJ-1sswK_%ru^0A*aCOyt%WxyS=`Uwu*VW=)~mgH7Fw! z%LJr6=i=VM>FuqJjrGk_yZdKOP3YK~cm{gl8k7-@#`J90`oYfn>gvk!^1|}cQf_r^ z^Yp=-n&V7_BJZM%w&^p0kVv|4W@}}2c_!r#o1AJ-B0D;}va+_jpX6wwmSFH*l(FFR za;&?%D=W(>k5pz>X&ge^sabizGqIdsJIG69LDPFEBjfQ7`wlj9D_IlY>=cXmMx#P> zE@85me9^gle&>`z8qn$9MHxY>m*YEF%P;%HR+-Xok_h#}5r^7j(YeMpoQYh1Yg;Z4 z2zc+H47OKn*1C}x18IVW7|#sD=0%_=ge*|FItrfxkk!Y$pqpN zfyr*M>n7X|ZzLECdqT^(eZSCEUqBg;z2T5JPA}&@QZ-v^D=0uRA&JwL!(!l`1$o*N~f|3R3?5rrxQp7a*1$6p#z2m0y%z<-{CdQEbk=v zHbPSYWk~J2%ZqxASm#s>8-!}9kgt>|Wg`Zi#^mutoe{4utoP?uHl#X`+Z`S-31&8z zlM1;4cz>~AgeQ!GB&^0GH(DJwPtxNJ+no`!VrqHECpP6~v^j-Jv6WjgX?-T0Tp}Kk zOL+Q>pFeIs7lwwERq8ozpASTVvL7?7&;>Jg1X zYImAlF~2*OjRno#m~|n)F`|+xf2I?rH80O(7yism&%E{t_@|Hm{Owb&0Ps~Fhe4rq zdVI?pX@UBJKrUNdo-?}a(Z9d+%x~aNU&{UIwLid*eG`7>SHJsaGMb5bd~U1WXm(27 zi)-V2^}{10^3~;8vqyU)yfkzGA6)$5x4sKM_@^I6zxeofzxKJO9{>K2zL!P zdvSG=uev0b$yaj|bGL7P`KNyUy+6PjmWj zKdKo{FKl=PlJI#c2z@WaIfl>}NT#k$J0p>JGCP&^P467cH~=JfB)oF-=CXBSaa}JG zNOVGh8AO}pY@R_baTvv6gH$fpnXF!C*lRKBRF-T|VbS~b?zyF9v9xz!uva2kZdjam z@g;JxtT#2|QfiDwhu4#v4m(C2ev?+K^6BJ3V{l|nVQyRLYCCB#bC6DRYQikxec?RfHHJkp=NDv!NwNxeR_dgqchpOu5iYa@rKU0 ztqIqd2LwXp!TIGmfuyH^GU_Fq?8?lfM5yl9O{+kz$mN)dC%xk-cWP5R6^_^VTniEH z{LH$O`wq+ys#fRb;sUm7MQ(C=4Q6-VnGfZ{UVA!Vm>iS&EfZ7Ixf!0M`wGga6|;kD z)AL?#NG^|@Ra)G>biy0(`0ajc#ANfQxbo24+^Uw(fBOo`Q1pp;lliGR|FBeWDQkAc zz0rw)-xc)Qb#}AEu2aVrrq}#zaed1blyNTv(q@ax#;Lh5Hym=iZSGiNG~x4v{P7L7 zB`_izots)sbHsg|cTh$-mCsi!E>F&7%?h(6ITKxq1_B|M*>jUkC9_Y@Os{5mq9KsI zzJfA3t7}2~+5FV>Ov-Esr&EiGa60L+>&!MwdVXqlHOUtZLr~pSlrh*?%M(aPSLP>Y z<}zWo&+YLAJVvuMJTo^lxs>;VuCGBEwM5N$&Osm9;}tN7?>D&n{6RTBO{~zdf=Z>#w`G4 z#3Np(%O5SEjL-eY=iY}hK6Zb8E@2xH7RIKQgT$8FotfWwAIiv`pC0#)@HLUeopaaU zaKnW&n^T?0t(&qmDnTwaE_?oCS^e)PXE&9D2&kYy%_jebwc1OhPPg)ZDEAENx>fZjDn|I~1 z(ECvaJ9hIqkd}>@qG_Ae7>&BEmlndwcy?y%^ywQe=p-LR8L^wsoZcO?CY+v$h|LnR zIFsIJG@M=CAD!Pjecg51_oEDv`=&Fex58$Z&22T#B;x`9Y$)uBB~z!ja#J(Ad)J+n z>fCo+MHy3Wwd(qFd#7Sn*M!5G){X_j#zO6fbv!*cGn<=U7|ZVN-LTHJnXjM>v)0C2 zzkYWo=5f3H4wKJmwzic` z#_Tirk_OMX#~+@VjAj?67FM#+#l15Z6gsQ7fHE{j(cZZ|AkdV>7cN%{DqW zF+LL+-#a*`&}sn67&Ho3&+pE=U2c2OVl%sp)+vwEG5nfm7JK!O*`jyuS<(mvqQ>}-ThM_2&w$KlS#0yrW~1_v&%x&Cr4zOgT1XtI`{y5qw$mQy$?M1 ztN(((_qS(ve*W^yzj*48FTDKPi`(8ue|0)Ex_u@uRGyJY)dzd4>vtaf@a3i0S6}|v zORxX_^|K0P?Klj3O&;8-+x4-t>b1xjkU%Mmr;$Pr6S_`>rqJqMn7<)`;O@ujc)`Rik^ePa6e-~9PYqt4jO_PGgxY_nJ<$Q_)TbA9E_ zzrX&*UtfFUZ-0H`jlcZ)@6SH?#w#!V_0yv--I|O1{)YJP{wt(g+CCo@NJ3{NyzIH{ zIYWGDdv|00;@)%)Y*ls+wx;&)`ox*h@r|j}%A_N8%WiaK`z0Z%sQnT$+qpPAzw!VKQjna!NZ5jER4#3BFCoA79YTbt+H{KH@dPhdW~btkwv0mHi^Y%IWp3F@P#=&nFhLi{tZa z(^Hx0iBvcp&x{7Vv)dbIlWfsDIO86O%U5jgt!_;jCML$mQzj+Q@Z2iMhtB4g#?s+fBDQ#HZS%|wsDOPx%-}2M4^FLaY%Nb`C&tDn zr^Z1LetLatV{P|zQYgF@X4Em+LUCkke`{^y)Tzz&wXOBljm_;-Yiry4Iol!3XnZG_ z(G8XM@kRQ~=Kjv++S;@>qd~Gbl@FQYvM_2E_@KAqGS8G*i`Tv44Vuu;jl6NwwSMw>y4l^tG#y$bJtG1%> zW6`yVnyane`KOSjAzCke=f%H(l+Qn2|MizQ_@yA-^C3@wtj$r`r(VC3$U4jffv^94 zx)D0^fo#u}?vEaUM2~@FQ6aHZX#F;*RV}1h|9)%bzanuA!romd4=rSvuK5(QQEz0A z9{J#yiXg%B@SE2Zu)h1u+u(^W5wA&K6^3&Rie3KDOy1j<;a_*Wn-4BDFM=iuHMAf4 zxeUM7cMS#5JN*6(@&})M6Mnh*YCf(o7|G>#&UH z>6L#k!*{=%@VnzfS-s|&H(~oB3&$YY|K2-z?k)J2hZ)Bs&^P}%-*`>G?|!`uPXR$5 zgQOp+`vQUgssOqK-TTqHFC@5KfB@+aAC`fAcO+N8ya_)9L}dMl!zm;>|3HMG8$OCK zuTXdkRzuKtK63w{V^He&;zu2Rf#G|g#=rbu+J7DD|2Jy@u5KLH6odiQ|QpFq6- zQ~M{N?tgsr2i}5z1l7L&(c8ZXe*voa_5Vfww?NQWKB~GEDkicJwDHmP;cXZ!YQm2^ zeqaD)py2)4kIKNC@Qu*1BIxu-9njk_zuay z`1xD1!vJm^{`gLd5B_`PgYe}Fz`3Sbe6mnMavLxl2r8^0dq-T*NeTst$JSIaNLBQD z7P+yxqoc2{mD4>SF!pn;-u@od*y!@kEf+6soWB10i#J?%X8q#Lx9)Ca9U3m%U=RpE z2|K&0kKNMRS>4)1X{`aNLl%=nK@w;s(B6^Ne@kOfXlQ6Kj4$q9cjKwOwcJA57qaR! zT64e`pIu(v*}QQ5!AeHc(y93WO@rIn*lO_P4z@0=Cml+;QVmjfZjZ<7@wh>V8)Vaz z_C)?1NIE6-eeDC)|CW!Ie#*7ta4NJj`!gCOvzhv@G^*}>6dK4!yT&)?4JuE- zENHIW?NzvnyjoS#UycbR%5^N}{sa{8(i+lZplG^4_|--a=#b5O9u@hjhsbn&dkFUq_@%ltEnM#jlvtwh~bj)w& zH&(VQeO`@eK5s%$>po~@?`lpp^El1D8dur_hTf`1p*5Ho&5j-R4CEY*Mk1%e4dBdI zGzO%f0zv}!l3|CmrLt4wcPRp^{uUIW^8FTEe|6-w%#!wrd4oP+AF8Ssg0kgIq2t2* zMI+%*C>YEK*8TZFeJ}_rwIYWU00Ut7QMatAvez6iX(kuBC&;Y#`G>2siKk)Zxv1Ld zlhsvoZIM(qn;A_d;)R}rfq>uV%X>G$|8+i}KM)8W_Ma$BGU(kYs;d^bJsR(_8HXib z>wB)uDDgPiKX29ftzC?6Qz(@w3_2b=?AQ;w><1nC0R^WM_yw;o00{Vfh3d2`Wa5WZ zQW5JQv)K?Z8m5!WemNFf>lBQNyi4}v2yCJ<2{>KW|s z?CS1gvt=hjuhubplDe)`wClP;EA;ak<%yE^{~y z>hY5CXgCB2cmM&vT_x_SuWak1kWqb|pxA{swcx*udR*A_asI$qgN?-J>G!NJ~Gh6AoWyLbUIjMq==8AGianP z2}dvRHIi#P1!iv$j07+P>>5Zclk`ig8jL=jcebO5Qu^*%aN=b9luzd~)YU43slp6{ z9CW}BCQsj8bH)5YnmHkO#%`MR);MH zMv(vx49M6M@G9D9L@b++Ad<-xBA!GfkXThUHDq*EC9b0+`yFjLk%(<+C4jm>JUIRg zqPbx1!qEiCy2PD*43XDlp8_Q?yI|qmJ>rFEV?MoigwgGYgRD$E8VdM4Zl7Pbz1^%H>f6!0%A!|KU3+^#qA*Sv2|<}K6NYtb!UxsYeSRu3N0W#m*3h!Br=&K z46(ijjYEQB$QA~D=md?9X{c+)Vam{yre+$Vf&h*>BCrG;0Z(qNu3J<=HLWyytvu)f zr&B;&7qI5+tkygAqeAFt(I%j_RTPDYDUinKs53;Py z+H9sw4RmZ1h;s9I{78{KsP}MKig4Z7Ly3-?P$XzwI}o;zlQ|V5nXk!+vpBdKqoei zufiK;)Dmbop?4`*+(0UwjD~?mxqWhQkds0p(DIeXNoW*KRh>r(k1Czz{l#sy<#-gP zrcEI&E$wTrz+;d^7LCck;*R%7+#!4Lx`Q z3WK6js~FhwIynJ@YoX!tG!mIvNh2MS1k;#ICw+s}T8AOg0&SG6!fQq8^0mf~OtqzmhQv$66!LFScJr1=c^iEl& zD40scBSApZXJ8=*d3a>~0Ot6}2oNL^&!pEA5l9RcgF+y2NKj);DJRt9p%F`2ZFzZR zi9}jn(p*2&Zy2`MN51NIS5rNW9TzDpP5Kt*dOR^io?+2W%WE~nYj z*yT#36M(A6={2{JiP(BN4p~VoM`E$SnUrIR6cmM3hQ}fZbTkT!MzR{Kw55=Yjj4pH zIV58v14Bjv?^9ikt8c?s)zwx~37i4E!tZqZg21l<3D@eamLLH-xeDm6oyb5#QJs@r zqmQPN(U9Ncbi3NIbtD`b91bsMkxn2{pm4MUfk2^g1W^B5R#lI|qL9d@fo6Nr$@Us# zX;mYJGsZkZBV(}SDn>o6r5ayVU0qA3bX4Q2K)TXX(BD+d(%9qBhrs!kRUqV*3OV8! z)@8NmYKQ&F!o-4F9Um8utLw*OusAFdH&9oGLeM|~^vQcMQ~hQ#2AKABNZVQ7G~eZgol6_(b>Y(_ux*h)E| zjOr~K4(jZ^jh0v{ekf}1Ai0%+C$RuB!IW1rE32sJGBhKJz&OTIci~_cS>vnoNfm(Ob(8PKrs~CqyAdpBrb%;`QqKgVvHv$TcMwXS6 z3igA>l5iLVsg8idVK8VMI6zNmszsw4`p|eh1(f9Cu?-zq7M)6{ws;B}9!th;Ej>29 zzZ=Q}vl=NcFFPrA8x2i^-ozCx^C}4R{_0XJ4qeve>_stJ(Z~u?ZDUpW$-3rp3=$3a z#;_19CJIBOf=R&RNGvJ|gK?7A`R`#>T+5J@Bh z{Cc(7rbU#aP^<7f3ROz88?C~6H7Ic?n6%T~h9)+55zr+l97I)Aq8K;?8chej3wSbA zc@3ciTi!T`LR3_g(W}eQz|;{HWHOk1AQdv1L;!Dlz+k|+0#;KM3r7SyM;7p-gi7O8 z)}yAzVVmAvUwlX%i!JW)=qz0w&iK_SR|4>b0NizvDo{8Y9xU>J-*P08ghirpWmFfq zq!Lb&7z_fkcz{uiK^43Y0o}+1gTMiYhXvpekEhZbt0-vjLIj|$0JYU0f-$*#a4hdnM()O#-Np!k}wn^CeI>PQAm_x5~yrG zocGX3z07RU5HZA6mVp(@-UCE}gln(-ludfJ1e729VXmtxU0fgjqq$(;XOeNeO_9 zbYd;Bf{4T5u~3@^x8G7;hOMB8d}u@kngH>I5FTH`?Lp8OB}`U_j#5`6Ks`x3;T>oN1#o=@>LwDJ>oBOAc!5OhQ0Hv*I9xfCj;sPFw{diE zvuk!2;_eWD35V z!or}7N=QJ95h!fiAfX(C%A>X5R6}_cv!YZ~edM@0Qe1&-mm-1FDQ&Om@*YRmP(X7F zuZTn?fn5ovsDUr{C`-y4s)-f&!BZa#(R)0OL%oX{8`&0vp&Ad&y`svbH}|(#V~H?0 z1p)+*rq;AEt3+%(8i@o;Ckk6pLBi4q6=)O&SYdP1iQ_%i6UCTr3RqYv6|4aS1_^OG zQMf$54M(GwH&znCafk92hkvN90zy_cA%K6Evx}gLCfgO!$DN&>;2j99z`xHUyX`td zTdzAF4*{&=v^8J}v^FM{t!W`(F_;P@K)FZ^uBQ6r34pLGP{-Tq%ZqENh_Yh{45qvo zL12}VkQGJf8WeClcpQ@1M#X~FpD9zIp<)cCrI|u0$6Vm7+-{$B4*0bhH$M&LdCYKuETffLei0oT#E#V9Jmy z&=C}B2kI=w5OIJkz&4fOB_fz3$f`OtWuS#fA8f8T4iy{HJdUd%?r0(?YnB--Lfk6M z!HF#fNs~NysO5H#kU#=@i9w;zC!xhlH_erTrK#d1?uP5`8$B_2{rOv3p$ZJT49Z-8 z{p4{dddteifeW{N;-(uf_)05Lgc>pqyeEfI-Z%`7Z`C&dpG06Z3JK^z|K4r!h7RyL zoPwfHX zt!@3Fey|qMtkdg^eeKq049u^?ZWIWcOOBNwF~FJ6MHNAsXC(FS`hp7WI2j(^A?Ck=y zT2|qvW`j=O)$5GK3ahq5+ak-ldF@mb5)J(a3_k@OMIaFn1YV|c01bgLh>n%xnuySy zF#Ie8U4Y@|Z8pEnZTmzX2D?52F;8kD0$wTL5E~wgAywh8?@SvA$Kea{FvRPB_SJzI71CsBt!<;dFL7g_2uE?d}tMhpUy)S zpeg|RQ-N{lB^VxCgL=I%{6Cmu1c3F4BoMm*>nVX$iemLu;ehx_*a~o(te)RT9y+8O ziTn7iDy?Z?6-M=#wCZ-QHx>bAZ1>2J$5)`DG7K7u10FxVd-m*^Gdn+k;op~){Q`!+ zTT#qlmKIL}IS)bod6@mV{qtvUJa@wzFnk|`B{CTpaDEV9%fbK*QP)aBAxZcGVkhBC zkJspXa6NAOp>72vO){N%coilO8nyCfkv~?@ESp^b~zj_ zI}O5CS5c};D%uOEqyh=hSw#htjKYxVbo_}tgegO@hz-`O)U_=3&Wp>pzjs_F2O)7M;L^GkB5A95O+H7I|>4~tAR@Y82dQD zTHUoR(Nh!p850YGss}~ffOIsZZ)NK=fHbi{xTAD$^_5pw;G-D`3+~SYv{Qff{*SNR*>(4)ZmO%e{r)@ex@GT% zyYIU5uDdRM+zg>G7^rCSp>6ch{wgW~Q){+gLtDHGHwX)CD-UVgZ3dxZ`QY?o$k=>4 zNRw3@sZB_VpeJGYQL1PJs1l~&pSUcjqIB_N&hEZ}f&NbI&1Xxf{Jsw3#YAUMUss3k z4kd)aLM2n5TEjsM3P5-5J%$3!z#+d{4WQY|(`tmxia>#1yUom2P48Z~bn}Mg$=7~= zJvf3CJ60z}+RX|qP!q#d;t1xazuMstm_z%fior8?JN(#2* zZs<4xs=Ba_Scf_ol>p3Qj_^M2DnvStC?DiQP{qOni{%iOUIWgC5>O4cEAk6!TDV%Z zu;5{gYH72?ccoL$Kp7%mUR-gaNyHb7Xf%0kg-#9L*Q2xPl^nK2$X??@(!5S6;&Np; zsN(q8J>v?cN)3*#RYNC0I1Cy9q|vwvNOfyWuAaU%Qw*UI_|9GsPD8iYZHH4AP&M;4 zDnOdhqgTmVgx+Wf03@r2gC-KNV3Ga)9WeLFqT|OX3->&5-+iCF=fQjD86{LK4jKY| zV~ORE`t*ed?!R%H1cCE^Xl(hBVl<)y_@{zO`hmYvYk}{=cWIT1c8(`fSfQ*g3Gj5p z>f*+`V9vKo!3!k>8YOsLo+NbFEEPa|(6bY&p!J>@`B+RMnY?+dwgQDhAR1*uO~f9T zwa|0KCvFCZh5AKQ)JdFeDU{C*rj5oK|4m zp@@gqCRb{^0FQ+V({w|pN+hPd0{&8n>Yez?Wqw&%i1XM*o z?70FhIWd(++TNPReL}y>?k~?pTu!$)5`xra2V(WR zAg1PV&$za^-6a>r?aQ|9BOFy*Al{-k8O{oX|T_;G0!cauaS23+}@8U`hN?s>8SLZW(&QY*wS7i9?jFA=u2?cE^kfUD)U z8NwjEeH(VvfsJLvEgc6AjGTq{J3+Q!>e$y%4^Ft!egd4iaGO5W zUkxr2Je&c(szx~NvF6^E#@e$`O`xHvuDx;B{`#6K*mwsH9z1g9)C6^~tCO!);w#>v zpX%lDB>nX>xB3oq`Qou2g$-YQYScJd+lt>X_cy{f@Ch>YSk=ycY=KCqYTCc2`2gHJ zYs*c;%?-!T)q`WC1zai}N5RX`JAymO8e5JwHXUhbC!b|Mo9evgN4>UD` zyRdP1h(PE#LNuV2g=Cd>O^F1ow%J?Fdj}+3UJnVMPMt=nQk{V3Z^9benmSvmYoI7W z*DgX6b^qQryzA?QO7D4m9u9PVQ|#SXa~9+>X~)XgShBXdSK{ z;2dc?a+X|cj%c`FZNn#9r7(>Go(*b) zGpeqkrM&~bSZj`-;7OIT&avu-mX;b&n$g_S2+@d+rs^?AW80ny<*t_6kvs>vTk2{Loq^-N$&u_FW{iqVlq_BHa@ruAl>CcU4!7 zi8$OIvcZnuc9jZaUv(=Kn>c#-NP9DU5jX57oPK6zC!q??F|3h)pt%K>Aznx0NKLVSE1ciF%u^OHW4#E0Et*vm=ZJq2QG}Kl#H&yREPd+bEqqxQGCRP`d zD z)DCaAR&cctoL&OfG}J8YY^>@#bgE(BCI%l~)n^VIY}>c%lv4qpQSc&c-dDpgA{CR{ zw8Q;Ewzzj+BiMZ3uKg??AC|dk%jgQj+3MD&rb7^h0zW`&gZ2I%0v=a5&;UEAb>uL3 z`CGv|1>cFSu*3EYF{?Tbwh?sThTa9VeP_)L&kjKP57c#>I!f4YO^p(Ewl=ryZpX|}vI`3euY=TgG!rot9MIff*XSTH* z*f(lHDvR8vCv|h#LgL=tRk+^!b{+xDcIvFyjDOUrpq60IK6tIcOgGjwj!sn9H`VOw zguoE^sG3_~=`|ehXajff!Nx9P@93xV#irAQ#gK3W~nSTRBjoo zf|pCfLHHB~msB+&Yb6Yx+S7XmKJ}X0>$=Z2wr=N%wzu{5H$VZIod~xMs!#0Holq?h zn)g>FjD)tjx`W1vIzn?BF*ilnQ{ULBM-`QYWF)Ni|`G$i*RY0&`?*k|3rIj^ZvHhruwEMZG@m~XGeR>K?vjSW~=L4 zj-9A)JGcERX?yeDBO8-7H1J7xj!EjP8aOwUd-m>^7~WC(EStmSHf_iDg5=%NT?8PP z1e0eakf?#rw#*=DfE5iMNZ3$>l~n?)@Yc5ddk;ZSrLnoO?O=10udn4G+^G(?cN{#` z*V1zI*unZk1lI$EhNj)ea_#I`OG9-N$KOiWt^S;D->6lF;yPO`3Yckz2(sNVc&%Vn zk$u}iX(qpWOp7ZGZx)$tYA^2PX=rV)Sy?CStJ#12=pn-J(4KaP$$>w%YCHz<{=?v( zg^Yui7KnPa9EK>&!9dUc#^!D3IoqcdgyuQ|vwVoq;46_8ipuh~SoM^%92SS$NGQSH zD(wvKAasfueDZ055myi+c&% zN;_t6m3M`_w4m+!1FXG(`b1LaOP;(aR-;T#mU>7%6iK*2G znmXDK96Z!Rd>;I;gp=&XU1TF}X1M!U)Fa&j z2A5S!*j0ipRo)rgK{zC2ayX~RI>^F+#f3_Y%BGr@+OyQ!)&o`N&+Q@%ehwwHx9x{} zKu2q9!|>78!6T3g0b*NWbG5@89elb?2XT-3{$1^7I(Bx=9^2L2y05O0W|JylFF_>B z!0M#&7~<1}?PXAQX1kxTZB$4VO`a0nHnKuuk=9jroUE>E0@rE%uIkTxtZGktGrTkp zA8l@FJKa_-IuF+^JYWF_W*Zz#@I+0AjvqPRRuA>7kDc7nqlAUoxO2iO2kaMa;ue$q z+>nUIC+{ZAY@fX~yYnESp3S9+`p%SuTEX+2&)>IRAUZPRSgQ9E&^x}l)k z3|Mw<$LVd`#spM8{Uk$YhVU?;+`PB#G1lJN5g91mj-4R4HJ>=q0Q;r$ z7`XKgAAq!$Bd1S*QR^Tw3}Mpdsbe)D99&I}0-HjLR%Q~C);fto3ZJ}(FbDGHcen^O zOfE$i|yJ2yW!PHNLvXV9o=VOLL1r-H=OT2Fy38vviE4`5y+NlYi>Vz zxaSlENZ3`?_$9M`SW?pnSD)${rUSvHLD5i)QF?YrOl5PSuHqb+bZ(m)+;oQkhL#MR zkr*M(2==D}5t*%LcI>b2RqSdwbfV)>`~LP$crPA1+;aMK!>NH|ogFQ$C)!|(9zJof zqifsa>#&<3Nn*#)`MUPzU9G4~DuZQ;FBv0pzFW*-2v0$l^4zxBTMOIarg~0DXGqR> z%Z=uWI1~}-yyU9gePEa7_QM^`jUA`=9TeEl_9*mevtMg0O8sNM%X7dgX@OvJ@i3r#`u( z7J`TH#Bg`oNmlPUeDYWq>%gJIE#QuAIeZBI4_yAI_8&a(h@lQ{EO;^X-3?s7PKe-E z)SJvkVT)7o^bW8b!;(x6EoQ=lq*O@Q5oPV)F9E(^ZBa52lcn0hLY#Fq4QOQ6u50mLX3 z3W>lLKznxWh5}Is54S>A)A9DAQ7mw+;VKsWdFYEZHI(@uSA3> z;Bu`qzz|6P86l6vVYT9UTeFZJ29-mbK?V!yJI&XcAio7x9_S(zy26H$ecPePdTU!d ziujyp zz~KQ>WCD)Nl7{j;KDSaX67o4*C{-Z02D}NVv8#e&A&_kSwgi)2N$ng~h$d;gk=h-* zYu+Pc-}b#{+3ZQ0ir00H2lZp_kb=l19F|Ds%Vjdtm#$pexH6m0WTOTthb_VjLW2M` z=zv>EBRYSEsb)^FxV=?7s`pgCBcmHkRl8?jRrT%;3Xd`&R#8q5h%^-`U@%oh83d8b zg=`L+U1pWoXL!JARtA4}bSSgMVR*extJP?h)n{N(7!`kB*e)oq z|J10|EE}I>aYov9?5nG){nL@py*qMMZPni0hsN0KiE)`($?oqQ6`-*9@qr+;pw}PHYip`t^yMENNC)# zueR!5GW742QCGLGs`dmt7HxD0GOZ1IlsDOPuB&HoY>LWYvY^-&aeVN6*SYR7E~3}F zZQPMz3Y$4`x?%6WYPcHxMKWsP>uLA)+C#lWCW|&QNK)CYcCSf~^7%aKBy^FOpm6zo zL}&0iEp{DkaEQWUlKT%g?A=*cUtRwf>VeCssjA*n)qEU!8nKv@gV3%6)mzQsR2Y(Q zA!$DyvsevE2?@$gGgu7LVCR9F?KSoLAYAlkWc0k(R=AAneRZ{UkZRU+2rO3{n$WH ze_vnMnUjaxz`amY2R@bt_$+!K88|tHgJJ(C!B2MqH@6|Kd%{m;WA}d-`ee|cG9grQ zgOx>R@`O-xN)PCh_%B4C?txeRDf(nmide+q{=VMxy?uR^na6+CKQze{qQ<`rf4WP? zo%oYQC!&s?2cC+=7Ng)lc4F=xNF9YO$RPu9b$*yE&{+O|;ZJ%Isqb9RI9FwZ3JAIB zQW>f*bkEL|rt|4|(4i4bos$vwgX0m z>i4B3Y&yA0~ zurLqRBWKGqSh+lNW_A|pTFfsjf&?(rY%Zu8Kiv<9eCYR2Lc48A;HjHpLChmpSofzq3xsF~Pbm|uQp*m9|aVbGYV zI5&+IvFVc-j6VZUUwQPEh3T-O{}fsOpA%4Mei`aWV28% zvseHT7*;$Ee}YSyo5xjHo-g>gryJ)5ldteEkepp2&r88crNF-egSNgxpN9GE{9UR85tT4$nAf+qoGKnkp=<=K?F z`>gEG0Z`J@{l+X5JcVkeGv$heQX!@n@t~IxF`Q#?eNx6)I6A>&B7C32b!lyb3yqA- zYOODW>x=6Gg&IJhw}vQX&G2KM9Ks=5A(g zVF{WhhFQm{e*!?A+5({1$LXOm{Dt{hP@|Bao{lP6P-2qBO!+_vhmJ8u$wIA6VGvEo z6kK87M}Lx)s!$F7VXINNGeVU!GYwT>u`)g{%QG?l39|7X02GiBVGy%85A#vX7fM+( zm(SpE*t`kSidQUx`pOJCg{6|~WptjLPA4*Nt|CgM+sctCLC#EEtju_W)5Uy6ArLeh z7oMP+?f{^yTL6^sB&{L`OospM>9CwZazw^yEV@nXj!A_o9+^Ucy8HqoohgzGB3fPu zmC55a2BMHDRpziled9?)=FCm!3)2|AIw!Kvtz!}608JR&4oOc(r_7KIfKYGYe`fRlgD$Q0^g`a%7D%?Ecz4+bp~WK zmPjO%u%Vuy0@264;ZH7cJt4hT;e`Q;FkK*RCQRv+=-|xFiy7PD3J-1`Bf(|G39M6Ow60&rFd>bbDERE)y|p%@!HTi!L~j z+=kxih^0(Mxh4O$jthD9Y3iK-l(zyvA!jMk+1mnh(_sdc%cYT7YAIjIAyK9jCNYyZ zCAlnDo(~keNOV4ba0#0r+k8ARgrqbYuSG8QEF0CjghOwG>;k7vE3p(R(>S-dG@s<2 z65S0z>4tipB{(PW8&GcAk6NK%yPi2IUi7ia6rxZn&^f36}}|ePVo~ zJI5Q!8%>;|D6szmY!<0U>6hBfiCMG4RE6=^JZc81wz zce$-#T+{=TR4mQRFD@1g=ScSepcGwHuzbOxAQ&*k;*9EDFx@1Y z!KYmspKxe76umj(kT>1uQOnec#S^4&u=kCj6!L=2y*caTJ{YOY3=}^q7?v2 zB|a-m&%?yR;>}Il=oEE`MS=qIBwkuKMjlrxq@n?neSDZqh0dFH5razQLOZ>+F{)H7 zpgU#k=!`|DQ-UMN=J94tDy=K*vD*#cUy`abU_X3%7xL&?&fNr*W^~X~Uc~L3&rSzv z6b>0t@)^)xQf>DM$Ru`JGBB=kQiaSZHc^-{QJG9OYs6EapnMt1r3(xuZYT+UT`1bF z3q&$|cMwp~3IQcNC(SN^sbPZiNwZqYq_GgSghK6i zX88*Gux{ffbfcT%su@!(fn1DmDO3t&N~~kaC!yJi7)5yehzZ`gN=OrdsAe##L5uTR za3$&OYDo|`cWD+@m!^w#2LTns2`KgOuy5wJt&1j(SgPYI5avUp$kk-QmgH2gRt(T(0c3;%{W`5HPO8E|BTWb_7R|(f-Z>7X)44Pv#bT*UYtuuKXiLNk%gyO@J9UWD;E#d7m}eD6k?T8%sAb*eQ1Z@{8O6(UItbe{&@OP-+#)q5BybdVI8-BP^}#Upi=2=K+K!8 z(6KM*wk`4nVZbx%Fizp^u5q1V~c^xZZS}#0cUAp4xjZxn4`8Ry>UrT4_zTg zcvEEZ6hp)jDqU0-dy2?njy$e*=DO`15}7PZdG%(B#G`?v0-4YlK(vljWPSlr+ar2; zBBPc&98xHTX_j;N!I(3H&;0DdOki|Od7FXCRv0K`h!UFv)r+}o(L_Q5W=V22AsQ3Q zbiwjz98a5LK{a{nvKFMtcDqCTo_~&KWg?V_rWpineH!fB1^v)Q{ zh17U1*P)&wky+$X5{<;;jZM;M;okCsLp)AV-nYzT@uf`V!-&%;cltEYyYZ4!Fuxkn z>!C%fP#=BhJ_ipj&?aT_zK_nhv)MeXyM==GJo7dKmBkq-1+~vS4Tdj*;r$R^9u+Cr zoWT(hco!#099L2}LLq^nNmS;fN=hZCkTFK~K{#=IGc*=oL=C#US9uDz2?E9&S)R#h zhjQF%iKo22i3!ARhf<8DpZV;fSdXteY<8jK9-2h&V4xIZ$a)2I#V!}islNlEAUn5u^DtK1doeYoJzS>&6C?a z3S%~?)(2f&QZF^P8L`8}-e>HYkVOFtd|!7qRJ^Pm3k1!xzk_82vI zX%dMitC1^xKCK2-THFa4H?aEb7ay=`Gug_b#~i~XphtH36GFQwK6EJlM>50&B_P!>uh zQ^#;fJuU6W}JtTj}im$d+>hA#C#DWV`OBCOcaM+ z15W1#LKzt~=YDbP);~Y?;XmBE^=-3w1VURcfXt^-e+4rCDPYxtmJrL)7?h~Z0jIS> zAkP+kZhzd$XEAszVFX^9(2{93${d1I|27XL8D>Ohp~Z7Pn+QwhIiD&*AsQQy{|M*8g_{n#F3q@Ez`H6o8IO>rbAAao0{oe+2e`*Py ziTKOce(?RD{qP4+jqi=ckQo>=hSq;FGE^g%-&#)nl~FpQ5(N+jTtw|)`k@U<_!^x~IZ z{_IcTmk(OqU;h0cfB$>z58M9d@3C9^zMTCC%;ZmAeEBP{V1GUG)vtYYIvNXya(4H8 z&gOR6fKf0TP@5WBM?<2Lh%_(^v3s5z3J2$l<@ss*$QG~ELzPNsL#6`UyFq$R2Qff3 zl&Dtte+HJj6117^nH6A{ew8-rLf0NGKeA`_+qZ80ug9@hv0J1kld=55=8Xq#Jb2^& z*$bD7v&#=X33c|Nq(A&S6EmPHrNx&h!*@>9YcMF43H)R(&tc9{Vuh7D0l*S<7@De- zVeh01%DA)bICSq0kb$06>(q`>?^SiD~`tHK)(KK#T-9=UnrS)k}%zj*a`u!+|^ z{^C>L_!jo+(6?Uu)-!9LgBB*x!{oK^K=YIDe&@#@bD<)2{_-ck_r~|1{OF32PlJ0x zW%ppNu_?*hxD;jBa$9=R=EI<848jyW1GfG+qSeu8X4o0kPo@&z{Et8W;SYcO!|(qM zaH&@_Pr{#nFXsw=^jB}ZUi$Um>u7X~~i@NSIXVJF>??HlRxf=wdNw4puMbGwG;j@gtxA{Kp=+a`k7}t=dhM?Rr+2 z21Wn*@yBq)?|J~9qwS_Eu>R9ue*N>$f9`Y7fBtK~`1v!>JpYByz4G&KJ^ups+2h~% z^|X{^pw>Plhx1ef9Nk+*b@OZ@%=KuP#LskNotlpFBHf)wz{aHXBK9NuPF(O^I=8 z>O4?WG+5rjoERTxsIGqQg)jUSG|X#w{)NAK{FTVICu+NLv+~L*lzwz2vUU~WDS6=?=3oCBDLZABl zTi={B3S`;8e*M+2ee(yu{O&_ugeDBf#55Ka&7>=qFIa{t?+{k30W^b4hjnhFFd5_t zrsXXltp0U2kbLyVZ~W#rzx~bYzj^)pAH+OzL*|9wesjTwC<Bi7eD~83?O45~18f@OJp}E3du$>gzvz zJfVP*-+FaUuPiRU^s8^a^vVx@@%LX|LFp8>CGFF&bucpQ&e^PbfLS4|27s{Q5AowO z_3b`st^hdhWT8KK0>eKmMW5eDcE|dG5KVKKj&C*wfpd zc?SC!_1RB+>eI8+4?c2beR*+t^X3P?^}A05P-XfHZ@oH`G`MEJ{MMH?Ew8B=(%S^WXf3-~PixJ`0yLJVxjHa%p%c&&%ISj|ZZQ@EaIqEFp#}o?x`^&7u_^XK1w zDZ^BTUbyw0tXgc&eCyUrHYI|1Z~XL+Z(b78m@JAYnNH)!6y}>6gDRXrTn*sF6?I6T zn=Qdt9SfO+v6j1bHK1RUfiiAA|hus@3U%Y(f^5u-hFU7$3R)eOnC=%wVuM0s&=00<{=I zP9|@3u>7e_1s$#w5|LOcg^W!Vszw4C$TG7S%uq7}8u$316ru@0A7Q|O*wrYw&AA#4 z!sW}vGP%l=il!3ql?&ZiV0V{i5~4u}k-g1j3CAXU)0L%~EEtFk8r~6@&XFOyXiz%P zZFus-j-D|(bwVV8Ocfd?fa?4*vB@n$RXV802e*2iUK35BY7{^KqgbjFXtRzy#wH24 z9Ia%0N@=HaT&r^k51(~dsHG5PNLV4W(m-bM$pfZ5e9&jp$-I|Jr&Guzks}v1BHaFd zPV&L{xnlzGCd5K0pCvGg1Y(I)hRUQGr3H#k>GW1l#9;LJRnY$iRq{nLE=Lq7XV$KH z7(A&!?}u1xfT0#HgK+hNR9} zyF#Or!fjt0x*jK!8G&4KYsS_6^er|k4Qv({K3c;V+*>l~M8QCl2pHfvnj*sYEUKan zk;qz2V&iJT;v;iJP+1SWMF2!V8oAc0MYE5X%+kyyfmV@m2y}8F5yap@lCvpVHc@F- z>*W$9)td?FC?p9ehR=5?&Kcz00cY`v!}fd`gEwO`8-_;oR0>rjW735Z_9S?S&yU@F zE}$XO!I1-OAiyQ&kRk3xJt6<*2Z>`7 zJRyqS|(Spd8&+Uf=wZE zSd$~RuqK>N;#<6&(GJjW!&&DmaF$@06r9G54h=g36dIk(QAp%MDxJa=bj5#)ot&aG z#4@2oD8ob?g&I;sA*KP2QN5A%;KLk9epN5KRs4j>A?3dKaiU1fcFSZ4Z9;c#W^9NB z`DctVlD7aIzrf^Jlr;$Ey93VRkq1p#@Y;dV6M6Y0xV@xbE0V$zvN<5G0p;lQ;>@xP>K$?~uFFuiQKfeZU%5#$Y7{b-&Y>J+t=$ZCk8oh^ zGQyQrK3&c`N1*KfD3I141l_=}}V&5h=7bh2)78f7Lt6Gd>Vt5_B>qg6}^z#_+B`R z-7899mDLu{MJNPDGt`@sWN&{*Q>XF%pq&BeoMo4Wo z3esOdU+{1cadwp~R?{sn&(r(WR$oa)?GY4JW9I2t3XU?Ylvei9-wS66#z)I|)X>=-IE2mAsIv;*wv)8X7`yEV)Sf&+){3@MjVOe5Jr!_98S+=?a9e|C3>;9!@ zh^SQb!3!k4P^7*-EgBOVS3c%FH$vng*<=F0b(D$$;*j7jIE&LKPGI<#Z7QD13nu9d z_#7lcQ<|aS&pz41C$bHA9PBV6lW zh2$j-B6k%RSS0l7*Ym@pq;O$NX$+KR+y!UxCx)H5+gj(tWGah8C(@~0cJEWqb_rx+ zDZ-_jC5TQ2l%PSadpKdTxZG}!(`gOo40k>ES7|O-gK$pn;a3`4QFxt_%TTK0HqVrk_B>I;Wz=G^K;L2k!S*=9vzKD7+OeR zSDLlbKSzx)1WZCM6sM}WL$6;oFy2f1Rz}p z^i4)HInE@W$9d^7mVnNlaU;U$b2f?|kt>yu?=4@Qf&Q+5rQ-D_w4t;PT;JiSLM?TB z)e;$0Z6?c}w~Pw71IlU6khKs?;_omFf;y1Ueixj@W}cTPrYnmp5h)~TM8<@-#1ILm zJXYdF@Mp7w8m$aLG*H0~Ex2?!7re!+POILiu|u?7Z_?~OnNz#*|s>fLbU+`w=~-Zi^^dP8)swj+XnWG4GZpov&JiM z7Jq;o$U_t}18=TK$xj#4s4Nzn&0wGZ$gP=vtzL-eVd?6%rl`gGfX!xxs?jz~*K4wA zA-mkFlWG79h5ZYi+l=N(V;DlL#+k%z;}#<9UfvyWmj5=K#W^pG6{ahb3NoWpaHc`7 z0lzE%o9jGk*~e8lTz0ofZFC#LYtUcU46ZL7^a1laAbe)h$q}Urkt+m3n_1y7K_)rf zIG2dx(+OiH6g>>iop6@B0%!54=hcZKL@r?+#iOM-eTvQD@QH%2Ey;w5RiPX;c|2Z= z&g<7e@w=eUYBW2IYO~)NbR(!u1MVRiB2g4{T(yudO^QbZf zM5y(;Co*b(+;#1K)DwV`3f4r}>2q13en$lxi76x|1!F=ST`B~j`|NEo0X8n?4m!(t zo6ZvUPdQVNf|i5bok&E2rNyL{!cyq;a0(f0_Mp3z^u?j+oy82DWSs`BP7A(e6lGEMVZk%#`Pu=qfoP;h3sU|}*4tC0WInHfGV29mqA6B zcpx;tHXV=)Bnqg(;lPhqyUXKrVR=m?fWWmDAVm?K$jj%KRuldhXpzF5o5g(GI5H$* z{TV<@O6%nZ(zwAYswCn8e`$4TCZdyYMbN<-%IMo2Hdo9DCGt_VT*M|bq_)h$;$p;C zk+7viCM@kE%H9KL9RzgYHlQUD4oq3&xGFF$sU()D3qdox3m0c{5j(_u`23RSJfBOK z@kK(O&YdW(U0TZf!AKP=Rdh(YXnkDSdjYM!3LQ}av?jR-sZSC}RVD=&0<#|rdZWel z&2>m-gts7c;EiF4>h#RY!i6gvGbz76iY40ddB{Q!-9kEq4votM?+a*6Q5C$QDRZ>a zdKYFT1(TnM$G{gDO3q)tcyaU5CmwtJiTf{Jy1bH)dcC0-u0lluET>{NZl?~g(0c${ z$0~Zf189j9^g)&*o`t8v4TdX&C3eN*ppSRPv(4?nygLHXICN4zhL66bKrxr_2nNY= z*}Vv@6K`WATZGmG6_t^PxUM)Tg3mlIBZVc)iMe1X^r52N=R40sy4+8MLIM3krne}>IE{Py$S z!Db1K2z8ih2*xvTc<;o=hSti9X)Lodi;oIP$MCQrGjo^(1?m4Rn|1u%k?&x$BnDJ4 zH6pMEn_yjPArRQa6(sHDRXjyNM(!UDlMk((Lz@o4vjcD z0a{(x5TUnYf7m@*sj55&OJIROdx&JDdMege!;uwNC=(Bt2%GGPv7w{aX<;d=SLvu`z!c+cUUdov# zPY=oOjbn9gjeNT!mEOcS(~l+=E?ouVZeD>Wy|})9VQuZ=YUkS8g$s}@aOv{KCjN)e z%UeHknsiSNtFJQVRwpW%MbUSf6P{a#AG%t3PJBFo$X3@btgXT?7Z+ESv6XFWfZBD! z?*jgYi`jbktCtqy;&WY+dw^J#y?PtOGP6$)7z?Xcu3ZBO@WdBjWPJP!D~q#*Ofuq+ zgrNUdFct+5;>_I2dgV{I#DIyeZC=0}6P?ue1+jGFo$Sc`<#!~&5U_XF7J!tp8vIF} zMjiTSN{%<_db{7FCx%*(aSbXwvi z*DlZdi6^;#3S#MRgII!-#L&XVwX2{6NLXE7xv*UDnxa~@UJn&VlP)|usLiD$TIi6s z8Z17#F^!m=rA25%=1rBLr8cfh#b8&K63i1!v*Nv-sN^QjNk(G%%9aup2`hQGPA!{W z018)&mtursbxvkgvlG>^ zEf9-!f}4iPsHg#GBD4Z`YrvnUR?lTI%{HA9Q;i~~fWsNKh-^-snfdgO7VU0_$L@hf zZJyMu*_&M0G8sNES1%M~ouqq#SnL!0%-SZr9WTPFTwcDg7=dJA`1sa~kn1^{S%b$u z5w+JDawrWBrAnrJ;;P%@Nk{Z9uQ%XXE8E@WbOD&l)wOkq$zHv>UO+l2_W-d3o!rdo zCO+@@w6Cm9LuO^FEJQWRm@QqhLsU}^!6%u_6h&1QE63*5<-tom7ek#MXv+~Pdi*y( z(d~p z6tyiD5xvHx3fpyQpTq0H7Q!2!FS)$V;LO@GEYNj0L^jt8!jqhPfLMyN#5k@NthLqU zrL{S)PHA2JQ&fSQms2(uq#yHM6{@(Mz_Zuo-dZ3yKKsp zLIGE{vK=bYE@W7z#P-`1+L~`C4%<^s=9l1av6Hr5579?%4J1H znhl{)vM!XpxFVOPQYw>9ZI6ZH38&XozLfN>-VA5bGYheZGrF__R}5Uojd}A~%H1HA z{2VKPaT8X5W%{Po3Y`v?yWei~>ST!29kr@u68l3ACnLW?m!U=@_sXgmi6-?HDD4sm zn@Q=2CY%ROhF{9eRMAR~=+U-ahr7{FQ?_>(2 z+^8};6qba6GreetD3oFA+>*mo$iYW=G8ziRlklmWh(sK&%$C%R%`1zJ9^ySfETo$a z)`iUhx4V^DzX9Uf4u#ll;7MVdAPOl&CQyqP;$jk$6G9jO@rBK63U)bb@e2Hl&K0n4 z)Zq$brwhUCTx`0GWuk#4OrKi?-u?o-*Dhhwv!XjetV$;;?ZiM}`O4;HTeC~Egme0duqGCEyCa2cFw7&=s%IFXcy zCx=R<{+LybDD*Z>Zc_p|mj*OxHx$=m;jq`|^``QL<)}Z9Ef>-$_zl0!v#_(xR4VWv1CMcyKiu zL3#o87;R2HY6^$+)AP_2)9s6die-N^lZ=&b6n(*9z-di^4Pj+%Y_4a>e*$8uDoj0IYQp`_PZ0CTUx-o3JD>0#ahVhOfDtck=0+}6OpuY|Qh zk6P=7uooisL2pl+LLhTK^#EHY29`_%>*MGf=){id@w6b9%uv^bvr#iEL;^0 z`s1lUI2v|i!2_;**=2IiFT+fO(id~IKJ*R{Yor2V@w-6jEo-k}I;l0U(}p8P10n*x zRc}z6QIg_Hm?bqhz*~aI5w#UlkX?F(L8n%G%&5&~azU)!=?+fM_~X7vE)WPu0?_%= zos2uYZc}1q5ntV)wz-FSCx}()MWr4e4X=UTu(p?$eUJ!~w#bZ`bvtAbOT{v&!CBBT z#nUFxS_4(6Yc&FN6RU*GtZqP$!VnP%%&fyC$8yK-gf%d&veS2edks&WxggAXKD= z@H4c?4F)pBPynVqHcQRqd+YbGsXGV%;Ar(TInyJR|8nOf*HlZ#qH5uZ1hj3r~y zKroRk=cDdmFb*dNGy*k5Apa4c_e+?t@4X-vzfU{2QJM6`WxrJ8)^LQXOhjq3TOoR- zau_5MnZ%@#D2;OJjYp_vzEo@Tcnm82TEwA2^FD3C<0*NaF(1I!k;}PIAec_t9br!- z=z&u!<#)N1`q|3FZ(Lcl_cPxEVi89|t8fW`m&@|B))RH5F$k%k(B0T5l_L@rWUsiB z3TW^mRjWlGa;27NaV;!-3zqhU5Np;ONF*HANYNdLuPtA?=7Dd9uybzF>&#}H(R4cQ zHkk@oa&b%f3(2XwKrB|_(iMEYFRp}Sj(pTozEU!YZ4RdcYB36BQmxD2HAvvjty3|B zYlbfcbrQAAv9JPkq1Gm!o>zjib!E;SPui0C*&Bs?+MQg-G9C-I2+PpvPF`QPdjWoj z{eI55unyXQGp=5E)b~m zRs_|!)y`?1S+86yfD1PO(VT>LIu{K@qOS5oH|Ej~jXRyU_@e2R93oOX=eJCMDbE_Z z4PuSs&8Q@Ug6T^Y!!OR;;k1r<9Oc!N2hIu|s*p>hN(+W*5iN8Aw#f5AiOBENTeX;( zY_bIt)4_Z^9?C9+gMN_j$;`$AUSBA?zT(zdJ+A3eEC{8g!9-HN7Q;8)`o_i#I>5gJ z#NrNWXE!Q_UoHY7j0og<5yu?NUwU}eqk?c8Nyo%`DF)!qNQt z{r5u>`Uju>z#|VY1M=-m&;kZbY&$tPP~)Enh38}rhQ>K1o?I-Twr9X7@$vke&kmp{$(8J*#4cz z{uxNDC&Ef08hsl6`>@~&7*%0GJm%Y0mFDA9EtkFK5r`Hb;aCP*Wz+EnJULkdX-*n#6TuY^2I!V zc#Fj9gw9lwVSfH%MdsqPr~JqR(?OG568#9kUjOg2DU<&HYwtRvqqwp(wrAFp&e=J$ zvokw0>piw-C+zHu4HhCA5CTakORbh#>YS@OR#)dJRdr5kWpa+j zk--Fm!C=4!8wBpX)h!7LNhl)y*r{`LT3uc5e(%2bs_LchyL`)Alv^8)LLQE~i;8sm zx^IBxvUTm%X!QQ6a~DpZKXrqM{_I?hQ3dO*TD8HX*AR-APz1IaAf7Uik+E82sxomF z!xr>Wm0V5IMrO4#v9dZ$YNJ@6+BXXK`SihBqdGF%;&m*Q1a`mmu_6YcH`Sc!1i zLQp1VjaQH`wUvmKn!xqM!F^^+kko2)V!C+dw?JOGw)O}aedhaz?&xz5 zwyn7iB&>7O38O*f4q|e-%^*cY<_aBGfI^6Rc(^NV8o~?j0C@m}nV?Dek;KW5NLV9< zzUoSNZ2JPZ#O$q|?lB{pEkMF*tXvNytS?t@dk7?~hns^Y++?&`46ss+APR+A!V?*d z0)bE_WtM1QzXQk%qp+wR3|H0!6=PaSShZJ|ylx*VJ_HK9I0ZEdK~dSU1j`K6REjm-yL*eG7tKx4Y6_HlxB? zR%*4|;bo{atN3EM#-I}wrDql8iP&P0xu6z>lZQs3i-G+_p*TdhE3Zp_H(>coL&zV(6npGHzfEoZ`SBEs?$LCT3tEi|^lSaz} zvA%#WB%78xHIvUTmahTFZ`ARpo>0-+HmaauWsJFb@L{9`{l21e|Ny8;3MHT4&IL5{KwzxRIEa=+Xwee zMRgblDU?x6Tp_yLCbawhzD$7?kpYV&@s)V7*^kdp7#8sp&z}{rkYdI=_^< zsjkc`4MNbY@7>X7P9KA_558-1Mqg@*Ua3%URe>G%qS2MM5H4WQMHFf%0;m%nv9BhL zk;Ps1I!&QBwrp8Fcka6Da6fLw@I_wUbYMr`dw26bXuxmRo`hgkJ3XGY_rJe#`sDHB zC(nG*^x*KJ{^iW;-%)#BJ7F+p>-S5A@d1meE`ue@^?;`5c zckh1h-Ieo~ZvSZi)+*Bde)LY`yX$~&v#$R5yYn2FdC|r1zglCHT9;pmezs%t2lt}i z?Q|;?INV#s1!8a9^`Ls(>#gLgDTzXFRm}AemXnv0oz2p3IC|pviKE2fpC4&F-Uy7n zv!_lTJ$(Aa;iE^%PsbcPapL6hV<%2+@%dMM6TNZq^NSZRUAlZ`6|h6_x>M2X%k>;| z*5&W7Ub%7S;jMZfTF4`u@cO3%;rJ(kP(^h>K4xMo_iAba*Ih;3THc@z##FRyw)^hl z=nwC$2v)!MohLf{n-AxdO0_diN3XwOLzVNcG(p>Gx^rr~7ihpG`Dxj7nmj=1o>f%& zq@$8rX;*0@i=CBmvz8(lkt62SK)bqK6P#0j?&5{>m%h4mE&A>5FiKhea+zKhS$5(3 zYZtHFZMt)Dg`$X7tZ|!VB}&RNjEFsgkyB!{E08PCOi#=&i(B@WvIHW5F|y{9j~hQd z*l_4jL&MRd2O9Q$a^$1NBm4FrIYKrN2Z=+;zzhb~7@vFGR~7qqTwjH?+&<;xtl;=_-ADwq8`uQ?fVE4o5!(DzOCqFZ*kZldbpexI0i4a+< zImA`g=wxGg9NL45l``vkAY3)QHFI-Q^xDbBqn{o-{>8)STSlX$8XCY7jBQ(RA$p-s zDfRDZiavP9CWE1P37_!AEJth^i4YR4m2fo<3qt41@AG&~2DM0jcvRX!K6~cW=`&}} zHtwtQ&fI(T=2y3F1L?0}&fJ9tiGBBtqaLYHOf-DaI8!HMqU75bZhf;sUyucwP@qu= zUHO1&?D#m<%1TkKQW8s?l@*lu9ca7Ii$zi$;h(u^W;hZA7A}Y=YV7Ob#s+bh0F(!e zt;6MEXsI>TL7UA?gcq*cxOwB|%?ry*#i-HjB?3X4j4v}2fpAE{lSq|@%GFD%>bzPm z4(QZC!Xq3txlIJD^n^@DglhSO7j&yAX>uOFh$fYzNST?*&CQH#osR$&Qv!k@60sDO zp)$3MELY&LM^LAOU1Lrch=ADjFgqkDGb0uiD#D~(r5a^{uAxYxC=Gc$PL)h*_W^pi zqLL^a2~uH?s8$mVVX7P8b%)gXFm3{R4NN*BD#FfBOIEC0qfgGH)3SL2VEYu3oT)rS zh+7392&^{fRC=>oqar*qrA&^mRdqCCMJ(%gX|k&k#I^lDn3Ujg7D)~ zu}ZGfVj4B3w-GpQDU~Y~s7wh_=s6sLElAE-Xe{tUd3E!Q(SLMcrCDU=v2 zP^$Ghom#TMFSS_^L@CFVQn?t_DzXK3k)d3Vs?;KxmalTX;Vqys?15N?S9$~qliM(@ zG80p+ehy4e4sU~O5^=WPSOunc@AQS<&PpN>}FHo!u ztkUZw-dQj(_85g41iEA*=+lc!3YE-!nO3fnh-GxM$Dt|87y3N0>W-A=j-1w(X*GU~ zIuNgKe;G*R(jj__xEMmJKy>3m#+2-3TTCdeC>I!Xe3?`P!D{8wQkzU=45*1y9wn}^ zYor2VtwPM#ksN_SSYpr$iXm8w2vq*1PHwuig5+lE!to*x=_iZ<+7A^5>xCH8YH9-0 z2}{0kpSgl)F1XD?B~l@iMk5Ls<0Si6=H)6 zsUBBwXUt@2`7>8>fU%%}sj?E5)TzxaF34kn@_^PM2U!;C4zKWtMkX~gt&-zRtHi06 z5EMGx#X&oe^JpwYgzzX51V4p55txt%^m^E-1>;^Wj~bNAaHU$K!7(js`AW8uP`p-U zk@KAzlbHMAI|Tv}+YIw7^lbT@P-c1wXz??$^DQAtIWk;P?#N0=Z_l)vFbefjQzRgA z8WiU;=yVY(;{iQ@&sn@j_Ihz4T`UCQC85}^gb=bS475tL23&(-B7Yq?jq_&Age|}t zg~lw{|0V-A=8B6|MkKAIcByqrCKEKw8H7JpX;jAJOskaPg+zJ0wFQWR0+8`9%Fp9zd3kJlR(h>j6yUS? zaxM>5ip>!PF4s9UXw6EA3HBb&C6qc?)7dKDY33nPUrnJ+t%2wGai#d~e?<4miJ(c`s&xZlolbv8g3@Z`cGP2+D@2MMS9r z6IRwpOu>N4W;Gzw>(n@gi{@GDHqd1f(VFRWr9iA+5a4DD@Vd>G$(i{qvEM@p$HLpm zoIDa#%^nMbl{%uR#cfZJ3v+ICp#iX(hOfDHf^~Qi;l_6)vllnrtQ` z?75UxFV<=74!Mrt?{YH{o@tju6viY{W3aNg0A2WzFDr{i1f8J23+v0^baE$5t8p5C zB-YHyAOX|*(7G6OHalhQrpfU7g6NCI8len>H=9PIQZILF^>(`rwuqaY0WD^?Yd{WX z>H7>R%G0k#yz4MNT^yWOl3KjvY$Q_^0l8Gl=YTOOF{2~XDs2R=hmEO$H-%iMlDJl3xDGh@u%*`oJFRh*+6a6S)kYU8m9iX>f>jl% zd`60M6L);^vh`-C8=5!NbC_g}02cIPVX#1|NZ~1ux$JV6!}KCFaVGnXx9EAf5+xXdtbg%HC{dZW%@)?z@V&?<4eNhZ>T6+)5B;}x?u+oo~Ysk&w8)GSlT zOF~J*bhi&5KPICM(`sTY3|2-$syPs$ULkJM7hvWB-#B;nN*15NjF_Z+^6xkUN2PMP z4p*Xe6*3)WFv9j-1FjiT60ijXp5SgG=qb!+6K-Kr9nsI2M|e4`|n$pUe6V+4d_sb&>+iC&usLapt?U`>X7#wu@f zArs|fevVY1OJf$XfL&DdX#<<3hIfU^Xi;H0ryiN*)akT3olyln6sW3K#^($H<%;u_$m_%hV!hEdIV8k?dp2|uG+I*!e z-h|78_MG9 z6Cj;Mc?9!k>^$E7N{PrfM}Ww5gngo3Z7)^Z9d@$RsMDEorLN3E+7KCRM3kdaL@X~? zb7ee^kd@1FhTRk(Xq$&zvcz#2ZHQJc$D&|mj2WYF!NxM^@wuI46~2-j@Gx!T@^nl? zmLUW>S!b5J+`2lS%2n=gIdBb3_vp*aAdoG^=c9m!AQER4OCaYk=`>@6a*wLQum_(w zGP4t+)nuSoYdo;`hI;Wj%fi$Rnr~SELSJT`9)}u45xLo-^LjPT2tit4>wr#;8O$~u z*qWan!a-F*hA;>-8|7pdd#cD5IG-V9ct$&-)s#5VDs#jXy|)?8RqC(N=jD@P(3@84 zaXG5BO3iwO)@5|sO1(BSyk;y~3KXKoD=FC^8 zwIy0XKs<q@YM3N2D^DLaAiU-X^g)$aay=@MAc&9)O0l*&e`!op9ZJz_$$e#72ci|w!Cy_+ds~pm(nt-SBeII* z3g{1G#h>owx}4U9Ym`9jH|cdY;Osc;FnUn@UMrryoGn$rT~L^fL~6;h795{B|CQ9V ziI1XSjf)elQqo^d)yG|eSwEM6^L6iH+X40=M_E0kqE$I|5r8v*QPqu&L}t0tKe zI%Y4+Q70@JHipEbt~yi zRE=R)ht_N&9hF|HhRg;%Xq20AOs%F+WNf#c#m?iF)z%QPG6R+HaL8lGcy(H*M5~;H z*A>(lkW!upcS=hur-!s9B~q0Z2jK~$$!>9xCW=!=*zE?``-s8hxJ<^^m8GM;nmU)= z34;36JV`j{)J%a;ww)5Ka>tGql=><0`MBP{qqKTfxkJK-AqhpFv)RqC6~$t!469wG zh!W~wj>5JIP9Qjarpp#n(}%JOg#!fgI>Zs}f@qbSlu%%%RQf4bpu}7bdt_!^C8-i} zgmNJBz=Ozaw79fVpF^gU3Rv`FvEC26atSLSG&>RU+L$9J{RgtWZJ znO1QEN}OqxmOnAE7+h&CFbc)#u#(|93+KQNKWdr=VlhB%`6_4B&R#IT(qpreRNMqA zZ~_!l&|~F|9hcV~)2bkS)D(Fs+%mChiPb)cxLeJoo|<_uL$PMvnzieefzH>A0AaPj z@SQ58=FkiwAAwCvOaazlhfr8A#ppjjX$ge|>aC-5Fv3Tnw8W7hT)zO#77O%jVniC~ z;8^XXlW@Hh2Z;F)@{>CHm?Th_|o3FN0;X5Gr{+MBxhw5q(-j`df z20W#B(YQ&ujIO9wt%loBtui?U$>XLW7RWLcMT0U=SS#@XyAlC9$5(mIQQl?1vW?7ZZ0 z$pu2S!2(hwu6VQ;O8>)%i3@?Wo(oqnyQ5llpmVjQT1{a~SfI_34$EZ_$eS$?OA)C= zz+vQPq=5D{jmc$6_ya<<;&VX)33yM1MY-w3w7;fj!>|_Q6Xar!U;wFBV>1g%cx;tH z4Z2D)rP_#dVc*KrrCKEbYvuo81T6g+m15Yiq#q6Y=h5pDc=j)a8vpzaJC9zvdHdGo zWA&RCh7BdJ{h-%&`jX&9=8XFD5WlSB@%i5Q;y?ApWY5#2xa&LOwmZ`h$$whqFlqMj zc2He?xv(_rxt_b!!z*9b_Y6FqsSBRrJ+#}i%f`&@%GoZ@ugU0{=^k8_xU@@@C;hNx zY7cC8f5{&gJ_+QBziooyM?a6}15~iUJ|FXb(?5Lrr9MN)6W)b~e4mdW&+jKXm3-5G z_7y(^b{Y-9aaY*44EP5CJ8ojhv%Sy3kGBsPJji9g*xL;JsW*?i?sNK8a_=%Q1$HnD z>>=n)28st3J7&$)^9=Bx0(>+|_A~=e2R<5g_ACR1PsMx6sHGD5JpWmDCi?aJcQ195fnEJF-+kh9PsR^)Z=s)8Y|P z(m(yWrPZBRbbI%Hrl-H%2)6u|!uirbGsavm#ym5+WJl>a_%kN>Md z0c{I1qFn|IZGRe+{};8x2RguDAOF%O1EU8U9Pq?#@aGKy{;oFoLs0zDd;iv&fr&%l zel&`-;(Lb#e|anZ2Sb8?`-jaL`1c`!k49f_#xEHne19|kP~3f#%kMPfcQ>d0w2J3k zGd@If8=50N82q210SDBQSOGAH3_m^)&<+`XWz7HJkm0Y0;V&36{2ej;^+Se#E{6ZK zr#!lL?@kQ=XxA4!a~6I^y^copFec zIR3z{bo9oRIR2jABpJ|a@5b8yrUA9t8)KJZ_=|g!WI(U2kKvaOsLkFOdozYV_+#&u zJl4kWxh-D@{WHEEGh)zjTL2*p1a(|%`99d6e~IG{&G0W8{X7moY}sJ@-Hf-h8DBg^ z_|?t$FANcW>m=-vA<4k~pEmnHEHWhc8(ZLqWe*9yt`+~8A$bD)S1bOoH;14A4m^S% zmNo?V?N-5tpbz@5ZTufLaC?1vT9TXE!Vi0~r^yEFx};M1SlbjF8HGgZxZ1<0JK#X^9q@~~04xIY3qx-Z2aK-r!xGg7sF#y)PH_?9O zwFNu&$>~0IzprRn^=Jp&^5y9-gEzE5b^dvx-~K(>z}=sBj@xqfcXytgzQ4Z$@%G8b z*#06sF?}b`{l~Mzd!m8<{n(=&pvL}TJR$Y0$9?VmJNX0?{rPE0=Wrd*y846CW!j}3 zfx0?l?b1l!f0)q~SZC)YeaGn{CD|EF*XPm(cvij#JAd0}<_{;kaHKD%ze;LvyeHp& zw7M@you=8{HwuXIVW-x5ebU<#cRRc0kMH&xt7C%06FM{9!*kYt7eQ4Ik-E6-cyGu-M;U-z zzdEa*cpa1f0(tvh&oZ#f_`8nD2ja|cktN;D6y8~b|8XFoy0Y=piT=Nz?xGmZZ>voI mWmgFY^86p@x{Br7&)#l1F24I_jj8yr&kQ8SKWz<83H%@a-tQ*> literal 54281 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�wynw7PBnBA6xY z;gLhV)_X7pLT!|KkZ!dYgnnmd8yU?Bv;F?zolG9Gy1KFyyNKSbgsfM8f>3$FRuBV< z(?zz0N9g2Ano z9$B54=^raCOSJxKq%9D&IyDwQiUwWS9!Y}94wj0OS&=i49rD|nm%9Rnaq1u43#VI_ zmUqF0i$WG{#xp^ikc4n7LJ!)sJlR##n-v!C{>kXY`LOv!aCPNC&O0MDwYB4IHMm;F z>h6UtLoVJYuhc#|6b$80&28^rN{3c#2TMqSVj}R!k;U=K%=Xk!51Y?&x442v61&iY z8IarF3cPt>d7ZFHx4O7(#C7|@bEOYO_W;T=$N+Ik@be0Q^j9$;zU$ZB7%PNu7cq4)(f1br({ z%taLiL#}&{3rDt}Ll8Ny&>Iua0E3>PT~KnEu;v6xc2zl&y7fkHsbZpwu?imz83cVU zOw2&#`a@2ej#CHLp1}|WlaRWRm!od~5a`A|Hd|)k;;L&RE+M<{9vy;g_clm}x)@5Z zQG;qtixN{&c^;7cvg6o+g{Lq?iMpq$@AJuckTftr?;`aMTZ$NntfZ4LytAw{=@G!bfOMMW6&U;10N1!7^?nAb-jsvt)q7Za|iBrbFPX!*D*xiCR$u>5SeD_re za4A)E+ca-tR%lk&HULr?;yW-@?`>aFF%*v9p)ey>4Xm&aNyiE-cJ1Ec+$5odqp} zyZmAn;c1$gnc4ZV{t#}LXJ?NbgdsMbw4AKGl4x6;S9WoBR(5t)QLZn}CcHR5%Padx zo<8)WtG2eWJ=@PCx~3gh%i8{ej{VrNbC(ra=??2w7jOsqonzZGGBh+i zGCDTi*~6=(eTD82xCgr~&Xfo^R%Rs@=4pSP9i1nrWR)bPSNc3jpC9%Zxi;B^Hmj?Q ze&$(`kyw(gWKdUHUQt=u_=^76u@juPOs-iB_Dzh9jSLSBjTaI7-hxN7e>I_U2-8Q^ zKQPoatk3=F4ig!uCJ5t$hh<;oy8^%9_yIH#9ha=|hdgxOee`N}O69llrlplwIAOeKD+G zgxIM-9o~osZba3+q%_aKen_WZzr$baS7~XWLZ>Hg+hhLdN;jENjhR=sLO^M0&Rg$6 z#b3YSeCl#g3H#X#(n=TGI^b@o3)6|}agQls0+ql`;ohBAtryzbI@&o^70=OvzUVNa z+T-go-rn9dpgrJg;W(q+-re3l8cdv0YW8U1=%^$!C{!J{3mgUS=+d6Hb@~14S9Tew z+D)~t-;F_d%n5V z64?#*d+;*Z>bMzVkX7kkPFZJrKrik6-lySJc$sm}t}Yu_QBY8nbd~woY0d}l>A}zv zZl!2zZENfLWz($-D)H&EF6hH_!JTv+ed%-`L{8Fxi}RWo0=I9%D-?)VaW#8t8xet5 z(Cee-h};8rK`Nog6cF8YdF0dJI=sTLXVaX=D<>^2bBzh~t&0k;uJnRICESJX><{tl zsTc1Kqay1&6^<{Bd=m?Z6mrl%jvslfnGa zahd}##EhNMvC1h(QV*QG37zSWSBlNgvr`-O34o~G$2Dwo3*wYwhwd<19iuqGc3M)6 zrJ-*aH;S4n#}C5R5XxhOP(F{Fq?qXKyCAR5brcP5YqSaNmhws}A%pthK)yd#O;O&g z@z=2ch>Go3qnW&tT6CWVE%q2CJNr?VJ0_gkll}Nf)O=XLBrgbPG8GoIgqx+D8=A0Z z!9HOpHIbZwP+pQ>l_dv;mCsYE3yLe9j|V{%?9P?N`PFISRG4El?8jLsX|K!Z(pL^l z%vsH%7e)w`MYJ{$s=5g`w2E7znC~Cplry=0lpG78&Wg)CrU&Em!}q0MUJQenFTRw1 za2R4?KgNEX^)N(rS?KE-o$0}4+!AW@x9x&4m_phuyJYO*Rw>uVCw&fE$(=uZC=a41 zJI>C=NPPgJx$s0=jj4HXe%)#ny}ss}I?h3a&|-rn#N{2UZOWaEfr+yh(j6d_*S5{?J=_}g`r`2TjmPlQE60x<%z}=P9S5J}dNXW20T6LF>^Ui5GopROxeUO9$s1+Tk<0Rs?C3%jfsvd4Wd23!hY@=H{Wx`@5&r) zb2H1hMfCEbQ#!)u1fd@+bizGL__@Qgqbqt0R?2tJvNACqL8m};V1jUq=g}*5%TFh> zRwlua+-eTB`pbIzrwfF}BB4I>Gx%xB$%zHAGXw?Rv#c=Vfg@xI5aS`5OJKoLSVsGY z^`)SV$^A#f6g-Wd@59!wp98B>4NKVkdBOzU`0OP2HG(|PSyn~{Mn*b{gVCU+l=N&@ zA3PG3P%*;0-FMr>Odp(@nuI6NlQVt+$X7RrjDNcf+c`B#7^7bpxWY|PxO<+BkpYxH zN<(%4^r?e1EGN%g7JB|##mLgd|CQ_3+!T0vjAO>gMrU%diw)H75ZVI?^c)=~3{j0O z^*{ESThUzw zKgzd7{2{V}6*srG_7+?#T}yM%>|Wa=W?f5#hu6*=V`dCs;9z7s&nK^M9rJr)XJKu3 zZ);_Ce7L{615DamI?J$Wh#pw3zEU}1=hxXmXrpiGnAljiXXN>6CUyVX8Fm&XMjsG@ z`J8~d$&av_nN`wsXJ>V0Vsxm#yR*Hmt-FR0wPzm$kzeoWwF&C(>cDq0w08_IA#Kw1 zPc2PeKe)kpk_|+0V>ryn#C+n~Gxd*lQNOYWcVUEncWq&6Y-Fgvr>mo*x1JcZ85#nS z>GpM62le(@cQbePO>gdH^B)!aYOW~6bLHI0V=T-}jNqiuGlEd8>>O9_i)&zlLT!EO zw_z|--C3KT0O7z1?jC5c4OmW~1RD(ZdfKi1dk3w1S$ld%7m%&^2aNp2mip3yyw@+D zId%LPD+`MiGXo0?+p*)P&T-wm|6Ie;iC}0NHw$KQN0FV4<+<_Ek)gr9-r-v7fQ6JJ z;Sl-Fj&?hb&e49t0Be8Wz~mCLm8ZaVTEg_}d*v5T?r~qce3A1U<}BAa&Wo3?-{upP zP&fPWQTnlJ^c1qUwXwCey}dLy3Hm?iv*YEs(7Cw7V1GupuE*8BaolE5aG-x^atUlm zIXz@KC7@;T#Z*^C_9fVL5D*X&c_tyJrvLHN2SvWqHw^NYLG!?ncWq^PV}6QsMGXy) z=fE*@ffUgYxlr0rpjFZ2C~=r;Xk=<}3)$=NlD@!v@|KvAuE|Gpi%*{{%uJ27WS?AO zW9KzYokEa})n)7w?c)5>+&C%N_(%+#HDePCkzbA}nECf+*G7`~9(5Q*)CO#7P=Z!^GtD+`{te<_>tUQ15Q9uPn~bf;-jp zEN1=yXv_Rz5Mp|2YGEK0lQNxhHU*-1oH3t|^Jrd}b)3RX(o9WF&&~Dfg^Moa38brxqHZ&ZHi5^&)cbmaYTg@B4rhEYg6Jv$E0=j0qo^_Eps5Gjclwf zE_g4(3)sa2OG}tVs^#^S_7IGJ_gXA>K16-ResHzi2^ZbDvbE~Bgj=Rw+1Q+`^1%jn zZ57KEL5F30hBur1upYn1Hg`5wy;tZ~S60@xc2;{*>LTjjEcOCef$yN;c)bO)S& z(a_rN?$(Cu8r}NF_U`s#XQnI8t8{riN8?B(#2{u_ytLJuPuO4372J0j{+wdl4 zgL!jvYkLPQ=xomS6ouR4z49mbMgv})tAj2Z`q!^-jT8pk;qCnsi<md4nds>#VHsJ#1N@%7uc zFXl#C%5u^QZ@+k@)wDMirg*kM4Efb<-PJ!~wbzQq4nIp;$7WZyK%*FUb~YAg2J3S| ztaRjLbR9EWx{3pB>mbIA!uEmMP-E#gU&5}yx*+^})F2DfU4PzYv zs;|Fg^vz6-1`N@R%}ln0>q#1?jkeoM0u7MeI@#$atLRZPJlq@BP2E4zpZ7ybGhwPT zVqXJP&GdUotA;f9cl~Um?CCGJlhR0=tN)$@Q56r(#40F;bqsd3$97P)_YBt9zA~y> zNzu-PC<{84Y78X3I!Ah)x@mj*`Ui)Ghr#n5JU;t-dz`w#P`&c2xZUKq1JD4K<8xl( z-x?+c?fcmJhsP$y`rB%XvQrXcxO{kS ziu6{Bk@5Kw6}7faJTL)~v&%NmqZVd}6I?S(BYF0EDr)NT!q-nQ(zCFizjE`|t?QS; z0E3?SERVR7hN_yWfA#d@6mf!lVFV+dhJ=trK=tIf!JDepX`8953(M^x#wr@>;#ZlD zo_+Y{gO!7`n;XdkxVbvoTIxyOK2FEZE2F8VW|;=YFE&%;bITE8o=83k1e73M3Pyvg zHZwOD!L8-3+FPkh^z4uIi5~w80?bJu09L-mzeUB8l(Ytt1eT zv0f_y&#hR`u`aH6xM^v<6<}t5V&M)zfc75{AoL#)AgiKdZsYFo?gs4{NgZ{g*va*I z>p8NGRz>5LS^xsbgON&c$Hj$d!VK%mSm?XA+Wd59HC^0cAOc?fM+C6(@cvr_;KiBQ zUh1lU%w1fZ#?O#Xuk>l@uC$R%K-X5q3(w_Q!W7%=(r+^@eL-5T4_>w({%rzo6G!t@LClm7=D_-3FYxlaeE?g`6%bz#2${c~O&t_odS zDC0YM(-}hBS9`rCy~0tSX#ron`iBq5{N)4vfDd?LKWO~r1JwI`z?xd>JHDbCSA}Zw zm8=a103kM8&Zz-c!BJI$#RxG2LZE15uulk5Do2+75Q4XV2?6jAfDo9H>3#LC#Z{my zYuFap=tN56kg z03lFyF|QIs93e8>NGbn@ib}ZZbY(?t(%0{_Dz2)k028Q^FhTx5nBd)COu)R42`=5n zTNPJ>b`_CAR8RO(~vm`|2N2p!FY7;Qb#_Kt&P-w$y5{ zPhF)|6{i)|FRQ)zsG1HU!#99``nQXQ*xTQC!q@kt zw(xOZ_rD6={G$vkzfpb0rPRYU6t!S)y-Md}%y}YoAqas3l-R!KsnHlT*>!9_t_;20-&Vb^sh^iakZ70uKOdUCh)!-+a{?-QK z@~r*vskx@6uA#B1sV&-5>awqnfwo;{R#IGQMrKxKdUAYJSfH<`yQ{0e8@cz#Ymay? zU;W1#;OM?O=Cs016b<#Y^`#14F|^hYXME-BnAZA+MzDk3S?A||{1Z;wNYg7TGd?yk zIVCwMJ~}+u-^ar($d$?if90dE>5H3O*MK)*e@Xh~)jU$VR zjtmbC3JCS54Ys@J(%snD+SQowN#yF~n*>rD)jjzYBeIA3`oMI!t-Vn>yb8zz*79NL zls*uyr+;v)Dbe+hJx~wGPs7BaV}6n%hKHacoG#%?F}aj^#pT&;5C_2k6JbVBUWd%gw+e`qtmTAh&XMa(r}npntGgrm74F9V=Yb z44N7k93CB?obNA*eV<|X!&v6_b?1trR5%%vgioeU0v#hUHZnBG-`~&H|FEB*e?V~f z&xG`VJ6B(55Y-N8s@%Pa;by!esOIFYnp-+EKTTRf7#uV5SprDmSVfO?>D2JZ*u>QA zQb(PiTZS!8jpu<>NL5LuT{=1=1HhYbIMg)^4kZhVbw4la;Q@OdaPz=<9&-2kaD6|p z3NFDgsb*|xfzlqu zC&j`)ePXB+?I9u8Zz4~Ht(63^B4|;9r!CJdc)w5oNVW}b9$Z~nn4Ov!pUaY8w!}im z;bAx9`Kig7c`zfMZ)*%JO^tgi|4vmVw7Iq@kC2Zp$j?eiObAG%PIrZ#+i1|9zd?L? z340yQWftHqd>sV7C!%Z_6YbU6x3RvsFgHCl*CyQ-2?D#1d~{r!nVDN&U0RzSXiROX zu+{yjqbd{L)>v7LD?ybO=Vhb?r&H&6LsHJ#051@vZveb-MJ+T`@d`I^2Es~TLi1y~ z2RAmrJZFA(Zc;6|0)PnLZnd~gut~SLwz)C0(BC!{1H=<_3fMyLjc_8E>#0ls>~C+c$J8CFuP*r=UdUMy0x1N%2Ro79E+5#33^(ru z#5v!*#m)0jff$|MJ_csVn;UCjGh}(!(R>i>EuylsWjePptL$qVJA1px)^Lg+&RkzZ zCT^ssw+(=$=34N;39q7cM?So9oA>ckIh*>`^&MnqcWZqO zUPU1hTK!TO=yYD(o5{`9HL&Tq4ag0$GhZH#vjA8yZnU?ztEIK6rYfo$-4qR}##q46 z0m4lTM9;>3=aN}wn(S2&R$R$Eej2Q)P=g8n8dx0K%X!lwgMm&~gsaW2E-fvutZo3C zjcku(`jNuQ#0+$Hwl`G96r-y`A4KU6>n_hb|6;w6kCk(&@Gp zbP{!1G~>4$Xyl{k3SZ-U*Y8q71io`(dE4F5x&EVP7Gd|SQUR&Co9u)0p zqWAnFu^{GWd<=DxBV=5h41ODs78Q&OIUXESP_K3wSW-Cy>)gJy{{D&4fu4@Gmexx7 zqI3+zwqu?d?77ZTab~iGfbokJ7iUU}6(P(a|>0$BF{D_&|Okp_u)5Zl%U$ z?z=+LdicWH$oB5Rfv#4d>*~PT&o8jczi0EI8ZJ9pS<}$o+>#MfAMNE}`Ie9O^tTforL+t|+U>lPk?9=@3Wb8o2yuMNLCnQ&X~k zRj3ou;u-(-gKB|^9w^`M(APG{Dz@hPbUZu{#Z|wD1bayn>RaKN%=E>EPBJ8>u z)WQ{@4fUX9aSp|P1iS_bN2quuI-%S@Ltk4RE7_VJ?b`@NbHDT-m5p8Ppr2G$ROiaJ zrho`zfjYHt)zRwOhL(ovm@j$%APGg6L?X)JBVqDbeorLi(j_y4SfoNXc&MR*T=EOX3ZE4>e_1dpJCiD#g0Wpzhu zQ+;i9bwi5Ggae3Bm!Mc#S4$eQv^15a{xK7Wfth%1mG}(>>p{l99n%lw^T7}!lQ1w7 zPFht}`w?ntn_?BFO~8#IKV9y3EnH1sTi?`Nk|P!B`WH^T#3WjvEVUqmUyg|fGVg*2 z`*7lmZgo|Ab0es;x+y?yS`GspOUjW+EGsH5E-kOBEiQiL=wZZ7OWK`f(=?1XKpW~^ zg!IxJW7tx7ArhUCHSkk2tFEZ8sVplgE~>KC9e##^n38f80t$0-a`Os`N((FGP5-eI z5M?|Cni2%lj&lrSi@ozlPZ;_O6Dvx~OA7OIb90K!Ked8;C*zkqb(@^DwDgRuUwQde zMw0*N32H`|;SdumD+__)5Hl+)lP?2`9)dI@F#f2((9qxjygys`twaCViO|yD`MKGd z8R_X++P3+}!3ok&Gy0eU$I~Pvrle(+JN;uPs5!rU{|4htRNiQR$6+ifzu|u9C@LG{ zFyFi^kHBJ(N|2|gPk@c-`){5BI8WBV`wV~S#HH-Qtn}36#Q6Ax*f;(`U}yA2=y%O% zIFcqRIwm%$DDlicbV4J@-QQM-SNQqkyKntH+&uye?>&4j%KHcx;N^bJ+y0QekCP`( z_@407`#f5n&Q4CwZeAe*41ef^^n>yoFdziut;lE}*|;x&PI%bL`vwOF1_g(PMf@tc zrTp#+J&8^jXQp}H)UdI%z`>%*=?R(d1T66u--x<5>@wm#60RkOkV(5bS=@PN^UVTp z`Q(+mvx~cjhu_J10}LKMdL(LZ&7WQAQAS^tK`!9{^V!&oJ$m$5Kj`&a zFN`y*=R;5p2j@dmR^QSnfAHfKZ!a%@W9``Mpc>;4Ra1A^ncBt0%{8RllkG2`_*7@E z`BPNKhG_LtFG@01I@s(fhDbCL3^mp*_4su(KaO17PSPYyz{rM(75fnTlwb$j(m6k1 zJa!E53FWf|IbQDWt}d`M%2oA~`w>u&Ua+Z}J(kF2YwMW%`?T60K%pBe_S3>JHY6l8 z;#Itbf>HXb;INR8m`{4CqW*#I0Y`&9$i!gb6a%xEkdUyDms!T|Y+&3G`}>R}L7{(B zrY??XZ-*hG>~ONqUw}PubCk8V!`LzqiG;X%g=>Eh1)q&X)!VotxPYSat5@h<_ekR^ zxPa_;hDx=}cUyNNrK8#bQ8Squ_0&SRfTikvl&`WK9&i1XljRSh@UHT;CK55WC<{a~bXqdCjjlka`{9gVxqQWpz zv-}|x$3HYAdRqCQeLdyv-1iMdu%moH2sW51Brv%F&uIQ=pC~YEB)wF^;=YKOCvZZ? zBC!G%I4cdYSW}=VjN-)9vA9oyaO^cEt7FtB*f=EBnSPZ;28D!Rf>9Af*;p-W2>mHh z)-Emz8%-G%Q(At8L@5CJprp3+ee>|K;K$IH;NVH{SK-GGWjqNCfKnXAd&)d~Ec7|( z*-`8QZCr8P6dXqFoNYLx(Y+O1; zRz=kr`M;WimHX~x8lWjCx$fR(2Rq;Fx9@UM{-36x2AblWa%)i zyz~lqw|cSto8P6l63XK09z7O<^sWCuievkb;yrb2dquHT3A(r{Tr$lCNQ%!D^7du8 zeCoWS#+J)Z_9exkEC_svKaxW14b1w!zqX(NmyarXXHk0xSPH%>H<`3tTsBQsX;%i7 zHn0@O7$^^9{2Np7^L4d?XV0%+m~7NC`oYb`*e8oMUC82b6+g zpHkf7d#?0d`BYh7Iam|O$bi$)nd!<_P1i}Bq9j@(Bn_8zBr&~dSe=pNDOi}8Xo06V zN^|ZC_nkkUB5tfcBRwqz%=b{4R`NAOASw(xP2MKP;bLi{v%2~O&yq+53nM5ANX3bR zR2OgE*(Vh?m%XOjGr|0jH1CZ~43-S4I}TRuqVr$l;v;cU^kI4Z?bojpYfsqEIo~M!lMD5c+1NtE6`XK9nk`aJcc} z?R``MGoqQ87!H$A1?xdddX{5n_ywQK>wb0&c;zrRQka+!8x;ZOkmxAP>-=bvs`yxA zs2&uE3!w4$D;aC#x`tP|PjVHcFu-Q~brp;(tjF*2i@nw`!~2D)cr8qnB_{lg2n`Ml z2ncbNbg#WkauvbpvZeueZyGPp(#h64Xa2|vEF;W>VxXn^2UY-X!^F(YcJh>pimcvu zr=LHKV^^lDk`hP@D!$eT_P;LY-pfW7c;hh1EXCi}%1EKHx?B+&{Gj)H;y zFRj4+BP(cVkAgp(2Ir2A<07AytD%igT8vfE`doE#LUdT5kB7UPo0q;)o{JBJmdJx& z6I}3)haK#4CMS)k)LP&5dBdGaD-*#AccD*|1QfvrZmx~YjdtP zEipR8&(qb((b3gRDm;-5tZkcR8p+$(;fS=hHn^nGC4UA!jGhR|RX8x>nTQ|;%c;x4 z${&d3108L@=Qd{>a+9Niyj>mbh(w345{^0CV3pl2K|{sPo?v?f7uvI2b)QA|yTZe( z096En;>;&*ywtMv$sXPUyL?+~1C`lvVZQE8cHprFOIhZ=1Z(}L9YYnhoSg}dbT(df z^V9f0rsC=uc4j6&##783{0h3CJxeB*NTOo3uRJF;Ce+u%1$+i;nGYFngCMd?zTWaW z9v*l%1~5waHMUwKK_~W)s9Nnp2ylur6z!bY1 zL*+SX2~i>bKHdS&3OdoBNSNZBo0FVwV2E`fi?4sqz}kEyKM7M9>|=_vCy%qSvf!DI zvH%VMD8&tcGrl`uv<;%C_TZhPyX#XOWtquwU@0ar%vt_j*cWo}Q&J8`dj+k)XqzyW zz=+b3jin43*3%Lnzx@}aVEQjeA@finbZl>Hc?PpY+fw{1JuxmSEG))RMmP8)c_c(G zMsQG8_DzT;M6pCihQ?NmtZ%m2-Dlwt&@%r=Qow>-|453@BuQ~yFKd2pV;(G54fnK< zmFH!qCdEbnj3>M{^4BFv3T_ieO&O=u1e>@=u~CU7y^FhRjc!usnNM*8N@4oZ{FB9B zN+EFR*s(i$al<>?i(@_D$5b6H_2tbqS($0c2}uc`B+b3$0H)x0?_ebPEhU4Pd^9OO zF}GoOd3R^3-0!{EO^#!1EHE1s~cZLN)URVBssSy^eR zS&{FgEuDo(nnKC>yR>#>ex_~4xzyzJg8JU6)m>zJX|%bzAT=Q|v$(cndjEy-?#7DJ zirNOaiLRlpy1b;IEHCR+2gxzrLz0FD))AD{_-pwDyqNM->w8 z?(ZbOWz|+VlpH86g-hUKOcD53f-WlutI>7X`XhBo^JI{zwiP+4tleM1A>NZSAwjcaQf8WvJX+1}gU;?)edK&{v|n%1_i-iAmc zNiF9ns|Ubah#30)wAYZ*^RMU|>h1LGINI6S)!Eh4Kh&9Pr}Em!`=|8-lDK%P;Suj| zE+=amT-G-RmJ*zMkM@w(UB^c|a$Mg@saZutV?=F#xMAE2H+&J}j%Oxx0U86p-to zzRvoh6n~tdlJuMRcHv1;c$q6L(D^r?-D6S{gY7@PQ<9aDS5nn{r=z2-q4EYCs2Y5C zi%d!mv(^;>;6l%g7#N$Ho|+ID=;>rJ1tz|Y6ee~Y zKjh=Nd6nzp1y0Tj7cX4{PvnP>;U@6528Z}1B}6@#Awa3LovC;RfzRSu5pPqhglX{8OV-Mw%>V_$D)OWp58?{CVF zxK5tEDezM2)l)G5E)*42)MTG;4ZN!CuUPO0bQ?SY1=!*wWTgo#kaH z#Chtvh`f@_Q<+MLUh}P<_N(isZYVpYl~tCIda_dWZE}|B?`&lb!0HbT~OZCp*mS0moG-1Kk%qg%FL7$=CP7r>|;y#m7a41&1FF z3y+TfNqlwo;%hTwrF$S3gN&Kgm*=N%=zE6+MEg+r28BAvo#T4*{evV(#_-w7M(Nz; zckcck@otn}0k%>cw+wCc#6U6z*vi$M`?S2hr;~$|Bg)yu)y)m#jsm0r%wZiV9b7zN zffJ&5YlU=(66@wJed6(V7h4-!BD)QMH%^X3tFNYpy4o6=@ATfAf5(HD0K@@*rnGTz zHn_s6@Adv3NXI}7!QVQoX=`m~MT55?;w;|27Ua2l@%&lrnZsw#o#(p2_f)~)8-Zwz zv$G<%#l1NG%*#nA5h8c>h}J*J{~2%l{rnFrt52HG?p!!?=G?h69LHH%m>3wDSb*j{ zd+zL+vzPg$^eu7NAH?tEFhTd?HR~`H;4Z#IL`kqqeg8)M%=PVug_^*XvuDqrVWXv> zpkX?G;ri`6Jh!f%WjjhmL3Q-Rx$|ev-xAmT`uz*>Gx-k-{!<^4jE@6%;T0Lme@5$@ zxsBP?Pha%Kub(^5dEy8;?fEClA8~)&1vp=>PIli7rFl&s(Gsn#!myYS5RyK>dQ+~&hgQ!_1ri{~z!I!u0C$jElzT^Rh6h(Yt6;l8`Ts^6g} zXFSV!_Sy?Wa}%2nWEP4io~QWH0e0b-<96}{Mp?NXZluY zKM#YDAdr57e-knMaTmJWG*qW9p1Ue;U}9u#NM@>W=5eae8SwOk%iTEm4fL&bSqA^P;$bMfb-JPiBbf}WIzVIN#PBs+GAlTT4i z8K**~tfqM8X`Krgh8b2D+_D_r$ewu9^#hCrbLs`pD=6UQPbernxNw#@6?=={c#&xM3my*RxpOlg2y>OZ4gw>x!4F5lG;mu9+hg)b+uwJ<+AV-i! z%L^UzX}j(Xp@X`t*+gaVlBZrv+~(p!-*P9YOFaFPiNV;6l!@UFwjgCla7Iu4Z)xLFSX#H zxpMKo1mPu0l2fqP3gmO}PQ7>Om9_ZETbDQwNs#g}JeT=bJ_gJGFbnEC51uLhaJ@i% zh3o!Hyg2%W82kG+VKB$}8moLl^ci04)U(@{E*_Ns@01J?|Cf?spIDGmGJJ8rM1A$r zgXefLwD|oK-jUQ`uJ+jJ`zby#yvV7iyq7K=l=urQG)QR~5;C(=NNE}V4J_n8yPrRN z?b4&CcoCG?C7wi0;44gQ?pzYZ3!f6@zjOs9>}Mn;r3X?on37U6R8$qE1v~!n6?Z{u zg?(RfoZ;FP0TG-qT14=KYRGxuD-^y+pL!yU6XFnlbmcnrEt0P=+E35mmsHvgd_^os z&+w10puBxgL;+)SOf=_PWq2~tD z!qDI&Nm>M^7FAc~#r{iLFx`3b`jg#}bGPq;Fv21tpnCq(q5}5NrMo<*ZwovT6nQH4 zR79Ac=i*@pfGzY*O#b9>_?4X$@~<2YOeAcfiMoCJfq;t z+`~r#B2S;ccrGT)cb820Pbvp}QYr_4ErS1HJ$!fev4!|M&&#a$_=H5CiHkpbDkOOK z^zF+4TS&=Yyz%Ifps4sOiB~U#pPW7oQaTvwez16J^wrwg-NS|W!&F;QLgXPYxBo3y zZYGe>!P1h9`@Z0_7ZMULpNR-OzHmdBfe2mHk>dFO+WYE&tdj5VA#7I#K^h*O?k1&6 zx;vDVQcwgHL48PR69GX5F%T>e69ExaFt8iDyVj29Jr{M?T1CIR`u_2|iwpP8%sDf2 z=ggTo^SS33n3#>QclGe{bhS3?AD^q z1pHY7In1Slv7EW3lbfffyR)68nSkWM2dqVCvOdGc+TPWBWKc+mmkW&xSc}MU(=(G3 zrlrlungNgv@X-SPd2Fo9Y$S_?YlOA2&za#n%07taxU&W_o-cKldHd z!b08EckH-vVh#Nm9 zA|$}e)xoaZcA%XV&&t!o-O)mi&*gUmEu1H&4|5tBKXvMqgqW~V{xE z>xECu$;uQZj*ko-MF`6Qs0Dse4at2hwhGEDD9le9ZM+0?^AI*^YFuz|NN`|)ucxci zQU_^AYp7s~dtVPvPd8g5Ej~Z}9n>P3Id<~g!a2FvdMZZGY!x>HY3|I&#Y~tmd3x6D zl8S;%uUO2}Lr8FNfOkNEzpuBan~PJfqok9Qv&cot*~t->y;6>j*qx-alat6%+R2t@ z>X2^N+up&!#!O!;{TLtZ9Gp8rV;fj}}BlX#JJol`W^qje6%j;H`=8oHdVJ!s0 zfXRv8?rv_b*)9WI-QAr=7z){RDup7VrqLv*R1u{=mBG_Bvv+gS;_KxaNf-)&g_cE7 zL5bI_vMrldR~FCAO3UCzcL3T#C1(~sz92h)Ug@&h#x+%0^ETw90ouZAT;fD;SCJcX zO?MmM>gM6$44@DyY#V0L`cr`wji*D?wX@B!k+e1CcS9}$(pHb1wXCtFv96+IcFrtE z!yQIIeO3e|f9{;3(q(J6wymqn+fXxqx|Pi+|FMaaeBEZi`}Fd#)@4vA)CIKuIHX}@ zs;{qWX`qv)D`jb8B?P+K7Jk##=H}II-+OTLswE5N6~&O3`vNe+L1eAJc)^0@>uWZ( z?%uq)tgWs(#4CK1@7Tn|QEnL?y*<6%%()cGLfQa29;vcOax~!xJzgrm7thSjRtLj! z=vw$r0oYAL%b8Q#>T8xPT$oEp8w-@Z#&bPumMmS-w6_sZX4~tI?9L943m@q_c1lvX zdzxo&FJBKcHif#FK7c`xP~#90k}<(LSdC}o;9$TL2!wiOK9egNm+sti^JH7Y`c=!9 zma|7r#OfSCh^t?|u< z_58Ct&mO<*T9OY~?Lgm{_*)IpK}ybuYbgm%t0 zBEc{%1Fsp&>rPyM`ttd$)15oEZK`kdWk;x_AkuIx!qOd0%`Lk+&%;LyfV@~&k`^Bs z+cr-TP1718)-mz1UTe+D&`<)amhlqg-{kD?n=kT^7)lq6|qv zIDlU8%-vju^MI_4&jf&8fHCjc^%Dp7>}uPaqi(JNdF=HBtJl}9-_+P~2|Oua(2L@3 zvawUACQlk=!Dd%+`}3$0s!W0;k|GaDMH&MEgy80Gh7q;)p3n`xc=PJk-o~vP>o(=% zbZ{w1W0bL0*}{d3m#$pj@fgfBZ!fLJ`XSJF+|+R)Uf{E5C7d=9fF>Sj5{F>u3*vA$ zPup&iUWqklpTI|4ch8?}ttnqvo`E+7OpDrhbDf;*oZQ*P3p*}#Jp%Ma^PIGVh`@k| zATJjlrH0-g1{n~9F2xT9^o5#>m$Q(sWiY}sc2>*7hkxEax@Fax>Z0u2M53cH41>%O z!bu5}5=CiCcdglR^2~*X*6L{!B7*I#y&YMURquu@3*Sq+H%>+>O8&x3`Y z=a{_u>-)~0*uJ_fFKybSiP1zKK(MHkIB{}{levW<09?Ywhna4 zYFaNk9^MO8q$xoqW@xJ7@WXvgcmh33_o&Qm=j!(EtXr5rEiNKB(3cPz4u|YDE;M^v zJ14LB@uHIY)f~xkYn?*A)Z>PJX~K_V`>^;4i1Onbaixe0mTxTwQ9k__KJcmz+SL>sj=2F zq?sgy*D4Sw31x->_QG!D)bhrhb?b5`hPqiA=;~-`lG`cB}k*2VKuOyWFfW6q5ys|1acBG@3zK)KTdiksrB(*+TLr0`7t8eb)H>o^- zYE$8R2Nk&Y6f}4mnWcql(7P9sGit8HNA99o#yjl0mp za2Fq1pvIg@M?)~!1?H+^w(p_>@EB&MFBAw_^i=?wkP=P6@kD%Cp`NLoZ$W`$v^vES=KlSk5XOE9mxE zF@Um`E=`j~YK#J!5*^y`4s;RXUoy$n-b_!x<#0)Q3$%bj^cX5dL?6UpYZ+Ngnl~ch z9q2*?CD!(q1}_2K6c{oeJXTnT&yN5j7oWwTGjQhFFjGj`gs})I)PXd%wto0LSNFyC z-3}{IpVa=M0h#cxw7+yepu-ni4qxHL%AcUE#br=L zWGNEf!!!*^4u|@a2T-UCc0x8OFr0y*E0opfbj_heHiO1uswvaxG-VYAi^gD+i%nN$;aG+2eq3x8R%NNvyPvA_^=SeTe=t{72{05!<7C5fED2N^ErlvY zCJJE5Eyd;#pe-^4vz#$Q;<_Oe5`%_uHK-gByAMZ`N*hR~<5JnubTyu$%sknCLuI8= zpTP=Tb$SY0nxoD)P){KYR8zv>6TWWBnMq8nV~AA#5FpLxQV8jkeq>r=o~GS<>_l%0 zPOZD$N)%P3NL8d@9iyR6?FZP2zEpJ$CiDqq7@spNMR9=AJM09`es+LnIz^g{XEFdf zA#K88;>kc4=Q-C`0e}+&z_){fDnmt+!KA5ZGQsr%ouEQvG6>3a4GADCq0Rs|GLVMn zX(**B_rn}e1P_^>tp}BpA`y5R;6;zY#d@J1nV*rP;P)Oi(VN27R8dtWaa8~{p}?i6 zsj6tOXng@S(U;EBP*DNb1vsU@P!kNpd1Hy`RB0NK!k57)@<0tT`VoVRJXGI1py=BN z&t|hYOhxda(?_1cVX-;HegK;2N94d`hMeq2po!>#$+OJK=?p14p3MNT1D8c$u+o@- zj>s)g@SE_?1I55$igJC@QLo;ziVA;7R3HV3KNJ*Ydw+tOpcpfGhy zR&Xne=ca2*>u~TqLN1bKa0nc|blrZuz|zEi@e#w-!TrP^7-)iMXdiE-HgC42Fhf_0 zLg5XD%vu~8QJAjPUnop1w^hvm&_w?a-X}hQCZ?2+=A>&$Yjg1&5@04YxdetFoj-tO zT~e%O`2jNlZZt5=1Va}v6ROV3vSFE-#+Me5C|p@6qr_(r*cse`)bPrbzTp^VLhdun zgfX*xu>(iI7ta^KuoasfS3rJny8+>K4-X|7I0%pQ3wL! zY*@?+sKiX>V4_py5)P%?1I2r|gq&o58XvIR;DI8GJ$dtDI|F?oFl0(I@GSm7FrP6w z1PUXAE`twQxe&*n@d;RB7=R^6+IptlUso|-|E zqvFS}E>_j<21~#v{vUxQh7420>6zMiMNFQ#&^2+#*6~)BhFTn$+@#0^9<2~b5f~(5 zCUqd0l(cSv8t=UWiobyp%HV)vC}113^sHS1C!{T?49slbA#$=e)#EW!sL~WXojs@! z`i)2>kbn${GOe}@KHu+lK=Cn5q8Ip|0GNbGUS2^(&EMZWGC99$<+zfA9l73a)`r4v zS_BeHsR&7{lE`>+CiM>zC8=(?jsk!ry8Tal3nU?u8>XN})Cryyomo_0owDxafw{qc zj%GS6Y_22`=o%$RTA2)LJA*oiMj}n9TjMeyNYw3n;!B7`nw*BB8p*&jbi;zG);04x zE*>c!8{%%I&w<&FN+shd#J&rVG@e8xP%~+RDEP278{-EXy!ShS;UjY7h7D7rn)$_K z>;ibiwsTjHED=Tf*cfo>DKu#cflMA$2D=I}fjEOUn5yZ#w4s=#6!jN4LP36*3d=qu zsc_5XS9c%(`QXNm1&Kk8enCTB=ny^3+XNsZ6aX19 zY#2_@D`L{z9T+m=?VCGIb0$Z4TkCV6G!;rKEk@F^WD=g3MUy2`$E<5AHIT8J7UyP! z`I#6dUnn;a^D<%O8A`zCi+K%RoLn6s@R zlOgAjJju^e=e?7OZcIeCg9(RGNhM|JGj_cIOvI~)ty$v(T`l#xI}!+K0473uAeoFO zWiu3rwBTheo2N15jK=?shyeEz8N;Z5IhU{xnUAoUOll^WaELO0b8up#TOas$bv>Z6lwze=WHFsX&oE-R4Bs9a?(nw!V2;-Wr2#1D59F>BnXdC3{>%knS z>l`<4P0OBr?c3{DEGo>)%AQ$VQM09W@4k+vRfWlsp<@$MGiQJqa9ntRQ@DeXp#hIT zpiyN26`=}?LIT&oFlV^7!EhbE(AYgXrEvNBZ7tyJ3@{DNTh><0oHE+o#>Oo$DsIx0 zq$v}}MFso1+G4d~;7N4C0DwiP5UC_hs;-G~z7ZE3kZb9H71-6wZ`4R14<~Ez+zp3C zjvoFY5o5=V2ZL#dKb*E%m>LU+cnVFq8y2BLA`|dzLkqK6rqU+HP(RUdO#=f%BQUj_ zTVt-;gGNV0!dZTRx2uD-rMVtWlSn1X0X71sNhE3#`KBW*7g{L6QI{Kd3=a$n8s+cf z?hM9kLna22-kPa`=TfeaHS9_o($Ui&bkOlZXBrJuocu z{*Q3|IPZm6Fi-t&msI4Xk177>-v^!kH}*O^ew5?q`B(lAvd}m6`RC+*{Qge(&vpT4 z_m6Y?T8Y&vKUIT}hhHQ1GtVxJ`0)z#Df}5u|4`<2!jD!!VcS2D`pL%&e@qgY$9|H} zKNf40`++Xdz5b7MemY^lMvp6C{2e9xb9FdL>R|_4x{`t0d3mH#2*vVZJ=wEuzX4;1zJhYAQG`rfa&u0yDW zuUrt*>=#{&zrr1%@L$9o5Gh7qses(IU&deDF7;&vvVI+VvDp6${_2l@CI6FOEXQX3 zO7>!L=w}_E`mZgvd)AHzE>&{;b zp`>5W9OL+xZD{-N;XnWV3sC&UbMJ@N9)7QdZ9hEt#lK&?-w^*6>BHLkUII7$;&%VV zF28#K^uO@egJ1kdLpOi&FIskg*|-b+u?pCHnedCAJnuG$MExReUtwd0wLkYO3BTx3 zAjW_BFJkr;Hc1%&=C36DqDS2`@PS{%>?>^6VeLQlm4sjPr~~7F@fR`s3Y(J{|Np?& z`xRDSeRLk<51~$e*LC^-2mZgi|9|)RJN>)fzF6EXf4_VFY5slf@1B2uxBmIv`ZxOb z^?&#J<9DyWe)szG_pQITVbecCzj^uga%#x z)fM>k{NdM+z`w2E-Tk2Ui*2BvpFg45zxD-$ef;*Zzcqg8`QxcC&L2_suk3&?&tH-J zFWiTAe9*ifzlDfj)&XygKj!=4Z|U8?ssdlfA0XimAguqFs$N(8(B#j4{~|T`Pxupv z%J{!DtEXj`f7a@cZrQ&Ve*|$GdfJGe&iB&rqxOFJXYo%H?qR`iZr^x@* z;4hx*{s$P`PTUu4{`mpxcn`(7$Jv^G1b>c@Vq=df_bB6{FBe?@+5l--D+LGk*H}vy0=p0R}x_^35!oGk>ZE7ZZPM%K1he zaH;3N)yrQ?J3RLL-#UDQF(wc2QE4=DY77Da1O-RY-ad*hFfu1qlc2-NuVJib@555XdAM#biiV`ncz z7=x}OyXzNAS0nWFP-|P~*_)4_zkK=p(T%SCtvmMJ#*$~DzG4x2 z)wzBDb#Qr-2GL;pzP!43d&ezED?t6h1;NSfosY$DU%tu|4|ogyBE=8(H6Db=c}P=? zUbgSJFMb8qfG4N6R?NxGox8NL>zVlNi`U{?%{wn6aSkGg(Y@`5#cy7S-*#0@80iiE zbp8B%yhlx{x&-;&zS-Y+7By!fQZu^UcwYSSwfOv;QNF>!zRuPbme!8mfq_23rPsu- zUWrdOoO3P4Zu~PPzc_V^t{777CeEp<4s49I28?ryt@yHUyE-~^@^}_ zj+s6=*hVKqFj&avn1y@f{3(7T-q#9wQjlylIATAftEIS zG2~hV#)CcZ{+cQzszzJ)LZM~8@kI-(>z2J;r4b!r}8pMCSxwiHV`&>epaT$eU&L8ud2^LER;VDF3Py1GPXrMu3Y zI&m!JDDK$tbGz(QQZi>3LK3X zhc|6mxnjdb6U(gqx5eUT+Ydc!gD6bLYv()g_jcy($L~8{l>)7UH++?Cn6wTME0E{r z4$z1Pil^goyW3h@MQx}xvyIxiuTmtw_wd2}CzpnjV+y;(;y<_5pK18>t@udxC`q~b z;G}gyY1!hk()2P~>9T}`$Cqwiy?o=?kO9%@7sTQ_oAa)1y!7Xjb5l)`gr5Cy6Kg9g zeG412G;_L{t!Bi{1MNpnoZO`{)LwM!@sl&_3()HQx31orHXISol&5EIJw7)rul>ro z)bq4+*PCKnvZv;4+1o%;Hpsbu;okRZr8N(EogM zZ0w54ElVp7Y{TQt*Iqu}wP6WD4RxnZc6GRFqR{4t*OuiTcyT!2D>OBT9yr=wWA33B zowGv%l-RzrdXka(B9(RKM9P){drCSJoIJ$#g`KLF4 zxN_(4>TDSKP34r+>cQ-3VFW=ThUvhqs>WaWfm*Uuq`$qYv32DC+E=w;!M02ErpkgR9Yj zZ8xu7e%#<}syJj&Z;5O)ShAm@j(1|p@kdv$U){PJlWv9>UEI-p`OL{XO`hhOGIFvI z=S*5kQc_B~Pya!3>Nd&6HJ2V-ICpVd%PwpZf(ff@%l59L2d^HA8X-^`A}cQsAybET zN03vsnRD*^qX%6l&NOb_hQ#S;uoxYv-*x`Pk&8DUx^{Fg#IJ4JxwCCY>&}kO!;n;6glWVSlmY)hRpuhlnAM;$ zCB(->ZIZ1=?qeDgGAUGxAa~2svIV7!%F7onC@HOM#9safm3eV>S$XZQlUHuvyLbEY ziMBP1N>>345mT81VF=t^Te2L2GhIG^Hl=Ie+4GmLo^7oxS#=fC3y=n=iq^8~LlEux z^aTj5)CB>aE}uVj;_Su!D;92t#BSyJbalnCJC`orzJ08=AYpW1VEClj8&2K1dEv^P z&c$nPb}P?nbam;*M|ZD1zOyC4(bCS%$Is8()z-p!YRiL%*B;zkx9q}u<$1ZH{pGED zPnt)YyM>JoaIv?$T;6!=)YW}~)?@vwKhd7LK2hdlj$S@}tG)_!{5$Qr zzUtzkGtKVqV{AXxo@~=Gjw3rx9X?;V0b1RyJ)4RT?>X4)zGOiX?9wIgkdJ9ix_E&xfcMoUt5?(M91j*bjZTCpxS(3CTSNn{DMw7|z2tjE7j?EAr#F)h>uOW(hey(VK6cJF;*CLXB%~Ub$U0C)jOkooFq8UG3T$ zCA-@ME-au0-;YTR1CHl-$I6{V)S zcDCb4?~xXEv#eO=+3O$Nf3$5W5|^EM_VnT9rO~lR_wU)$3I#G73ESEhd+BRx(P`-+ zH0RQ;XMespxKO-j!JX&N#jn@K#GXBUU{8B?hi3bssvt`ez8`T)2F)7QFVA0InwNK? z{PN8QPamy~iP^tnOYT`-h7S1g;OHBIu9N>e0(!= zc*3gvC-!YybnNb;o%@b&Et*CgmYbiA&zd=I^xlTX#%(QiLntwGcbz!UytwIDVe{U@ zo3jF?2Ze@5Mu@^CBO}7oBWU3<_C8xy)vj4xTRCuGbZXn-&MgbdPUWuH(y%qj3`vj# zR0fyLp|H91GzOi{m2+5CQn+yO;yDU(4oN#28Y<@OLZX=~DmG0rKq|{7c>86QkM<6l zSF=2I1#S82na(+Z?jf0lxp);r(Uv7E@=^h#kvu!6Jm0bxVbO%NsnaqO({xD>I3+!4%DgOfyhTxI{;Vm<2+f^RFmu)lH%(-}U~7Ha*rhGYIsGq)Z zan)SWL>TuoXE)V1u5qQIfm~`Yq$E&9GbB|dkg7m=s6sz2k1bm^Y|GC?&DE$rcY8noe~lfFe!rW90Iyis((MO{mdh6d$(kjAQ5Q2;-a>#jk|+DcS5R!qy*?rNrdUn zF$WqNcFdWB=}r-9DX3guvt<+L&H>UNbm#7^Yw8!yT-Hsc8ZAp(x^&^@H7+KKGVgU~ zA6d5R#FRZv%a)aAEJH9^!veZ>=Jb;J1+{fvW}33{5OcJTv`A78)18Bd${UTJwc^B% z@{;1|bKmJs5n3TiF33q;);tDurwllQgrKLg5SvtXm~qDO)3-Yo%_&ICn2$uDI;+v# z$r(j+au)3=@;2k)e_t*!=aitCrPvcGl*N8|m)kslK()os~x{KTO>J9q9qeCqU3h~nPfv3ly5P~_3AIz&qhkH<;xMJ7A%3i_nC9&&K%vnp*&BNG!>!hdG8e8@>y9kav+e|oLPC<88h+$ zU@P*#6esk(i86g0T-*aPw^c)(B@smtOUS-W^a zls$beOUoC?h~^??u?IpCmX>}=WgFV|9XPPJb$!VsPc!piggj=Wfl&KQPv zxjbdrz~$9z*RPr#?%~bLSTq&MKH!niK36a|l~r zz#3#jv`1oYswgXaQh=p4o5|$pjtHERJwue9o8UfXIjV-eCuAD!J!SHQq)DD!0>{+Z z$KT%@!u}D2eu;?_rcCyTtbVUP8^YY_-O#kK_=&V*@~aYKgeA95$P8>>J~P(+Ub28D={k)?D42&!>|tMtb_Y z;EcxmSvg~yPmw?*93tScwS8l?2p)c30p_A3Nc2v9<{G;>x{gqDjj?f#ou2r9^C@7P zjI&Xf7cLn;pdN*>5f$I8V=*Jr|ngc-A@ zh1eMxhzwKUA0FI)a`}*(?dPQJg??1?lQtqo6Bag*gPE*D;*PKV^fpiLat3p z_NKDT&_aa#CRf&OTeZ|{)PPAIZl2!Gh8!%gWD10bAyYMRJUtT~U27elY0i@Un=0cX z(MZchn+{yKxMWOlVt|jADY%dazxXLk@VCw(s>lu^@%ffUT!)fVxA!*8v9BhYH?(w# zU$2f062&@bbNGTRzNV0-DnGDaKl%tOp7|27_~Pz$`kFq@^A>Es|7cZgP_zY=p3B66 z-+0;nV3MZ0^3AdzJlwrvrZKpY(U7ATy(S|`cOp8GpDy28OfGN!; zDRH3%N^E*B`q;SzBaNA1_2u?-q1B|UQN4PR$PkZ*j3_f8W{%o0CKcQO( z)1e3Cl~|DI+|dcS@u4si+@~$>*`+d~60wcPrIgG)Mw8CEqJ>JcG|?kTLliz@szRG`(aO3t3E24(LN3 z9y~h7h{dAQNa^Sg1_fO2TTgd3Q}|0s4q-V@nqKb5V^FCy8Qq@c}1Uw+q80t1zLACAgOd2*I5 zk4hn^f+E9{s5AynN0j7k$=8sB4W+EC%n%tlQnzZX3K&kK64b$7XM!|IG!~0O8kIF= zq@9tVdr!%LeMIW!bNBa0TX1Pa95MloMkPLm`sA7N!~sHe8tZn7!;^O3BXKQQk=;q_^X)PqGD;J@@%HUdG&%(~d zP2}Fk+0I;-fm2p2MT3=1Az5p|5sTPX4> ze*pR%;wFW3&WOS6_vHmfHSrPlX9c8?&olAov_F)6`%3)C4oQF1XlWECe)Bcr?~A;C z``YKD0#e9V{Q8^TMBlu9ZU0x5B$578Fadt^dLzCMtLE-1Ng$aM-^&j1oWy(kqVD$~ zh31QUaJuzMoYh?;No4r${d}`Nn6>aZ7psv3+Kd?wzkj_JuY~+k$l&7<^UY#!_+acp zi+e^M?ABuN(2wM9^_2b_@r6GSa{GQ?eyHSIu_bJNdeWKiO1uJ_7uwZx`me>C(9o+r ztv-m3_)I^>lb+{)E556t_n|R8`2AM=Qef0`@)$+KAI<-x_4(2E%Kcz}{^viLWVtl!*p&AVUKcUXZTCI6&P3%=B+Pyo}{ zAkkmw>-AsN*PsZn^+4qp>j5nw^|kc?=rU}*A?G%y?frV=a!Y|Dw%+($w|}IFKUvQ} zUZC+=?#MCNiF5z5bU1YddxE%Y|DKMH-5rO)%2N$TyF+0c-?exD;nNo{U%qhaaL3M0 zu)SxYKGo>qp3V!8-lmEBynT3XZ_63XlA_Rz4)3`DC&l*;HLP8??Fc}|UYy&t9W|$8 zwu(;di1~O?tiQXnvwJ{X*%`6;VF#FkQ;|wD+IQ%c_-=8atCNj^wl)N-a}HkoNc?ht zGq%-bR-=OlUWw05aCh+wa@2vnBabVzbWeg4;*LhJfr-(T-H*lRBfY&+7f%|IDo_>* zIQlMe*ToN7+o85-%LVbHgrKk`XBT?urfDe&wRqajqUYkSdN?Fq-TFqn$S+*9Wu85Y zmP%J-u(;X+eYYC%%chwKZ9Xr)6q31q>xQxdQNBh&LH?}iF2*zt-#q%J`1DeQ+8>KI zg%n*qe(dOp6UUE>j;VGvR_)KUWomggi61ngLx;t$Hic#00^>~A=@XEyc(yevKR06x z-K$RgcHffrGvb%W<4WE>cyvGQp2FQHM@z|2yHlabv^x$vO7yNZ!}n#h)h*21gsr5XW3Ht+pZjeZ`?MY zdUiXazeXrSE=UhStSKc4q&JEzr9AGz(_;XI-@W&RxWx!29*}@^DR~(0eQ`E>#n0L* z;XQ9Z{pZsn!4PSY1Prx5c+OSNA0OX>9SdIBe)j6kT)zCkzEVI^MMAodvi+30``6Dj z!uyAUyBd$5xL9hcE+;cYH0Y1PGD9?D+RxrQd#qs#HoOKjqb=J`pT4$pf*wvmG<2Zc zFj7RP_{o)1TkEmG2_v_*;p~;0w|35sbhfl|i7Gqu^zr?!O)D`I5RCZMn~&VM`}oP- zOJ~kpzW@B$<2#4eFUCL&^3|w%eY*<4{x4mSu+QL>|i3bzH#S)6KBt# z?>e!+b>j*cq&Y}Ngo)p-J$v@=@7M)61Q5S;^g${sOG_3mES|sUBdKgzwxX`NqqDQU zsdniSI4S|k!18j<%B_d5+`V@fel8!}vSP&t!E9c=MfqZS8x(Y}j<;>5)kgpu^r!M@P@Z#@Th+si#-# zpliAXvt!+vYa4ys-TeaJ2_{Eq?K-mQ+R0TQ*wFWnR_r{v*4^JLWzk=P>F%@f?r=juSV%?JLQkD^p(4noduYqSHAP^R%A2?6K;p>A)NMu1TxKfEkIlvoUEI?S zwa*-f(7bi0H~6J2Shi?-?AVx?*x0e-LLp`ek83q*>**R1LN)uZSA@^lQnS2r+45ye zmn^AVIXAazyg5h9YuU}ci&5Lg>(^?+CpE39t6N=FSs^M{tSWYoiHY=Kcr3enwYGX; z>&piRV)Bmd+S!=0MP=*O%}q;Pwe|E<1pd39JZ~y2>3k)=J#qH=-8*-t?NZpex7MFA z6iu{uzaf6pp1P*#(xv?q6E>~PSfx@^R~SDf++j|bWy{SgTNl=^KfG(Xi`C+}^XC^9 zrp#9@ESr{p=D?8?&IV-%j?}KKs6Dnl8%G>JCNg|%)M!z->gX{pQ=016HtOQDb{}0^ zoL91GOKe{?C!V#l(9B)rYUtu=962{>cBP?WeB;LAoV1i#6^VTviW0JBO_{c#rK!28 ztvWCLeK}jLIZ{qstk?Usj86uW4hoD)wZi1esPDyb-98=_!Z`v9* zP~Jj)kSWCXlcSj6`l>{4+q4i2%8M7Y?X5P24U!0@ODckJ_EooAw|55|lvSg`iu$Gk ztwGWf2$Rc!Jh!rz`bD#mNQ^r2N*1l3A(a2)yCnwBNS`S0X%t|&iy#av5u zIa!&M!2@Mvl!LdQXfMixQ(+ifDk3DBS~Pp*+6e}l3UY8nK8zgF4pUT7^0fD288^ME zX3h5X`H`+8tlgrEIxn4SU6wq)TP#H=Y-;89?QQ$^x3{%*95{OH@Xqo{{+NAN-UEe9 zoL$#``1r}wr%#?ZzGrP-tPS!2u>?!^=;WD|>l<5Iw$)bTO$r8Mc@7$giKS?AT6TVZ zR@!(NTh$pLl@cPz-MfzxmCYm%O99hpE|f>e%F=6GR!K!gapqVzQ%fihGUcAvA1^#h|8XvHD=UQ?C?Sf$^?x`p5SU| zY;Eu8Xg|W($UQzODkvLyfU*>!(vc&h+;yzHy&a8obo9*~JuGy*q5?*hAgB~5%Z5NF ze=}`gFW*rPn6l)u1$N$Ami~^RFx`Pno(ME^($^356n&6MmY%<^p_6$O$RwC}jjV=i zM+cU7m3e5V3qU4?{#u3>rUA$V*$U09_@kpUn#l7SbA z0*Fy2gJS0=(@SMQFQq{lNOrK|u)#P#D=LEmQIS|$+7ToAq@oN7P?P;toI{0L3=I*O zwpcXN82tfK*+^jk$2-xI&ZNORLsSYK?=VhZ?wxKNAOQgxO(&N|FlZDa=r$sWuIV(< z76<0P!Gi`3mXT2$wf#W8HjShSi6)3hW@wrwM46EkF#%MhhwT(^v|*BPAVx&0fW`Bh z93SFlZ|@$GvU1b%5CH`e6ig7Fs%@-e=mJOQ6JjD`CXRK|rl=v4EF`0fXBka%Vby`t4-PS9t`{E?up8uu8gIS?98XIb%XW(YruZJ6+g}z1grcHmo&1t z3~P5t>Av2+2E*AoL)e+TyQC0&5c;VB49s4yN4=*YjUvBd!GaLv?=ncC5n#Q0NBQIb zzj^!02q;LPq36E7BYQ1AF$miz6#SDB1v8mQW1kCuX7~HR1xy%92u=B?;+PQ#^l8V} zxno3Li?<`nH*6+v#rM^}xkY~~wodrg2KbFQsvAxBp~j#8el4D!`mOSi{yqBc|J*#x zE@%C{_IBcjE(w&^N~yw!x12*7yWjf&u)E@r_aVrhH%& zzA0ajK@zDa?R_twPuf41&vzTyugZ7i1ZDH}tt)sCu!gK%-+Lxcz)xPJ9ls0KNmO3Ay<6xoOoq3?9LuNy*ANlQnC2> z#b+bq>#J6-TwT;DUg+`a)K22H;lbsz7u9d5s5qEralLu%t#sY=q>*%Ol2fum;q{8q z7w#J&$y6ke@_g6@zI{#|vhM@XKtx}3>3AJ9X8qAi#m)kO+b;2;)o@#l)*ZS3@Y=OU zclW{eLWCgtVeYnL7cU;!DuOiB-Tr`OEuEdsiyXS!UyWAnJK5gQu;)a_((dw`&hLqL zF*2~9da!FPJXqSf$~E4f$LI5G>-R1~sIJ~?ZmAvzj;$E>Ti2jP`)6d=WQtPLl4G1$ zS^H*he>ksV=hn^jn^t){nPooS+Wfexe0M|Rw&wM|ra^O`ZmjPNcA5&i!pV^pN0Pjc ztSKN?>s!S~PDoFmII$$qygGl%@;GKlzz7Yhihh8?w92^A)lJ6T?eFE)Tt!4P=9b$J zz}inL-7+T=>K8w2eYT@e=-hZ`PF#2WlNPle+_(2=$AXyd_In_!?5a(hmZuBg^cicv z2U74)&dW{oQN|WK(>+jBe8!CQ3|N|lL7E2|KYEm{mA1e69bRZ(&2o7d}~=4nGt>bf@9+x%q=V|Ep&DK0vsl6Eg9u(EaY(cOnv^0=D3g@ z>m7v*CY;vE4`VNA_cIz9Elg=9{`35w d(ewJ0-{C%=*XN7+e$*aYsQ!oc?tI_g{|8{AC@TN} From ef9684204391ee0aab89e061fa2d7bad3373af8e Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 18 Sep 2014 14:35:28 -0700 Subject: [PATCH 065/555] Wallet themes switching system + HyperBlue theme --- src/qt/bitcoingui.cpp | 138 ++++- src/qt/bitcoingui.h | 10 + src/qt/forms/overviewpage.ui | 2 +- src/qt/res/themes/HyperBlue/bg.png | Bin 0 -> 82392 bytes .../res/themes/HyperBlue/cb-checked-hover.png | Bin 0 -> 266 bytes src/qt/res/themes/HyperBlue/cb-checked.png | Bin 0 -> 266 bytes src/qt/res/themes/HyperBlue/cb-hover.png | Bin 0 -> 395 bytes src/qt/res/themes/HyperBlue/cb.png | Bin 0 -> 395 bytes .../res/themes/HyperBlue/hypstk-watermark.png | Bin 0 -> 3600 bytes .../res/themes/HyperBlue/r-checked-hover.png | Bin 0 -> 363 bytes src/qt/res/themes/HyperBlue/r-checked.png | Bin 0 -> 378 bytes src/qt/res/themes/HyperBlue/r-hover.png | Bin 0 -> 315 bytes src/qt/res/themes/HyperBlue/r.png | Bin 0 -> 315 bytes src/qt/res/themes/HyperBlue/styles.qss | 564 ++++++++++++++++++ src/qt/res/themes/readme | 4 + src/qt/transactionview.cpp | 1 + 16 files changed, 717 insertions(+), 2 deletions(-) create mode 100644 src/qt/res/themes/HyperBlue/bg.png create mode 100644 src/qt/res/themes/HyperBlue/cb-checked-hover.png create mode 100644 src/qt/res/themes/HyperBlue/cb-checked.png create mode 100644 src/qt/res/themes/HyperBlue/cb-hover.png create mode 100644 src/qt/res/themes/HyperBlue/cb.png create mode 100644 src/qt/res/themes/HyperBlue/hypstk-watermark.png create mode 100644 src/qt/res/themes/HyperBlue/r-checked-hover.png create mode 100644 src/qt/res/themes/HyperBlue/r-checked.png create mode 100644 src/qt/res/themes/HyperBlue/r-hover.png create mode 100644 src/qt/res/themes/HyperBlue/r.png create mode 100644 src/qt/res/themes/HyperBlue/styles.qss create mode 100644 src/qt/res/themes/readme diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index a603f62da..0135513de 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -52,13 +52,16 @@ #include #include #include +#include +#include #include #include #include #include #include #include - +#include +#include #include extern CWallet *pwalletMain; @@ -90,6 +93,10 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Accept D&D of URIs setAcceptDrops(true); + /* zeewolf: Hot swappable wallet themes */ + // Discover themes + listThemes(themesList); + /* /zeewolf: Hot swappable wallet themes */ // Create actions for the toolbar, menu bar and tray/dock icon createActions(); @@ -380,6 +387,38 @@ void BitcoinGUI::createActions() //connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); //connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); //connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); + + /* zeewolf: Hot swappable wallet themes */ + QSignalMapper* signalMapper = new QSignalMapper (this) ; + //QActionGroup* menuActionGroup = new QActionGroup( this ); + //menuActionGroup->setExclusive(true); + + themeDefaultAction = new QAction(QIcon(":/icons/options"), tr("&Default Qt"), this); + themeDefaultAction->setToolTip(tr("Switch to Default Qt theme")); + themeDefaultAction->setStatusTip(tr("Switch to Default Qt theme")); + //themeDefaultAction->setActionGroup(menuActionGroup); + //themeDefaultAction->setCheckable(true); + //themeDefaultAction->setChecked(true); + + // Default theme + signalMapper->setMapping(themeDefaultAction, QString("")); + connect(themeDefaultAction, SIGNAL(triggered()), signalMapper, SLOT (map())); + + // Add custom themes (themes directory) + for( int i=0; i < themesList.count(); i++ ) + { + QString theme=themesList[i]; + customActions[i] = new QAction(QIcon(":/icons/options"), theme, this); + customActions[i]->setToolTip(QString("Switch to " + theme + " theme")); + customActions[i]->setStatusTip(QString("Switch to " + theme + " theme")); + //customActions[i]->setActionGroup(menuActionGroup); + //themeDefaultAction->setCheckable(true); + //themeDefaultAction->setChecked(false); + signalMapper->setMapping(customActions[i], theme); + connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); + } + connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(loadTheme(QString))); + /* /zeewolf: Hot swappable wallet themes */ } void BitcoinGUI::createMenuBar() @@ -419,6 +458,15 @@ void BitcoinGUI::createMenuBar() settings->addSeparator(); settings->addAction(optionsAction); + /* zeewolf: Hot swappable wallet themes */ + QMenu *themes = appMenuBar->addMenu(tr("T&hemes")); + themes->addAction(themeDefaultAction); + themes->addSeparator(); + for (int i = 0; i < themesList.count(); i++) { + themes->addAction(customActions[i]); + } + /* /zeewolf: Hot swappable wallet themes */ + QMenu *help = appMenuBar->addMenu(tr("&Help")); help->addAction(openRPCConsoleAction); help->addSeparator(); @@ -1197,3 +1245,91 @@ void BitcoinGUI::charityClicked(QString addr) exportAction->setEnabled(false); disconnect(exportAction, SIGNAL(triggered()), 0, 0); } + +/* zeewolf: Hot swappable wallet themes */ +void BitcoinGUI::loadTheme(QString theme) +{ + // if theme selected + if (theme != "") { + QFile qss(qApp->applicationDirPath() + "/themes/" + theme + "/styles.qss"); + // open qss + if (qss.open(QFile::ReadOnly)) + { + // read stylesheet + QString styleSheet = QString(qss.readAll()); + QTextStream in(&qss); + // rewind + in.seek(0); + bool replaceMode = false; + + // seek for variables + while(!in.atEnd()) { + QString line = in.readLine(); + // variables starts here + if (line == "/** [VARS]") { + replaceMode = true; + } + // variables end here + if (line == QString("[/VARS] */")) { + break; + } + // if we're reading variables - replace in source stylesheet + if (replaceMode == true) { + // skip empty lines + if (line.length()>3 && line.contains('=')) { + QStringList fields = line.split("="); + QString var = fields.at(0).trimmed(); + QString value = fields.at(1).trimmed(); + styleSheet.replace(var, value); + } + } + } + + qss.close(); + // Apply the result qss file to Qt + qApp->setStyleSheet(styleSheet); + } + } else { + // Clean styles - default + qApp->setStyleSheet(QString("")); + } + // set selected theme and store it in registry + selectedTheme = theme; + QSettings settings; + settings.setValue("Template", selectedTheme); +} + +void BitcoinGUI::listThemes(QStringList& themes) +{ + QDir currentDir(qApp->applicationDirPath()); + if (currentDir.cd("themes")) { + currentDir.setFilter(QDir::Dirs); + QStringList entries = currentDir.entryList(); + for( QStringList::ConstIterator entry=entries.begin(); entry!=entries.end(); ++entry ) + { + QString themeName=*entry; + if(themeName != tr(".") && themeName != tr("..")) + { + themes.append(themeName); + } + } + + // get selected theme from registry (if any) + QSettings settings; + selectedTheme = settings.value("Template").toString(); + // or use default theme + if (selectedTheme=="") { + selectedTheme = "HyperBlue"; + } + // load it! + loadTheme(selectedTheme); + } +} + +/*void BitcoinGUI::keyPressEvent(QKeyEvent * k) +{ + // dev feature: key reloads selected theme + loadTheme(selectedTheme); +} +*/ +/* /zeewolf: Hot swappable wallet themes */ diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index bd5e94c64..d5e185ad0 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -100,6 +100,8 @@ class BitcoinGUI : public QMainWindow QAction *checkWalletAction; QAction *repairWalletAction; QAction *aboutQtAction; + QAction *themeDefaultAction; + QAction *themeCustomAction; QAction *openRPCConsoleAction; QAction *blockAction; QAction *blocksIconAction; @@ -123,6 +125,11 @@ class BitcoinGUI : public QMainWindow uint64 nAmount; int nCharityPercent; QString strCharityAddress; + /* Themes support */ + QString selectedTheme; + QStringList themesList; + QAction *customActions[100]; + /* /Themes support */ /** Create the main UI actions. */ void createActions(); @@ -213,6 +220,9 @@ private slots: /** Update minting weight info */ void updateMintingWeights(); void charityClicked(QString addr = ""); + /** Load external QSS stylesheet */ + void loadTheme(QString theme); + void listThemes(QStringList& themes); }; #endif diff --git a/src/qt/forms/overviewpage.ui b/src/qt/forms/overviewpage.ui index ffe51cb3f..5792e7055 100644 --- a/src/qt/forms/overviewpage.ui +++ b/src/qt/forms/overviewpage.ui @@ -237,7 +237,7 @@ - + diff --git a/src/qt/res/themes/HyperBlue/bg.png b/src/qt/res/themes/HyperBlue/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..e084372711d1f9a3c38bfb1327cf917665c1b130 GIT binary patch literal 82392 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 DO11U8 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/cb-checked-hover.png b/src/qt/res/themes/HyperBlue/cb-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..04ced7ae14d3fdda7d4900970f67b51bb0012a08 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%hY$DvT2;bdL&IT$XR#7 zCx%DS4mHy`JrBwBx2Y+Zu|DE0c+RMr(|9FJLAJq}nPUUfNAV463s~eQ+~YoS$RUR1 zNp{jj1}5p$JG*ood5#^o_V!(H&C6MJJ>y3%9Vw;>&hPC6ntlFqh+aOloH0jOr>ODV zMy8;>4mpkf%w9H(s{M>B?G*lX`7>`jahK=F#~&sOEc!(l1QHk?Xt>5a5{WAUx|_k% L)z4*}Q$iB}In`c% literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/cb-checked.png b/src/qt/res/themes/HyperBlue/cb-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9993f89a6290754204c5bd472a2d70b7a7135d GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%XVu!*)+~zJ(8vvgTe~DWM4f?7Up3 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/cb-hover.png b/src/qt/res/themes/HyperBlue/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e9a393e9044ffdac6a4eb5ee9ede6df0f2fa06 GIT binary patch literal 395 zcmV;60d)R}P)kcs zQrPC>psp1t&6tlUMc#?Wqe^Bl5hvNgO}yX|M|!tYG_}Sy`3~PFwEP+C=-?~7v?WrO pZF)iMy}x^j+Uvu=_uu#xU;r0=T{8C4NKXI&002ovPDHLkV1kdss*eBw literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/cb.png b/src/qt/res/themes/HyperBlue/cb.png new file mode 100644 index 0000000000000000000000000000000000000000..986a9165cfba6d988629fc524cd703e56da5a377 GIT binary patch literal 395 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 JPDHLkV1l!1g(Ls~ literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/r-checked.png b/src/qt/res/themes/HyperBlue/r-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..f267e78dddc4ef4a225eb296f793f546066fc715 GIT binary patch literal 378 zcmV-=0fqjFP)Qqtoq(7ZN`v^Ppz>hA z2y$NU{LKnL_HiH%2AU`Xr0alK6^L&GaT8F(6Ck|~h%Jf}eILMVss!TcKn+qrdL
        &VpKY*MZ4Kfgj8G@CiHocIrsWFJ3(6Y4^5&<8ojBsXZ%=LhGxPW7k2NW5__wu1&S&~=n>>b6kHezZ z4BlCMv)m(ooh5V*yZ8o0&A6lU=Gf~lyQLiX;5P@KzMS3dhkJUW9Xme-?`)Y1%Rz?9T5| zJHO3OGiYo*vmh#O75l=oV#-r>JVg|lt9NvV7aEGVX#Gv*XJljGQuI&>atT}y^eBU; LtDnm{r-UW|C#ZT0 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/r.png b/src/qt/res/themes/HyperBlue/r.png new file mode 100644 index 0000000000000000000000000000000000000000..fba9037c0e876f4a600c9ae8a362872c5b8448c7 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGejIdb&77m!Fa#}c_+cqv&1k4Uh3%uie;3*|FtHAemqeWN4vIvEHjcZoQc5Gg_@JNI5mrV;^DLD3t_;WW_XbI@I{$hOc zBx6FOgA6~9tH^AL1x#rUI;=;2H~ugNy6S9#R6vdrD+7xJ!!{ug6=x0SJwT5#c)I$z JtaD0e0sx-qaP QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + border: 1px solid $accent-color; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: transparent; + color: $brightest-color; + border: none; +} + +QTextEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; + padding: 4px 18px 4px 4px; + min-width: 6em; +} + +QComboBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +/* Up&down spin box */ +QDoubleSpinBox { + padding: 3px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QDoubleSpinBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Button */ +QPushButton { + /*background-color: $main-color-xd;*/ + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + /*background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 $text-color, stop: 0.07 $main-color-xd, stop: 0.93 $main-color-xd, stop: 1 $text-color);*/ + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; + min-width: 6em; +} + +QPushButton:pressed { + /*background-color: $accent-color; + border: 2px solid transparent; + color: $main-color-xd;*/ +} + +QPushButton:hover { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $accent-color, stop: 0.5 $main-color-xd); + color: $accent-color; + border: 2px solid $accent-color; +} + +QPushButton:disabled { + background-color: $main-color-xd; + border: 2px solid $main-color-xd; + color: $main-color-xl; +} + +/* Toolbar */ +QToolBar { + background: $main-color-l; + spacing: 5px; /* spacing between items in the tool bar */ + border-bottom: 3px solid $main-color-xd; + border-top: 1px solid $main-color-xd; + min-height: 40px; + padding: 0; +} + +QToolBar::handle { + background-color: transparent; +} + +/* Toolbar buttons */ +QToolButton { /* all types of tool button */ + border-radius: 0; + background-color: transparent; + color: $text-color; + padding: 3px 5px 5px 5px; + font-family: $header-font; + font-size: 12px; + margin-top: 4px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QToolButton:hover { + color: $brightest-color; +} + +/*QToolButton:pressed { + background-color: rgba(0,0,0,90); + color: $text-color; +}*/ + +QToolButton:checked { + background-color: $main-color-xd; + color: $accent-color; + border-bottom: 3px solid $accent-color; + padding: 5px 5px 5px 5px; +} + +QToolButton:disabled { + color: $input-border-color; +} + +/* the subcontrols below are used only in the MenuButtonPopup mode */ +QToolButton::menu-button { +} + +/* Progress bar */ +QProgressBar { + border: 1px solid rgba(136,193,208,80); + color: $brightest-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + /*background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 rgba(136,193,208, 100), stop: 0.5 rgba(136,193,208,255), stop: 1 rgba(136,193,208,100));*/ + background-color: rgba(136,193,208,80); + width: 3px; + margin: 0.5px; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: transparent; + alternate-background-color: $main-color-transparent-1; + border-style: none; + border-bottom: 3px solid $shade-transparent-2; + color: $text-color; + selection-background-color: $main-color-transparent-2; + /*selection-color: $main-color-xd;*/ + outline: 0; +} + +QTableView QTableCornerButton::section { + border: 0px solid $main-color-xd; + outline: 0; +} + +QTableWidget::item:focus { + outline: 0; + border: 0px; +} + +QTreeView { + background: transparent; + color: $text-color; + border-style: none; + selection-background-color: $accent-color; + alternate-background-color: $main-color-transparent-1; + selection-color: $main-color-xd; + outline: 0; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $brightest-color; +} + +QTreeView::item:selected { + background-color: $main-color-transparent-2; + color: $main-color-xd; +} + +/* Table Header */ +QHeaderView { + color: $brightest-color; + background-color: $main-color; + border-bottom: 1px solid $accent-color; +} + +QHeaderView::section { + color: $accent-color; + background-color: transparent; +} + +QHeaderView::section:checked { + +} + +/* Tooltip */ +QToolTip { + border: 2px outset $main-color-xl; + color: $text-color; + background-color: $main-color; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $text-grey-d; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $text-color; + color: $text-grey-d; +} + +QMenuBar::item:pressed { + background: $text-color; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $text-grey-d; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + color: $text-grey-d; + background-color: $text-color; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url(themes/HyperBlue/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url(themes/HyperBlue/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url(themes/HyperBlue/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url(themes/HyperBlue/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url(themes/HyperBlue/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url(themes/HyperBlue/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url(themes/HyperBlue/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url(themes/HyperBlue/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url(themes/HyperBlue/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url(themes/HyperBlue/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url(themes/HyperBlue/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url(themes/HyperBlue/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url(themes/HyperBlue/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url(themes/HyperBlue/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; + border-top: 2px solid $main-color-xd; + margin-top: -2px; +} + +QTabWidget::tab-bar { +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + /*background-color: $main-color;*/ + background-color: transparent; + min-width: 26ex; + padding: 6px 4px 8px 4px; + color: $text-color; + margin-right: 2ex; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + border-bottom: 2px solid $accent-color; + background-color: $main-color-xd; + color: $accent-color; + margin-top: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QTabBar::tab:!selected { + /*margin-top: 2px;*/ /* make non-selected tabs look smaller */ +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $main-color-transparent-1; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $shade-transparent-2; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} diff --git a/src/qt/res/themes/readme b/src/qt/res/themes/readme new file mode 100644 index 000000000..3102d7ca0 --- /dev/null +++ b/src/qt/res/themes/readme @@ -0,0 +1,4 @@ +Qt Wallet themes directory + +Each directory is separate theme - displayed in Themes menu. +This directory should be copied to the same dir as compiled exe is. diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 9e17d5617..05dce8fbd 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -411,6 +411,7 @@ void TransactionView::enableDateRangeWidget(bool enable) QWidget *TransactionView::createDateRangeWidget() { dateRangeWidget = new QFrame(); + dateRangeWidget->setObjectName("rangeFrame"); dateRangeWidget->setFrameStyle(QFrame::Panel | QFrame::Raised); dateRangeWidget->setContentsMargins(1,1,1,1); QHBoxLayout *layout = new QHBoxLayout(dateRangeWidget); From 277b21e0f9780f03209205b82762d797853e2cce Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 18 Sep 2014 15:22:09 -0700 Subject: [PATCH 066/555] Stylesheet update --- src/qt/res/themes/HyperBlue/styles.qss | 56 ++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index 91ac9652f..de299a9e2 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -96,6 +96,11 @@ QFrame#frame_2 QFrame { color: $text-color; } +QFrame#rangeFrame { + background-color: $shade-transparent-1; + border: 0; + margin-top: 10px; +} #CoinControlDialog QFrame#frame { border: 0; @@ -206,14 +211,14 @@ QComboBox::drop-down:disabled { } /* Up&down spin box */ -QDoubleSpinBox { +QDateTimeEdit, QSpinBox, QDoubleSpinBox { padding: 3px; background-color: $main-color; color: $brightest-color; border: 1px solid $input-border-color; } -QDoubleSpinBox:disabled { +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { border-color: $main-color-xd; color: $input-border-color; } @@ -262,6 +267,7 @@ QToolBar { } QToolBar::handle { + padding: 0; background-color: transparent; } @@ -298,8 +304,26 @@ QToolButton:disabled { color: $input-border-color; } -/* the subcontrols below are used only in the MenuButtonPopup mode */ -QToolButton::menu-button { +#qt_toolbar_ext_button { + background-image: url(themes/HyperBlue/arrow-down.png); + background-repeat: no-repeat; + background-position: bottom left; + border-radius: 0; + margin-top: 0; + color: #fff; + border-bottom: 3px solid transparent; +} + +#qt_toolbar_ext_button QIcon { + display: none; +} + +#qt_toolbar_ext_button:hover { + background-color: $main-color-d; +} + +#qt_toolbar_ext_button:checked { + border-bottom: none; } /* Progress bar */ @@ -562,3 +586,27 @@ QScrollBar::add-line:vertical { QScrollBar::sub-line:vertical { height: 0px; } + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { background-color: $main-color } +QCalendarWidget QToolButton { +} +QCalendarWidget QMenu { + background-color: $main-color-xd; +} + + /* header row */ +QCalendarWidget QWidget { alternate-background-color: $main-color-l } + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $main-color-xd; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } \ No newline at end of file From b51239cc78909572f3455382d129e25497bca727 Mon Sep 17 00:00:00 2001 From: billotronic Date: Thu, 18 Sep 2014 13:22:36 -0500 Subject: [PATCH 067/555] Replaced OSX Icon Removed Truckcoin icns with Hyperstake logo --- src/qt/res/icons/bitcoin.icns | Bin 54281 -> 71255 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/icons/bitcoin.icns b/src/qt/res/icons/bitcoin.icns index e86dc8c7e1f08e98eea30364bcdcf0ffcf2b7cdd..8f36f784ed083c7a4a9bd20d604922a35308be1f 100644 GIT binary patch literal 71255 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 literal 54281 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�wynw7PBnBA6xY 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 From 509e041a838c0ff867832480fd501976c749b1a9 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 20 Sep 2014 10:50:03 +0100 Subject: [PATCH 068/555] guiconstants: enlarge the bottom right icons They look better that way --- src/qt/guiconstants.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 6e80a02aa..da997996d 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -8,7 +8,7 @@ static const int MODEL_UPDATE_DELAY = 1000; //update every second static const int MAX_PASSPHRASE_SIZE = 1024; /* BitcoinGUI -- Size of icons in status bar */ -static const int STATUSBAR_ICONSIZE = 16; +static const int STATUSBAR_ICONSIZE = 32; /* Invalid field background style */ #define STYLE_INVALID "background:#FF8080" From 4fe6ccca1a8ebdacb17768994286dc9910fbd0a1 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 20 Sep 2014 11:32:03 +0100 Subject: [PATCH 069/555] icons: replace the synced icon with the "new style" one --- src/qt/res/icons/synced.png | Bin 781 -> 24486 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/icons/synced.png b/src/qt/res/icons/synced.png index 4d7e0e88210c542421e80e98b683826e7e8512c0..d813ce19b8998c4209821e5560bafea335a3c981 100644 GIT binary patch literal 24486 zcmX_o1yqw^+we9rXXoy#Yq7?LTBJk_L;wJQR7YFg6aWBXzXAaSc-Y3yxBBIO-uz6pQ~`~X zOncZDJSROZbpYl+pW?o%bnGvL-rClF001%7e;yzpH~%33zy{D!S1}7%I_R59=CVxN zxo){$Q4kZT>mGGVrH=FzpUF|25O02}!2$+?%%b}aG@#&l$I#HLQkpNE&%~ElpWHhy z9vt1YJi&KtnQd&I)*(J%k*>NY4zOarg4Z$t72-7>;2DsJ_A#YtSXjQ)i0Xm41_fNL z*sE*4aG`0f6-z@?k|oDXT%5#QPaL@0x4QD^J4Z+9%6cH@d&<}Qp7vf9_ThOiPae}X zc`$Sw{5z&;S`}V9eI^HM-4Kovj5qXaV^phba)^$A|MmnaQWB#`*F*SD5qDZvb3-XI(@-?Bx zbK<)^skrwyGAHkX(5|L6cdZ z>@=03DiofVhKs!-)<}64{!Y9(ku5(1UJj@{EkA4eJb&i80eKfbKNV)rjw%g!PS;c< z9!Ry;NRE=4-ngVyh{98B@v{Iirea4-Zh6mHdK)%ibOs?o2FM+MaRQn_UTMXzEy-K# zNnHhW0W6!Z4tzd{yF=13uIr7Lgh^v-oUrvwRf^U2pr9&cf#f^=xg2u1xFO;Fy7l?B z-YBM|z?G+1V(|WLzXf|Q=oVm-ybByO530h!*~va+W-T9~H13K!qhC2Tk$XPSbzm=K?*M{voKtMvw( zh$B8av`Ak2WvHdd=qhtpw&qc_a-3wx7U6B-G*avx`dEOtd7B@}J}!aA;^cgjyjedB z{DkleJFyRnA;#}qT%6f#`!>wd^d$J;WC`J197n3CS^MzNr+D@o`ejsd-@RA-)B?7n z`-4Q{=4-nR+(zou*z5L(bOlH#A@*PwzhDvQWD2zO*I`^k#(Y_I_k3X=Y4zo|-{={v zI1YXXF$15p-ui2+ag~a3>S|@g=<2=oE48IOwig9AlM?1{6Y29gsA7*faNAUc%o@a$ z+@LB>q|^_}613cQOA&?G-3O_OoCE!`#n<^244EQ=AG&Q&&+);moi^ zv;8bC_`S(cftyurHsqpi;)I?_VpHHy;LwYp_XaFvd1HuD@1$Q2IoBSTZ!fNey6F=* zFjO_8mr>~7yC5bi^ot6uI;Fxo&6-kE!Jji^e~{+5q zTRQ>I%7X~-JNF;>{Pa&gm*{X&1yW(TMRqgVeOjr%aPzLku)qKL;NAeiea&fixoNUx zGJbCuJ`>H+%sOJ-GjLq*8rftPt2`6{cJl!=w8HjTkbHC^G=Ol{3ZgWkH0_J!f%s~A(5ldJn5Cc9*YfN(brAP_vstn<-uU=G} z`d+t!Swa(aqkMkyS9hQ(acje1?V7y{m#@wL=O2kYl(b-2$UIH)=b&f2;B_T_(N_%V zAY|=V%zGleF3S8`-7oJ4#|`)+n6Zu&%s!Q?mh>w^D~nZH;O?1pvQcl(1m5HGFd zCc$2dGRoqztHLo?KGs);4FD2gz^ufsK4H0g)%CyAuXmPvg-+cf^sgUe@FB9;^HB7> zV&0|zD%ASpHLWO)!pLLDqvL}hnTpGQVibX&POCl#^qErB^opP$Mjw&1n7>~-{ILz5 z(ivc_%KfD!RG_a4Pu{$n&co-{w|m5W9#0q%K5}zUMU+Dgx1>imr9)V4?iJ7PrED
        xPqV=gGM^2(qJ9u6_EyttpaO@Es!Z5a@Ft4xV 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 N-YKZbSIb(2{SW72b6NlZ literal 781 zcmV+o1M>WdP)_DXvzP7PgXv^ODb>s4cdYyIpAM9Y9}y@HADW zD5GbxT0sR? zpi|?~%Na;V^B#X0NkA9pAf~}9oo=bGsm{0eOl1|^4hJsuzrvlnGo7lzTJXc?nBvQv znvWPqj#bx4s*`VcI{LB6<8?M3ulJ|cc#09@VYEMgiLP5S_n=z`p_)-s(qSoa2-O60 z`EtI@%}3XzWoyOtzH*{vMic8w3T1CnF6PY{bPo@qyK{DsERqIUrnAhFAX^F)!v-au z0Ol(42rD8Ri)3McQNEk_(l>$$h6O8xM{h^a)$uhb=EyEZB|+I-7EKLW+yQMV3ATs} zETv!zWK)}ngtISpm9Qv62z+{no{s3OF)8h)nlUUG$0|fXtc3E_P)%21<4T-N zCH4dY3z#P37!18fZ-*Yy#}W=Oh5-HmWtNJSXk5Mi`Gx(%v$1JB?qqs&$kogkdhr)n zM&4FX!9WR#(j_f@cFa*48+D!nGcO6n1ZM_>WB{utkY5(8xz67KP^}>|X1vnl00000 LNkvXXu0mjf9!^u| From 47b31157958da43000d3a3fe4b46e919b1861eb6 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 20 Sep 2014 11:44:23 +0100 Subject: [PATCH 070/555] gui: replace the "loading" animated icon with the new style one --- share/qt/img/notsynced2.png | Bin 0 -> 43162 bytes share/qt/make_spinner.py | 2 +- src/qt/res/movies/update_spinner.mng | Bin 27817 -> 28525 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 share/qt/img/notsynced2.png diff --git a/share/qt/img/notsynced2.png b/share/qt/img/notsynced2.png new file mode 100644 index 0000000000000000000000000000000000000000..ab5f20ffd7dc2b1c5ec419fc2dae3347073453fb GIT binary patch literal 43162 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 X_3U)dpy>Z91dJB^2GVJs?Y{p4I{`$4 From f4a321457a59df5792acfeeeb798fd718f474009 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 20 Sep 2014 11:55:29 +0100 Subject: [PATCH 071/555] icons: replace the save icon with the new style one --- src/qt/res/icons/filesave.png | Bin 1741 -> 27301 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/icons/filesave.png b/src/qt/res/icons/filesave.png index ae13a151d5ad11239194edd1fd91199f8dd72f4e..b79f6655af4d6d50b3b14c180bb31414f4536b39 100644 GIT binary patch literal 27301 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 From 1465a0f722c3a5089eed8e9c8229ce6fc358ab02 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Sat, 20 Sep 2014 10:02:54 -0700 Subject: [PATCH 072/555] Missing arrow-down image --- src/qt/res/themes/HyperBlue/arrow-down.png | Bin 0 -> 329 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/themes/HyperBlue/arrow-down.png diff --git a/src/qt/res/themes/HyperBlue/arrow-down.png b/src/qt/res/themes/HyperBlue/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..abbe63ccdb0308a559b9f67547916c66b08396db GIT binary patch literal 329 zcmV-P0k-~$P)q$gGRCwA<(7}sAQ547V_l#!LY{WmH zjD=DnOIcgU#sb+;^B+vZET?S9g4vkaDkY=*1r$oQV`()TZ0zJM^?Z*Gy;q-my6^tp zz2`o&G5?zwhGC&vOGP(^<7qC|2}&I<7sCNrj9CafLUGCnY5cnx$~fT_zXbBsXABWQ z2XCfr+w!%CNf#A8;Q>Ch@lH!;H=!PrBR=)iiqu*P#B6klr+=JuWn~mB~G*;TLVg($Ma< bb`f9z{8vvY83ngX00000NkvXXu0mjf(nN@e literal 0 HcmV?d00001 From 9d2b9b7a24b05afee864d9dd13c0c501192642bc Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Sat, 20 Sep 2014 11:53:04 -0700 Subject: [PATCH 073/555] Reloading currently selected theme with $ key --- src/qt/bitcoingui.cpp | 21 +++++++++++++++++---- src/qt/bitcoingui.h | 1 + 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0135513de..58c93d691 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -62,6 +62,7 @@ #include #include #include +//#include #include extern CWallet *pwalletMain; @@ -1326,10 +1327,22 @@ void BitcoinGUI::listThemes(QStringList& themes) } } -/*void BitcoinGUI::keyPressEvent(QKeyEvent * k) +void BitcoinGUI::keyPressEvent(QKeyEvent * e) { - // dev feature: key reloads selected theme - loadTheme(selectedTheme); + switch (e->type()) + { + case QEvent::KeyPress: + //qDebug() << e->key(); + // $ key + if (e->key() == 36) { + // dev feature: key reloads selected theme + loadTheme(selectedTheme); + } + break; + default: + break; + } + } -*/ + /* /zeewolf: Hot swappable wallet themes */ diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index d5e185ad0..0bc893bbc 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -223,6 +223,7 @@ private slots: /** Load external QSS stylesheet */ void loadTheme(QString theme); void listThemes(QStringList& themes); + void keyPressEvent(QKeyEvent * e); }; #endif From 19f38c3bddc0127e003cc3b402085bde8e15fe58 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 20 Sep 2014 14:07:47 -0600 Subject: [PATCH 074/555] refine estimate time --- src/qt/bitcoingui.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 58c93d691..1432aab7c 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1173,12 +1173,17 @@ void BitcoinGUI::updateMintingIcon() else if (nLastCoinStakeSearchInterval) { uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; - uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); + if(nEstimateDays > 1) { nWeight = qMax(nAmount, nWeight); - nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; + if( nWeight == nAmount) + { + nEstimateTime = (nStakeTargetSpacing * nNetworkWeight / nWeight / 10) + (60 * 60 * 24); //add the extra day of calc time + } + else + nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; } QString text; @@ -1200,7 +1205,7 @@ void BitcoinGUI::updateMintingIcon() } labelMintingIcon->setEnabled(true); - labelMintingIcon->setToolTip(tr("Minting.
        Your weight is %1.
        Network weight is %2.
        Expected time to earn reward is %3.
        S4C %: %4
        S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Minting.
        Your weight is %1.
        Network weight is %2.
        Estimated time to earn reward is %3.
        S4C %: %4
        S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); } else { From ec2946e423fc03081668cce588269e936c8a2160 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 20 Sep 2014 20:45:14 -0600 Subject: [PATCH 075/555] remove walletmodel.h --- src/rpcwallet.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 7b269d5b7..a00c35e22 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -5,7 +5,6 @@ #include "wallet.h" #include "walletdb.h" -#include "walletmodel.h" #include "bitcoinrpc.h" #include "init.h" #include "main.h" From 87eec85ca8e5c64b2ca415ce81f09b3c30219a95 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 21 Sep 2014 10:03:35 +0100 Subject: [PATCH 076/555] transactiontablemodel: change "Address" header to "Address/Label" Since it can also hold labels, and at least person was confused by copying address not coping the label that was displayed. --- src/qt/transactiontablemodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 2e9cc4643..606cc37e2 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -223,7 +223,7 @@ TransactionTableModel::TransactionTableModel(CWallet* wallet, WalletModel *paren priv(new TransactionTablePriv(wallet, this)), cachedNumBlocks(0) { - columns << QString() << tr("Date") << tr("Type") << tr("Address") << tr("Amount"); + columns << QString() << tr("Date") << tr("Type") << tr("Address/Label") << tr("Amount"); priv->refreshWallet(); From b54c2172609474710a08bb5aaecd926e22b38d6c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 21 Sep 2014 10:23:17 -0600 Subject: [PATCH 077/555] update gitignore --- .gitignore | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 277231769..d7cf47069 100644 --- a/.gitignore +++ b/.gitignore @@ -21,13 +21,17 @@ *.app -# truckcoin stuff +# hyperstake stuff object_script.* .DS_Store -truckcoin-qt -truckcoin-qt.exe -truckcoind -truckcoind.exe +hyperstake-qt +hyperstake-qt.exe +hyperstaked +hyperstaked.exe qrc_bitcoin.cpp build/* +release/* +makefile.release +makefile.debug +makefile From 867a7dbc1b68a4d07dd886bc8dd646ecdceb18c9 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 21 Sep 2014 10:37:04 -0600 Subject: [PATCH 078/555] flag to change sending notification for S4C for some reason not flagging when the address is registered in the address book, only when the address is unregisterd. More work to be done. --- src/qt/bitcoingui.cpp | 6 +++++- src/qt/bitcoingui.h | 2 ++ src/qt/walletmodel.cpp | 10 ++++++++++ src/qt/walletmodel.h | 2 ++ src/wallet.cpp | 3 ++- src/wallet.h | 3 +++ 6 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 1432aab7c..c9128d8dc 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -200,6 +200,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): nHoursToMaturity = 0; nNetworkWeight = 0; nAmount = 0; + //fS4CNotificator = false; // Progress bar and label for blocks download progressBarLabel = new QLabel(); @@ -833,7 +834,7 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data(Qt::DecorationRole)); notificator->notify(Notificator::Information, - (amount)<0 ? tr("Sent transaction") : + (amount)<0 ? (fS4CNotificator == true ? tr("Sent S4C transaction") : tr("Sent transaction") ): tr("Incoming transaction"), tr("Date: %1\n" "Amount: %2\n" @@ -843,6 +844,8 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .arg(BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), amount, true)) .arg(type) .arg(address), icon); + walletModel->setS4CNotificator(false); + } } @@ -1236,6 +1239,7 @@ void BitcoinGUI::updateMintingWeights() { nCharityPercent = walletModel->getStakeForCharityPercent(); strCharityAddress = walletModel->getStakeForCharityAddress(); + fS4CNotificator = walletModel->getS4CNotificator(); } } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 0bc893bbc..3b56b1794 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -123,6 +123,8 @@ class BitcoinGUI : public QMainWindow uint64 nNetworkWeight; uint64 nHoursToMaturity; uint64 nAmount; + bool fStakeForCharity; + bool fS4CNotificator; int nCharityPercent; QString strCharityAddress; /* Themes support */ diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 10219964d..0359a640e 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -323,6 +323,16 @@ QString WalletModel::getStakeForCharityAddress() return wallet->strStakeForCharityAddress.ToString().c_str(); } +bool WalletModel::getS4CNotificator() +{ + return wallet->fS4CNotificator; +} + +void WalletModel::setS4CNotificator(bool fSet) +{ + wallet->fS4CNotificator = fSet; +} + void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, int64& nStakeForCharityMin, int64& nStakeForCharityMax) { diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 368d78628..90882579f 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -104,6 +104,8 @@ class WalletModel : public QObject //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); + bool getS4CNotificator(); + void setS4CNotificator(bool fSet); void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); // RAI object for unlocking wallet, returned by requestUnlock() diff --git a/src/wallet.cpp b/src/wallet.cpp index 7a35dd054..309558b20 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1136,7 +1136,8 @@ bool CWallet::StakeForCharity() } printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), strStakeForCharityAddress.ToString().c_str()); - SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); + fS4CNotificator = true; + SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); } } } diff --git a/src/wallet.h b/src/wallet.h index d3bb8ba13..90b0f7d3a 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -86,6 +86,7 @@ class CWallet : public CCryptoKeyStore bool fFileBacked; std::string strWalletFile; bool fStakeForCharity; + bool fS4CNotificator; int nStakeForCharityPercent; int64 nStakeForCharityMin; int64 nStakeForCharityMax; @@ -107,6 +108,7 @@ class CWallet : public CCryptoKeyStore pwalletdbEncryption = NULL; nOrderPosNext = 0; fStakeForCharity = false; + fS4CNotificator = false; nStakeForCharityPercent = 0; strStakeForCharityAddress = ""; nStakeForCharityMin = 0; @@ -122,6 +124,7 @@ class CWallet : public CCryptoKeyStore pwalletdbEncryption = NULL; nOrderPosNext = 0; fStakeForCharity = false; + fS4CNotificator = false; nStakeForCharityPercent = 0; strStakeForCharityAddress = ""; nStakeForCharityMin = MIN_TXOUT_AMOUNT; From 15fa632dfecb18c331103ffac9ba81aef3fc64f8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 21 Sep 2014 11:42:57 -0600 Subject: [PATCH 079/555] fix S4C notificator --- src/qt/bitcoingui.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index c9128d8dc..0d8442818 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -821,6 +821,8 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data(Qt::EditRole).toULongLong(); if(!clientModel->inInitialBlockDownload()) { + fS4CNotificator = walletModel->getS4CNotificator(); + // On new transaction, make an info balloon // Unless the initial block download is in progress, to prevent balloon-spam QString date = ttm->index(start, TransactionTableModel::Date, parent) @@ -1239,7 +1241,6 @@ void BitcoinGUI::updateMintingWeights() { nCharityPercent = walletModel->getStakeForCharityPercent(); strCharityAddress = walletModel->getStakeForCharityAddress(); - fS4CNotificator = walletModel->getS4CNotificator(); } } From b4e123e2756e401f073c63001c0f08bcc8465d06 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 21 Sep 2014 12:35:41 -0600 Subject: [PATCH 080/555] estimate time accuracy adjustment --- src/qt/bitcoingui.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0d8442818..9a72a8527 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1176,8 +1176,9 @@ void BitcoinGUI::updateMintingIcon() labelMintingIcon->setEnabled(false); } else if (nLastCoinStakeSearchInterval) - { - uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; + { + uint64 nAccuracyAdjustment = 3; // this is a manual adjustment in an attempt to make staking estimate more accurate + uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); if(nEstimateDays > 1) @@ -1185,10 +1186,10 @@ void BitcoinGUI::updateMintingIcon() nWeight = qMax(nAmount, nWeight); if( nWeight == nAmount) { - nEstimateTime = (nStakeTargetSpacing * nNetworkWeight / nWeight / 10) + (60 * 60 * 24); //add the extra day of calc time + nEstimateTime = (nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment) + (60 * 60 * 24); //add the extra day of calc time } else - nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / 10; + nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; } QString text; From b37518431d710c9fe9f623fc976261b15cb32807 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Mon, 22 Sep 2014 00:08:40 +0100 Subject: [PATCH 081/555] icons: make the minting icon animated --- share/qt/make_mining.py | 34 ++++++++++++++++++++++++++++++++++ src/qt/bitcoin.qrc | 1 + src/qt/bitcoingui.cpp | 9 ++++++++- src/qt/bitcoingui.h | 1 + src/qt/res/movies/mining.mng | Bin 0 -> 7204 bytes 5 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 share/qt/make_mining.py create mode 100644 src/qt/res/movies/mining.mng diff --git a/share/qt/make_mining.py b/share/qt/make_mining.py new file mode 100644 index 000000000..70b635b2c --- /dev/null +++ b/share/qt/make_mining.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python +# W.J. van der Laan, 2011 +# Make frame based .mng animation from a .png +# Requires imagemagick 6.7+ +from __future__ import division +from os import path +from PIL import Image +from subprocess import Popen + +SRCPATH='../../src/qt/res/icons/' +SRC=['mining_active.png', 'mining_active2.png', 'mining_active3.png', 'mining_active4.png'] +DST='../../src/qt/res/movies/mining.mng' +TMPDIR='/tmp' +TMPNAME='tmp-%03i.png' +FRAMERATE=10.0 +CONVERT='convert' +DSIZE=(32,32) + +def frame_to_filename(frame): + return path.join(TMPDIR, frame) + +frame_files = [] +for frame in SRC: + im_src = Image.open(path.join(SRCPATH, frame)) + im_src.thumbnail(DSIZE, Image.ANTIALIAS) + outfile = frame_to_filename(frame) + im_src.save(outfile, 'png') + frame_files.append(outfile) + +p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST]) +p.communicate() + + + diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 2ac2f35cf..6f52e9f2f 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -53,6 +53,7 @@ res/movies/update_spinner.mng + res/movies/mining.mng locale/bitcoin_en.qm diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 0d8442818..5448885e4 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -185,7 +185,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): frameBlocksLayout->addStretch(); // Set minting pixmap - labelMintingIcon->setPixmap(QIcon(":/icons/minting").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); labelMintingIcon->setEnabled(false); // Add timer to update minting info QTimer *timerMintingIcon = new QTimer(labelMintingIcon); @@ -223,6 +222,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): statusBar()->addPermanentWidget(frameBlocks); syncIconMovie = new QMovie(":/movies/update_spinner", "mng", this); + miningIconMovie = new QMovie(":/movies/mining", "mng", this); // this->setStyleSheet("background-color: #effbef;"); // Clicking on a transaction on the overview page simply sends you to transaction history page @@ -1159,21 +1159,25 @@ void BitcoinGUI::updateMintingIcon() { labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); + miningIconMovie->stop(); } else if (vNodes.empty()) { labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); + miningIconMovie->stop(); } else if (IsInitialBlockDownload()) { labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); + miningIconMovie->stop(); } else if (!nWeight) { labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
        Next block matures in %2 hours
        Network weight is %1
        S4C %: %3
        S4C Address: %4").arg(nNetworkWeight).arg(nHoursToMaturity).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); + miningIconMovie->stop(); } else if (nLastCoinStakeSearchInterval) { @@ -1209,6 +1213,8 @@ void BitcoinGUI::updateMintingIcon() text = tr("%n day(s)", "", nEstimateTime/(60*60*24)); } + labelMintingIcon->setMovie(miningIconMovie); + miningIconMovie->start(); labelMintingIcon->setEnabled(true); labelMintingIcon->setToolTip(tr("Minting.
        Your weight is %1.
        Network weight is %2.
        Estimated time to earn reward is %3.
        S4C %: %4
        S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); } @@ -1216,6 +1222,7 @@ void BitcoinGUI::updateMintingIcon() { labelMintingIcon->setToolTip(tr("Not minting.")); labelMintingIcon->setEnabled(false); + miningIconMovie->stop(); } } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 3b56b1794..73a28aa40 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -117,6 +117,7 @@ class BitcoinGUI : public QMainWindow RPCConsole *rpcConsole; QMovie *syncIconMovie; + QMovie *miningIconMovie; uint64 nMinMax; uint64 nWeight; diff --git a/src/qt/res/movies/mining.mng b/src/qt/res/movies/mining.mng new file mode 100644 index 0000000000000000000000000000000000000000..a3f1669d3989021c5a98d5849aa1d34e8466dffb GIT binary patch literal 7204 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 Date: Mon, 22 Sep 2014 00:43:46 +0100 Subject: [PATCH 082/555] icons: replace the mined tx icon with a new style icon --- src/qt/res/icons/tx_mined.png | Bin 3287 -> 24486 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/icons/tx_mined.png b/src/qt/res/icons/tx_mined.png index 613f30fecc041468d7ff766236dc509d815f7aab..d813ce19b8998c4209821e5560bafea335a3c981 100644 GIT binary patch literal 24486 zcmX_o1yqw^+we9rXXoy#Yq7?LTBJk_L;wJQR7YFg6aWBXzXAaSc-Y3yxBBIO-uz6pQ~`~X zOncZDJSROZbpYl+pW?o%bnGvL-rClF001%7e;yzpH~%33zy{D!S1}7%I_R59=CVxN zxo){$Q4kZT>mGGVrH=FzpUF|25O02}!2$+?%%b}aG@#&l$I#HLQkpNE&%~ElpWHhy z9vt1YJi&KtnQd&I)*(J%k*>NY4zOarg4Z$t72-7>;2DsJ_A#YtSXjQ)i0Xm41_fNL z*sE*4aG`0f6-z@?k|oDXT%5#QPaL@0x4QD^J4Z+9%6cH@d&<}Qp7vf9_ThOiPae}X zc`$Sw{5z&;S`}V9eI^HM-4Kovj5qXaV^phba)^$A|MmnaQWB#`*F*SD5qDZvb3-XI(@-?Bx zbK<)^skrwyGAHkX(5|L6cdZ z>@=03DiofVhKs!-)<}64{!Y9(ku5(1UJj@{EkA4eJb&i80eKfbKNV)rjw%g!PS;c< z9!Ry;NRE=4-ngVyh{98B@v{Iirea4-Zh6mHdK)%ibOs?o2FM+MaRQn_UTMXzEy-K# zNnHhW0W6!Z4tzd{yF=13uIr7Lgh^v-oUrvwRf^U2pr9&cf#f^=xg2u1xFO;Fy7l?B z-YBM|z?G+1V(|WLzXf|Q=oVm-ybByO530h!*~va+W-T9~H13K!qhC2Tk$XPSbzm=K?*M{voKtMvw( zh$B8av`Ak2WvHdd=qhtpw&qc_a-3wx7U6B-G*avx`dEOtd7B@}J}!aA;^cgjyjedB z{DkleJFyRnA;#}qT%6f#`!>wd^d$J;WC`J197n3CS^MzNr+D@o`ejsd-@RA-)B?7n z`-4Q{=4-nR+(zou*z5L(bOlH#A@*PwzhDvQWD2zO*I`^k#(Y_I_k3X=Y4zo|-{={v zI1YXXF$15p-ui2+ag~a3>S|@g=<2=oE48IOwig9AlM?1{6Y29gsA7*faNAUc%o@a$ z+@LB>q|^_}613cQOA&?G-3O_OoCE!`#n<^244EQ=AG&Q&&+);moi^ zv;8bC_`S(cftyurHsqpi;)I?_VpHHy;LwYp_XaFvd1HuD@1$Q2IoBSTZ!fNey6F=* zFjO_8mr>~7yC5bi^ot6uI;Fxo&6-kE!Jji^e~{+5q zTRQ>I%7X~-JNF;>{Pa&gm*{X&1yW(TMRqgVeOjr%aPzLku)qKL;NAeiea&fixoNUx zGJbCuJ`>H+%sOJ-GjLq*8rftPt2`6{cJl!=w8HjTkbHC^G=Ol{3ZgWkH0_J!f%s~A(5ldJn5Cc9*YfN(brAP_vstn<-uU=G} z`d+t!Swa(aqkMkyS9hQ(acje1?V7y{m#@wL=O2kYl(b-2$UIH)=b&f2;B_T_(N_%V zAY|=V%zGleF3S8`-7oJ4#|`)+n6Zu&%s!Q?mh>w^D~nZH;O?1pvQcl(1m5HGFd zCc$2dGRoqztHLo?KGs);4FD2gz^ufsK4H0g)%CyAuXmPvg-+cf^sgUe@FB9;^HB7> zV&0|zD%ASpHLWO)!pLLDqvL}hnTpGQVibX&POCl#^qErB^opP$Mjw&1n7>~-{ILz5 z(ivc_%KfD!RG_a4Pu{$n&co-{w|m5W9#0q%K5}zUMU+Dgx1>imr9)V4?iJ7PrED
        xPqV=gGM^2(qJ9u6_EyttpaO@Es!Z5a@Ft4xV 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 N-YKZbSIb(2{SW72b6NlZ literal 3287 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 Date: Sun, 21 Sep 2014 22:36:28 -0600 Subject: [PATCH 083/555] fix s4c tooltip --- src/qt/forms/addressbookpage.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/forms/addressbookpage.ui b/src/qt/forms/addressbookpage.ui index 8d08f0636..efb7f2d6e 100644 --- a/src/qt/forms/addressbookpage.ui +++ b/src/qt/forms/addressbookpage.ui @@ -134,7 +134,7 @@ - Send a percentage of stake to a specified BottleCaps address + Send a percentage of stake to a specified HyperStake address &Stake For Charity From 41fe7c9803f5ade2d2ad3e8f0f88ecfbbf95edf2 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 22 Sep 2014 10:46:51 -0600 Subject: [PATCH 084/555] version 1.0.6 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 500b07d5e..2a2733513 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.5" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 25ac3bc6e..3c6c3fc53 100644 --- a/src/version.h +++ b/src/version.h @@ -46,7 +46,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 5 +#define DISPLAY_VERSION_REVISION 6 #define DISPLAY_VERSION_BUILD 0 #endif From cbf2afcbab03cab44a935985a6da40931c7c9ef1 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 22 Sep 2014 10:48:33 -0700 Subject: [PATCH 085/555] Change relative paths in QSS to variable --- src/qt/bitcoingui.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 58c93d691..4d892f2f5 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -62,7 +62,7 @@ #include #include #include -//#include +#include #include extern CWallet *pwalletMain; @@ -1250,9 +1250,10 @@ void BitcoinGUI::charityClicked(QString addr) /* zeewolf: Hot swappable wallet themes */ void BitcoinGUI::loadTheme(QString theme) { + QString themesDir = qApp->applicationDirPath() + "/themes"; // if theme selected if (theme != "") { - QFile qss(qApp->applicationDirPath() + "/themes/" + theme + "/styles.qss"); + QFile qss(themesDir + "/" + theme + "/styles.qss"); // open qss if (qss.open(QFile::ReadOnly)) { @@ -1286,6 +1287,8 @@ void BitcoinGUI::loadTheme(QString theme) } } + // replace path to themes dir + styleSheet.replace(QString("$themes-dir"), themesDir); qss.close(); // Apply the result qss file to Qt qApp->setStyleSheet(styleSheet); From 678f20a70ed9c917870a51c2d1dba7121472488d Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 22 Sep 2014 11:32:47 -0700 Subject: [PATCH 086/555] Variables with themes path in QSS --- src/qt/res/themes/HyperBlue/styles.qss | 34 +++++++++++++------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index de299a9e2..2d7928a87 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -46,12 +46,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url(themes/HyperBlue/bg.png); + background-image: url($themes-dir/HyperBlue/bg.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url('themes/HyperBlue/hypstk-watermark.png'); + qproperty-pixmap: url('$themes-dir/HyperBlue/hypstk-watermark.png'); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -305,7 +305,7 @@ QToolButton:disabled { } #qt_toolbar_ext_button { - background-image: url(themes/HyperBlue/arrow-down.png); + background-image: url($themes-dir/HyperBlue/arrow-down.png); background-repeat: no-repeat; background-position: bottom left; border-radius: 0; @@ -459,35 +459,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url(themes/HyperBlue/cb.png); + image: url($themes-dir/HyperBlue/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url(themes/HyperBlue/cb-hover.png); + image: url($themes-dir/HyperBlue/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url(themes/HyperBlue/checkbox_unchecked_pressed.png);*/ + /*image: url($themes-dir/HyperBlue/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url(themes/HyperBlue/cb-checked.png); + image: url($themes-dir/HyperBlue/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url(themes/HyperBlue/cb-checked-hover.png); + image: url($themes-dir/HyperBlue/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url(themes/HyperBlue/checkbox_checked_pressed.png);*/ + /*image: url($themes-dir/HyperBlue/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url(themes/HyperBlue/checkbox_indeterminate_hover.png);*/ + /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url(themes/HyperBlue/checkbox_indeterminate_pressed.png);*/ + /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -501,27 +501,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url(themes/HyperBlue/r.png); + image: url($themes-dir/HyperBlue/r.png); } QRadioButton::indicator:unchecked:hover { - image: url(themes/HyperBlue/r-hover.png); + image: url($themes-dir/HyperBlue/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url(themes/HyperBlue/rpressed.png);*/ + /*image: url($themes-dir/HyperBlue/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url(themes/HyperBlue/r-checked.png); + image: url($themes-dir/HyperBlue/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url(themes/HyperBlue/r-checked-hover.png); + image: url($themes-dir/HyperBlue/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url(themes/HyperBlue/radiobutton_checked_pressed.png);*/ + /*image: url($themes-dir/HyperBlue/radiobutton_checked_pressed.png);*/ } /* Tabs */ From 2bc723f7c388227f55c159d2b2b5b155a577ccb5 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Tue, 23 Sep 2014 21:41:01 +0100 Subject: [PATCH 087/555] icons: properly turn minting anim off when not minting --- src/qt/bitcoin.qrc | 1 + src/qt/bitcoingui.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 6f52e9f2f..c02177299 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -45,6 +45,7 @@ res/icons/debugwindow.png res/icons/blexp.png res/icons/info.png + res/icons/mining_inactive.png res/images/about.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index b0137b518..315767dc8 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1159,25 +1159,25 @@ void BitcoinGUI::updateMintingIcon() { labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); - miningIconMovie->stop(); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (vNodes.empty()) { labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); - miningIconMovie->stop(); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (IsInitialBlockDownload()) { labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
        Network weight is %1.
        S4C %: %2
        S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); - miningIconMovie->stop(); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (!nWeight) { labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
        Next block matures in %2 hours
        Network weight is %1
        S4C %: %3
        S4C Address: %4").arg(nNetworkWeight).arg(nHoursToMaturity).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); - miningIconMovie->stop(); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (nLastCoinStakeSearchInterval) { @@ -1223,7 +1223,7 @@ void BitcoinGUI::updateMintingIcon() { labelMintingIcon->setToolTip(tr("Not minting.")); labelMintingIcon->setEnabled(false); - miningIconMovie->stop(); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } } From f84ab5ceabd1e5dbe9bb517e0e18dc19e2d32e52 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Wed, 24 Sep 2014 21:52:53 +0100 Subject: [PATCH 088/555] coincontroldialog: increase some column widths to match content At least on one Linux machine, age, potential stake and date were too narrow to display all data without being ellipsized. --- src/qt/coincontroldialog.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 6573eaa2b..27796897e 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -111,12 +111,12 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : ui->treeWidget->setColumnWidth(COLUMN_CHECKBOX, 45); ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 85); - ui->treeWidget->setColumnWidth(COLUMN_AGE, 45); - ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 85); + ui->treeWidget->setColumnWidth(COLUMN_AGE, 55); + ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 100); ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 70); ui->treeWidget->setColumnWidth(COLUMN_LABEL, 85); ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 150); - ui->treeWidget->setColumnWidth(COLUMN_DATE, 100); + ui->treeWidget->setColumnWidth(COLUMN_DATE, 110); ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100); ui->treeWidget->setColumnHidden(COLUMN_AGE_INT64, true); ui->treeWidget->setColumnHidden(COLUMN_POTENTIALSTAKE_INT64, true); From 520e75461bc86f609ce0f799824be64b08db6f5f Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Sep 2014 20:08:46 -0600 Subject: [PATCH 089/555] unlockformint --- src/qt/askpassphrasedialog.cpp | 27 ++++++++++++---- src/qt/askpassphrasedialog.h | 1 + src/qt/bitcoingui.cpp | 57 +++++++++++++++++++++++++++++++--- src/qt/bitcoingui.h | 10 ++++-- src/qt/guiutil.cpp | 14 +++++++++ src/qt/guiutil.h | 18 +++++++++++ src/qt/walletmodel.cpp | 18 +++++++++-- src/qt/walletmodel.h | 2 +- src/rpcdump.cpp | 4 +-- src/rpcwallet.cpp | 8 ++--- src/wallet.cpp | 4 --- src/wallet.h | 4 ++- src/walletdb.cpp | 1 - 13 files changed, 139 insertions(+), 29 deletions(-) diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index 01bcbb93b..de726fbd2 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -47,6 +47,16 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) : ui->passEdit3->hide(); setWindowTitle(tr("Unlock wallet")); break; + + case UnlockForMint: // Ask passphrase to unlock wallet for minting + ui->warningLabel->setText(tr("This operation needs your wallet passphrase to unlock the wallet to allow PoS.")); + ui->passLabel2->hide(); + ui->passEdit2->hide(); + ui->passLabel3->hide(); + ui->passEdit3->hide(); + setWindowTitle(tr("Unlock wallet for Stake")); + break; + case Decrypt: // Ask passphrase ui->warningLabel->setText(tr("This operation needs your wallet passphrase to decrypt the wallet.")); ui->passLabel2->hide(); @@ -146,17 +156,21 @@ void AskPassphraseDialog::accept() } break; case UnlockMinting: case Unlock: - if(!model->setWalletLocked(false, oldpass)) - { + if(!model->setWalletLocked(false, oldpass, false)) QMessageBox::critical(this, tr("Wallet unlock failed"), tr("The passphrase entered for the wallet decryption was incorrect.")); - } else - { - fWalletUnlockMintOnly = ui->mintingCheckBox->isChecked(); QDialog::accept(); // Success - } break; + + case UnlockForMint: + if(!model->setWalletLocked(false, oldpass,true)) + QMessageBox::critical(this, tr("Wallet unlock failed"), + tr("The passphrase entered for the wallet decryption was incorrect.")); + else + QDialog::accept(); // Success + break; + case Decrypt: if(!model->setWalletEncrypted(false, oldpass)) { @@ -203,6 +217,7 @@ void AskPassphraseDialog::textChanged() break; case UnlockMinting: case Unlock: // Old passphrase x1 + case UnlockForMint: // Old passphrase x1 case Decrypt: acceptable = !ui->passEdit1->text().isEmpty(); break; diff --git a/src/qt/askpassphrasedialog.h b/src/qt/askpassphrasedialog.h index ca01274f1..469045e1a 100644 --- a/src/qt/askpassphrasedialog.h +++ b/src/qt/askpassphrasedialog.h @@ -20,6 +20,7 @@ class AskPassphraseDialog : public QDialog Encrypt, /**< Ask passphrase twice and encrypt */ UnlockMinting, /**< Ask passphrase and unlock for minting only */ Unlock, /**< Ask passphrase and unlock */ + UnlockForMint, /**< Ask passphrase and unlock for minting */ ChangePass, /**< Ask old passphrase + new passphrase twice */ Decrypt /**< Ask passphrase and decrypt wallet */ }; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 315767dc8..507c10eec 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -170,7 +170,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): QHBoxLayout *frameBlocksLayout = new QHBoxLayout(frameBlocks); frameBlocksLayout->setContentsMargins(3,0,3,0); frameBlocksLayout->setSpacing(3); - labelEncryptionIcon = new QLabel(); + labelEncryptionIcon = new GUIUtil::ClickableLabel(); labelMintingIcon = new QLabel(); labelConnectionsIcon = new QLabel(); labelBlocksIcon = new QLabel(); @@ -344,8 +344,8 @@ void BitcoinGUI::createActions() encryptWalletAction = new QAction(QIcon(":/icons/lock_closed"), tr("&Encrypt Wallet..."), this); encryptWalletAction->setToolTip(tr("Encrypt or decrypt wallet")); encryptWalletAction->setCheckable(true); - unlockWalletAction = new QAction(QIcon(":/icons/lock_open"), tr("&Unlock Wallet"), this); - unlockWalletAction->setToolTip(tr("Unlock an Encrypted Wallet")); + unlockWalletAction = new QAction(QIcon(":/icons/lock_open"), tr("&Unlock Wallet For PoS..."), this); + unlockWalletAction->setStatusTip(tr("Unlock the wallet for PoS")); unlockWalletAction->setCheckable(true); backupWalletAction = new QAction(QIcon(":/icons/filesave"), tr("&Backup Wallet..."), this); backupWalletAction->setToolTip(tr("Backup wallet to another location")); @@ -383,7 +383,7 @@ void BitcoinGUI::createActions() connect(lockWalletToggleAction, SIGNAL(triggered()), this, SLOT(lockWalletToggle())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); - connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWallet())); + connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWalletForMint())); connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); //connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); @@ -616,6 +616,15 @@ void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) } #endif +void BitcoinGUI::lockIconClicked() +{ + if(!walletModel) + return; + + if(walletModel->getEncryptionStatus() == WalletModel::Locked) + unlockWalletForMint(); +} + void BitcoinGUI::optionsClicked() { if(!clientModel || !clientModel->getOptionsModel()) @@ -974,8 +983,11 @@ void BitcoinGUI::setEncryptionStatus(int status) labelEncryptionIcon->hide(); encryptWalletAction->setChecked(false); encryptWalletAction->setEnabled(true); + labelEncryptionIcon->setToolTip(tr("Wallet is encrypted and currently unlocked")); + disconnect(labelEncryptionIcon,SIGNAL(clicked()), this, SLOT(lockIconClicked())); changePassphraseAction->setEnabled(false); lockWalletToggleAction->setVisible(false); + unlockWalletAction->setChecked(false); break; case WalletModel::Unlocked: labelEncryptionIcon->show(); @@ -1004,6 +1016,7 @@ void BitcoinGUI::setEncryptionStatus(int status) lockWalletToggleAction->setIcon(QIcon(":/icons/lock_open")); lockWalletToggleAction->setText(tr("&Unlock Wallet...")); lockWalletToggleAction->setToolTip(tr("Unlock wallet")); + disconnect(labelEncryptionIcon,SIGNAL(clicked()), this, SLOT(lockIconClicked())); break; } } @@ -1126,6 +1139,42 @@ void BitcoinGUI::unlockWallet() } } +void BitcoinGUI::unlockWalletForMint() +{ + if(!walletModel) + return; + + // Unlock wallet when requested by user + if(walletModel->getEncryptionStatus() == WalletModel::Locked) + { + AskPassphraseDialog dlg(AskPassphraseDialog::UnlockForMint, this); + dlg.setModel(walletModel); + dlg.exec(); + + // Only show message if unlock is sucessfull. + if(walletModel->getEncryptionStatus() == WalletModel::Unlocked) + notificator->notify(Notificator::Warning, + tr("Unlock Wallet Information"), + tr("Wallet has been unlocked. \n" + "Proof of Stake has started.\n")); + } +} + +void BitcoinGUI::lockWallet() +{ + if(!walletModel) + return; + + // Lock wallet when requested by user + if(walletModel->getEncryptionStatus() == WalletModel::Unlocked) + walletModel->setWalletLocked(true,"",true); + notificator->notify(Notificator::Warning, + tr("Lock Wallet Information"), + tr("Wallet has been unlocked. \n" + "Proof of Stake has stopped.\n")); + +} + void BitcoinGUI::showNormalIfMinimized(bool fToggleHidden) { // activateWindow() (sometimes) helps with keyboard focus on Windows diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 73a28aa40..e0e8285fb 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -184,7 +184,8 @@ private slots: void gotoSignMessageTab(QString addr = ""); /** Show Sign/Verify Message dialog and switch to verify message tab */ void gotoVerifyMessageTab(QString addr = ""); - + /** Allow user to unlock wallet from click */ + void lockIconClicked(); /** Show configuration dialog */ void optionsClicked(); /** Show about dialog */ @@ -208,11 +209,14 @@ private slots: void backupWallet(); /** Change encrypted wallet passphrase */ void changePassphrase(); + /** Lock Wallet */ + void lockWallet(); /** Toggle unlocking wallet temporarily */ void lockWalletToggle(); - + /** Ask for passphrase to unlock wallet temporarily */ void unlockWallet(); - + /** Ask for passphrase to unlock wallet for the session to mint */ + void unlockWalletForMint(); /** Show window if hidden, unminimize when minimized, rise when obscured or show if hidden and fToggleHidden is true */ void showNormalIfMinimized(bool fToggleHidden = false); /** simply calls showNormalIfMinimized(true) for use in SLOT() macro */ diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index ff52bb706..d1f476929 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -453,5 +453,19 @@ void HelpMessageBox::showOrPrint() #endif } +ClickableLabel::ClickableLabel( const QString& text, QWidget * parent ) : QLabel(parent) +{ + this->setText(text); +} + + ClickableLabel::~ClickableLabel() +{ +} + +void ClickableLabel::mouseReleaseEvent ( QMouseEvent * event ) +{ + emit clicked(); +} + } // namespace GUIUtil diff --git a/src/qt/guiutil.h b/src/qt/guiutil.h index db100bdb7..6f294378c 100644 --- a/src/qt/guiutil.h +++ b/src/qt/guiutil.h @@ -4,6 +4,7 @@ #include #include #include +#include QT_BEGIN_NAMESPACE class QFont; @@ -12,6 +13,7 @@ class QWidget; class QDateTime; class QUrl; class QAbstractItemView; +class QLabel; QT_END_NAMESPACE class SendCoinsRecipient; @@ -114,6 +116,22 @@ namespace GUIUtil QString coreOptions; QString uiOptions; }; + + class ClickableLabel : public QLabel + { + + Q_OBJECT + + public: + explicit ClickableLabel( const QString& text ="", QWidget * parent = 0 ); + ~ClickableLabel(); + + signals: + void clicked(); + + protected: + void mouseReleaseEvent ( QMouseEvent * event ); + }; } // namespace GUIUtil diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 0359a640e..be7a7d716 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -280,7 +280,7 @@ bool WalletModel::setWalletEncrypted(bool encrypted, const SecureString &passphr } } -bool WalletModel::setWalletLocked(bool locked, const SecureString &passPhrase) +bool WalletModel::setWalletLocked(bool locked, const SecureString &passPhrase, bool formint) { if(locked) { @@ -290,7 +290,12 @@ bool WalletModel::setWalletLocked(bool locked, const SecureString &passPhrase) else { // Unlock - return wallet->Unlock(passPhrase); + bool rc; + rc = wallet->Unlock(passPhrase); + if (rc && formint) + wallet->fWalletUnlockMintOnly=true; + return rc; + } } @@ -423,6 +428,13 @@ void WalletModel::unsubscribeFromCoreSignals() WalletModel::UnlockContext WalletModel::requestUnlock() { bool was_locked = getEncryptionStatus() == Locked; + + if ((!was_locked) && wallet->fWalletUnlockMintOnly) + { + setWalletLocked(true); + was_locked = getEncryptionStatus() == Locked; + } + if(was_locked) { // Request UI to unlock wallet @@ -431,7 +443,7 @@ WalletModel::UnlockContext WalletModel::requestUnlock() // If wallet is still locked, unlock was failed or cancelled, mark context as invalid bool valid = getEncryptionStatus() != Locked; - return UnlockContext(this, valid, was_locked); + return UnlockContext(this, valid, was_locked && !wallet->fWalletUnlockMintOnly); } WalletModel::UnlockContext::UnlockContext(WalletModel *wallet, bool valid, bool relock): diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 90882579f..fb97fbf1a 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -92,7 +92,7 @@ class WalletModel : public QObject // Wallet encryption bool setWalletEncrypted(bool encrypted, const SecureString &passphrase); // Passphrase only needed when unlocking - bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString()); + bool setWalletLocked(bool locked, const SecureString &passPhrase=SecureString(), bool formint=false); bool changePassphrase(const SecureString &oldPass, const SecureString &newPass); // Wallet backup bool backupWallet(const QString &filename); diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 2f5a03bf3..8aa8352e8 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -47,7 +47,7 @@ Value importprivkey(const Array& params, bool fHelp) bool fGood = vchSecret.SetString(strSecret); if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); - if (fWalletUnlockMintOnly) // ppcoin: no importprivkey in mint-only mode + if (pwalletMain->fWalletUnlockMintOnly) // No importprivkey in mint-only mode throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Wallet is unlocked for minting only."); CKey key; @@ -82,7 +82,7 @@ Value dumpprivkey(const Array& params, bool fHelp) CBitcoinAddress address; if (!address.SetString(strAddress)) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); - if (fWalletUnlockMintOnly) // ppcoin: no dumpprivkey in mint-only mode + if (pwalletMain->fWalletUnlockMintOnly) // No dumpprivkey in mint-only mode throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Wallet is unlocked for minting only."); CKeyID keyID; if (!address.GetKeyID(keyID)) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index a00c35e22..08d792f5e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -31,7 +31,7 @@ void EnsureWalletIsUnlocked() { if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - if (fWalletUnlockMintOnly) + if (pwalletMain->fWalletUnlockMintOnly) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Wallet unlocked for block minting only."); } @@ -1783,10 +1783,10 @@ Value walletpassphrase(const Array& params, bool fHelp) // ppcoin: if user OS account compromised prevent trivial sendmoney commands if (params.size() > 2) - fWalletUnlockMintOnly = params[2].get_bool(); + pwalletMain->fWalletUnlockMintOnly = params[2].get_bool(); else - fWalletUnlockMintOnly = false; - + pwalletMain->fWalletUnlockMintOnly = false; + return Value::null; } diff --git a/src/wallet.cpp b/src/wallet.cpp index 309558b20..0e9425a5b 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -85,10 +85,6 @@ bool CWallet::AddCScript(const CScript& redeemScript) return CWalletDB(strWalletFile).WriteCScript(Hash160(redeemScript), redeemScript); } -// ppcoin: optional setting to unlock wallet for block minting only; -// serves to disable the trivial sendmoney when OS account compromised -bool fWalletUnlockMintOnly = false; - bool CWallet::Unlock(const SecureString& strWalletPassphrase) { if (!IsLocked()) diff --git a/src/wallet.h b/src/wallet.h index 90b0f7d3a..bbb3d4704 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -18,7 +18,6 @@ #include "util.h" #include "walletdb.h" -extern bool fWalletUnlockMintOnly; class CAccountingEntry; class CWalletTx; class CReserveKey; @@ -91,6 +90,7 @@ class CWallet : public CCryptoKeyStore int64 nStakeForCharityMin; int64 nStakeForCharityMax; CBitcoinAddress strStakeForCharityAddress; + bool fWalletUnlockMintOnly; std::set setKeyPool; @@ -113,6 +113,7 @@ class CWallet : public CCryptoKeyStore strStakeForCharityAddress = ""; nStakeForCharityMin = 0; nStakeForCharityMax = 0; + fWalletUnlockMintOnly = false; } CWallet(std::string strWalletFileIn) { @@ -129,6 +130,7 @@ class CWallet : public CCryptoKeyStore strStakeForCharityAddress = ""; nStakeForCharityMin = MIN_TXOUT_AMOUNT; nStakeForCharityMax = MAX_MONEY; + fWalletUnlockMintOnly = false; } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 4909bac6a..6708c97ce 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -12,7 +12,6 @@ using namespace boost; static uint64 nAccountingEntryNumber = 0; -extern bool fWalletUnlockMintOnly; // // CWalletDB From b67f79050d59808d517291d9d1effcbb1bba62a8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Sep 2014 23:52:41 -0600 Subject: [PATCH 090/555] unselect blocks already selected --- src/qt/coincontroldialog.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 27796897e..524ef099b 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -228,12 +228,13 @@ void CoinControlDialog::customSelectCoins() //Age double dAge = (GetTime() - out.tx->GetTxTime()) / (double)(1440 * 60); + COutPoint outpt(txhash, out.i); + //selecting the coins if (strComboText == "< Amount") { if (dCoinAmount < dUserAmount * COIN) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } @@ -242,7 +243,6 @@ void CoinControlDialog::customSelectCoins() { if (dCoinAmount > dUserAmount * COIN) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } @@ -251,7 +251,6 @@ void CoinControlDialog::customSelectCoins() { if (nTxWeight < dUserAmount) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } @@ -260,7 +259,6 @@ void CoinControlDialog::customSelectCoins() { if (nTxWeight > dUserAmount) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } @@ -269,7 +267,6 @@ void CoinControlDialog::customSelectCoins() { if (dAge < dUserAmount) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } @@ -278,11 +275,15 @@ void CoinControlDialog::customSelectCoins() { if (dAge > dUserAmount) { - COutPoint outpt(txhash, out.i); coinControl->Select(outpt); itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); } } + else + { + coinControl->UnSelect(outpt); + itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Unchecked); + } } } CoinControlDialog::updateLabels(model, this); From 0dbbee34930d4e3663461f18ecec7af56d3d69c0 Mon Sep 17 00:00:00 2001 From: myeagleflies Date: Fri, 26 Sep 2014 14:48:38 +0200 Subject: [PATCH 091/555] Fix for stuck blockchain download at blocks 21000, 21500 and 22000. Now getblocks() message is issued after connection to new node if waited longer than MAX_TIME_SINCE_BEST_BLOCK seconds. --- src/main.cpp | 8 ++++++++ src/main.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 950ec1fd4..9e98272bc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3042,6 +3042,14 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) cPeerBlockCounts.input(pfrom->nStartingHeight); + // Be more aggressive with blockchain download. Send new getblocks() message after connection + // to new node if waited longer than MAX_TIME_SINCE_BEST_BLOCK. + int TimeSinceBestBlock = GetTime() - nTimeBestReceived; + if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { + printf("INFO: Waiting %d sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + pfrom->PushGetBlocks(pindexBest, uint256(0)); + } + // ppcoin: ask for pending sync-checkpoint if any if (!IsInitialBlockDownload()) Checkpoints::AskForPendingSyncCheckpoint(pfrom); diff --git a/src/main.h b/src/main.h index 920658951..952ea51ea 100644 --- a/src/main.h +++ b/src/main.h @@ -39,6 +39,7 @@ static const int64 MIN_RELAY_TX_FEE = .00001 * COIN; static const int64 MAX_MONEY = 60000000 * COIN; static const int64 MAX_MONEY2 = 60000000 * COIN; // 60 mil static const int64 MAX_MINT_PROOF_OF_STAKE = 2.00 * COIN; // 200% annual interest +static const int MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() static const int64 MAX_MINT_PROOF_OF_STAKEV2 = 7.50 * COIN; // 750% annual interest static const unsigned int FORK_TIME = 1404678625; // Sun, 06 Jul 2014 20:30:25 GMT From 8c5a356601a60bb1937e2619420383f0701a2df1 Mon Sep 17 00:00:00 2001 From: myeagleflies Date: Fri, 26 Sep 2014 16:06:46 +0200 Subject: [PATCH 092/555] part 2 of [Fix for stuck blockchain download at blocks 21000, 21500 and 22000]. Issuing getblocks() command also after seeing an error during ProcessBlock(). --- src/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 9e98272bc..46a7969b3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3427,8 +3427,18 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) CInv inv(MSG_BLOCK, block.GetHash()); pfrom->AddInventoryKnown(inv); - if (ProcessBlock(pfrom, &block)) + if (ProcessBlock(pfrom, &block)) { mapAlreadyAskedFor.erase(inv); + } else { + // Be more aggressive with blockchain download. Send getblocks() message after + // an error related to new block download. + int TimeSinceBestBlock = GetTime() - nTimeBestReceived; + if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { + printf("INFO: Waiting %d sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + pfrom->PushGetBlocks(pindexBest, uint256(0)); + } + } + if (block.nDoS) pfrom->Misbehaving(block.nDoS); } From c42035bb4562a0f6ea7792ff399af4aab2526430 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 26 Sep 2014 14:56:55 -0600 Subject: [PATCH 093/555] use int64 and raise nLimit --- src/main.cpp | 12 ++++++------ src/main.h | 5 +---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 46a7969b3..d4450ef9c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3044,9 +3044,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Be more aggressive with blockchain download. Send new getblocks() message after connection // to new node if waited longer than MAX_TIME_SINCE_BEST_BLOCK. - int TimeSinceBestBlock = GetTime() - nTimeBestReceived; + int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %d sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } @@ -3272,7 +3272,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Send the rest of the chain if (pindex) pindex = pindex->pnext; - int nLimit = 500; + int nLimit = 1250; printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str(), nLimit); for (; pindex; pindex = pindex->pnext) { @@ -3431,10 +3431,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) mapAlreadyAskedFor.erase(inv); } else { // Be more aggressive with blockchain download. Send getblocks() message after - // an error related to new block download. - int TimeSinceBestBlock = GetTime() - nTimeBestReceived; + // an error related to new block download + int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %d sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } diff --git a/src/main.h b/src/main.h index 952ea51ea..7b9cfaf16 100644 --- a/src/main.h +++ b/src/main.h @@ -39,11 +39,8 @@ static const int64 MIN_RELAY_TX_FEE = .00001 * COIN; static const int64 MAX_MONEY = 60000000 * COIN; static const int64 MAX_MONEY2 = 60000000 * COIN; // 60 mil static const int64 MAX_MINT_PROOF_OF_STAKE = 2.00 * COIN; // 200% annual interest -static const int MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() - static const int64 MAX_MINT_PROOF_OF_STAKEV2 = 7.50 * COIN; // 750% annual interest static const unsigned int FORK_TIME = 1404678625; // Sun, 06 Jul 2014 20:30:25 GMT - static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } @@ -60,7 +57,7 @@ static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23 static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes - +static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() extern CScript COINBASE_FLAGS; From 482a8c4a8907c71863faa43e4d401cf5ab462511 Mon Sep 17 00:00:00 2001 From: myeagleflies Date: Sat, 27 Sep 2014 22:11:03 +0200 Subject: [PATCH 094/555] Changing target for initial blockchain download to 99999. This is increase from 21000. This way client will get quickly there and will have fewer number of blocks to obtain using slower methods. --- src/main.cpp | 21 +++++++++++++++------ src/main.h | 4 ++++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 46a7969b3..5e69933f6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2252,8 +2252,12 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) uint256 hashProofOfStake = 0; if (!CheckProofOfStake(pblock->vtx[1], pblock->nBits, hashProofOfStake)) { - printf("WARNING: ProcessBlock(): check proof-of-stake failed for block %s\n", hash.ToString().c_str()); - return false; // do not error here as we expect this during initial block download + // Ignore CheckProofOfStake() failure for hashHighBlock in order to speed up initial + // blockchain download. + if (pblock->GetHash() != hashHighBlock) { + printf("WARNING: ProcessBlock(): check proof-of-stake failed for block %s\n", hash.ToString().c_str()); + return false; // do not error here as we expect this during initial block download + } } if (!mapProofOfStake.count(hash)) // add to mapProofOfStake mapProofOfStake.insert(make_pair(hash, hashProofOfStake)); @@ -3220,11 +3224,16 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Trigger them to send a getblocks request for the next batch of inventory if (inv.hash == pfrom->hashContinue) { - // ppcoin: send latest proof-of-work block to allow the - // download node to accept as orphan (proof-of-stake - // block might be rejected by stake connection check) + // Default behavior of PoS coins is to send last PoW block here which client + // receives as an orphan. With HYP we want hyper download speed so further + // block (index HIGH_BLOCK_INDEX) is sent. If server does not have it yet, + // then proceeds with default behavior. vector vInv; - vInv.push_back(CInv(MSG_BLOCK, GetLastBlockIndex(pindexBest, false)->GetBlockHash())); + if (nBestHeight > HIGH_BLOCK_INDEX) { + vInv.push_back(CInv(MSG_BLOCK, hashHighBlock)); + } else { + vInv.push_back(CInv(MSG_BLOCK, GetLastBlockIndex(pindexBest, false)->GetBlockHash())); + } pfrom->PushMessage("inv", vInv); pfrom->hashContinue = 0; } diff --git a/src/main.h b/src/main.h index 952ea51ea..4bd9f7069 100644 --- a/src/main.h +++ b/src/main.h @@ -59,6 +59,10 @@ static const int fHaveUPnP = false; static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23f130958038c18a462577d002680dab4fc"); static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); +// HighBlock is used to speed up blockchain download. It is being sent by server instead of last PoW block. +static const uint256 hashHighBlock ("0x94a999e4024a647e439584cb270d28ca92dcbd3e90522b29cc17da4cc1104a7d"); +static const int HIGH_BLOCK_INDEX = 99999; + static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes extern CScript COINBASE_FLAGS; From ef22f79794488e8acac6db9db41ba7c797ec4b53 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 28 Sep 2014 11:20:18 -0600 Subject: [PATCH 095/555] remove dd --- src/qt/transactiontablemodel.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 606cc37e2..025fc12f8 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -375,7 +375,6 @@ QVariant TransactionTableModel::txAddressDecoration(const TransactionRecord *wtx case TransactionRecord::StakeMint: { QString str = BitcoinUnits::format(walletModel->getOptionsModel()->getDisplayUnit(), wtx->credit + wtx->debit); - float dd = str.toFloat(); return QIcon(":/icons/tx_mined"); } case TransactionRecord::RecvWithAddress: From f395378620e72834648e7af2582e667cab340bf8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 28 Sep 2014 21:26:16 -0600 Subject: [PATCH 096/555] Add coin control info to walletmodel --- src/qt/coincontroldialog.cpp | 4 ++++ src/qt/walletmodel.cpp | 32 ++++++++++++++++++++++++++++++++ src/qt/walletmodel.h | 9 ++++++++- src/wallet.h | 9 +++++++++ 4 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 524ef099b..9df2a92fb 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -645,6 +645,9 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) nAfterFee = 0; } + // send info to wallet model + model->setAmountSelected(nAfterFee); + // actually update labels int nDisplayUnit = BitcoinUnits::BTC; if (model && model->getOptionsModel()) @@ -885,5 +888,6 @@ void CoinControlDialog::updateView() // sort view sortView(sortColumn, sortOrder); + model->setBestAddress(ui->treeWidget->topLevelItem(0)->text(COLUMN_ADDRESS).toStdString()); ui->treeWidget->setEnabled(true); } diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index be7a7d716..b18d58e5c 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -368,11 +368,43 @@ void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharit } } +//Information for coin control void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) { wallet->GetStakeWeightFromValue(nTime, nValue, nWeight); } +void WalletModel::setAmountSelected(qint64 nAmountSelected) +{ + wallet->nAmountSelected = nAmountSelected; +} + +qint64 WalletModel::getAmountSelected() +{ + return wallet->nAmountSelected; +} + +void WalletModel::setBestAddress(std::string strAddress) +{ + wallet->strBestAddress = strAddress; +} + +QString WalletModel::getBestAddress() +{ + return QString::fromStdString(wallet->strBestAddress); +} + +void WalletModel::setCombine(bool fCombine) +{ + wallet->fCombine = fCombine; +} + +bool WalletModel::getCombine() +{ + return wallet->fCombine; +} + + void WalletModel::checkWallet(int& nMismatchSpent, int64& nBalanceInQuestion, int& nOrphansFound) { wallet->FixSpentCoins(nMismatchSpent, nBalanceInQuestion, nOrphansFound, true); diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index fb97fbf1a..1a8479cf7 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -99,8 +99,14 @@ class WalletModel : public QObject // Wallet Repair void checkWallet(int& nMismatchSpent, qint64& nBalanceInQuestion, int& nOrphansFound); void repairWallet(int& nMismatchSpent, qint64& nBalanceInQuestion, int& nOrphansFound); - //Stake Weight for coin control dialog + // Pass coin control information void getStakeWeightFromValue(const qint64& nTime, const qint64& nValue, quint64& nWeight); + void setAmountSelected(qint64 nAmountSelected); + qint64 getAmountSelected(); + void setBestAddress(std::string strAddress); + QString getBestAddress(); + void setCombine(bool fCombine); + bool getCombine(); //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); @@ -108,6 +114,7 @@ class WalletModel : public QObject void setS4CNotificator(bool fSet); void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); + // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/wallet.h b/src/wallet.h index bbb3d4704..bfdf0865f 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -91,6 +91,9 @@ class CWallet : public CCryptoKeyStore int64 nStakeForCharityMax; CBitcoinAddress strStakeForCharityAddress; bool fWalletUnlockMintOnly; + int64 nAmountSelected; + std::string strBestAddress; + bool fCombine; std::set setKeyPool; @@ -114,6 +117,9 @@ class CWallet : public CCryptoKeyStore nStakeForCharityMin = 0; nStakeForCharityMax = 0; fWalletUnlockMintOnly = false; + nAmountSelected = 0; + strBestAddress = ""; + fCombine = false; } CWallet(std::string strWalletFileIn) { @@ -131,6 +137,9 @@ class CWallet : public CCryptoKeyStore nStakeForCharityMin = MIN_TXOUT_AMOUNT; nStakeForCharityMax = MAX_MONEY; fWalletUnlockMintOnly = false; + nAmountSelected = 0; + strBestAddress = ""; + fCombine = false; } std::map mapWallet; From 2cb9afdd72c7c2509b555a407e0fdf5e3979448c Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 1 Oct 2014 10:54:52 -0600 Subject: [PATCH 097/555] Remove checkbox from askpassphrasedialog --- src/qt/askpassphrasedialog.cpp | 6 ------ src/qt/forms/askpassphrasedialog.ui | 16 ---------------- 2 files changed, 22 deletions(-) diff --git a/src/qt/askpassphrasedialog.cpp b/src/qt/askpassphrasedialog.cpp index de726fbd2..ad9b103c1 100644 --- a/src/qt/askpassphrasedialog.cpp +++ b/src/qt/askpassphrasedialog.cpp @@ -35,10 +35,6 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) : ui->warningLabel->setText(tr("Enter the new passphrase to the wallet.
        Please use a passphrase of 10 or more random characters, or eight or more words.")); setWindowTitle(tr("Encrypt wallet")); break; - case UnlockMinting: - ui->mintingCheckBox->setChecked(true); - ui->mintingCheckBox->show(); - // fallthru case Unlock: // Ask passphrase ui->warningLabel->setText(tr("This operation needs your wallet passphrase to unlock the wallet.")); ui->passLabel2->hide(); @@ -154,7 +150,6 @@ void AskPassphraseDialog::accept() QDialog::reject(); // Cancelled } } break; - case UnlockMinting: case Unlock: if(!model->setWalletLocked(false, oldpass, false)) QMessageBox::critical(this, tr("Wallet unlock failed"), @@ -215,7 +210,6 @@ void AskPassphraseDialog::textChanged() case Encrypt: // New passphrase x2 acceptable = !ui->passEdit2->text().isEmpty() && !ui->passEdit3->text().isEmpty(); break; - case UnlockMinting: case Unlock: // Old passphrase x1 case UnlockForMint: // Old passphrase x1 case Decrypt: diff --git a/src/qt/forms/askpassphrasedialog.ui b/src/qt/forms/askpassphrasedialog.ui index 5fd8a4a83..25169042a 100644 --- a/src/qt/forms/askpassphrasedialog.ui +++ b/src/qt/forms/askpassphrasedialog.ui @@ -99,22 +99,6 @@
        - - - - true - - - Serves to disable trivial use of sendmoney when the OS account is compromised. Provides no real security. - - - For staking only - - - false - - - From 0feb1d164876244ddb681f06f02e197a6c07b938 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 1 Oct 2014 11:26:44 -0600 Subject: [PATCH 098/555] Version 1.0.6.5 BETA --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 2a2733513..d2b4fbedf 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6.5-BETA" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 3c6c3fc53..146c3b224 100644 --- a/src/version.h +++ b/src/version.h @@ -47,6 +47,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 6 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 5 #endif From 000abf87cc9595af706c38c74111bfadae4a4f7d Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 6 Oct 2014 18:32:11 +0200 Subject: [PATCH 099/555] Template system modifications + PoloniexNight theme - Default theme is now explicitely declared as directory (hardcoded styles from *.cpp are moved there) - $theme-dir var points to current theme ($themes-dir still points to themes main directory) - More things styled (e.g. ComboBoxes, Nofiticator window in Linux, and many more) - vars in vars are not allowed now (problems with order) - PoloniexNight theme added --- src/qt/aboutdialog.cpp | 1 - src/qt/bitcoinamountfield.cpp | 12 +- src/qt/bitcoingui.cpp | 122 +-- src/qt/bitcoingui.h | 3 +- src/qt/charitydialog.cpp | 24 +- src/qt/coincontroldialog.cpp | 9 +- src/qt/guiconstants.h | 3 - src/qt/optionsdialog.cpp | 3 +- src/qt/qvalidatedlineedit.cpp | 9 +- src/qt/res/themes/Default/styles.qss | 24 + .../themes/HyperBlue/calendar-disabled.png | Bin 0 -> 673 bytes src/qt/res/themes/HyperBlue/calendar.png | Bin 0 -> 682 bytes .../themes/HyperBlue/down-arrow-disabled.png | Bin 0 -> 221 bytes src/qt/res/themes/HyperBlue/down-arrow.png | Bin 0 -> 226 bytes src/qt/res/themes/HyperBlue/sizegrip.png | Bin 0 -> 163 bytes src/qt/res/themes/HyperBlue/styles.qss | 228 ++++-- .../res/themes/HyperBlue/toolbar-handle.png | Bin 0 -> 126 bytes .../themes/HyperBlue/up-arrow-disabled.png | Bin 0 -> 219 bytes src/qt/res/themes/HyperBlue/up-arrow.png | Bin 0 -> 222 bytes .../res/themes/PoloniexNight/arrow-down.png | Bin 0 -> 329 bytes .../PoloniexNight/calendar-disabled.png | Bin 0 -> 673 bytes src/qt/res/themes/PoloniexNight/calendar.png | Bin 0 -> 682 bytes .../themes/PoloniexNight/cb-checked-hover.png | Bin 0 -> 266 bytes .../res/themes/PoloniexNight/cb-checked.png | Bin 0 -> 266 bytes src/qt/res/themes/PoloniexNight/cb-hover.png | Bin 0 -> 395 bytes src/qt/res/themes/PoloniexNight/cb.png | Bin 0 -> 395 bytes .../PoloniexNight/down-arrow-disabled.png | Bin 0 -> 221 bytes .../res/themes/PoloniexNight/down-arrow.png | Bin 0 -> 226 bytes .../themes/PoloniexNight/hypstk-watermark.png | Bin 0 -> 3600 bytes .../themes/PoloniexNight/r-checked-hover.png | Bin 0 -> 363 bytes src/qt/res/themes/PoloniexNight/r-checked.png | Bin 0 -> 378 bytes src/qt/res/themes/PoloniexNight/r-hover.png | Bin 0 -> 315 bytes src/qt/res/themes/PoloniexNight/r.png | Bin 0 -> 315 bytes src/qt/res/themes/PoloniexNight/sizegrip.png | Bin 0 -> 163 bytes src/qt/res/themes/PoloniexNight/styles.qss | 723 ++++++++++++++++++ .../themes/PoloniexNight/toolbar-handle.png | Bin 0 -> 126 bytes .../PoloniexNight/up-arrow-disabled.png | Bin 0 -> 219 bytes src/qt/res/themes/PoloniexNight/up-arrow.png | Bin 0 -> 222 bytes src/qt/sendcoinsdialog.cpp | 13 +- src/qt/signverifymessagedialog.cpp | 36 +- 40 files changed, 1051 insertions(+), 159 deletions(-) create mode 100644 src/qt/res/themes/Default/styles.qss create mode 100644 src/qt/res/themes/HyperBlue/calendar-disabled.png create mode 100644 src/qt/res/themes/HyperBlue/calendar.png create mode 100644 src/qt/res/themes/HyperBlue/down-arrow-disabled.png create mode 100644 src/qt/res/themes/HyperBlue/down-arrow.png create mode 100644 src/qt/res/themes/HyperBlue/sizegrip.png create mode 100644 src/qt/res/themes/HyperBlue/toolbar-handle.png create mode 100644 src/qt/res/themes/HyperBlue/up-arrow-disabled.png create mode 100644 src/qt/res/themes/HyperBlue/up-arrow.png create mode 100644 src/qt/res/themes/PoloniexNight/arrow-down.png create mode 100644 src/qt/res/themes/PoloniexNight/calendar-disabled.png create mode 100644 src/qt/res/themes/PoloniexNight/calendar.png create mode 100644 src/qt/res/themes/PoloniexNight/cb-checked-hover.png create mode 100644 src/qt/res/themes/PoloniexNight/cb-checked.png create mode 100644 src/qt/res/themes/PoloniexNight/cb-hover.png create mode 100644 src/qt/res/themes/PoloniexNight/cb.png create mode 100644 src/qt/res/themes/PoloniexNight/down-arrow-disabled.png create mode 100644 src/qt/res/themes/PoloniexNight/down-arrow.png create mode 100644 src/qt/res/themes/PoloniexNight/hypstk-watermark.png create mode 100644 src/qt/res/themes/PoloniexNight/r-checked-hover.png create mode 100644 src/qt/res/themes/PoloniexNight/r-checked.png create mode 100644 src/qt/res/themes/PoloniexNight/r-hover.png create mode 100644 src/qt/res/themes/PoloniexNight/r.png create mode 100644 src/qt/res/themes/PoloniexNight/sizegrip.png create mode 100644 src/qt/res/themes/PoloniexNight/styles.qss create mode 100644 src/qt/res/themes/PoloniexNight/toolbar-handle.png create mode 100644 src/qt/res/themes/PoloniexNight/up-arrow-disabled.png create mode 100644 src/qt/res/themes/PoloniexNight/up-arrow.png diff --git a/src/qt/aboutdialog.cpp b/src/qt/aboutdialog.cpp index 14ff9e97b..0b98befe8 100644 --- a/src/qt/aboutdialog.cpp +++ b/src/qt/aboutdialog.cpp @@ -9,7 +9,6 @@ AboutDialog::AboutDialog(QWidget *parent) : ui(new Ui::AboutDialog) { ui->setupUi(this); - // this->setStyleSheet("background-color: #effbef;"); } void AboutDialog::setModel(ClientModel *model) diff --git a/src/qt/bitcoinamountfield.cpp b/src/qt/bitcoinamountfield.cpp index 9514ec846..d10c063ca 100644 --- a/src/qt/bitcoinamountfield.cpp +++ b/src/qt/bitcoinamountfield.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include BitcoinAmountField::BitcoinAmountField(QWidget *parent): @@ -75,9 +76,14 @@ bool BitcoinAmountField::validate() void BitcoinAmountField::setValid(bool valid) { if (valid) - amount->setStyleSheet(""); - else - amount->setStyleSheet(STYLE_INVALID); + { + setProperty("error", false); + style()->polish(this); + } + else { + setProperty("error", true); + style()->polish(this); + } } QString BitcoinAmountField::text() const diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 507c10eec..714f9543b 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -62,7 +62,6 @@ #include #include #include -#include #include extern CWallet *pwalletMain; @@ -109,17 +108,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): // Create the tray icon (or setup the dock icon) abffaaassffffa createTrayIcon(); - /* - QPalette p; - p.setColor(QPalette::Window, QColor(0x17, 0x63, 0x82)); - p.setColor(QPalette::Button, QColor(0x17, 0x63, 0x82)); - p.setColor(QPalette::Mid, QColor(0x17, 0x63, 0x82)); - p.setColor(QPalette::Base, QColor(0x17, 0x63, 0x82)); - p.setColor(QPalette::AlternateBase, QColor(0x17, 0x63, 0x82)); - setPalette(p); - QFile style(":/text/res/text/style.qss"); - style.open(QFile::ReadOnly); - setStyleSheet(QString::fromUtf8(style.readAll()));*/ /* don't override the background color of the toolbar on mac os x due to the whole component it resides on not being paintable @@ -223,7 +211,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): syncIconMovie = new QMovie(":/movies/update_spinner", "mng", this); miningIconMovie = new QMovie(":/movies/mining", "mng", this); - // this->setStyleSheet("background-color: #effbef;"); // Clicking on a transaction on the overview page simply sends you to transaction history page connect(overviewPage, SIGNAL(transactionClicked(QModelIndex)), this, SLOT(gotoHistoryPage())); @@ -395,17 +382,6 @@ void BitcoinGUI::createActions() //QActionGroup* menuActionGroup = new QActionGroup( this ); //menuActionGroup->setExclusive(true); - themeDefaultAction = new QAction(QIcon(":/icons/options"), tr("&Default Qt"), this); - themeDefaultAction->setToolTip(tr("Switch to Default Qt theme")); - themeDefaultAction->setStatusTip(tr("Switch to Default Qt theme")); - //themeDefaultAction->setActionGroup(menuActionGroup); - //themeDefaultAction->setCheckable(true); - //themeDefaultAction->setChecked(true); - - // Default theme - signalMapper->setMapping(themeDefaultAction, QString("")); - connect(themeDefaultAction, SIGNAL(triggered()), signalMapper, SLOT (map())); - // Add custom themes (themes directory) for( int i=0; i < themesList.count(); i++ ) { @@ -414,8 +390,6 @@ void BitcoinGUI::createActions() customActions[i]->setToolTip(QString("Switch to " + theme + " theme")); customActions[i]->setStatusTip(QString("Switch to " + theme + " theme")); //customActions[i]->setActionGroup(menuActionGroup); - //themeDefaultAction->setCheckable(true); - //themeDefaultAction->setChecked(false); signalMapper->setMapping(customActions[i], theme); connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); } @@ -462,8 +436,6 @@ void BitcoinGUI::createMenuBar() /* zeewolf: Hot swappable wallet themes */ QMenu *themes = appMenuBar->addMenu(tr("T&hemes")); - themes->addAction(themeDefaultAction); - themes->addSeparator(); for (int i = 0; i < themesList.count(); i++) { themes->addAction(customActions[i]); } @@ -474,9 +446,6 @@ void BitcoinGUI::createMenuBar() help->addSeparator(); help->addAction(aboutAction); help->addAction(aboutQtAction); - - // QString ss("QMenuBar::item { background-color: #effbef; color: black }"); - // appMenuBar->setStyleSheet(ss); } void BitcoinGUI::createToolBars() @@ -1317,10 +1286,15 @@ void BitcoinGUI::charityClicked(QString addr) /* zeewolf: Hot swappable wallet themes */ void BitcoinGUI::loadTheme(QString theme) { - QString themesDir = qApp->applicationDirPath() + "/themes"; + // template variables : key => value + QMap variables; + + // path to selected theme dir - for simpler use, just use $theme-dir in qss : url($theme-dir/image.png) + QString themeDir = themesDir + "/" + theme; + // if theme selected if (theme != "") { - QFile qss(themesDir + "/" + theme + "/styles.qss"); + QFile qss(themeDir + "/styles.qss"); // open qss if (qss.open(QFile::ReadOnly)) { @@ -1329,41 +1303,62 @@ void BitcoinGUI::loadTheme(QString theme) QTextStream in(&qss); // rewind in.seek(0); - bool replaceMode = false; + bool readingVariables = false; // seek for variables while(!in.atEnd()) { QString line = in.readLine(); // variables starts here if (line == "/** [VARS]") { - replaceMode = true; + readingVariables = true; } // variables end here - if (line == QString("[/VARS] */")) { + if (line == "[/VARS] */") { break; } - // if we're reading variables - replace in source stylesheet - if (replaceMode == true) { + // if we're reading variables - store them in a map + if (readingVariables == true) { // skip empty lines if (line.length()>3 && line.contains('=')) { QStringList fields = line.split("="); QString var = fields.at(0).trimmed(); QString value = fields.at(1).trimmed(); - styleSheet.replace(var, value); + variables[var] = value; } } } // replace path to themes dir - styleSheet.replace(QString("$themes-dir"), themesDir); + styleSheet.replace("$theme-dir", themeDir); + styleSheet.replace("$themes-dir", themesDir); + + QMapIterator variable(variables); + variable.toBack(); + // iterate backwards to prevent overwriting variables + while (variable.hasPrevious()) { + variable.previous(); + // replace variables + styleSheet.replace(variable.key(), variable.value()); + } + qss.close(); + // Apply the result qss file to Qt - qApp->setStyleSheet(styleSheet); + + /*if (styleSheet.contains("$", Qt::CaseInsensitive)) { + QRegExp rx("(\\$[-\\w]+)"); + rx.indexIn(styleSheet); + QString captured = rx.cap(1); + QMessageBox::warning(this, "Theme syntax error", "You have used variable that is not declared " + captured + ". Theme will not be applied."); + } else {*/ + qApp->setStyleSheet(styleSheet); + /*}*/ } } else { - // Clean styles - default + // If not theme name given - clear styles qApp->setStyleSheet(QString("")); } + // set selected theme and store it in registry selectedTheme = theme; QSettings settings; @@ -1373,28 +1368,36 @@ void BitcoinGUI::loadTheme(QString theme) void BitcoinGUI::listThemes(QStringList& themes) { QDir currentDir(qApp->applicationDirPath()); + // try app dir if (currentDir.cd("themes")) { - currentDir.setFilter(QDir::Dirs); - QStringList entries = currentDir.entryList(); - for( QStringList::ConstIterator entry=entries.begin(); entry!=entries.end(); ++entry ) + // got it! (win package) + } else if (currentDir.cd("src/qt/res/themes")) { + // got it (qmake puts exe in git main dir) + } else { + // themes not found :( + return; + } + themesDir = currentDir.path(); + currentDir.setFilter(QDir::Dirs); + QStringList entries = currentDir.entryList(); + for( QStringList::ConstIterator entry=entries.begin(); entry!=entries.end(); ++entry ) + { + QString themeName=*entry; + if(themeName != tr(".") && themeName != tr("..")) { - QString themeName=*entry; - if(themeName != tr(".") && themeName != tr("..")) - { - themes.append(themeName); - } + themes.append(themeName); } + } - // get selected theme from registry (if any) - QSettings settings; - selectedTheme = settings.value("Template").toString(); - // or use default theme - if (selectedTheme=="") { - selectedTheme = "HyperBlue"; - } - // load it! - loadTheme(selectedTheme); + // get selected theme from registry (if any) + QSettings settings; + selectedTheme = settings.value("Template").toString(); + // or use default theme - HyperBlue + if (selectedTheme=="") { + selectedTheme = "HyperBlue"; } + // load it! + loadTheme(selectedTheme); } void BitcoinGUI::keyPressEvent(QKeyEvent * e) @@ -1402,7 +1405,6 @@ void BitcoinGUI::keyPressEvent(QKeyEvent * e) switch (e->type()) { case QEvent::KeyPress: - //qDebug() << e->key(); // $ key if (e->key() == 36) { // dev feature: key reloads selected theme diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index e0e8285fb..d54df4bb6 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -100,7 +100,6 @@ class BitcoinGUI : public QMainWindow QAction *checkWalletAction; QAction *repairWalletAction; QAction *aboutQtAction; - QAction *themeDefaultAction; QAction *themeCustomAction; QAction *openRPCConsoleAction; QAction *blockAction; @@ -131,6 +130,8 @@ class BitcoinGUI : public QMainWindow /* Themes support */ QString selectedTheme; QStringList themesList; + // Path to directory where all themes are (usable for some common images?...) + QString themesDir; QAction *customActions[100]; /* /Themes support */ diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index edd482db9..5d723d061 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -32,7 +32,8 @@ void StakeForCharityDialog::setModel(WalletModel *model) { ui->charityAddressEdit->setText(strAddress); ui->charityPercentEdit->setText(strPer); - ui->message->setStyleSheet("QLabel { color: green; }"); + ui->message->setProperty("status", "ok"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("You are now saving to\n") + strAddress + tr(".")); } } @@ -115,7 +116,8 @@ void StakeForCharityDialog::on_enableButton_clicked() { if(model->getEncryptionStatus() == WalletModel::Locked) { - ui->message->setStyleSheet("QLabel { color: black; }"); + ui->message->setProperty("status", ""); + ui->message->style()->polish(ui->message); ui->message->setText(tr("Please unlock wallet before starting stake for charity.")); return; } @@ -127,7 +129,8 @@ void StakeForCharityDialog::on_enableButton_clicked() CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); if (!address.IsValid()) { - ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("The entered address: ") + ui->charityAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); ui->charityAddressEdit->setFocus(); return; @@ -136,7 +139,8 @@ void StakeForCharityDialog::on_enableButton_clicked() int nCharityPercent = ui->charityPercentEdit->text().toInt(&fValidConversion, 10); if (!fValidConversion || nCharityPercent > 50 || nCharityPercent <= 0) { - ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("Please Enter 1 - 50 for percent.")); ui->charityPercentEdit->setFocus(); return; @@ -147,7 +151,8 @@ void StakeForCharityDialog::on_enableButton_clicked() nMinAmount = ui->charityMinEdit->text().toDouble(&fValidConversion) * COIN; if(!fValidConversion || nMinAmount <= MIN_TXOUT_AMOUNT || nMinAmount >= MAX_MONEY ) { - ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("Min Amount out of Range, please re-enter.")); ui->charityMinEdit->setFocus(); return; @@ -159,7 +164,8 @@ void StakeForCharityDialog::on_enableButton_clicked() nMaxAmount = ui->charityMaxEdit->text().toDouble(&fValidConversion) * COIN; if(!fValidConversion || nMaxAmount <= MIN_TXOUT_AMOUNT || nMaxAmount >= MAX_MONEY ) { - ui->message->setStyleSheet("QLabel { color: red; }"); + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("Max Amount out of Range, please re-enter.")); ui->charityMaxEdit->setFocus(); return; @@ -167,7 +173,8 @@ void StakeForCharityDialog::on_enableButton_clicked() } model->setStakeForCharity(true, nCharityPercent, address, nMinAmount, nMaxAmount); - ui->message->setStyleSheet("QLabel { color: green; }"); + ui->message->setProperty("status", "ok"); + ui->message->style()->polish(ui->message); ui->message->setText(tr("You are now sending to\n") + QString(address.ToString().c_str()) + tr(".")); return; } @@ -184,7 +191,8 @@ void StakeForCharityDialog::on_disableButton_clicked() ui->charityMaxEdit->clear(); ui->charityMinEdit->clear(); ui->charityPercentEdit->clear(); - ui->message->setStyleSheet("QLabel { color: black; }"); + ui->message->setProperty("status", ""); + ui->message->style()->polish(ui->message); ui->message->setText(tr("Stake For Charity is now off")); return; } diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 9df2a92fb..04c70544b 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -683,7 +683,12 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) l6->setStyleSheet((dPriority <= 576000) ? "color:red;" : ""); // Priority < "medium" l7->setStyleSheet((fLowOutput) ? "color:red;" : ""); // Low Output = "yes" l8->setStyleSheet((nChange > 0 && nChange < CENT) ? "color:red;" : ""); // Change < 0.01BTC - + + //l5->setProperty("error", (nBytes >= 10000) ? true : false); // Bytes >= 10000 + //l6->setProperty("error", (dPriority <= 576000) ? true : false); // Priority < "medium" + //l7->setProperty("error", fLowOutput ? true : false); // Low Output = "yes" + //l8->setProperty("error", (nChange > 0 && nChange < CENT) ? true : false);// Change < 0.01BTC + // tool tips l5->setToolTip(tr("This label turns red, if the transaction size is bigger than 10000 bytes.\n\n This means a fee of at least %1 per kb is required.\n\n Can vary +/- 1 Byte per input.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CENT))); l6->setToolTip(tr("Transactions with higher priority get more likely into a block.\n\nThis label turns red, if the priority is smaller than \"medium\".\n\n This means a fee of at least %1 per kb is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CENT))); @@ -806,7 +811,7 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // padding so that sorting works correctly // date - itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(out.tx->GetTxTime()).toUTC().toString("yy-MM-dd hh:mm")); + itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(out.tx->GetTxTime()).toString("yy-MM-dd hh:mm")); // immature PoS reward if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() > 0 && out.tx->GetDepthInMainChain() > 0) { diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index da997996d..26c0f9312 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -10,9 +10,6 @@ static const int MAX_PASSPHRASE_SIZE = 1024; /* BitcoinGUI -- Size of icons in status bar */ static const int STATUSBAR_ICONSIZE = 32; -/* Invalid field background style */ -#define STYLE_INVALID "background:#FF8080" - /* Transaction list -- unconfirmed transaction */ #define COLOR_UNCONFIRMED QColor(128, 128, 128) /* Transaction list -- negative amount */ diff --git a/src/qt/optionsdialog.cpp b/src/qt/optionsdialog.cpp index 5ee26a942..459428cf8 100644 --- a/src/qt/optionsdialog.cpp +++ b/src/qt/optionsdialog.cpp @@ -237,7 +237,8 @@ void OptionsDialog::handleProxyIpValid(QValidatedLineEdit *object, bool fState) { disableSaveButtons(); object->setValid(fProxyIpValid); - ui->statusLabel->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel->setProperty("error", true); + ui->statusLabel->style()->polish(ui->statusLabel); ui->statusLabel->setText(tr("The supplied proxy address is invalid.")); } } diff --git a/src/qt/qvalidatedlineedit.cpp b/src/qt/qvalidatedlineedit.cpp index 8ca230c9d..87ecd00ac 100644 --- a/src/qt/qvalidatedlineedit.cpp +++ b/src/qt/qvalidatedlineedit.cpp @@ -1,6 +1,5 @@ #include "qvalidatedlineedit.h" - -#include "guiconstants.h" +#include QValidatedLineEdit::QValidatedLineEdit(QWidget *parent) : QLineEdit(parent), valid(true) @@ -17,11 +16,13 @@ void QValidatedLineEdit::setValid(bool valid) if(valid) { - setStyleSheet(""); + setProperty("error", false); + style()->polish(this); } else { - setStyleSheet(STYLE_INVALID); + setProperty("error", true); + style()->polish(this); } this->valid = valid; } diff --git a/src/qt/res/themes/Default/styles.qss b/src/qt/res/themes/Default/styles.qss new file mode 100644 index 000000000..46fbbf695 --- /dev/null +++ b/src/qt/res/themes/Default/styles.qss @@ -0,0 +1,24 @@ +/** + * Default Qt theme - v1.0 + * Last changed: 2014-09-18 + * Author: ZeeWolf - ##hyperstake (freenode) + * HyperStake - faster than light! + */ + +/* Styling moved from *.cpp hardcodes and new general styles */ +#coinLogo { + qproperty-pixmap: url(:images/backg); + qproperty-alignment: 'AlignHCenter | AlignVCenter'; +} + +QLabel[error="true"] { + color: red; +} + +QLabel[status="ok"] { + color: green; +} + +QValidatedLineEdit[error="true"] { + background-color: #FF8080; +} diff --git a/src/qt/res/themes/HyperBlue/calendar-disabled.png b/src/qt/res/themes/HyperBlue/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..97a36c3c39ac1778bb4cbf30ce52a34f25231966 GIT binary patch literal 673 zcmV;S0$%-zP)hu(RN}; zNgJjiX=s9pO%N6cp#g!gF~*Pof-C$1fF>^05K(c5D@oB6MkTltC?81;5KU{^`DmxZ zlVd-8ONH%;@B=nq_N==v|7=dD;QlF~Ho-03*g%khMyscIO& zk4PkBy9^gXC=`~HJ;_+DR>QTy!Hi{DD3{9^9UY5URy$ED?PGXk7;rIgdU9&24dsYS z#HHBe)HDuChZws#j;YC8*xM^1o$5njqJX-hK@j{HAD@7nk%J9Q_i;*Hal)Yxrl)67 zsr-gvn7DuM0XiKA7Z)AO&CbDYcfiP>O&IUEu#rtQNam3-vz?qFp3{GvADR5RJsq#kC(7fETUSi!pmtin-IkSDGA_= zR*NVc&d$y-KmQQ@{TbBjb*!(y!@|M>u8=BC5{wsMo?Fnh29XS-tHf~}bXA3_YB)YV z#@n?uJR*|WGze3{To<-&Ls1k6uHz8JLA%{XlPs*RtRNT+;^Stqt5B&_kk9842#PRU zO&X33fdrUGlVutImn2EuCaO}SCL&(Fd5v#7JIG{Y2$5)v?e2buXVdQ&se=p0b-W4D zeke5K@%if)9338jJ_ok8KDjK}+aq1SF_KF6CgE-0v*r@0)zu&tiNm9Y+8LNZ- zz#T~x&jYya_4b{Z1i#6X^~Y}q&kQ8%^*YAK$I?j& z_eDjRWdi!{QMxUrJzZ_6iOTiU^I4VP<*;4M76OIgvFYx>Ige`f1gfgx=8aqE^$eVz_OLL&0KMA-q5gD=u?|O%krl-T;_Krv>^aqD6Fl#t zN*oxq)uI#zl}ZJRi%WDF5i}YNY;CCA6H%zsCOlredWkQ&93qi0;k>?nE}#Dj%cj%GgBT_Z z)37!~^Pxi%79T%08!JO8i$QoyEaB;q&=W z$QRSOy}c#wXXV#+bW&^Q>5tH~F4VRTLjFFsiqMNG(|i;Sl(27Q{6~NR0DXiO#}fa* Q^Z)<=07*qoM6N<$g8b()LjV8( literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/down-arrow-disabled.png b/src/qt/res/themes/HyperBlue/down-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..46d3baa59dac89543eed4e19fd75e94f36f47d26 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71evXIEGZ*(&;heVpbGzO*cE}cIjqjZstbyFG_J90)m$~ zG?|uh-B=R1ZKmw>J8Q`|e`CMnxruBii1YTee=a3-Y=U)ol38OOfSDRJ=6z z{VA6=_8gU9PU@L^{=RL?hHdK6ySIuJon!z0T`K>ByQXXLIre&u)9>~k);z$#yxQ== Uzr9THK&LQxy85}Sb4q9e0HQThZU6uP literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/down-arrow.png b/src/qt/res/themes/HyperBlue/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd66e6dfdb347b0386c4f900e6a8dabd3e873b0f GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6}5P}IEGZ*O3KN|__28T^5bV1SpNV2pPrDC!g5($Kkm=r zFF!s$PRh&6W6R9UWRsMXG&pFMd#QOdhZ@_XMv;yLl|yVhk`yZ3 z*05P59D0}*AM?lY75kpNW6#+&WzHRV#lA!O;$5GO@(fHo46BdHHEMXTy#_Rp!PC{x JWt~$(695%5HbVda literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index 2d7928a87..57ba97b85 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -1,6 +1,6 @@ /** - * HyperBlue Qt theme - v1.0 - * Last changed: 2014-09-18 + * HyperBlue Qt theme - v1.1 + * Last changed: 2014-10-06 * Author: ZeeWolf - ##hyperstake (freenode) * HyperStake - faster than light! */ @@ -40,6 +40,8 @@ $brightest-color = #fff $input-border-color = #666 $header-font = "Verdana, Geneva, sans-serif" + $error-color = #FF6363 + $success-color = #73ff00 [/VARS] */ * { gridline-color: $main-color } @@ -51,12 +53,13 @@ QDialog, QMainWindow { } #coinLogo { - qproperty-pixmap: url('$themes-dir/HyperBlue/hypstk-watermark.png'); + qproperty-pixmap: url($themes-dir/HyperBlue/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } /* Frames */ QFrame { + /* too general - do not style */ } /* Bottom status bar */ @@ -73,7 +76,19 @@ QStatusBar::item { QLabel { color: $text-color; } - + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + /* Frames labels - Balance, Stake, etc. */ /* Balance frame */ @@ -98,19 +113,19 @@ QFrame#frame_2 QFrame { QFrame#rangeFrame { background-color: $shade-transparent-1; - border: 0; + border: none; margin-top: 10px; } #CoinControlDialog QFrame#frame { - border: 0; + border: none; border-bottom: 3px solid $shade-transparent-2; border-right: 3px solid $shade-transparent-2; } QFrame#frameCoinControl { background-color: $shade-transparent-1; - border: 0; + border: none; border-bottom: 3px solid $shade-transparent-2; border-right: 3px solid $shade-transparent-2; } @@ -192,15 +207,19 @@ QTextEdit:disabled { /* Combo box */ QComboBox { - background-color: $main-color; - color: $brightest-color; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color-xl, stop:1 $main-color); + color: $text-color; border: 1px solid $input-border-color; - border-top-right-radius: 3px; /* same radius as the QComboBox */ - border-bottom-right-radius: 3px; - padding: 4px 18px 4px 4px; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 3px 18px 3px 4px; min-width: 6em; } +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color, stop:1 $main-color-xl); + border-color: $accent-color; +} + QComboBox:disabled { border-color: $main-color-xd; color: $input-border-color; @@ -210,6 +229,37 @@ QComboBox::drop-down:disabled { border-color: $input-border-color; } +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/HyperBlue/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/HyperBlue/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/HyperBlue/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $main-color-xl; + color: $text-color; + background-color: $main-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $main-color; + selection-background-color: $text-color; +} + /* Up&down spin box */ QDateTimeEdit, QSpinBox, QDoubleSpinBox { padding: 3px; @@ -218,16 +268,38 @@ QDateTimeEdit, QSpinBox, QDoubleSpinBox { border: 1px solid $input-border-color; } +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} + QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { border-color: $main-color-xd; color: $input-border-color; } +QDateTimeEdit::down-arrow { + image: url($themes-dir/HyperBlue/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/HyperBlue/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/HyperBlue/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/HyperBlue/up-arrow.png); +} + /* Button */ QPushButton { - /*background-color: $main-color-xd;*/ background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); - /*background-color: qlineargradient(x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 $text-color, stop: 0.07 $main-color-xd, stop: 0.93 $main-color-xd, stop: 1 $text-color);*/ color: $text-color; padding: 4px; border: 2px solid $text-color; @@ -235,95 +307,108 @@ QPushButton { font-family: $header-font; font-size: 12px; border-radius: 3px; - min-width: 6em; + /*min-width: 6em;*/ } -QPushButton:pressed { - /*background-color: $accent-color; - border: 2px solid transparent; - color: $main-color-xd;*/ +QPushButton[text="OK"] { + width: 6em; +} + +QToolButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; } -QPushButton:hover { +QPushButton:hover, QToolButton:hover { background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $accent-color, stop: 0.5 $main-color-xd); color: $accent-color; border: 2px solid $accent-color; } -QPushButton:disabled { +QPushButton:disabled, QToolButton:disabled { background-color: $main-color-xd; - border: 2px solid $main-color-xd; + border: 2px solid $input-border-color; color: $main-color-xl; } +QPushButton:pressed, QToolButton:pressed { + background-color: $accent-color; + /*border: 2px solid transparent;*/ + color: $main-color-xd; +} + /* Toolbar */ QToolBar { background: $main-color-l; - spacing: 5px; /* spacing between items in the tool bar */ + spacing: 0px; /* spacing between items in the tool bar */ border-bottom: 3px solid $main-color-xd; border-top: 1px solid $main-color-xd; min-height: 40px; - padding: 0; + padding: 0px; } QToolBar::handle { - padding: 0; - background-color: transparent; + padding: 0px; + background-image: url($themes-dir/HyperBlue/toolbar-handle.png); + background-repeat: repeat-y; + background-position: top center; } /* Toolbar buttons */ -QToolButton { /* all types of tool button */ - border-radius: 0; +QToolBar QToolButton { /* all types of tool button */ + border-radius: 0px; background-color: transparent; color: $text-color; - padding: 3px 5px 5px 5px; + padding: 3px 1px 5px 2px; font-family: $header-font; font-size: 12px; margin-top: 4px; + border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; } -QToolButton:hover { +QToolBar QToolButton:hover { color: $brightest-color; + background-color: transparent; + border: none; + } -/*QToolButton:pressed { - background-color: rgba(0,0,0,90); - color: $text-color; -}*/ - -QToolButton:checked { +QToolBar QToolButton:checked { background-color: $main-color-xd; color: $accent-color; border-bottom: 3px solid $accent-color; - padding: 5px 5px 5px 5px; + padding: 5px 1px 5px 2px; } -QToolButton:disabled { +QToolBar QToolButton:disabled { color: $input-border-color; + background-color: transparent; + border: none; } +/* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - background-image: url($themes-dir/HyperBlue/arrow-down.png); - background-repeat: no-repeat; - background-position: bottom left; - border-radius: 0; - margin-top: 0; + qproperty-icon: url($themes-dir/HyperBlue/arrow-down.png); + border-radius: 0px; + margin-top: 0px; color: #fff; border-bottom: 3px solid transparent; } -#qt_toolbar_ext_button QIcon { - display: none; -} - -#qt_toolbar_ext_button:hover { - background-color: $main-color-d; -} - -#qt_toolbar_ext_button:checked { - border-bottom: none; +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; } /* Progress bar */ @@ -335,7 +420,6 @@ QProgressBar { } QProgressBar::chunk { - /*background-color: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 rgba(136,193,208, 100), stop: 0.5 rgba(136,193,208,255), stop: 1 rgba(136,193,208,100));*/ background-color: rgba(136,193,208,80); width: 3px; margin: 0.5px; @@ -350,16 +434,16 @@ CoinControlTreeWidget, QTableView { color: $text-color; selection-background-color: $main-color-transparent-2; /*selection-color: $main-color-xd;*/ - outline: 0; + outline: none; } QTableView QTableCornerButton::section { border: 0px solid $main-color-xd; - outline: 0; + outline: none; } QTableWidget::item:focus { - outline: 0; + outline: none; border: 0px; } @@ -370,7 +454,7 @@ QTreeView { selection-background-color: $accent-color; alternate-background-color: $main-color-transparent-1; selection-color: $main-color-xd; - outline: 0; + outline: none; } QTreeView::item { @@ -609,4 +693,30 @@ QCalendarWidget QAbstractItemView:enabled { } /* days in other months */ -QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } \ No newline at end of file +QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/HyperBlue/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $main-color-l; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} \ No newline at end of file diff --git a/src/qt/res/themes/HyperBlue/toolbar-handle.png b/src/qt/res/themes/HyperBlue/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ca69b01724540178ccb0795d436b511a02e42e GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%DR{a#hE&{2`t$$4J+o0l)1`d@JmL+Enr_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71esWIEGZ*O5)+(}dVZf|clnQ)dvDB;?rOH3~(ef{=L?7@>KDHEnmOPexbg205yldE|z zoqYZ3mDZ`_$Jwu)J8|N~gGY}Jai(-_V0at+^WR_V$Gy_#5)&GmnwoSR8WgTe~DWM4fgI!qn literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/HyperBlue/up-arrow.png b/src/qt/res/themes/HyperBlue/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbd8b830686295cad2188e69b3500506821880d GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6*YLeIEGZ*O5)+W*%bNlK&ZK?#%oU9;+EexKnelF{r5}E+l@J_M- literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/arrow-down.png b/src/qt/res/themes/PoloniexNight/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..abbe63ccdb0308a559b9f67547916c66b08396db GIT binary patch literal 329 zcmV-P0k-~$P)q$gGRCwA<(7}sAQ547V_l#!LY{WmH zjD=DnOIcgU#sb+;^B+vZET?S9g4vkaDkY=*1r$oQV`()TZ0zJM^?Z*Gy;q-my6^tp zz2`o&G5?zwhGC&vOGP(^<7qC|2}&I<7sCNrj9CafLUGCnY5cnx$~fT_zXbBsXABWQ z2XCfr+w!%CNf#A8;Q>Ch@lH!;H=!PrBR=)iiqu*P#B6klr+=JuWn~mB~G*;TLVg($Ma< bb`f9z{8vvY83ngX00000NkvXXu0mjf(nN@e literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/calendar-disabled.png b/src/qt/res/themes/PoloniexNight/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..97a36c3c39ac1778bb4cbf30ce52a34f25231966 GIT binary patch literal 673 zcmV;S0$%-zP)hu(RN}; zNgJjiX=s9pO%N6cp#g!gF~*Pof-C$1fF>^05K(c5D@oB6MkTltC?81;5KU{^`DmxZ zlVd-8ONH%;@B=nq_N==v|7=dD;QlF~Ho-03*g%khMyscIO& zk4PkBy9^gXC=`~HJ;_+DR>QTy!Hi{DD3{9^9UY5URy$ED?PGXk7;rIgdU9&24dsYS z#HHBe)HDuChZws#j;YC8*xM^1o$5njqJX-hK@j{HAD@7nk%J9Q_i;*Hal)Yxrl)67 zsr-gvn7DuM0XiKA7Z)AO&CbDYcfiP>O&IUEu#rtQNam3-vz?qFp3{GvADR5RJsq#kC(7fETUSi!pmtin-IkSDGA_= zR*NVc&d$y-KmQQ@{TbBjb*!(y!@|M>u8=BC5{wsMo?Fnh29XS-tHf~}bXA3_YB)YV z#@n?uJR*|WGze3{To<-&Ls1k6uHz8JLA%{XlPs*RtRNT+;^Stqt5B&_kk9842#PRU zO&X33fdrUGlVutImn2EuCaO}SCL&(Fd5v#7JIG{Y2$5)v?e2buXVdQ&se=p0b-W4D zeke5K@%if)9338jJ_ok8KDjK}+aq1SF_KF6CgE-0v*r@0)zu&tiNm9Y+8LNZ- zz#T~x&jYya_4b{Z1i#6X^~Y}q&kQ8%^*YAK$I?j& z_eDjRWdi!{QMxUrJzZ_6iOTiU^I4VP<*;4M76OIgvFYx>Ige`f1gfgx=8aqE^$eVz_OLL&0KMA-q5gD=u?|O%krl-T;_Krv>^aqD6Fl#t zN*oxq)uI#zl}ZJRi%WDF5i}YNY;CCA6H%zsCOlredWkQ&93qi0;k>?nE}#Dj%cj%GgBT_Z z)37!~^Pxi%79T%08!JO8i$QoyEaB;q&=W z$QRSOy}c#wXXV#+bW&^Q>5tH~F4VRTLjFFsiqMNG(|i;Sl(27Q{6~NR0DXiO#}fa* Q^Z)<=07*qoM6N<$g8b()LjV8( literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/cb-checked-hover.png b/src/qt/res/themes/PoloniexNight/cb-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..04ced7ae14d3fdda7d4900970f67b51bb0012a08 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%hY$DvT2;bdL&IT$XR#7 zCx%DS4mHy`JrBwBx2Y+Zu|DE0c+RMr(|9FJLAJq}nPUUfNAV463s~eQ+~YoS$RUR1 zNp{jj1}5p$JG*ood5#^o_V!(H&C6MJJ>y3%9Vw;>&hPC6ntlFqh+aOloH0jOr>ODV zMy8;>4mpkf%w9H(s{M>B?G*lX`7>`jahK=F#~&sOEc!(l1QHk?Xt>5a5{WAUx|_k% L)z4*}Q$iB}In`c% literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/cb-checked.png b/src/qt/res/themes/PoloniexNight/cb-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9993f89a6290754204c5bd472a2d70b7a7135d GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%XVu!*)+~zJ(8vvgTe~DWM4f?7Up3 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/cb-hover.png b/src/qt/res/themes/PoloniexNight/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e9a393e9044ffdac6a4eb5ee9ede6df0f2fa06 GIT binary patch literal 395 zcmV;60d)R}P)kcs zQrPC>psp1t&6tlUMc#?Wqe^Bl5hvNgO}yX|M|!tYG_}Sy`3~PFwEP+C=-?~7v?WrO pZF)iMy}x^j+Uvu=_uu#xU;r0=T{8C4NKXI&002ovPDHLkV1kdss*eBw literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/cb.png b/src/qt/res/themes/PoloniexNight/cb.png new file mode 100644 index 0000000000000000000000000000000000000000..986a9165cfba6d988629fc524cd703e56da5a377 GIT binary patch literal 395 zcmV;60d)R}P)Tg0Jw>mPlE) p={d3Y|J_T}ULXFwe&bhw0RS0iTV9>$BcuQT002ovPDHLkV1k_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71evXIEGZ*(&;heVpbGzO*cE}cIjqjZstbyFG_J90)m$~ zG?|uh-B=R1ZKmw>J8Q`|e`CMnxruBii1YTee=a3-Y=U)ol38OOfSDRJ=6z z{VA6=_8gU9PU@L^{=RL?hHdK6ySIuJon!z0T`K>ByQXXLIre&u)9>~k);z$#yxQ== Uzr9THK&LQxy85}Sb4q9e0HQThZU6uP literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/down-arrow.png b/src/qt/res/themes/PoloniexNight/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd66e6dfdb347b0386c4f900e6a8dabd3e873b0f GIT binary patch literal 226 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 JPDHLkV1l!1g(Ls~ literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/r-checked.png b/src/qt/res/themes/PoloniexNight/r-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..f267e78dddc4ef4a225eb296f793f546066fc715 GIT binary patch literal 378 zcmV-=0fqjFP)Qqtoq(7ZN`v^Ppz>hA z2y$NU{LKnL_HiH%2AU`Xr0alK6^L&GaT8F(6Ck|~h%Jf}eILMVss!TcKn+qrdL
        &VpKY*MZ4Kfgj8G@CiHocIrsWFJ3(6Y4^5&<8ojBsXZ%=LhGxPW7k2NW5__wu1&S&~=n>>b6kHezZ z4BlCMv)m(ooh5V*yZ8o0&A6lU=Gf~lyQLiX;5P@KzMS3dhkJUW9Xme-?`)Y1%Rz?9T5| zJHO3OGiYo*vmh#O75l=oV#-r>JVg|lt9NvV7aEGVX#Gv*XJljGQuI&>atT}y^eBU; LtDnm{r-UW|C#ZT0 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/r.png b/src/qt/res/themes/PoloniexNight/r.png new file mode 100644 index 0000000000000000000000000000000000000000..fba9037c0e876f4a600c9ae8a362872c5b8448c7 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGejIdb&77m!Fa#}c_+cqv&1k4Uh3%uie;3*|FtHAemqeWN4vIvEHjcZoQc5Gg_@JNI5mrV;^DLD3t_;WW_XbI@I{$hOc zBx6FOgA6~9tH^AL1x#rUI;=;2H~ugNy6S9#R6vdrD+7xJ!!{ug6=x0SJwT5#c)I$z JtaD0e0sx-qaPFMd#QOdhZ@_XMv;yLl|yVhk`yZ3 z*05P59D0}*AM?lY75kpNW6#+&WzHRV#lA!O;$5GO@(fHo46BdHHEMXTy#_Rp!PC{x JWt~$(695%5HbVda literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/styles.qss b/src/qt/res/themes/PoloniexNight/styles.qss new file mode 100644 index 000000000..b2f5d5cd3 --- /dev/null +++ b/src/qt/res/themes/PoloniexNight/styles.qss @@ -0,0 +1,723 @@ +/** + * PoloniexNight Qt theme - v1.0 + * Last changed: 2014-10-05 + * Author: ZeeWolf - ##hyperstake (freenode) + * HyperStake - faster than light! + */ + +/** + * QSS REFERENCE : + * http://qt-project.org/doc/qt-4.8/stylesheet-reference.html + * http://qt-project.org/doc/qt-4.8/stylesheet-examples.html + */ + +/** + * Colors : + * + * BG top : #434d52 + * BG bottom : #273034 + * BG panel : #2e363c + * Text : #8fa5a7 + * Text lighter : #a4b6b8 + * BG0 : #3D474C + * BG1 : #2e363c + * BG2 : #283035 + * Complement : #c28208 + * Top-bar : #2b3236 - #242b2f + * Top-bar-border : #181d20 + * Tab-color-1 : #3a4449 + * Tab-color-2 : #333c41 + * Body : #434d52 - #273034 + * Input border: #202629 + * Input bg : #333b3f + * Input focus : #3D639D + * Button bg : #394348 + * Button border : #272E34 + * Button bg hover : #434e54 + * Button bg text hover : #ffffff + * Table header : #21272c + * Table row even : #2b3239 + * Table row odd : #293036 + * Table grid : #202629 + * Tooltip bg : #3c474f + * Tooltip border : #202629 + */ + +/** [VARS] + $header-text = font-size: 24px; font-family: "Times New Roman"; color: #8fa5a7 + $custom-font-1 = font-family: "Times New Roman" + $top-bar-color-1 = #2b3236 + $top-bar-color-2 = #242b2f + $top-bar-border-color = #181d20 + $tab-color-1 = #3a4449 + $tab-color-2 = #333c41 + $text-color = #8fa5a7 + $text-lighter-color = #a4b6b8 + $panel = background-color: #2e363c; border-radius: 7px; border: 0; border: 1px solid #202629 + $bg-top = #434d52 + $bg-bottom = #273034 + $bg-panel = #2e363c + $input-bg-color = #333b3f + $input-border-color = #202629 + $input-border-focus-color = #3D639D + $button-bg-color = #394348 + $button-bg-hover-color = #434e54 + $button-border-color = #272E34 + $button-text-hover-color = #ffffff + $grid-color = #202629 + $table-header-bg = #21272c + $table-row-bg = #2b3239 + $table-row-alternate = #293036 + $tooltip-bg-color = #3c474f + $tooltip-border-color = #202629 + $main-color = #2e363c + $text-grey-d = #0a1827 + $accent-color = #c28208 + $brightest-color = #fff + $header-font = "Verdana, Geneva, sans-serif" + $focused-input = border: 2px solid #3D639D; border-radius: 2px + $error-color = #FF6363 + $success-color = #73ff00 +[/VARS] */ + +* { gridline-color: $grid-color } + +/* Dialog, Window */ +QDialog, QMainWindow { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #434d52, stop:1 #273034); +} + +#coinLogo { + qproperty-pixmap: url($themes-dir/PoloniexNight/hypstk-watermark.png); + qproperty-alignment: 'AlignBottom | AlignLeft'; +} + +/* Frames */ +QFrame { + /* too general - do not style */ +} + +/* Bottom status bar */ +QStatusBar { + background-color: transparent; + color: $text-color; +} + +QStatusBar::item { + border: none; +} + +/* Label */ +QLabel { + color: $text-color; +} + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + +/* Frames labels - Balance, Stake, etc. */ + +/* Balance frame */ +QFrame#frame { + $panel; +} + +/* Recent transactions frame */ +QFrame#frame_2 { + $panel; +} + +/* Panel in Coin Control window */ +QFrame#frame_2 QFrame { + color: $text-color; +} + +QFrame#rangeFrame { + $panel; + margin-top: 10px; +} + +#CoinControlDialog QFrame#frame { + $panel; +} + +QFrame#frameCoinControl { + $panel; +} + +/* Balance value */ +#frame #labelBalance { + color: $brightest-color; + font-size: 14px; +} + +/* Wallet label */ +QFrame#frame #label_5 { + $header-text; +} + +/* Recent transactions label */ +QFrame#frame_2 #label_4 { + $header-text; +} + +/* ScrollArea */ +QScrollArea { + $panel; +} + +#scrollAreaWidgetContents { + background-color: transparent; +} + +#scrollAreaWidgetContents > QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + $focused-input; + padding: 3px; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QTextEdit:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #434d52, stop:1 #273034); + color: $text-color; + border: 1px solid $input-border-color; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 4px 18px 4px 4px; + min-width: 6em; +} + +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #273034, stop:1 #434d52); +} + +QComboBox:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/PoloniexNight/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/PoloniexNight/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/PoloniexNight/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $tooltip-border-color; + color: $text-color; + background-color: $tooltip-bg-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $tooltip-bg-color; + selection-background-color: $text-color; +} + +/* Up&down spin box */ +QDateTimeEdit, QSpinBox, QDoubleSpinBox { + padding: 3px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +QDateTimeEdit::down-arrow { + image: url($themes-dir/PoloniexNight/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/PoloniexNight/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/PoloniexNight/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/PoloniexNight/up-arrow.png); +} + +/* Button */ +QPushButton { + background-color: $button-bg-color; + border: 1px solid $button-border-color; + border-radius: 3px; + color: $text-color; + font-family: $header-font; + font-size: 12px; + /*min-width: 6em;*/ + outline: none; + padding: 4px; +} + +QPushButton[text="OK"] { + width: 6em; +} +QToolButton { + background-color: $button-bg-color; + border: 1px solid $button-border-color; + border-radius: 3px; + color: $text-color; + font-family: $header-font; + font-size: 12px; + outline: none; + padding: 4px; +} + +QPushButton:hover, QToolButton:hover { + background-color: $button-bg-hover-color; + color: $button-text-hover-color; +} + +QPushButton:pressed, QToolButton:pressed { + background-color: $button-border-color; + color: $accent-color; +} + +QPushButton:disabled, QToolButton:disabled { + background-color: $button-border-color; + color: $tab-color-2; + border: 1px solid $button-bg-color; +} + +/* Toolbar */ +QToolBar { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $top-bar-color-1, stop:1 $top-bar-color-2); + spacing: 3px; /* spacing between items in the tool bar */ + margin-bottom: 0px; + border: none; + border-bottom: 1px solid $top-bar-border-color; +} + +QToolBar::handle { + padding: 0px; + background-color: transparent; +} + +/* Toolbar buttons */ +QToolBar QToolButton { /* all types of tool button */ + border: 1px solid $top-bar-border-color; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-1, stop:1 $tab-color-2); + color: $text-lighter-color; + padding: 4px 2px; + font-size: 14px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + $custom-font-1; + margin-top: 12px; +} + +QToolBar QToolButton:hover { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-2, stop:1 $tab-color-1); +} + +QToolBar QToolButton:checked { + background-color: $top-bar-color-1; +} + +QToolBar QToolButton:disabled { + color: $tab-color-2; + border-color: $tab-color-2; + border-bottom-color: transparent; +} + +/* Tool buttons - buttons with icons */ + +#qt_toolbar_ext_button { + qproperty-icon: url($themes-dir/PoloniexNight/arrow-down.png); + border-radius: 0px; + color: #fff; +} + +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; +} + +/* Progress bar */ +QProgressBar { + border: 1px solid #434d52; + color: $brightest-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + background-color: #434d52; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: transparent; + alternate-background-color: $table-row-alternate; + color: $text-color; + selection-background-color: $tab-color-1; + /*selection-color: $top-bar-border-color;*/ + outline: none; + $panel; +} + +QTableView QTableCornerButton::section { + border: 0px solid $top-bar-border-color; + outline: none; +} + +QTableWidget::item:focus { + outline: none; + border: 0px; +} + +QTreeView { + color: $text-color; + border-style: none; + selection-background-color: $accent-color; + alternate-background-color: $table-row-alternate; + selection-color: $top-bar-border-color; + outline: none; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $brightest-color; +} + +QTreeView::item:selected { + background-color: $tab-color-1; + color: $brightest-color; +} + +/* Table Header */ +QHeaderView { + color: $text-color; + background-color: $table-header-bg; + min-height: 24px; +} + +QHeaderView::section { + color: $text-color; + background-color: $table-header-bg; +} + +QHeaderView::section:checked { +} + + +/* Tooltip */ +QToolTip { + border: 1px outset $tooltip-border-color; + color: $text-color; + background-color: $tooltip-bg-color; + border-radius: 5px; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $top-bar-color-1; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $text-color; + color: $text-grey-d; +} + +QMenuBar::item:pressed { + background: $text-color; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $bg-panel; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + color: $bg-panel; + background-color: $text-color; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url($themes-dir/PoloniexNight/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url($themes-dir/PoloniexNight/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url($themes-dir/PoloniexNight/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url($themes-dir/PoloniexNight/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url($themes-dir/PoloniexNight/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url($themes-dir/PoloniexNight/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url($themes-dir/PoloniexNight/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url($themes-dir/PoloniexNight/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url($themes-dir/PoloniexNight/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url($themes-dir/PoloniexNight/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url($themes-dir/PoloniexNight/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url($themes-dir/PoloniexNight/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + $panel; +} + +QTabWidget::tab-bar { + left: 5px; /* move to the right by 5px */ +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + border: 1px solid $top-bar-border-color; + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-1, stop:1 $tab-color-2); + color: $text-lighter-color; + padding: 4px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + margin-right: 5px; + border-bottom: 0px; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-2, stop:1 $tab-color-1); +} + +QTabBar::tab:!selected { + background-color: $top-bar-color-1; +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $button-border-color; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $top-bar-border-color; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { + background-color: $main-color; +} +QCalendarWidget QToolButton {} +QCalendarWidget QMenu { + background-color: $top-bar-border-color; +} + + /* header row */ +QCalendarWidget QWidget { + alternate-background-color: $bg-panel; +} + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $top-bar-border-color; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { + color: $top-bar-border-color; +} + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/PoloniexNight/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $bg-panel; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} + diff --git a/src/qt/res/themes/PoloniexNight/toolbar-handle.png b/src/qt/res/themes/PoloniexNight/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ca69b01724540178ccb0795d436b511a02e42e GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%DR{a#hE&{2`t$$4J+o0l)1`d@JmL+Enr_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71esWIEGZ*O5)+(}dVZf|clnQ)dvDB;?rOH3~(ef{=L?7@>KDHEnmOPexbg205yldE|z zoqYZ3mDZ`_$Jwu)J8|N~gGY}Jai(-_V0at+^WR_V$Gy_#5)&GmnwoSR8WgTe~DWM4fgI!qn literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/up-arrow.png b/src/qt/res/themes/PoloniexNight/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbd8b830686295cad2188e69b3500506821880d GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6*YLeIEGZ*O5)+W*%bNlK&ZK?#%oU9;+EexKnelF{r5}E+l@J_M- literal 0 HcmV?d00001 diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 9b12e4aad..85afbf74a 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -453,13 +453,15 @@ void SendCoinsDialog::updateDisplayUnit() CoinControlDialog::coinControl->destChange = CBitcoinAddress(text.toStdString()).Get(); // label for the change address - ui->labelCoinControlChangeLabel->setStyleSheet("QLabel{color:black;}"); + ui->labelCoinControlChangeLabel->setProperty("error", false); + ui->labelCoinControlChangeLabel->style()->polish(ui->labelCoinControlChangeLabel); if (text.isEmpty()) ui->labelCoinControlChangeLabel->setText(""); else if (!CBitcoinAddress(text.toStdString()).IsValid()) { - ui->labelCoinControlChangeLabel->setStyleSheet("QLabel{color:red;}"); - ui->labelCoinControlChangeLabel->setText(tr("WARNING: Invalid Bitcoin address")); + ui->labelCoinControlChangeLabel->setProperty("error", true); + ui->labelCoinControlChangeLabel->style()->polish(ui->labelCoinControlChangeLabel); + ui->labelCoinControlChangeLabel->setText(tr("WARNING: Invalid HyperStake address")); } else { @@ -475,7 +477,8 @@ void SendCoinsDialog::updateDisplayUnit() ui->labelCoinControlChangeLabel->setText(tr("(no label)")); else { - ui->labelCoinControlChangeLabel->setStyleSheet("QLabel{color:red;}"); + ui->labelCoinControlChangeLabel->setProperty("error", true); + ui->labelCoinControlChangeLabel->style()->polish(ui->labelCoinControlChangeLabel); ui->labelCoinControlChangeLabel->setText(tr("WARNING: unknown change address")); } } @@ -513,4 +516,4 @@ void SendCoinsDialog::updateDisplayUnit() } } - \ No newline at end of file + diff --git a/src/qt/signverifymessagedialog.cpp b/src/qt/signverifymessagedialog.cpp index bf6f6db4d..7d191c287 100644 --- a/src/qt/signverifymessagedialog.cpp +++ b/src/qt/signverifymessagedialog.cpp @@ -109,7 +109,8 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() if (!addr.IsValid()) { ui->addressIn_SM->setValid(false); - ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_SM->setProperty("status", "error"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again.")); return; } @@ -117,7 +118,8 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() if (!addr.GetKeyID(keyID)) { ui->addressIn_SM->setValid(false); - ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_SM->setProperty("status", "error"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again.")); return; } @@ -125,7 +127,8 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() WalletModel::UnlockContext ctx(model->requestUnlock()); if (!ctx.isValid()) { - ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_SM->setProperty("status", "error"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(tr("Wallet unlock was cancelled.")); return; } @@ -133,7 +136,8 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() CKey key; if (!pwalletMain->GetKey(keyID, key)) { - ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_SM->setProperty("status", "error"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(tr("Private key for the entered address is not available.")); return; } @@ -145,12 +149,14 @@ void SignVerifyMessageDialog::on_signMessageButton_SM_clicked() std::vector vchSig; if (!key.SignCompact(Hash(ss.begin(), ss.end()), vchSig)) { - ui->statusLabel_SM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_SM->setProperty("status", "error"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(QString("") + tr("Message signing failed.") + QString("")); return; } - ui->statusLabel_SM->setStyleSheet("QLabel { color: green; }"); + ui->statusLabel_SM->setProperty("status", "ok"); + ui->statusLabel_SM->style()->polish(ui->statusLabel_SM); ui->statusLabel_SM->setText(QString("") + tr("Message signed.") + QString("")); ui->signatureOut_SM->setText(QString::fromStdString(EncodeBase64(&vchSig[0], vchSig.size()))); @@ -190,7 +196,8 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked() if (!addr.IsValid()) { ui->addressIn_VM->setValid(false); - ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_VM->setProperty("status", "error"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again.")); return; } @@ -198,7 +205,8 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked() if (!addr.GetKeyID(keyID)) { ui->addressIn_VM->setValid(false); - ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_VM->setProperty("status", "error"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again.")); return; } @@ -209,7 +217,8 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked() if (fInvalid) { ui->signatureIn_VM->setValid(false); - ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_VM->setProperty("status", "error"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(tr("The signature could not be decoded.") + QString(" ") + tr("Please check the signature and try again.")); return; } @@ -222,19 +231,22 @@ void SignVerifyMessageDialog::on_verifyMessageButton_VM_clicked() if (!key.SetCompactSignature(Hash(ss.begin(), ss.end()), vchSig)) { ui->signatureIn_VM->setValid(false); - ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_VM->setProperty("status", "error"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(tr("The signature did not match the message digest.") + QString(" ") + tr("Please check the signature and try again.")); return; } if (!(CBitcoinAddress(key.GetPubKey().GetID()) == addr)) { - ui->statusLabel_VM->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_VM->setProperty("status", "error"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(QString("") + tr("Message verification failed.") + QString("")); return; } - ui->statusLabel_VM->setStyleSheet("QLabel { color: green; }"); + ui->statusLabel_VM->setProperty("status", "ok"); + ui->statusLabel_VM->style()->polish(ui->statusLabel_VM); ui->statusLabel_VM->setText(QString("") + tr("Message verified.") + QString("")); } From 07b3beddc6df301ef9c366f3f1dae1d26db99025 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 6 Oct 2014 19:02:53 +0200 Subject: [PATCH 100/555] Themes screenshots --- .../hyperstake-hyperblue-theme-th.png | Bin 0 -> 29171 bytes .../screenshots/hyperstake-hyperblue-theme.png | Bin 0 -> 214257 bytes .../hyperstake-poloniexnight-theme-th.png | Bin 0 -> 8655 bytes .../hyperstake-poloniexnight-theme.png | Bin 0 -> 39287 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png create mode 100644 src/qt/res/screenshots/hyperstake-hyperblue-theme.png create mode 100644 src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png create mode 100644 src/qt/res/screenshots/hyperstake-poloniexnight-theme.png diff --git a/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png b/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png new file mode 100644 index 0000000000000000000000000000000000000000..007bbbbef4f95947e0a7a6a99fa593c54b9aa5e2 GIT binary patch literal 29171 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
        }i_Oc;)Za@3% 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

        (O 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

        LYGmVdjq~S=|->v0t-uv@|leT%U$}U`XI?f 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png b/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..4fd7eede55eb3048544af59eb83c8e8666b46728 GIT binary patch literal 39287 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%0AAw?EfI?KuS}f~HN^&w~?7pe$<+oOxYKO?9dT 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 bIZdTGG-#fm7^PSM`e?a1d!8g5zjXg!c(zQ3 literal 0 HcmV?d00001 From e32457e85bc4c5a9f6fb107c3d3bb0f95a834914 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 6 Oct 2014 19:07:09 +0200 Subject: [PATCH 101/555] Themes screenshots - thumbnails --- .../hyperstake-hyperblue-theme-th.png | Bin 29171 -> 21698 bytes .../hyperstake-poloniexnight-theme-th.png | Bin 8655 -> 7285 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png b/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png index 007bbbbef4f95947e0a7a6a99fa593c54b9aa5e2..2663335de41e84df3cdafaf0fc6a7896c43e0349 100644 GIT binary patch literal 21698 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 literal 29171 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 P00000NkvXXu0mjfm9PSY literal 8655 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 From 14fe44d1c19faa8b6ad658d3c8b13980a6eba6dd Mon Sep 17 00:00:00 2001 From: zeewolfik Date: Mon, 6 Oct 2014 19:08:36 +0200 Subject: [PATCH 102/555] Themes screenshots added to README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index bffa629e4..70744b1ac 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,11 @@ See the hyperstake site: http://hyperstake.com/ for help and more information. +### Wallet themes + +| HyperBlue | PoloniexNight | +| ------------- | ------------- | +| [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | + + + From 88970982e31bd286befca071bf183465c518d1b0 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 6 Oct 2014 14:17:41 -0600 Subject: [PATCH 103/555] Fix unlock problems --- src/qt/bitcoingui.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 714f9543b..de4b8efb7 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -973,9 +973,7 @@ void BitcoinGUI::setEncryptionStatus(int status) lockWalletToggleAction->setToolTip(tr("Lock wallet")); break; case WalletModel::Locked: - labelEncryptionIcon->show(); - labelEncryptionIcon->setPixmap(QIcon(":/icons/lock_closed").pixmap(STATUSBAR_ICONSIZE,STATUSBAR_ICONSIZE)); - labelEncryptionIcon->setToolTip(tr("Wallet is encrypted and currently locked")); + labelEncryptionIcon->hide(); encryptWalletAction->setChecked(true); encryptWalletAction->setEnabled(false); // TODO: decrypt currently not supported unlockWalletAction->setChecked(true); @@ -1086,8 +1084,7 @@ void BitcoinGUI::lockWalletToggle() // Unlock wallet when requested by wallet model if(walletModel->getEncryptionStatus() == WalletModel::Locked) { - AskPassphraseDialog::Mode mode = AskPassphraseDialog::UnlockMinting; - AskPassphraseDialog dlg(mode, this); + AskPassphraseDialog dlg(AskPassphraseDialog::Unlock, this); dlg.setModel(walletModel); dlg.exec(); } From da7433c9a9d2ee405e0a5d5ac1234f2f61f50a7a Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 8 Oct 2014 09:04:26 -0600 Subject: [PATCH 104/555] comment out coin control info until later --- src/qt/coincontroldialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 04c70544b..0306dd599 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -646,7 +646,7 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) } // send info to wallet model - model->setAmountSelected(nAfterFee); + //model->setAmountSelected(nAfterFee); // actually update labels int nDisplayUnit = BitcoinUnits::BTC; @@ -893,6 +893,6 @@ void CoinControlDialog::updateView() // sort view sortView(sortColumn, sortOrder); - model->setBestAddress(ui->treeWidget->topLevelItem(0)->text(COLUMN_ADDRESS).toStdString()); + //model->setBestAddress(ui->treeWidget->topLevelItem(0)->text(COLUMN_ADDRESS).toStdString()); ui->treeWidget->setEnabled(true); } From ae9493e809c96fd32a77af527c06792bc8b00ae1 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 6 Oct 2014 19:07:09 +0200 Subject: [PATCH 105/555] Themes screenshots - thumbnails --- .../hyperstake-hyperblue-theme-th.png | Bin 29171 -> 21698 bytes .../hyperstake-poloniexnight-theme-th.png | Bin 8655 -> 7285 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png b/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png index 007bbbbef4f95947e0a7a6a99fa593c54b9aa5e2..2663335de41e84df3cdafaf0fc6a7896c43e0349 100644 GIT binary patch literal 21698 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 literal 29171 zcmV)3K+C_0P)&FcJLle)S=Cj&@7*&!8)gFr+YA8^5CqT+ zQ4&p3q#O*}kZsAbNLiE}*5a_GkQas=3Y)g9vPBA{ObUQR03wWi z0L%ch_ssM@y;pTrWxjjw@gL{jm#=Dizy$+fC{0Fmbaz!&W>)5T=YHoq-}#PMv5%G+ zp9K^^6#${2?P~=Jw_^pqDrn$QF6ut6pWI= z0$8q(6Touz*HOO?8A2Fd!<)C);g&N(fZ%VhP>>Mnzd=I%o8U2$Jw`MHq!dDp86}_! z>S2PSNGYgxtRmc33Ze=K6hl>(bZ{v8O#h(IiXP`@5ZWL05F1TjOz5CJh*7Lbh@u|SG} zxD+T{IJ3;@r&mbxWoENw9{C;5@X#Z>`RuQ5@bWkAW-{F(PPaI6;+3+r|Cb_)rbPdD zU*X2-f_!){`hBacpzBxHWp%P@9LF}-dzQN{u+D70oNV&UY|ieb753e{$gSxSj;-c$ zJqJChg6Z0|b4+$W_3}I(xNDmCvaz;BpQIc-RBqnl%AN^(5pDq~8*_|Iq7cZzhCp6q z`cWW{gZa(K`!?MSLy-DjTMSrA2!dc(>Jd5$2^A>W&|qYQj1V&9V1)YrT#Sei)hJ}v zO5$TP!xSFn4c+!;?W4YL@Jqt(bLn1Kt?I4ufZEADf=7ysz81-n7^Yz4a0lCEwE#O zR4@|?JxWA!q7cbJ$k~Iqgg{myJA(1-dvl9pMVQ$Z9|xpYj!&j6r8&ELI7W)0f^1)&y$E>-Q?z{=g1GQ zuzX^PJ5*RkY^k5g%VlLV#QE}xAoK_kD+!ZOkYx2NQeh5s#W00jAYo*Md3}pYN^Hfz z%`)e@&AA*hH`AQHzI~-;WJcNf%^-e*K#=i&8x*Numlz@C3Pmyjha-XL@FNHz3mt(d z%8GU@6;Ktl6aqTbYoS3Ks2Ka||Y)JNDXcvdI?HYMT^zoE?z`ZP*o_EoWP66;Wd;+@S{*r zu10{hp39#(&zFBgztAY)Y|JoZKT|X;g3{{0L#)MH--^@UU@`Y*#rMX%#oyRna;m}K z)oY>sKZ4}NzoGs=+~)ep+b^KkdJP{w$$Ka2n1+p>8~@FxIP>5s?mn=a`ErMR{L7pj z|G=(Y9C`nJ$eL0<^{ZTa*ZY}1`6Rc7*tde6U*_lk$u~T&E>GEeWR?9(%N+kVzmLu7 zUFbWGv2}Kh_~3r7zjTr1!zVd-?j?Ty%r&Q^FJI-xl?_h(_=j1&wN8IMap?FSZmjO+ zi~r<{Yyxa;u#slWqH@poy@R(tco*{3XNjlo2HRwQE77k^c=_*soEO^bJhF#}ckiMc zIl>3`+~VxX@8i)G;nP3&32wak(f-SMEA>yT0L1{#U*@^X7wK2_uGlAu2USi`)&q`d{engx*&zDx0n4Y~vTAJ|ktu4a! zR~8u>;HC4N0nW^gN$l8l?ksE9d*aHJP>j&&;v@ig;VfSQ*tM4fXU;Q!!`X1c}cF{d> zkdtqI?EeCj9!ih}?fYHB9I99Z|A)z|>5+r?viHCI06+Y{e}RAe_}97eEdzH&fACR0 z@JnCe^EzkiH}kV5$RGS5Kb8vlZ~ZF2Am4&0>0J--mZN)F6|e%la)XU8J?@<+bs zVIBmy^Eh|he<%B26-ZN-m%a&C`p7Yk{L%Z_`pNr|fB$~^w;gAXBqncrfVbRpjFn&S zO+0dlJ$qMJ{`Kznk$3ax|MX!F|AB|t7nYe?Mt=AG90&N3hq-I~_w8=qcQ5z;JCAHX z-CpbdKl~mZKJYN_{?QNd{vgP)Lmav52*>U`?yqytVUFIpI?Ae3_CER$cdm4cL}r5A zbq9C637;g`)>JGFf8Z zJMQDu%CbM#&d+w|ZDob!SU`8^_oemuj~xFyZ~c*feIp9f=C`Q%T3d^URWU6DzEaAX$;hag|&05i5e@Lt|GQ8rWJR=LHk$qFma zy~M?Kzvr)WRfN<*d}-b3xx@Q76$>}s^KRa=)NyO;GB1S#ymi{K6*qYC^iB5Pd4wZt zukfiaJilN{a=|jps|o`@EiPdg^vK^}g~gll&n`LM#ljh^m3Z{zUlZdMNNWB4VofcwmLgUw8>Q zv74LaKHh$7gULhpu<_B)a^=oF+A6!zVX^ZvUOPuVcT%QZamle}B zzHm8l-`>3(-LuN|ev`@iI4UZZFCr@~7X^i!|*7Li0&wKOvPqHobzWpG_RJd?zl~X2&7`8cMeRm*V zz0Na1DeLQO?42@MR>s!?moD+j^SAiYL|M9cfr|>PZScHhx{%nq+>;LNB3-+|vjNz= zMb^l3m#=d3%JuDq?q^=$rKfLl$A|9VM?dj0|KR3LKN8p0xe8pJ7rHCgxwtXsM#`+7 zy+D{Qk#61My!L2@v!yWGn6Z0v&gHdrZtV?FbUUP|67jj1f3WXA#pLgOjTi6VN4dPg z`3q~5{VROqYiD`p#8J}qTiiUh!t~`eHm4EWy2*vD$mWg0@@$LET^)O_%y{YC`t}~` zwRO0@!RNbW-Yz zkt=C~&1;Ff4z1FkKEn$~53%R+H7;ITXMHwjb*W<`3px(waX_zZGW(m~VDrR5e(bJQ zPX6<={PLOeyd<#e)CrEBJHt12FSCL$*_yM}E4$`fTt9k>doEt2+=7kOEuMewD)T+d z*!nHBTVns^>s(nn+E2fHomc+PuXFa7p5@u+ zFR}g?{s2Gx_!Z9l+^2Y4XA3U+TP+I1D!UFG=Hz^njT;xXcOriyx9@$Jw@o`H|LiNy zLw~Ec6bWHQ`F3I3cizoiC--xx&*YDNjjxpQt-Y7O-tF)bT$y8~yhgkD+jM*MIQzeN zo@=9%DOiVe{dZ2h@YjAXj~-YiMy(ZMyGg|Ui=X2cc6|ADx#e{>URnRG7hj+GI#0Z= z)p;V{z9M*iZjYbl#m7(c;&R)dMU6UP}xtg|)g{deeeJx}ZD+w*pbF~;& z4Ap>|AVCpe->LZTXp=w? z>SF-Cwee9%hFPJ6K#2Hj=^`5Z@l*`S;`cwhPPprUGaW(D;J=$9s1-7b=0dSTE{2(6 zDPvKPT;KB;h*l_~s4RYu&;_F4ug}DP{|sQ1zEI5PRm(=t%E4vku@p2JAsf?Q{2Kh? z*Is`-sru_vToeQybk}mbBZYC%Rf8H`1iNJ))Rc}Q1(SOJ`u*VV1DZ0OP5hnF=pU9E z7NXBW<^p19#x=fTC=m@pj8kNiuzpK!Tu? z=w0Mu6f>+Zr06q<^qG{hzkU(Fe^7$?1*)C;#Z!~kCPE+8(^eBq_oA+X`?e79I|6lE z*3F3Qm{PHfj0-jaEByl64?iCv2$DSlO`^YPCD))AD9N*vfd)e`=&9pGoo9)h!0Lyb z>ct>n^PZpq&2uPo$dM3?tb!DwB*FSyeqvNUH%NyBK{_S(0gaJ8mRKV|>M4CfN~Q$B zYKD)I(3%0AAgX?`%`>)@JkVqP0LNKY0~%{^V~BaSHOYRTzF@&=HBFfk>xnT@LQu3X zSjr?3zu<1oNyV^vBAXyf9Z?MH=h(`GxTJI$h@OEDapuPKqnA1 zI&`Rk%S0BE_JqR=t?*(J2q{sv%7Rsh>gQQDaxuyzIs-7#3V#wML78WNKck{u02K)8 z@BH2g(-6^AJg|D7K%zhvV3z2k2XZcoc1plcMg%Nna(hAZ88(TiC>jJc^9wc`xmsN? z%k*N46J{D|jlVpJ{@$fRwmR>q!rVZ1bu0^PmV!n5K;!6*2^UMU}&1xQ$Q%$h#D*2Ry6ns zzgh8%2%(gotc5v>nR!s5h=Rt6|4b^BoM9`G@*JDgE}j&uuNP2*2xGXgzRA4d?4sBN zLJRu0oxq;INH;5#KKbvMghGG_IuU=Zcz~u-Pk{=Xa!Gy)1VyJiFu4e#74`vaC3+FW zGNz7yg9uVGOea20RWHIY&!j$6M6li{4ZfIAw4M}wqKNu)_1XVcL6V;Wk~0LsvVUfx z>KR(Yj(|RV0{y!W|MDsN=kMU;J6`+?pZdU=8wvj62mby$c>dWtKl1FK`RJh~_^*EW z-0r{pk4~)p>J`ezp8ah6v-iAre!5Oy8a2#ommf~~MCdCUJD~UcTRtkNNl*6ace{lGJ z{62O~`agC4kN?^qd>j0YuaJJ?QRG)nV{hMsu7ey|Mjtr&(ykk4PObf^PZR#(2mhZ3 zKf3v2PXSC;vD2rKx84WWuVUwC*j>Ajt6;n4$hjVS_z?CXe*S@c^1WyO_E(S1@7fJ# zw+L@JMEUuzBLBu?*kArd?56@(-*xrM^jG&BjL$4%f8_aR;{Scu{TshOuVudYsT1el z`-2yMIk5br#@g2d%kQ6U&Ng+q`%{5EsZf%TOU81cRFRunSWv!Zm3FZPhn36)&d?uLqI7$@dcitb?4yYwM!Hpe&TJsa`qJ0t{wQv z-*w;hqmTd9ALinLSIAqt{`R|m_V$FBV^|NL*P^7N#ZH)bHZ46S*>Rw0&5#jmGn1xZsa_ny z+yYv9H29nE5Kj?}bYfWSumDS{tOOzLo&q}GLt47|v-kb=_vIts|J2Xk{Y#Jhr7!%k zU;C4H|CJAN$M=7Q=Rf`qjvRf33%h1tI&*51jIwcM?+@MmndAT8h3~!ezWv|W!=;bC zjT`k3#=14{=j9v{tv&0mDPM6+{*ga- z_9Or6fAEe!^w#%Wpr0Oi|N8TRANtQ;UcP=IukSlHYZLDI$4hfAN{CT>7bBv-{igByIGZ>6 z&N5=^e;ULXD7~^cwp)M}Ln}P6T>O6Efl6H5*9tOOa(r7d1zpfaR=ntwfLbkxvSFdN z^jis_%ACNo>p0ZG+Uj1yPk#VgJql01jJ)Fn<%=(p-*X(kcpV;R%^Tb^+e_#%u3{18`iOQacApfc|`zNq$f}9j?9ok~@<;iyVv8@eW zsm3mBuYwxOQVh$L)u3^mVZqWgjNLi2q@gk<+v30w0@p*~hzSS(}i_Oc;)Za@3% zWiI})U*gGeKz~Q&hxwah_;JRzjFcL9twI{^H=^|hemX54BWJ>ZpT&)<)L9U}Fmw_8 z;#IfS#=-E|1ymJ{{-L-%T79lui)tzUp-P7l=~b9S*lVy6D(-DXWuGZB!I-&$Nvs#5 zI_rT6vJ{C{^)?MZTcI>YL<2+a&t=0MX zMvqx49*ix>a-pL~A{Nk4Gf4;#g^+9WBo#__z7-2-@6?zlpPnoc=^?05Btn@ZrE}id z3dOek)Tq>!#4!9GIyHhMM8YE2074-2Eimi%)R5xdDFdyi;*FZ(kc?6m0j9O6OVJBR zvIloDY@VH#9B1A#q7An-hytO5;EWvB7jhU~NbR|nBHb8{3>jOnRupRhT`+-1BGM95An{~jIFnxV!E`CTi4EUD=x7=3zuJbmS@kdee0a{rm^eC9^~CyiCzEr z1wQ@gVeb6Uef++gYkcwd{s52tACGhQ`%ZH6j%6k<&-i_pukfk29N@n99jE+XU*R*R zmA;x?}1q2`qDJSQjDTqcyjgSRY z>k+RD9$#ee>dUHx;2gF}ZH2e?b}_dGE}1e_G^w8^#fu=5`u$L|@>I~4nWwdt-T3GR z8(KCEwNNg}gJ3BVwe$PF3imcV>`tI1hqey@B>0A%$~l=mD!w&|KWQ%ad8X1xXI72PPqGHPxJiR zjOiE8b2=R6@TJ7;7ar%CpW4r*Kl*cg*$PrJIzSDn&7m6LLA`1oFm*=g5DSZ9QI#x; zMa6ojFdN(<2oiz^za;{l8yDu%NP&!0CBU_G`D!B%~^oDg(8!!sFMQVni z-r<|L7c=vI0Ru#_zP8EJD8O1Emx@!hYCobnznt(asujYNgq5(k@6wo8u8oc{UZobe zT_9B5fYu;v7j2&R6!jCZw3dH#Cpw8jEJB{wlf_ymSg?6^W4RDO+G`(OKrMh3f~vy} zmBD(~=7}sq9|OHYFR%-UV#)s2^H(|j6TiS`-UvnE7za0|V(0&@ctO_$KrL7YUb=T$ zu0al!?K))9%3|cmxxru=-#1p#PaZX9l50#%>wDZy zYcQF2A9u18xu>N1UJiW%XN3GSLWHn@6XW+|ea^hA7f7rh_>vOGpX$I~jEn1T!Cq8xl%?bWmvvc!7F7-X=JgfGt z*;L!fg4GUT)m|uM%Sei#nUchxUj^w5&2eC1EZUHvoZ_3*3_ap;8?Kc)-&s=auytrZ zTWn8g*{x;e0W14OH57_-$YhuZA;v`$W6;%B%s((8H5&(wzKaQ(Q{?Q?Y0ZOwt|Q6Tkkw|>L{8Q8FkE4kLkD};A)|niU-da z)3$8d1%gCkjGkfJ&-S_U%sr(<|5_DrNv8yD<@b)qOO@@>MN`GZi`!B?q$#*4DJr31 z@euuc1n4v8NNmKs&gX8fZx4>$y9u4Ja_3)dm2H+Sq=;@Rm-#QX2!p;_Y6{U>41D#zE?dFt20;bRT-p!ujQ2NSUQ zsDa`pJ65u{#sNa-0-h>A^`$qC6G5FZD86&1u#lXp)c^}|$T*4@t*%5+tZUmxTuC-a zMS}}!r18Spu%b?@NpUG?5mx}V;%lDCU8Ve@p(b9OS>>IXICV&Yxf{>7BG^MJ3=N)e zJGLWMTpUKcbMC#!lvwM8kp{cLjH)BgZJ=S?;Hf6~1PBu9sp3B;1uQ45C`qdRT4d03 z>s0Ba3XqBeXfsbDfr75z;HezAep~m7o7b6NopNn$gPS)u=`LSpbN@c3TRodwuk+ZW z7@NHA!<{+PK?&s1Hd_(ai(>qv56C^%C=j0911S0J=vFh*Cz^_ko< zECpipfJ=qa3c-{pllHT+2;kh>&x*Fk8H&>2Y|T75+c}9ubqRo$nl-i7we9EnLKZ_~ za6L!yuAnarsz7+2{XVi_Ps9wFW%~Nq$snkpma$Z!i9iw|8>BqaL%-^_af_`dpZBBv zHKf4%P6s8>Wr3Zq%G0$pY@A^P!!XQW!HWPu3az{ z%z9@r%<<-cKWFU&j+7>ZGOdqUoD+}j@eQ*KIbw)s;&~O@hq@W66=RKk=s82wr;1DhVf=Gru2(A@s6jp)@ik&f5MpB@ za$!vRij5jw6|SfW*0&SPFH{xZTT-le!>M9)%SNG)J0(Q*j$sF}Q(_kfEZ;5K7<3rZ z#-K!g8{NiAyPfRDxE)?nZ88K>@IYt{2GvLz#7I5T*DhV{@)gO13PNzzopuffR2+JUFIiYr@Xm1$$Mw!XWFJ{74nI5?#kY}6>T?G}6V8Op zU5}ik1*iYqw#Oa^@i=$~+3iT5F)kt--tCiLeCiytm>?Evr_e9J+{V7z>u->ytNwSD z^Viy3iQ7Iy2wfcnX`^KAZ-d;Y+Q=!C;w%@XkVQ$&68g3Qy=w&}5$3a3`=p&Z%8AV_ zF1&JM5kRRB?>#|y>B4WV;c{$0`>$_uZFS1tS!VO#3e%UaGTXmI+&yJ-bCYstAJa1z zxN>WL8%b$F3TP894Y=7HH#dP&nAG{orqaVT8fuk#11qkv-KGGuI_)yPl0q5wiTGVZ zm9zSaGb~cfpDT;Hct83@Qt5;`F64MIv{rG02Cj;zr$~=9*bqTW^q?37M}|#2Ft&|n zsa5tQIOZ;f&3kgg>kZ>JtlY#!1Eay9MQ#*bAtPFukUl%&+E!rBy^+*)wHdR6e=de? zCHeqi!EG+)BkS|am|1B|M>ek$n&zX{CN3b=Zvr_UdnbFYUu56z$iY2(*}A?-*2wM^ z<<{1mqX!Rg~mOC~sUnlR|&8fSO@Q?oSXSw`Z;(r4Pf!q{zmJ!?XV1F&TPh1}$ z1<$k=Kyv+1D?JqzYVb-Pb?+?KEE_$*lQ=gm9w4zoi)@0Xg0`P49`xdCbL-S|&74+h z=S_U@pd_T|;)84&jGdttcx_HOizFe_>JlEqAVA9$9aRqf;a~~E7F zUq9fK8E|AVgFX*~u{ouMJ|g1TGG}Pc+S{}j37cD;@2de@+)}|cAbD|ts5*ntx}Q>u zzml<8A`Sd;g;@yn*^m4>?qu{7jg<~GEEpOlesZZ(mm0%@F|i$uA6pcAmdb+qo5=P6 zZj&fAh)XX1__+?z%4m{2m&K;y;1e^ijiIkxX6>I>AV)8gYgrIyD3xpljaI0?%WpQUy~oc!>m53qfS@7;lK8@Kw;EamoR^ zU7)v#lpXW1!_2dE^=F)%U)Ub>Ro7gbEhz&^rXUvU6hy_gjepju7lk&b)FtlD^3O?D ztMeEMxL1co7I1|^7ASooYjCNlSRK!gglZfU2oS4azlxmP_%YKiMN0CMAsSk0VWs%* zsJ4A2S_`O(+qJZ@Ft%$!Le+N+5>!{~4a~>z&UrgtX9Ts~!FYX#?i&Ysa5W2urJ604{&4$wCjd$Bg#eGvhkLE5k zW;m+Q+0vr1(gIx|Ya6hwY(-Ec6+|+{0@^2cPD(z~WvXcCs@*}GGLMdHGmsKF)xgNr zJU$d;ZrC(d-qoKI!y7(1gZMB^CRdAvIyD{zmFTM}Q=ycw$f6mtB^Tv)m9H&e6Iq-X zfu@vNOV*@72e znyT8&N2G+#3%OFTgdh7vhZbF+q*9OO4pDQM5bMR0tK~tdBUjoIj$b@M)kmGC#V5ig zyOB!}5CqyAlkYOo#)NiPeLIMR&0Un>j6M;v-d7eLV^Va;5%?VWnUE zd=O7W)itTFiH1;Z#7b@8nANEmW8N3$U2wH+V`AbPB4ER-9h0^VxQ-x(>4NhW^<&t2 z#Ac4QB`gMH2l!Hj@1{uCyzF|kL@2>E238vcHR}ddtY%Z6B55v1o>>N*TC@s@3ewjs z(I=l1DB`kH%LM6AH_I3%JQ}m&ItZZzMWWRXVTVq}8sQAZVGDgB_0=^Aywf(8k~W?5 zyeAX=ImhqtRt@4*C{5cjH*zSIuXnFG-2q#2KlkUUvfOQRgrQmrjOPz!kws+^2q|M4 zy_oCj@M{~EZB}2cnKCXey9#~keTPnB*Ezpowy+SsZ9pG7$ntbbxN?s5tr`@kPO$go zi`zFH?cKxvlY5w7TBlsTetVWgkBw&1~CEwQyc6NtSCyxvN*3?=4cV5n^d)& zTd5C)pa?~ivjKAhi3QC4n+ z;JE9z(T~h*>-&|GL!{WDy8>O~y`!NLhfG=om?+((t3shs230|3nUs4<9vMkictabG z6?0RW%0?iH%`&}JDQcYygsMwvet@OGR$)H0w!L)MmZ=58a_2GImpV=+UI%^C#>!jn zW!Jurhc5;$ojAqu&|z0D!($JiJ=p1I_?+(L;kypA@{K3>{5v1u!?$j6de1T^ckO3= z{VE~#lzn@!(^r|Dn6m5LkC3ihA|5}8U0>(Q*Pi0(%UiJTD3cS%IsVFXT)Z&K*tg5t zx0~$VHV`{oWOeiD3om;7D%K!Xu%D4wF?49|Mx~m`^ezml1zK5h^9R#NN!eRj=5vJ1 zJo}5(v8>t)(J*m~gXr)mMB*PUU4_W=CA}zM}gcja&ze% zpoQDIIkQlMEjeG&hKt)6la}lhUGbvMs#ZE=p&*p?8GU6I!X&z`V=OhD1Rv)bTFw(XziksN1@GuasqU~og+C>HlMMaR z%dDRlzP>B4=i()vSxeZmvT|dMjkt_FcY%$QOI&{8MP598jg6(NJayv+H~M|dU%blo zWnmA%`X;uKm|fUnGMS^#o@K2s>`p8?kZYIduN>go`LTh_$f~Qsjh3MY@%{)~@8qOK zt0>*Y@ooz+aSlYChBLFOoo*LKRelw5%p283N*gmo$|41;TLAn)^Q?} zdTf)nB zwfKrY%!=6J^BN2LMX-WT(dY7NPP<+_AvnupS=@@am8iE3=yTq}p22Ica(iy%O#iiK zeGm7`ulOPt82)}W$Gzr{IluuZpL>FrwoR>!@v_hJNvTS>*V1xq!_%q$(JI{U5J_&a zTQhecRl8cpbZTzPo6QEVi%sKr zQ7Kc;d@(s)m(vUgej(;ep4Wj?Rb(PQ&p43C8m+kOx4LwR!<#QYQnYIBNZRLVX=aZ zVH#yrtSxn}SZmpSr^obI&ry?#$)q}uSD%ws1h&VSXHs@izS|d+ZT1I}T}F_5BU|-{ zUYRg$r)(D%1!7}IvMeA|I|-`(MS@S$PZgGLtF{wk7sjb?dob^C65U};ep~LjL60Ur z+IF9ALE(j5C%Gr1fm*F6f_od_qB3(!3T zQOk8Yd+ykgYFHSZZepYk>w^pLu>!N?F8re5%3(3%;WncQGS zG}NNw=doGLm~);~hf}DdS>pV9Zwo!fXg;va=brT@6E|JonmhEED4kTh-`Xaps}kBY znsRBFy19r3b=hcBKn~kyt7)c!CTC=<$YMIZ={)*Ep6WmystQwsE{|g6J4@S@VReM< z%);B|1?#$I^ws!j%s~(Lw^}`f3Om}!RUr)b6GA^H2-U07s>+M%J8U48do7I^%wX!> zzKZL!YRwQ$0vYhbyYqmPs!hx0zBLgj5eWe|&~<%6N!dM?ORYyS$Q~FP-D*sWRGmhB zAL69yFp_`RA$pLu`NBrWjpqSVp=>46QY5wjp9I22rjLrs%qRO%2W2_0F+Uca7obMstB1y)zO3^ZCL*ZnzLe>byxU zI5jTVkuox(&%TRBq%og291T(;XD)XZMyg_P?^ z+t4-43lHhxQYbL%Njl=AYk}To43+Xm68M+b_J^ji96Rn`7tB~=MNGY8*M2@Xf9T+| zfKmv9Zor1s5$$dc{wn>>AIax*)xwq7=yGsjt# zxdqzdH4*nR4xt+aJXX7ngD$$Sg~dCy4(sP(ediwfHVqbY|$Pc%xEGd z)L~VdRa0`UK@DaB)jIkw6;GQ}XWCv!aB51kKy+bFG6U;fnN}}^GFWYup%aM)EE=)O zPPM7zLdBi6)oXM2{TO^YD)eds9c@{6n8vP#kK^V_r5`0MvSb-gcW-Np$6@i$LYpx% zbQ}z44C{p~cmqV$F>;)4*N_Zd!x8@9rX$IV6C{m_)?f@jk@Be5urPmAaSxRe-RHzA zeb*^;xqRfBD*!<#LD>WVa}j+zxtgswvs<~yB`s#RC6g_wZL zS(}A#=Z15)*^76vcV?Tz#ZfKyvZ{f~t28eIfTS@6AO~Z7Mw%=%NRB7Lxg(L}_kJ z-@Sm|8O)>Xd%Mo^?RXZpS?UggBsXvwrl-dar0r+LvGYP&T04)b&T2Gu9lFTE74hAEgQr|1SBo;$C8V}~O%%<^wa_yohiduTIi?@7?_e}O za@lWNt>)_3KjXBTWXId8qwZye8EsZ^tG%`iQ|Ey_yH;GS#o3Pm3uovm#8~R+Y_i?S zzrvG6bEb04t$@q6phN4#8dY98Y+0Cem6NWoEBR-Uq_G|>ewR80FA|8^ntji22OEQ( zK|RXkZJFl4TI^`J)b5|;Iz26+X8JTVL8x$|PSbfyo8rYFf~4dfLUk@$%v@OG}F z7_w=#EL$11!M7D|vUuO)$n&}QNmH6Wd3ZgQ7uUGBuQ;u`SZ7h&=FLgeb_^Q~ucI#O ztiFE|yl!X%09JgH7M)gcR3HYSv%<9Pqy`qI|&YeoC ztOsr62R8u3bqk_Ku0ds~PMV-t=c+Ry;u41JxHA`@cC9|oh3vZLYAhk*@W&xh7^I^T zqED%Gp|;D%rsH|R8Mps8#atF|*0ii0oaWj#H#ii31=$c^hPji~7zulZpB*rDofdEV zS17(-D%RI7#eK3TZZf{G%5|@dqG2>U*tS~Ph~^W@X746GH8k=xPoVlvKyAT)LB7kYou-g;0a6G`A!TJ~c8F zrj1@R2pR3G%xlKCYPnlK z2uXfA#HtQ#vyj2}OlXA=GSWGeu9`hgwQd`zG~26K6xp_w*0xQo6iP{hSSOQdIvhY+Orj6F$@`vM zj7=5RNN=POtnFPr+1UyoXJ^=M7}MI}<7wHZ-w0u`BdhcTvl{p|xRR<-12}ruQN7p* z=9y8f7Gr`JPv%xzjonJNpzus;YdA(PUYm_<^KpY={jgZ&z^8FB-Z~jU1F1)Ola6Y) zz_sMX?^zVvY!fTG2%1>Cp%ZZvo4R67cTQtZAh5Lf44Oam5RfA(aF`-bzFd=qp}dS> ziy7O;z#5Jo+2S@!vSE+{LzgDiBq%I&(zU^0RlL>ekmg`oVx>;sSdEq21^4X|d3v>v z^|tY>vVC+5YNl)1+bv#86*5t~P1!*693j-@kj1-&!%B#H)Hkye4M_2paGUzDQX4Dk zE%i|GCCzKY{3s8(*?_SyVAr^q8EoFrsnl*>hPjY6FZ`;bQ&*t{M{_>SBY4sLp{vNr zolbXH=e7|t1!+Q|HeoYB6rA@+f78B@VtY51b$@&Fu zt{L35($$QmiH4e!k<>}A;>&)_DioAM3}pEfE^9b6W7fV+Gw9I}gLKb(L|@?Q+n; zaev4AJ@ICTCf|~~eL8$3M#{R_9^37h6^tWOn)WBiVsD{=?_&}l_^#MnqY^_k<0KI4 z5JCK=6Dx11OdYrHN7*Ut-zM^Rmop5c+3Yg%tgz7>9AH{pT?X=x^=# zAecKaQrh%#6WmmxQ&tx`g|=C&v=6Of>jp8}wD)MI%HR)O!lK(}QjN>2|1h-t0!@GUlMS`9s&5AdDVk>|EO6CY5a(rhP)g zsjz4U1#M$hve0Z4cdIiUnKX`HgRrO}tU}RJwI|=*#>#KCtJoSV6>B$F{#Rw~&a-c* z+g%6dBv$j3>N-U9ai!u@!&))6;fCHSaR@N2PD`TIhG3!#JZOz7Yd&+n)FM*@$Wyx4 zv9%1fl6_JmHI}35u*W#J3)|PPrBa__?&dbpTs0Si!ThFOR@W+zv@9XK(VUZhQ#$IM>yH<91v*yW4Htl8Oi!e#7M5Yi3Q}Q;Lz2msUa=3tK%l+xIV7(8@`H{Lz;e6hRxN|;giiq|4Gdqbj`J&O9Ck)c&y zHwQGE-oXiJaQ|;Ub*;fsDm2ki`#LPB!Nym=N>ZSU;I)w!<5j2RXuFllkbPghsY`1z zkXJw7P9G6-ACbjl-v+-ARGw$)ZLjUOM`NW0^=*b>GF0O zs}+h(laWW5GQeu#wPbtzzns>lU!l!k*?2U8)yfo8XozN44>8Z5E5+G%BqXZ&Hw~+cYPFq0@jgKfA_!3_HWk-_te$uD;M}@QQ9LDJ=P}mP&8> zjKpsX$gzX2yIny6zcE10xbtgO8$D#()*ZBh(2te{>A>~Ms8f=9;-dfnAOJ~3K~z=L z76YfDQd3!dv3%ucy68!PTrG#jsf(RyCB^3cA+iE8cppzpspS z7dpbW!%lpKZB}19lzP&L z{ZMT@ooALJgpvtuZ8D)Q7sBP8xO;ynZYI;UW$>kKdvbkq5Tl@e-&hxH%2<|JvAMd| z!{&WmJMVrSCAlw$Y&jkuSca`cYTeJaXw$TMM%M`x+dg5P2TNXEVCz=g#T^2BRoA>| z@Nuf~x`_(6GX>_o&n1q7Xs6(ax=I6I!8|Yz<4)mt?S;tT^IV2CaPEc_+E&scB<;eYbSelPt zJb5A`zVG+tWg;mNJzU*1D=ijS%NiSZDO)ev^&(0Z$SDT=W`-002}lB@jLc4*_l2pH z?G911%QCA4dA0x{vu)WfQyaIsChiV@4m96AL`8dS*EG;)fA<2VCJXHZOr@pvW#JB2RnufrhA;94=5&6X7IYUXV(*Ff<@D0~?}%lJ}vl zttQUQBLWl!Mcnx<$=nllayU%4sFLsW$u6qw`QP9XJoxU8YRO%wmbYCeKNR|aWCPS; z>Oe7RyUP(JQt{{t&Tf7ci+bDbD(t4mZrQRtzoo|!MEMaC&NkAv`ZwZ^kGRdNtW z=XR)rioq0PK}WJIxh_Bf$^xwn;aKR5RQ=GV44T!1MyODj{VFB$LrnIAn>kjJ`Use* ziIA!%XraRFUM^2XCLd>a$*}6KYEl#WyBMb}9Zgmj2LrGAl(6-Uv7o=$f$c>gYjLDO z-4^S&(qTtL5P~4T_;`;oP_kXIRMe^_(flQB8Ek#H^K zUPZ$nND_~Mvjs-QITs$AmRcLp-&b9Gk#)Of7r22I&@3(0HSG>9Ag=N7Pug;%_ytyX zN|lvo-+CRKpum{GnXRsknm88tVD9=dJ1dZlv~S!|@(jgg(L%8hREO-XI(M?{xR;QV zE$XRaE*9un289ruMEb1ip#eaq4ieMV(BfHltrVff^}rdGjBeRJPt?TuD5jBS(}&P( zb+NkZd+>=LdH+__%ZZJJ@Fux!!{v(peld`+7H8dK>#4MLY9rubvx6hvyXQ>ZE?CG6MyWh=Yr6OfU27+iwM! z+G6Qk<*_^G!GuV=ZN1&Yp=(OG-;ratuSQPcQcN7>U6&|rSnckmF@6ubmU9V<3d*z5 z<>>3>-OQ9-4M*7bi?gERb0tP-<}zuyEVJpLIl_Vz5HSU`W)Q?Q2}DNH6!Oq|1FvLO z<7&7SsM3rwnJJSaHqGx4W_uFD38*YVKs6)T$q_R6PAm*v<>jEo$wW_^f|{(9A-7Rg zH>)Fd+kypL?iT_$Ej2V}D=`{{AJ9>dW`c_AgIbvt{=G-Ch*Fmg?NVXoVxb`~JAWI9*qy3kXSkKwpyeqo9>Ym6MfbyhWa@$Fe$iD=;G*gsnlFDr ze+GMFm(`)(+30)GTZE*9UP=xys200zy91-;X~qdU8N4xxjarkRyp60$NCP0eGE2Tz zk0^F*7AJ^<(woR=g2TC86rT-am9mvG69Z#tDb#z$MIhNAh6a+HAUuG`&8H#jR5*s0 zy@TPo+aO@CL*IsGBRU}Kf)Zk;akMtsUPdnNG}-N(6iXKX6f#YQ4RaxV3;Rq8&co9B zi&~i@$jG}KlNeB@#Y(u-h4AFKo5*T@GS?92yr}cKX(f+jQ^FyGMUW^NPa0nem*aEr z1^N{CH)W$FdDC8caZ;kq|pZ6_j{m zNMuh=N}UsZ@NsvwBm(L0QvI}#^V0Tn(o>7vn7s^Pm-`|dIA4kdYiHMe;$yo9zi7-) zOBiNfQ}bLmhx;x2U zPZMY=UaFY8B4x&q*52`HpfiMAte^ewQ1iuMx6Uro2Wob+E_tbuOxVT!gpmOn zN90J=s?Nz%k6I>naO9$O=Cq9Tr3z$*m5EH4q~eqlj=y{h)){P$&^~XGM|c0d<4jTU zaksU&>^6iYlED;6T{N=!4mG)bO5vc!YArri??D^7fUh9dwv4Hx#@42FmUSrKa4Hq!7*!8kWRa zX4L3>h$3mhSO+UDLXnni;s&*XMuA4jXHjsnajS%hHWqd5;?!z21~fT{eD-=<1hN6< zux!O4a0Ao<;51mNLmmf53%Rs8ykqgI-`*XNqfyI_d)wmuzKn=2NIpZlx#I_HlGEPd zGA5*zrwxRfFeszJein1iH~j|)HPf>+Vu|!fqnbVg1l0`D+02?mrqLC)arlscjX*IhV)=RU zp@D#EG8j86c(w8pBO$H&MH%ftPmrB}T4t|7#cOBokYJ9;4QTngpo|HrWLu06p75l7TM#=GceCQo_%4dm|V$pK8>6;UisHZBa zIKa_neljHIL#IW7rvw%|kuc3jG(erJp=kuB+45L&!iiJ|A5^4b^FC73Wel7xm~+dM zN1!ny@7uI%N-LCFfrGR_%%wm>#Lt#F0xv;0C16ufdI1!wtK{-R8!ZYc#Y&Ttwc&Le zk^r6)?h3!0kw-#mAwtFK<*2#0(7dBFtYMvs{jLw~6G}~c;P4CXO#2o{Bf4&sm0P(g zWU46YQqduMNRps#3hF8&t+LGrJj-Q@&lhLht$;Bx&LQIhq>af}2Ex{#T&MON?_IpVN<6nJP*?e1i`yCa1{FL@n47bwUEHv7rW zpM{oqj3xyYJM`tWEjo%nF~G?g3}alk+IHY=?MG46xuR~0EzDSO-mysoTgd?vc`>Jj zY)XLU(2w($1U1JnrF4y03jMU24ehj8Xi!dAGjIxhmPX%ajJ4Zfc+te*b9;{YO5SGM=`FYE zpQ|K97LCU$TinAgZOKcFRGnWvjN7$$>q~ci=IC++(yMx4y$5S*5tOMw#Lp-m2AceA z!N{nI7HMd>SW=vC2pF8;G-m9JV4r|}JX0vJoyAH|>sjwCe6i6pDLE(FgM<2LiU_C= z9kf=@UU9}7d>G*pO-O;VO`eq4YClQVPV%~%*#7w2XEi_|6xb?KstzJ19 zA6tTEZh`jh(+95$W>QR|*Z|KeANs7v$(9DVl@i7)fHI>fd;A&}O*Hw0%<%>awK|(K zL}~HrakfDWS-mZu@@g*dgrv5cR5eXU;-O8qbOeCtQbf9IMJ=;y8r1mIVUgMr-jlgg zXg1|vb>n9yr0Ri11wbxHDLGwKmH`N_mU?|}Wv^wiG=VK5|2SHk?Hpr>fT0Kv>Sdzg zB^*YiJ+}I_?K!?V^nB<(1y=lm6BFo5WPpp2StA2|5vz1{_7)0(kv7^=Y&paE(1t!B znA1Hrg~ax{@t14C`V2nw7nY7z*K`COiEWJ34_#tn=vE}tSyUvOY*=j!>oRb0S2hHh zEI22)cangl`6YQ|hn z?zkRp@@NbXXI-c+)52*+8It$TJB@P)lXmH&0SP&=f(3owd>4Ekp`V_=Xk8!|JE0%mAL5qAA&3 zXg0Cu9E-SD<#`uF;&+Ph1$M(g4?sr(CqdSqHa@g=Bkd>LE7aA;Va3|s?QMN_=~pmK zL3R9Yn?i;_w-_$WOq+Hmprnrb36GmY#>-;&(pr2c%vPIktlh_)Kr~rDTivBmq#?(o z80w2_WU3_3D)ilNT^7A>5R$6c0?D2i6ANN5+~7XKUYA8<9lv{wx%cd#N)(X}>YyCz zq@cb-#!6`m&uZ&-$51OZwvhy$F>^3tmD6%Zh}}09Z#57Nasoz1b{rVl2ET}z6wpn@ zoUEnE{`a8zWr>siUnHexU<|evbfi=zG^ewZkwR~40h!TT&M?ik(~1e26ok}F0~wOoEJ2}qqYPy`iL(Yi ztfPX4n_GNv!sJT1IeZ-c0#=|&T&Z?Gm(pX7&5Bp(*d zVtOkTOjL2gz;SsN`_NlJ^WCn-8D2ut&bd-Sl-$TVx5cNO*U+}k>T*;^gDJr5crTd6 z$m%%TjT%XxxV4=uhom}GQ7y;C;p??b3kTU@GvEqRixaN3+95B^5K=IY#<1&?vBq$7 zU|HZHI*MC-FJPJyEJ?$~Oqje+-7iXax%a_8p+N~(j5A0;x+Th&o|V^h(Zxz0^2SA& zVng#>?Qkj19id%B*trp_&^bHI93kQlbV0xP%?7ZvYzt7Upkzh?dj{pR+K1j+r9v4AO<7D=oH`;f8%k-Xi6|tZlvV&40ivXtChAkFD95$nHI>QA1o+4#n z8U_t!ip!06m)lfL0iqhiguRcex7DsdSyyp&y8_2Tii+-XO@WW$59`aI3#OK7oWa{txcf&wv-eNZXDtEMIey?L4=gm zer8sKJc@^RhFgZrBS#>|;_6~x7!owN&yJD>`|nun1ve{Ix2UJt$w}c~RA})XGkGae zv$5kQcYN&B#k_I?AbIHKTrJVI*GGpoqjo#EMrgf*9$RgmpaXS=SuAGQ5HR(y^U%Ii zTD*h4qidXr9A7{ni$rFaCWpwL)7j?{&lYIriwKV zt+}-Z2|{KLjh$P?>_iH26KZnChNBCdncQl9P7s-Gp~r4g&AFn1CfG6r6f?wfX&@C1 zoUZR|e!sO=Ty+uB;I%&c03;{yINAYG@{>@PbwSB$(3eRUC{FDrbwS=w4v~xlVJwt5 z%+-j@fT0eAp<{%~lSxROgQ8-P$`by-p({ar7bgJN6pN*4jvGSGCJp8>W6Ty1>V!>u zRTCjAOe6hMQ*vxA=xzw36Ox#LecL?ifO29e=O*+I3cL_(mliU(U_0#-5?9w^jNq!v zfFgG1>_P4k=F=(9RF>Th1PCvuehg;a;yjo;e40_Dni#2-NT#>oG=P#C)?gseYy%Oq zMtT1^M(OAC;+7eKGz?~uinbs5j>z3kJE`fZcXw>=cGH#^+l6cHI$NSdN#tdkg2oJ< zYr{imUv5+-neFn0fxP$*}SS5%qhf&Ik8K#`89<$67gSnd6NCi|T%;BLGGig%5 z6_LDan3ky-splU$_(mKiGb9W&Y{%5~(o;t~Von{*d+>!rOIz^qgsJJGt@m7Fu)=IR zc<c^FQ|G}EY0SWwo6?T`xi(*NSBKM5R@iQvph=NE zLOMY0A_lY>oArwP!dYOBP{F#I_jdfkgO%scVf^M-aOLAiIR4Q+JdXGO;x#-^0R7R& zxchhBz*inknEvDwJcy5f=Ve^Jw8HB5uH*L4zJyDcR#@$R?fa)V{fk>T`mFE&S$t^D zje#t^^wc%a7V>Va4OU$Mk1;Wmx=bJ)3`im_f*HCUgjRzKYkse;XeIwxGuh`nzx7&1uH;d)IOMS6;^(W5!T>YK}og%6oV4y;;r<20F{3 zvTL)7HeDkqxjvdRL}qX2OkM&E3w;UdI_PA2Wg`1Ov$;vM`bgX1fvyV?DrT4+5{k@7 zb%3g6Xj83r`)AWqYwWzq1~Wno>}9X-)AsE?Cx?BDl{2BufaAZC36t8vsRd~!C{_DC zlX^^>9ja2J_S4e8)@Zq@VY%31og4j#w1r-7)!!i+f;;6)vBcL1L}GKmFW9gyuEIyw zC3Ok7u$HGrT@82y*&-^lMQwF5Wjh> z)=RhqfIhs3hd=WIE(5?1?&4v5&Q~wv{3>Di;2v(jbrlC=#`uFf`1E%_#7zLWcn@MuxhX)rr60p41ZbhTOsr;o)7uDhBa7vNocYB?i*lvL_h;VKP z5+O@=(LR}4j>&LXk@<&Ux_QZ=p35Ea$&sTXw!j;8znH-nmF(`4mb*e6gt;l5JgA;r z%UskCXtWGaGQg63I6+IwR@?R2HkGu9mqe_;UPzW?tS9u(VRD7(u(u|VSZMlTfbILx zq1$jGQi&ulHTY!Oa~W<(d+U zes~Xu@4k$e0N|Ie;nkmi#Ts8%4sZ?t-oJ~7-+TdA0pRVcc;T(9c+Rg{20+*E`$gc2 zIz1y;^Q;o1FGYG$68SVK4uDwNW{*mw@wKjeLH<{<>iE(GgDm{@3x=R8f9(A9r>f3GzobaBo*WdZs3NXLs&_=iwi8 z$H+kLFAOwo$Zo>TqNY7&DqthKpi+UraI(+~NmB%FrU9%uuR^?{fVFhQUGT zxkHY@04kZGk|4D%JKvC&0Z{6GzdV=#KROf@z`9zs5q;_=Xkt_Im1_627`=JyaJvA; zWP{_Ln3M^;Z-{tAGz0^@%G>#e?qo>{tD8F+FI5M>#BRDFOiiY0osCRnr{~nM^HlBP zXq@M67w2mBt%hw-XejVv${5roPFN9Rp9$weukx7-`t{4WQY+-YypQXT*7kh;tygg6 z?dS30^@n(v6Y#y8xc9xAzAyn?yMlAS@;cuBxi~dj3T` zmz+iR+>3be_%RNNF&rG=;LJs=&`&Y-6vel1cT6)}M++$S&O@{3iR8%)}YQqXxxlyxg zJG$gn3yO?=oqBU^Q_m@~4^6gcq!KwQv@BpRDb1;4 z7P18Erzh`2e}2~YK}LH102dyd;BhQw0C?+))y(hR!-F?2;ou*C6W@BG1Qy_j_i_K5 zUSI#{p&b@qyM{NAz|#h&u5;j*Ud3CtZsI2~DLQ`%&pkTAeKm6=9~|I0nQ#jLE?&m@ zm#*Q>J2!D-^T=OH-eP@_^OtS6FGe8soi_WSQ3uCt^_>K={G$&ip(kvvT5Le2mH5rIiWK~x$;{Bc?Zg@IHA6DfGi zX5K~e^V8=o=plpt=a2E>trJ^(@%F>pxc~lrJh=4;6P*YD?uYnb_j3<7n0|NbPmKADf9!-(OlU&HgU zm|uAnU%mY?ZrrJ6JRVNWD>*$Vxe=Bi8~t6Mgf9ENIF;iq|aAV?{9~!qgJAp0=QW z>2khYxZ4A3wt3!+W^V zWj+Tw*M7hZ`o?$gv&2Xb?&9P7_wj)9_M}O~nRda(%LZn&h**zu6E8oCbtqi1rLgcy z1Gtb=`(syi3%=_i3Rj4Wm^jMKwaZ!SY&#YcNC)IGVuLe=L9v>nKWv%}V^vq+ z)IEX`zXt0fP#-}o)xtZcimEe2y{0Y&5;4h54oW^*RJ)_hJM_`)YPN8FhsGqtOXINg zjiZF>(c*@-(mFUXI;O5 z>-+I3rt4)Hl>GGue87c0efp$+>t;3mMyl0>LTUz4i+`}g zo`^td0<-6QKv5IGwDQGm<9Ds@&rjAir0iZpnB0|Dij2|u(ABUB;yJm~44Eq?9-9M( zBZ?yG``AGvP}5x;xfj$Q&Dga1y*LP6p(EJ@GwSMo_YOFKki8!j&}3v+@7h>ehwGLH z=XIpMo8zhY-^ymcj?RW6@=?Na49^*K|6Ja&gQwJ*|!09R0r^mPjg}(ka z-ulUPynlLZ_3IYapaL>ml!bUaF%{1#VP`idKZvob*A@s0Dv;HO1z|??@}rK~YG5fg zb*vRA#l<+zmhvxIVr!`dM; zln48I#iG`D7=bcDcx5d_b%cPpW}EFI;~5b3(Ry?qz{cVuA9@t^gQT}7H|EB!*@RJf zG`wzOZxGu!8vr)dyG;Tb2h(7L{IL3TvnpgNU0YAVwYU;6Ba@R>C$XO$0H(Thw^G7! zCR~9oVE8i^^tloFaI;-I|8?H>S4bDmA$|HWKKjZ_czJJy^R3=~h2}qLh zp`o?_O8^UiQglg}6+&_cOqypa1!58y{b;s&83JSEr64D6jR-{yUPV zW4Xu2hc;5xq_>&v`>8;t0+9q97hv$MXkZMiMkICfFI4UGHZw#B(csCMk-SeRY%vv_ zjnSt88Y*IsVJ}6BcR$n)iIfsJRnRH0V&GK07ft1!{^tL=5B$sjj`cIEvfJ?yJ|P{A z9x}i(yXHA2e+F|&%&4)`5jzRg%N9|v*VRM<@yD~827yFc3IGSjKt1{`bjE@I>P7c{ zQ3zY^NbbXUM$0hCn;CPh20W+1cK=lQJVEuZOFkCbk%fSdek&?VT(`LN0=u*}^}4 zikZfQftC`LJ7d&5DjiOnn4*5N=_b4sBAT}O=q1I=i_J2Mv+&SOzJF_npFkG^}vK~H`R(# zHkjc3!$whT%BbJ(Tr_wSl+2e^t#w z6^kRQ_19-Z+SZmeh&F&}lRlpaYCkt9V!4LVqAS(iD+)?W+ypT|L&D$!B;f>}jIkZ~ zhRwQQ6E-ZrSRzk`hva1mnj!j2;zOU|^zILNXIZU6SKQnv{lZ_h7tQie&f<4euqFeb ztL>ULA}3%R?8SvHlfbG_Odw^{V(C;&GYT_^OcPz5L0w6q>v>BclhnrGNC`>V+Mw#` zuIshk4QFvvYO;Ry;DmwqlY|N+E)u5S|#MZ3(<2g0!6#2D52{vV!Lic8OKFZ z6%x_Lfw>Jn-I$Tr1#=b1!HCr=+ePF({wD7vEJG1L*W}ox{bEZfATlXv+i^u9Vt51I z&)AE*h+l+hOc)X)%@uQ9n0r!f6fd*=yw3(7x--3Q?b`Gd_FZ%}`aG3j*>N_@e4TtU zMNMF@Jbu^XabEc0E&;T=k_zAFIildkrRVgOMkdl z<4V_vnTVZnFPnJw;tJ<7Bh8jd%T?^L+TnCF`+&p4=!fpPXuW@0@(I}?=bdj+$V#kK zJ<_6@qnY2TxDP^Rb99IS8V7~#- z;^L(uW)4ubP6PR3%nV+Qpi-cvLQiLd6%I?*wkC@KX6j0cYBi~x%-da}mG6u#RGydr z$3l$3N3Z$VRNIB)Vwl`EH74X_wy$=J??&LNfX)?V6Bj)}GGT}a~J|QU%>w5^SHQEV$`SY z(tX`b#)#lPB})|~YKpROdWQ;*)kHsiU$^Cc)Mcm<^dp&SR}KfAJSaI%uzC^9SQ>nMsbjvD?7x2>$M7DqLv9LyWHWQ?srvKCGM zDcDT4u!-H!qq1TlhS0}lpD7kiF*ct~_W+zu*hJk~1Ts+5X_IFXrb;%R?)B1}g1J9P z#ty!F*mSrIwL02|D^V82u3Y_siY|x%`tSZ2e|G-_8@2d0k_0|FzzgrZino6KCA{#~ zi1M#*;GYQ+9GUdPwYox}5|hd4d0n6F*K zxz}I7=5WU9+C|h8!FY0v`SN+}-F=Mm+$C)O==-?&bJy^)4$!^xxcb_8T>R)E=BxX- z^5V-_-MWFt-~Kwz)dJCqI_!a0groa^j1M@2YA1a9qHnG4_9%&K7xBiouHc1tU&brz z6Wsjh82caG!S%0S#V`DWuOdI(;K9j^3p(S^zH$+N?;BU};cx#0cmLHdV*d05_|*&e znYZ?E`T0FOc<%_We(fr<7F@q^g6DtXC0zc&UEJDV;iW4HpMG?TVXXMefAfd!YpiVt6mGQi(vNN^vV`N z>fIr;FZNiVy-#pIV;Fs45r@Ej$L{qLu5N3sz}Nw!qtYw;7{FW?4u|jBiRsBrsiz@* zd}tSl0y^*G(m(k*{MwrrF;l{@B6HWwg7V@;T>Q)1_;h9rFI>dc!^b!ZS+J|mo{UDG zD^71dfaE*)fD3={ z3I5Zi16;lYJov2-p>LnZ`27dC{l_!PJ6CY<@nd}SqX*!FjB+&L<6B3-Paa`?euV=m zc>I-%_{OT@ab_enHiT9}B}O6-w+tMDFHo+G$_2Ih3w*l4>G5nhSyzmOSj~FC3Q6Xi zNlsPDp>IeDJo*X0xYL9Q6m|2t0b}3aRYL(o)ykP579|Gn?!vLyPG?L*$IeKwowp$w zbm_YEj+M+vLqa|nF%FCz-HqscoXfyoM!I#3&6qKyt~?uGz+1omD!%iVr}*ARm#$S& z%pcvy;jeuQ?`|sScm4{0!FKkr@i>4BD-2JB*T45;e9|wPyC;hx4)_i%dSA(~d} zcYlmOR}=LxnYjICWUqwIcTf^p`!D+dMijE1v6}B^HkOjhFBN4c^CqGQ85WrOqA3XiCWuCT>ne8 z0?Fl*Y`H2)e6*c++Gn~1z!Q@Rlp^Ov!*b}<&FmeGxf`6s;3dol=wsI0U0u980na!L ze_xafQF3@MnAGL6M7H4Lg2(`+j{DIMZDOG+Y+;JJtHwJg@wkDJR~h{J6})^r;rLH) z;$ia`+SjP=R9TfF7w-PgB8YZ~QcrxwR3m}$4grg>yt zYgdXaYBz<;Wp}a${ZLCB3bzhe6PhqJi7suu)1T7>bNHn0uDfi*_Wf$@EGKZjiC6$= zJQwEKFo-OccBVa!fp1>GgNp}PlZyWP`T+j{fAjV?Z$Hg%87W=BKmWhCPnz`onmwri O0000RCwC$eOZuP*LmK5mb>@fJw5vXm;r_W2ol^Ck&zP1+U%qv z=Ru6hQS8{MR9vdqRe4cfQc3)hH^o({a@h|lmm{ZaOIDo3CN0XL7(0?o5umsL#5%xW zW-yqZ-nYBov*h7U_cR6=>@We%{m7cWbNlwW?Eie{`@eJkbBE~l*Is|;?GqSd06+*3 zLKxxrR|z0Nf{YJAZXax&me)bVKe*tGaTZ04G0ue$Tx>zg!7FTCEkO<%liSV1-UR{# z2mnyr6#xh!gfQBA!CRe!F-91ZtwVyz;CF-(LO7jCEi5d+Rto@tg22}`eRvZ9;G5S{ z7$`^zfCe!afH(k?=wi=#@l&6sCw_d=&M98%eAr?~ zOa&pO9O-u2r zesE&HbbLU*Ky|bD7q5MneCB69!?<{7vwPVMk)kY4jJ3O)b|gx~>nraUzV@H)^>|+Veceae^RZjB&;} z-y+FCKCYuh!i*jK7!An{>MW%Y@xQ|pgLnc+NhvvX>U0>1!$*(WuK(Bn_pNTXd-43m zY(DRKj_(KWo;aZ`pXvYPZU4&oaAm23RlIo2`~IJ?Q}5I-FIAT>^(XfAn4kaP6ms`DS0v*d3NA}H_rlITF%E~%6#7ub~ zXAz~8v4~(2F)jfRKoo_Fq6i@c=MiI^^C%1fKnUTwzHRr~txluf==XYI7!8xia1bP% zxJwDyk!S#+ZQDTz8RQj06@@C)vMj^Y2d;!{y%4gUs1VRFz#tLEv7w2*hy(;uVuT_^ zuQlovBw&IU%Y{V%giyEB^<0-=qG<|nS*=v$z(5KqMQkm&5Q1|qIAe^*8WA5d#yE?Z z?|ZJ}`avLsz!=BOA9&k@77vUiv9*-(;NzSlgg8eCxsDr!5mo56FCp8;HU5VqisD%a zY#HCJJ7EL>GGbCn3INS^`@?f*M;!A=7s8Fd40=_LcJVIO0ZB=2*09`hp9Hs`$LvTx z020MB3;`ejqV2iPkVD%OAT-(x+P&E=ymHCw}rR4ZdC zh=c5P9K)oZ8w}pTnOv&Z>1|zRnBx;;>np2Lf@WnI)5+v=y-p_~!^exh?dYmPhk{_G(=3ci1#@!Y(3KD0bps9ns%{nYrk2l3H^e4p zUKk2OnG;DhS4^Ki`4h$k0EC{aSoy^xMi@rK%;3n~SiNGqApr0wU{RDVlyl{ow2As2 zHciBXDB|4hG&eSC@!iKJrwNj?i%$g2*3|rg>g5aVuA6ky$LWg!C=AvzqQK)!TwCvA zr4#W%YT$t%seZlT_Iq3+DJ5r-p{tG)v|IWx6&j}LcH2C3gOEeBg)xc-$^iiFW;0(x zq3`!wp56C|iYX=tAs!8N2%^9XrK~ra+>a(q+PA%=dp>4vNJ-_uL)0sk!5h8dC3dG} zcUn6>=kx&pJl7tc@m$w)S9iOQ=epk7+V<}^Q-rnU<>7JfbSvqck6$+caJ=G>L?gjY z-HRqkN{kw+0G1QT-qLExNAA*ezh z)YN*=pz@GE<YQ;Z~0W#~qXPt4CZmsbQOimC_}^}2mA=sP`~Q8X>S z*Ur497D_++$|pU?xqRw_?%EZsrXX^OmL8j&))d4A^}7|bIL$+Drc$BXRW$SR`Lo-@ zSxNvHE96Xqa>Y`s-w`}wh|JILcSB-XVAs15;DJ&}DP`^2)eBcQ#tXU2mzJfJoJ$FO zdT!3r$@22G1M{yvp$GM0vB? zD~}b`R3Wfi5|9Y}O3TND9y~Z#w?U^elhUKW>vrU5_s#E{8=F65=-TGH*y;85%}v?1 zSDu|ko~I~^sln-wmJr72LP0}F5_GBW63OcIW`63(Bt!Y>x%%2t+SCP7C2!ax<%zAE zaKRA0QmsAt!Y6FkZG=1sS*Ko`dg7UUzuxoY;?cw1MhhF6>gA8LRCc_SZM(skS?qC5 zS0iI)!Vx5uwgS7^Zg+=uFGV+U6O#ZO08_LrRuTX{|8qaT+H-&ZTmR$xZ@d9gilAR@ zY9ed|5eH0CrokhBW3y#g7A3gb?Guaw-ydZ(0Jvdv^1|hOF58q+3f^tjHoA_ctE#3% zA(J8+;f933|L$M^@W9-x*J^;2-BzO+F-0NkuBU6t>hg*d!gXDuXu$l@(ym>vzGL@~ z{hgQlL2z;99QRy=i0?YRUSA5ae)*yljB(NJ3R-U?LhNR%-R=`Cxj>j8!NS3}mQqR( zJXn+YXk`jTC9BLcYPPa#qq`JAu1%m6!&Qi+v z-u}^XjO})-wy~k;W@Y^v6X1Csa29gj6dV)f+VXO{=VnuyL`1M)v))k^R9#&IA$rbv z-*x&uhpKwF)7|FA;2tROJ~(xH=EyNLK6Uo5-V#n<*A0|PeRSd-Gi4w`H`lMGQ`W>> zmZ*AlW4+VZ1Rz1i3K>&1-E$lk`s;k8R4%0i=x%QG>(!a3pF#-GfB1L*@#@CL4^Er_ zDOF9=as?qF>bCCQ*#(NGS*bJt2uy%b#3CfcZr8hx%^6Q;vjCu`vx=@e_39notJSEd zGg(Dd?>~h{VPNJsO=;)zsNXQim0Prx{FP6*0mg5~j6d@p#8m5)33MLpLe*AzAH;D-$ z`rWP&VsD0n5R%Gd5JLTK_x=})A5&0D;~>Nv*Xi)thQRlQkb8E67Uv@HJWMd>V$TMF zF&+kirt7g}#7{)Ti==y0Gp=)aVy_nK;`aGyPyoBz zN*JNEG(BUe^brg~{E!{Rgv9P+Yu@jBoTe;AjvrXauUz##@4(^1VXv7fmhAdQd7@PB zxG7zUkU3qV@4Wrt^L8%))X?-&;PzEhkAk_-UpCVkXEr8T9{NPdhW@IRs}c10j2>Q` zIk5Kr4_^H27b@TS)6&$G+ieofvP`vJ>y#%7op!%a%<<5ddSN^xKY0KA^r0tU*Ig5X3d{V)t^{7@am z1dqP4^wGIbzVz(U`784WCf`53nkf`hMKcA2j`Oaeri6Tq$Pwe<@#iZ`XA83n^Kb!$_9t(@d;H~B zy!NJ|SqlqORMpQdReYxb0E(u2c57<>spj$-D3oXB_oq}i@XT}Fu1x?Rc;di^Cxi0z zY)+j3t9a_2cl2zT1zv7!+E9=|d1m5h#}SI~iWxIEci`-g-*y~tB5;p-UW4LE22F*0 zw(DFrv~l0v7ey9lR8o&ZO;Iqw12+VOP)aaWC?%MTuA{U!R+lcSYil(pubAl!V!kUF z6Md{u$8p>Bt0tA#s*T*fA^f`7v{=Y7)}izx3yM+HQt)GxSP&+< zrc};fnSc7(TKiNgms>h}v3%fQxs>g++eK4pv|Pa@!X)y%bSVe09(Zmsm#36?j-A`T zpMcN|6G;gGSca{RU!I!ErZfVm+4JV-XV)qnD>Ll?VS$IOqSI|-H4g#^QP!?p9V-`W z_4Y+G-JyyE86g~D{90ad2*FZp=rSWji%>;~2^NWm5QO-_TlBlX{ktpc*M9Wg`=0BD zLAaN_n5rrWI0au9Sw({$r=uY6KdC{|R3Jcun-34Y2JJSe4Dp*JT7LJuqvXnOpB z3|N+hF-oOU2!W!iln~1@6-rFY%4E_6C(pn=TI8Tqp@iUJy3LQ}$4kX}tEXvt;0L-v zJtsgI2`TMXbNhLgyYM#ZulfcgKmUKf`szPa6)6S&=)_yB^mKvr=BB2pnYC@( z(&*~adw=-nKX?ReM*7~|m_UkdJee0F|+CYzg@nL!BB>2z^?Lf7u6K8_?c ze&&_u5kgW(giu@qymDowQ(Ln`|GWR^$0F*y^~3j*Zh1sZIoW!4pAdxcaJ+Pyy-u^Y zwsPfx-HeC7^Iv~oa*i+}LnY{KyNa}|MT((5#t|wSdzpRs{|$( z6HJ#cFE{FqhkCy-82bMR09@Av02W06FsyJ1k&M|#2$gFUg(xKHR6D#l2Rv{*K0Y~d_Qa1i>)l5uG6^?^WY}2}Q@x9cCohnPPURN#OZ4&wrp)6f5V??({qT_MXCh)~suqPlA|(FPgT?8&e*Id=Fpqpp z2$O2og0(B_cj8hJrbl0Rp|N~6J9AJ|FctpAmBxX6le!9>KFb%ftLIMD8a+txsCtfV zDG`X2@@dE6<;k+=g?cL0tJm7KmZd33Gl(>^d86G5rL^x{ObAtq<0Yghib^PF2xG>g zde@-@^MEwlc9K^fP3@pNq@>^O_uG8{s8t@6A7!WhCN8IK|JASa^^Hd~EXn%$$N<4f zC=%=joEWhrqwE$3oJ1y}$8NSGNh=9%nO1Hw$KUaw4kA?7)t~Y)lc>gSg|}ikpD&gg z8;w*UOOT|R<=Z`?&}OA#;e$)3&hdmBj~O?v^BfWYqQG|?Kb0@26bp=57#Ws{3G%!^Q8gAgw&R6i zgbB4$RuqN0Zf0}YOg0nx9w4e2M(FvPVd}avn99n~4`d=8k0CwKmw(~aP>O257x+GB zdwa7F#Rwr5?d{Dz3Q;v}B9#UqwmkFQp)aB*JkM&k=i1-O%^!COJYiLP*F1 zNB}zxsRV!r^#{ct+c6{Mo|lf%ASCM?32v<%$@+PMo6Xn~l_IZ&yjeJd-EKLawNDTX@B4C&2+kSIrj+ZfWM@HRSX_W1L%$s$;SJD#u8%h2x?a1}NgV0pM-2&pc3R4R*y4yuYGr33(k5JD)5qPI_+6hb8IcpT>| zbhk@N#UkUp+v_2O0H9bXAcUIDX0ccRfJUnsUzSd%R8`%mY^Kv`O;y*{*VnGD1AwY1 zFFyZV-?kqsW+b?o=eQxKXz5f606y`;^YIx%2p6K&>CDbd1Hk^dImS5v#FsT%t#YXZ z08^8b6XWBtq9BBZsVBkXN)8DiuUFH2J`aGZ^;+NuaZk@oPq#arFpL_lwgjZ>Mtr4d zn4TZlwsT~0F$|;1=H{>wA;f02CLb%EmU}*{NVy$^n|qE@p};x2ba^?7qBzCOOiwkM zO$2hYTHUNxw{l7VK-Tz_-)m#4s8;%h{|MRN zSc{L3 zofan4D3w+_^C}yDq0BSmuKd{(cTlPAMJ9$*eF)F4r)6@A}?#4^^&CT6fiVee9 zy?V7@s}vRvZ~f1$C3u~dzrG?z)JhHnYW(Tv5uv?ntL`Jij3lYtSa_48PR#ecdLz2G zh80SJPP^V|0m5-A$sahRrL%sw4RXK@DM3mpc;mtuJy%GTCxdQ>`CdYgN6nG$Oe>jm zdaP8sw`M!tZWOVx!-s=@FSL6AfDlF)%bPBBNXdN9-n<4<6b~I~E}dn*pD6hw?K!AI zoe{TjcWqIsC`xB_IXyM2rqVG3oO(6rcVp`s*>=oIDP`!`@u%!+MM{~Tn(eM$Nj&Kz z1@z@#c-0MqNvO*e`V z+SPL;KzQ%&aoI5@lFdE|?%0q%B;dzwIR11Llb z^0=xD1~<{tsqGD2R8;|xq9~&uQ&hb)ULI8g-7vP>w!&wk~f z|HjwkdDXE*7ke~bF=fC)+FJVG&l~y!e&&=&h-C)h+-a#qvM<+OLo2v#M?=2q0hp zFjgLW|HIQr)$--BW~H(#Il{p6T+yo4LME+rrdhovh0v^2#qJZ$&~&x7?uQ)a7iR2s z`x-<%2=zwF>GmW*zu8JG%KVpS_;W6b18rFHp@)Hl;Q@&W9%{@W>aW zT+GjuQhR4AuIsv{DxGd`^nCfy(SP%$&;Rd}AC8tq8nyZtzW9Ym!kcfrG3pL2(;Ov- zY;0DCZ+os2AK1170N`vdn4W&W4FKI{d;47g0C3%H2HeO61>q>Vm;AkPb$Mf#x6WVK zK3=`r2iWaGSi1ZBa?XVi@-fUVFFbqvmw)jqzxM}!_}+)7u2Yd4R&Jz}jIq~Wdws`w z%QU5w^7;+N4-rumRX39r*uM?T?>|th*Uyd)o!DXr{zhf9(`+(86o7;th?}JQY$k&- zW^Aj7fxi5YUzHNvFe!Q^*oHw>2?BllTi^bZKl)A*js&A1l>G9q{?h*kL}*7`s4nU* P00000NkvXXu0mjfm9PSY literal 8655 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 From 8ee4f31446036c1f99e011cf0972fa122c5a0b9e Mon Sep 17 00:00:00 2001 From: zeewolfik Date: Mon, 6 Oct 2014 19:08:36 +0200 Subject: [PATCH 106/555] Themes screenshots added to README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index bffa629e4..70744b1ac 100644 --- a/README.md +++ b/README.md @@ -50,3 +50,11 @@ See the hyperstake site: http://hyperstake.com/ for help and more information. +### Wallet themes + +| HyperBlue | PoloniexNight | +| ------------- | ------------- | +| [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | + + + From 78648579623b1fff0c5508d7a41c7314db7c9eb7 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 9 Oct 2014 23:04:10 +0200 Subject: [PATCH 107/555] PoloniexDay theme - new theme - make install will now install themes to release directory (helpful in Qt Creator) --- HyperStake-qt-linux.pro | 10 + HyperStake-qt.pro | 10 + README.md | 6 +- .../hyperstake-poloniexday-theme-th.png | Bin 0 -> 9902 bytes .../hyperstake-poloniexday-theme.png | Bin 0 -> 59832 bytes src/qt/res/themes/PoloniexDay/arrow-down.png | Bin 0 -> 329 bytes .../themes/PoloniexDay/calendar-disabled.png | Bin 0 -> 673 bytes src/qt/res/themes/PoloniexDay/calendar.png | Bin 0 -> 682 bytes .../themes/PoloniexDay/cb-checked-hover.png | Bin 0 -> 266 bytes src/qt/res/themes/PoloniexDay/cb-checked.png | Bin 0 -> 266 bytes src/qt/res/themes/PoloniexDay/cb-hover.png | Bin 0 -> 395 bytes src/qt/res/themes/PoloniexDay/cb.png | Bin 0 -> 395 bytes .../PoloniexDay/down-arrow-disabled.png | Bin 0 -> 221 bytes src/qt/res/themes/PoloniexDay/down-arrow.png | Bin 0 -> 226 bytes .../themes/PoloniexDay/hypstk-watermark.png | Bin 0 -> 3600 bytes .../themes/PoloniexDay/r-checked-hover.png | Bin 0 -> 363 bytes src/qt/res/themes/PoloniexDay/r-checked.png | Bin 0 -> 378 bytes src/qt/res/themes/PoloniexDay/r-hover.png | Bin 0 -> 315 bytes src/qt/res/themes/PoloniexDay/r.png | Bin 0 -> 315 bytes src/qt/res/themes/PoloniexDay/sizegrip.png | Bin 0 -> 163 bytes src/qt/res/themes/PoloniexDay/styles.qss | 733 ++++++++++++++++++ .../res/themes/PoloniexDay/toolbar-handle.png | Bin 0 -> 126 bytes .../themes/PoloniexDay/up-arrow-disabled.png | Bin 0 -> 219 bytes src/qt/res/themes/PoloniexDay/up-arrow.png | Bin 0 -> 222 bytes src/qt/res/themes/PoloniexNight/styles.qss | 24 +- src/qt/res/themes/readme | 10 +- 26 files changed, 778 insertions(+), 15 deletions(-) create mode 100644 src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png create mode 100644 src/qt/res/screenshots/hyperstake-poloniexday-theme.png create mode 100644 src/qt/res/themes/PoloniexDay/arrow-down.png create mode 100644 src/qt/res/themes/PoloniexDay/calendar-disabled.png create mode 100644 src/qt/res/themes/PoloniexDay/calendar.png create mode 100644 src/qt/res/themes/PoloniexDay/cb-checked-hover.png create mode 100644 src/qt/res/themes/PoloniexDay/cb-checked.png create mode 100644 src/qt/res/themes/PoloniexDay/cb-hover.png create mode 100644 src/qt/res/themes/PoloniexDay/cb.png create mode 100644 src/qt/res/themes/PoloniexDay/down-arrow-disabled.png create mode 100644 src/qt/res/themes/PoloniexDay/down-arrow.png create mode 100644 src/qt/res/themes/PoloniexDay/hypstk-watermark.png create mode 100644 src/qt/res/themes/PoloniexDay/r-checked-hover.png create mode 100644 src/qt/res/themes/PoloniexDay/r-checked.png create mode 100644 src/qt/res/themes/PoloniexDay/r-hover.png create mode 100644 src/qt/res/themes/PoloniexDay/r.png create mode 100644 src/qt/res/themes/PoloniexDay/sizegrip.png create mode 100644 src/qt/res/themes/PoloniexDay/styles.qss create mode 100644 src/qt/res/themes/PoloniexDay/toolbar-handle.png create mode 100644 src/qt/res/themes/PoloniexDay/up-arrow-disabled.png create mode 100644 src/qt/res/themes/PoloniexDay/up-arrow.png diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro index 6eebea741..98cd2d704 100644 --- a/HyperStake-qt-linux.pro +++ b/HyperStake-qt-linux.pro @@ -427,4 +427,14 @@ contains(RELEASE, 1) { } } +CONFIG(debug, debug|release) { + DESTDIR = debug +} else { + DESTDIR = release +} + +themes.path = $$OUT_PWD/$$DESTDIR/themes +themes.files = src/qt/res/themes/* +INSTALLS += themes + system($$QMAKE_LRELEASE -silent $$_PRO_FILE_) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 6eebea741..98cd2d704 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -427,4 +427,14 @@ contains(RELEASE, 1) { } } +CONFIG(debug, debug|release) { + DESTDIR = debug +} else { + DESTDIR = release +} + +themes.path = $$OUT_PWD/$$DESTDIR/themes +themes.files = src/qt/res/themes/* +INSTALLS += themes + system($$QMAKE_LRELEASE -silent $$_PRO_FILE_) diff --git a/README.md b/README.md index 70744b1ac..e09138d5a 100644 --- a/README.md +++ b/README.md @@ -52,9 +52,9 @@ for help and more information. ### Wallet themes -| HyperBlue | PoloniexNight | -| ------------- | ------------- | -| [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | +| HyperBlue | PoloniexNight | PoloniexDay | +| ------------- | ------------- | ------------- | +| [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme.png) | diff --git a/src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png b/src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png new file mode 100644 index 0000000000000000000000000000000000000000..6c77590ba345df9eebadc22164bf1b34e812fcea GIT binary patch literal 9902 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/screenshots/hyperstake-poloniexday-theme.png b/src/qt/res/screenshots/hyperstake-poloniexday-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..e7eddf74d7d25a9941effb3641985143259c8a3b GIT binary patch literal 59832 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%0DG24nh%=;6Bg%aHr^?i!0lr) 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

        E?Gwcw!CCeFG9ZVTA4d_1ptVriKsvtG@7+rpjeX z8gK^|6v9A(zl|r=b~e9kMU3xeg=E-U#Z+79AQ6VPD<~@)9vPJwaoaX?L)01~y<+Md z3hC+DlkBcuTl2#GJ|vf^U98Kmjjvdj2gUFempU=+DE~GqPSG<>tawmJ~xivA>HShTi>WyC-&H2Lg zOltYT)wjg~;w?4WNZE06e;#EerIFE5a6K(5Dk?V#R(=hpm%~v&Ls$!M`>)8wqh8K^ zr&8BDXNDx1mdgyIhqJV_SlrlNh^l$oeVoQ} zrGfBoO|&3JeoKQ7Wz1cAuIHcM4H))3*9!=f2?iOw+|A<_g}NH@Ed5Q1=C*#>jB8F+ zEfq1+=Fk!OqM)F}$H$M9nDAg>c@+qEM0R&~gR93Qjt=7s316+@d$^}7JLa>#B}I5~ zTeQXI83ZW*99eFsmm_S->D~77S#9{Bav2hHzw>R8bySh|jJ#@0L_|btZSd8|XoWJK z6`i@g96^h=)<^d%M|AjO=Uc(-=bb-_RITB&skLsl@uO!LZJHgCN5>$pwY7C?%fgTw zI~@$xB_xa}mAPFakO5wjA;@@|g&#Z%n^Q2^UBTyM;=b&tuf5Jrl=X6OU@7f-Ir;hK zrl#xL+nGDdUA6ECCo3v#HDaxkSiQy7XfoqJnd$)eNjgxw3C1OZR_ z*(U4;G7ykC6+H>^-woB|MA^06lvw@I!xrc&ucWgo6K9)a4$gmbc6QENZcJ{DmKk81geSN~W#1(}}drff5Ssgt+eHfh=XCZopWZ808iHWp7m-NZ$Erh83KZ;|u zhU28?@8P25cXHA5IDRU6si+}xwxY{lUQ-h~Cw(yOw&7&8HBIZ6zg9WkdQldc`}pVf zyJoPUuaEz@C$2+Z$$oRIuyy>oEwr~S(^KJyagDt1=hL>gN@5Y)_Am{fLEH_At);ep z)N=?dOnGA%{yVcHeXtkJRWR90)p!5YVZX6IIw~p zBWJ+sm zq`@2{H?`VQW05<&glXP2Lx()wGtn^9>A|(iKK>&|ncx&NCu{8m^dmcg$f?G73w&Jg z^H`I~f|s(6jx83%PdXx>XMB<-vAQ>{(Sjf_+4CbRgsexg2vO#1{Ds6RY6#*AZ+>S~W3siWpB-|HHxd`a zBchCsw)nH1tbFo1TBX&G9jYsJo5u;<55}Ddhzvte}ISd3eQ zKP;lPrwnUnVHZy&6cxkubIdz@QucrJttp#2&rgCU?U40sxwJ+Hy+bTeRIg{e=-V^5 z?%En7C<0GYMM#~mLdU{-`f(>%v2lQx|NT6bvOx1iUF2Y?&GOp)Ewun1WO;LN_4?7_ zAOuUe<9fd?d9?P67demH3ZirqN2G)S4RY z1&(_;rb3X!;`$ie(@2LR;C0I21RN3(BEvI@FEjtz#6*okr za}Q+OcqV5Hla-7vQ|H%kl+;bQY(YL48v}=XL7UDAqvd%j1}j)@Y1+ROH2BU~NZ)yQz&9S}tGqx3NFkorGPxU;=+%N*)ODFvW}O z*cRJyK-DIlbo?gD<1{*_EUb6x%`<7&D0(XMwBhjq1f9(}+OPDPb@Z#5ueT%o8V_*x?G=3~$MA*6V z^Kzmo9L1`8sRpw@91u2;Za%@Zh?pIX&mm~X(y4&pXZ_}K{mPQW`mWyzB>qp(vvsH=W|j8f;%!Co-xK^|`VmBlm&s4vru9*M?kw4fKGy^3 zn*!K)jP<8Dv_I)sKnJJOU1Dy4j1ko(Vn!Vi{uAh71v_ zN2}-vNo;@Kr|_FL_3g%5Hl0xs5Rh)Pvg~>cj_T1LR|JkWLqJGk`bRzbTV7tP$Hd_i z1O#l5Q2tZwnOqOb$>9I7o1AN!)(f3KLdmk{LqtIEy3yYM!yik#OAfXE-@FY->&dmW z{(mkfln6^;q*d_$+2_W>nRlJFA_{&+q;l>RFLKy%t5Qy2J1O8<))}1V^Y#z-q^&G& zDdbRdc3) z|0c~UC#-xn#R26`Rba9+^OY-%Wl8DGCJ^GvzS-(nYvx@OsZWkw9o=D*L)I@-jN~Um zglYooj)iu0=J!`ct9Zf*todV2NGA9r@zuq=Nk6ix-l$f0WmFb513C&H!<3~1wR~;R zj%a;1UtmvW`)hr+#q(%Vh!9t(;vYSo>GFkBhL*}Ddt*jTjacCR^x?4U=dezYkie7< z-Ajymo@ikUi3-W|4>8OMi)4{kY)BH~I=WHwg!8B@xJ_at`4+}ctk|xMK$8W#7T8I4 zsd?^UfrHY-7;b9?0_>w41Iyxq9dGN}hASBwv{)#}7|4fLG^LSXrB{925s{AZSBL zimn4s^Tf=z@q{lye89*LNq7=Y``voo66u?m(v4)=1L5B6MHU0Dx`~c3p6ImT$rz_S zk)r14U|8J*CAD)l8?{4_p*)3W_H+zoTJM1mhg9%jZCLbL{Vev!pyI##Bgnja+e0_; z)%@$qaLS78pfc+TST?^6}QJ1|pCj5hX{p^K{1|8Gc3WYz7 zQ%9!pBp#4JZ%m)l6PBXTHg-}7Ud|J_>>*hh1mxCnar zMAf*tDfB}^F_CXwvw#I%J>=qh`{Z3}nFNltwEG@J+Zeow5dQLlBy3W}|NZB37amAC z)HGivS5e@N+JfTlyA^woA|}SU2*(%LX?Kl1GOD62_@L%R8wD~ClJ{@?iDgE!aP|z> zy)r`Ibh^c@cy0*CzEq2tZ}=Xt>$OqY2g_gnZU+XltcenVewoX0q%~)noK|Q17asZS z*EZPLWIgEBiho7q6Xj?}AR6blNpi_Y%2!l=h8bJaHiBibnCp(=Wo40jWA=|Ru*NHn zs8d#C@`kW^eY5CsqiHAeo2G`2fiUxziD0_hf+=TLtn^*kV!2@>8lWPn zCvfh<-+k<4Vc@Ex1(W5c;82yL36D{n++C!VvvjrIlzjFv=db5K)J++3k`S0WmbEp}t-V$3rn3I&bStJcuq;iOBLM(MfHrarsB7cUo)!@CCG*R63 zu8Ts>dqcf!pDuF)f`WIxl%>$ifOO|cx%wc~M5CwP+8)}nvZH|-CwQ~L()N=6%-%TZ zwZVz`^whRt^QpkSzGesBr{t;FxNd@N(9hSYBNmHe-!w*h6(Z5&&HN=Lg1Wv3c69}G zMRj#eWgX;Y4VA8tzx3y@NFg$>-5G3Gk4h=^D}98=FUS2RmMo32_-$&a{L}&A$G&?v z=C&*(S(_aucDO6YydL#T(84rvS>KoA(AdCtC=3T}V8G-OfW1 zCzc)sl3xBoDkLA(s)E>HBHcd8QUl2tIa4XZ@C523PW<>ZJY!0FXrsXM2bl#oA$Z6i zZb;$006V!9aDozzw3_%LlXL%KONnis?FjX?kUw~_O3dBYEq4RVnKv zoaDX*g+7@9+-I!a?dY1JB-Ro9*;!$1?n8>tQV-RV$BpWw8V%C@#XGGoNAb-2{7OHE zP835)eaC3?LwcP$iT|=rx2MAmKaEr{90c-tElo z%x`vPcJ}r{Dz$zaT>(1?`_F<(0+d)Bz+s$I49K7=d!dzMx>krEp7hGLrd02ru506l zyc5xUy_HJ|2{_Iit!NxZFPlE=iDG|{p z>@xqDp{M{{0JlHGSt+mq9PJrV`S#tX5-Yux6vfXvToUD%32w3acEbI=8mbFt7ePpK zc~V7QolUQ<@mr_~R|3onRtCP!aUXO=T0pLU|A*X7JSs9IdkTy8H!zskOi@}_BXSuNm>2kZD~vO(h7P%+Nd(E`pr#o6&tC#&qS zfs_Lbo+{^7SG4PQr2G2B3Gs~)>6ii!e>!<_^HNw^K56-R&VxH;aA=4Si ziDd=jLUrxv#0bRK2-oUAw_q?_1p-})T4Yi~`d+n?$~^&r$Wc8+^og0Le>8GYfOi1H zi)*EA~X}El}BBol`&$l_f z^}UyMVZ%*j?s|BSJF9vmS8bPIvwb9@!2Z1j>7vK2-{98q)~-uRFYpsdw{PK?E?2y! zW15TOl$|Q$OhwL3k{gH3OZ2c-P2-?PfV&yI# zykqIEbZp#0MW*o2B+ei~4(mWlIshK5 znQdB0?s_ww9h4DDaZ>5S@M?C*C#Fh0G7gjCR=p%>;=*RrEsK(aWo#HuOW1@bd6L5= zD_~5B0c~u=z{tJrk&7Pbzg3q$kir>!?ZOg^Sq2fdTK?^3f{k_h{>;OQVpasgeomL? zY&>5E?EiOzZY?KR>6URC(^2ggnAf#~WR`EI^ zni_7kLTI;{%YtX~(N=to3}(-_XDjhp@*xSogTcDFC`2pc$*kO2Z0_vq3xVhIqm6M` z;r7>_<47fz>o;&QV2|l6j#TSH`v?SXLW3nR(slFqgm%!oDfnD>7f1ua2Tq1f64#*d zd-SH)q=gD=yUnD5*8}Si-$9~#BC_g{uG7D{9!$04VGO*z&4o1Ex>S49TP3rC?5Sy8 z-ql82sc9|P$2nRaEti9zttOc<1OTTLC$rgTdp)|+Fw-;rxHofHcx?HCFH~w<4Q9Hd z72G}gM^b5)L;%wL$A+Rep4h&h5M<9|>(GN?xufgOgN*#(slf|5lQn%#7VxK zmvx%)jxf01ig}F4jlkK-9Q(}&xtPMKa^E8ri0n#cYyy$# zC-dr3vjTzSX=hGl9tF;`sYS9td$O;&RlqI6_4Q$YWqtn97gjAnzGGZH(wLwQ+f!p| z)zf-h%Mj#w=A*_RGf~qHflBM=BeXRmwRI8Nx}Gh!TPD?m72ETkvK0)1D;$J1lV|(F z5al;oUnWkrm!QbuPFV6CO+V{+cUiV3`@6rRke@}`-;{qA%hc4=`o-peRGO1NC+ELZ zJfM51z{>zgkDDLQE&jI%HogRIfTG_6uQpjG!uLfFSMf>@GU0_e>(TC&GJGfxkbOUN z^_fk)`(M_sH<4+Has)o6a{1}F7Ylmikf)Q7P_`b+k*oe(=Xukv@v9y-Isze75_}(~ zWw(0*2^=5w?d&`AyZypc8u#XdN|l3EIG|2?neSjrfzpYKtSko=bD$|Q;$VRuXi`b! z0r7)MZXf(>k`@2&zPoVk=tic)J7($*1OQyWqa2Ai`RjML?vOx8sJTkV^cDHso)&Lj^V2>{~i>1PmGUTcU`LRG*Lj(U_aWvuWxgQHeZ^W znyR0c=d2=2m9zaeJ3&V;Zk;Z$u>H}8GoafS4tm-JC)P9tN-wAF?=tg&;v4G> zR&E>l>gnlOSb%LX@$qL-%z90qx@{hD*H=ThJ#VY^aIA}pX3+TKz#!@`63>pl=}?mP zgAFfmZwzHNJqIt3f+T^;jIgL^{{o})FsfF%tG_er0ce@K+!05saWs)r-+A6J6^_iO z9s`7%^*Sf~Ku8&6F=kV=$7pq^zd2k;BA>Qg12Y>1DsjMmnnV_qMvFU#m~dn7)9xui z0(349*w2=WJXYX&${^Z3jU3Jz4p=;8XS-Hj2s~geSZ9rXR!RGG*dgJ$;~^pp<};P# zf>4*hfZcS`?nkuW?#>nAD^bn_4P8l7g+RVl>K5ymS@%ssndq1alKdSN)K`evUi1*AqcY`mv;XalPE`(7AhL9K9acuJXb@bHyd>R6(6`x{*PUa5Ijpp$GmI&Id`JK*)Ij7=^&uk6C-PX;kK+8l zbY0Tp@!9MDy1ygy$SQyqv)421y&RHRSL?IYu@2>uh|7j``(c-`u$%ChN(X(oit>L zy8&iDdpy~@e1ssMUGH2tSY4k;$5FRFlhwGT(fw-ugHn6=M2M-T(Mr=TKmmJ4O1`kH z(rXwE;E&L3H3=)lQCszXH}@G9Qq&1)t(i4Fr}iAGxnIPxpvMyc1SR*X9Xm82sSRfH zj{@K9MsJixWR5lZ?|YizTuLs9!}q*P$d& zL+9_ykZiW1!Tinw7Kg}lRfMRs?Xif$U!ux}Cw^+GA0$1f zpi%_K6sR0uIC$yD)<)K&y)j~0Ww3^e+(~prX4Bv%dS!~J_!_g>N83!jS%FeUISz%j z9`Uj5?HR%KT}BoA<^X15yJ_#za1G3oh+3r3(-w7rTCBH6$g^?91*B=k1VzQ)+-zke zodFqS;!2|huUQ0al@De=7vq$re=g2Br&je>vF%XEjeOO2LJlv}Jg4eX0G$s0djR1s z8S3+-<0TvBjiXiz$k0+A`|FHFKBVaT7$!v}x=?Y36XX70O&wC>FVQKJJcs40mrSZ= zrhLVz6uTfr^pdKfDp~pRo`GBN1ML8;TtL(YJefiVH8$Hv*DQ||e}I|?4&U=fS2&OC zdgg5{XaOtlc>nWOe1OT~PF3MC0&k5SLejF2Q_g&ARlWq#|2aQ*!G-usPOcg4Psa1? zDwso71t*eCunx&i!&+M3COX9Elp9~$1k6~Z=zX`170k-qC!!(yy>q^5mRSu+J6ZRm zI%5m8%d&IZ9MJ!|9656GZw=*J_vTVK$(ZG2=RlL`6gsnDfN6ozh80or=Fh1k*QU^WJIQ=VxxqEHfVxTUh*W=qi|B%)t!R98^KA(Lw5cy-C`Oh*3QiVGZ$s( zGblDFeoym>o9@XhI&eo(6+`G1&2%0sV%;&4Z>UST>=D|XFLiugB0ifa=5^U)U%o(3 zMpVgOSJJr~T!IwRqDZ(I9Gcg-HqM37M!9rDjvYc-Bn~oLh!?K}P`l$hu|B0iJ<>1Z zd(Zh67n@i1K`??o!FHG~6|{NA{$6@){a!Ngkq<4bAnbA{xE1|WKi`_HN$?ftU|>)D2IrX`V8tsR4UcNQrpWPg$dW zKb~l3$Sjr>M|m~;*zlX2iZ7kCRmO+hn3QH7p4U9*rTa_0x|A~1fIsy`^YCU^%Pgq! zJqK96!F7;fjN7aG2}gXd{{F+#GEs)DhSlCJEJ=sD>eahlbS>7#V6=QHUj-V4DCG4r z2~+lQqIB-f5d4-k^&Lr1rH;lK=De~8;a>tk-#%)&70|S5MQlHEfO4f*W<0appCE&E z)*a5V(o6((>R7NOv5RWXg1*czmN)qiy7OPWYg=_711;cfZgum`RBByWTXV|xFvPcb zR5@H21-+^3?lQYcw@dp#oZSE$qrY>-8NTj+Yy*tXWA2*GWjO({Jm~WS2XqhD|4i|y zWBmZkqRJEdK30q^V6=)DEERT#_aZ4!Z0y;1RLwGl!VM1U|K9Zi0hqDs75_D9e#vwLrC*{HzE8iiL+>Bz zVpatsNO4F#q2YpJ+sn42JT{iZ{-RckfMmQiIE6HS0b5oaOM+}~r3s*^o2MBQycq0J zzPrq;%rd1+`kU_TmPCAviKv!!tFpyS@S)?jceQznoxeVI^o{vvZuzDfQT+OPogKVp z1@+ag}BTmU3;J6};h3Gv4#xtK*D;0LG(>3uzzb`{$lqcuQ!P(~eU zW!kehTA!-f@Ff_G%!K&`5+JqK)CBX3EQ)Z)fcumyWoQE$@*+3bpUk6TMU?Z{EBazG zMM4P#jF)gIY6_JtI$L|JKiJHq1Z}&1mJ&aR^|TlSTQZ@i9)s|AQbEb=KLZA-J{1#h z?C@H+uS?6{nIGWF>8t&jJxRhK>As*fi?^*?4f9+Lq1cEkY>}D{809R3XS|NmUBg>= zj;)1|!2T-lC3$W+7eb-djpfzTWB(q8gt_383juD8$Qy4M?bn2m8-*@B|L`=jCxSuy z!^{VRbv%R~qXVqwFZx!PG{KC=rFXFQt&O=K)oLzRxd0sU=1gYT8 za=y<%X@l>}Dw-b*!``6>$hz<+wmyH|BB1?tl%K@EdAF{sVq@cC5oFc!^%rgD z4@j@EI767r>svP5@jb34ze)Vuc{3F0(U3;jj-pq%&G*ixAak`I@h06|&h3r&!ylcF zA6v5mVdUw2h2Q~75mSZ?%3>E+Q}q(Ae5Ko=YIQ+S+$YSL=nrC}ei~GD5)dV{zd$H@ zXdY^Qd256cWgJ{yRaI3{QPJ4gSX_w)!d?2a6}&+^PwiHYlU~s@m!0#n)Lb#*Y%vJd zn+i&YPvEzYCrGȬ_iTlBRb9~jkYs`jA^@hd&OLUBRs>^**y9CW$(-$Gn_)k&Co zI(lO*84L**_kC~N0=q1Zj0poScWgnu&|Ol zI5Hv;5O+y|2G^I_f+&$%sNz1IA0^c1co>e$xAc^C@tz~Z_?h9v{Y{29jApxkoBK{& zXrmc-ho*cu^^=u|kWj(9cbwRWEnvTv!5OZsy$%j$zoOA^-nHbrsI zgV7BShs{f`1E2j6r@Ute8N94`eThjka4GmOZ)@UmJj`OmL!0B{_3I6RY^vF!!QF|x z!($G=wb$w1zO1XO&C2b81Y#!*n^t8K+m%D0jAwBCmjPbp7ciIicO$uM_8dP{n`@WW z=U8GERDwKpthD<*tMIQL$Ycu^{7vKi(+6@mqnM^IlIyC@LMF(( z*li2iQ%-&drKTKu_c!xDFU7?o_G$a@^PoVP`JkM85Rrp^O7F5+PYAK=%bbrzU}9;c z*vBlPtuyeojQLjjL#FvdfqD?FyD$H`*sOFBOiQ=X)QF6MP-3&r@62|Ol1PW#o76N< xJ!7Q{g)8r-$ndfUt&q$gGRCwA<(7}sAQ547V_l#!LY{WmH zjD=DnOIcgU#sb+;^B+vZET?S9g4vkaDkY=*1r$oQV`()TZ0zJM^?Z*Gy;q-my6^tp zz2`o&G5?zwhGC&vOGP(^<7qC|2}&I<7sCNrj9CafLUGCnY5cnx$~fT_zXbBsXABWQ z2XCfr+w!%CNf#A8;Q>Ch@lH!;H=!PrBR=)iiqu*P#B6klr+=JuWn~mB~G*;TLVg($Ma< bb`f9z{8vvY83ngX00000NkvXXu0mjf(nN@e literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/calendar-disabled.png b/src/qt/res/themes/PoloniexDay/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..97a36c3c39ac1778bb4cbf30ce52a34f25231966 GIT binary patch literal 673 zcmV;S0$%-zP)hu(RN}; zNgJjiX=s9pO%N6cp#g!gF~*Pof-C$1fF>^05K(c5D@oB6MkTltC?81;5KU{^`DmxZ zlVd-8ONH%;@B=nq_N==v|7=dD;QlF~Ho-03*g%khMyscIO& zk4PkBy9^gXC=`~HJ;_+DR>QTy!Hi{DD3{9^9UY5URy$ED?PGXk7;rIgdU9&24dsYS z#HHBe)HDuChZws#j;YC8*xM^1o$5njqJX-hK@j{HAD@7nk%J9Q_i;*Hal)Yxrl)67 zsr-gvn7DuM0XiKA7Z)AO&CbDYcfiP>O&IUEu#rtQNam3-vz?qFp3{GvADR5RJsq#kC(7fETUSi!pmtin-IkSDGA_= zR*NVc&d$y-KmQQ@{TbBjb*!(y!@|M>u8=BC5{wsMo?Fnh29XS-tHf~}bXA3_YB)YV z#@n?uJR*|WGze3{To<-&Ls1k6uHz8JLA%{XlPs*RtRNT+;^Stqt5B&_kk9842#PRU zO&X33fdrUGlVutImn2EuCaO}SCL&(Fd5v#7JIG{Y2$5)v?e2buXVdQ&se=p0b-W4D zeke5K@%if)9338jJ_ok8KDjK}+aq1SF_KF6CgE-0v*r@0)zu&tiNm9Y+8LNZ- zz#T~x&jYya_4b{Z1i#6X^~Y}q&kQ8%^*YAK$I?j& z_eDjRWdi!{QMxUrJzZ_6iOTiU^I4VP<*;4M76OIgvFYx>Ige`f1gfgx=8aqE^$eVz_OLL&0KMA-q5gD=u?|O%krl-T;_Krv>^aqD6Fl#t zN*oxq)uI#zl}ZJRi%WDF5i}YNY;CCA6H%zsCOlredWkQ&93qi0;k>?nE}#Dj%cj%GgBT_Z z)37!~^Pxi%79T%08!JO8i$QoyEaB;q&=W z$QRSOy}c#wXXV#+bW&^Q>5tH~F4VRTLjFFsiqMNG(|i;Sl(27Q{6~NR0DXiO#}fa* Q^Z)<=07*qoM6N<$g8b()LjV8( literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/cb-checked-hover.png b/src/qt/res/themes/PoloniexDay/cb-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..04ced7ae14d3fdda7d4900970f67b51bb0012a08 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%hY$DvT2;bdL&IT$XR#7 zCx%DS4mHy`JrBwBx2Y+Zu|DE0c+RMr(|9FJLAJq}nPUUfNAV463s~eQ+~YoS$RUR1 zNp{jj1}5p$JG*ood5#^o_V!(H&C6MJJ>y3%9Vw;>&hPC6ntlFqh+aOloH0jOr>ODV zMy8;>4mpkf%w9H(s{M>B?G*lX`7>`jahK=F#~&sOEc!(l1QHk?Xt>5a5{WAUx|_k% L)z4*}Q$iB}In`c% literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/cb-checked.png b/src/qt/res/themes/PoloniexDay/cb-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9993f89a6290754204c5bd472a2d70b7a7135d GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%XVu!*)+~zJ(8vvgTe~DWM4f?7Up3 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/cb-hover.png b/src/qt/res/themes/PoloniexDay/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e9a393e9044ffdac6a4eb5ee9ede6df0f2fa06 GIT binary patch literal 395 zcmV;60d)R}P)kcs zQrPC>psp1t&6tlUMc#?Wqe^Bl5hvNgO}yX|M|!tYG_}Sy`3~PFwEP+C=-?~7v?WrO pZF)iMy}x^j+Uvu=_uu#xU;r0=T{8C4NKXI&002ovPDHLkV1kdss*eBw literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/cb.png b/src/qt/res/themes/PoloniexDay/cb.png new file mode 100644 index 0000000000000000000000000000000000000000..986a9165cfba6d988629fc524cd703e56da5a377 GIT binary patch literal 395 zcmV;60d)R}P)Tg0Jw>mPlE) p={d3Y|J_T}ULXFwe&bhw0RS0iTV9>$BcuQT002ovPDHLkV1k_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71evXIEGZ*(&;heVpbGzO*cE}cIjqjZstbyFG_J90)m$~ zG?|uh-B=R1ZKmw>J8Q`|e`CMnxruBii1YTee=a3-Y=U)ol38OOfSDRJ=6z z{VA6=_8gU9PU@L^{=RL?hHdK6ySIuJon!z0T`K>ByQXXLIre&u)9>~k);z$#yxQ== Uzr9THK&LQxy85}Sb4q9e0HQThZU6uP literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/down-arrow.png b/src/qt/res/themes/PoloniexDay/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd66e6dfdb347b0386c4f900e6a8dabd3e873b0f GIT binary patch literal 226 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 JPDHLkV1l!1g(Ls~ literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/r-checked.png b/src/qt/res/themes/PoloniexDay/r-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..f267e78dddc4ef4a225eb296f793f546066fc715 GIT binary patch literal 378 zcmV-=0fqjFP)Qqtoq(7ZN`v^Ppz>hA z2y$NU{LKnL_HiH%2AU`Xr0alK6^L&GaT8F(6Ck|~h%Jf}eILMVss!TcKn+qrdL
        &VpKY*MZ4Kfgj8G@CiHocIrsWFJ3(6Y4^5&<8ojBsXZ%=LhGxPW7k2NW5__wu1&S&~=n>>b6kHezZ z4BlCMv)m(ooh5V*yZ8o0&A6lU=Gf~lyQLiX;5P@KzMS3dhkJUW9Xme-?`)Y1%Rz?9T5| zJHO3OGiYo*vmh#O75l=oV#-r>JVg|lt9NvV7aEGVX#Gv*XJljGQuI&>atT}y^eBU; LtDnm{r-UW|C#ZT0 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/r.png b/src/qt/res/themes/PoloniexDay/r.png new file mode 100644 index 0000000000000000000000000000000000000000..fba9037c0e876f4a600c9ae8a362872c5b8448c7 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGejIdb&77m!Fa#}c_+cqv&1k4Uh3%uie;3*|FtHAemqeWN4vIvEHjcZoQc5Gg_@JNI5mrV;^DLD3t_;WW_XbI@I{$hOc zBx6FOgA6~9tH^AL1x#rUI;=;2H~ugNy6S9#R6vdrD+7xJ!!{ug6=x0SJwT5#c)I$z JtaD0e0sx-qaPFMd#QOdhZ@_XMv;yLl|yVhk`yZ3 z*05P59D0}*AM?lY75kpNW6#+&WzHRV#lA!O;$5GO@(fHo46BdHHEMXTy#_Rp!PC{x JWt~$(695%5HbVda literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/styles.qss b/src/qt/res/themes/PoloniexDay/styles.qss new file mode 100644 index 000000000..791b9cdf5 --- /dev/null +++ b/src/qt/res/themes/PoloniexDay/styles.qss @@ -0,0 +1,733 @@ +/** + * PoloniexDay Qt theme - v1.0 + * Last changed: 2014-10-09 + * Author: ZeeWolf - ##hyperstake (freenode) + * HyperStake - faster than light! + */ + +/** + * QSS REFERENCE : + * http://qt-project.org/doc/qt-4.8/stylesheet-reference.html + * http://qt-project.org/doc/qt-4.8/stylesheet-examples.html + */ + +/** + * Colors : + * + * BG top : #86a9a3 * + * BG bottom : #9ab7b4 * + * BG panel : #c8c8c8 * + * Text : #3a4449 * + * Text lighter : #3b444a * + * Complement : #e49806 + * Top-bar : rgb(250,250,254) - rgb(225,225,230) * + * Top-bar-border : #BCC1C4 * + * Tab-color-1 : #e1e1e6 * + * Tab-color-2 : #fafafe * + * Tab-hover-1 : #cdcdd2 * + * Tab-hover-2 : #e6e6ea * + * Body : #434d52 - #273034 + * Input border: #ABADB3 * + * Input bg : #fff * + * Input focus : #A5C7FE * + * Button bg : #fef8ed * + * Button border : #e0ceac * + * Button bg hover : #e49806 * + * Button bg text hover : #ffffff * + * Table header : rgb(211,231,217) * + * Table row even : #fff * + * Table row odd : #eef7ef * + * Table grid : #fff * + * Tooltip bg : #fff * + * Tooltip border : #86a9a3 * + */ + +/** [VARS] + $header-text = font-size: 24px; font-family: "Times New Roman"; color: rgb(60,60,60) + $custom-font-1 = font-family: "Times New Roman" + $top-bar-color-1 = rgb(250,250,254) + $top-bar-color-2 = rgb(225,225,230) + $top-bar-border-color = #BCC1C4 + $tab-color-1 = #e1e1e6 + $tab-color-2 = #fafafe + $tab-hover-color-1 = #cdcdd2 + $tab-hover-color-2 = #e6e6ea + $text-color = #3a4449 + $text-lighter-color = #3b444a + $panel = background-color: #fff; border-radius: 7px; border: 0 + $bg-top = #86a9a3 + $bg-bottom = #9ab7b4 + $bg-panel = #fff + $input-bg-color = #fff + $input-border-color = #ABADB3 + $input-border-focus-color = #A5C7FE + $button-bg-color = #fef8ed + $button-bg-hover-color = #e49806 + $button-border-color = #e0ceac + $button-text-hover-color = #ffffff + $grid-color = #fff + $table-header-bg = #D3E7D9 + $table-row-bg = #fff + $table-row-alternate = #eef7ef + $tooltip-bg-color = #fff + $tooltip-border-color = #0a1827 + $main-color = #fff + $text-grey-d = #0a1827 + $accent-color = #c28208 + $accent-color-2 = #faf5db + $brightest-color = #fff + $header-font = "Verdana, Geneva, sans-serif" + $focused-input = border: 2px solid #3D639D; border-radius: 2px + $error-color = #b41d1d + $success-color = #209e29 + $footer-top = rgb(59,68,74) + $footer-bottom = rgb(51,58,62) + $footer-edge = #e39706 + $black = #000 +[/VARS] */ + +* { gridline-color: $grid-color } + +/* Dialog, Window */ +QDialog, QMainWindow { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $bg-top, stop:0.5 $bg-bottom, stop:1 $bg-top); +} + +#coinLogo { + qproperty-pixmap: url($themes-dir/PoloniexDay/hypstk-watermark.png); + qproperty-alignment: 'AlignBottom | AlignLeft'; +} + +/* Frames */ +QFrame { + /* too general - do not style */ +} + +/* Bottom status bar */ +QStatusBar { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $footer-top, stop:1 $footer-bottom); + border-top: 1px solid $footer-edge; + color: $brightest-color; +} + +QStatusBar QLabel { + color: $brightest-color; +} + +QStatusBar::item { + border: none; + color: $brightest-color; +} + +/* Label */ +QLabel { + color: $text-color; +} + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + +/* Frames labels - Balance, Stake, etc. */ + +/* Balance frame */ +QFrame#frame { + $panel; +} + +/* Recent transactions frame */ +QFrame#frame_2 { + $panel; +} + +/* Panel in Coin Control window */ +QFrame#frame_2 QFrame { + color: $text-color; +} + +QFrame#rangeFrame { + $panel; + margin-top: 10px; +} + +#CoinControlDialog QFrame#frame { + $panel; +} + +QFrame#frameCoinControl { + $panel; +} + +/* Balance value */ +#frame #labelBalance { + font-size: 14px; +} + +/* Wallet label */ +QFrame#frame #label_5 { + $header-text; +} + +/* Recent transactions label */ +QFrame#frame_2 #label_4 { + $header-text; +} + +/* ScrollArea */ +QScrollArea { + $panel; +} + +#scrollAreaWidgetContents { + background-color: transparent; +} + +#scrollAreaWidgetContents > QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + $focused-input; + padding: 3px; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QTextEdit:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-2, stop:1 $tab-color-1); + color: $text-color; + border: 1px solid $input-border-color; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 4px 18px 4px 4px; + min-width: 6em; +} + +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-1, stop:1 $tab-color-2); +} + +QComboBox:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/PoloniexDay/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/PoloniexDay/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/PoloniexDay/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $tooltip-border-color; + color: $text-color; + background-color: $tooltip-bg-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $black; + selection-background-color: $accent-color-2; +} + +/* Up&down spin box */ +QDateTimeEdit, QSpinBox, QDoubleSpinBox { + padding: 3px; + background-color: $input-bg-color; + color: $text-color; + border: 1px solid $input-border-color; +} + +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { + border-color: $top-bar-border-color; + color: $input-border-color; +} + +QDateTimeEdit::down-arrow { + image: url($themes-dir/PoloniexDay/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/PoloniexDay/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/PoloniexDay/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/PoloniexDay/up-arrow.png); +} + +/* Button */ +QPushButton { + background-color: $button-bg-color; + border: 1px solid $button-border-color; + border-radius: 3px; + color: $text-color; + font-family: $header-font; + font-size: 12px; + /*min-width: 6em;*/ + outline: none; + padding: 4px; +} + +QPushButton[text="OK"], QPushButton[text="Yes"] { + width: 6em; +} +QToolButton { + background-color: $button-bg-color; + border: 1px solid $button-border-color; + border-radius: 3px; + color: $text-color; + font-family: $header-font; + font-size: 12px; + outline: none; + padding: 4px; +} + +QPushButton:hover, QToolButton:hover { + background-color: $button-bg-hover-color; + color: $button-text-hover-color; +} + +QPushButton:disabled, QToolButton:disabled { + background-color: $button-border-color; + color: $tab-color-2; + border: 1px solid $button-bg-color; +} + +/* Toolbar */ +QToolBar { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $top-bar-color-1, stop:1 $top-bar-color-2); + spacing: 3px; /* spacing between items in the tool bar */ + margin-bottom: 0px; + border: none; + border-bottom: 1px solid $top-bar-border-color; +} + +QToolBar::handle { + padding: 0px; + background-color: transparent; +} + +/* Toolbar buttons */ +QToolBar QToolButton { /* all types of tool button */ + border: 1px solid $top-bar-border-color; + background: transparent; + color: $text-lighter-color; + padding: 4px 2px; + font-size: 14px; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + border-bottom-left-radius: 0px; + border-bottom-right-radius: 0px; + $custom-font-1; + margin-top: 12px; +} + +QToolBar QToolButton:hover { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-hover-color-2, stop:1 $tab-hover-color-1); + color: $black; +} + +QToolBar QToolButton:checked { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-1, stop:1 $tab-color-2); + border-bottom-color: $bg-top; + color: $black; +} + +QToolBar QToolButton:disabled { + color: $tab-hover-color-1; + border-color: $top-bar-border-color; + border-bottom-color: transparent; + background-color: $tab-color-1; +} + +/* Tool buttons - buttons with icons */ + +#qt_toolbar_ext_button { + qproperty-icon: url($themes-dir/PoloniexDay/arrow-down.png); + border-radius: 0px; + color: #fff; +} + +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; +} + +/* Progress bar */ +QProgressBar { + border: 1px solid $brightest-color; + color: $text-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + background-color: $brightest-color; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: transparent; + alternate-background-color: $table-row-alternate; + color: $text-color; + selection-background-color: $accent-color-2; + selection-color: $button-bg-hover-color; + outline: none; + $panel; +} + +QTableView QTableCornerButton::section { + border: 0px; + outline: none; +} + +QTableWidget::item:focus { + outline: none; + border: 0px; +} + +QTreeView { + color: $text-color; + border-style: none; + selection-background-color: $accent-color; + alternate-background-color: $table-row-alternate; + selection-color: $text-grey-d; + outline: none; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $text-grey-d; +} + +QTreeView::item:selected { + background-color: $accent-color-2; + color: $button-bg-hover-color; +} + +/* Table Header */ +QHeaderView { + color: $text-color; + background-color: $table-header-bg; + min-height: 24px; +} + +QHeaderView::section { + color: $text-color; + background-color: $table-header-bg; +} + +QHeaderView::section:checked { +} + + +/* Tooltip */ +QToolTip { + border: 1px outset $tooltip-border-color; + color: $text-color; + background-color: $tooltip-bg-color; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $top-bar-color-1; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $accent-color-2; + color: $black; +} + +QMenuBar::item:pressed { + background: $accent-color-2; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $bg-panel; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + background-color: $accent-color-2; + color: $black; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url($themes-dir/PoloniexDay/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url($themes-dir/PoloniexDay/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url($themes-dir/PoloniexDay/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url($themes-dir/PoloniexDay/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url($themes-dir/PoloniexDay/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url($themes-dir/PoloniexDay/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url($themes-dir/PoloniexDay/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url($themes-dir/PoloniexDay/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url($themes-dir/PoloniexDay/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url($themes-dir/PoloniexDay/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url($themes-dir/PoloniexDay/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url($themes-dir/PoloniexDay/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + $panel; +} + +QTabWidget::tab-bar { + left: 5px; /* move to the right by 5px */ +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + border: 1px solid $top-bar-border-color; + background-color: $button-border-color; + color: $text-lighter-color; + padding: 4px 8px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + margin-right: 3px; + border-bottom: 0px; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + background: $main-color; +} + +QTabBar::tab:!selected { + background-color: $button-border-color; + color: $tab-color-2; +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $accent-color-2; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $accent-color; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { + background-color: $main-color; +} +QCalendarWidget QToolButton {} +QCalendarWidget QMenu { + background-color: $top-bar-border-color; +} + + /* header row */ +QCalendarWidget QWidget { + alternate-background-color: $bg-panel; +} + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $top-bar-border-color; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { + color: $top-bar-border-color; +} + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/PoloniexDay/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $bg-panel; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} + diff --git a/src/qt/res/themes/PoloniexDay/toolbar-handle.png b/src/qt/res/themes/PoloniexDay/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ca69b01724540178ccb0795d436b511a02e42e GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%DR{a#hE&{2`t$$4J+o0l)1`d@JmL+Enr_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71esWIEGZ*O5)+(}dVZf|clnQ)dvDB;?rOH3~(ef{=L?7@>KDHEnmOPexbg205yldE|z zoqYZ3mDZ`_$Jwu)J8|N~gGY}Jai(-_V0at+^WR_V$Gy_#5)&GmnwoSR8WgTe~DWM4fgI!qn literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexDay/up-arrow.png b/src/qt/res/themes/PoloniexDay/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbd8b830686295cad2188e69b3500506821880d GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6*YLeIEGZ*O5)+W*%bNlK&ZK?#%oU9;+EexKnelF{r5}E+l@J_M- literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/PoloniexNight/styles.qss b/src/qt/res/themes/PoloniexNight/styles.qss index b2f5d5cd3..49f1d30fd 100644 --- a/src/qt/res/themes/PoloniexNight/styles.qss +++ b/src/qt/res/themes/PoloniexNight/styles.qss @@ -1,6 +1,6 @@ /** * PoloniexNight Qt theme - v1.0 - * Last changed: 2014-10-05 + * Last changed: 2014-10-09 * Author: ZeeWolf - ##hyperstake (freenode) * HyperStake - faster than light! */ @@ -84,7 +84,7 @@ /* Dialog, Window */ QDialog, QMainWindow { - background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #434d52, stop:1 #273034); + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $bg-top, stop:1 $bg-bottom); } #coinLogo { @@ -225,7 +225,7 @@ QTextEdit:disabled { /* Combo box */ QComboBox { - background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #434d52, stop:1 #273034); + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $bg-top, stop:1 $bg-bottom); color: $text-color; border: 1px solid $input-border-color; border-radius: 3px; /* same radius as the QComboBox */ @@ -234,7 +234,7 @@ QComboBox { } QComboBox:on { - background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #273034, stop:1 #434d52); + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $bg-bottom, stop:1 $bg-top); } QComboBox:disabled { @@ -625,21 +625,23 @@ QTabWidget::tab-bar { /* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ QTabBar::tab { border: 1px solid $top-bar-border-color; - background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-1, stop:1 $tab-color-2); + background-color: $button-border-color; color: $text-lighter-color; - padding: 4px; - border-top-left-radius: 3px; - border-top-right-radius: 3px; - margin-right: 5px; + padding: 4px 8px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + margin-right: 3px; border-bottom: 0px; } QTabBar::tab:selected, QTabBar::tab:hover { - background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $tab-color-2, stop:1 $tab-color-1); + background: $main-color; + border-bottom: 1px solid $main-color; } QTabBar::tab:!selected { - background-color: $top-bar-color-1; + background-color: $button-border-color; + color: $tab-color-2; } /* Scroll bar */ diff --git a/src/qt/res/themes/readme b/src/qt/res/themes/readme index 3102d7ca0..754964fb4 100644 --- a/src/qt/res/themes/readme +++ b/src/qt/res/themes/readme @@ -1,4 +1,12 @@ Qt Wallet themes directory Each directory is separate theme - displayed in Themes menu. -This directory should be copied to the same dir as compiled exe is. + +HyperStake-qt wallet will look for themes in : +- current exe directory - ./themes +- in ./src/qt/res/themes + +There is compilation extra step added : +make install + +will copy themes to release directory \ No newline at end of file From bedf964ae402f935fb47185132b72debc76ef3b4 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 9 Oct 2014 16:39:41 -0600 Subject: [PATCH 108/555] coin control dates from blockchain This fixes the problem of bad dates when importing a privkey. When importing a privkey out.tx txtime will be the time of import. So coin control data will be incorrect. --- src/qt/coincontroldialog.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 0306dd599..d45a38ec9 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -757,6 +757,9 @@ void CoinControlDialog::updateView() uint64 nTxWeight = 0; uint64 nTxWeightSum = 0; uint64 nPotentialStakeSum = 0; + GetLastBlockIndex(pindexBest, false); + int64 nBestHeight = pindexBest->nHeight; + BOOST_FOREACH(const COutput& out, coins.second) { int nInputSize = 148; // 180 if uncompressed public key @@ -811,7 +814,10 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // padding so that sorting works correctly // date - itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(out.tx->GetTxTime()).toString("yy-MM-dd hh:mm")); + int64 nHeight = nBestHeight - out.nDepth; + CBlockIndex* pindex = FindBlockByHeight(nHeight); + int64 nTime = pindex->nTime; + itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(nTime).toString("yy-MM-dd hh:mm")); // immature PoS reward if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() > 0 && out.tx->GetDepthInMainChain() > 0) { @@ -833,7 +839,7 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nTxWeight), 8, " ")); // Age - int64 age = COIN * (GetTime() - out.tx->GetTxTime()) / (1440 * 60); + int64 age = COIN * (GetTime() - nTime) / (1440 * 60); itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); From ac8fafa11df9a49769b4280ddcf1b43b1099bc25 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 9 Oct 2014 23:33:44 -0600 Subject: [PATCH 109/555] Qt5 Compatible if mac compile does not work, change src/qt/macdockiconhandler.mm --- HyperStake-qt-linux.pro | 1 + HyperStake-qt.pro | 1 + src/bitcoinrpc.cpp | 4 ++-- src/db.cpp | 2 +- src/irc.cpp | 6 +++--- src/main.cpp | 8 ++++---- src/net.cpp | 14 +++++++------- src/qt/addressbookpage.cpp | 7 ++++++- src/qt/bitcoin.cpp | 6 +++++- src/qt/bitcoingui.cpp | 8 ++++++++ src/qt/coincontroldialog.cpp | 4 ++++ src/qt/guiutil.cpp | 22 ++++++++++++++++++++-- src/qt/overviewpage.cpp | 4 ++++ src/qt/qcomboboxfiltercoins.h | 1 + src/qt/qrcodedialog.cpp | 2 ++ src/qt/qtipcserver.cpp | 2 +- src/qt/rpcconsole.cpp | 2 ++ src/qt/sendcoinsdialog.cpp | 8 ++++++-- src/qt/transactionview.cpp | 4 ++++ src/script.cpp | 2 +- src/util.cpp | 8 ++++---- src/util.h | 2 +- src/wallet.cpp | 4 ++-- src/walletdb.cpp | 4 ++-- 24 files changed, 92 insertions(+), 34 deletions(-) diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro index 98cd2d704..ca95d1c7d 100644 --- a/HyperStake-qt-linux.pro +++ b/HyperStake-qt-linux.pro @@ -5,6 +5,7 @@ INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES CONFIG += no_include_pwd CONFIG += static +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 98cd2d704..ca95d1c7d 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -5,6 +5,7 @@ INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES CONFIG += no_include_pwd CONFIG += static +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index e189de0d2..43ff4a61d 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -396,7 +396,7 @@ int ReadHTTPStatus(std::basic_istream& stream, int &proto) int ReadHTTPHeader(std::basic_istream& stream, map& mapHeadersRet) { int nLen = 0; - loop + while (true) { string str; std::getline(stream, str); @@ -948,7 +948,7 @@ void ThreadRPCServer3(void* parg) AcceptedConnection *conn = (AcceptedConnection *) parg; bool fRun = true; - loop { + while (true) { if (fShutdown || !fRun) { conn->close(); diff --git a/src/db.cpp b/src/db.cpp index 5d3eb3d69..0774d63a0 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -802,7 +802,7 @@ bool CTxDB::LoadBlockIndexGuts() // Load mapBlockIndex unsigned int fFlags = DB_SET_RANGE; - loop + while (true) { // Read next record CDataStream ssKey(SER_DISK, CLIENT_VERSION); diff --git a/src/irc.cpp b/src/irc.cpp index 8301af0e6..916ee32f4 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -77,7 +77,7 @@ static bool Send(SOCKET hSocket, const char* pszSend) bool RecvLineIRC(SOCKET hSocket, string& strLine) { - loop + while (true) { bool fRet = RecvLine(hSocket, strLine); if (fRet) @@ -100,7 +100,7 @@ bool RecvLineIRC(SOCKET hSocket, string& strLine) int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const char* psz3=NULL, const char* psz4=NULL) { - loop + while (true) { string strLine; strLine.reserve(10000); @@ -135,7 +135,7 @@ bool Wait(int nSeconds) bool RecvCodeLine(SOCKET hSocket, const char* psz1, string& strRet) { strRet.clear(); - loop + while (true) { string strLine; if (!RecvLineIRC(hSocket, strLine)) diff --git a/src/main.cpp b/src/main.cpp index 6e360b5c6..c9b0ad126 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2520,7 +2520,7 @@ static unsigned int nCurrentBlockFile = 1; FILE* AppendBlockFile(unsigned int& nFileRet) { nFileRet = 0; - loop + while (true) { FILE* file = OpenBlockFile(nCurrentBlockFile, 0, "ab"); if (!file) @@ -3609,7 +3609,7 @@ bool ProcessMessages(CNode* pfrom) // (x) data // - loop + while (true) { // Don't bother if send buffer is too full to respond anyway if (pfrom->vSend.size() >= SendBufferSize()) @@ -4451,12 +4451,12 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) int64 nStart = GetTime(); uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); - loop + while (true) { unsigned int nHashesDone = 0; uint256 thash; - loop + while (true) { thash = pblock->GetHash(); if (thash <= hashTarget) diff --git a/src/net.cpp b/src/net.cpp index 44db575b3..268fe40ae 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -143,7 +143,7 @@ CAddress GetLocalAddress(const CNetAddr *paddrPeer) bool RecvLine(SOCKET hSocket, string& strLine) { strLine = ""; - loop + while (true) { char c; int nBytes = recv(hSocket, &c, 1, 0); @@ -316,7 +316,7 @@ bool GetMyExternalIP2(const CService& addrConnect, const char* pszGet, const cha { if (strLine.empty()) // HTTP response is separated from headers by blank line { - loop + while (true) { if (!RecvLine(hSocket, strLine)) { @@ -673,7 +673,7 @@ void ThreadSocketHandler2(void* parg) list vNodesDisconnected; unsigned int nPrevNodeCount = 0; - loop + while (true) { // // Disconnect nodes @@ -1086,7 +1086,7 @@ void ThreadMapPort2(void* parg) else printf("UPnP Port Mapping successful.\n"); int i = 1; - loop { + while (true) { if (fShutdown || !fUseUPnP) { r = UPNP_DeletePortMapping(urls.controlURL, data.first.servicetype, port.c_str(), "TCP", 0); @@ -1121,7 +1121,7 @@ void ThreadMapPort2(void* parg) freeUPNPDevlist(devlist); devlist = 0; if (r != 0) FreeUPNPUrls(&urls); - loop { + while (true) { if (fShutdown || !fUseUPnP) return; Sleep(2000); @@ -1352,7 +1352,7 @@ void ThreadOpenConnections2(void* parg) // Initiate network connections int64 nStart = GetTime(); - loop + while (true) { ProcessOneShot(); @@ -1411,7 +1411,7 @@ void ThreadOpenConnections2(void* parg) int64 nANow = GetAdjustedTime(); int nTries = 0; - loop + while (true) { // use an nUnkBias between 10 (no outgoing connections) and 90 (8 outgoing connections) CAddress addr = addrman.Select(10 + min(nOutbound,8)*10); diff --git a/src/qt/addressbookpage.cpp b/src/qt/addressbookpage.cpp index dcdc70ae8..0b41a55fc 100644 --- a/src/qt/addressbookpage.cpp +++ b/src/qt/addressbookpage.cpp @@ -139,11 +139,16 @@ void AddressBookPage::setModel(AddressTableModel *model) ui->tableView->sortByColumn(0, Qt::AscendingOrder); // Set column widths + #if QT_VERSION < 0x050000 ui->tableView->horizontalHeader()->resizeSection( AddressTableModel::Address, 320); ui->tableView->horizontalHeader()->setResizeMode( AddressTableModel::Label, QHeaderView::Stretch); - + #else + ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Label, QHeaderView::Stretch); + ui->tableView->horizontalHeader()->setSectionResizeMode(AddressTableModel::Address, QHeaderView::ResizeToContents); + #endif + connect(ui->tableView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(selectionChanged())); diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index a712ef588..88ff283f7 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -14,7 +14,9 @@ #include #include +#if QT_VERSION < 0x050000 #include +#endif #include #include #include @@ -116,10 +118,12 @@ int main(int argc, char *argv[]) // Do this early as we don't want to bother initializing if we are just calling IPC ipcScanRelay(argc, argv); + #if QT_VERSION < 0x050000 // Internal string conversion is all UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); - + #endif + Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index de4b8efb7..a3720fd59 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -58,8 +58,11 @@ #include #include #include +#if QT_VERSION < 0x050000 #include +#endif #include +#include #include #include #include @@ -1061,7 +1064,12 @@ void BitcoinGUI::repairWallet() void BitcoinGUI::backupWallet() { + #if QT_VERSION < 0x050000 QString saveDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); + #else + QString saveDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); + #endif + QString filename = QFileDialog::getSaveFileName(this, tr("Backup Wallet"), saveDir, tr("Wallet Data (*.dat)")); if(!filename.isEmpty()) { if(!walletModel->backupWallet(filename)) { diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index d45a38ec9..8173030c3 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -96,7 +96,11 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : connect(ui->treeWidget, SIGNAL(itemChanged( QTreeWidgetItem*, int)), this, SLOT(viewItemChanged( QTreeWidgetItem*, int))); // click on header + #if QT_VERSION < 0x050000 ui->treeWidget->header()->setClickable(true); + #else + ui->treeWidget->header()->setSectionsClickable(true); + #endif connect(ui->treeWidget->header(), SIGNAL(sectionClicked(int)), this, SLOT(headerSectionClicked(int))); // ok button diff --git a/src/qt/guiutil.cpp b/src/qt/guiutil.cpp index d1f476929..1ba98afe7 100644 --- a/src/qt/guiutil.cpp +++ b/src/qt/guiutil.cpp @@ -10,7 +10,11 @@ #include #include #include +#if QT_VERSION >= 0x050000 +#include +#else #include +#endif #include // For Qt::escape #include #include @@ -83,7 +87,13 @@ bool parseBitcoinURI(const QUrl &uri, SendCoinsRecipient *out) SendCoinsRecipient rv; rv.address = uri.path(); rv.amount = 0; + #if QT_VERSION < 0x050000 QList > items = uri.queryItems(); + #else + QUrlQuery uriQuery(uri); + QList > items = uriQuery.queryItems(); + #endif + for (QList >::iterator i = items.begin(); i != items.end(); i++) { bool fShouldReturnFalse = false; @@ -136,7 +146,11 @@ bool parseBitcoinURI(QString uri, SendCoinsRecipient *out) QString HtmlEscape(const QString& str, bool fMultiLine) { - QString escaped = Qt::escape(str); + #if QT_VERSION < 0x050000 + QString escaped = Qt::escape(str); + #else + QString escaped = str.toHtmlEscaped(); + #endif if(fMultiLine) { escaped = escaped.replace("\n", "
        \n"); @@ -171,8 +185,12 @@ QString getSaveFileName(QWidget *parent, const QString &caption, QString myDir; if(dir.isEmpty()) // Default to user documents location { + #if QT_VERSION < 0x050000 myDir = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation); - } + #else + myDir = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); + #endif + } else { myDir = dir; diff --git a/src/qt/overviewpage.cpp b/src/qt/overviewpage.cpp index 1798f852a..45394653b 100644 --- a/src/qt/overviewpage.cpp +++ b/src/qt/overviewpage.cpp @@ -46,7 +46,11 @@ class TxViewDelegate : public QAbstractItemDelegate bool confirmed = index.data(TransactionTableModel::ConfirmedRole).toBool(); QVariant value = index.data(Qt::ForegroundRole); QColor foreground = option.palette.color(QPalette::Text); + #if QT_VERSION < 0x050000 if(qVariantCanConvert(value)) + #else + if(value.canConvert()) + #endif { foreground = qvariant_cast(value); } diff --git a/src/qt/qcomboboxfiltercoins.h b/src/qt/qcomboboxfiltercoins.h index 80c49c174..d51812a5d 100644 --- a/src/qt/qcomboboxfiltercoins.h +++ b/src/qt/qcomboboxfiltercoins.h @@ -2,6 +2,7 @@ #define QCOMBOBOCFILTERCOINS_H #include +#include //Derived Class from QComboBox class QComboBoxFilterCoins: public QComboBox diff --git a/src/qt/qrcodedialog.cpp b/src/qt/qrcodedialog.cpp index ca9497512..6ddcaaf5d 100644 --- a/src/qt/qrcodedialog.cpp +++ b/src/qt/qrcodedialog.cpp @@ -7,7 +7,9 @@ #include "optionsmodel.h" #include +#if QT_VERSION < 0x050000 #include +#endif #include diff --git a/src/qt/qtipcserver.cpp b/src/qt/qtipcserver.cpp index b26c37581..9695dd343 100644 --- a/src/qt/qtipcserver.cpp +++ b/src/qt/qtipcserver.cpp @@ -98,7 +98,7 @@ static void ipcThread2(void* pArg) size_t nSize = 0; unsigned int nPriority = 0; - loop + while (true) { ptime d = boost::posix_time::microsec_clock::universal_time() + millisec(100); if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d)) diff --git a/src/qt/rpcconsole.cpp b/src/qt/rpcconsole.cpp index 34004a455..99e56ddf7 100644 --- a/src/qt/rpcconsole.cpp +++ b/src/qt/rpcconsole.cpp @@ -10,7 +10,9 @@ #include #include #include +#if QT_VERSION < 0x050000 #include +#endif #include #include diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 85afbf74a..6d4399300 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -142,8 +142,12 @@ void SendCoinsDialog::on_sendButton_clicked() QStringList formatted; foreach(const SendCoinsRecipient &rcp, recipients) { - formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); - } + #if QT_VERSION < 0x050000 + formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); + #else + formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address)); + #endif + } fNewRecipientAllowed = false; diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 05dce8fbd..f4e2eb78f 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -188,8 +188,12 @@ void TransactionView::setModel(WalletModel *model) TransactionTableModel::Date, 120); transactionView->horizontalHeader()->resizeSection( TransactionTableModel::Type, 120); + #if QT_VERSION < 0x050000 transactionView->horizontalHeader()->setResizeMode( TransactionTableModel::ToAddress, QHeaderView::Stretch); + #else + transactionView->horizontalHeader()->setSectionResizeMode(TransactionTableModel::ToAddress, QHeaderView::Stretch); + #endif transactionView->horizontalHeader()->resizeSection( TransactionTableModel::Amount, 100); diff --git a/src/script.cpp b/src/script.cpp index 5ef4d5d5c..718467977 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -1257,7 +1257,7 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector& v) return; string::size_type i1 = 0; string::size_type i2; - loop + while (true) { i2 = str.find(c, i1); if (i2 == str.npos) @@ -512,7 +512,7 @@ vector ParseHex(const char* psz) { // convert hex dump to vector vector vch; - loop + while (true) { while (isspace(*psz)) psz++; @@ -966,7 +966,7 @@ string DecodeBase32(const string& str) bool WildcardMatch(const char* psz, const char* mask) { - loop + while (true) { switch (*mask) { diff --git a/src/util.h b/src/util.h index 609c32de7..f9a780a1a 100644 --- a/src/util.h +++ b/src/util.h @@ -35,7 +35,7 @@ typedef unsigned long long uint64; static const int64 COIN = 1000000; static const int64 CENT = 10000; -#define loop for (;;) +//#define loop for (;;) #define BEGIN(a) ((char*)&(a)) #define END(a) ((char*)&((&(a))[1])) #define UBEGIN(a) ((unsigned char*)&(a)) diff --git a/src/wallet.cpp b/src/wallet.cpp index 0e9425a5b..e36dbfb5a 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1286,7 +1286,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW CTxDB txdb("r"); { nFeeRet = nTransactionFee; - loop + while (true) { wtxNew.vin.clear(); wtxNew.vout.clear(); @@ -1723,7 +1723,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int } int64 nMinFee = 0; - loop + while (true) { // Set output amount if (txNew.vout.size() == 3) diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 6708c97ce..c440b9aab 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -72,7 +72,7 @@ void CWalletDB::ListAccountCreditDebit(const string& strAccount, list Date: Sat, 11 Oct 2014 15:12:41 +0100 Subject: [PATCH 110/555] gui: change the S4C icon to a new style icon --- src/qt/bitcoin.qrc | 1 + src/qt/bitcoingui.cpp | 2 +- src/qt/res/icons/clock_full.png | Bin 0 -> 21277 bytes src/qt/res/icons/s4c.png | Bin 0 -> 67844 bytes src/qt/res/icons/s4c.xcf | Bin 0 -> 442649 bytes 5 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 src/qt/res/icons/clock_full.png create mode 100644 src/qt/res/icons/s4c.png create mode 100644 src/qt/res/icons/s4c.xcf diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index c02177299..be0d2ad45 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -46,6 +46,7 @@ res/icons/blexp.png res/icons/info.png res/icons/mining_inactive.png + res/icons/s4c.png res/images/about.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index a3720fd59..f8c62c839 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -302,7 +302,7 @@ void BitcoinGUI::createActions() aboutAction->setToolTip(tr("Show information about HyperStake")); aboutAction->setMenuRole(QAction::AboutRole); - charityAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake For Charity"), this); + charityAction = new QAction(QIcon(":/icons/s4c"), tr("&Stake For Charity"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); diff --git a/src/qt/res/icons/clock_full.png b/src/qt/res/icons/clock_full.png new file mode 100644 index 0000000000000000000000000000000000000000..841afe8fafeb0c74d08bf27d62526a050cda5d4d GIT binary patch literal 21277 zcmXtg2UJtd^Y*=Igd)8vy(1l@mxNwKKm=(DQK|xhh;&G3qJn@F0i{HWf`}j;MG{n` z3y4xgCDM@=dJD;)_jkT8CpkBJ&&k}`ndh0=o!!j?TWhmZ45t|Y061k~Zfpkt;K^4I zKq5{qSAr|N|7+c`GcyFR5FI^|$V_gO|fzh~u0~ zdvvRr_;Wb$BE0_7c@(1jNQi6jxI=gE`LEdPX&{jf(3d~CT%6+tD5nyIE~n9q+-QH) z+U2o1lVP&!{l#E3c3wcInjb5aYV*)TsC$`;NsDocUhkTxn(0IvE?pJBwV)P?eSex< z!?w*521L_upC;0rqX+l;j|XeW_0e5zVpzqZqc;(6Oj*^gSFn9dnI3n@G7yV51;!AR z0DO&C1mixT=UC`6(Jemu;z4RV@E3&(d-&<^#2m_IFZ}RLG&4Yhl2&`)H_D~O@U)pS zV4rk7;j}cA{?VbX(!$DiPQ@2it4Lm`J66Ec7?G%-Q1X;)T{yT&W=dSoBg{r@Oz1rx zi;376{Qf~=y?;y7Y&+xLyT$Tya6~g^rQahG_JuHg zjID}y${(w;%M(k~QmM$H&vk%5LauRuS3t7gM6BabAgEgu*B;P87552Z42}iuf~1rP zTF^BO4JcNOEn02smt*IQ;!D``S<)X!RV3bwgrzYO6%uO|`LbW(*$l*RejruyL5#5-| zvS6rBRC>uQ$5(JmhV3-lIY=IkCaOl|CktIh2X=fowXL_PTa1R`hsf01jC^gb{E9tzdpNe` zwOJ6&9Jj_v4jVY+fwy}f382##@KTV&(>8)nN6fr})F z88N7NVdxDU;&LMrx{}UTuo+aJ%kvZZGgF6KW7-ePIT8|X-URUdGYtoC%2N>bWp5_Tr=zsrb`d z_&b1rIP7%7{pvFFe?VN8RT&@IV%Us_MY_<%HuC579jZZX*U}l*AQXmZ719{3qK{~k zI3(f}>~t3V-i?XN=uHG(KoiwOYkM(g*iw_?!d>>Edsj}N1JV?Nr%p%HCADhMMaymt z{%z^QEw};8=(fxw?(ITc^tqamqd(H|KRqlni_!Q$QeqiHQ1VD7F6ODo{XvrqqhEVF zgRNO%q36;+6mVV@Io7FdOMB4a5nI$ptDx(;a?2cT9(PD#q9^CJ8zK@Se)}Rj&KOGf zC7fofa1LjFa|m@TLEO@yA9@6*s`p?Yzjp79QQN!6M>2yBUbq=GaQJl9F(_P&gLpmh z(=~8A!JH{eZk>s=!;9vhJ{G(r%8GOSh==V8Vgm0Q7)-5_FGm?6AR%@qya_=}1D7=5 z$I`}VW|7B+J~;Ux>wkDN{8l{g*Hjf=R`Mee$VGSvrWeNYLQKm|ES^gKh;?F`;i(m=t=|pH4e#Ljbt09*f&Syk-aj80kaq!6e;?1rTXJEZr_7 z)=o5N8E=y>h$%7VkvZZJ3lBJS&Y;^G*Eb`37{HLo5TF=Id_p&QpSTa_{47SsG^c*f ze!JL#*1bpW}qJ@eaH2*j>8MO&^Uyi=L-J1M~J?+S8=8hxS&M_e*N}A{pG0u>B zFu0h<-u<3_(ZX#osPH24GW8CHk0C@#>*rgrU6vj%oB-Pm=Ek^if2YIU#1EDmAnzfi zZ>BKCM)>2Z%UHWb!cAFEZ+(XIX@c+gg#@BSp>!vTb(HcLN1YCF4EMKo$6UdtM;JGQ|;M1bRfYzhB4BuLmu*uo;*1FwhsnG zTzI_t-k3>kh|$7#UIS;7U(Cow(&UJ90HjbIf$l$E-ldpPZk7PB{pa0O&)IfcYgl6@ z#DqMUVE}uVP+S4g<7T=DgYow+=OFo`?VyH;rgQio_NOxF-g_jfWd#YT1<~~zM9Pz< zI#(u5HV1iQ(%nD5`{^AcSoQ~%o?nz3vm;JXqB-^oSRvjmD(4$6~RwqBiKWbSH4rS>2Z
        0;eNBCRVhSIMA^h4Dkt)NfQ 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 RMFO-0Jhtz0edJ7K{vVUu+Ry+1 literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/s4c.png b/src/qt/res/icons/s4c.png new file mode 100644 index 0000000000000000000000000000000000000000..31d667783493551053696838961d0ac4e605acb2 GIT binary patch literal 67844 zcmeFY^v3KCWqVyGp68tBIaj>39XntypirBO20+!I*dOK>xQF>gL*~l->|c0~V=k;ACeEP%z|QyI0|K&h zgaH5rm>TNa-Tk`S`s0PzQ90X=}r z)&z!E!?+wy)o2E`eW4XQLx2I7;Q;+g=gr&&?Ez81Z)cgMygd4;n+~dhI8m{0wVCI` z3240h1V4XLhxTJuWdDzhJA->@-{NQ~j=D_sp*(&?FKi-CtOjo77BOgBan(3y`sSU) zUAaT6&0IK;-AcDN<8ms7mrGn7**)M^1~@EP12~Zy5%!Ub-Aa# zG+Kj@r^L?U)>uO{Ri;?jmKBO&^$TZ1JFm47O~0ISPfZVj0SSA*jGEu*65gP3prvD{1v@f2E=D)c@9MFHyg!J9Bl^gV$|Vi>30}q~u#mB&4TS8PhB3-$pQ9e%(3e=S znxNapu2hoTz{_9n1UzZiqc{ihiEZUBoMqZsL~SQd{?DX9Up~2k!{ta4JCEIl-kyxL z;JD9Ipye@_ZikRF7Qf32Osh;xQPV)#YMzz5d|>! zxjOEYqqcu2I32O#t9{z}4#s~iCjN|>4Z68`N}gWH7KFc5OOTbcWui7Vc1n`$)QfoH}`>3fzpYS%nrqWBvCaoXI3 zb{I2RYl?Q11l>L~w-&E4OYW^MM-}ND-2sSJ`gi+C8O3xhT(#9M+Vl1gMuU4g-t}k3 z&^%U#{u3hh189M`)9_|L=<)uj#*^&(-eMZp*V~uH%X{a%@3aG?{U9p#f{$? z)YtkW3`CHU(iWXzPo0A&_@=~Z))wB zoRQGN-h1l^|8){^Rwv|M&1f;|pCnNi@~Z{+OsGyFfTUaL7Hp;hsyY?(0`uoQzq@nt zOPD%A(0Zo5k}JT$x`Lj~`OKaLxyV>d3a=6x*FV z&nVvk+|HimJ*uAJ$;9bAm0JQL$QMO zY&OT_z1VI^@4Tuyv?rdc24Yz1&ex>lce=~7%h~)gMshe2k%vHN?iK{$J{WZ|_HanG zE%j)wBb5<`QO2McSLmX<;@D5PGq5XpbLcdJ{?3U?pk9e4FaAs0TqQ&)PEP=#k>?N0 zJmK&NZ0(g0FLAj)9Psa;qk2T|XB9Z(k%H4h1t%U867(Y_12CrR$?fKBiHt20HSxoa zj==dV^vKIBpC%}Clj3Ro_n*f)2UE?HQx%d=L71w(Z{mY6d4n}(J(zocy#EDuCJpaH z%7a7OF2yqp$yXwaEol*vEJK)KGP#<=R+RSwnad<-a2kW$23*v}4vHTD|Rkv16x- z<>yb{l?%CwH~+`4z=+gu=^e^m_I7?lV|_ppx??s&5`^dS1@5_JuIq zR-omMh|Xm6?Fz=-(IMdcAzLFoY#DIL|5mk;F{takp{li{J;`ZJ-Lu@u(nKEdw@e04 z2oo06Ie`z)dvNYZ?X*2^`@{X;rE&)fe*(8^H1-yiP_=G#<&^x>B%fr5U47I5sA3b< z0D$g`AmWU$(1gup7@N@pj}S~U<&YuoKrqYyb`JLTe97gF>OKoROM`hk=2T2elE7Uz zV%Ofq#?6Va9v`KbB=+iQo|CF=gl*I-ekA3%iFO2tg2y!{}(zF1ZSt>Ma1jBW*1 z1e2P|$O7c^cki;zL_^C-JJ8_CIrlHI$+W;_vJo*(0WX7;B$jSjPhQ_*QCWpo^CV&% zSn6i-1K5jbEnt{*GVhq=gID`2V&B`cGh;-Ag=JA8HW+OVN9^So`H`mHS` z9Si!332|tc`tB>QPwJ=N;=9F>h!jAbm$Oswt&B>PL+Er`dRS zmJrheP!iAgU>zr!nz!z{BSUUqZgYa+3jii`mK(4U=ojNyWsE5K^#ew4QH{3E&~7JK z%|UdPyHB+gl+}Re?KZ|(9BP%nL~Dp8EVB7A*vYUh6!Ki-TTu4KzJjZlxh6x8R9bcf z&YW~o+s(K#zx(}x?biL!`&RUQ-ue#y?}(`j-c`_A@dHY%V;RJ`%5N%G*wsjXRX;Gq%+?I6 zsLu{QVO&ON4~5lN2<&xygM0=ELIvk2^~9YNK3pcS*&nPpnJ+Q5RO*&CmJw zTaUt{G7Ejt;4=cS*$@bQk-m8hFC=l;4uZe3{p_!H1LN)ndPzG=ye81V1^Bb7t{L|e z<2UvDtfo}WR#v3iHBSgLo>az6C)yqP3hLaNf1AA*IzCG2dPJPSpHvC;|2l{v^^-n1rmR0!Y3_twF)S|ych?dKl-We6eZ%UXQ6 zwX?y5EwT3U=+nAKU#$YrW?xqP^mu$&N#GGwO#5vVkWuQ@SBwC)a~ zP~Nj>xuaF>{nkS+@B@VZ=Q}SPajm&uVWmD3;WQuiUn|MVeEes>KmII54&BUv18(JW zr0Qi-8*k?zxybR}`+|c|fZg^}0V@dfU5?$d&Py55vQADs?br-OcQtr z5QIxDWdA5;qM}TQ-9rT0J*)NmZ4Y;+bsWXjAGBxhql9NsyKF_bi*cDa&CZj8yV^@o z%HI=Ayfe(v`+zM!^+Cv-2A3NBH zKCA%%5xc{-kQ%Yba5l;UBn!koAQTKctp!M}FChG#71kJ#JrA-rhFDg{wq(`zZvUAz zyO*RQKrExTzc+O+Wb+WLw}HWxh^oBT%X?)9AXm8jwBCtB!JnCOnrbA6Ivj=Nk>Gt9 z4c%p(c_M1X>lcPnDHUL!a2#@1d^g`_TOI5>^8q{Nvx@nl$Np1qb5eq$bvRUrm6Q}X z;nBD?uan(7hgN`R$F1#Fm!UlD1@Px$@w3{%mK=95-LYmrZVbQ+Dv5|mS07q}ATR`C z)Tvb&g#{sYzyzL-rsRJ``+W*`+kRJ1PT?O%4}jYzc$xBYHQHB(OowrwTAZQ!w4h_Q zMV#Q!C#faD#@i8}@*o*5lRAF?I?<>Y-RWm>y~jImjao%p@!;ZsupBcy#d!kXO=9p|0% zq1M`kkuB~Hc_N+Ns$05270A&7Hwb@|s%UjuX zRK(uz2w%oSeU42w*-R>ur}U6V5mN{U8}=EJNAH9SYdnlGwTG4!dZ6?bR8T;vf?<9E zo;J5WfK!T(&QN`MXbFSIsd)TV_q+z<<-MQuDL4T2Z;XJ!6pWC`96G*HWKIOVrUO3q z4QjQX0S7bDScVzZ>bGhNPDw58h&Y{bX!Ro@JYGWptDOiw60A^oyz13dUz9v}@%1HP z{Zvw8?W5l=Va5dwMy2zf-yT5=2zD)n(xhF0J6O77xDO` z>?7mku0e_%gk7CtYU0ZGT{gi)So~b^Jy+~wPNx9K|NPtaIgNVNVBfJd`X1YhoV_O7 z*^AIXU;T=qc16i0m}G~}I!k}b5ftE8m5Y9;3Iz(zBe5*t|6B>g_b}(*nkGU7*kd_% z)ft>26LIb&aSkmk84dvW@=3vYCnK+m5Te6Zi`#G9jqKu`I~7G?P(w*cNt8@M;e?@y zVVYj#)0uYY)j@PMv>yMwp3N`DP`u0AI~0jflDAyuhBlO!+-MVMUxPKM z2J)%?T+ArOw%Xetfhrgada1}QZR2g~C0c^;6op$6-@L(T1nR3*0oiXedRjLnl4orw zptQ_PyN6G9^X@aC{FGAMdvnUo$65Y5%grFYXVT4|GScKhX?k~= zqBc2IDx|_RRnTiYeGa~3D)&jDS76}iALmis{Bp(!+@v!>p=7|A`0DfesK;fsJS(80I5lyI+jKJ;>Pa2oQP zq{kztB2T;vRk1Tz7nh7-Q&ry|Dz5Rhgz)pA#?cquX!1oHc?WVgB<3~a>7KHJHa;{WPj&kMe1lIf(qRxnh7Y>mgq#$*kh6DD$i17;#2 zF%)g26J+3j^6r&pTsWdzTzf?b#&Jt8x^1Hy3f-6JKf#$@34eFJs;{v*T<&W9ku!18=-WG72s$Yk(TZg8EDP$c8m#vT}z8S8ejuP7%|AGpwMMGxN*p zK5IiAjxpUe_!sZ3U(?1TvI^NsV9Mq+V@B%9OpxiDIJE#i6M=y&j862wrAo@&oN^%O z(sO80L2X2scWROd;E2J-KL1cK{Z!A$nx*0UW`!|vMD(ujcyXMWiXq7&^;Um#j*^pP5~0vX3jyc{70(E8 zz8ykF8^m6X?NWSPyvZ*~7nO)dqa9GZUlD_}B~g&Gtx4)%Q)k#3Ryd-#kO|Z{na(s> z%nUsyjpOz+HZzncn)cC^1iIEwzbqGlFec)c{)93M^!-3}Br55X?{^&X`MYv_=mh)< zhAm_i=r*6mdPwDE(fa*8XqJkUy$hvV@118C zKSk}#6vgFz*E&4GXC!MFGm;)eP%JUQ$`0xe_*B_iq%-F=tKF{SO}x^7!dMslfOG?EF}L{SLJVEQ>0)1Fm#@|W*ptvPhqu}kbI`ElGekRd6d6;WjN zM*}69zX?pFcMjDZu7CNqNCop|$-^@b^6(~Qb%j(`G%~H(?tlxZc;`zptw9;BdYb3t z$&7#J%|yG`zdBm9Pg2izV5FgZHgT4|W%r*$t9?wEEvXc*y2~lCjy^2>Y2`03^P9$} zlspBSN$7o84=gB+IZ^F{R7tkeSkyz+*o*A*koP7s1tUe3-8>bElJ7QZS%IW^-`-2SJ2pn%&sV?JlNpd>a zZX6SKBX4a}{4%eMG_0sFJ4Zx#;Eqbd^4{;yXK|eE^3#rD97q*F82068)tps0VJOKy z5U+CMdRj=KpPubhUAsOxtUJ|r5Uz9)7C5o`R<-?qnMi35BQ%87Z?e5PrAL9m44ncb zwpq(@H1SKEa4ZNI=xMX0VH_bqBioz9=^xe6CJN$wM%6o>C^l==ukM<2g+p%ZA3IGg ztQAoB4;w-!AF^9@6rKNN`$la=!DmtbWs2_dOwoCEpY!isK6&U59A@+J)j$v*P7$-A zU{q;*j^XXH8=Xr7mn*KSB;3W6^XaLeVq@^v;8309dx6-T_*Y_x;U#|G5;9qDKD3ha z?ufU%dmui7s~4v=>8?o2uxAJ%yx)*~dT!-WjA}(xKDLLhXK9V2RlVUH=N)MmEq4z7 zvv@TPwUM+v))N4MpWtV9z;Vv$%tVsK!TE;X0LnGE-CC<7&74xYROgI+Gya{lg7)Hr zq%-&@IR2t13_Klbtx9S^$+OxMqR3!@IDATAkPSFRAqB}2y^2GgK1U3ZF z_42`Ra0v4uRg+1_pQs8uOyhat+hTbx$RJmr-z|xp_jq=$hJc3yZO`XOg=&hmlyAqX zY05g8oNrc@?QvVZGP?&-lJN39fu-AqEI3Z$@0`6bFwh^zOi>~-^u;eoL7uZlht={T zMYPrf5uN>KQu}jK_3YExFEc~X1G9U*5@mJ058pg(Bj9-_Zc{ydA71>)j^P8kSnoCoFcs-*K7s(6BIxB?ueos3c~6jgX1|N3|_*xCD|+sNDlcL*Wj zXFown1d$mFY9u-=UCI-DS3lWY5waX>%D>{t7)*it{*T^_E;@)~>)mNJuPY za~mJmG?Pi5MpDL_wkmyw{l9bf%l@i9$ea)Spx|r?BmNES)zBr*5;z6;P!np_d)-7Q z;!Ch7s;4V&^g~O&YN;%!%j-8j7T?7!@pDgeUFYun1NRau{;#1GF)kqRw(!`Qs|AsR z8jGsEiw!TxlWbti@3EI{>Gz&cg(74Yv=CMtQD$wTWog9$UuDGNS)PmHo zs(s}WNa?6}@2SbP$=g4wHY(y87Qdk(7$#L;$gN zJ+JVf(iTSofnODMt&j`yqzjI`_MHiodvrWkymCHp3G%zno9=sMC(mNb>hqKS?;Zem2p5Fa|d zm&E=6lh9q*UjBj%2QpbL63AXXdGShrE@b5t%<0q@F9*m<##kOkANks{sIz-)K3+~v zxaa(JPR-c-CAn5Vi(fwS!U%ZpKIRLHMf%h1%$~3CGfS)d#j22#@d^0CvY-_3YhiP2 zJEz7%?;8MQr)$X_5HreEgA%-RatLi?>a45zw@wcx*s8VP@(#w^3H!Ljm>B+za9iXga3W12$VwV>zWQ~3OPD88MK z@vf*;1{2#f3`Ybf-(~;B-YujI2LJr$zznvZ?al^<(wocn#Xh{CePQS)|Ab6`!)jd^ ziyom4#psp)^ZYlNt<)n${Qcm#?7@mg{zc5^7<#Ivtb{PE2Fbpzw%-{+`;isoY{bkO1uakG5QU1 z+6zBO>+15+i1o>R6O?AsNq!(rXi>3FdB#40L3tZvRHgYixD2M~drZKO$D+Cf_t`j7 zRIFX>KIqOkvpvplX0AQ|t{dv}&F#!%m zkN98Q>9`X>az5a)YwwJZ+U#fc|FeFsxFM}uGagdoVpl%+9y3(?+Hs->k1B1UrtM&E zg_A$kr==`q5>M9@UC-VEk!~}lTB?KMYttWq+J(VvJIxQ+pzo+0AEB=%G354eGOzU6 z%UB2?2i0oP*v})Z`$nYT94(gxwxMA82w&#@2NchR zw!7`TPKwqG`5R&8pSXZ>xSR=vM#`H{r!6je_tLL9EALI-kd+d$d;$Xm-XGVTS1GFm0f0%veuw2GT zbDkuXaA`rg+@5hu^37<+sx)2Y$KlrC{(Fu!@a6u=mRUKYB#uo12wJ8M)*{>FID5`zJEszIc(L?+DzUzu3ru1w*zoD|!9PoIod1 zq$LNT!bp_aYZDu58$Q;jg9V&m(UfJB;Wr7~4ZYt==?)cyS22^K zC#Gv*2KncjBy?KV6;l-cL}=E1gpaij_QP-gToEfbB~(OOBEL$G_gSC5&bkT#-F=?0 z*g1!rZWdzib-z!EeZF`gWzeL?^SasSj6;uJf4!=a)Nkzm)klN%s$P1`*2<+B$FivE ztxH>r{J7)Kj0EW-nBfmY89F_OTv#UeRMd7Ml{7c;^(M~;(em7S^)@lTfZVn1+CCAA9s)`Xf+luUgx< z%DV->m_v16*`>aw2^o;81ouA0FXY)DIrEn<2u?`N1suB7)#OSfYQENXY>AP zqR{%IrS&I6&?%b^!6bHY<7^U8ONcFm6a67gy4fH%1CIHIq;c=Y z-$9k9g6@WH1Dt@^m)+{mNA$PL{x`_M=!RFME2t&-iSna{3uElJqjG5%w?xGOCciZm z5`sZZ0ZZuC&>c7IvS}C}>s9Gxrv`Sy+plOt2`jd?7irf6omoBf-g;>;_{Xeant9)f zvqYzbK;G-TK7|GII~#2RaoCvh#&gOG9W&n5*o5DH*KI z8_w4Dn$2%(H*LPSRI5+Zne=*XBYANUZjs>2r+1H(ihvmB5#aE$^dXiP`DrH!7nlwK z17%Eyiro)e`8r#&av$>MS;x+}mXM3%Q935vSF-EkwZQ8f-#Boe7nGmBX(L^4@Bb=1 zPPV&zr1wR_2jhH)=99Ij-@T^x4^%^Y8|C{4{pn80-~55kFz)@QW1`1?Y`-joLi%Ru z9^h}aUz?u;BB^m8u- zKGb}&mrZk>3wq~>TvmdvrwO|aPv^!MUMvFPY3CB#&2H5@oX9I=23hN z7L%MZm_2+A)e*iA;?dsyQ`7r7(8)ZQc9ljHe*RLA+^DxTS z`6#1}p{KI;R8pYafyz}Q{xt%RSN?7$E0{JnqXjZTWlrPuN9Bo^;~y1jBrPa@E1Y8c zHT&`L*=W}72Se|WzZ)9UzJU@>83p-gx`1P!vAsC+RWSZF0Usj%Cvhz_0Zc(6|2=}> z`AQj&u^+t07?pv?XBsCqGaevbYk1zdMli=)Y8M|VCb$z`2^@pstfp$Pn==uX`!Bnz zxgVUyXxrQt_sy3uKz&;h(%pYt`q){4fgzF`?|R9te+yk z_1JB`amqs!o;X(>D|e{0)yFE)xCvG{aQ_l1`6$2DaX;LC?Zc2n?Dd^K?6iwV_-VKG ztg_j~ls(laod^8*?d>1I;m&VMuRjVNzVm{vuI=Or<6i}0u1+ZBDeEw+th2B7n2izd zQ)lOUM8iL1N!S(S?-+ie+0UM9cp!HQe~oN1 z*}FmP1WD;$VACB9x=7BJ|Hl~&vo@!*9J~ySVyw)3(>Z{x2cviSO1Q!JiRJ`Rat&VvF-Wc5l{Y5v}Dn2o-IA`p(ESYzX0@#S9JL2 z&)2df%P)0#UAF){{_!b0YeLVIq4#Ph+Kp=4&$>O5Ols(qC`-ueA(<3^(t~G)o!)pU z4Yd6Vc9h$+iCn}pRu2X}zWK~+tJPi)hkrJZvp&V@a`1#Tpt9(V%)YkY@wJ-#v>CnE zr#YZcV*P9uln`RPBSySGWD61{&@I>vR;OXo)Hs!)!anlnf1rSsuObu4cC%&-0I#2?B!D zkb7Hy_ag{3tY>~xU^cc#iJ2+WhB#F~ENV=7A)zZ3S5u_h{EYRLrPMc5n&uNNbDA^Y zByM_!9s9nuf3e)n(gQ504fYxH5!AfI!kUhEP=y47IPJP#a)Cjm!i1JdXI1c-6Tr%y z)9FK&pPuYKl7HcdD>!TUidf29N3pvIC=m<}d~x=$ zwL9OjFPd?Sbpk)=>Y24c)uMKG_mFsd=&OU%N8Lrs)JV_^<&SDU{YNq?WbshVpBd%! z{*;mXvx}xk*NJQH3upTZ8O%BJ4xHs~ZkUR7?9zA9DG=B`5S8WbzhU3;Q#5&me7l#d zl@;FANqCbl!rNU83HfC~{`5@Z2hF0}2`_>Oxr8ZmfjngG&c?GRtzK6Tm&LweVaoli zIFN%mntVyWMPZzexq^yY+u+tBhQ(y^k$CTmk38mTl?_T8u6x-3a_Cp53 zUDC1mN2I9Rp9mNC%D@c+;_p|1GRZKIjxV2&jn2Io~;g3*_S4v^U~-M zL#-u^2Llf7pKqyH{h(6qht;jvYnNF?9QStr3KcE;jtdK`VmJ7xn~#gm$U4%#804`k z4e^rD>8s@tC)IuS{lgvwNnqV%X&KAf4VDY|b0MOY<5^X2jyG4rVwe+QWtzm&4Uu5> zJ&h;ITsGQqffc)f_^!*UPbbcQdzzphciMQQlGijP-*WHCRJiE$izuU4X2rvm# zQ3+BwiOhKRZa8;Ym^=d=_lPne#_V^pRt#i z+q?v=i4tIz8!GH>Dm z!o&nTeLxn+@M{;J1=HRpY1?Bl?>-#w6}#=Gd1VFs=;PzUD{SC^t9aeR)T8d|jLL0Y z2!(#UB#5+1ZdsRcia}8K?_3?HR_|i>vV;;~^VI9=J5jaYh#cs2C{o{_^w zoFtRE;^4_P3Z^O$&`7f}%Kkbbo6{s(r>Rwz50+hhj&J4^$hA%vF%oY5L-v!=C#a58 zHT|lvlLpvS4oQx!1CDXj=VHhf+{qcxai-;G!tO#qWSMa^Mth8;d}s=Z`3~!oh#Iqs ztjpUyl99tzFPLx0S7 z$uZ@8v`mC|YxP%`(TXj~C0f{q`yb~j>1~mR&Ac_1;_fb=eeU1Jg~s>|66tfhR-bT8U+e-%N98{Rj~a9%CO2)(}EKK21tSFpD-$M{pZ zxeI>1J2Lr-c=fZ`rDo~$E2?0FuavUe|k7I&OX3p*U-MO7z2 zGSV5nN8-q}JS*82`~E55;ogZWG5#K?rU5l(3I^`_eqPEl7PN3vgE;|zszyKwLl!!V zJCVR%5YLM0QkQRBMF9z?-k%F0mI`2k)_|X=hk+*7@H#E$hS|t3KY>5o1Bg}hXN7d? z4YFqyon)By#F2iioL;wNrRIHd%C7^?6IHciud}aMrF(a=d{_8>WgVvJWRH6T`>K@1 zFfu+S@x_P5YO%K+dCM4wGWrkH8<+51sx%#9$FQ{4E{bV3V~)3FG*@@@=&xF1Tt{=* zQKhUSN!QWtb~6O$!$|jdcqhG6WtGwaG)z^7MfmfQIXoYPg|Zn6pqg04$!i|fc z>Yg2^&|u5q7$2A#J2FK7yg&HGeZa?+Un3AEmd$qef)jqP%bsxAOg{w$ug`Lt;`SOwGPbNfZnzuJC_%s@>oExgWv7M^i29C7IEmpM+|DMIW4ZkGNh? zWPM7BwLkMdL*NIs-rL!{1%Zu7?+qK>bz8K=^d*{?SsOUA$v8ga$$|BY5qBzu28(NK zVc@u<2FhzCHl^~ZR@I>KC+Z)JYinX-ANX%60>VZo06ER9eLv1eh87yx$78d^Sur9| z%l+Mp2-X=Z>MIgsWbthD$u~Cj;TmM?nwrIvuv)xL<|45Q0*5C92$Mk!zkVdAsZ#sz z3C-?Qb>QrYyBw!a5zwyE31A zkzHk*V36=q`Ury=gd9w##J+DWzi1UsVa_DWUk16rz7)@R`pIyBQU;>a&ZSe9zekCiVP7 zrs=T;@g}HcnM9mWW5T&yPL)5pzcYz4u(`!9B@^;&G9p>TAt39}xay2dO8TrQ;Iy z=2Pr6z7Wz!lJX1oz(gesLoVMp6gR_tS;&0t4?1UgjGj4++Zf!Ba##~tlDaHN`-JFh z+1Q;6UNO6-e+tZBwiYex_jYwgV36yF#B%OjpPTm^^$Y=vhV+VeOO~JBzO4CU#zS^7 zSlkYUmIW)YG>r#}e^*1GD!_yf$>~`A0eXZ@O|D9(%TsKT3DbR2W$hF2NwN(l91xJT zHOfOfd|Lib;S902YI=r+n$yZ?|NSzLhhWr>Mam!*O{U(cR&v#o+y-2f8VMJf=*Qw3u z98xTp^6o$<{6+WP3Hj7k*X1VhOFMDSJ$6YGm7IZyzvcy%j2Nzz!9W?HL`xS|u<>QC zxpZOBYlRja$g(>Ekgd>yi}C4XCF8l%AipJ-8-(Zr>EMlR5718(5Mr=Rx>;5S@rRmnPZT%yUAYM53=haE$Y#h1 zo%vIrcjc2{2A;{mF0Qr`r=Ub?+yUk*%s{AOgDRMgi!*As;0K;^)L52B`4TFiXSBC{b2d3i4SCIj*Zu?wwDS#lBF5%za6-JFhPPHN#uNlkiw<90WgN|n3=BE7dr-Jy z*Y5nCdB9IpInS58nGtgyUjkur)X@A;B!Gb@-_Q?6!=mnq$E>KF{OKuw###sZ%PN1* zobii({7lKg)Dcm1(|jnh3-`N+bYU2D8J1r+?`X8fP4UftVEOtoJw&$uA+C`RvUC;s zjiumpM+vT&_Wtd-l_uQg*h85btB)4;=-Mww0j8vaL#xrQv`(uG%TG#2K3QAtVHD>g zsQ^?>2Z9VsT~_`485|$4VP$dd7&bkgfGu_a;Mb7z2A0XXK6JU|lI8dwdKacJTDVyy zUr76x)4995gi8rXkZC&~33L7-2c8((Yyhm-mTV1wqdbhRt*k%A;NX{?;bf{$3<$B< z&RcvL{Pn_3?HC(N`mq|>nlf94mjD{U15#xxur@sqSJ^%z@m-fRWO%Rn8SL!%s~$^* zO>(0Nz1Lwo7IIQc+&HTv=io@@?m#(x|CjViJdSdhOAfnF*=XL)qV5NW=@*w-N+0Ei z>$mc?R^6@22 z(jj=@XB*um9MRp!<>S%#5U%J5Pt4TNhZ+%_YlL|Ht}1CTg8sUJ48C-XmR2@rBFZL^CboMLW_+h zWiT_};1b^tm+6n6{XBShcb-~_H{2TQBS3HS0WtmcvPMISi!XUkJT`X6JryYFaKfYOs+zXaLT@s(+`@?d_Eh z>0(zeo03d0@5K-n?6Gl6*lOD-VIALvet6A*{-)tMq>O7%PD)g3@v%Tw%(&ywHyhES z=F?;<54)3a;Ug`1=;0N%od<~op=E8X_Ea_UCpejl$j*GIbP1&UW1aZZku9)Ki{nGf z;(!$g@ckBCNf%arkc57z-0wr%bRZ4#(^b<$mEX*{D|c=Pl830dtwI>_Z>N(^=PfWd z7d$h$KCtPpy$k#np})FG3!*OC>}MQTCdGnEVvt zM$eDU!zvb}41(Pd0XAmya@ER5vYE7n*(4K}Q1?N`EaO0P7+3Ty@dMd9AQ%puYdm1| z#q%n3khm&@1_6$$TTd+`I_@)0TvG7$354L8*CKB%u0{(U?w_;G*OWS;a^i0C%M{WV zdSDMlK`d7uXUB3_VSl7})F-}7V#8*@s>`d~xa`#e+gHx1)Szdo;I-+*aI@;vsWitz zBc&i+>xXKo(tT)QP_lv+sz~Fg_ndxwru<1BeJ#+|OvEBJ>fino_ml=ecrF{*ASp~s zArU5?`zxkzPZJ+cnxZbDjz1p;ZOGyEK&{NnOFRdKk7w_1$1W3GCo!T5@YQUI#lC3b z5Wa*7bP{yhv#Kq*E%3^=V!m(jLE`a8Ye)Z6Pv&`TTCbx!0Tb=?)849X$ceB$~c{HnN;0==d>sI^k%NP{+0*hvxY}tC4HWjBmAxCY5j?+ zx`7sed2uVBL*it8SSO;b#Wj|jT2f*tdHM1+gM+!B`$ybp(mFesSD5w9&?UBD*i?OR z4CXwFi$cI+hW%dS)bOQ`e{vEp2CK0Dg9CWJG6p5~-wQ_uNZP9XoezJ7EcA%$-8V@E zBodj7{2gZ*04E>P6_(J=5#i{>tO9#2@zU@SD9(5n;ys9-dRlwbL$Q+kZEE|wU8(Q0 zf0Uhn)}EsR{p-H6`N3ys*Pq) z1m?y&8|i{McMD@J7Q6!uGo{V1RV1bax68GC&%X4(Sq5K?DiO4FoBr6;SC8 zX+d%WrBM)Rg#pqa-K%fE>-)a{_Q$TBo%cNNIrnp)`+gqF8h=?_p>c@_JrsrvKEtEc zIxpFqwtyqh{k+Y8GatOg<>f$abpIf1{^aFNp9kclUnIq-q@D=GGn{l77dBTWzmA|Z zupgM^l=lo_CnkN+3bMUFG7`o6mj;CUwt5Y)|T)DzZt4jfG%LqJjkCZ1r z%*7JkMgH~OxqHyH&%z4E9+Q?Z<1xN_uXBDVI#<iHpyZMl~X?CAB*8v zKdOR>C<&WDMIb~oR1qsQ-sEAuYHZmbBBXzSP<%qU6jDWiPE$d=QF`|yJhoxnqI{a; zQS>?EkNgD@;{zy;B%*xb+IY6{X;TJnR`i4FhVc^A&W6F6Pr7N<*petkyZ8Loab6W+ z@*5%03Xi#ZSAKqrHiEVTGabwpMY^E$i(EV`7c+}MLDDL3wnhr2Rh5WS7u4tp8I(y3 zBH4NO-#%6gew7dzxlcr85dp_?g4ts8LHgfCfZ0V-jMAC+57@&N^^g7Gx^4Donq z;S;)hCi9^cqb%y7->(RvE=5S$tM_!zmgVpbAH#k=I%0>jUcDWLafPlm!|&rS|4@BM zY#4^Ei?FS>Wc!>qncDaVc{5xo(b>$sY%n|Zd{uMymY4y1xg;B612WO}>o=@_lHKkL zPWGj$x%i$qwz~J~+G<+IT$#_ktXd;1Y%D`MI3bF^SOyHzE7Frzr)!Uq2BM*$mqbsEuf_>`#cR^;C~*LJHigVH!3A@k zbY9I!*xR^FWqPJ`7>8pPxhWJjV(O>P*x0vp;adbl`avyhcy_>Hukt} zJFq=VOxIBGKA+vx5TshCyoBjr@CNu+saNzZ42KQ}sc8UN;&SW_geCFN}5n z95b8mud4-eO{%vL2|e;88DT2GcL+y>yYgzSuZZp4eU7fIBM%oOSs%f!GZ7vCT#l2$ zGz)fN4mv!n#VPO5A-DF7VCadbek~Kpk7`)68*Dq1GINYg20M(s+sru=lB0wfYGSXG z^r>&cE*CF5hBNS0;nJ>9{GY2yE2(}*mz~%J^O+ZGr_(v47c-QnM&f{n&_e}kRO@)8 zEzWFb8)=5eq%&6INw0zU5SUMOw>juC>F?ghTExHwxYfRd;UyE!rU#n8Kjfd+mV9D( zENs4seU@JEOXQ)w5aCf8#cXRhgx0Gxs z2I9;@soC*zcPmgcm7Ee{sPlg(5oPNA0l{bfgd8EgT|#x>^VS_+EYM*3 zHZpQ!H-e}Af+$TLi}6;ftl9w^-6uVLl$N>9LCkSmigUeJxxi6gv^-I{>;BYg~Y4`Sv6$R?4np3HO)==QvLSiDhT6aDy-X$^E5ehIa4eVCvvb)o%%$@4V-DRZi?3h~-aIk=FlI1{x`{WWdk! zAGnZM*)$1+wYY<4PomrpYaE~I?0&efM4|yB5#UPTtPUJc)4EF8&+DRsxl_J|a!1n_ z#+%af^#7^a^#o0{Np;K*fG0^;Wv&|gfllxVLFTNZ@`{xlQ0apInju9SJ>pi6AXhK@ zI9bbuR_id1R)Zw=FhuG;F27Pb%{P{KZYhVYXD}HgSq_9f|9M>JnM3<4i!^peh}@E4P)|IXh}c z7~aoXz6LVYEr2Zj>L6k#q8P@rh}$gny&&+=8Zn>ke7$R7fgJ=wv`b{Obw;e;`N@|8&>oulCp6? zX9HZ+i#{1YlX!ptem zMP2w?7Ra-!NrQD0^x-V!rp3LUhIWM83AK6s%t-YIW(DUmYT~uugO9HO?E?wevYvxF zd5omV0SCPUqRTdsZ<1d8QA(mn{lVTR{y!D4OWiQ2-1 zB8J@!fc2zQxz)Pq<5hGW#9WS-&X8SP1s?`ywKUQ6$_!gy`LC$T;KC7+)mVx@^rr51 za0eRHQA_rD0=51xdCD7BqPPf47}rVGSEEUpYpCi?m8{F}e(w>dMXvu+OE?6bgN};! zM}^~@Odi2?#G=C)MF)R`aMSE*rir9Jj!7J_3&{WD$AU_1$PNSs``$C*SngumN&l9y zhWAjSdcoMe*-89A50Il1*^=xb+9~9eumN-f{I;h~=>)RZo-OBGL;^E`V6cz$0HA46 z7yp^>Wa;?)u8r$;FDgKs4mWyqYry+N?T<)BMP{YNt>(qAe>%!PKC_r21ilfw z3oHe`1bgz zDoK@myqSBEf533Xi)S0Vxc_d&YX)g$8JALMi*mWtfj7l!l8PbFkPTK7?B^h5{`W%$%ddXMgg!?jcVkLJ>j=XY zXhQ=$T5F6Tig_<(wy^7VkLEFn2a+*6yp6v^HLvWUfwL~FdO>y|2$F2iqB-X`9-@h; z*qO~n0RLWY3rZ`bRS@R7n$81CDdU9xvfoJk3}WWvCb?RRV+dszI|Ha3q6iU2v%)nS z`A(SVd^HB2XfZ7Nd|-?X&6&&afJ0n%7_LPuie#&KB}>E@m05+Jla@W?3b_GPPZ1t6 z${0E+X)hD1FyAd7gU^~kJKc@_1#33%f~A-QQK!IOElGH6QFm%3J zU=083_LRg_4a1XyB>li}7<+q#&wrBCPGUh@lZ*WWuz$azCim9XzYp?sOm?ZWs? zEz@HtoPlb6rg-d_Bw|x=9?8Pd+oN;m?EIK0Fei8Z`!^{f?|k3r68%;NX7pQ%BuYiF zQ5%*qD`kPh1FTm$$*#Jat##X;>xT1gaT$Ls1@P8A$(N4jU1&7r>@V3$4b;l>mbrxT zb4xL9F5f+b6lPfdy4T3WXl_AN)ZpWdO7*_``4)^`O-apfg$@Nxk}nZA94|=4 zAoLm+UkPK2zjtl?IUYslbDYNyLimzaQoc|n{mDVLrH-uYY8f&}zh^wLvfQq=_shTHI`xo~S58%@G5#XP)lS|gq( zTtn1S|J$F^WXiut;vtx+N2^3H92E{G`<+%fVzB=1N(=Lygah9o_x;1D@cumLnQ{s; zDQ6?yz?m9WAe%2#i+v%ZY2gxmbpB1+m&##1BQ|vl-1b{@+|rap@07rM_PKEUGtCY|_wKMN zp77PqX?v9Gi&4vu^XSdq4IIV9IrqH_TPVNWiQjRS^06Wnx&gE1zDTQ4B>(&JZ~V_$ z2Y8HyFD2LrSS}0&n2bkb{7ov&tLWjD8{-+q_qWH_~BzxbK=D!jz*b@6KJneO&fzE$O}IV#&_j`R6Ac zA3hX-4Edsz9MuD9Ya&69UPG8-)nkTKxTw{ylArk%E?%-m6j43@*tyN5K$=XNKn*70WLZ6);x8~s=>VE0ub_ktHvsYe4=LBIi zH*g{e0c9@=iV)E7_^bV*A+)88h8$-p{P<%w`ykw}rs?SNi^MNDh0lw*zm2!x$h%_$ zH-&&~YvDKNlCLRp%q@Y!WS}O*fIs~z(<>3I{v{YcWsDBJDyE<s>@S+sUfYCA`~IH#W7+DTl{If0uvE(g zHuO^8^}hKgje>G%B<2rSuCQ03OC(5?W7ZT(bouvoo1$==+iyxfm~*$=+H7GVSF~vS z(E#CCXl7r?YlAksTEOK45wwz=x9jxf9P;3U)3pbOv){hMW#_0E%)4}bpG%z@tbdcF?#S9T&Q8> zO*{T~k$c_z^XHp$IZp>vW8O*dfNE(DgbApv&ynzgnVK>v|pe>Drnqo6dmn1!CiFKIv%hly?V}cpfn*T*A17|!<8)tkQ zR1lsP*^O$|1joclo+pJ$Y-_P7sYs z%hkT|{Q39N)!@y4GO6nkUr-zHR4$EDABpq+qBp9@6)( zlp_le0SEL){!FkBsF?0yjTu2kU`CKyo_v7uraMLM6Is@uV2$1x=rX8x`hpV>XgU+1^b06oZ}V#g%7Y z_?kg$9tocE3bLGlZ(J z%!0d;e2Ber-#a*Zicp3v{UKov4dv(($-cxXD4foq5EJL%&m`Gdy5~>6{_UyfbE6|9 zZT;G@Fyv`3?Uw|I=;QogWh?(R-DizoU)aqzLpM=O4kQ^5Hf-Y-ZZs|427S?c_fchV zifE)6;R@pwn$Se3F5Ah_Iq|*_W~Yta-O1=?{u#Xli^OcDgcXS`SQdPs3R~)pz*)8k z55J^0HHK$g1)8we+`!IW7-kT@5nP80Z_Dq)VkUO)h9qkw?uD(u*7sY_&~A7%>v5TF zPpzsNpWD_F8>z6_d?ShGIT;)8c%Zs2uftsJd%dA*vln)x-~VOgI1BK*i&0hZqLLmX z;)Oe|J3EogQzEPZe13nv#&>u($skd^#nlPrPQ9j=?z2}HCZ-I}VO7tPy^<6Vx(X~? z-5C@Y?{d-ipf!KLWc6`O2|92AN{Zku>$#MXHw$VF8gh?*h^e24 zWatr^eBqaOTR~^^M2A3Hb7e+Mz?K`r-3?Lq{rW|4#*_0@k?}jPe+hwfF43iy&+8rq zD#q+Nb?fvpZ%(YiT@PS94V>>Y2dngq&w3*a=1;5NRBDD%-;3@&wn>jx^5@nNFb#@h$|=BkHz63(P9B=3PMDLw zo6HH6hO%ir(}<~&)ff({Y4p+`DcTq6A-TWlEs|PmU^&cXoum+EoZ?76ArYmwN%+;8 zkFV#`?z~FA;@?zBR|7@VJfW1ofd^hZf0_T~--IWgo>VR}rU!LO+bD0_(|bSe zw<=>fu})kB5&e=&4SCOms~ULl@ub=VUOVrS-quTS8idAOg^WKjWAze{E{7QKPxL63 zCM}G;RuiyW@oTu+NbD^!-*+RW*>!7FFmKm*C+yFYOq)@QHX zrb{sSZa8E1?@uHvpBv%_0vrMErmz~izWpexITuEr!{X~iGdg(egQ{O@YM6+hwN^%t)GXh@K9bQ|?5l4Z|#Z1{@Tc?%t} zN+B&L__ajCfb8Tpdp$Rx%qyLx{*yX-yL~=QFF(FLzYDiUtMLkm?-J;~Kb zsj$-l2MW?FAguYIgb<2E?{@h`(@@Ir8XPHing2a{)htD4|2|^vMATE2`gI;~jGOgKO~1AFMF2Wf?LU!@K6gLypf1?!GXkZ8Iop z>F%mKI?aKNW8lHTmBtI}Yg=1stslW=_%s_1=RV$NBc%J7j?U|xDAxZA#lGO zuqh_QSv~K@lEWeKUkSg7<+K~S>KM{!yyFIFe*Ond?=l3eANqz1Iy`)Dzs`Du7_s$k zc*542?1KL(pkQ~0>wKK3T7EhJR^*@%X9j7rOZzj($Eu%FR%okRQccDx@r#zql||5U zkz3?AYmjiWW;wKf;cmym7DKM?rU4j?UH{!16smMRFBg^Z)yY?CX_ChcmfaeExx#U= zLwlZi|E~p5Uf8t$NPVxp)C@^71fM)4Y5K7CPDfI4>&k8g8R4Igxwy^*G%V)`lMIjD zG)n}DGMG|)XQo6C_mhOO?tB>)dZbKNuS0Vf_#gpYU<+YVa`yE{p&>8?W8yC@psaor zMv8-Z;|Xi-_Gi6Zk7K69xD1Nq8RpG+L^4ApZS4!27)>F&+y zB*0VZa6SbDmH~mN&q%cv=)sC_Ep+@FOav?~37+@@m2Py<2Foj1$0CCMg%{Fw+hbR9 zrSK9OE`)dp-7*M7i{DE@Vq06j8@JMKzZ&TdUW*#R_D^>gzlrRg^c1-yxA5LTyCiSH zf33oQ=ZA&qOs9aSi-4xsM0^gZRQ#@(eFKp3)>h|RzCLg9U`&N zTaG112ymk2b()z0DV`z%A^-P)J%JXedvY%2^c$P+jraBSd1OGTTYQtBevA7fce+_o zV`bH7nP#B!6rS}09=gQJ8Lc$X(GkjR_oowjJCC*AHBNmqJeL%1L_bbny2<>^B`Nqy zYoU|{OiC|Z=}ZWQV^7fWm*7;3E&>{N_zV6kN=owa0Qx-P>b}uauUzCXHZ>?5N3U>| zR@eP5ca>`ax1J9F$QZ`(z(1#hY7iNS3qDun=uC-j6fC;KC%d%DP7y2yu-jF4bScj{ z-bza*zRumJCvn1YXjj*Q%Lnf_qPj^;GEpcl+ombjbJzdcG?{@tBR9~ zx7aR!{L;NoYa0=uQ8FC!9xEb9sNbY~_$uu0s&RE%{c{;qyRR_nBNysK(&7f9f)3Em zY!0nvqNTobfBJQls8E4nr6xi4>23{_jj+!St(*JQu}XgMa@-4lPYl>|8agO_ljqvU znyd*2i5i*KLQ!MgxHYHSKOub;2I)7j2zBR&Rg_Ko83I?htR!jDJA_Oud0KJ7$StBV zcLT;?^Ahr>1*$hC1)qGxy0Zjn=a!{%F<9@PIi+wgV?%au-zAN~5HKB1*e6l*qy#58 z76XsaaHrt9e^ku@E2*Gq-YJ(^-M@izzJZJW>?`o>XD&Y>;x*y9JSucU-B1wA50=Bg11Y*4&ZjySc%0CmSs|QU;&u%#Q`FOxcKsZgWa4*Co?js(cgZ9D?RM@`qNMd7+uuSUkg(I8 z1*-ZK=nLbwK)ES!(+nWa>&0)iv$x7>%Y__oE5QJ_8zDs+T=hFF1DX!~9Z_~HtWy6F zk9^`KyS2w^znL5|c>S2L_8M{)B$L$A)7;eOR|}mLAp5}t8s~Lx)`Ir=Nu5HrRe0mJ z9g5K!=~WQx)Q4Jvc%hF_NeERB6y8pedvH-!|7sBTUK%#P3Cn>dFe{6U;wL-IIeL zJF-n%4FB~xycl?D_&WmL4F&33pw9$Pyx{7*CUt_$lL;pI@sbS9baX#y7EPiS8N)Sa zGLk98m&+F=B76#s^My~}dYZ5>zYRfN;ZmkAHQm)NNy0J+AA81Rh6sWm_G~-DW4L(% zzNhM!0o>Op4Zc2fo3@1&D?H&%$7d1oXkYy3KWzjdh{#cu#7lR}aH6cxkPYj7=$1cJ2+-uGXhL^wJNiglD5a)Na(%9)dD55B z=!}2vr7>_^F>iO%3G(M##Um~T>2!4oW>A!&nSyDKCU@$7fH-$iED$BhFqje6KtEli z&J!+0H|dxiTGZIvDulTnhgETCdpCJ#wt?fh?8xu&KFS})2<8%e+#}!Y2E+RSLv7S< zS-;5p>uXV;|CWn3Os5ElcxX)BFQ7$!KYp6EF!YiZ5-GQp^wa~L})SJ)|qYu>THB*5@VzNeDxr=`6Mc$3c zh1g^Qv_gYNtzWrL^F%>cO-i4U6fo2b=ordG!wx7jUvX|J)P-YdS$o8e!G@q z?7KbmzVZHK|9V6ekyLCIoYud3N=axn+~4c?`1$w5dLrVH#}D@Y3ip$>drVZ1H>b&5`wU} zNbDp64@8S2R8JQ$sl|74g830ZJ?XM53mtDhEAHfbIou^PQZ@l@NvS7*b=h^j9?7Fp zGZUn-;QQrxeB){3?T1fq79<24Bvx^>gx=4jexw|1eU#XH%o|I*QLXWgtefsB<4!&D zBLwD84j@~Tk>)zg0@CdkU&v#3t=C=YQuPe+o>%sNR?*=na``qT12UDw-Uol$aygX^ zM3h82CQCWqPKgQ33FV*Pz0n;FU zXOAjSCbVRNaz&d58~KJ$jg@$=%==3E$;11|kUGxFNM7fBW7LoB$)P8Zp5plumZv~M zCFzOmZo-n37>n1{(OAx8p9dD2fJ_FKjw6fOdwjOH;JQQbAca49Z>_hn=(+QI61JKwobkheoiVX#p zZWX)$yh$kPr365IBpK1nx4g{^m}$xc44wQ$xZf=QzPadL-xdof&&I(= zcCo-(KN$6bE4KSve6&47s5JxTXoL!ii=0AMkyhjNRk(uRw6gyYBtQ=rOOE06`c-{m z@x1XgpMqYPXV4=U>p`jY7W4YNS6d&939g{Op9mc__m+9Fa817}QiP#`n!^F`0$7@G z%)0_{lRF}iy=Gi~pOAlRRSX>k!*@mM>m9V8& zF;qxbGF&9GwHJYR9Q~fzcFlHVHZMuv39{9@D&7El)x*PdbYPfAf91kh*8hNI8m)re z3&P{}$lr6fGQ=Ysg)iWdY_}pvMb6S>?vGO~snQ|fpyd=+wN{Foz~|W4{_1!59Yn5C z@~YE4G$rBZ<<|kUY@8^xLQexmn7>Prb;sUrrP<*>9Ex>Hyl? zvaX<;=d5pTiAWF9c#~1R>dR# zCI8_Dw(OaUuGNz}REOUue+Tz$!pE7=psaz~-HexM>W$1G*CR8UMmkY{X3e9=<`x@L z(V4pwoE)yU=IbrD)2I#=7%P-j=GP+?tYFkn-yM`)aH==xz~6$AEIsD zjrx%%AUNN2pqftHFFolpJl*e8+8`|^=~4Ha{LF@i;QBwsRQxnEC!qAgtl#K3FFtqYaWiME zB4Z+NW*q#M^P3;j3sGqxqtApG;eOOD5W+-0A$t|h`fgTY@9$Un zM<2JL&go=YH|qVDw`UUThw#`RIs)BVy^7wDP6d32-D;^7(8)``{L!UXqEfEt=K~0x zzQ`0aw4Pr50^6Omjrio9WCbB6t{o1iM&SO}@GA@0C;#pcP7PtY^+e$P&Jpe?*C8SN zT#j(|@ncAg3~Mh=C9Dkl{2D_TGsJoCQ_8Dc$VKTKDBtE|5a?h-H~e30m+ECo62gDx zyTG}tO9DmDzIybmZcN*!4S2`Rv2y6F3?(HoL0&ahY3clF?(8kDrQ+0TV=`Jur=r#W zwcmO`kib%YEM9Z(fz-%r9t>w5z z3N?4vfBfzIUfgE-IjOpjN)+rK^m2ZYpZc}6soM`j=e~W#jEi#k59lS=6^7#j_V;n1 zvTW|#KNbH!l)6LQ9mSkG!M?Urh$@u09 z-pxAiKu^Mor+R{?Q$aU)6#u>-om{`8xpH0$cLM!NCxqmkZ-goy5398NhWm^Jc|!t* zVbxYZvzK2=BI2?asCJLRP=aejBv``5&I%bME?ZxGR=#br^VJqKUeuSs3^JAc!oX~E z>A9E$1v*-0BrfxVlOx_b+@px@Bpen{K@~m$UO$Wa#B3lJ0v(gfDO6FvnMp<{Y^|PL z*&X@%v5rw^d4h&FZ`{!>;S>*_^zE>z94`%Nhs7-I{K5s_abQ@|6+`aL^@8+*ZXf;7 zVB%#keX~Vx`K*I@36Q@z?MrWuw~1Z%42M`D>yI%txc$~u^ok^X%w2$_l)o1oOyMpm z_@J>${a_C!h)1`Am+*Z9x{F zZnqhJegn83o%;*_#ymP9VJ#d2aWlA(omSpdr`PadMHkHfr`Bw^6Y;Om?4Z>rW!sGq+E;;CK#Y`(8DvN!) z4sP$)53)Gt0?h{NhWp~UuXYM|klQC$-}G^u2eD?)y6GG`E-sA35nRO11{o zNn~q$y7vW>zV{J^I+^)3b`J?({1MDf;WdQpi+YM9L*Kq!bZu6+N5ao^UFtU#q^N|> zinptYeVB33ZPr<#_ADHae02`@b9a19iZVKPBVLSU-6OAn`eZN0?GdCOP(jstNeamdOD6;ylT+WW26IPH$?`tGJ@i$dOO50x z$3&Is8lVHj6awAO65dvCnkxFf{gM2_qRZb|S`wb|4O#XJR;D)_2Z-YqY>A;((Ln#( zOX>Qjy)y^U=TgmaLET5%;f48h0$nLx#~TN@Tow==w2T22M|ay53qhSV>wt)A4y-Gv zN+WwM{2|v1D?`2QPrvtfeWFu0N1+s&37HPceIYC22ECxEuF0hFX&=s1mU3&z%@1rd zEMyoHL_|^$O&~#W>xdZX4d*l;4lHRR^C!oqvW!8^Y|bJ+IrYJKX43I2#jqRB&p|zk zg&J6}03qw**DqnnkC%`Ohj;>=t{*cEO8WS+fl@u2R6ivv5U+59?iJG+;ljCIT6u zgz!;5eYr&4&n)4e10yawj7U}ui`|#d_T-iv^ePkhwBzfSG<1? zGkl#b=o#FVrpix#=?Q?gIXZ7MW;Kb55qYEq*(Rl1H{y+^$Ci-$FOPpv(l*?ccxnf! zk$|i-;2YrYZjtuPrw})Q-i)v|Dq3b1Ml_QUM&FVmKG-=LAbYK3E2|0IygE zOXF_z)%-00-jD@fFe7x8zlQLU)1XLjJ-&dwy}G+}{^tE_(wi0s(6hbyp5czwEnyE<*hl zo$(j4f3te!u>h~&P?^7P7O(oum&9*vFyq_6kQ$31^~FT(@(45h64?fi?F|_M&=t%J z(0Tg1z%?>nn1v~sa4ItLXp_s`%+&u*=HYlOV{_Pe2>Ru-rIl`p(dm`uRK(|nvtunF zdF#UNW3cJ7Nse10Ps=HH8~mt@3Q6H1e1clv4mnfwfShY|FW-Q%u?HA#qhID^ztJONJ|2)``0VcIe5PPWM5pY5hn| zm>@}s3@bvznc)UWOp}KP;J3)+X~OqPRQeUhZuse;>QBT*u2;Tw+V~3bV{Tmbe2i{WefRwSlLM&Tj@UO(oeB z;;y5BLXeprhc|4=&>WcMVRP4@Pdzz^*Cb4z&hR-5fn;0d^>iF?5(W6_e~R);g8Ekq z+C4sz`O~MZHi32b7E=V(*J4+|Z0Sf*$jhV0uctL3TD#|pre5dmLk`HO(68ZdR+#Uy zH#R{x!^(dma~(kkjManA%=3kB5Z0+)Wb(1tIhr>F<9IeLqf8rsCLWP{*C?mr)ICnr zN=rwOC5|D?@JeD&v~uwqbW@waZuf_9AD_LS`|m`|)HV@`T=?~njEYGLFcneAJ`H-9 zS|6|O0K}Gmx1Z2-p4?2h6=SVHfJ^XSNkGuCABQ;+zeIp!8|Z2fYIT7yLrL?~euhg; z$K~T#`@aE4{x#s$H!iVBP5$iBvxn_(iX7faIBKSMiDeSI>{&613tTQZ&7|yS0F9x%S4FOrLLA68T~m$}MP zJ<6qIr?ZL=p)JS#7eJu2z7_Cas}?_9@=MFJVYYP!4UpBCeWtV)WZvVAIyPr0Nyo13rE8!?K_}Qpi#0KVuE31STMOiF65e64?vr zIj^QMrTPq=R7@}xSQJ3t_3&*}*@=Q|Cw%>W(cnU!k=izY`TA0MkLbArq&4lS&u8jf zq8M7VeM1DpWQN~3trLELxMjcv8)PYpLLqBg-Kuxb*NfDAAWP(_yrfu0sDka#&z(dt z_l^uPoBt<$?Mf{}J-h#vI@x(symgkXpRCxJ{A(KEQb2n zTIwiUd5fh~m$~F(r%p^X7!eU{z>jU4cw7YtXNtM7xL5<3?L5hV>ZMQ@IyfGE^9&f( z2aq(#?g37q+z!~y0CzvCy>GSr^X`XBBU;T**XC#_GnOG>S9%wNgk`!6&dIBzw>?2E zUD3jMQvx$+3Ho{g42y(q=VR@jKO1NJKsFO~b~+$pLdXsN6f9-R(0Et_U>D10;A1j} zx{|1Ao$juPy&DzesIQvWEl5$e6wYFRW6#Cn1$kEYLnu(-L3`5zxRb3c?K86Lv;qaT z`AZD|`l0j6erkBY>A zpdoi=db|{b$&`ZI^xf*qMbsLDw9JdyWEVm@i48N5X^j4a3%3B^lzsxJj7o+j+R#pg zUk}C=Zc@j+F;a8YQkRVTekmlW{j12iur*GL|tZb+LHJVNVC~>%@mV}D}lzdfbStd`0Fa* zqPmS3%G>E`g<$7puE_fo(oIYiC|JZNvN%yz7e{Vz)g*rdv6WE7K@$lv=n790-Uw2JR^PhIHl&mCgXFst}EaR7$@_XG~p z^qWgWJmn?X?I~v2zxAC~8?*#LZ7~$&|Jl#q+DZn>3=nm}!C;eVgE5!<3NZJylBv!0 z<#5Dk40h3T1_=@PeoV(Hzbtl*nZ~oyIl-fYV1_F?1Z;_Unum5D|8krqlAbv*1wH@o zCSh)p4hf)grj~9-0PpK*a~Ng8?>1VE>Y#;FmZ+Ll24&LZu7T zbHqf01EvpYqljhmq8uMKX3GNo(xr(IFCG(z>Xi_#??^}W`@XSvlUOA3W^(k9(()qqzm!eVV@W&DvnSk{xr8Sd+s|)jvu3RBe_tvhS)!l^jOzg# zeF*keBA>Gcz-h&aXwaxu)vDzCXf6RBHHmKej!)uAZ7^1P4TO7q9wEuL=zoD%MOf)I zd;MIgO^W_7NI2Uf=)QujG)*mBA|(J>(s!E?*W7`*8=upnM+X0BgDTz4Okh z5B!0Xiy<6=J?{+aoD99a0ll!j&Fgf7a!DJo)^}b_kmW(1Z=Fgd2q$se_Bbbte=c&7 zXfW5xrbpz@FL}%7z^%k#9eGHTj$k`yxTj*nA{H00Z9)XTZpZrbPghIlhSVQ~Bz?PG zeCc)IEy2f|X-ODi2-HbPi7NqlP|$%q72>WI3idhiM?50)&Ee26&{ujL{3afudI*vZ zt{fzxL&O?!+OSp9DY&x@A20sD7Jyf>X34>KC$|e|n(}KRefl3IkUr^)iJ<@Y@t8o) zTrzoKzW!Cx5WLwcZ+aY;zfRvux*iG^W^?dxcm+W^_|ctHJ^B% z{Vmoq1_bY=On&oy;DCISNRGG%@@A}_CRIw3-T@alT{(2g5rW-YX9Uzs!koXP_P}YE z%r~kO#F1f}*ce!1m4(#-+y)?0hz~HTtSCAJ1L($m9j2)+{-u|MUHYhtGY!O=1X6~!es)I_qndS2T>LPL(h~mko01UW>&HvuQ-UYq zlbNd(FE@sP+aOarW&~WIPp?i9;)&n)s`CL#p6Fd4rCi(~INd!+!^L`71HZaDy^Og) zHjkk4D9*jAS3KwfS#EECU@+$28$*bSyGV?$@HyKhgq$JwVXE=TPY-lK<9IWmj9l5b?P5q zf1&UHl>B&?Y<6Jp2+S{U`S)42=`xen&-@jlBrx)r(_Fzpv}IdGKdyIH5Y8_N&p3|> z$Lhel73<}TuBY1Suf|J%M5j^6eNurZ#T`cV#Q~y&9&IE8lu-gijgVC_9vxym_Znf5#=HiX$KNU) z{x`4syO@x2Oi1xdCypx&5cLTxI6zd@;vB5?h=NCs4|zUxDis^w^t5<5NH~Wy5p1-I z= z7}H`XKTZ6w<8_DUwTS=SE3Kv5(BEFV&v)+D zYH$@7Gfqw>0owmV)0Ox`_5JTVt1)(wwTxYoJz8W&Swl#+h>2AL|Kzc z2qC2zZI0~=BlpDwl9$|beBQaJG>5pq2)q8pGJ)N8pTU-=Co z_PJMnKkgQuawE~bT;757Bf6cJDP{l6WYZ0%v=wGR(r3&5 zI`P+Dmo{@@XzDrtD!-N&(z?3K1o!~UE)c{=z!K*W*mI;e<+eDmi{s_J{dA@%`IUyX`2>unu6BQ+{Zlx7 z)`F?AC9+O^^n8v6xzNG10n+P{SM^B8ZU^24uwF=s26ZC`OaMV+z#h0>xO- zMeNdfQboo@?K&bri3EqxLcQ3)GuD^^YJ9_@0g7>2hg6uI9-FyJJOXUKjo0D`jjM^g z6tVXL{&UH|6pq%hJyvezzz$cy&;%~i4oqkbaam7Lkd0EY2P(o?CxS5(j+cIlQj%`A zh*F}sEAp@oKmq10=NgU*qG^CFl_{k&&Li^XLwp(NRo4Kcc`#kyiy6N8)nwrm7KranF zqeS-R1_~ORfYLVME3BEkbJ549W_TS-W5eyy@g;a5(j5YUbz(>%|559aFLTzM2$ zVLsYq_jhO%y>p2ozr`UnF;wL z(BnoZGP3pi*4quAOZA+GHa%FoaQZQHnPh~{5p3#yb;SD-N@UN*y~fZa73clf(5=rj zvBUD*0M_7~a2pUJ<1H~i>tZe^5RbWUx>kOifPK(fntCB|wOkshDMaz6>taNG{~F{( zm+k<}g?a|jg3UFfATzsZ##|X)6F~^wQ)Sth30IY!{i_nZl8cCsaWnzi);}~t28|C4 zel$m+^84rJ4^C8-!!KMQVDnTk^lADn^jI3H{u^JXjopMOPc?vIKgyjKh}eDBk53F< zKbc`$)b?c;Z5`eF;GvfjfBz9L`1wbTCryDf0B*NtMs<=Ofg9pBUsVutR#d?ZA<<~{>)(% ztmsL5_kka#E#39d;lI>DW3S%cHecweAEae|@6^jhVrG_Bm8Z0L>x^4Z@qY7$l$Blv zh-F*xHRk4OF!^%6;b>rR(_MJ8T^*t{ABgnu4DT->y-@BWAwDMVp!z2Pz+K^FOS9@{ ze76>7+HUljz5Fl0(1dnF^!?K|Tol|T;IA(vxGF^){fdH%xgn(Y!RP!kmpruWI#1qsAzcg5O*1q&*X$1LKlhxiR(~>1(nCLCJ$U+Gh&YGHYwY8cE3kNLpDGkc{2>rbc zl-i+OI_I#>efENrnntCrK!6f(?~~01e(R35=+uzI&Bok0E9gx3=Dl(#9ibhr(OISB zSZ{0GL*?Y4^KW%7RLUgTKd+wig)sN4On)4l(*{Hn)hk3Nr0T&#TZ>MqfmZLK?lwnm@o@!q~#>;~X>UuEKq%7{;X|F!#mir4p~?ZXe*h zYz0K_6%v#+rR5ZJ#TkDACO1&pED#RJ!0llv4{iI4(X&x+3L)L+W5c|_xg2{r@XM+R zNe}mK9Td%cz-($(hro4>fD~z4YaflPziX?Upd$>Z>itKi&#=QmG(EZ>;F5A1;91%t zKai2Y=W!&2>miU^@s@bpM-q+xgEq)~5q0lIIsS<(>Qp$gqAj2u?@2od4o->=z`6QP zW%pzeD1ZUHbD-keU=C9;HQ+N*bttBtWEpR;Pir+=_~c2p?erQc9?{TJaSoDlsNGQb z3y<01YrHWL)y(`G{|j2#4?MJpp$v`y!Fy?+P9M}%oou0eHbz!o0$v|M=|^8?Nt^#d zC@E5URK(O1`ZC%yow?h>7_le5N;EY_!hvw8a{-i!sOxm|{87rS)d3n-b%2+aQ_>;F zqtW5a?_sklSw>jFS+-a5httQ4B`3g}0}mIV7zI#V;U(A!FCv+XawAg$^}f&uu#}6@ z9>C?DF!u2P5^}Di^ExO;o*}U}xw*LmBq=HZ5%v|I&MjR3qvB{h%$di>TcN^<4z?B? zu%^JJa@cNzdU9Lj2m7u`cHdU#ZkEtjVq)7uKM#eLb;C){#~_+H(Veig;AVq}%DtB$ zNrzkqp{d3?^zVIWs@5jtoZd&3`mORFaz^ljsSJBGBu>kYu*Tzqy*OHUcVqUEJC4AE zK66dQo)frJz?G?tQ-EjpNu3BJ<;=LC4P_}fxmnZPKlZQGY3=`lwRVA>@xj}ETh|CU z9ydO8%4tziK&It5PS*N$WcOh}xlmz306slm0C6}{AKN+PW~pGH_^p>Olj)F;&Og?Z zMugdT&=C4FuyiRG{ zjee_@Xa5PE@u}?<=ff-qm#S;F9(n(D>+{dE-G*4@ODqxZy{}ka4#x$|YGeppnFf%xH;O`G^J-=~_ekEV z9bka5pE9C|IjZRKPs;W+dk;3wsr#=Fsu@O0^9`x z3e-r(d+X8=pIrRNAD3W>Q40T5?=n^{9j#e~JCwa(H-0=hNlv{LvNk~-bw;M#L)XX~ z>N<@ACgMhBbH>Cc6G~f1X(`+rE%)HC+{+3$UkW|PG=*_ju z+HaB_;Hy3kkoP%u)d@DkWpPo_hC$V+-jHRO=OnGefaSa6FU}=TJ~8#mQz4<)QbXZf zJ02BH&lqu3(u6Xn_Fl?!M60+(fimYA-_nylm-i}O*H+!Zp01ZSQpn6g1)mjX=*+fD zos}wUiMes3QR_W_=}^BpGhgr(0)D*b)k6?BxHpyAk*JE~40zrYDU$f?u*U zLX08K1I#hGm{9Sw{`Yv^Fdo68Ij{E1fAL!u195TcX&lp_RB%B*eer_^azvfxv)cd6^#*6#D5T+R^kB)`s zgck4rF;A&yoSj#1mqexAzVh(>_})R3?*Eoh$=G=3UBlq3p$0O4kARMwvMQ-DPND9P z?piw;Hb966?63hrt0Hie^|vCkU4W9b;?_FJtbNGT&5(lgdR&Q=d{~p7U2kx!@*e>6 zxo;GpXk7oG8mBhL{Ql?_BPAw!ww$m>8pMgp$MQ|#~n(30-vkpEKP?C#zUH?yAR6k-FL^5u|S7q&Iy)tw@c zdo;B9Oa8$&_B;Qjf|aqXGzi}L6vwe+q6UHkS&B4QGxG7h&A6D3vj>q}T-aj+LM~XmSM2)X8`8YIDM`ti2lZPC4A? zFzqN9M2h>urzW-Bw^Rjxwl)AwKmf zgbK&<>6g99NkL&BA5sn|21tQ$XWzvWfQvbaybzD{jB;#E%QG!bdKsHygecBN2Hiqd z%fOIpWtN@c4SjeWYPZ2R%k1N^`vrfp*3fzPzL|ZY19y`_N3$Py0YY52bjAXBYWr_J z^mYM!E*5|xoj|OgM1B&@%L8;0{vC)BdIvRQx?WuQCUc_Wv^B8XGg9e{`0u@gI(Q|l zc&#Dg?B$^DalLoUp(~Ji6%;i>^eASCX!PWkvAnuyMf&@^8SkF*I!ojSntUbdGdi1x zc(YV37(~hi{|TzQ3~NXw6!Mv1_TwpUURw!n-rZYzp1bAPLy3*6OHN~Cm5jqjx=Mjv1AEC8Go9-%7d-{iKr z-zzR3Jk93dzbV7|X0V>o}>Xy%;#cp0Dv94J{1@9ZFIKr5D;d!bXEx9GCzEmg!mDP;laS1mMy}`xW)e4 z!VLEeDPz$e#Ea%|(GVE&_cxkYL`{_vB@ic>57-*fdPN9Y4nlNVF>M+}#bSJ0KENjsgRJs> z>lq(BpS?}goVeCcy*3F|Gek~{RgXpu^{_%lo+9@KF;5&HjrMTauf71a@ z74%gB%7|r5hzN;k{hvSejT%qC27`a+#@_+8%0LqhDCuTE{1lZvzm`zAKpf8cWTbKW zWexR3op>1ZG8yb}+=inlI}eCVj=3@yli+qUMbO}kMcZko#2ilb+_!#kHpz)TjEG11MT-U(Y+ zf@u}V^hlif@d`{hRzq#yd?pNp$07-NfGTIsYmQTV^90w9JiwbLAYoHUh)^~4f==fZ z-K#!Ondc-#dG>($ncMfy;VzBOG<#844WZUU4V+-lAp$>3Q_Fg;#SZB^0$w-c9as$inkCLd1IHS%E@gWYf&)1PWyCLh#-Na z-2d0Rr(zCQk?`s+(l`EEQus!`ABWB6aNWPdS6p{^$Mb|cf%zW7C^Euub)MAF)*-hJpgaN&}Wk+8bwD#G} z--cel_a7ea)PqsZH^&VrZ|MCq#@N*jqSLl*00<9g!BhUmA|)$0RLx^$@LhJ#TY2#` zEhWl6q@#5m5I47gBP04bE+!*Oj?zD)$p6lMP=YOCxqG1C3v0ii{Wo^8EM@6h8C$k+ zVeAdWO^I6PlW(E2b>HT_vy8o-MbCsEt(qa~CteO!t z0oQ}~DnhUhdsK;3<_ip+P#+OUP2$E_y8&gU6lLUl(SZbHTiw-mH~fF08A3u(BvhEo zcgN%?qb#3!_EUA}joI>BaQ8^aY2$2^c{FpdkWX*fHsPXJ()uK8tRAulas=`G!iZ}f zds4%%pt+p_=E^IauDDTR^b`l&~%+c(sA?m zR}ax^_YxhoKAvv_1^n$3t0-DF-l?M=1@S(W-HI|>De7d~?4lnm_$&_w>L7Ck{X3~ui( zH@2xTWFEcp%j$wkfMQaL)GJN_Y5!AgE4eM{(b7767TS8z=SQf!pzFVL1&a1@OoC6Q z*#E_f2pZA+I3MU1p`YfvR%WhxOQ=igW>c;!NE_D!xQ~lErfM}m)%N1fGa_9YdSUpu z^(W5)#lws)gh^a78Tv13OjmUcaO+2a^P~SV1_b~Qw#39@6==nd>tq}Kdw4_3m%r;_ z(oD(shXoIeE=cM@YN!=rJ^RhVjz-9f$*f03c+I*1v&{Cd=Yxevi8ZLI880&v;JCFb zNxpv*N1AIKc7nelU?qnOw1I>;#^cmj7dZom9#DmwXDLw(mGSqU6aRJ@q`XXEjiJ)!d(mp};lWfLr zHbr^aDn4wK&;P7%GfiEc?|4xFNSWQ@bG3AE zL`d`@`c5x!;Uk9d(|ZHMFD`b$v#MV^7x-1D~O)_??xqV6d);Ge*?G^*GyRq@fsxwgZz%h!tJB%)%H ziF)-AbJ7-3?Yn$S5jrsfNso`|503S&HYI&^!iAxqW4(?b2`gLA4BD0yC7x%^41>2l zJ*=`JTMA^pk$Xa*;^NMB7XC#U09!yout_wGg!;!uBcyQ^Q+9URWchC8)qZR60 zm%TewG`XEL{k60lwW<#A@Jh_)zTu4h1eGy1K7(F`y$QEo)a(RTxhkGt2V*Qm5JXP% z(PNQ^L;(1ff|THcrT|1hRX*T)?r**7q1(@q7SXbHd-$y>&sBoUP)gvrp9a9g`rGfO z&hFfjV0@029UMEOEa?eGhi`t&m0@ue6XVpF?(SpfXJ(^s_==)Gy`x608cef)zbvl; z&tJUNIt=!(Y=3n7&9dR?Ff#=J&DS=s5b)wo4HKduvTl<30%QSC+0P|%#U$??Ys6$B zc(S~j19{OxMkIS=hq4nPrJ*7Gm43J&sD<|H9=9`Rhe(Z?FeQXHxG)CyS%**h4jG62 zN;#S;E-?5G3JABZX0{_*hNs!{qu5?L zn#V0*s*K`J;O_M>9~45EN$mxLD-%`mGC%Q8-M@Xji}ajjn^cl+%o|tIh6IsAN-z+1 zpqh#*M$ZW$L%w}HZ(Cu!{`WKWBUAUgR4vo%V=AV8p}&FM@<>AQ$ls)`PICJ_nIa1Z zGPC21-P>u{3c-9fluoSa&yx5rf1NyU0pbd?v7eq$j^o3{ zM?Tj1^0OXtHX37d2HryA9>_lHQ}|UrCo6SBEehNC zbnn?2l=KqbNiz|B0abJx!5MFWyU;v!ttNSuvK?y^9mAaVKtXAt!st63*yPh$e*&F%|Y?72}K%e`|RwPF{MiVb>5}$bc0>?^sJndQnZITCmjPbIE zr3SLSKNFwdrJP)D@*HwYW$}1#7n&CNv4o$VK~n})z~}tXt;Lqqi@#C~APHG^zDY5c zry{$X{20n#fP#umN&m(AupedVgVcL!C2C7ReH^)?XXi4WAtxxyO1tZRK+tbXi%UagD&RbGQJWiy(yAM4-nK=pH8!rLnBJdv?{?6yzbn)LvHWVPNnf`nd%C zs{ao+FoK1!*gbWb2(GffGvE`!$Wl9$J>=XA*%H^pAO8G7#I<5W59ksH5A7KU=iPvPVeEBG}z1t>+} zWq1C2%Gc#@^M~zW^4@D%k<+v{m}w~VgeSiGcaLu=Ku-g~GF;}}X-{v?OkAKbQ}*<< zM!=j>!EaM?bKb9IMZfJ6oD!xaKocv-eZN(eg7AC{*=OhXN`Ke&-eT~()JJDPQJo8Y zRuu`Ga9@MxK;V@qO`l~pSEdW{4u|9=sRTEfq6YNY6WgfW;-UkU%ZN}rb>n!Fy(^{d zFgiBWtAhW*gGRmZn7lhkSgpJVKP&%2>!{4VY;~Y~``n*RktDD!CnlhhYOqL9)|Zba zy8CSnc^u`(7AZ4^cpFzuuGv)f|Jz_Bc!CGuxo974VD(-VuNgv6aYDc2)sbUM`~Ooj z*FqLP6x3Oa-kyq5L~HsUHNi;=wf;^@;&4RINGFfj05jKvb*BseTSCl@#&aZSIYi~O zJxh5ucjm>ISQFK0JePC_Z2OR7Fa)D9D%HblVF`4MI^`hRJjwpDs_4j${@}UA5a4ZQ z!_@$uswIp`oFq}Rnvo1mj&DOrD(bti9vy*y*U=TtywY8JI|6uP4j(~#OK+lF9kAd2 zRT38EVncne+l)N64Bii0VgWkzDffiYHFu`kKy)OE{xZ5M4f5Ut6@MlsKpY`VS@P|8 z%T(6ZI`#baE-$cG+M{w_?U=1xUKSg^3m;to>{p3>Z5Opa%KIoXR)zn>5^8A=!u>>E zgU${9P0tMeDc%@Vh&0+y*vj2M4_7rXNlVft4Rfy}O%SkZJOR4Aevf9Q)Lcj2egrBa zPEN5OZ)RY=EUV47F7Fwa+I2C$LSroLz+0EWD_Q&=&950&qBYlK7_;|GDyh<$?9aZ% z#8<%8KQ;ilU*^ywR0HO#?2=DP0JpjDH;X5yM85~ za}!fBY&-tZQ0H&}S+Y$(39qnhqn^k1fo3W;|CRdf&@v4(D~P-Qu=^2*xM8&+C zdtxOuG{z!>yzSCwbF`8=p!Ywttz0}w(#LQ9%zR}YPkUyJYm4NJ3HzaNg!k%3OCcY& zk!CnlS}Zy9ZN3nQd9_%r0my5-qjy&lcDI#tU>1f6@LC=+`=hQ$|LT;R_CUgfnzhi) zgbxC87@z*Ki@K->MY@+4m!I`79u+)%@svVgTm5{{(JL%-zQ&`UiHmGvC8O%Ua2d@9 z_It+UdN~VC3?ZRr$JZlBI7Uk~JznyS7*lw-YLNSp6cv5muD6d3BIHn26{(&j{o(o_ z6*e>P#9S1Dd)9~$=kLyP3R}ZtgG zvgZfa6AllKefQq}j;Fu}TPj}!rI*|Y(_)$WT0www;;(2Y+v9|_K1bA`ByyKd#e+tR zT?r&xj70+ijbC}KB;B!*LU;M%zIUr#^`rIP%<(69E ziPqAiCZT<5HoqioJ{E^UoY@VZsZ$$cLzTG+^i}cAsGYsB21EVvOYq2YXemH^XT1> z;@MG_b&k7ehF3%g zq0o!1l+RQ>*R^*D=Z!^gVuJuwdLc^?Di{MJO8iRf;1%o?t;i%Kurh?~=SPZ2A}s~- zgu_2#b&yLoB$wT1CXNUrnk~ZIt*beA7i6a(cgw{l+@cJTieL_S{$2(1eb?q;u1KBY zE>Pv?h5=;HG~X@sDK{p|{5$;-D05NSu(~BvLtd7A6waK_)X@ATFaozAvs`|W0jqju z`9MMq2Kg?YHb(04=i-eS{DI}emw1WxPAZXl{BkUXX|V_5bez<2-8x$LKcgmI!E^z) zsYDB-`P(6?_$LmSAYS2oFWnu1@+YXBaUM+{7{Kfp)pPf@!&B?s1p$^P9*D%%>|lHS z%NKRtZ>f(^TOV+6ueQUUxVfqOkFjyHSnmp~?4lW-!19zPkIr?t#*s8{*PUDHQKF|RldG?K#^WS)@vycz zoCXPM>aaKO-6T4Cvm8E2{YA9YF*yF^RY3=`2l?W3j-Oc&nHsocTMt#t^t0F|cR}{$ zCaV1Sm`O<&_+PD}`csaz+eMVnWx`Wkj;UJ4?~#uLuJ73Ab~IPyVPkzlYz$ zavme@1)@gQ4p8#h4c`Qth*AD`%v*?`E9R}L*Y;~2yzixj7O=g){Vi)gl$l<;?4&2Y zyT`cY6EZ-BAq1t2RoM zt`Zzja;A0%v3pCsvreD|Me(HZ;Pxa+Vx~yWja_`EhTDmMlFQ7e@?3|{$-uCEnW8Em ziu~#M%g}HS*J%YgK{I|cN;Hym5;^(1#(Bo(@Sj5)%kb?RXZK)!7cUlj>E_PdqT!g1Z$K?&4Lu6j! zAE`{s3Sq=5Qwo(da~5`(p54oZDZJ`nDQ7iy2ytPs;o(ZSX$lP7qr zkH+0oCJd>(F6F_>HNA>~zd5bI6R;C)WBmuJSc;xMQE5a(YF79U=1gp^#;O|`94L@- zmU_aqTK+yi#%rh9ZJ04aM~bFB~Hu%;}YSkmZ44Vh`C zoKe;Khn?a%`<+8|aR9yHE<|3Sa0l!q4(`Di+EL1R;77sr8Wneucs#v_c5fQzE!_ey zr+a+To*JU`^Hj{mPPg>~;G-pJ&ra2LBZ313_VIhUduL0kQCe z^b30Uu9+t$FMxF!LMX>2AzGmgWz+RiOHF{My|^g1`Q#=LF3q!}Br#GaGSb-0rWD6j zEfmWq@-32*R8+QQWX5)iH#wF6b=zS&n8KDPL4$cvblbLCyQxnX6gt=$+PB!`_;#i? z40;6|G7t;C~O!}T*`%2}XmTwfkyb$)D@12GG=Z>cX3E{j&8 zhPOtE+5KS6TjK06H7`!=r^*}&a-Sr6UOa+d%~jt_tQ@v6e+2QM$Ex6d_Fp6)&Ig*V zqTYKwsJezKI&jD-?9Ma4U2}U8h6{%tD94WMWU`nYOV*2$7{=+%FDK)Ki_T9(>r>z@oJ9S;QCoAu?~B20MjA7v zkI{LSb^hrD-?u>UCVkqpT%6r|kZOq9FXEe>KSlp-RW|lFzCCd*_f7sl44cFMcjrQLN07(0g@7s6(hC`A6(xXp5s7>3C;5#HHmHrw8cA^8+i>aTkc9wj4P zguC25PPs}TE?##a)o4&8VmwEX-tUm6O^6>xN<~WVRAW?ma>Ou_Kg9<&fdd`+>UHhI z;HwF>dX`2>DbxORkQuv`>F_ydK$DLvmrtX@g_JK#oyHkrBJ)E%W_`!5Ou@=i2;}l6BPwmmr_Ti&x~nrD?tH?0DNRTXpn& zuU(&A4nj%0i+;*H5RHfxm$})eMsvvQDBUfGOC|UkwH@c;AzaWnA0FZwqt=xrZh8RM zbsWg35|0%{qMOUwN?y2oTNRIm+|AnU{dYK|+-+kiv8|P=DU0kM(W*}qn2w%5>OI!k zUI>ptx!N#h$zBbmH;+Q51AMn7GnmVI+np+Y3-a`~j~FHH7w@3qOepWZ(U!p()RziP zCgQYMhZGB};`qH--wjbQcm3FWryy5e;KR2!t{CP~I$1b1$Q3i8c@%Rwr~A6)%8S>H z+(o_5k&bo<7Xy+LIzcjoQ|~@DFan*^!cq5{0e~y+^7(yF@3Jwrx3^xkkJX)+;sLwF*b{fxz>cZ0gAgz9K2QVW zID{Va60Xp}J?dtj@rb)kZjF^Yf-&{uj}Pb}SzuIpLmH6di9xL@ceoI0yoq0UNxwe1Gzd*n2D4YpvOZ zP{h?s?Nk&{?i@=w8z!vY-n?CE2khBKu1-C{eD5q*lk)LChABBhkbhWUY@pPqa6d`s z9P*`h>Yw+$G!NMw!$&33=#sh6&;pC^G&@uJPHtfu(Kuw?rJj{F*Qo;9x){`n7k=ndXyoMmhG3VX;hF+kBAU_r`^;E?u?}&dF!9>hN~% zT-W7}DfmNydw@+LawI-D+m7~=pwy|;_@(Q52A{gtb=Ve9T=Z2>-y!)5h@RQ8K-VVX zbi6enV8^L)8Z{g9r^ddqgJUTo_Yw4bG19I9BpNw8vouY!*v8v0)8DqK+<8A_&L$le z&KhASDqx=`Se5Oqvc%XlLFe_P30~>^-xI5sw%sJy*TDy?8_#1XA;!=tX5{aKo8|O9 zCSSo}p)C+B2n5?zN?)^I{!vT4XVc@$ajWG$TNdAd=0Jky`1U#MnT52Z zSPV36)`GhtBDz(fuE5_Jqf&`Ha{kmE9)%OjZ||<(%D=v6#Zu@;jDfar{u#8q@E??< zDXLGA>@CsXOLFAr{Pt09N)n{JdQY*{b=T$m7ayJv>+jOSz*E61zh=aA%z>|&}(3#0);&$d($1F70O{5os9Du9IGvIF-(jIFNWlxfl zus|H%$44@Y`P3tyYDC;r?+ii~b6Az{6(I=U%P~s(hbZzi*w<4OBX6#Futy^Gv0<dqmvc zN`@Vv$bT*`u^z!6I{xI|-!Nbwz)e8!{!G9n;&KE|kW}#8NDRInn@U5D=lzC`8={43 zI)is}qA)h9nrEUUW7QK)(FUNB-!t(?M5yvLo^V!&9X&yPgFLi;b+&lkA6Xvsa!V=_ zeiZG)YEWEbKOS=H?(90gNUhkuVZ^LlU>w!Al7PTVQER5&EpCjn$!t4=qBJV!4RSkm zK)UcQ+rMp5qa6I7k99=ppK~9#;;#7faRS}5h6 zi9dbe8RvbO(~sU|`hK{2N8C#mqgopKdXOAHd~xFo zJlZ(|eEj0T2K#A0Bix?4{x)DAXe8H%?%F9h!{X4{e+hr$Q?HobPrbw^_F#?pViF=u zZs@o|OOrblXH$qiYzI60`cq#$i<)c+;a9r+*2#S8G8fU<13|dh>0jSpHnE;Jw#A&i zOt3wOm#N~MwA2UU?rx(bGtmcf&?zg3K&^OTz#3dZI2ZB01q0DyMn)5P(Kg1YuMtL)#t#f4Yi)PtmoPpRasZPl*qaO@fp)yjQeKUmQUu8 zn=6KO=2Z6=3nruf37d#zOpPHZ{r*jWi7QoFXY=LQPocb1NQL_|f`?w6Lnhq#Wr9Lj z@@kWVcw^EZ%cN=E+UM*?5b@aKf0^)tNOHyuE2{x@jdD}#MI;V{>sWL;QAfaWp5;*4 z_Xj;!(h1#(ghqeon!Sp4k`r+?W3Q@q|04l%xA54XhQYm@B+Vbhr>9n^wzbp>j>3Tn zjiIQiF<|qA|Em6WI6z+$F9!a8#rE6Lnr^jH7oGtkkM%0TInSKUJBfmaq%`a+^)xte zutGdR-KLeK%7de8OXYQP@gIIH5?pAOn)8Jt*bDw}r7yb)X#DYchK#3FMX`gZ8ytUB zO4^|3XIVNFKDqAq5 zMnXu>ADzDEyFTO%F*Z`d`Z7vFbD`^T6G8LqwZzvO8{JUkVe)!}?&7KHt;J_Oq>sY5 z4TFK0B{bqF|AOrGRph;JoSw9%2YpY0I#wWARvoX7cUO!*hraT$j{oBg+`^3#2Z3R( zSjO?XjdJ}c_IKP{QJjcCr9{#d0Zra`jpO5{LMTsB)D0Y`tbmaqUdEkpoZAqQhqE~# zBY?{@ElT;@PpW8IxBC+_f4C?z`NsR8**CBL>NYH_jRdlF53YIiOSDHA#kka+(W~u4OhS4)C#J^EtwW(5PEj~YN&lS;!W*exMqnE=N{sPpKKOVp6Q!{k9 zE;q?^uwqNN6Pu02pYY0qZg#aW?t2*sMy)j2!=LKSg29!80ifH2g?<^6yY^Z*_s|xn z6U$=(e$5JZ;eb)Va6sxe%6DbarKwjrGfahZ-y^vaw1VaS6P5x2_KkhB*DdkGbup?z z^{4Qw5n42QSQ`6>H1S|x`4A({&MEGclPpFq$*4CeLjR=^(ggaE4xZy`e@q)e&DYy;7b|Dc&IZEV{)U=!xN>8>o(TUT+|ndCw>8}WUFeYtPl{e+HKa1_o)O!; ziKP*sz2<>SyW8}kwO&3C#x6^XYBd?N6Akq_DP#q=$<2&>Z?d-XvYK!@hw}_iQPJIIV!7V6m*GBNw1;KP=OH(9V_RXzs7i#(~Mtg1ImM_TT)LptrD1_Cq?}foa`85l*0cPgW}Fi4E3nWPOj7dQQ$ z?+{$tt%HDplMAm`yZ`?#0IjE`=n}GoI0ARW$LW&3=fJS-0_WUOR`p^#l(TsBnER33 z)&6W&C=WG@6+FfiYqu(-WMbq|F7cT!Cpz`m7m*o(Z#HVX!68P|)`Z&zTeq0m$GDTi z-UCO48F%o++5vqM3vkjp1OLO@8Enme^7ZO6hAEb?g$*6W$n;#SaUnp+bp!!?tZxz(435b;ffKNE3XZV~46#2vMFc$9d;Mlwujmc2Z1i=0+8 zYn|cCleMrzIeJr0=D@(JN+liDa>}G_c4WG?fV*yXx_g#&j73%c4PEcaRas|q6cH>Xr|azQ@hJG?{(wk`DEy=GsO;@8(!h|FOt(jlj#l!Vh2qMbuee zIJXHDj_TD<(XUi#TYj3 z{0{#TP>1&Zkaf!7h-irV3jLg36rD~nNXs&^g6Mwh9xjhuC`X*WaX)H}Sag$0c-l!E zDcXQ04L>hZ-^9iJucUplr3@8eM<4Q82krfxZ^nUgx46Npge(;q}pk+hXkEJYA|Ewx1Z1@)uUDMdTD&J@t zz4k*uNKHKTv)}s%Gu88d`!iCU>L-I19#7JrM}ot78;k2~$3@o2Oh4?FNF=fXfpis- z%JXL)RL&&#&=w|bEo0{t9*CMAH|^Wkb?V?9A;)x7&|e`_-85uBfj%$|<=mtb=%4)9 z&ps>`Pl9*bgZPl!SH~j$1r-q`)7YBkmRrBuT*M%G)Z=!w|7Wt~G1Apqq;DZqwpH5z z!U>Zhfrz4r0_NttM$?`I%F=}mpH_}8`dB$(Y?uQAD00?y2_G@=xFmCHaRXUW8ozoh zo)p8+ZHUDx^)?}daMe1TvA7t1Q|oh)B!Z9(<;GW1juR5Y(nvHa1PqSI5(ra))gxhX z7#zkN|9R%81RL;F%k>egUb{Y`J*+gv3Sft4<6Z?sJJfu*4QGt(sKaDBv3I&0%PjdW zb-)x9EAb{C*3jH_ndlU`wE9l~Gj~HHroNjxP#-wTsO20*d*YR+Hfs zRuq!H7Hx&-_=S28R{?Sy%n(D6ey*f}X*1*(CgSszJ9a(+I*l&sQJ12&N&s8wpZycG zlXz{J^i#;LLx|J$->qwcmzi-w6P+kOCs%!5WDZVunu1Q=J#Gdg3=aiXR<{+`R(CmiWgZY)Rts&1 zB2Thsqu5j@29q(m!x=b$oiGb*uFMcZ_9coK z*^_8NC1wVpB3p?hQz=9dm4s$!vqssaX3D-~--cN}x99WudOyB@!Iz)>Fy_9mEaiSO69IfAJ#sdsrFktBZ^LchoXZZ~!)>0pbwr0-Whf^N(K z9g0>~Tb5|9M`T+;-0=?E9-ZJ@!g}b8PiJpUsKIWf2CPP(t3J5k>UZhR=aE$ted7II zmcAsnk5xA4aD0gMb@9E;#@_n#n{8@aNA(Qz`Ho)M9%Z*5w5Mn4^|q!ybIkQ>`I{Y` zHP)|iE8>3W#?rSyuCPga3g|CF;`}=I$}qB-=3Tb&QBfljM(D15_|8$U2FRmdx%YUj z3*bOZhe~nFN}F5T{e3;=BMGXackok2ltF}k0MOBB>Y)ld+br-_)nM{X`X2bzfe!AQ z^VHX0h`x|+Og=sB61`|Q=~}lB=H>>%PWXZMp=X84D<)jeK-_DlIJ^E{t$5+^mV@-- z47hYYAR*urO@}bT-9$v^%FI=A{Y&(D?}03?lc)Lg&eRAi$4%yHt14QjwDdX?R=EU~ z_-GydXjfEYd5o)JjwEShiDqYp4a~+H;<&7uj@rg>IKOG(dgtVEmbi zJ_mU{4rX<+sWM~YolbirEzeAj&5_L+rSLaNNB4~?PjRUB^Y(LWAN)f2Z1R@i)qmD? z0u(X;K#Dg2_tS{Y)uZ{)a=UovBdA$x@*5#am5or($+7qM;9B1vgkIIm;Jdj5$*o22 zl(oYQJ0hFO+JsC=%^gtYKnlW;Wjg1OsrEAK01y(# zJ^GorhusglfwzK8OZoEDn{!IFw5*haKbIcQ;H1W6hs~!CvD{^Gwg*Gxji!6R!{w{O+vI7cw7PGsa414KA9t&GE3AdxJ{2yz9vX=I z0w#fK5zgi%A7ttCsLA`BGYwHUR*u9rcfP_bT|j)EKNiEyw<7+lw!|I*zAypWITKor zwPS_A+wdZM_a2Rl%~h!aFO*Ep2e`8>V~-!rkgTI0*a+#IBG|X@Gx0D5_V^>Mj=CN| z6ZEI5ECfE*WJ^zC8QaWKl3mXIo32MJ??0;F%61%i-k-|-et=_fK4{rEfS^WFV%-^& zdLDa=RBCP;`rU``&3c6|uGosGaVvuZ{JSyj$t1t4B*AP-Wq0N&c|_n*p>`D>d-A({ z+ma$h;||RqcD9;3Ki@{U*cl!OA%xhIo!6h748;4n9?j;-IlB`me?7RoJXSH%+YQ?T zuixt6ief$T5C1G$rCu9$*d!G`SS*bBOuc+cLRD`}Zfbiqd<bmsiq$WH&SDS*m$W^`KQXcco z%+=+a4MyiNHj+<4(7AL8FNexhk>t0NZVqi@7+-=9_Yii&>wP+iZIeNZ^u{$Q-moE^ zbawxFs?C~T!HJMc;nJ!nmszmVlHU1`6n6ZgLt6^{+MvTn^FgJsf^HeaXur+o@;|dP zk4C-Sr&@V|PvEf~>TGar$-dL7&c(nUWzx4% zvQbon;h_bkbkYwgL~X#rRzIsIHBQW*8r6EY`a65tM(se+#q+p_j`>8@u61pf+(R4- zL87$DaV^f1t^4M-iZemUH^?)I2YVZc_i+h4MO6PC^`6-r);~b^1J8DpoXCJ07t_RK zyd1cV#~_k2Epcnn)r)n;(jb#?G=S0k>h8yI0r-o zbB(Bi0W9I0Q@g^mI3^I849>yPFZ?tH6{>;eH4jEWQAEB*AJT&IPa^g~gi!WE2FRgmt~ye}!+hg2Y}O(pd=zsc?!uT|c#W zY}sfn$h(FI86Co5ugipThV_ZxcDnd})6H(5inCR?COa6#u?;>?9UOP>S+FV4aFJDP zFu8PvnF3vN9*eU9ytFy;O8)**87f$1iQn@NK5bcw4n0gH0z5CXxe@Uz6S6q(g?;J$ zS9cX1PP^ZL<3JM~OgDH*RQT_s@L`_c!uSn7h&W0n4K=1HH;);EW)}Kp@C!6aSQ2h; zS`6@3-b^ge+@BbML5X9%P$LgebBLx-8r#Af^B(2*`V+A{&lAeyV?t$-(@Z@bNAn= z0P3fexlu(lx2p^N4n6WDk=(WFql9XH@1Z+ii|~2R?I6o2;Hky~ZJ z9wmqEAt;$1IRw4Zp#SZ8TKur~hVc-q?j=|2IrY5r^i<)!;m)UkVL}!9sro53@q2M= zqf1W8i$7fQ@?*m`+~$r*8g^kmbEN}JH_JNc)>4jjqQ_21PI(INhk8COTjZVdCd{ zGn*JWjq^6kxYbzjayw4vy#LB$=^gnexbK$r9~U}X*~L|Dx+@%A4Ly%j8giFZ@69#| zX;W%6mn_9s@P8(b^{?nr*Hg#@w*dLVX#CGj$j^h_r&eP+kU(E*>-q|@q^j$V4 zQ@}VzVZ|8iV0QssNm;%V{OL$L+?LPHuB~N(H zUWO~=h{;}k;nby7gJ<7)8?aE1?HH(mDG#U7Btx<9Ata`!!_z9=TlsI_>> zS6p9{)IPNFT$ekv686W9zRsV{9lp$(xcn@Nuw1uue#ZXa$x4D8>vZ_UQ&`C_6mv&; zH4hS!+@lRcss2y{oT3YL&EDSS;mp?DO}|Mdxf%qR+MF?g>~jrRLruyhzFyqXfdvYj z9EG7Px1+!B>jDu?45r>pLS8y|~&-9gDu zz59bkg><)8t031 zcrPsA!Ug5|(`U&M=!FM5+&T}|8zSyZ9qXLK<`2zH-wgj3QbduX>!E(!GbgyIhQIW$ z+vWv;h5G52$G7GhmDXoqaq7Rscfw~ghK9SWjfzVF}m7rYXPLNEC0a8Jw-JNMnCIv?Q%uDBRIE*$*ppteju6&rGEP4T45 zn4IcO+h?oPE4Gh13Xl15EocrPY##MLL)?^J%K5@|`b;%uUp55kPM;|d;U!s_DM_#o zI2wT05H7zJRA8ammG>C6Cd}n*rSH=T_Azhh2~CU;i{#Y_ps5SPtueoMUWkzuJ{Tx@ zb&@ao!leulw^uO3*}K#hjQ=e0oOsLHW4?8)fCvMc5f3f40vlbg)cO?81^E$I&f{Q^ z$Q2w$`^-vu4~TPy=S4@j`U{tQG`5v)44eRi4;Kj-IxOff3ZRnoB-0amuY zlh_|LK!-!7>P_{7&>Poy0&=o)!*q-tptF_v?1+W{j0w_d4PeGAOFlgR*?7gEY6k3h5j8r%Fdf{?QV3R*Bp!f6CTA|t3_1rIrj$6`rgmP`NjEE z;`T^|`}0NI(q;_WNOrZslp_YFq%XKg2g^HV7$P2J!==Q5UU>@P3aGl4B$cX2XchuV z$QM14cn1O3>YQ=0T#FO8jKgiAUnBVsBB8f*E9TWum&8FMG>iWx-F_~bu~b~ldAb^8 zYTa(JQ|0!)@A?6zt?{L(HH%6vv%BpG&k3#(FWNKOtx2XJXY11*o5``buN&*TRmhRz9tcJzgDs)<6tvusE#0$>S_1xH))x>!j2OwUvE;@gM2+c>>9$mE^KS zE48=_hV7okVpSO4=9bX{N+nIy0OQN8R=%6AHu5f|;A6=<3S$2&;+0?(dhIHo?r8$ z2UI0bcgqt@*r1xgyC(d=>yWcFX~2kP8?R=V@uU_Z_G%dDz1S}h4TJ2P z?tKbW@Il{54Mg+8>#vVfu|ZMk>DRVaIGoM-eLP}R>wQH(2B_~?l3x_=zL~k}3g2qd zK6L5)YRdFd+pl79GKWLhr3W@2?*BRe;yg7W{h9v14~N_?n;JY3m>eZPyvy_AJFK|K zzvS8xn&t$OVgyez+;p#_mcO{m%cBB0&;lcYaoy> zB5*1{mhoJd$nam*P$y_VmU)nmOAr&IBJR!JogMYTA2(Dwz2x#CmhX19b6Ol~+|zg7 zF69>M=*L7zx7iHQkU;ce%6?v~ zCg5HcsppDZxWKQ|bnHNw?<42%rI}&Uz2*HK>Lo|f3P!fVAb0<&M^ubBt3y=0%GdUt z?z7HL7NdGOa0=RFvd=m6Oio~4YH?=1Qrk&)NUHtWREw>(6GXn|n-{6{neXgdE&p3n zf8#;@%Ci+F{2iu|27kSVsyr8R6mvVzE$zw&#Q<;qoU`N(WmARWSN#Hbi!#uE5hJi_`ngPHF!W{d~2M=2L7xL$sZn_%9Slf*t9m_@t}4k}`xgdBTT%l^4I$o(eeT z-I*>&Y-zl&zv@bHR?ml*9L}$OrKRF7Sfd7`y_@N^CgoApn-avZlyFTU=&#aos?fUO z0JEYgHZYX_go@kIVa!F}KKf|Bz;#(gY(KG~&&PJIe;50rF;T9%X-JKw`Gd0kPvV4B% zMyz}iM#5sd#Jvr(0b^efVauUGv<=y=bpHdiFRyizgT-an<$U$wQu51ZQ99<$XxoG@PFGaeK$&;x^ZpcuD;~9>CAEz|x=aNH3xWboicKC23C} zFZ!4LE9yE0NgfQyx!oImXkxH23?p6iQ3D+Dc9CO)e>}CCs=~yF@BL_0U|hXRTMrRg zFwrF{i5!dNn!fF9q7wraJsmjPJ74aiGOiAP5$+p$otmxprKFw}m#xOx! z*2z3L>jIkdDu&8NChpCLveHg+fy4@Q1bN}xg+y)Hr9gMR6gCFIjXstf_GccHDK7yB!_m_Zvf}}u1RJ@y=khE@ec>Bd0#16J9$^iNw!DYnM1n{TZ<-Rt8< zGZMyy)g`x`KVv(v?jabk%BXuUxqW z(k7%LjCXP8HzV%H0%T{kCu1971i<3`^N`A3AjFwEsYu)&0l>(DBw~{za z!S3E>tYmy93UrH@VtdZvdfo6I80c0nu)wK+{aPOnS8{yK)Nd+0!E$cRnFYOYkcM`- zZt;G1>YIqdyJ?{!QaqG2PG)8kskD}L66<81l*TUm<}jSsM+~>b5d+e=hH#vB(N>r~ zcVFe-v418O@ciX1ZO~RA;Vu<>g&+!Mk?*zwMF%~Ru>4xcX-U?~w3Dx`^#$0|cB^Y8 zil`Hpx@-kp_idP_M&!eLB57uFZ*};Mh$5u*Qz8o-9iriP))QT>*vw7C!3xLhRQu!p zg%%)*G$L}VP(`QZxml5W+#bh@?M(tH0}&x6&**Gj0IfOx{Qy=17G+a5=C*!z}`$3WaEg_`tB z?1VsKF9|NhZNP_D*6TexeDv~(5~zI7aD~fKC*Es+0h%j zl!DzMm!7gTd=MHXVfmTB0Uqb#@ah9ClrjJvWg6i?*-HkO%CbWtQCe0U_H93YKeEXn zB~>fs|yZ~JW_&<$CBy_x$1k6dn5&cjW4jK?C*k?kO=Ww6U_zdH6SdS+#AkC&n z?uqzXNZn@FLm->Hc>-TEPS4~xk0hZR)YZ2OyFP8@e~E+X?6ObcnTkJfK*&4I8Y-`% zmuz=j6mu&u+?l#};b&SLsDo|K_Kf9%WRJez zekJmmsd~rL*PcA;9}0i?D^GL$Q@IBE-07wDj$cyL z{}9e`Gzgz-QsYeySgy>kC>>9WzZbCZY80+ewL=^%`6To7-hN|Znjs2TFujQhtmfY@ zXP9tr|JAQT*p_xLl~=R4gPR0I+NgDrBVu^d1z4`az3SB+UZpMK=xurYjcw(8T<>?!c(Pcz(cSJ%2TEBWQb z4^s;A;At@56q+Xd21bO(EES)EzJZsBSA)qpxuJ&R_TVoz>E!~=PS7x5Bg2l zV*EN}-nuNiLrY$b7b3bp6uVRPzBad64Ecv~zMr$xVFW!&ykDukIi(&ae2=So7x&8N zIyicTp!7`026pGcfdi^&;DJnyfRJ&ob9b-{>G=Z1-vokjDZ~z>kWZ#ABq+PT6T+V4 zeYJp1^r8fsS~%WtRDFXa$bI!X(&5}fKB5d+3%Y5Ie~mtyNZXN3av52vvxRQDY;N{& z9_kR0`|_!d2R5~u=vS9`o+kSoU!GTw8eQ8P9Jt~WiDfKl>QnT2PwS7I^X73ai26x4J7&2*k&TOaHbXkImn@fcI<@lj$0sjf zH(Hv7Olj96X;1wqy0ve_Jjh@N>90NT`^HPune~RY4jgYzhs@~(uxt*>mXBf~PkH*q z=DL-)ATD>r26>@Xj#9v84%1oOgH$a(iC)pev=$tD&$g z)sLz1w|4*l4!WQZXp@Q>e$O0bJf6VkiGEtTc4J9(Z@Ha7>QB0pwu;CKxBas|%E~Id zLY)HO@mo;cabGd$%0;0=PiAOdVz|Q+DF)Svi2Gvg)iGxSO`GKI(9`iH+@C{QThy}W zh||^O=?*8il76JGZ{dh{t_0m99@#K1X6FCGh0@Y>iA^6Vv4MHg2OF;Rtg-aw!e73x zHD>1be|*I3_n`a3d*MR(@WE^pEn1m1qJX&C#6Y%@XtQTqA*ier3>E$D8W-dv# zwhzNO8V-8g0p?a&??vzAt*(nnpXP%I0PTSMd(QPb*5!tVrJW!y`&bx#fxo;K60^`h zrFjs=i;zV4Yc=KU0;(i_e{D!>YZok;JG#c&1ooFBz#&FyNBCR(9a5Z%=~aFwlj<) z6WzhB)!i8UBmRrka23iJ%O=&?Lmz}h(S-Ng?y1CqgVG^{cS916@xb3m{N8WO5HCEq z6{5>q6+)B1j_gNv2x32yODs_`1@JS0Jd+_;AHd6(VBV1;5z~u?JIH?6-vfLM3DjhP zpt%1Rw-cwbt$%$Qoyh6H!HV;#ibr1*6-{CLYFZr~bh*@N^|;QQt;@^Xtb7d1cugi1 zw7`yob1*H2npLCCNdOc&S^!!W3gGw8 za(1~~|Di`LIsL~olyl0NYL7YZw_LIIKDLVfK9uA6+XQzW1S@sN-$NI!xK~d8{E+Zs ze1YPp)s#Jkg!6}*TBw#z|^EKo|()vdFf5Sl?a~aH~f%U!P4&$zu(R0gN{|)cz>1>jTJ|R@3 zYYbWLmk6r&)%K7?tywtC{W10c|FapOydTmP3GnWZV@_4y+ZBP~HP+>QbPg3fLqceE zDM1dSWX)72T?tyeD936F1xGj{@bR|}Awb0ZXDR1RHtB~g{H)B};p7LkU8SQ?o-0iPb^n7y6o!UVh20-#r-qitM@=vC?F#3$e~Q^z!y~h&Y9ivw#~l% zQ*V=*Ny3fhgJRC^#6p-VFo)4<=+6R<#I#hg< zHsKPymCL*Xxyaq}ov$mp6KQ_dvHG!l@})tF?^CP@jzK-R##T>)1mrjpW)Lb8A)LA6 zQR-290QMMV*)qTzcpaO{k3J)ZO^v~Np@09mTiBjWYUM>`oD*+CV;>J8Tv8Jy%>UqX zuak?s;h$j?t3)f{de$B9>&HA1aTEb)a zF7Y;c`#*rY+T+C(1aH6m>}Rr!a2;q$yg`~Vr}PvVkwwMs@SJ`}_(42ypfxX>6j$@2 zL)_pq|64&B#(*fpb(x;EX?j`cXw8T4Ql@7{cg=T}R_TcU0JzjaLUy-*mlV8t>Cih} z-t9WiD{IemEPI*93n$e>wY{?WlN*mzSA)y;{(!vTl~1{Q;+e8&$7njeM>L$n3(yHnytV2b8u zl`AxK2n?Q)1)DJoGSi=t9SKIwQu6*j~52oL^;r(DvuWc#HS_FgaRpmQS zqA(5))Q8vw{dK2$W=t$DRgYT#TbwLAa9QMB#74(Y5`_;sC+ z0h!p~V->oKf|ZdZBjnmg+FdYWvW;%q_G)SJI%D#xtXkvCt>bU=m--Qq=e}vE%6TQO zB=VD9Plcp(%?hbp_{zRvP;>Uh5wpZA;wFp@HHH_Iacr4>arFn5{X8F6_Da~+v!k$x zVYQ5lT2ik6HI55jE{1#SaH$EPohMzo7JODvre3;o2n*n05MbfaO$_I!Z>pwZL`t(D zJn?`j=^~aU)w)eX_M2}(hmNAQPI*J7cVG<@YyzEf-l@S~OO2`X z{T4t|9%^nWVP>V;#2qwbb~c(U?^e8j2c658QI!dKetD;Hiy8`4eZZ)P$M;gJlf>0f z1aA_l_1VO=hhKjyFg&_VbRh;&o4AElT;$T1??0%zM2araDOZlHz;EXG>>W+evekh zKD<>d3>1SFLH5d8Mh#jhqE5#Fn&wRsvOLoylpAVyJn)F(_ikLu!<1Hgt|_z-_-oPj zlnC~7(r8KL5hIIzrBoO!@(UeB+}GPFkX7ZeeAh_QR28b1UFd~3tR59;@9?SAplusw z`{7|5%K2Q?(!zg-;Uzon;W7GluaYv!cY>LXAF>EvDl$2qzDXL9O}hl7I)%gc! zxt9GbrYRB@7)nLFeV3Y7>xlI1EQSk^2v zC6xz{K|&)Wl)dta26~W5NMqy3lPBTCrTK?VstJYfnV^F!jKg2+M`sB~a}>*ZD!>+? z)L}(U`)k3(D&}6$-2jR{V*stqlvYM2LC(P~CAFFpoh(x`@^)Y&MX>uU9Ium+$hg&( z>O!H$6ta1pRgQv{gq%Mr!ypMgV?>E3p}NprePD7oKcp3*1a%JE2*pOwcs*h#)6W4y zySZwn8Iu%d=Lq-fkUK2>;;6>aiiCH|L45afubJMN>b&Nv7xI8(c)jFPg)UdUDkwvb z*tlI|Z+vhg$>3)#le+)SfArCNo)=|MC6s|7^CMf9Z3z0O7$M^@!T=JYd7dD%5A`rq+6hlT-oLXF)WHQ8tlO{tqBvS2=}>^JD5wK& z*Yd!M*E1|-2w7oDqYMN7vwtWerm9g(#d*SAWiSq_d!mr1`RuDmyuu)uQAnvU*(d@Q zo@oH*!`BiE}N}?V7Nb(hsHCHjzgn|$a z$UoQg44r#8@pK#>KtuQVAexh8NV=P!;6T|=+-9&30&-2#V{R+`+9p2#{i~Nm!BtKjWut&ns( z>)pX)Z4+Wsb!%(u;DQI&`wZyHw`ao7Y%ltnFDmim7<-Z-&y50(Qw#Ysf5|k-Cyq5+ z+{#0_yjtn$1yw9h^Ef{fPc$Da{_2|ooqcaT;m>F+x%In{MOuh*_I zH`}zob(Y6n&R;lETRCcb`v&$vyYrwu*T>6q+2@3&gQx&-2?S5uL}3+_GsOAequxBw z8&F89#OGT(u#$D-QU+THFZhY)FprM-Q`85YSk=x z0WV+IKTkjao{2PS>$)a_M$7jcm`J83r)7X3ZPSR_$WWr;o!XxX{f&h$pC$AdM6qi zC}u93MffXaB^M^rl|Z^?Ug^mL9Mz?fXDf8CKHK70ENeJ_xG5CN-ZykNrpf0JGt~cl zzdtg@LL*vgeKPCd-r6iGd_F>AG*i$V3c z{{0UusZd^29@&bJ!+q$&lL!)DcA_!{bscRb9Z$kyB54}9%WF(ZPNR5&9aQdHaKA6< zBXC{bNg#2+0s1U50{zg+Tnn9vicb>QR}Y=$i4%mMeE_tdAil!OkglB=3GeW65eN$P z(cPMI;5->90(@Xq`$+e72k(IPaOy6;cf_UIgW)e`Y)~ z6ur=o^*T!;1);9KghE1;ka}oGcWB~IC6wl4ij;zR{7s*@&Dmwt7<@p1P+o+;Ae1_T zerSTjl6v^FeSMB*!iy1sN6ZHVKpaxTO7yY6&60M9wsgt?I7*ddIgXPe;(DJ{?^c2KiVz$(}x2ARFQhsmG1!J{4OgOQyM zh@1S$mg=V4bM2=46*qege3XWQa{lq1h9=0s{kC=uR@`D|PGsT~M@2J2%%094UoLcP zqNH*)$^QlXrFVN!+azbU9{K?5iUubTHvom`;s^&pa-hh2&zZ6W<;*67_`ymUV(PDN zUIjcfG*`JeL;3~w-XamG*X@Azc}f-nV|yON-wA0dQX}=TAijy$8XX|IPl;;n78!;gy&TxR{Zz%xRb%e6zxv_aE7Qfn9n@W0 zJXpJ)G?qr@VY7$uwg1q=OfMb)u3mw{4<4qmccLUPMIx{conTR20Z=s9Z;sM6PZ2hR zG`-ze20O^UWLEAvvxia(0X2}WI%L$FMp?9(D5#3Np-PT&A*ftKU}nRoL01B$`KNFI zPO;$(z4y5kuuvVbK2shm{+^RD_4}^gn($2ny3%4|c zTiRot=VyExSS?Z}{A-g@9J_ISLVUsI^;KPvb(-t(^52?t9`Gim@A zzT&jXJ86o)E2CNU9JYym7Qz3}`_~3wnl}NoM4b_Bbg2G*EXc#9B3^^!? zn(TvAT9eGjcy?Qh4D&{SuspDzCJlG}K>4~C3+Kn&IO+{xitJ(dqNk?G4@uLT{S^Q_ za#o|sya~D=3tE1%EOJf3vz(v`g6j`mf3okru8`bXdCw^^<_1fFrxhtnWv2A>%dC## z9(EBrxKD1eKCs=ExqCx5asPv+GlKCXDdk~2{y{OM?w(w*Hw3(T&P$nBO)|op$9xvd z#v@7Yv{NF4Q9NHFx?S4XoQffW@C+wTnH+u`jm2Ep@H_PP zKy)gx4=*#9%c)J7Y?cXJa8Wq)_We-Q`hgs-lMhilp|I$BoP^`)WnponweSwEye4N) zkuG-v%^LV$I?)$|Cb`{T5JRabXTd|`@W(xP%G~iX3h-H@3X)dJEVM-e`@u>FetIui z6Kx^FD<&oyKL*j&CUE^=Xv{ZNAa|#PCjXfU;XtPZ8L`_6&1SiRapg>0J@`4NBzggAItQ-Wk;KpxH0ZesoMD_iAQ0b* z5XX`ang^28nM zP^!yq@7lanSK};6J8&xxo`lD^KXRjxW(}Ty#{rM3Cr-LAas`GvsZQ zkuLx3t2X?zl@2oNp$*(x0f|LELifmO;uFnK=)eZ3Tst~|2L+QG+Q_rGq0Mzl%(&sW zKf|BHalzQyjo0*TM5j@!*jwO{MX$prW~f#xTgJ^T*3q92Kxl#Y7eK|mRhY5gyhI9lJl7EcrS#g+?!&mV*%QRw z*gA<2$4FYa0LolT1xR_bE=(@zgo`KwPztTRyqK8NWPS}%o8m8Px9XR= zi?ejuQtg{SoKZCO)nPOI(`U={rB$kG56}P2K^d0ek;O2=QC`51A7LM`TK0GZByrCT zRd{8p1c#1`;W#8T-_pSmQ15I~6eOV5SWiTXrbRDwa!Ce?`gjazms7`zyZ9|}? zJVQ_JhKHT1Sr2{iTq6yUd^qz8aDzbHr(@WqJAstJs$Hv=LG z-?!PqIEnX3+N$!=5=~%Ya|4)PeSdv zAUG?SfHaSo*x7}F`-QC~7N9KUdFB+Y#z^>YHsSlM&$-0;i`UzM|@zh?~_w?LRtBBbVZ4p zmusv4!y*M>v-M>rNLeb)U5EvvY2=s!Z zQ&S|&UiQb^V>mVGh3rgKh}?B^0OLP}V+$Yt2o;6cKw62*D@)v0p9^`d2>zeHH}ez~ zbBw0L=i(BtQWojj8<*XpasLV$N zB$Fr!MPS|(5i(LH(IhMgDE6=q)3|@#-MQkZJPAaP6j8~{?4>1cpqYBHnDbytCMZuP zU||r6o6sZD*Z+$gpskIc`- z{hO@cyI>h9?liI)0gwJniubq-xuf#->?UStMR5?0#iHcnBgYnSL>72uMh9d==0O~n zYXKaleI&qd^FdRbPLCu*$oa<$TM{}*qmPPCr_3Ab9{ zK9dRrQz0ERsBaAWWt5abdiKiO;CGu>V8=uW02za)aHn`Wxh`<5BZIpLzJ?4O3Xvz3 z+5=FVKv6Z7fsQnpC_4gEoVTrSk0+71fki-!Pp z&gKtOwcWDlr1&7c>6&q3*3>)__wQishMysksD~b*D+NG7Mgo1}5uxuX&eGf*KEmJr zm}D34`fy}9CaV+XEoH&-cbTR{8=dDB(V z5x2~+QT3#=ir5cVElh8dD!Uhn_y#1r6d>W9m4VtiaTGiO0vuxVyP+L-QBQ`|_+}>PblQ!_c18zkcfM2a?ifEl zKm4cPlH(%2^?IR(F3bnyB5iMz6k^1AZdLG0*uuo_zJ_}hrQXB`s{T}0d=78Vp6hHp z2^c5ec~RaycJAGKf%5JE0EkX}WjcCCN317hp;!D4x>vTmM$zpyOaI^sOO8hi{q zhHx5Ac+EcXW+x~41n|BbSK~&^D#)bnWt&2Px#Q5Rzd87#XALc|*2EtSeQR&QR{Zj0vmxUHquaBY-or~adB4 z_9S?~lU&FOv9bo^Pvg#ePARvfTfaBKu!@hd|M|xc6bT0fCB(?T%?TdJq-%`Zz6{~R z)SrFP{R{_|rw=&f#H&&fC8*Rknyacr-JaMX&6RWnv3wI8M-w|<12?#~8Y~~6Uot!= zEs-3{&+6EkOM1@$$LJE)g0SQBRsc5kQg}nIf$%|@`Yqwd^nzWif4wYLBCx6~|RBT};dg>kGUh6TQlaFASty_SLgBmxI6BjP2si23T| rF7P`xh~n{_GqNiX;QzNDQu17Qh^{?&fWK_j_Lo{)*qgsFBgFqdIa*rN literal 0 HcmV?d00001 diff --git a/src/qt/res/icons/s4c.xcf b/src/qt/res/icons/s4c.xcf new file mode 100644 index 0000000000000000000000000000000000000000..b5a61fc0215c8973b2a0d2842eba70c37f83e954 GIT binary patch literal 442649 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 literal 0 HcmV?d00001 From 22b0a96a65e50d7b7f493a9da3a2650b588aadfb Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 12 Oct 2014 12:33:49 +0100 Subject: [PATCH 111/555] gui: change the block explorer icon for a new style one --- src/qt/res/icons/blexp.png | Bin 1053 -> 24027 bytes src/qt/res/icons/blexp.xcf | Bin 0 -> 260034 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/qt/res/icons/blexp.xcf diff --git a/src/qt/res/icons/blexp.png b/src/qt/res/icons/blexp.png index 1838dad1640d7a008f9120c74ec692b32649a1be..a58e49201ef6898684ece767465029ebaa2ce75d 100644 GIT binary patch literal 24027 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 z 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 literal 1053 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≪%4 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 DIEWI> literal 0 HcmV?d00001 From 62a3c8c27044dd74ccbc5a9e4f3026a3ac46c2f8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 13 Oct 2014 19:54:43 -0600 Subject: [PATCH 112/555] minted instead of mined --- src/qt/transactiontablemodel.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 025fc12f8..df22737a6 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -360,6 +360,7 @@ QString TransactionTableModel::formatTxType(const TransactionRecord *wtx) const case TransactionRecord::SendToSelf: return tr("Payment to yourself"); case TransactionRecord::StakeMint: + return tr("Minted"); case TransactionRecord::Generated: return tr("Mined"); default: From 29e965ce628ec9f709d8ca99e97feab37388f329 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 14 Oct 2014 23:02:24 -0600 Subject: [PATCH 113/555] Add Custom Change Address to S4C --- src/bitcoinrpc.cpp | 2 +- src/qt/charitydialog.cpp | 140 +++++++++++++++--------------- src/qt/charitydialog.h | 4 +- src/qt/forms/charitydialog.ui | 158 ++++++++++++++++++++++++++++++---- src/qt/sendcoinsdialog.cpp | 2 +- src/qt/walletmodel.cpp | 23 ++++- src/qt/walletmodel.h | 5 +- src/rpcwallet.cpp | 26 ++++-- src/wallet.cpp | 23 +++-- src/wallet.h | 7 +- src/walletdb.cpp | 37 +++++--- src/walletdb.h | 9 +- 12 files changed, 312 insertions(+), 124 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 43ff4a61d..e2f59614e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1198,7 +1198,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); - if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); + if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); if (strMethod == "stakeforcharity" && n > 2) ConvertTo(params[2]); if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 5d723d061..4222ab802 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -7,6 +7,7 @@ #include "init.h" #include +#include StakeForCharityDialog::StakeForCharityDialog(QWidget *parent) : QWidget(parent), @@ -25,23 +26,39 @@ void StakeForCharityDialog::setModel(WalletModel *model) { this->model = model; - QString strAddress = model->getStakeForCharityAddress(); - QString strPer = QString::number(model->getStakeForCharityPercent()); + CBitcoinAddress strAddress; + CBitcoinAddress strChangeAddress; + int nPer; + int64 nMin; + int64 nMax; - if (!strAddress.isEmpty() && strPer.toInt() > 0 ) + model->getStakeForCharity(nPer, strAddress, strChangeAddress, nMin, nMax); + + if (strAddress.IsValid() && nPer > 0 ) { - ui->charityAddressEdit->setText(strAddress); - ui->charityPercentEdit->setText(strPer); + ui->charityAddressEdit->setText(strAddress.ToString().c_str()); + ui->charityPercentEdit->setText(QString::number(nPer)); + if (strChangeAddress.IsValid()) + ui->charityChangeAddressEdit->setText(strChangeAddress.ToString().c_str()); + if (nMin > 0 && nMin != MIN_TX_FEE) + ui->charityMinEdit->setText(QString::number(nMin/COIN)); + if (nMax > 0 && nMax != MAX_MONEY) + ui->charityMaxEdit->setText(QString::number(nMax/COIN)); ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); - ui->message->setText(tr("You are now saving to\n") + strAddress + tr(".")); + ui->message->setText(tr("You are now giving to\n") + strAddress.ToString().c_str() + tr(".")); } } void StakeForCharityDialog::setAddress(const QString &address) { - ui->charityAddressEdit->setText(address); - ui->charityAddressEdit->setFocus(); + setAddress(address, ui->charityAddressEdit); +} + +void StakeForCharityDialog::setAddress(const QString &address, QLineEdit *addrEdit) +{ + addrEdit->setText(address); + addrEdit->setFocus(); } void StakeForCharityDialog::on_addressBookButton_clicked() @@ -51,66 +68,20 @@ void StakeForCharityDialog::on_addressBookButton_clicked() AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); dlg.setModel(model->getAddressTableModel()); if (dlg.exec()) - { - setAddress(dlg.getReturnValue()); - } + setAddress(dlg.getReturnValue(), ui->charityAddressEdit); } } -/* -void StakeForCharityDialog::on_buttonBox_accepted() + +void StakeForCharityDialog::on_changeAddressBookButton_clicked() { - QMessageBox msgBox; - CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); - QString str = ui->charityPercentEdit->text(); - bool fIntConversion; - unsigned int nCharityPercent = str.toInt(&fIntConversion, 10); - - - if (!address.IsValid()) - { - msgBox.setText("Invalid HyperStake address"); - msgBox.exec(); - return; - } - if (nCharityPercent < 1) - { - msgBox.setText("Invalid parameter, expected valid percentage"); - msgBox.exec(); - return; - } - if (pwalletMain->IsLocked()) - { - msgBox.setText("Error: Please enter the wallet passphrase with walletpassphrase first."); - msgBox.exec(); - return; - } - - //Turn off if we set to zero. - //Future: After we allow multiple addresses, only turn of this address - if(nCharityPercent == 0) - { - pwalletMain->fStakeForCharity = false; - pwalletMain->StakeForCharityAddress = ""; - pwalletMain->nStakeForCharityPercent = 0; - - msgBox.setText("0 Percent Selected, void"); - msgBox.exec(); - return; - } - - - //For now max percentage is 50. - if (nCharityPercent > 50 ) - nCharityPercent = 50; - - pwalletMain->StakeForCharityAddress = address; - pwalletMain->nStakeForCharityPercent = nCharityPercent; - pwalletMain->fStakeForCharity = true; - - msgBox.setText("Stake For Charity Set"); - msgBox.exec(); - close(); -}*/ + if (model && model->getAddressTableModel()) + { + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); + dlg.setModel(model->getAddressTableModel()); + if (dlg.exec()) + setAddress(dlg.getReturnValue(), ui->charityChangeAddressEdit); + } +} void StakeForCharityDialog::on_enableButton_clicked() { @@ -125,13 +96,14 @@ void StakeForCharityDialog::on_enableButton_clicked() bool fValidConversion = false; int64 nMinAmount = MIN_TXOUT_AMOUNT; int64 nMaxAmount = MAX_MONEY; + CBitcoinAddress changeAddress = ""; CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); if (!address.IsValid()) { ui->message->setProperty("status", "error"); ui->message->style()->polish(ui->message); - ui->message->setText(tr("The entered address: ") + ui->charityAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); + ui->message->setText(tr("The entered address:\n") + ui->charityAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); ui->charityAddressEdit->setFocus(); return; } @@ -172,7 +144,37 @@ void StakeForCharityDialog::on_enableButton_clicked() } } - model->setStakeForCharity(true, nCharityPercent, address, nMinAmount, nMaxAmount); + if (nMinAmount >= nMaxAmount) + { + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); + ui->message->setText(tr("Min Amount > Max Amount, please re-enter.")); + ui->charityMinEdit->setFocus(); + return; + } + + if (!ui->charityChangeAddressEdit->text().isEmpty()) + { + changeAddress = ui->charityChangeAddressEdit->text().toStdString(); + if (!changeAddress.IsValid()) + { + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); + ui->message->setText(tr("The entered change address:\n") + ui->charityChangeAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); + ui->charityChangeAddressEdit->setFocus(); + return; + } + else if (!model->isMine(changeAddress)) + { + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); + ui->message->setText(tr("The entered change address:\n") + ui->charityChangeAddressEdit->text() + tr(" is not owned.\nPlease check the address and try again.")); + ui->charityChangeAddressEdit->setFocus(); + return; + } + } + + model->setStakeForCharity(true, nCharityPercent, address, changeAddress, nMinAmount, nMaxAmount); ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); ui->message->setText(tr("You are now sending to\n") + QString(address.ToString().c_str()) + tr(".")); @@ -183,11 +185,13 @@ void StakeForCharityDialog::on_disableButton_clicked() { int nCharityPercent = 0; CBitcoinAddress address = ""; + CBitcoinAddress changeAddress = ""; int64 nMinAmount = MIN_TXOUT_AMOUNT; int64 nMaxAmount = MAX_MONEY; - model->setStakeForCharity(false, nCharityPercent, address, nMinAmount, nMaxAmount); + model->setStakeForCharity(false, nCharityPercent, address, changeAddress, nMinAmount, nMaxAmount); ui->charityAddressEdit->clear(); + ui->charityChangeAddressEdit->clear(); ui->charityMaxEdit->clear(); ui->charityMinEdit->clear(); ui->charityPercentEdit->clear(); diff --git a/src/qt/charitydialog.h b/src/qt/charitydialog.h index f3e8344b1..0fc73c8f2 100644 --- a/src/qt/charitydialog.h +++ b/src/qt/charitydialog.h @@ -7,7 +7,7 @@ namespace Ui { class StakeForCharityDialog; } class WalletModel; - +class QLineEdit; class StakeForCharityDialog : public QWidget { Q_OBJECT @@ -18,10 +18,12 @@ class StakeForCharityDialog : public QWidget void setModel(WalletModel *model); void setAddress(const QString &address); + void setAddress(const QString &address, QLineEdit *addrEdit); private slots: void on_enableButton_clicked(); void on_disableButton_clicked(); void on_addressBookButton_clicked(); + void on_changeAddressBookButton_clicked(); private: Ui::StakeForCharityDialog *ui; diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index 36e86c0ec..00fc0e2d9 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -20,7 +20,7 @@ 20 - 150 + 110 131 20 @@ -35,9 +35,9 @@ - 20 - 190 - 571 + 110 + 150 + 481 21 @@ -54,7 +54,7 @@ 30 20 591 - 81 + 61 @@ -62,8 +62,7 @@ Stake For Charity allows you to automatically send up to 50% of your stake to another HyperStake address after it matures. - -Please enter percentage to give and HyperStake address to give to. Min and Max amount are optional. +Please enter percentage to give and HyperStake address to give to. Min and Max amount and change address are optional. Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop @@ -75,36 +74,36 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a - 250 - 150 - 131 + 230 + 110 + 151 20 - Enter whole numbers + - Enter Min Amount + Enter Min Amount (optional) - 490 - 150 - 131 + 460 + 110 + 151 20 - Enter whole numbers + - Enter Max Amount + Enter Max Amount (optional) @@ -129,6 +128,9 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a 23 + + + Check and turn on Stake For Charity @@ -153,6 +155,48 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a + + + 590 + 150 + 28 + 21 + + + + Choose an address from the address book + + + + + + + :/icons/address-book:/icons/address-book + + + Alt+A + + + false + + + + + + 110 + 190 + 481 + 21 + + + + Change address must be owned by you + + + Enter Change Address (optional) + + + 590 @@ -178,6 +222,86 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a false + + + + 50 + 90 + 61 + 20 + + + + Percentage of stake to send + + + Percentage: + + + + + + 270 + 90 + 61 + 16 + + + + Min amount to send + + + Min Amount: + + + + + + 500 + 90 + 71 + 20 + + + + Max amount to send + + + Max Amount: + + + + + + 20 + 150 + 91 + 16 + + + + Address to send portion of stake to + + + Charity Address: + + + + + + 20 + 190 + 81 + 16 + + + + The amount left over returned to you + + + Change Address: + + diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 6d4399300..5c2165c57 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -446,7 +446,7 @@ void SendCoinsDialog::updateDisplayUnit() } ui->lineEditCoinControlChange->setEnabled((state == Qt::Checked)); - ui->labelCoinControlChangeLabel->setEnabled((state == Qt::Checked)); + ui->labelCoinControlChangeLabel->setEnabled((state == Qt::Checked)); } // Coin Control: custom change address changed diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index b18d58e5c..74b77d1a9 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -192,7 +192,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QListCreateTransaction(vecSend, wtx, keyChange, nFeeRequired, coinControl); + bool fCreated = wallet->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, false, coinControl); if(!fCreated) { @@ -315,6 +315,16 @@ bool WalletModel::backupWallet(const QString &filename) return BackupWallet(*wallet, filename.toLocal8Bit().data()); } +void WalletModel::getStakeForCharity(int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, + CBitcoinAddress& strStakeForCharityChangeAddress, int64& nStakeForCharityMinAmout, int64& nStakeForCharityMaxAmount) +{ + nStakeForCharityPercent = wallet->nStakeForCharityPercent; + strStakeForCharityAddress = wallet->strStakeForCharityAddress; + strStakeForCharityChangeAddress = wallet->strStakeForCharityChangeAddress; + nStakeForCharityMinAmout = wallet->nStakeForCharityMin; + nStakeForCharityMaxAmount = wallet->nStakeForCharityMax; +} + int WalletModel::getStakeForCharityPercent() { return wallet->nStakeForCharityPercent; @@ -339,7 +349,7 @@ void WalletModel::setS4CNotificator(bool fSet) } void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - int64& nStakeForCharityMin, int64& nStakeForCharityMax) + CBitcoinAddress& strStakeForCharityChangeAddress, int64& nStakeForCharityMin, int64& nStakeForCharityMax) { // This function assumes the values were checked before being called if (wallet->fFileBacked) // Tranz add option to not save. @@ -347,7 +357,8 @@ void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharit CWalletDB walletdb(wallet->strWalletFile); if (fStakeForCharity) { walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); - walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent ); + walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent, + strStakeForCharityChangeAddress.ToString(), nStakeForCharityMin, nStakeForCharityMax); } else { walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); @@ -363,6 +374,7 @@ void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharit wallet->fStakeForCharity = fStakeForCharity; wallet->nStakeForCharityPercent = nStakeForCharityPercent; wallet->strStakeForCharityAddress = strStakeForCharityAddress; + wallet->strStakeForCharityChangeAddress = strStakeForCharityChangeAddress; wallet->nStakeForCharityMin = nStakeForCharityMin; wallet->nStakeForCharityMax = nStakeForCharityMax; } @@ -566,3 +578,8 @@ void WalletModel::UnlockContext::CopyFrom(const UnlockContext& rhs) { return; } + +bool WalletModel::isMine(const CBitcoinAddress &address) +{ + return IsMine(*wallet, address.Get()); +} \ No newline at end of file diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 1a8479cf7..370be5724 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -113,7 +113,9 @@ class WalletModel : public QObject bool getS4CNotificator(); void setS4CNotificator(bool fSet); void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - qint64& nStakeForCharityMin, qint64& nStakeForCharityMax); + CBitcoinAddress& strStakeForCharityChangeAddress, qint64& nStakeForCharityMinAmount, qint64& nStakeForCharityMaxAmount); + void getStakeForCharity(int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, CBitcoinAddress& strStakeForCharityChangeAddress, + qint64& nStakeForCharityMinAmount, qint64& nStakeForCharityMaxAmount); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext @@ -144,6 +146,7 @@ class WalletModel : public QObject void lockCoin(COutPoint& output); void unlockCoin(COutPoint& output); void listLockedCoins(std::vector& vOutpts); + bool isMine(const CBitcoinAddress &address); private: CWallet *wallet; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 08d792f5e..8bc3871de 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -339,12 +339,12 @@ Value getaccountaddress(const Array& params, bool fHelp) Value stakeforcharity(const Array ¶ms, bool fHelp) { - if (fHelp || params.size() < 2 || params.size() > 4) + if (fHelp || params.size() < 2 || params.size() > 5) throw runtime_error( - "stakeforcharity [min amount] [max amount]\n" + "stakeforcharity [Change Address] [min amount] [max amount]\n" "Gives a percentage of a found stake to a different address, after stake matures\n" "Percent is a whole number 1 to 50.\n" - "Min and Max Amount are optional\n" + "Change Address, Min and Max Amount are optional\n" "Set percentage to zero to turn off" + HelpRequiringPassphrase()); @@ -363,10 +363,18 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) int64 nMinAmount = MIN_TXOUT_AMOUNT; int64 nMaxAmount = MAX_MONEY; + // Optional Change Address + CBitcoinAddress changeAddress; + if (params.size() > 2) { + changeAddress = params[2].get_str(); + if (!changeAddress.IsValid()) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake change address"); + } + // Optional Min Amount - if (params.size() > 2) + if (params.size() > 3) { - int64 nAmount = AmountFromValue(params[2]); + int64 nAmount = AmountFromValue(params[3]); if (nAmount < MIN_TXOUT_AMOUNT) throw JSONRPCError(-101, "Send amount too small"); else @@ -374,9 +382,9 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) } // Optional Max Amount - if (params.size() > 3) + if (params.size() > 4) { - int64 nAmount = AmountFromValue(params[3]); + int64 nAmount = AmountFromValue(params[4]); if (nAmount < MIN_TXOUT_AMOUNT) throw JSONRPCError(-101, "Send amount too small"); else @@ -401,6 +409,7 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); pwalletMain->strStakeForCharityAddress = ""; + pwalletMain->strStakeForCharityChangeAddress = ""; return Value::null; } @@ -413,12 +422,13 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) pwalletMain->strStakeForCharityAddress = address; pwalletMain->nStakeForCharityPercent = nPer; + pwalletMain->strStakeForCharityChangeAddress = changeAddress; pwalletMain->fStakeForCharity = true; pwalletMain->nStakeForCharityMin = nMinAmount; pwalletMain->nStakeForCharityMax = nMaxAmount; if(fFileBacked) - walletdb.WriteStakeForCharity(address.ToString(), nPer); + walletdb.WriteStakeForCharity(address.ToString(), nPer, changeAddress.ToString(), nMinAmount, nMaxAmount); } return Value::null; diff --git a/src/wallet.cpp b/src/wallet.cpp index e36dbfb5a..9afbb0af9 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1266,7 +1266,7 @@ bool CWallet::SelectCoins(int64 nTargetValue, unsigned int nSpendTime, set >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl* coinControl) +bool CWallet::CreateTransaction(const vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C, const CCoinControl* coinControl) { int64 nValue = 0; BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) @@ -1335,10 +1335,15 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW // change transaction isn't always pay-to-bitcoin-address CScript scriptChange; - // coin control: send change to custom address - if (coinControl && !boost::get(&coinControl->destChange)) + // Stake For Charity: send change to custom address + if (fAllowS4C) { + if (strStakeForCharityChangeAddress.IsValid()) + scriptChange.SetDestination(strStakeForCharityChangeAddress.Get()); + } + // coin control: send change to custom address + else if (coinControl && !boost::get(&coinControl->destChange)) { scriptChange.SetDestination(coinControl->destChange); - + } // no coin control: send change to newly generated address else { @@ -1413,11 +1418,11 @@ bool CWallet::GetStakeWeightFromValue(const int64& nTime, const int64& nValue, u return true; } -bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl* coinControl) +bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C, const CCoinControl* coinControl) { vector< pair > vecSend; vecSend.push_back(make_pair(scriptPubKey, nValue)); - return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, coinControl); + return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, fAllowS4C, coinControl); } bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight) @@ -1818,7 +1823,7 @@ bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) -string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee, bool fAllowStakeForCharity) +string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee, bool fAllowS4C) { CReserveKey reservekey(this); int64 nFeeRequired; @@ -1830,14 +1835,14 @@ string CWallet::SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, return strError; } // stakeforcharity is the only allowable option to send coins when the UnlockMintOnly flag is set. - if ( fWalletUnlockMintOnly && !fAllowStakeForCharity ) + if ( fWalletUnlockMintOnly && !fAllowS4C ) { string strError = _("Error: Wallet unlocked for block minting only, unable to create transaction."); printf("SendMoney() : %s", strError.c_str()); return strError; } - if (!CreateTransaction(scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired)) + if (!CreateTransaction(scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired, fAllowS4C)) { string strError; if (nValue + nFeeRequired > GetBalance()) diff --git a/src/wallet.h b/src/wallet.h index bfdf0865f..78ee360a2 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -90,6 +90,7 @@ class CWallet : public CCryptoKeyStore int64 nStakeForCharityMin; int64 nStakeForCharityMax; CBitcoinAddress strStakeForCharityAddress; + CBitcoinAddress strStakeForCharityChangeAddress; bool fWalletUnlockMintOnly; int64 nAmountSelected; std::string strBestAddress; @@ -114,6 +115,7 @@ class CWallet : public CCryptoKeyStore fS4CNotificator = false; nStakeForCharityPercent = 0; strStakeForCharityAddress = ""; + strStakeForCharityChangeAddress = ""; nStakeForCharityMin = 0; nStakeForCharityMax = 0; fWalletUnlockMintOnly = false; @@ -134,6 +136,7 @@ class CWallet : public CCryptoKeyStore fS4CNotificator = false; nStakeForCharityPercent = 0; strStakeForCharityAddress = ""; + strStakeForCharityChangeAddress = ""; nStakeForCharityMin = MIN_TXOUT_AMOUNT; nStakeForCharityMax = MAX_MONEY; fWalletUnlockMintOnly = false; @@ -205,8 +208,8 @@ class CWallet : public CCryptoKeyStore int64 GetStake() const; int64 GetNewMint() const; bool StakeForCharity(); - bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); - bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, const CCoinControl *coinControl=NULL); + bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); + bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount); diff --git a/src/walletdb.cpp b/src/walletdb.cpp index c440b9aab..b923ce276 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -372,17 +372,32 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nOrderPosNext; } - else if (strType == "ats") - { - string strStakeForCharityAccount; - ssKey >> strStakeForCharityAccount; - if (CBitcoinAddress(strStakeForCharityAccount).IsValid()) - { - pwallet->fStakeForCharity = true; - pwallet->strStakeForCharityAddress = CBitcoinAddress(strStakeForCharityAccount).Get(); - ssValue >> pwallet->nStakeForCharityPercent; - } - } + else if (strType == "ats") // falsely names as autosavings, but for compat with older wallets keep using + { + string strS4CAccount; + ssKey >> strS4CAccount; + if (CBitcoinAddress(strS4CAccount).IsValid()) + { + pwallet->fStakeForCharity = true; + pwallet->strStakeForCharityAddress = CBitcoinAddress(strS4CAccount).Get(); + string strS4CChhangeAccount; + ssValue >> strS4CChhangeAccount; + if (CBitcoinAddress(strS4CChhangeAccount).IsValid()) + pwallet->strStakeForCharityChangeAddress = CBitcoinAddress(strS4CChhangeAccount).Get(); + ssValue >> pwallet->nStakeForCharityPercent; + } + + } + else if (strType == "ats2") + { + string strS4CAccount; + ssKey >> strS4CAccount; + if (CBitcoinAddress(strS4CAccount).IsValid()) + { + ssValue >> pwallet->nStakeForCharityMin; + ssValue >> pwallet->nStakeForCharityMax; + } + } } catch (...) { diff --git a/src/walletdb.h b/src/walletdb.h index 393f2c7c5..274eef8e1 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -145,16 +145,21 @@ class CWalletDB : public CDB return Write(std::string("minversion"), nVersion); } - bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent) + bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent, std::string strStakeForCharityChangeAddress, + int64 nStakeForCharityMinAmount, int64 nStakeForCharityMaxAmount) { nWalletDBUpdated++; - return Write(std::make_pair(std::string("ats"),strStakeForCharityAddress),nStakeForCharityPercent); + if (!Write(std::make_pair(std::string("ats"), strStakeForCharityAddress),std::make_pair(strStakeForCharityChangeAddress ,nStakeForCharityPercent))) + return false; + + return Write(std::make_pair(std::string("ats2"), strStakeForCharityAddress),std::make_pair(nStakeForCharityMinAmount ,nStakeForCharityMaxAmount)); } bool EraseStakeForCharity(std::string strStakeForCharityAddress) { nWalletDBUpdated++; return Erase(std::make_pair(std::string("ats"), strStakeForCharityAddress)); + return Erase(std::make_pair(std::string("ats2"), strStakeForCharityAddress)); } bool ReadAccount(const std::string& strAccount, CAccount& account); From 5175782595a1f5a828be6f94f1448aa834712f69 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 16 Oct 2014 19:43:58 +0200 Subject: [PATCH 114/555] Shorter tabs labels --- src/qt/locale/bitcoin_en.qm | Bin 74856 -> 74899 bytes src/qt/locale/bitcoin_en.ts | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/qt/locale/bitcoin_en.qm b/src/qt/locale/bitcoin_en.qm index 3b7d608a6787f38cec9cb05ac12c595ded4fd95f..c08f651dd4410c7163bac6cefc9a6afaf7e72c29 100644 GIT binary patch delta 4066 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 &Address Book - &Address Book + &Contacts + + + + &Stake For Charity + &S4C @@ -450,7 +455,7 @@ This product includes software developed by the OpenSSL Project for use in the O &Debug window - &Debug window + &Debug From b9b88f412400a7efffd0325a3f6dca5846abd491 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 16 Oct 2014 20:23:10 +0200 Subject: [PATCH 115/555] RaspberryPi sse2 flag removal condition --- HyperStake-qt.pro | 9 +++++++-- src/makefile.unix | 9 ++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 98cd2d704..e46a80136 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -116,8 +116,12 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { DEFINES += HAVE_BUILD_INFO } -QMAKE_CXXFLAGS += -msse2 -QMAKE_CFLAGS += -msse2 +*-g++-32 { + message("32 platform, adding -msse2 flag") + + QMAKE_CXXFLAGS += -msse2 + QMAKE_CFLAGS += -msse2 +} QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector # Input @@ -427,6 +431,7 @@ contains(RELEASE, 1) { } } + CONFIG(debug, debug|release) { DESTDIR = debug } else { diff --git a/src/makefile.unix b/src/makefile.unix index bd61b8d9d..368b752ea 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -6,6 +6,7 @@ USE_UPNP:=0 USE_IPV6:=1 LINK:=$(CXX) +ARCH:=$(system lscpu | head -n 1 | awk '{print $2}') DEFS=-DBOOST_SPIRIT_THREADSAFE @@ -87,13 +88,15 @@ LIBS+= \ # the source such overflowing a statically defined buffer. HARDENING+=-D_FORTIFY_SOURCE=2 # - - DEBUGFLAGS=-g +ifeq (${ARCH}, i686) + EXT_OPTIONS=-msse2 +endif + # CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. -xCXXFLAGS=-O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ +xCXXFLAGS=-O2 $(EXT_OPTIONS) -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) # LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only From 232801003f6114062e5e741a69ae4d8589f60a65 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 18 Oct 2014 16:56:02 -0600 Subject: [PATCH 116/555] Add Stake Calculator --- HyperStake-qt.pro | 3 + src/qt/bitcoingui.cpp | 15 ++ src/qt/bitcoingui.h | 3 + src/qt/calcdialog.cpp | 57 ++++++ src/qt/calcdialog.h | 28 +++ src/qt/forms/calcdialog.ui | 363 +++++++++++++++++++++++++++++++++++++ 6 files changed, 469 insertions(+) create mode 100644 src/qt/calcdialog.cpp create mode 100644 src/qt/calcdialog.h create mode 100644 src/qt/forms/calcdialog.ui diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index ca95d1c7d..b5bc5ab97 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -133,6 +133,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ + src/qt/calcdialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -227,6 +228,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ + src/qt/calcdialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -303,6 +305,7 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ + src/qt/forms/calcdialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ src/qt/forms/blockbrowser.ui \ diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index f8c62c839..9f71ce9fc 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -12,6 +12,7 @@ #include "optionsdialog.h" #include "aboutdialog.h" #include "charitydialog.h" +#include "calcdialog.h" #include "clientmodel.h" #include "walletmodel.h" #include "editaddressdialog.h" @@ -308,6 +309,10 @@ void BitcoinGUI::createActions() charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); tabGroup->addAction(charityAction); + calcAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake Calculator"), this); + calcAction->setToolTip(tr("Open Stake Calculator")); + calcAction->setMenuRole(QAction::AboutRole); + blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); blockAction->setStatusTip(tr("Explore the BlockChain")); blockAction->setToolTip(blockAction->statusTip()); @@ -362,6 +367,9 @@ void BitcoinGUI::createActions() connect(charityAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); connect(charityAction, SIGNAL(triggered()), this, SLOT(charityClicked())); + connect(calcAction, SIGNAL(triggered()), this, SLOT(showNormalIfMinimized())); + connect(calcAction, SIGNAL(triggered()), this, SLOT(calcClicked())); + connect(aboutQtAction, SIGNAL(triggered()), qApp, SLOT(aboutQt())); connect(optionsAction, SIGNAL(triggered()), this, SLOT(optionsClicked())); connect(toggleHideAction, SIGNAL(triggered()), this, SLOT(toggleHidden())); @@ -434,6 +442,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(checkWalletAction); settings->addAction(repairWalletAction); settings->addAction(charityAction); + settings->addAction(calcAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -1288,6 +1297,12 @@ void BitcoinGUI::charityClicked(QString addr) disconnect(exportAction, SIGNAL(triggered()), 0, 0); } +void BitcoinGUI::calcClicked() +{ + calcDialog dlg; + dlg.exec(); +} + /* zeewolf: Hot swappable wallet themes */ void BitcoinGUI::loadTheme(QString theme) { diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index d54df4bb6..56cba6865 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -107,6 +107,7 @@ class BitcoinGUI : public QMainWindow QAction *connectionIconAction; QAction *stakingIconAction; QAction *charityAction; + QAction *calcAction; @@ -191,6 +192,8 @@ private slots: void optionsClicked(); /** Show about dialog */ void aboutClicked(); + /** Show Stake Calculator Dialog */ + void calcClicked(); #ifndef Q_OS_MAC /** Handle tray icon clicked */ void trayIconActivated(QSystemTrayIcon::ActivationReason reason); diff --git a/src/qt/calcdialog.cpp b/src/qt/calcdialog.cpp new file mode 100644 index 000000000..dec42f708 --- /dev/null +++ b/src/qt/calcdialog.cpp @@ -0,0 +1,57 @@ +#include "calcdialog.h" +#include "ui_calcdialog.h" + +#include "clientmodel.h" +#include "notificator.h" +#include "version.h" + +#include "wallet.h" +#include "walletdb.h" +#include "main.h" +#include "init.h" + +#include + +calcDialog::calcDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::calcDialog) +{ + ui->setupUi(this); + + connect(ui->pushButton, SIGNAL(clicked()), this, SLOT(pushButtonClicked())); +} + +calcDialog::~calcDialog() +{ + delete ui; +} + +void calcDialog::setModel(ClientModel *model) +{ + +} + + +void calcDialog::pushButtonClicked() +{ + QString strUserSize = ui->blockSizeEdit->text(); + double dUserBlock = strUserSize.toDouble(); + double dMax = 1000; + double dReward9 = qMin(dUserBlock * 7.5 / 365 * 9, dMax); + double dReward12 = qMin(dUserBlock * 7.5 / 365 * 12, dMax); + double dReward15 = qMin(dUserBlock * 7.5 / 365 * 15, dMax); + double dReward20 = qMin(dUserBlock * 7.5 / 365 * 20, dMax); + double dReward30 = qMin(dUserBlock * 7.5 / 365 * 30, dMax); + + + ui->day9Result->setText(QString::number(dReward9)); + ui->day12Result->setText(QString::number(dReward12)); + ui->day15Result->setText(QString::number(dReward15)); + ui->day20Result->setText(QString::number(dReward20)); + ui->day30Result->setText(QString::number(dReward30)); +} + +void calcDialog::on_buttonBox_accepted() +{ + close(); +} diff --git a/src/qt/calcdialog.h b/src/qt/calcdialog.h new file mode 100644 index 000000000..def39e6e4 --- /dev/null +++ b/src/qt/calcdialog.h @@ -0,0 +1,28 @@ +#ifndef CALCDIALOG_H +#define CALCDIALOG_H + +#include + +namespace Ui { +class calcDialog; +} +class ClientModel; + +class calcDialog : public QDialog +{ + Q_OBJECT + +public: + explicit calcDialog(QWidget *parent = 0); + ~calcDialog(); + + void setModel(ClientModel *model); +private slots: + void on_buttonBox_accepted(); + void pushButtonClicked(); + +private: + Ui::calcDialog *ui; +}; + +#endif // CALCDIALOG_H \ No newline at end of file diff --git a/src/qt/forms/calcdialog.ui b/src/qt/forms/calcdialog.ui new file mode 100644 index 000000000..4c7961b9a --- /dev/null +++ b/src/qt/forms/calcdialog.ui @@ -0,0 +1,363 @@ + + + calcDialog + + + + 0 + 0 + 250 + 300 + + + + Stake Calculator + + + + + 0 + 250 + 161 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Ok + + + true + + + + + + 40 + 80 + 171 + 20 + + + + Enter Block Size + + + + + + 0 + 10 + 251 + 31 + + + + + 16 + + + + Stake Calculator + + + false + + + Qt::AlignCenter + + + + + + 35 + 42 + 181 + 41 + + + + 1 + + + Calculate Optimal Block Sizes by Seeing Potential Reward + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 40 + 130 + 41 + 21 + + + + 1 + + + 9 Days: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 100 + 130 + 41 + 21 + + + + 1 + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 40 + 100 + 81 + 23 + + + + Calculate + + + + + + 40 + 150 + 51 + 21 + + + + 1 + + + 12 Days: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 40 + 170 + 51 + 21 + + + + 1 + + + 15 Days: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 40 + 190 + 51 + 21 + + + + 1 + + + 20 Days: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 100 + 150 + 41 + 21 + + + + 1 + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 100 + 170 + 41 + 21 + + + + 1 + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 100 + 190 + 41 + 21 + + + + 1 + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 40 + 210 + 51 + 21 + + + + 1 + + + 30 Days: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + 100 + 210 + 41 + 21 + + + + 1 + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + + buttonBox + accepted() + calcDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + calcDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + From 4b692fa9e90bac4718629cdc666e6c97071b949b Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 19 Oct 2014 18:30:09 +0100 Subject: [PATCH 117/555] coincontroldialog: adapt the weight adjectives to typical weights We have more blocks per second that bitcoin, and larger amount of coins per output, so pretty much all blocks end up with "highest" in short order. Move the goalposts by 100 so more of the range of adjectives get used, so they become actually purpoesful. --- src/qt/coincontroldialog.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 8173030c3..8a8dcc4d8 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -510,17 +510,17 @@ void CoinControlDialog::viewItemChanged(QTreeWidgetItem* item, int column) // helper function, return human readable label for priority number QString CoinControlDialog::getPriorityLabel(double dPriority) { - if (dPriority > 576000ULL) // at least medium, this number is from AllowFree(), the other thresholds are kinda random + if (dPriority > 57600000ULL) // at least medium, this number is from AllowFree(), the other thresholds are kinda random { - if (dPriority > 5760000000ULL) return tr("highest"); - else if (dPriority > 576000000ULL) return tr("high"); - else if (dPriority > 57600000ULL) return tr("medium-high"); + if (dPriority > 576000000000ULL) return tr("highest"); + else if (dPriority > 57600000000ULL) return tr("high"); + else if (dPriority > 5760000000ULL) return tr("medium-high"); else return tr("medium"); } else { - if (dPriority > 5760ULL) return tr("low-medium"); - else if (dPriority > 58ULL) return tr("low"); + if (dPriority > 576000ULL) return tr("low-medium"); + else if (dPriority > 5760ULL) return tr("low"); else return tr("lowest"); } } From 4e0259f679dc84ba64c840563a34837635aa8d15 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 19 Oct 2014 18:46:42 +0100 Subject: [PATCH 118/555] transactionview: remove Mined from the transaction selection list Hyperstake does not mine coins, only mints, so this type was useless. --- src/qt/transactionview.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index f4e2eb78f..6cbbc6f1e 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -75,7 +75,6 @@ TransactionView::TransactionView(QWidget *parent) : TransactionFilterProxy::TYPE(TransactionRecord::SendToOther)); typeWidget->addItem(tr("To yourself"), TransactionFilterProxy::TYPE(TransactionRecord::SendToSelf)); typeWidget->addItem(tr("Minted"), TransactionFilterProxy::TYPE(TransactionRecord::StakeMint)); - typeWidget->addItem(tr("Mined"), TransactionFilterProxy::TYPE(TransactionRecord::Generated)); typeWidget->addItem(tr("Other"), TransactionFilterProxy::TYPE(TransactionRecord::Other)); hlayout->addWidget(typeWidget); From bb566dd68762e2f3beabc42097f2acae2cf8bdb8 Mon Sep 17 00:00:00 2001 From: billotronic Date: Sun, 19 Oct 2014 15:46:13 -0500 Subject: [PATCH 119/555] updated docs --- doc/README | 38 +++++++++++++++++++++++--------------- doc/README_windows.txt | 37 ++++++++++++++++++++----------------- doc/build-unix.txt | 33 ++++++++++----------------------- 3 files changed, 53 insertions(+), 55 deletions(-) diff --git a/doc/README b/doc/README index 8685a68a6..e09138d5a 100644 --- a/doc/README +++ b/doc/README @@ -1,10 +1,10 @@ -Copyright (c) 2013-2014 TruckCoin Developers -TruckCoin 0.5.0 BETA +HyperStake -Copyright (c) 2013-2014 TruckCoin Developers +Copyright (c) 2014 HyperStake Developers +Copyright (c) 2013-2014 hyperstake Developers Copyright (c) 2013 NovaCoin Developers Copyright (c) 2011-2012 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying @@ -16,37 +16,45 @@ cryptographic software written by Eric Young (eay@cryptsoft.com). Intro ----- -TruckCoin is a free open source project derived from NovaCoin, with -the goal of providing a long-term energy-efficient X11-based crypto-currency. +HyperStake is a free open source project derived from NovaCoin, with +the goal of providing a long-term energy-efficient Proof of Stake based crypto-currency. Built on the foundation of Bitcoin and NovaCoin, innovations such as proof-of-stake help further advance the field of crypto-currency. Setup ----- Unpack the files into a directory and run: - bin/32/truckcoind (headless, 32-bit) - bin/64/truckcoind (headless, 64-bit) + bin/32/hyperstaked (headless, 32-bit) + bin/64/hyperstaked (headless, 64-bit) The software automatically finds other nodes to connect to. You can enable Universal Plug and Play (UPnP) with your router/firewall or forward port 18775 (TCP) to your computer so you can receive -incoming connections. Truckcoin works without incoming connections, -but allowing incoming connections helps the Truckcoin network. +incoming connections. hyperstake works without incoming connections, +but allowing incoming connections helps the hyperstake network. Upgrade ------- All you existing coins/transactions should be intact with the upgrade. To upgrade first backup wallet -truckcoind backupwallet -Then shutdown truckcoind by -truckcoind stop -Start up the new truckcoind. +hyperstaked backupwallet +Then shutdown hyperstaked by +hyperstaked stop +Start up the new hyperstaked. -See the TruckCoin site: - http://truckcoin.org/ +See the hyperstake site: + http://hyperstake.com/ for help and more information. +### Wallet themes + +| HyperBlue | PoloniexNight | PoloniexDay | +| ------------- | ------------- | ------------- | +| [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme.png) | + + + diff --git a/doc/README_windows.txt b/doc/README_windows.txt index a55381ef6..c67ca7e7c 100644 --- a/doc/README_windows.txt +++ b/doc/README_windows.txt @@ -1,10 +1,7 @@ -Copyright (c) 2013-2014 TruckCoin Developers +HyperStake - -TruckCoin 0.5.0 BETA - -Copyright (c) 2013-2014 TruckCoin Developers +Copyright (c) 2014 HyperStake Developers Copyright (c) 2013 NovaCoin Developers Copyright (c) 2011-2012 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying @@ -16,7 +13,7 @@ cryptographic software written by Eric Young (eay@cryptsoft.com). Intro ----- -TruckCoin is a free open source project derived from NovaCoin, with +HyperStake is a free open source project derived from NovaCoin, with the goal of providing a long-term energy-efficient X11-based crypto-currency. Built on the foundation of Bitcoin and NovaCoin, innovations such as proof-of-stake help further advance the field of crypto-currency. @@ -25,9 +22,9 @@ Setup ----- After completing windows setup then run windows command line (cmd) cd daemon - truckcoind -You would need to create a configuration file truckcoin.conf in the default -wallet directory. Grant access to truckcoind.exe in anti-virus and firewall + hyperstaked + +Grant access to hyperstaked.exe in anti-virus and firewall applications if necessary. The software automatically finds other nodes to connect to. You can @@ -35,20 +32,26 @@ enable Universal Plug and Play (UPnP) with your router/firewall or forward port 18775 (TCP) to your computer so you can receive -incoming connections. TruckCoin works without incoming connections, -but allowing incoming connections helps the TruckCoin network. +incoming connections. HyperStake works without incoming connections, +but allowing incoming connections helps the HyperStake network. Upgrade ------- All you existing coins/transactions should be intact with the upgrade. To upgrade first backup wallet -truckcoind backupwallet -Then shutdown truckcoind by -truckcoind stop -Start up the new truckcoind. +hyperstaked backupwallet +Then shutdown hyperstaked by +hyperstaked stop +Start up the new hyperstaked. + + +See the HyperStake site: + + http://hyperstake.com + +or Wikia + http://hyperstake.wikia.com/wiki/HyperStake_Wiki -See the X11Coin site: - http://truckcoin.org/ for help and more information. diff --git a/doc/build-unix.txt b/doc/build-unix.txt index c0c8a1afe..e07d8caef 100644 --- a/doc/build-unix.txt +++ b/doc/build-unix.txt @@ -1,3 +1,5 @@ +Copyright (c) 2014 HyperStake Developers +Copyright (c) 2013-2014 hyperstake Developers Copyright (c) 2009-2012 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying file license.txt or http://www.opensource.org/licenses/mit-license.php. @@ -14,10 +16,10 @@ To Build -------- cd src/ -make -f makefile.unix # Headless bitcoin +make -f makefile.unix # Headless HyperStake -See readme-qt.rst for instructions on building Bitcoin QT, -the graphical bitcoin. +See readme-qt.rst for instructions on building HyperStake QT, +the graphical HyperStake client. Dependencies ------------ @@ -72,24 +74,9 @@ sudo apt-get install libqrencode-dev If using Boost 1.37, append -mt to the boost libraries in the makefile. -Dependency Build Instructions: Gentoo -------------------------------------- - -Note: If you just want to install bitcoind on Gentoo, you can add the Bitcoin - overlay and use your package manager: - layman -a bitcoin && emerge bitcoind - -emerge -av1 --noreplace boost glib openssl sys-libs/db:4.8 - -Take the following steps to build (no UPnP support): - cd ${BITCOIN_DIR}/src - make -f makefile.unix USE_UPNP= BDB_INCLUDE_PATH='/usr/include/db4.8' - strip bitcoind - - Notes ----- -The release is built with GCC and then "strip bitcoind" to strip the debug +The release is built with GCC and then "strip hyperstaked" to strip the debug symbols, which reduces the executable size by about 90%. @@ -119,7 +106,7 @@ sudo su Security -------- -To help make your bitcoin installation more secure by making certain attacks impossible to +To help make your HyperStake installation more secure by making certain attacks impossible to exploit even if a vulnerability is found, you can take the following measures: * Position Independent Executable @@ -136,7 +123,7 @@ exploit even if a vulnerability is found, you can take the following measures: make -f makefile.unix ... -e PIE=1 To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./bitcoin + scanelf -e ./hyperstake The output should contain: TYPE @@ -144,13 +131,13 @@ exploit even if a vulnerability is found, you can take the following measures: * Non-executable Stack If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, bitcoin should be built with a non-executable stack + vulnerable buffers are found. By default, HyperStake should be built with a non-executable stack but if one of the libraries it uses asks for an executable stack or someone makes a mistake and uses a compiler extension which requires an executable stack, it will silently build an executable without the non-executable stack protection. To verify that the stack is non-executable after compiling use: - scanelf -e ./bitcoin + scanelf -e ./hyperstake the output should contain: STK/REL/PTL From 7e3b671cbe9c7058fbcfcddf33c2a3a190af4844 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 19 Oct 2014 15:52:54 -0600 Subject: [PATCH 120/555] stake estimate is a range --- src/qt/bitcoingui.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 9f71ce9fc..3d21d3948 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1217,6 +1217,7 @@ void BitcoinGUI::updateMintingIcon() uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); + if(nEstimateDays > 1) { nWeight = qMax(nAmount, nWeight); @@ -1227,29 +1228,31 @@ void BitcoinGUI::updateMintingIcon() else nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; } - + + uint64 nRangeLow = nEstimateTime; + uint64 nRangeHigh = nEstimateTime * 1.5; QString text; if (nEstimateTime < 60) { - text = tr("%n second(s)", "", nEstimateTime); + text = tr("%1 - %2 seconds").arg(nRangeLow).arg(nRangeHigh); } else if (nEstimateTime < 60*60) { - text = tr("%n minute(s)", "", nEstimateTime/60); + text = tr("%1 - %2 minutes").arg(nRangeLow / 60).arg(nRangeHigh / 60); } else if (nEstimateTime < 24*60*60) { - text = tr("%n hour(s)", "", nEstimateTime/(60*60)); + text = tr("%1 - %2 hours").arg(nRangeLow / (60*60)).arg(nRangeHigh / (60*60)); } else { - text = tr("%n day(s)", "", nEstimateTime/(60*60*24)); + text = tr("%1 - %2 days").arg(nRangeLow / (60*60*24)).arg(nRangeHigh / (60*60*24)); } labelMintingIcon->setMovie(miningIconMovie); miningIconMovie->start(); labelMintingIcon->setEnabled(true); - labelMintingIcon->setToolTip(tr("Minting.
        Your weight is %1.
        Network weight is %2.
        Estimated time to earn reward is %3.
        S4C %: %4
        S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Minting.
        Your weight is %1.
        Network weight is %2.
        Estimated next stake in %3.
        S4C %: %4
        S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); } else { From 2402cf8da2b69cd049523d39c705fb7597585661 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 19 Oct 2014 22:10:49 -0600 Subject: [PATCH 121/555] Add stake time estimate to CC & reduce decimals --- src/qt/bitcoinunits.cpp | 2 +- src/qt/coincontroldialog.cpp | 27 ++++++++++++++++++++++++--- src/qt/coincontroldialog.h | 1 + src/qt/forms/coincontroldialog.ui | 6 +++++- 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 92511b1e2..9349ccb44 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -127,7 +127,7 @@ QString BitcoinUnits::formatAge(int unit, qint64 n, bool fPlus) QString remainder_str = QString::number(remainder).rightJustified(num_decimals, '0'); // Right-trim excess zeros after the decimal point - int nTrim = 3; + int nTrim = 4; remainder_str.chop(nTrim); diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 8a8dcc4d8..989cbe518 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -8,6 +8,7 @@ #include "optionsmodel.h" #include "coincontrol.h" #include "qcomboboxfiltercoins.h" +#include "bitcoinrpc.h" #include #include @@ -116,10 +117,11 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : ui->treeWidget->setColumnWidth(COLUMN_AMOUNT, 100); ui->treeWidget->setColumnWidth(COLUMN_CONFIRMATIONS, 85); ui->treeWidget->setColumnWidth(COLUMN_AGE, 55); - ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 100); + ui->treeWidget->setColumnWidth(COLUMN_POTENTIALSTAKE, 90); + ui->treeWidget->setColumnWidth(COLUMN_TIMEESTIMATE, 110); ui->treeWidget->setColumnWidth(COLUMN_WEIGHT, 70); ui->treeWidget->setColumnWidth(COLUMN_LABEL, 85); - ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 150); + ui->treeWidget->setColumnWidth(COLUMN_ADDRESS, 125); ui->treeWidget->setColumnWidth(COLUMN_DATE, 110); ui->treeWidget->setColumnWidth(COLUMN_PRIORITY, 100); ui->treeWidget->setColumnHidden(COLUMN_AGE_INT64, true); @@ -763,6 +765,7 @@ void CoinControlDialog::updateView() uint64 nPotentialStakeSum = 0; GetLastBlockIndex(pindexBest, false); int64 nBestHeight = pindexBest->nHeight; + uint64 nNetworkWeight = GetPoSKernelPS(); BOOST_FOREACH(const COutput& out, coins.second) { @@ -843,7 +846,8 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nTxWeight), 8, " ")); // Age - int64 age = COIN * (GetTime() - nTime) / (1440 * 60); + uint64 nAge = (GetTime() - nTime); + int64 age = COIN * nAge / (1440 * 60); itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); @@ -855,6 +859,23 @@ void CoinControlDialog::updateView() // Potential Stake Sum for Tree View nPotentialStakeSum += nPotentialStake / COIN; + // Estimated Stake Time + uint64 nMin = 1; + uint64 nBlockSize = out.tx->vout[out.i].nValue / 1000000; + nBlockSize = qMax(nBlockSize, nMin); + uint64 nTimeToMaturity = 0; + uint64 nBlockWeight = qMax(nTxWeight, nBlockSize); + double dAge = nAge; + if (760320 - dAge >= 0 ) // 760320 seconds is 8.8 days + nTimeToMaturity = (760320 - nAge); + else + nTimeToMaturity = 0; + uint64 nAccuracyAdjustment = 3; // this is a manual adjustment in an attempt to make staking estimate more accurate + uint64 nEstimateTime = 90 * nNetworkWeight / nBlockWeight / nAccuracyAdjustment; // 90 seconds is block target + uint64 nMax = 999 * COIN; // qmin cannot compar int64, so convert to uint64 prior + nEstimateTime = qMin((nEstimateTime + nTimeToMaturity) * COIN / (60*60*24), nMax); // multiply by coin to use built in formatting + itemOutput->setText(COLUMN_TIMEESTIMATE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nEstimateTime), 15, " ")); + // transaction hash uint256 txhash = out.tx->GetHash(); itemOutput->setText(COLUMN_TXHASH, txhash.GetHex().c_str()); diff --git a/src/qt/coincontroldialog.h b/src/qt/coincontroldialog.h index 29edd755c..dac2ac2f0 100644 --- a/src/qt/coincontroldialog.h +++ b/src/qt/coincontroldialog.h @@ -56,6 +56,7 @@ class CoinControlDialog : public QDialog COLUMN_CONFIRMATIONS, COLUMN_AGE, COLUMN_POTENTIALSTAKE, + COLUMN_TIMEESTIMATE, COLUMN_WEIGHT, COLUMN_LABEL, COLUMN_ADDRESS, diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 90441a3ba..847209cea 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -520,7 +520,11 @@ Potential Stake /** potential stake **/ - + + + Days to Stake (est.) /** stake time estimate **/ + + Weight /** weight **/ From 499f89fb13ae1bda626ece2069d88949ba5f1483 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Mon, 20 Oct 2014 09:26:30 +0100 Subject: [PATCH 122/555] coincontrol: fix sorting of 1000 estimated stake --- src/qt/coincontroldialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 989cbe518..c8c93d2ab 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -854,7 +854,7 @@ void CoinControlDialog::updateView() // Potential Stake int64 nPotentialStake = min((7.5 / 365 * age * out.tx->vout[out.i].nValue), double(1000 * COIN * COIN)); //min of the max reward or the stake rate itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN), 15, " ")); - itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 15, " ")); + itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 16, " ")); // Potential Stake Sum for Tree View nPotentialStakeSum += nPotentialStake / COIN; From 068bb9bae9550ff19096e2920430256c12f5d753 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 16 Oct 2014 19:43:58 +0200 Subject: [PATCH 123/555] Shorter tabs labels --- src/qt/locale/bitcoin_en.qm | Bin 74856 -> 74899 bytes src/qt/locale/bitcoin_en.ts | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/qt/locale/bitcoin_en.qm b/src/qt/locale/bitcoin_en.qm index 3b7d608a6787f38cec9cb05ac12c595ded4fd95f..c08f651dd4410c7163bac6cefc9a6afaf7e72c29 100644 GIT binary patch delta 4066 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 &Address Book - &Address Book + &Contacts +
        + + + &Stake For Charity + &S4C @@ -450,7 +455,7 @@ This product includes software developed by the OpenSSL Project for use in the O &Debug window - &Debug window + &Debug From 82c54668d83ea169c33ec1c2bbca5212348bec3f Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 16 Oct 2014 20:23:10 +0200 Subject: [PATCH 124/555] RaspberryPi sse2 flag removal condition --- HyperStake-qt.pro | 9 +++++++-- src/makefile.unix | 9 ++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index b5bc5ab97..ff85d51fa 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -117,8 +117,12 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { DEFINES += HAVE_BUILD_INFO } -QMAKE_CXXFLAGS += -msse2 -QMAKE_CFLAGS += -msse2 +*-g++-32 { + message("32 platform, adding -msse2 flag") + + QMAKE_CXXFLAGS += -msse2 + QMAKE_CFLAGS += -msse2 +} QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector # Input @@ -431,6 +435,7 @@ contains(RELEASE, 1) { } } + CONFIG(debug, debug|release) { DESTDIR = debug } else { diff --git a/src/makefile.unix b/src/makefile.unix index bd61b8d9d..368b752ea 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -6,6 +6,7 @@ USE_UPNP:=0 USE_IPV6:=1 LINK:=$(CXX) +ARCH:=$(system lscpu | head -n 1 | awk '{print $2}') DEFS=-DBOOST_SPIRIT_THREADSAFE @@ -87,13 +88,15 @@ LIBS+= \ # the source such overflowing a statically defined buffer. HARDENING+=-D_FORTIFY_SOURCE=2 # - - DEBUGFLAGS=-g +ifeq (${ARCH}, i686) + EXT_OPTIONS=-msse2 +endif + # CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. -xCXXFLAGS=-O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ +xCXXFLAGS=-O2 $(EXT_OPTIONS) -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) # LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only From d5bdac465a2cfe9cba3d41a90c6e9ff8fd1eb2f2 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Sun, 19 Oct 2014 11:07:59 +0200 Subject: [PATCH 125/555] Better SSE2 detection in makefile - detection of sse2 based on cpu flags - removal of HyperStake-qt-linux.pro as it's the same as HyperStake-qt.pro now --- HyperStake-qt-linux.pro | 441 ---------------------------------------- HyperStake-qt.pro | 99 +++++---- src/makefile.unix | 4 +- 3 files changed, 51 insertions(+), 493 deletions(-) delete mode 100644 HyperStake-qt-linux.pro diff --git a/HyperStake-qt-linux.pro b/HyperStake-qt-linux.pro deleted file mode 100644 index ca95d1c7d..000000000 --- a/HyperStake-qt-linux.pro +++ /dev/null @@ -1,441 +0,0 @@ -TEMPLATE = app -TARGET = HyperStake-qt -VERSION = 0.7.2 -INCLUDEPATH += src src/json src/qt -DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES -CONFIG += no_include_pwd -CONFIG += static -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -QT += core gui xml -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -win32{ -#uncomment the following section to enable building on windows: -windows:LIBS += -lshlwapi -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) -LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 -LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 -BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 -BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 -BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib -BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix -BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix -OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include -OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g -MINIUPNPC_LIB_PATH=C:/deps/miniupnpc -MINIUPNPC_INCLUDE_PATH=c:/deps -QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 -QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs -} - -OBJECTS_DIR = build -MOC_DIR = build -UI_DIR = build - -# use: qmake "RELEASE=1" -contains(RELEASE, 1) { - # Mac: compile for maximum compatibility (10.5, 32-bit) - macx:QMAKE_CXXFLAGS += -mmacosx-version-min=10.5 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk - - !windows:!macx { - # Linux: static link - LIBS += -Wl,-Bstatic - } -} - -!win32 { -# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection -QMAKE_CXXFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 -QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 -# We need to exclude this for Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! -# This can be enabled for Windows, when we switch to MinGW >= 4.4.x. -} -# for extra security on Windows: enable ASLR and DEP via GCC linker flags -win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static - -# use: qmake "USE_QRCODE=1" -# libqrencode (http://fukuchi.org/works/qrencode/index.en.html) must be installed for support -contains(USE_QRCODE, 1) { - message(Building with QRCode support) - DEFINES += USE_QRCODE - LIBS += -lqrencode -} - -# use: qmake "USE_UPNP=1" ( enabled by default; default) -# or: qmake "USE_UPNP=0" (disabled by default) -# or: qmake "USE_UPNP=-" (not supported) -# miniupnpc (http://miniupnp.free.fr/files/) must be installed for support -contains(USE_UPNP, -) { - message(Building without UPNP support) -} else { - message(Building with UPNP support) - count(USE_UPNP, 0) { - USE_UPNP=1 - } - DEFINES += USE_UPNP=$$USE_UPNP STATICLIB - INCLUDEPATH += $$MINIUPNPC_INCLUDE_PATH - LIBS += $$join(MINIUPNPC_LIB_PATH,,-L,) -lminiupnpc - win32:LIBS += -liphlpapi -} - - -# use: qmake "USE_DBUS=1" -contains(USE_DBUS, 1) { - message(Building with DBUS (Freedesktop notifications) support) - DEFINES += USE_DBUS - QT += dbus -} - -# use: qmake "USE_IPV6=1" ( enabled by default; default) -# or: qmake "USE_IPV6=0" (disabled by default) -# or: qmake "USE_IPV6=-" (not supported) -contains(USE_IPV6, -) { - message(Building without IPv6 support) -} else { - message(Building with IPv6 support) - count(USE_IPV6, 0) { - USE_IPV6=1 - } - DEFINES += USE_IPV6=$$USE_IPV6 -} - -contains(BITCOIN_NEED_QT_PLUGINS, 1) { - DEFINES += BITCOIN_NEED_QT_PLUGINS - QTPLUGIN += qcncodecs qjpcodecs qtwcodecs qkrcodecs qtaccessiblewidgets -} - - -# regenerate src/build.h -!windows|contains(USE_BUILD_INFO, 1) { - genbuild.depends = FORCE - genbuild.commands = cd $$PWD; /bin/sh share/genbuild.sh $$OUT_PWD/build/build.h - genbuild.target = $$OUT_PWD/build/build.h - PRE_TARGETDEPS += $$OUT_PWD/build/build.h - QMAKE_EXTRA_TARGETS += genbuild - DEFINES += HAVE_BUILD_INFO -} - -QMAKE_CXXFLAGS += -msse2 -QMAKE_CFLAGS += -msse2 -QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector - -# Input -DEPENDPATH += src src/json src/qt -HEADERS += src/qt/bitcoingui.h \ - src/qt/transactiontablemodel.h \ - src/qt/addresstablemodel.h \ - src/qt/optionsdialog.h \ - src/qt/coincontroldialog.h \ - src/qt/coincontroltreewidget.h \ - src/qt/sendcoinsdialog.h \ - src/qt/addressbookpage.h \ - src/qt/signverifymessagedialog.h \ - src/qt/aboutdialog.h \ - src/qt/editaddressdialog.h \ - src/qt/bitcoinaddressvalidator.h \ - src/alert.h \ - src/addrman.h \ - src/base58.h \ - src/bignum.h \ - src/checkpoints.h \ - src/compat.h \ - src/coincontrol.h \ - src/sync.h \ - src/util.h \ - src/uint256.h \ - src/kernel.h \ - src/scrypt_mine.h \ - src/pbkdf2.h \ - src/serialize.h \ - src/strlcpy.h \ - src/main.h \ - src/net.h \ - src/key.h \ - src/db.h \ - src/walletdb.h \ - src/script.h \ - src/init.h \ - src/irc.h \ - src/mruset.h \ - src/json/json_spirit_writer_template.h \ - src/json/json_spirit_writer.h \ - src/json/json_spirit_value.h \ - src/json/json_spirit_utils.h \ - src/json/json_spirit_stream_reader.h \ - src/json/json_spirit_reader_template.h \ - src/json/json_spirit_reader.h \ - src/json/json_spirit_error_position.h \ - src/json/json_spirit.h \ - src/qt/clientmodel.h \ - src/qt/guiutil.h \ - src/qt/transactionrecord.h \ - src/qt/guiconstants.h \ - src/qt/optionsmodel.h \ - src/qt/monitoreddatamapper.h \ - src/qt/transactiondesc.h \ - src/qt/transactiondescdialog.h \ - src/qt/bitcoinamountfield.h \ - src/wallet.h \ - src/keystore.h \ - src/qt/transactionfilterproxy.h \ - src/qt/transactionview.h \ - src/qt/walletmodel.h \ - src/bitcoinrpc.h \ - src/qt/blockbrowser.h \ - src/qt/charitydialog.h \ - src/qt/overviewpage.h \ - src/qt/csvmodelwriter.h \ - src/crypter.h \ - src/qt/sendcoinsentry.h \ - src/qt/qvalidatedlineedit.h \ - src/qt/bitcoinunits.h \ - src/qt/qvaluecombobox.h \ - src/qt/askpassphrasedialog.h \ - src/protocol.h \ - src/qt/notificator.h \ - src/qt/qtipcserver.h \ - src/allocators.h \ - src/ui_interface.h \ - src/qt/rpcconsole.h \ - src/version.h \ - src/netbase.h \ - src/clientversion.h \ - src/hashblock.h \ - src/sph_blake.h \ - src/sph_skein.h \ - src/sph_keccak.h \ - src/sph_jh.h \ - src/sph_groestl.h \ - src/sph_bmw.h \ - src/sph_types.h \ - src/sph_luffa.h \ - src/sph_cubehash.h \ - src/sph_echo.h \ - src/sph_shavite.h \ - src/sph_simd.h \ - src/sph_types.h - -SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ - src/qt/transactiontablemodel.cpp \ - src/qt/addresstablemodel.cpp \ - src/qt/optionsdialog.cpp \ - src/qt/sendcoinsdialog.cpp \ - src/qt/coincontroldialog.cpp \ - src/qt/coincontroltreewidget.cpp \ - src/qt/addressbookpage.cpp \ - src/qt/signverifymessagedialog.cpp \ - src/qt/aboutdialog.cpp \ - src/qt/editaddressdialog.cpp \ - src/qt/bitcoinaddressvalidator.cpp \ - src/alert.cpp \ - src/version.cpp \ - src/sync.cpp \ - src/util.cpp \ - src/netbase.cpp \ - src/key.cpp \ - src/script.cpp \ - src/main.cpp \ - src/init.cpp \ - src/net.cpp \ - src/irc.cpp \ - src/checkpoints.cpp \ - src/addrman.cpp \ - src/db.cpp \ - src/walletdb.cpp \ - src/qt/clientmodel.cpp \ - src/qt/guiutil.cpp \ - src/qt/transactionrecord.cpp \ - src/qt/optionsmodel.cpp \ - src/qt/monitoreddatamapper.cpp \ - src/qt/transactiondesc.cpp \ - src/qt/transactiondescdialog.cpp \ - src/qt/bitcoinstrings.cpp \ - src/qt/bitcoinamountfield.cpp \ - src/wallet.cpp \ - src/keystore.cpp \ - src/qt/transactionfilterproxy.cpp \ - src/qt/transactionview.cpp \ - src/qt/walletmodel.cpp \ - src/bitcoinrpc.cpp \ - src/rpcdump.cpp \ - src/rpcnet.cpp \ - src/rpcmining.cpp \ - src/rpcwallet.cpp \ - src/rpcblockchain.cpp \ - src/rpcrawtransaction.cpp \ - src/qt/overviewpage.cpp \ - src/qt/csvmodelwriter.cpp \ - src/crypter.cpp \ - src/qt/sendcoinsentry.cpp \ - src/qt/qvalidatedlineedit.cpp \ - src/qt/bitcoinunits.cpp \ - src/qt/qvaluecombobox.cpp \ - src/qt/askpassphrasedialog.cpp \ - src/protocol.cpp \ - src/qt/notificator.cpp \ - src/qt/qtipcserver.cpp \ - src/qt/rpcconsole.cpp \ - src/noui.cpp \ - src/kernel.cpp \ - src/pbkdf2.cpp \ - src/blake.c \ - src/bmw.c \ - src/groestl.c \ - src/jh.c \ - src/keccak.c \ - src/skein.c \ - src/luffa.c \ - src/cubehash.c \ - src/shavite.c \ - src/echo.c \ - src/qt/blockbrowser.cpp \ - src/qt/charitydialog.cpp \ - src/simd.c - -RESOURCES += \ - src/qt/bitcoin.qrc - -FORMS += \ - src/qt/forms/coincontroldialog.ui \ - src/qt/forms/sendcoinsdialog.ui \ - src/qt/forms/addressbookpage.ui \ - src/qt/forms/signverifymessagedialog.ui \ - src/qt/forms/aboutdialog.ui \ - src/qt/forms/editaddressdialog.ui \ - src/qt/forms/transactiondescdialog.ui \ - src/qt/forms/blockbrowser.ui \ - src/qt/forms/charitydialog.ui \ - src/qt/forms/overviewpage.ui \ - src/qt/forms/sendcoinsentry.ui \ - src/qt/forms/askpassphrasedialog.ui \ - src/qt/forms/rpcconsole.ui \ - src/qt/forms/optionsdialog.ui - -contains(USE_QRCODE, 1) { -HEADERS += src/qt/qrcodedialog.h -SOURCES += src/qt/qrcodedialog.cpp -FORMS += src/qt/forms/qrcodedialog.ui -} - -contains(BITCOIN_QT_TEST, 1) { -SOURCES += src/qt/test/test_main.cpp \ - src/qt/test/uritests.cpp -HEADERS += src/qt/test/uritests.h -DEPENDPATH += src/qt/test -QT += testlib -TARGET = hyperstake-qt_test -DEFINES += BITCOIN_QT_TEST -} - -CODECFORTR = UTF-8 - -# for lrelease/lupdate -# also add new translations to src/qt/bitcoin.qrc under translations/ -TRANSLATIONS = $$files(src/qt/locale/bitcoin_*.ts) - -isEmpty(QMAKE_LRELEASE) { - win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe - else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease -} -isEmpty(QM_DIR):QM_DIR = $$PWD/src/qt/locale -# automatically build translations, so they can be included in resource file -TSQM.name = lrelease ${QMAKE_FILE_IN} -TSQM.input = TRANSLATIONS -TSQM.output = $$QM_DIR/${QMAKE_FILE_BASE}.qm -TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_OUT} -TSQM.CONFIG = no_link -QMAKE_EXTRA_COMPILERS += TSQM - -# "Other files" to show in Qt Creator -OTHER_FILES += \ - doc/*.rst doc/*.txt doc/README README.md res/bitcoin-qt.rc src/test/*.cpp src/test/*.h src/qt/test/*.cpp src/qt/test/*.h - - -# platform specific defaults, if not overridden on command line -isEmpty(BOOST_LIB_SUFFIX) { - macx:BOOST_LIB_SUFFIX = -mt - windows:BOOST_LIB_SUFFIX = -mgw48-mt-s-1_55 -} - -isEmpty(BOOST_THREAD_LIB_SUFFIX) { - BOOST_THREAD_LIB_SUFFIX = $$BOOST_LIB_SUFFIX -} - -isEmpty(BDB_LIB_PATH) { - macx:BDB_LIB_PATH = /opt/local/lib/db48 -} - -isEmpty(BDB_LIB_SUFFIX) { - macx:BDB_LIB_SUFFIX = -4.8 -} - -isEmpty(BDB_INCLUDE_PATH) { - macx:BDB_INCLUDE_PATH = /opt/local/include/db48 -} - -isEmpty(BOOST_LIB_PATH) { - macx:BOOST_LIB_PATH = /opt/local/lib -} - -isEmpty(BOOST_INCLUDE_PATH) { - macx:BOOST_INCLUDE_PATH = /opt/local/include -} - -windows:DEFINES += WIN32 -windows:RC_FILE = src/qt/res/bitcoin-qt.rc - -windows:!contains(MINGW_THREAD_BUGFIX, 0) { - # At least qmake's win32-g++-cross profile is missing the -lmingwthrd - # thread-safety flag. GCC has -mthreads to enable this, but it doesn't - # work with static linking. -lmingwthrd must come BEFORE -lmingw, so - # it is prepended to QMAKE_LIBS_QT_ENTRY. - # It can be turned off with MINGW_THREAD_BUGFIX=0, just in case it causes - # any problems on some untested qmake profile now or in the future. - DEFINES += _MT - QMAKE_LIBS_QT_ENTRY = -lmingwthrd $$QMAKE_LIBS_QT_ENTRY -} - -!windows:!macx { - DEFINES += LINUX - LIBS += -lrt -} - -macx:HEADERS += src/qt/macdockiconhandler.h -macx:OBJECTIVE_SOURCES += src/qt/macdockiconhandler.mm -macx:LIBS += -framework Foundation -framework ApplicationServices -framework AppKit -macx:DEFINES += MAC_OSX MSG_NOSIGNAL=0 -macx:ICON = src/qt/res/icons/bitcoin.icns -macx:TARGET = "hyperstake-qt" -macx:QMAKE_CFLAGS_THREAD += -pthread -macx:QMAKE_LFLAGS_THREAD += -pthread -macx:QMAKE_CXXFLAGS_THREAD += -pthread - -# Set libraries and includes at end, to use platform-defined defaults if not overridden -INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) -LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -# -lgdi32 has to happen after -lcrypto (see #681) -windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 -LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX -windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX - -contains(RELEASE, 1) { - !windows:!macx { - # Linux: turn dynamic linking back on for c/c++ runtime libraries - LIBS += -Wl,-Bdynamic - } -} - -CONFIG(debug, debug|release) { - DESTDIR = debug -} else { - DESTDIR = release -} - -themes.path = $$OUT_PWD/$$DESTDIR/themes -themes.files = src/qt/res/themes/* -INSTALLS += themes - -system($$QMAKE_LRELEASE -silent $$_PRO_FILE_) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index ff85d51fa..5313f777e 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -3,31 +3,28 @@ TARGET = HyperStake-qt VERSION = 0.7.2 INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES -CONFIG += no_include_pwd -CONFIG += static -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - +CONFIG += no_include_pwd static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets win32{ -#uncomment the following section to enable building on windows: -windows:LIBS += -lshlwapi -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) -LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX -windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 -LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 -BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 -BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 -BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib -BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix -BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix -OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include -OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g -MINIUPNPC_LIB_PATH=C:/deps/miniupnpc -MINIUPNPC_INCLUDE_PATH=c:/deps -QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 -QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs + #uncomment the following section to enable building on windows: + windows:LIBS += -lshlwapi + LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) + LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX + windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 + LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 + BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 + BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 + BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib + BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix + BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix + OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include + OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g + MINIUPNPC_LIB_PATH=C:/deps/miniupnpc + MINIUPNPC_INCLUDE_PATH=c:/deps + QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 + QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs } OBJECTS_DIR = build @@ -46,11 +43,11 @@ contains(RELEASE, 1) { } !win32 { -# for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection -QMAKE_CXXFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 -QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 -# We need to exclude this for Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! -# This can be enabled for Windows, when we switch to MinGW >= 4.4.x. + # for extra security against potential buffer overflows: enable GCCs Stack Smashing Protection + QMAKE_CXXFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 + QMAKE_LFLAGS *= -fstack-protector-all --param ssp-buffer-size=1 + # We need to exclude this for Windows cross compile with MinGW 4.2.x, as it will result in a non-working executable! + # This can be enabled for Windows, when we switch to MinGW >= 4.4.x. } # for extra security on Windows: enable ASLR and DEP via GCC linker flags win32:QMAKE_LFLAGS *= -Wl,--large-address-aware -static @@ -117,12 +114,15 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { DEFINES += HAVE_BUILD_INFO } -*-g++-32 { - message("32 platform, adding -msse2 flag") - +arm-linux-*: { + message("RaspberryPi detected, compiling without -msse2 flag") +} +!arm-linux-*: { + message("Adding -msse2 flag") QMAKE_CXXFLAGS += -msse2 QMAKE_CFLAGS += -msse2 } + QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector # Input @@ -131,7 +131,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/transactiontablemodel.h \ src/qt/addresstablemodel.h \ src/qt/optionsdialog.h \ - src/qt/coincontroldialog.h \ + src/qt/coincontroldialog.h \ src/qt/coincontroltreewidget.h \ src/qt/sendcoinsdialog.h \ src/qt/addressbookpage.h \ @@ -146,7 +146,7 @@ HEADERS += src/qt/bitcoingui.h \ src/bignum.h \ src/checkpoints.h \ src/compat.h \ - src/coincontrol.h \ + src/coincontrol.h \ src/sync.h \ src/util.h \ src/uint256.h \ @@ -188,8 +188,8 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/transactionview.h \ src/qt/walletmodel.h \ src/bitcoinrpc.h \ - src/qt/blockbrowser.h \ - src/qt/charitydialog.h \ + src/qt/blockbrowser.h \ + src/qt/charitydialog.h \ src/qt/overviewpage.h \ src/qt/csvmodelwriter.h \ src/crypter.h \ @@ -227,7 +227,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addresstablemodel.cpp \ src/qt/optionsdialog.cpp \ src/qt/sendcoinsdialog.cpp \ - src/qt/coincontroldialog.cpp \ + src/qt/coincontroldialog.cpp \ src/qt/coincontroltreewidget.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ @@ -296,15 +296,15 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/cubehash.c \ src/shavite.c \ src/echo.c \ - src/qt/blockbrowser.cpp \ - src/qt/charitydialog.cpp \ + src/qt/blockbrowser.cpp \ + src/qt/charitydialog.cpp \ src/simd.c RESOURCES += \ src/qt/bitcoin.qrc FORMS += \ - src/qt/forms/coincontroldialog.ui \ + src/qt/forms/coincontroldialog.ui \ src/qt/forms/sendcoinsdialog.ui \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ @@ -312,8 +312,8 @@ FORMS += \ src/qt/forms/calcdialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ - src/qt/forms/blockbrowser.ui \ - src/qt/forms/charitydialog.ui \ + src/qt/forms/blockbrowser.ui \ + src/qt/forms/charitydialog.ui \ src/qt/forms/overviewpage.ui \ src/qt/forms/sendcoinsentry.ui \ src/qt/forms/askpassphrasedialog.ui \ @@ -321,19 +321,19 @@ FORMS += \ src/qt/forms/optionsdialog.ui contains(USE_QRCODE, 1) { -HEADERS += src/qt/qrcodedialog.h -SOURCES += src/qt/qrcodedialog.cpp -FORMS += src/qt/forms/qrcodedialog.ui + HEADERS += src/qt/qrcodedialog.h + SOURCES += src/qt/qrcodedialog.cpp + FORMS += src/qt/forms/qrcodedialog.ui } contains(BITCOIN_QT_TEST, 1) { -SOURCES += src/qt/test/test_main.cpp \ - src/qt/test/uritests.cpp -HEADERS += src/qt/test/uritests.h -DEPENDPATH += src/qt/test -QT += testlib -TARGET = hyperstake-qt_test -DEFINES += BITCOIN_QT_TEST + SOURCES += src/qt/test/test_main.cpp \ + src/qt/test/uritests.cpp + HEADERS += src/qt/test/uritests.h + DEPENDPATH += src/qt/test + QT += testlib + TARGET = hyperstake-qt_test + DEFINES += BITCOIN_QT_TEST } CODECFORTR = UTF-8 @@ -435,7 +435,6 @@ contains(RELEASE, 1) { } } - CONFIG(debug, debug|release) { DESTDIR = debug } else { diff --git a/src/makefile.unix b/src/makefile.unix index 368b752ea..805edbf98 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -4,7 +4,7 @@ USE_UPNP:=0 USE_IPV6:=1 - +SSE2_SUPPORT:=$(shell cat /proc/cpuinfo | grep sse2 | wc -l) LINK:=$(CXX) ARCH:=$(system lscpu | head -n 1 | awk '{print $2}') @@ -90,7 +90,7 @@ LIBS+= \ # DEBUGFLAGS=-g -ifeq (${ARCH}, i686) +ifeq (${SSE2_SUPPORT}, 1) EXT_OPTIONS=-msse2 endif From 59475182c1780c85d8db61f5dfdecd03c6d77437 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 20 Oct 2014 19:46:53 +0200 Subject: [PATCH 126/555] Fix empty Themes dir + cleanups in makefile --- HyperStake-qt.pro | 6 +++--- src/qt/bitcoingui.cpp | 40 +++++++++++++++++++++++----------------- 2 files changed, 26 insertions(+), 20 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 5313f777e..ec396a3b6 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -137,7 +137,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ - src/qt/calcdialog.h \ + src/qt/calcdialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ @@ -232,7 +232,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/addressbookpage.cpp \ src/qt/signverifymessagedialog.cpp \ src/qt/aboutdialog.cpp \ - src/qt/calcdialog.cpp \ + src/qt/calcdialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ src/alert.cpp \ @@ -309,7 +309,7 @@ FORMS += \ src/qt/forms/addressbookpage.ui \ src/qt/forms/signverifymessagedialog.ui \ src/qt/forms/aboutdialog.ui \ - src/qt/forms/calcdialog.ui \ + src/qt/forms/calcdialog.ui \ src/qt/forms/editaddressdialog.ui \ src/qt/forms/transactiondescdialog.ui \ src/qt/forms/blockbrowser.ui \ diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 3d21d3948..7c897136e 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -389,22 +389,25 @@ void BitcoinGUI::createActions() //connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); /* zeewolf: Hot swappable wallet themes */ - QSignalMapper* signalMapper = new QSignalMapper (this) ; - //QActionGroup* menuActionGroup = new QActionGroup( this ); - //menuActionGroup->setExclusive(true); - - // Add custom themes (themes directory) - for( int i=0; i < themesList.count(); i++ ) + if (themesList.count()>0) { - QString theme=themesList[i]; - customActions[i] = new QAction(QIcon(":/icons/options"), theme, this); - customActions[i]->setToolTip(QString("Switch to " + theme + " theme")); - customActions[i]->setStatusTip(QString("Switch to " + theme + " theme")); - //customActions[i]->setActionGroup(menuActionGroup); - signalMapper->setMapping(customActions[i], theme); - connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); + QSignalMapper* signalMapper = new QSignalMapper (this) ; + //QActionGroup* menuActionGroup = new QActionGroup( this ); + //menuActionGroup->setExclusive(true); + + // Add custom themes (themes directory) + for( int i=0; i < themesList.count(); i++ ) + { + QString theme=themesList[i]; + customActions[i] = new QAction(QIcon(":/icons/options"), theme, this); + customActions[i]->setToolTip(QString("Switch to " + theme + " theme")); + customActions[i]->setStatusTip(QString("Switch to " + theme + " theme")); + //customActions[i]->setActionGroup(menuActionGroup); + signalMapper->setMapping(customActions[i], theme); + connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); + } + connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(loadTheme(QString))); } - connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(loadTheme(QString))); /* /zeewolf: Hot swappable wallet themes */ } @@ -447,9 +450,12 @@ void BitcoinGUI::createMenuBar() settings->addAction(optionsAction); /* zeewolf: Hot swappable wallet themes */ - QMenu *themes = appMenuBar->addMenu(tr("T&hemes")); - for (int i = 0; i < themesList.count(); i++) { - themes->addAction(customActions[i]); + if (themesList.count()>0) + { + QMenu *themes = appMenuBar->addMenu(tr("T&hemes")); + for (int i = 0; i < themesList.count(); i++) { + themes->addAction(customActions[i]); + } } /* /zeewolf: Hot swappable wallet themes */ From 6e9dd9d282933a85ba175c0600a29fcb98f41036 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 20 Oct 2014 14:17:10 -0600 Subject: [PATCH 127/555] Clean up potential stake code --- src/qt/coincontroldialog.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index c8c93d2ab..73962e5c7 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -817,6 +817,7 @@ void CoinControlDialog::updateView() } // amount + uint64 nBlockSize = out.tx->vout[out.i].nValue / 1000000; //used in formulas below itemOutput->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, out.tx->vout[out.i].nValue)); itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // padding so that sorting works correctly @@ -851,17 +852,18 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); + // Potential Stake - int64 nPotentialStake = min((7.5 / 365 * age * out.tx->vout[out.i].nValue), double(1000 * COIN * COIN)); //min of the max reward or the stake rate - itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake / COIN), 15, " ")); - itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number(nPotentialStake), 16, " ")); + double nPotentialStake = min(7.5 / 365 * nBlockSize * nAge / (60*60*24), 1000.0); //min of the max reward or the stake rate + itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake * COIN), 15, " ")); //use COIN for formatting + itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number((int64)nPotentialStake), 16, " ")); // Potential Stake Sum for Tree View - nPotentialStakeSum += nPotentialStake / COIN; + nPotentialStakeSum += nPotentialStake * COIN; // Estimated Stake Time uint64 nMin = 1; - uint64 nBlockSize = out.tx->vout[out.i].nValue / 1000000; + nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; uint64 nBlockWeight = qMax(nTxWeight, nBlockSize); From 1810ecd87e427f45c743c9ddd02b868e0cb0b55d Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 20 Oct 2014 16:04:34 -0600 Subject: [PATCH 128/555] send change to one of sending addresses this needs more logic added, see line 1312 --- src/qt/coincontroldialog.cpp | 1 - src/wallet.cpp | 13 ++++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 73962e5c7..fea231034 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -863,7 +863,6 @@ void CoinControlDialog::updateView() // Estimated Stake Time uint64 nMin = 1; - nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; uint64 nBlockWeight = qMax(nTxWeight, nBlockSize); diff --git a/src/wallet.cpp b/src/wallet.cpp index 9afbb0af9..0330340c6 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1303,10 +1303,14 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW int64 nValueIn = 0; if (!SelectCoins(nTotalValue, wtxNew.nTime, setCoins, nValueIn, coinControl)) return false; + CTxDestination outputAddress; BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { int64 nCredit = pcoin.first->vout[pcoin.second].nValue; dPriority += (double)nCredit * pcoin.first->GetDepthInMainChain(); + //use this address to send change back + //note that this will use the last address run through the FOREACH, needs better logic added + ExtractDestination(pcoin.first->vout[pcoin.second].scriptPubKey, outputAddress); } int64 nChange = nValueIn - nValue - nFeeRet; @@ -1353,11 +1357,14 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW // If we reused the old key, it would be possible to add code to look for and // rediscover unknown transactions that were written with keys of ours to recover // post-backup change. - + // Reserve a new key pair from key pool - CPubKey vchPubKey = reservekey.GetReservedKey(); + //CPubKey vchPubKey = reservekey.GetReservedKey(); - scriptChange.SetDestination(vchPubKey.GetID()); + //scriptChange.SetDestination(vchPubKey.GetID()); + + // change HyperStake to get rid of automatic generation of change address and instead send change back + scriptChange.SetDestination(outputAddress); } // Insert change txn at random position: From c6643eb0391ab101655a5de315bd861e13931949 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 21 Oct 2014 08:50:54 -0600 Subject: [PATCH 129/555] change nlimit & hashhighblock --- src/main.cpp | 2 +- src/main.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index c9b0ad126..6637e9d6b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3281,7 +3281,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Send the rest of the chain if (pindex) pindex = pindex->pnext; - int nLimit = 1250; + int nLimit = 5000; printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str(), nLimit); for (; pindex; pindex = pindex->pnext) { diff --git a/src/main.h b/src/main.h index b8d8c98f8..158d5fe3f 100644 --- a/src/main.h +++ b/src/main.h @@ -57,8 +57,8 @@ static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23 static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); // HighBlock is used to speed up blockchain download. It is being sent by server instead of last PoW block. -static const uint256 hashHighBlock ("0x94a999e4024a647e439584cb270d28ca92dcbd3e90522b29cc17da4cc1104a7d"); -static const int HIGH_BLOCK_INDEX = 99999; +static const uint256 hashHighBlock ("0xe1415d0a36f6dea67bc892a3c8b8c72d933b2126f1a6d476abbd1f4ea0cee5d7"); +static const int HIGH_BLOCK_INDEX = 120000; static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() From 393bf70e48f6136314fed87b0f577d0db0ffaa96 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 21 Oct 2014 08:53:54 -0600 Subject: [PATCH 130/555] 1.0.6.6 BETA --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index d2b4fbedf..560970484 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6.5-BETA" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6.6-BETA" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 146c3b224..3a43b8978 100644 --- a/src/version.h +++ b/src/version.h @@ -47,6 +47,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 6 -#define DISPLAY_VERSION_BUILD 5 +#define DISPLAY_VERSION_BUILD 6 #endif From 8d9502496b47f75b23f6c53c19007db43c9d1954 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 23 Oct 2014 22:47:30 -0600 Subject: [PATCH 131/555] export difficulty to csv RPC --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/rpcblockchain.cpp | 29 +++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index e2f59614e..2017f49c2 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -268,6 +268,7 @@ static const CRPCCommand vRPCCommands[] = { "getcheckpoint", &getcheckpoint, true, false }, { "moneysupply", &moneysupply, true, false }, { "getmoneysupply", &getmoneysupply, true, false }, + { "exportdifficulty", &exportdifficulty, true, false }, { "reservebalance", &reservebalance, false, true}, { "checkwallet", &checkwallet, false, true}, { "repairwallet", &repairwallet, false, true}, @@ -1170,6 +1171,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "getblockbynumber" && n > 0) ConvertTo(params[0]); if (strMethod == "getblockbynumber" && n > 1) ConvertTo(params[1]); + if (strMethod == "exportdifficulty" && n > 0) ConvertTo(params[0]); if (strMethod == "getmoneysupply" && n > 0) ConvertTo(params[0]); if (strMethod == "getmoneysupply" && n > 1) ConvertTo(params[1]); if (strMethod == "getblockhash" && n > 0) ConvertTo(params[0]); diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 9943ee18c..cdca525ce 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -210,6 +210,7 @@ extern json_spirit::Value getblockhash(const json_spirit::Array& params, bool fH extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getcheckpoint(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index d532df352..46a1f706f 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -6,6 +6,9 @@ #include "main.h" #include "bitcoinrpc.h" +#include +#include + using namespace json_spirit; using namespace std; @@ -257,3 +260,29 @@ Value getcheckpoint(const Array& params, bool fHelp) return result; } + +// presstab HyperStake +Value exportdifficulty(const Array& params, bool fHelp) +{ + if (fHelp || params.size() < 1 || params.size() > 2) + throw runtime_error( + "export difficulty \n" + "interval will give difficulty for every Xth block\n" + "directory is the location to export the csv: C:\\example.csv)"); + + int nInterval = params[0].get_int(); + std::string strDir = params[1].get_str(); + + ofstream File; + + File.open(strDir.c_str()); + File << "Block, Difficulty" << endl; + for(int i = 0; i < nBestHeight; i += nInterval) + { + File << i; + File << ","; + File << GetDifficulty(FindBlockByHeight(i)) << endl; + } + File.close(); + return "succesfully exported"; +} From 2996881ec1a76bfcceeab7a597d7e94f0807349a Mon Sep 17 00:00:00 2001 From: ShrykeZ Date: Fri, 24 Oct 2014 17:37:46 +0100 Subject: [PATCH 132/555] ThemePack Celestial Theme Magma Theme --- src/qt/res/themes/Celestial/arrow-down.png | Bin 0 -> 2995 bytes .../themes/Celestial/calendar-disabled.png | Bin 0 -> 3274 bytes src/qt/res/themes/Celestial/calendar.png | Bin 0 -> 3278 bytes .../res/themes/Celestial/cb-checked-hover.png | Bin 0 -> 2964 bytes src/qt/res/themes/Celestial/cb-checked.png | Bin 0 -> 2954 bytes src/qt/res/themes/Celestial/cb-hover.png | Bin 0 -> 3071 bytes src/qt/res/themes/Celestial/cb.png | Bin 0 -> 3065 bytes .../themes/Celestial/down-arrow-disabled.png | Bin 0 -> 2907 bytes src/qt/res/themes/Celestial/down-arrow.png | Bin 0 -> 2912 bytes .../res/themes/Celestial/hypstk-watermark.png | Bin 0 -> 6723 bytes .../res/themes/Celestial/r-checked-hover.png | Bin 0 -> 3037 bytes src/qt/res/themes/Celestial/r-checked.png | Bin 0 -> 3046 bytes src/qt/res/themes/Celestial/r-hover.png | Bin 0 -> 2990 bytes src/qt/res/themes/Celestial/r.png | Bin 0 -> 2991 bytes src/qt/res/themes/Celestial/sizegrip.png | Bin 0 -> 2847 bytes src/qt/res/themes/Celestial/space.png | Bin 0 -> 155432 bytes src/qt/res/themes/Celestial/styles.qss | 710 ++++++++++++++++++ .../res/themes/Celestial/toolbar-handle.png | Bin 0 -> 2812 bytes .../themes/Celestial/up-arrow-disabled.png | Bin 0 -> 2895 bytes src/qt/res/themes/Celestial/up-arrow.png | Bin 0 -> 2892 bytes src/qt/res/themes/Magma/arrow-down.png | Bin 0 -> 2991 bytes src/qt/res/themes/Magma/calendar-disabled.png | Bin 0 -> 3249 bytes src/qt/res/themes/Magma/calendar.png | Bin 0 -> 3248 bytes src/qt/res/themes/Magma/cb-checked-hover.png | Bin 0 -> 2949 bytes src/qt/res/themes/Magma/cb-checked.png | Bin 0 -> 2951 bytes src/qt/res/themes/Magma/cb-hover.png | Bin 0 -> 3067 bytes src/qt/res/themes/Magma/cb.png | Bin 0 -> 3062 bytes .../res/themes/Magma/down-arrow-disabled.png | Bin 0 -> 2886 bytes src/qt/res/themes/Magma/down-arrow.png | Bin 0 -> 2890 bytes src/qt/res/themes/Magma/hypstk-watermark.png | Bin 0 -> 6472 bytes src/qt/res/themes/Magma/magma.png | Bin 0 -> 646241 bytes src/qt/res/themes/Magma/r-checked-hover.png | Bin 0 -> 3032 bytes src/qt/res/themes/Magma/r-checked.png | Bin 0 -> 3039 bytes src/qt/res/themes/Magma/r-hover.png | Bin 0 -> 2988 bytes src/qt/res/themes/Magma/r.png | Bin 0 -> 2989 bytes src/qt/res/themes/Magma/sizegrip.png | Bin 0 -> 2847 bytes src/qt/res/themes/Magma/styles.qss | 710 ++++++++++++++++++ src/qt/res/themes/Magma/toolbar-handle.png | Bin 0 -> 2812 bytes src/qt/res/themes/Magma/up-arrow-disabled.png | Bin 0 -> 2879 bytes src/qt/res/themes/Magma/up-arrow.png | Bin 0 -> 2879 bytes 40 files changed, 1420 insertions(+) create mode 100644 src/qt/res/themes/Celestial/arrow-down.png create mode 100644 src/qt/res/themes/Celestial/calendar-disabled.png create mode 100644 src/qt/res/themes/Celestial/calendar.png create mode 100644 src/qt/res/themes/Celestial/cb-checked-hover.png create mode 100644 src/qt/res/themes/Celestial/cb-checked.png create mode 100644 src/qt/res/themes/Celestial/cb-hover.png create mode 100644 src/qt/res/themes/Celestial/cb.png create mode 100644 src/qt/res/themes/Celestial/down-arrow-disabled.png create mode 100644 src/qt/res/themes/Celestial/down-arrow.png create mode 100644 src/qt/res/themes/Celestial/hypstk-watermark.png create mode 100644 src/qt/res/themes/Celestial/r-checked-hover.png create mode 100644 src/qt/res/themes/Celestial/r-checked.png create mode 100644 src/qt/res/themes/Celestial/r-hover.png create mode 100644 src/qt/res/themes/Celestial/r.png create mode 100644 src/qt/res/themes/Celestial/sizegrip.png create mode 100644 src/qt/res/themes/Celestial/space.png create mode 100644 src/qt/res/themes/Celestial/styles.qss create mode 100644 src/qt/res/themes/Celestial/toolbar-handle.png create mode 100644 src/qt/res/themes/Celestial/up-arrow-disabled.png create mode 100644 src/qt/res/themes/Celestial/up-arrow.png create mode 100644 src/qt/res/themes/Magma/arrow-down.png create mode 100644 src/qt/res/themes/Magma/calendar-disabled.png create mode 100644 src/qt/res/themes/Magma/calendar.png create mode 100644 src/qt/res/themes/Magma/cb-checked-hover.png create mode 100644 src/qt/res/themes/Magma/cb-checked.png create mode 100644 src/qt/res/themes/Magma/cb-hover.png create mode 100644 src/qt/res/themes/Magma/cb.png create mode 100644 src/qt/res/themes/Magma/down-arrow-disabled.png create mode 100644 src/qt/res/themes/Magma/down-arrow.png create mode 100644 src/qt/res/themes/Magma/hypstk-watermark.png create mode 100644 src/qt/res/themes/Magma/magma.png create mode 100644 src/qt/res/themes/Magma/r-checked-hover.png create mode 100644 src/qt/res/themes/Magma/r-checked.png create mode 100644 src/qt/res/themes/Magma/r-hover.png create mode 100644 src/qt/res/themes/Magma/r.png create mode 100644 src/qt/res/themes/Magma/sizegrip.png create mode 100644 src/qt/res/themes/Magma/styles.qss create mode 100644 src/qt/res/themes/Magma/toolbar-handle.png create mode 100644 src/qt/res/themes/Magma/up-arrow-disabled.png create mode 100644 src/qt/res/themes/Magma/up-arrow.png diff --git a/src/qt/res/themes/Celestial/arrow-down.png b/src/qt/res/themes/Celestial/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..67b862072f9e0a77993a92cd50fa57befda240e2 GIT binary patch literal 2995 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/calendar-disabled.png b/src/qt/res/themes/Celestial/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6a542e6e3c2322d3300b19f6ed60966f04b1b0 GIT binary patch literal 3274 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 M07*qoM6N<$f-qkd+5i9m literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/cb-checked-hover.png b/src/qt/res/themes/Celestial/cb-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2fc23d9669c28c3358d6dcd2d50d0410bd7aea GIT binary patch literal 2964 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 KMNUMnLSTZeHG+u% literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/cb-checked.png b/src/qt/res/themes/Celestial/cb-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..08954fe1649c37b5ad5c63e2e7c332dbe90ac928 GIT binary patch literal 2954 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/cb-hover.png b/src/qt/res/themes/Celestial/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..f2ad0334e665cf997b6452bc32aede6720427675 GIT binary patch literal 3071 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 Hu0mjfa1pJ# literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/down-arrow-disabled.png b/src/qt/res/themes/Celestial/down-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..1a9c707570c161e7a2933f8ff1820f69b6dc39b6 GIT binary patch literal 2907 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 ZdjNfAcH+?>LJj}`002ovPDHLkV1hXoy&C`k literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/r-checked-hover.png b/src/qt/res/themes/Celestial/r-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0af5d9af5f38b01a3c57f33c8fc2ae28fb674a GIT binary patch literal 3037 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/r-checked.png b/src/qt/res/themes/Celestial/r-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..13c56c1a60d97b90602dcda2f6f20d6ab805f3b1 GIT binary patch literal 3046 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/r.png b/src/qt/res/themes/Celestial/r.png new file mode 100644 index 0000000000000000000000000000000000000000..27736a3c94fa105213e50708ba35be0881f9a72d GIT binary patch literal 2991 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/sizegrip.png b/src/qt/res/themes/Celestial/sizegrip.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c4845ea31951e1df6c8277b6484161390e72ba GIT binary patch literal 2847 zcmV+)3*hvLP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0000=Nkld002ovPDHLkV1iK!LMZ?M literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/space.png b/src/qt/res/themes/Celestial/space.png new file mode 100644 index 0000000000000000000000000000000000000000..04cab5635ac1c3caf7b78568d86aff06bdb8881c GIT binary patch literal 155432 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 $5dI*q6U*xl7d%5-S$ zncQmAf zGVD@>knI@Ng{oEYz;eA}x5z?Tkf+XB&5ly31V@h=vfte;U`)4lWUQfq&dyHQzyE;x zyE4N`uMg9Edtle@J!%^v$3AoM*|Z%G=d)MCm;`{Vms6O4D@Lm`K#-5y)1mWF9)=RZ z1)zi8o3*7v2ghdva=+fF8b9#ZJ11wlawv-*^0yCGgbKPt%JqDk_91x8u$^ z=WO`NPk*Lef(UsRcX1paAA>b()&^iLi$6O`fJn+gqPJGULg5PI!WuM?(4%6mfH2m* z`B9`wh_YN0J*E|ongjrSut6F0z)_L`puRmpp;cHQ>B;*2xP=R0^@}f(+hJ{OZE*O| zVG<1U^ULt|r9l9gSJ&ZyDi0F*!4r$|!e39Z6t*2uq3@pn01ee6hOw1(*W zQ(+Iex#Q#T;+i!KSeF4H1>myeMFURccmyztfU-dVm}(tFpUpkj(Ji5hNT=4m8k#B=DaR%)+3Sf~;BjH3pPNmgeT$xAulFJ@!}i{&FEV;m;ExJvunmj#aUJ}5Tfaw+9QC$+!#Ux`)r6`3IcVbIMv2%_ zVoRCbQsF0VlHor0oO4J+-reoSo(%N&!$~Kc;I>yF44eN{Dit;x+6k55G6mTZQN<_d zyt#9ssX=qrVqIkRIB~m7tl_iIJ_}QmlO!NLbm))}4{JikRc+UcFeN~OKLCK2Ry{3T z50h+0p>s7RPIV3H0=}Sj!Pj7+uhj0@=c<~-iY^}+fEk422r19n)$X%n16x~LX#;8rrsm+%eV>ux;Y|Cft*!1& zrq2`C^Z#)bRM$THvp@O+00fwr*z0_2%hs)#bcGT~&ffbA%Lb)5X-5N&0$+_-m)dm{xR0KrKKgG z<6E{8_6Hq@)t{1b5@!*MZ|KZfanS@iNy>0QFtiuaHm)%Z&KRpN_EkYG3ZX}}7qI9+rEu^F#-Y$ z;{YQPFlz9UQlAx3WWC5|R_c?vtRFXz600+?%J$)PYVs&Hqs{3}U4PBh@U?mskoZ-Q#X{bprDm1{oJ*>*@w3OlR~UqNEGrd%$=)YN1`>qaV@5Md&n9UXZ>RzwaazDt-u zlo{KmhFifw&0t{+O0m-=dpnFv-iUhi1xY;nekrwxeVG_(lz;dB2iOVFR;iHhnANeB zVko4l2>cdtxg5$H95{GTWke0P09Ai#;BVfXIn{P$z#nmwPRk=^pF_J7904&M9qq+e z5aSx0+Pl};NN#JFP)E<<0t#%KHL;P~h7Dz1Tq8hb?jm1;)cLW!Yo^K$F)xlDJsQjl zWSCD1`~d*`@W(%ifKX64ijv(Bw#5{7)NYHMnIke6y$k%?hd%@pd-n!I`BgXFbd1<& z~; z)+*@iKS0Oh+pMVGsZ9XKM0Cs0;2_a7MM5>u0)UC&OTvNN^H3e*gD=xS{mf_yIYjGz z`Jg>)YpF?+aOeXGB!S?0FF!|Ixh5yWAni;x!9;@16%AVbJlMjrPODTZ!bybf_ZZNQ_V⩔*Nj#o4+OvM9~P)C7{nyqq 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 z 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
        )QOUTZ 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss new file mode 100644 index 000000000..28ec4ffba --- /dev/null +++ b/src/qt/res/themes/Celestial/styles.qss @@ -0,0 +1,710 @@ +/** + * Celestial Qt Theme - v1.0 + * Created: 24/10/2014 + * Author: ShrykeZ (Based on HyperBlue by Zeewolf) - ##hyperstake (freenode) + * HyperStake - faster than light! + */ + +/** + * QSS REFERENCE : + * http://qt-project.org/doc/qt-4.8/stylesheet-reference.html + * http://qt-project.org/doc/qt-4.8/stylesheet-examples.html + */ + +/** [VARS] + $text-color = #E5E4E2 + $main-color-l = #142930 + $main-color-xl = #6D7B8D + $main-color-d = #342D7E + $main-color-xd = #0C090A + $main-color-transparent-0 = rgba(37,56,60,50) + $main-color-transparent-1 = rgba(37,56,60,100) + $main-color-transparent-2 = rgba(72,99,160,200) + $shade-transparent-1 = rgba(0,0,0,100) + $shade-transparent-2 = rgba(0,0,0,50) + $main-color = #25383C + $text-grey-d = #0c191d + $accent-color = #dca753 + $brightest-color = #fff + $input-border-color = #BCC6CC + $header-font = "Verdana, Geneva, sans-serif" + $error-color = #FF0000 + $success-color = #00FF00 +[/VARS] */ + +* { gridline-color: $main-color } + +/* Dialog, Window */ +QDialog, QMainWindow { + background-image: url($themes-dir/Celestial/space.png); + background-repeat: repeat-xy; +} + +#coinLogo { + qproperty-pixmap: url($themes-dir/Celestial/hypstk-watermark.png); + qproperty-alignment: 'AlignBottom | AlignLeft'; +} + +/* Frames */ +QFrame { + /* too general - do not style */ +} + +/* Bottom status bar */ +QStatusBar { + background-color: transparent; + color: $text-color; +} + +QStatusBar::item { + border: none; +} + +/* Label */ +QLabel { + color: $text-color; +} + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + +/* Frames labels - Balance, Stake, etc. */ + +/* Balance frame */ +QFrame#frame { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Recent transactions frame */ +QFrame#frame_2 { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Panel in Coin Control window */ +QFrame#frame_2 QFrame { + color: $text-color; +} + +QFrame#rangeFrame { + background-color: $shade-transparent-1; + border: none; + margin-top: 10px; +} + +#CoinControlDialog QFrame#frame { + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +QFrame#frameCoinControl { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Balance value */ +#frame #labelBalance { + color: $brightest-color; + font-size: 14px; +} + +/* Wallet label */ +QFrame#frame #label_5 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* Recent transactions label */ +QFrame#frame_2 #label_4 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* ScrollArea */ +QScrollArea { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +#scrollAreaWidgetContents { + background-color: transparent; +} +#scrollAreaWidgetContents > QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + border: 1px solid $accent-color; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: transparent; + color: $brightest-color; + border: none; +} + +QTextEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color-xl, stop:1 $main-color); + color: $text-color; + border: 1px solid $input-border-color; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 3px 18px 3px 4px; + min-width: 6em; +} + +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color, stop:1 $main-color-xl); + border-color: $accent-color; +} + +QComboBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/Celestial/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/Celestial/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/Celestial/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $main-color-xl; + color: $text-color; + background-color: $main-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $main-color; + selection-background-color: $text-color; +} + +/* Up&down spin box */ +QDateTimeEdit, QSpinBox, QDoubleSpinBox { + padding: 3px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} + +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QDateTimeEdit::down-arrow { + image: url($themes-dir/Celestial/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/Celestial/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/Celestial/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/Celestial/up-arrow.png); +} + +/* Button */ +QPushButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; + /*min-width: 6em;*/ +} + +QPushButton[text="OK"] { + width: 6em; +} + +QToolButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; +} + +QPushButton:hover, QToolButton:hover { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $accent-color, stop: 0.5 $main-color-xd); + color: $accent-color; + border: 2px solid $accent-color; +} + +QPushButton:disabled, QToolButton:disabled { + background-color: $main-color-xd; + border: 2px solid $input-border-color; + color: $main-color-xl; +} + +QPushButton:pressed, QToolButton:pressed { + background-color: $accent-color; + /*border: 2px solid transparent;*/ + color: $main-color-xd; +} + +/* Toolbar */ +QToolBar { + background: $main-color-l; + spacing: 0px; /* spacing between items in the tool bar */ + border-bottom: 3px solid $main-color-xd; + border-top: 1px solid $main-color-xd; + min-height: 40px; + padding: 0px; +} + +QToolBar::handle { + padding: 0px; + background-image: url($themes-dir/Celestial/toolbar-handle.png); + background-repeat: repeat-y; + background-position: top center; +} + +/* Toolbar buttons */ +QToolBar QToolButton { /* all types of tool button */ + border-radius: 0px; + background-color: transparent; + color: $text-color; + padding: 3px 1px 5px 2px; + font-family: $header-font; + font-size: 12px; + margin-top: 4px; + border: none; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QToolBar QToolButton:hover { + color: $brightest-color; + background-color: transparent; + border: none; + +} + +QToolBar QToolButton:checked { + background-color: $main-color-xd; + color: $accent-color; + border-bottom: 3px solid $accent-color; + padding: 5px 1px 5px 2px; +} + +QToolBar QToolButton:disabled { + color: $input-border-color; + background-color: transparent; + border: none; +} + +/* Tool buttons - buttons with icons */ +#qt_toolbar_ext_button { + qproperty-icon: url($themes-dir/Celestial/arrow-down.png); + border-radius: 0px; + margin-top: 0px; + color: #fff; + border-bottom: 3px solid transparent; +} + +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; +} + +/* Progress bar */ +QProgressBar { + border: 1px solid rgba(136,193,208,80); + color: $brightest-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + background-color: rgba(136,193,208,80); + width: 3px; + margin: 0.5px; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: $main-color-transparent-0; + alternate-background-color: $main-color-transparent-1; + border-style: none; + border-bottom: 3px solid $shade-transparent-2; + color: $text-color; + selection-background-color: $main-color-transparent-2; + /*selection-color: $main-color-xd;*/ + outline: none; +} + +QTableView QTableCornerButton::section { + border: 0px solid $main-color-xd; + outline: none; +} + +QTableWidget::item:focus { + outline: none; + border: 0px; +} + +QTreeView { + background: $main-color-transparent-0; + color: $text-color; + border-style: none; + selection-background-color: $accent-color; + alternate-background-color: $main-color-transparent-1; + selection-color: $main-color-xd; + outline: none; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $brightest-color; +} + +QTreeView::item:selected { + background-color: $main-color-transparent-2; + color: $main-color-xd; +} + +/* Table Header */ +QHeaderView { + color: $brightest-color; + background-color: $main-color; + border-bottom: 1px solid $accent-color; +} + +QHeaderView::section { + color: $accent-color; + background-color: transparent; +} + +QHeaderView::section:checked { + +} + +/* Tooltip */ +QToolTip { + border: 2px outset $main-color-xl; + color: $text-color; + background-color: $main-color; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $text-grey-d; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $text-color; + color: $text-grey-d; +} + +QMenuBar::item:pressed { + background: $text-color; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $text-grey-d; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + color: $text-grey-d; + background-color: $text-color; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url($themes-dir/Celestial/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url($themes-dir/Celestial/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url($themes-dir/Celestial/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url($themes-dir/Celestial/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url($themes-dir/Celestial/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url($themes-dir/Celestial/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url($themes-dir/Celestial/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url($themes-dir/Celestial/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url($themes-dir/Celestial/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url($themes-dir/Celestial/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url($themes-dir/Celestial/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url($themes-dir/Celestial/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url($themes-dir/Celestial/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url($themes-dir/Celestial/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; + border-top: 2px solid $main-color-xd; + margin-top: -2px; +} + +QTabWidget::tab-bar { +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + /*background-color: $main-color;*/ + background-color: transparent; + min-width: 26ex; + padding: 6px 4px 8px 4px; + color: $text-color; + margin-right: 2ex; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + border-bottom: 2px solid $accent-color; + background-color: $main-color-xd; + color: $accent-color; + margin-top: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QTabBar::tab:!selected { + /*margin-top: 2px;*/ /* make non-selected tabs look smaller */ +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $main-color-transparent-1; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $shade-transparent-2; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { background-color: $main-color } +QCalendarWidget QToolButton { +} +QCalendarWidget QMenu { + background-color: $main-color-xd; +} + + /* header row */ +QCalendarWidget QWidget { alternate-background-color: $main-color-l } + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $main-color-xd; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/Celestial/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $main-color-l; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} \ No newline at end of file diff --git a/src/qt/res/themes/Celestial/toolbar-handle.png b/src/qt/res/themes/Celestial/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..0bfe4b59ea074ec813c3e9da0495687bbec02402 GIT binary patch literal 2812 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Celestial/up-arrow.png b/src/qt/res/themes/Celestial/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..a57b00b1eb412ffe24f253002ed5d9378d0b8968 GIT binary patch literal 2892 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/calendar-disabled.png b/src/qt/res/themes/Magma/calendar-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..df41dc7e385dc0b6fd2ae58c5d07fe82acb4987b GIT binary patch literal 3249 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/calendar.png b/src/qt/res/themes/Magma/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..c23747b2cf0c8c81aad794328154ede544cfc550 GIT binary patch literal 3248 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/cb-hover.png b/src/qt/res/themes/Magma/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..dd261e607ec8e58c9651670232a127d9910d8cec GIT binary patch literal 3067 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 JPDHLkV1iNkvKasX literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/cb.png b/src/qt/res/themes/Magma/cb.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6ca35dc92b1cfda65cfbc62741e352aa28efb5 GIT binary patch literal 3062 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 Ef~VTA2><{9 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/down-arrow-disabled.png b/src/qt/res/themes/Magma/down-arrow-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a9acceaec2b9165cb0552d711725a0508c7f7a GIT binary patch literal 2886 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/hypstk-watermark.png b/src/qt/res/themes/Magma/hypstk-watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..83f9d6ce77604f991925d663bb0bfed322187f74 GIT binary patch literal 6472 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∈Ln1Y6dl3R80CY}8 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
      1. {^CxMu-hA!&k4JwaegU-RDvOpzBh59OTjp!bn7U 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%0A&9DKqv|j( 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
        hd}T5G{UtAaz}w<(e~s z5|o32C6SSXA51h0EW93My~4i$8henN>CtAnT=rUPQr!cBfi`ghNNZACE7fn=*_G~$ zM=4*n{8^eKhBXGBKJ#*Cp4d zAc0%y9eP=txZn}4(#Hg$H)}(AHt64cYVl*Yr=P1`f3yk)C?aMIkRu<|WWI`Uh6VtX zs!WiyjYiA_2DM6zyzD!;3e+K{IU^cTREb;#W>?7rhJ;Nt#=y)y(My7v?H$y9xkT%_ z%w!I{W&}VEYzpdVQ888JStg6VK6m97vwwt0h+DCn0oT?(r!iLfKx%*Hm|x#czgrl( zWYSD5_1VlyDJd}#BSK81YNBH5ST%IUtc%QlaleP210B4-pR1_kgZGjQ|_EU%AMw21gr{oyd3XVsyO6rNOhs?{&$1*kG0 zBGuMP6%M>w<}9rrChR*+QLj2PKfwcYiqU4Z3wW%fW00FltuhQ#NjjS^s~(1s5egz&uA;A`%h+)FuY7>Jt+U!<5kiVsU*&-`%0`u`T`6+CACX51o{! z_wC2`bRMWT3#Nf-3~_5v3?jla7@i5Xl=9-(-a+sb!_dlmWLP(SbBK}XtbryDO5+UZJGl)fhFb!#tJSP{NOS~0l{DG@%5(ROm)mGNBBK>by91_#W>1tuz@eh?5*jNAZj zm=+E{i_2dU{&$T&C-7Re2bf;Q_=bT3NRt@jhPtjO%1CVpinu3UYfWpPh6OI0BHG8tClB zK?6J-##Wmz?Q%{>n-vg_GWhBVyv}YoLy{Ii+<55fVBn&hP0^DskCemOw6Dn z2~kYJ0BWhGkUEdqYiJOV*VdjqfAH36+=yu4+pG1*ExsUFV|;@2UuwiHkf|QDZc?9NL2^R3tSG%#qp6r+5_tmtt71 zI%z6mt7W&{AAJ1RgY=98rWg18qxU042nt`uzDrCZ10V+X*x@AL6y zx!Vm_zr#byx)(0u#&=J)^HYzJVCFxg6XTFcMMG&x%Kz>(=-K{X?y0SNH4SsJG3a3! z1iD3D^tp<-u}sAPA@-@0CV;}BPNg+9nYF34iKzt-<^}MLBayfDGg~4?zrUe6Kp+O+ z^4=%@YfF7}nm#@%#wdY6be^UH5}}J21N&9SO;imwtKO5=Jpo3WNvpnr8N|LP>udW` zf$kcvLj1!CUu@I421c9^l`tTM5K;VA23S?#?;!s&pVFM&mrY?roR1KKW z5Oa)TCThoJxXAeenN^WceEdMXT6U*LYZf7*(&cfgfyr+#BIFGGvOTVLw#I?y;}7%pFQ81wtIBI!<+(>Lkhlx*uApP2k?HUf09d)A+-!{Jm?u zk6e!H2Oq_wCE6Zd9`H*ebU9oM_~V~}J?2B;&%DZg?zR*OXK}TsWQbZ0p}BM)hzJOg z5e$)I3}DN^Q_BBJx}%l+`5V)F&daS)zewByS0MMc0a7u@AYsyw`S~TD6{{59z9@eQ z>!r|Tq>qjDUd8Xh@D$p6Lb?|4H+Jm+AxCORdZqlH2~f+$G6n`>ZSsWGN_-x2@a?|> zAvD$fVah4i=8j;SYIO&p$F(5XL_7+7E0oWUa%u2vfOkWCqsc&?fvJHgM#sHzl||Ud2f?H*@st2e`VAY zB10oH0ziYNa|ww=IYmUg+#N11w&&+Nx1zuH#=TlyjumTb+wGns^<6g)+*N%X0Ra2M z7((cBTrRrha&fWSPa+h;`e<#nvf696?jFZ*e6-HXo|!TtA`D~6F^v`EIHa^k7-9^Yr6sO0T__i34ZI&KA|z%{ zqcww+V&8X}g=Zx5nEV57!^K}0}=oKnhB)m)}%W+GNfQ-v6K z(Wm928^+KOrNIlw?LM5J!yy_Y5+G>MRuTO`kOdjNJ zuST=k{7N^dihu-A6l1H)$Ww?6FivF#n3=gDkcqo4wk9dXltOJ%Ynw^~q*Cj3uoB`R z_7K0><>+e06lW->0T5FR>|!xf6%inEeQAhnh$8kT8$W{6Zx(u?TPPx^F*5>|COOCT zviGDp7w;fplX>Q8D@YISx-DiBfEB{$kG7Ts7X&pJ{F zObPUrLU$3rcO$oUbt|Ss%4DK0V|Fe~sS-j6OyEN*0wR*8bKV&u5qSazm|dzptxZLL zH7!0*`A(5PwoI1^KXyJ|BN_olLkAnRrsGsn3IsE?+}-L3^OCsBDPMs?*p)#BBftUq zv082`uKRRcr`Hr)$^e!KL9}ChMd=NW*CM~GP1kCDnqUPcz?VpusszS}!n8EafHg$E z>ioPGN(9B6_6KTdKhX-NT?!L3oLSMyAQ&BsxAPhrQkT0{q(2}-*htkoo^WblW%Sx zs+u40Ewxt{?d_)!1eYuO&p$@LcBgwM>eE(#{WW~`0I#3vq4hc0wo%t7@WREPTTws= zfdez(RTzWAg+xFtM_w>Y82-gY;yC@e$J-BH)~I@i;tK|Xup~le1(T_qQhP=4hH^3e zxY7fpPYQ1$oq~RVbSUyq5Agmht2Vs1Z{NMBzi=V+P1Vg<>%?DBUaS1suzh`M*MM*K=~DG|43RkyIho02 z1&*8Y4st2Hm6$_dLaMDb6<;IIoLnRTth4=2U39+a z6LUBmMl)NldSC4#vCYZ|qZzXZS4hR#J%&UA_&QJ;?ISQjO0p$v#x0qS;5X0CsGS$|~SX-48D8~>( zK!jQv5#=1sY@7-ct|QAZY|<2UeDM}y(>s?nFS>}h5O({4i3xzELI?#JO>>~*RllRKt$0$0Ly@AE8AlEXAWcfs=2liD4PgX>Ql_d? z-v`1FD8=YepRO8E0|i`}S)!V zDqRlD(^UPJX(B47gvoS)Fopzxeh|;%PnD@uB%Dee4pWH1U%D7WZSqh;j))?2PF~j~ z0x+9HHjcXZxkfJvJw^6Xqo5j@Mx5CKaz%-9C`_v@rI>Tv?MIx`6=q%m5rP4jUJ@69 zjkMSM6*IlMpZbJ9@YwQSJs7`S>3XC9R%7(jYYs6*@KZQNZdE-BjR>cy*4FwiryTZ& zahz(3%m8P^PilMQaQFr6Ql#9Z#aOP$!=Sogc!R>PSbQ~gDbiAOLGlFD_p?0L>T5!G zh!@Pg!Mc_mk_HY4W)_GCqQ!7{w3XKvYiW(lsr(-4Wv$6LwN_gk#zL$)Yil#`VRnP) zRn*a(>_JF5CnoeH$o*j=a?o=NN1L%VLTt{=GDE4+z!u>SK+%T$W!A5Mi}5Y^kuSl&tZC8GqT$zX+M{dz*Dn|4UWGOTl+yg37WFJM^qH{djWp3HZG-TOL;tf=I!FG2SpK7=A53(q_Pd8#3?kwR z>^e%V^672)f`miP8TcOXZ&CcL@|S?$d}J?Y{kaw%KW>k`Nv^#QKKQ8o>dUYlDR{(=igFm=4x5A0BHt%M9k*}tX_4O^xoZ?8-gDntC-=UeBf~l9l1lU9Z z&-tG|*CxWg?~qWM#>fD$-w%j*^Tu(C;r@e5-zCgO$g8o_%ux4CX9Y$Kffc|IMzJ@v zvDnwB1~k)3gZ=)%KL&7zVmE8@Fa^wAE(Rjf<@n4~kL`!)?0hS#4j^8w`q|z9Hq|yx z#fRcijR0zCQd^h8det*?84JX8Z<_Y^9&Gjp+3vN;<$l1v)0CjKH}0HI7nff*oc-~- z`{rT0-0$8R>ND%{>1*{vLBFHbdlP&<tVGFeRcCxwghcUCvW!RT>y5 zXloi%+}CPiE=o%(9U%csMRJY=I8LQCox_=1o5rfXtO7IuL88Eh*qSa?-lOflz~}Pf z5F#@Ypd(fs5OcXZY*vfwr<>Zu465j|PhFQo2&QUk9x*mcVAO>(28ar<5`C~8zxRZ` z>00{lUmK^;hb{`Cv{@n(%q&I->~;%BCV^oCjA(1nJ;$cN4CV*1$V?hit+ma&Nk&sp zfTph3U>5_le(JDsX?FVN1-_RJs%zt3)bL?8XdvE(Z)&KML z?#av}mG{2c;tnAITmo!Og8-(^Oj%LPP>WkBqnVa-n8ZY0X{Vss<2<=}Ksh;1DUTtzEx%M2LrR3LFrj zD4Zeu!Bm&A(Zv4@!tPk_H2&xaYeGPx$Us!aa+sVB829?yLsnpt%sFl`+>HhAJ4u_}TxV<`TC!`0B-x#ZQX`}5O+w%`@?|r0Q{)ujS zD$pBB_c44v_AjRH*N4T=T(1AEbiY#KFH!$HY4w|wUg(xDubmBd-u*ScL$er&S9Pa4)|7soMVd7Rkvo)uF4PuD787+WST0NiOLzIb;fT!+P|^2 zdzK-xf%C7?5GS!-+ld)44G|wr!Vs<#l2oV(!5yt)S z!!Z7pCzk)&Yr~f$E;ftiVYmne$PUzr!8t53(3~0MdGXo?WD7CO(E<>dMXa^v901Si zn!7!O7%0vP+d0_MW#v~%qw0$~nn47HYJu>8bYyKG^B&P^ZLQIa=O+TJ&97VY%^V`s zDh?)nc=U5%1d3pn2Ioy&0~}Q$(5H*OZ}I7F&dd<&yuev-J4 z#cbx05@SjM0mQ%zGShjf-*40Zr5{1$%MD*lopi~X`lxxi=x2eiDpl#gHaTF7UlRVc zv>5yNRa$ybYwc~I&s)*M^a8~L@dWf98{cNr&-022NWrTg$IQA?lnF!MSrcq>Q5(F?lnAF!fUL* zcq`mkWiTshNW?LAfEY}X2)dk87{;<$^#JGxfz$lVVN-OKUloG^cqWK^O z`nb}Ukxuci(g@N2i#hD`DsxNKw!4Fq?!4${4p%>jEf-zRfe3SsF@*K9AEs$POb(!O z+asvF%j$EYpy3lIC%@J8XT~q>OHZ6r2r-VWtyW7U-tI?Lz1Z#_%8^~((wbz`9(0Ae zHr<$xrD|=p$_Cm88BY3mK2H1nF6?&S&h>9>roW!*AI*4O$M5d8|3N?f>1p~S)A?J& z^tOz#!7rxu|0f*%s}g>jLP}aavX|1vS|12kDt442NzjNe5OIo8Et!Zy5V?Vtn!IBnn_#aLL=NL@F`CPIQCs%8icF=|BBiuNpAcxA zrtN-+F{BixsXUC5_vQ=$1#zqJ;d=Oci{ZbxZ~w-+&8BZnP|eBjksve~-6H{}B7mrX zW@w068kioCI?qc|gDc@ltt~L;F4iI{=C2sdX@xY^)|$o`%+w=0LgW}oWIo*xA;geE z=yL2*7!0LW+7G;5cYSJ8o8i}2QL!92gwUMO&*VkYY^*bnwGuyzz(iUdfehIYA{Y!c z1HSuh*S105c;m3_(xW7`>d1kJR8+3G1c1;~`|REmh~66Dn|t{# zsPD7s66__TsX;1ow_k8%oWYy!ra?rLCLuBeZu@bCwqqtlQ+2XnU^XxxlLTfThkDQz zBCb|FBB)x|Ck8}>(liBDH4mo9DR|B#1WsUgc7q*;Z$F~%dL%z~sC;PKlPR16y@9#e z;Q@9}00#&I4Tk^kGyUyb-7^qkpt0cd6 zll}4U=2Z+~6_Lau7}SaY1eO?s+aUl%q?C$gIfc{BN=p${a7I@by~FGKTx#9zMiE^u zyFlc2lqT9l>eT$3axBQA@8%&GaYF56xIg7RWLPYgr^gSr!`-vXskGf;s7=3dOHY`9U)XnC4};sO1zEU9L^kKy;1` zGO$J8k7KdgR_obMXSu7=q|@bbg#&i(l*AO+M8M5e-zFD z-xyo3!W@jqREg)sp3_MXsZ4d63I|^F-EJIR5f+%e!1slpvrCa#n2!(p|C3$**JJpH z`S{V3rBu<{5FwD0je4?InU1%^`xnrI`ArB z!QlXbiBpQT^-Z_Pfsu&zRifFo%$uYB=JhxYW`thCqq9hFQek#OoVfzbf>t%X$9PgOj3fVWe53${DsschF>O{L%55(U2 zq03&{>}8rINC+M&;~B^gNomZeYEqj=!pR&uhz2HNY0;fB%3-=SOy5+7zy8?r+3Sk| z{wct8pm$Xq$uL%94ygd`z*hh+wi1c4bz2rx3Ti$A~zF2;0 z%Qqt-8n4zz5umGeijf0>*`n`i6H~1spb8?H2+S&g5!sxwXUv2|qQ*>%8~{L?EQ399 zn7+&6dmjnMZTQrHQ_7XtR9!~l!;l!r(~F$@aMkaF&fZL`hL1(bXusW3An1uWh8Tk9 zIC@&!?EFnp)D+A?L{~{!;IY)d_wvmlq0sl488_=i-{qJhBHp`y;Xb-y7)5lyA6Cmn zpOYiq8$!QYzIBmL#JWcopH3`Ao($p99ACa1zA&~0(pcMiy|5534#VlSV;|fjQqGZ? zr8E{jsNLF+Sy~`_67@qz`8_A`WDy_VbWg4NS916QTSR!Y53eZvn+yFnhxDWAF-VHXVUTwh|^*by984?*(^7UPDQ&M5uudoj}*?dc!*a70}rBd`&3{g zq*{atL*S`2|ExGrh9 zRb8$6ljDt3eo_jnWseBMIK>ch3a!cEFjkRep8&A$5;4~zF$Y2nF?c~UqwD}g1Q1$P zX!vx%OG+xucTpVzv+WS>E2CMCoY%`z8#k$DMwnCZMuZR#0M~1I({B4p>Ttb;IefsF zsaEN_IMp^y)v;T(wo+=TZ3aWD9mZ)aEik)(gPEm?a~fSYrU13JQY!!krm<8fwhZH> zq9)A%h8V9WzI9Q4eFul!p9ik9kb#>TsCF^Bfgz>nEA~=aX)VU+GIuvb zhbAAX+c#AI0UzJk^f?7I5Hlb^;^j0MhbeFXuLv2**B1z8NwpIDz){7Vfb1>TvhNnl zt~QC0`##4Qh_I>p)8#sQ5v5u0>I|?M3gMacbS2qPv+aIdExQ=ga@@r(Un=w|3{!1Q zJ$TX-d<`+Tk26m^5b=85*Xp1(P&EbOR@W-rb;1;g4WOzWCb=kjW5cNO(!HsMv@u15 zvC9D<=j7QPt}hj}snogPYl?x-#Gc=8|I&Ezv^L4<0&ur4KWmGR^}T^ya26Fba5qJ* zQd{#$V@&L$`w&8k0T5D(V9JEitOMI~_yWX#UgO1NAGYy7Jt?`tKdw1O4iAMb;Ne_E zOk%Jq<%U^7Vz2?g#j7E(Q?^s|nJ6GaOtCd1LPAti5t~YbCRW>I582LF-w{HH0mf;w z-+ma%|9EqGdgJ)V%k=pE@TS&c>H*0V1(mfOOR7(UmB$a`r>VV z|3W{ofTR0xgtRsMoZ8b3z7zSE&h-RhTr=dmJ9%yYf~_23ZQMp_SM1O+r?iU>d#Mc8F4`}0aw)=V~q0<-)EwJ&-+Ap zCdU#QU`LQl&mkZ)n@&?<<`7w$&Pm6h2-I2?)xcq@%|%cTBO+%n56)^DGxZpiVHj)E zn>UVYlY0-g(^OIngcM_}BL2_&VcPBnKx|c-=(W?Mwm;ltdv6!-gz%cw#VBvf5DG@|R(#`>;$pp8F1uyl4a3-_gn(yf+s^8TI{eU+t7ne*y{F;14&SoKmEy+=zqD_u zz#WOdv4u~Z%WDIE_HG&DX1Z}&b6Dkgf7J74m%weaR0BrqBYV;Afh=A%cR5YP0T#ZR zaeFTyps1W2ubW8qR2^aHaW=KywZNp)~Ef!r2k@0E{P@-#)!L!YIJ8{QFt$(I)x5fst6!%XBTI6xCMhso^^ zW0zy!M-e?7M!fpa+(H)v zF80nj5@HNt#>@HBC^Gv%%#Oee@e>VREc%nJ`_tS`%JkFFrGUZ1YjC#Y6QY<^fHyvuh`t zZrR@-#wSa8U!afGI_;;gIo-Tk^`Lk=(RN`sGJbD{@89ro#B*z39_`D`e&C7L3&j;& z3)t?`D-|9+#t#PhcU`@62)tUYgK7ZO6x7f)lg`d(!lss79aozfIFQukMprs)XtlbG zJw_f4U*_~Hjs6eRwnG2U5>`0@C=&~^rw;lB=3k!Mn^w!t6|qdz#26re?JQIZ5n;1g zJ@NR>VHkagjD&rc5z%Lu-t)~fWFj*IyIRqE8RgHDSO~#4#%6Z^!FCwRqDwi&#iFaN z)g}u+g3SP7wd|IQPEre|@l63H;m?m#806WL<*lfnzL<_2`{xI_xcG+a{N0bo?_Q?2USI#lp}l;6{PnH;`u*uEE#8LkI|uo956W*J z^o@o)vGZ!DG2}ijH|q!Y9!$fuT4a_MRgb%T{bb#xG#tj^Ff!9rWX_45N^2SzeN7t! z=NwZGk(mOS+U0(5HffA;<`|d-<`}4nGz}iGaQqF5q zF5{FI%Dn87s_ysWa?!a(+JCC$vOiuge8!PeG_`SRVrm9Cr<7t0G)}FFAYpClG6d0C z(-beRvL;tAIkj(9FvKNR6s2jiC7F2vDSuQh!|A`tj=;6@~!YmZP!bE zwd;3a1lk_r}k=DjinP|1@OQ~u`fwEZ>-Lm62oYw&zVKdk^ zdFmMV+q$m+Ih;rv)%IQP5T!LwJNC&_YeLM{^<@~}d4B&Lb@;jU>E8{;;(PlB8cV`}Pv7{ar$ z@?rd2$M78|`K(bM+In~RDk)E3*bv+lJ!O4z)aO$9^z{E{>Q95N%dY!AY)yObbI!f@ z8Q%GQdqOur%m7J{AP9mWVR1&0)MyQ+t&&uhTya@S?2_V&D=ud!$FY^z6~#&-sg!82 zDiY<8k|+ukDN-T{P9gvi05K1Zp5E?$hiAO^o^$rzYps0P=V|H-3P2Um&veh(d#(Tf z_k+LrD1KrLKXuvv;zjzxtMY%}r7z2B8V)D~vBKa8x}TvZ_~5%E-93hLFi(l^Y@&*Y6Mbkpzwf|)MLFOhu6IN{?28b~rY7i*=(MI^ z1fG47S+|mSD-U&Dj4`yjaaF5U1;I$FIU|@l5^grbZa*QwFr-{+-=)>i7gbx#ZEz(7 zU!oLk_uF<44dU2}!tD&XoYkA%7qFJfOeuzxLI?o>jt*C=p*uOf+>Mh6hZsPuPWgDv zho;v%c{R{3>zywAfhUh&-p{{#k&lK>9WaD(H=R5Ky}3qh{kIGzz(JaxYt8zxxI<~dK(+`_S? z8Z$dsX-We3p-+dKfrUl5?_%o`)mm>}KMFzSIpFQQT4YJPCdfC`_i3m$I zFh_(rSGUEO6N0p1W=z4|n5mQ^BCA!eYRpt>jX`1v3UChcOs~&{=_^|z)OE`4px7aT z6SXKIBANkcg=y|=2&V%=+r=oXxYgM$IU$7#k!61yrpFZ?$IFi`hwaKlZ_AF=>=I}W?KnIX|K zwRT6ut3@D;QwhRd7vPQbdb0!&B2(GtAIIHw(*M!dL!Yp{L5c>aCLWJAto$Er@0WK8>qSF zLJm0yIy6dJHBi$o$fStXK5&e$pG~Kg4g%iL@(8#Ry^&NR0(0C08S^TSZ@M^Pr@rMTg^L76JoXY7C1sok1u#ISAki$M+7I)VHVMH!1<&I1EsHiSwdb+|oGcOgj zc8LT8grTo=$q#rem+4o%pkP{dvT3vWKDvW>i^DiL60w=hb4^`PC3E%+DMAhQ(K$zoqx@0DW)P>qrkPe>LMK*fqo59@lGs8`8IB z$ZvB#HJ*{&)XdxHzconOrokMD8g;_j^ft!OcTt!3G=O7U$OWcQ^%qp0NBV&7e_Nw< z(Nxhv&?_Lc_rKYdInOS)Be(<6(8Z&nyWCH$&(l&~W`25hIrJT1gN4#KPHMhh54E=5 z*m4jiB6X{(4P>`)J(gi0`og?vs3;_)s%B<^Wf;1l@7kHJl&WTD7rPiF1qnf}ZPvpy zk=xUWVkcSrT@aCf)8Xk9}SxxO+f9csG9VX7~DxAA5EFr>~7) zftXWb2`Ca$xPEj{s-8^QiMu5CZe3fix`Xw~2~}jZS)HC=b}=C0*~ONbh^f>%XI0hK zsc?ssB*my#+tX>zmzQG`5cWd?fV1;m6ltMqRa>w65Lwmt<2+5XxyKkppFUZV4PXR5N1gV%)5Uam=M! z7sbJe2m!YHsjAL%A;gpd5#^$;CPCT}6^YGE)#ka-)iAJ)AWE%mEUcqH0|it6Dquf+XfQ?Jxfe+5Z#mK9N>E z0-3kWi;lToYzbi!t^g@8Qq#3V+wuw_g;;7$Aq3&pPN}LX#wnMoc66{RwN7&>MO8I4 zCY*aasyx z+JtT85@QhIs;;UHd_zPAm=J|PLtvs7-zB1jpz8kG=pRV@RM5{{8g^YmOIhcXNVuvq z_=t3=@MbMH$_VpxvN?Qda~v7FS_Pn%+P)(;BgDITIz!q^>RbJ$E@c1EYz#%s9Ennt z_T(wG$`xq7`Qr%5&5587GC7<9mRb8J{kwm(+&IyHbU$?m!T^p~0T>{dNv&(J;9krs zKtUvP0aU<{0s-WrOvKbw%t(tA1kDTq$gZ}p!U`D79**V4y!|Jg{juu-Jg?5mw#@xp z`!0Rb^jETjsZ&maEQ z^}T0S@aWO-;PUVPPMTwPZ#7>`sFETh00bdsY{=g$3RvTSEdxB3rD@tC3oYQvL~Uf) zi1iiVEhT?h@h!*0i@WL7tf%guo%NRRjm>Iz5HpE0uBNizmm942j^IY(XCvSRei?Av z+2aD&uldsf`Bv=Q3t>5jR2`ErLW3=#J65&UcF09lm5Hx}qR_k^!jemA?`m_m)?xv0 z_fJvxEWwA%#it-r2!POBTiOCFW<;!NIag^X^f|ABAoInTm*xH% zxs+0`z_oNGH8zCSNrb?1g~@UxY8iLCS~NCDf4dRhzIB|d=2E*9&n|YYk!@Th|J<};I`2WR!0tV zBTR$qmE}iO{f#sPV#{E<1Gm)`qp2-s3Zg#5vy+QIQqR9p{O{W8V2HjDejSKvFpM-m2t{BR|oI9SX7-TF%9m<2t)@% zPejw4&D{0(l5w?aQEksMRr7Y1B5WzdAUq-;YNok9jD0}Yszg*&mnxXK0YniIs_JdG zheRzS16S_d!A#Bjqm2;dwxdB{#M<;#YHI#H8~Vn@bieRA&^61iDC7`Eht~{K(LXhv zy-o9HC_d~DJj4xyn>H{I5;b*)04U21wqcrIl9ULy+p(P*5dfCFZu{OB!e}FPU)8;q z-zFitFXjNP^|5jaa4pvNzq@|uhwL+-)K5N0Gys~hu(NDQ9+|7^_mVzss%E_zAc`t7 zr9Ks;zzk-kYWs6AVDkVnR_YPrNE5l(AF}wE+UbZ$!=*hKrl5xOz6Sk6TJFh zSKgu9-+=W>NJ2nBHw{ds8h}HqK!UsDK}4;3QS`>q+OD?8jhO=fR;zvCUq!e2sagmh)f_VtxU^Ao`4-eLlPcBNS0KVH#F@{?8U^5&Zu2pTf zn;iVcjicM^{ykdWH%{+o1~skrOc3l?5Z=e>12Gq!`0^)gDu`)v8ysah!6| zR_vQ|8T#0Dkq~QbDzcDEo#z~5D7kXZ6Oa-zV)N#t7?7Y9`)bu@QE6H8s@etvOvuP; z2CWkY5Ti6{05gTaE!@~hBCf`axzrFtm*RfR(_9)nuq|j`+{q01pMU%K!-wTxeH~ty z!a;;Y906SItkgwZUMeC`5H}mgISFSGEY)*;P}FM`;dw4@*7vC?IJUc~nn{ZisMYH2 za#oAhs%-#|KybfKUR75^9|B)&$2NZOITy7F$(aaI9Td@p17L5yCJF$S3#$=8hj5D> zOL^dON$5mY4T-esem|ucd66HHn@JD=2SRcqRg95|)Iik^5XLb-efjt%>i^^iVb$4{ zU%<@WKx$5Tc0@YZxPcoiHFLtoO%{Mjm$Rm-HUer&5gBRG2$&;MkfBe4IGc<6!Nu-+ zpLjFu-Q61j9=a|OQB`HaHic`ib7+b%vnH8gTD%t7+(e%8`I4d!eVt|paByxMXLn() zwYHQEA*nflx8RB?AOQ8yvh5^xZUqBT+Q{#%xUR;gx-H($|Z>SLScYC4t>Q z`;M~z-udG3u=YrFkz`R#SnzYDW@nQghuRZ;LTOwbBk8Xch&jHXW={FqW|#Y_-Gf$gnK4d zf6~i0*ZdYOMeTwF0#`#~Is!YYrJrXqm7#aSS`CRi&B0NUWS$7UR&=$hZZ-_vJlA<{+HF8= zdS_^6&xY@L?E>F*tG@581@5dq_Urx+e}k`GlU!j0NtWHfnA-$JnB5^nY3EBKG%zG` zGhu$C9p?ayT&w1}w5hV2uLRygHO=$yR{9dhZrvY}J=*3NqlllKkMl)l(wDTH*K${c z`}pO6uWtRtQ@^$G>lF{<<}0G_nd@iHkpEvF(0}*9{^b~6uZyw5@r_#E(lJ-H)zFFX zoOPbFnKflZ(|5H&dLt-a1#^uM0{{_zF04N+yVKbp#Gyx5fLc}1S5YA6#OTBgFf&&x z#DQrwBtqJcbK4s=eHRlEQ!`>-HGe^v4i7i&0kmHA-jI^NS3;uJy{%QvJrFShivS_G zUq3oHI$RZ1LW)t${Lane{eG@y!;r>t7Lh0JTu(6o^D)yimhaBfV=K=Fc)Mvre+N-N z*%606z54p&M<-_~#^ndw_Cr?+@&)T)HgsvT9?ma!S}Gy- zL%M$L032%7S~ZBYFrc}YTve@BO;KXknOZNxL7Fi7aI-S=?S2d)G`a3#OKBZjb2p3T z5W_Cl*2Zm}o<_QAf6$G0+VYd!z^;Hx5Xr3h&{-%1c7VpDFmr9xRY1KOYY#&rgkk7a zb;?zjO((dy6MW?%pFWm%V}8^1e5=pTpZbF$0dYeRn0AhH&fuW6iZBc3tnN_EIM-Dv z7cp6z>?49hHP59s0tg|3c~RT#r<6jA)lE|_MMDfBa4ovs?Wd_Qb5R?s27qf-pE13q z^_2=23O8y2wKc(war^YV|HEFNBnQh+m7GciwPV5nu<4???{ZUHFc2BI5CftUA-I_{ zBLQ%in8>TDNO3@da<*Iz0O&edFuTm2>k%4t z$&juRdX{soYN}SUGNU6Q(Tx<22%qX>%;j)5zK{KS^aq!FtsZ08mb%R=WMTmVbUx1p)2YK!KWdMlZ@ z>ZmS6OCpq6%~rLfYMoFV=dRX|-08o&PmWKM&<2mOr(hf6}^Nx6nAyv)Q#F z1|;53-EQPspDgp;GC{7WW=sR65YhYKX6KI3b#l zjA#Zt1Hhss7e{o2fQU^)&y1y{s)uON^bYzx*PEE1U>(cmdT?%YHjR>Y@S-lFx>)nD7J z4**^tYZ?LtdvunQklXxNV8pHuvOVT6R{fq4?+72Ef7Qa{XzxDO<2@PR7W8Y``R{+w zpSlhI;vszDGKD0L$Y9YS4P6M5YYjnS3`{u9wbV*Tr797w`dCVx=VInDgw?8>a&CdB zHgp2SfpJIS`ApB){z13uVytsHJXj;kR5ce3W-9__RshR21~&7{?YR6z-e}Gu*rK8T zJqA*HG|xE)AyqxQ*fmqk8#$Mjg=sBAY*}YU5hg@c-S6kK%iYQ8#cI{xymm;07u(%_ znvV|F*N+Y#on8{t^=pThySD(v3;g8*=lk(G;ad*}7JUAqe15B6 z+vd-1y;8h!^MJZ=v7dLlF_*kr4F~HXm%>c*T+YsSU5dms^oa>2$TXKZ=RU>L^Gh?k z+>P7)BuwL&n?bGRAlf9KWm$HoF192~44g~3xY*aKNQ4BXs;dJ+-^CC^3}OJasG5bq zPu;zB^ZKC^>p1H;hrZ*$4T4OFfq9zC8}ngUCMrvueKmAzS4t661aot1gS##TL=>T} zi|zgD3kKO+kje~*pxw*c?{Usmgu5=}tP7XGn&z~cnggZ~_G8XDhad>#?xofiKW4(s z(eQANKl4R>&BK3iN56YFpKR^R)n}5s0Rgcv@70dVv~s@`2}BDUNaRT`#i6c-#FSD5 zY_#_lyl!F>>bmF#rPf+&V+<3(oa=s^TQeU3(V?Z*#9@PQ6a1U%^!?@XEk2I>{0GrC z^ZWv07Wo3o!_{CxBPc??FORJ&VjZ+Acy3`}2TqX&#FSD7p*EfU#K&oCM zbwpLQF|mNKnwO%ApaAT44Pk}2Ep>0EDb7`+`SleavtC@zo04yWp#vezt;Pth%S^k2W0z6|T!cc(Ejk}#@SsmjE}L`-T<4vkLND!DO+wn}Q+NUa)U2!W@w z-Dkd*-+ut#`L6J5Uzi?WB!0u2E`ivpo)d!a1) z6l7AQ!#ri=hp8vVTy<-3cMu_aahKn;?yj%W-fEqVW4wj_?Wglz0V74>TU?$6c^UL$g*hfMoSGk3+B<)9$r!n4qp#{q^I`$@%u?t!pM>yB)deA=n0d&ShMh znt+6j0OHLAv1m8jqjMnzm}*NQYi$)5SQfvylt8Z>(|q;G_c@nZEv0zvc%y2!t{*kd zS*>-N3yV0w;d)hTakJfiYD?|QN2fC7rz37I#wQt%SA3mx4BgkE>URDIXZ7zsnm((n zvGb~#$s`oVamC8~BpB^p zo?>u-6vKMeKl9YR;b3$2@L||)wd=NX(RTGAu4*w!6d9*Xh`f|_Jm*?f=UmsTZpFCE zl~ZH{RU@W8#Rlf6RYM3V#!_3Y{wgi(U~Y~J)x{SDGF;_CX=wG@18>lEW&ds3Cc@z|IhCSVg3Wh^kXo8;d1^R<9nb1kb*=ebg#_3)Ep7IZq>_r z+@48NQv?vS zo*IBArf{?wh^XsA8v-%YW;2wc<6L@S5Sgns-+bpDwM@0Xh5ZSz58gR^I?8*M<}Uus z!|@j%PA{a@F9pu1KbY{N!M>%Z?;G$BcmC02r~CQD>I<{Kmih~pGlN|}oP@Y_I4IMf z^=WedS>v9Fg$TSlIC1OtOOTvvDcX{jA&9=A{%+fcmi0ia=B?k*@^}GU0U~JG`?#gM zZ+7V6uY5{=X0lVkS)SNq84=5tX5W9F_)DN5G`RTt(}ADh_?nfesK zVVrVIk#PA4FWLYhEamyfoRxm?JM&k+u>0c6sShw2geZid4#j*0HEF)AE%Ji3R$)R~ zM9R$q)?()e>%LTNhL%>`s%j3ff}8<%Mi~g1DAy;6t{sH!I3GbwUHtMise2^-UzF*6 zeLNfbGqu-ze#caAU&`xU{JPg~HvM7{{*eH$yaM07hjA{ylJPLe8Z02y6k8&>i@_0^ zuuX(T=!rWwtLn+=MF?{1#<9EarqXE=|cX=RD1GRJ#|YAImFa9<;obt7|z7*mL~8 z7tjCMxrg;2K~B{6EZt_c&lM5+KHa>2H0KrowEZ|uQwf2O4>zr}*Z1k#(P0~m?8k|P z+boxWn$8Is9iZgerFgJet=EGv*QzN65pwr=E-}h_=vvte2~SQhjt>tGH>>?Lw;b9u z7jWqNKt!8$Z{~_<+pTZ6TR@K;V?)^qA+&AW;_GSzwNlL>L>3}q8mEl8jMZj$t(sEo zx~OL3RN5JBnrAcX`@}?Qivj_cEBL}KTz)AIrPhW3o#$d^OjK%N5mTGyB7p;QtyZfw zNUS%K3*nsWG-ofCnQ=%;_}eBQpWufA{JC4*$40-O^%+JGI$^PDOjMiVim;Y?4tQuq z)$`C})l#+VV|(U?AgdvjQukA?MTIGZUDuS6%$M0d+~JR}=(E}Xvj_GC4C_^g=2jGFarFVhZa>L1Peh}LFqcw6 zwF6YM$aphnawrFDARN?_nU^}``3PKyENd~FQaDF4vqZUnY zHD3C8Ztm4Agav5cj7tPi-PeTcGHXnLDDItUG!udc`}s+#f8%cdQRJsIdoAA@(~Bwm zy@z9PJ^}t};h)R&GdY+dApMI9p9Q)@a(9roCw+UJpP6^P>SGMmfwZFA#{FL_{!U!? z5(Xxir{LbRySXB(Y7>c=d96B^DzXGYo1#I4iK$jI^Wx0t(#8=8U4XAVguni|;qUxb zx_Mr|?F05>z5Uu3{0lYS461;}0_~eeDAndUx68m)v%IZ)-5ipZfsm2wT+XI^Y~|Sw zeqsav`5_-BI+(SaArAgmM*5#ix+biFV;?FD3J2y^sBbNBX!SGj&1MkcT&gg2U39>f zU~+JCX#WNX+07KsEn%mBG@Sj$Z`qf^U0lUE=jGI@1}q)h1~p>yG5N3Iy~+geT1(4g96b_lWqToV3zh{f{5}qp|+l&Zq5oh|pa-Y|a#LX!z#FNmBLW z!_Cd>hlu$4!_!A67Y!`Zb@Ar)gWYZ_r8XFA-^Cb0OSbI|E+u}~_3hd0uV!H_MD*z7 ze426>1rTtxvJ`bc7v|+)0LaWpOD_Z$l_|92Kn${oGZ)4@Adv)VSu;Xn5j1VGr3OY* zwZ2cScW7q&aW;d~v&)O^j+xi1{>HTf07xk?;kBbf5jwxvt=GfQ#Q`9Se=|+jOdo;0 zJ9=b9t6x6T|96o-$-(i4y6*9QHm3bt5TVu@gpUu`tD(Q#?swC~NY6ZV=icq>rgpJy zK~pWIG7}Q)_jAt05mF4;Znx-&6oVWeZ4NfWvrpd@q3v!j!ZFIwr)x(WBARn)y#7*3 zsm;9xAxJY_5Mm61jHRdxRZru%KRJ7>U@@#xaKHwl&80S4)owqx(gh-hz-k(p zW0VCTIOVt=Vwa{VHz>!&<-Vi`8Lvr8}i-VX#d;Ea|(xSTpb7BHVV)83$ z`Eq_jbZ~B0V8m95Q}_0*bwP}|lu9wgBo~hVu*$PN{Y^Xna43 z8418A16JFVd>O9qh;r4+4Ncl%t_mIAx^STYBxNao&^d~=?k+i$_*c;V zGV&L>+or^B*P{#_tt~$%{zGg2z(M@rHTm$0{%kZRnqM-w{9z4DM9)Mh8#ybybbbA;nsu19L=8 zp+xy-UkvxZM!)}^_I=mNFTPf*!8t@FjEsy_OZCN)vTzF9j;P@W6oC;}T2JPDJ=nL# z@*|yn&vE~9_OEWsJlZ#p`b5CLJ=1@ACLwju$2rC9uBEQ}6ats5EzB}cC6|hbN0j{L!4v;9pbh-EJ|y6!Ce&ta3)7qVW%|!;^uY?{Q!3TRLL0K>E^D zPG((q5tzog2w@jP%PAZmu5u|C+cB5gsEjd&7^F*~g(n-}UrlSZC9U8vus@jS`I5ek z_BzAEn7U>#L&&wdSs%rjOSKAZ)wkULs3oD@+uqL18i?}fa8;`zUNwALZe1$|yWRd)N6&%% zCo+C($6p}~1YySi-HE>1Z&sVW#BlBQ^->i957&MBYGa6Irlx0?yK9GQVy;#DE|#jd zZ(ch(+}wZtQOj+foo~@W&B48@0%D)yoXcuRPu#sp2vzmbg{h^|SmT&i||T)c$t< z^y~iedAxNX$D+nzW{!l!Ozxw@re;UpiFhum+R6+Sz|1=)1>74bVq{*qt*7bwINi?E zVAX=0#qherDn=!K!ReBCQXPd;myn3vj{CUj)8lHVA&vlDDV(b_Q3&lENy1$h5pbSM ztrgrDY(PI`Vnh?Z5cyh#7m+WWqT8Rj)4!>gJAiK|nCIdKa~I}Xy?Ri~=9RdSj!hMd zU7sh5aUVj%UUe~qE|nmi=~H!nXs`vexmb*sL^E>%P!R*Ps(~mp#T{X5(JZQ6T7D4- zF3d4V`vg&=%Mx+b8Sp{s_c2s=aEPj%)k-`ekS}sO0JH`8$>6|lbBGbVo2JVkgvbcf zSO6iVXzmEmnqetQv(1Q5bx5@wmb$NYsCr;ktG{CKlIfp5;(z}j>^=94`vPxq{ult* zl+=GIQxe$%<`hMwIuJOrOd^r|)Zx>ae@#}Ofb=rT$h;2tM`QhyHvQ-`p4RsBC*sbt z0t5k;8KViQngixqORjwv)!YGu$iPf(nsbZDmQvL*1-RW;HE=`*y_brqT~OCCY$AH1 zUwfHPC;DUW&d-wms?inNkQWBxVvz-KBx>mLYg#_M!f!dCdnx>Oq0gR` z=PSHa{5F>N_kKC>U%T*cct=TmNFq|JrO0pvo?Zec2yFzFQrM64H060J=GLCc?O*#8 z;EJrI#gNGf(duapw)OA8`Ipa22i&iF1IW3E&|K72MM#mXD!0ikcymIy*=p#Ba6is5 z2r=eyUI_!iCv+c>*g{rY|E28#YP_>h@Eh4U0U5o#<5PW+fA<@8oS@;C{Zyl^SzA(dz zfC=4Uo=eVU$~6!$VgV55X47u{Hl~(-#y3*?yZtOdu3tL@WkDlOe8}4DX;qOV6!s!_0V-OoStt9DaF{O^y-7h z`*CVOMJ9G!fQnrgTX3%LlL$Y2bjl*Dp?mq&NBeOurRJ)ApH%JWU^C5myBk-1ck}wu zJm+zogGh{Wak0;(H0H#9obp^#3Smg8RNd{T6pL!JTupOE0AY$tYYp5%&2nR|3aeQy z6%b9m?HvKY98|6EV+b(%NK!*2uo{6R3pL=gqZs-wl{VPl2W9F`q*|)$imjz z&45H0W7EjB|3?o&LI`f=2*k|9eH2G9098kVK#cC}R=VLIao1h*|Kx}BpZ>1=`lInT zUj!sN7Tw3bUR`!)pf%y9e`v^Zaz#uS#*mJ;@{F z`y5`AbU{RsGoU&M(T>>xA|WjcS82vOcAo*yh{jT3E-{AGcXO`oF4%u|#DB2XcVJz+ULT2wQW9Ku|EkoV zJ;`o(15Ch4Bs06YGg8&;I1^unR99UWc{Ipfzgw+8ukw1z>W*RzK(W?uCS4LjftSK5F#B7%y9L}ku@^16KVsQbGQ%CC-azrY0c z7SfMmxwn%4$IO3iA6|q|n6?1%iW@^nrCK9Uh9FJoD17A)aB%akiw%&gY7zvA_WNAT z2$7hVpmGo(vM#(f^Zy|E3CsV#5w33r>|$$(FY>=D{fId*cvmYUHhK8@#V&{}js)U) z&We~F(Crr0JE>k1dv!`9hf_{31HWo?ANdsUp76DU?!{?->2&(=jrH4}JbDxW3!I1U z0pdjXVv-TTB|YlnDPalHb%8&8=inCO-+s;Z>%Mf|D=}R6_-BUIj|}1CC)-zN?ai{< zu9~Y7(SDqTdFT^eF_D?Ds&995yNfgeddtgPtwx*K86#Rv;gvZ2Q9XH9^S}0P5K1Am zGiJ-zbY^)$$N~?$o5i?!xM?o-v8L6o~+Fp>DTl&9!L>uK#Rauyc zYt`1`aCZ>~Kw<8OZoi*4n_;u+&3!k{Rn;9r)jQV?oMi*^_aDxOrFNH;#9mbXNe{J4 zlY)UZEEF?^&E?Dhmm@>0ms)3hMmm7XV zH7)`U1b|{jX3%s?0L*NrS8z+WtHnk8MYo%J2rNWkuBI)xMMNw^7o*J6a^`4l9Rovzu1n3!Y^?*{9uNS`tU13+@{g^2X9w3>2`QUjpQdB* zhr~`qwh%$v%4Zl7BGp=%xwZv^J24ZZshL_X3J56%Z^X;U%~|NJmD{+|2#c)GOb`ul zCK6rTn@bo35SBI*v{p~c(XTFdXUNr;s-LR2VuPxg+j{6y2y>}T`q~X?u2zUH02SbR zAAUTRkIqxj(udkr%vo0q(8=8rz9#Zpd5-m9G zzyxq%`13`6YbQ?S6Bh|ZV#1pneqykov*qjnL$g8?fI(Fw;q6rLisEd3WhQkXLL@}u zQQd&n0YrT}Aq%$UHX&?eemL{t2|W?@KlnrT-n;thi+a9wiafX15&!^HBtsM-L<+ft zIX}nt$8X5lh5huUt|C6u;dQEOsK4pyZ{+@0EWO^Z#;$Ag2J>c{lByblw9INdkuI|z zGp(lXBGmZr<{p-66XaYQ7*E|}iyR^{bI2wcr4b&heKHP-1G+E=!8i7^{8I1zTLfmy*$C-orru7&&K zeBJ%OJ=|QE?mpt(p-VT@DZrB?Hzj@p@%q5g@ksb7C;s8Pt9z3%*hIIulv61#&H6|+c%EE;o@>nM12=y z;C~By>fp#~Tc9z--J1|#VoCUTdV3yY>E@~scdEce_!9 z5pcU32}uc+85-}W8Km6JJO=5yI8E8XV-Rdn-Q}bTSBUhMZY5RCMH_9hPpQ-@EC!D5 z1H#2_4|B#^--*+6PdMxm9A8oW>3Fodaa7gjITOKpJVZ*5H5H7{Wzx-uOA(dP?>8jI?m;C zyYEuyyA(o*LH5(!WIb&_(YVi!LX0HiKdwJ4!YRJtg_ z%))`W{V-L{4PulOg8^7oCUjh|Y6#1&ZUM1606|ub00KCgF`|g%QghMv(QS&8tNxJx z+YobAYvzF#{lXxi0QeV#)xcnyaQW*WrnX-o z!oH7wrOE^1v+ejU7(cq<&t2MI-P+e;A3|`aZI{kd|48v%!d!7X`+Y^}!dntoz~ZoH zIVWZW0&Iz57M@G>qHKC8p&~iq(5I9FGSyORQB^BNOKB~M<_|Gw)4Ud1L3A}{mLOG? z5qG;80QxS1dwZ@ik=EKSDz$1PoQuwgV#b7N=u8(0LmLtGT^#yu+>POIleA)~7bLEl zqNEtcxwMvMi~k`)5JI4wOHp@KCK}w=?)&}xVAQ|8!+#|FoZy{V&ey&w1|wef;Y*#o zl&6!O*OV^1ek(#k+SD*9i7)|JHLcp1Q=n#zm4g%=J~O7V&MTnbxmdk2@uf#2AgclO zIB*^J5iFw5yInLFwGK3aiF;4b3xgRmxmqbTGHyuMk#SaZf5)8)+nh5PVK%-QYTo&; zKJI>Vq~CZzPaN5geZT#Ycj@nZO+SC1yPn%wCJ=3!hoah%)f=o&g5HbrD&vnP{*zB# z`|!=aYW@0NKVJK<_iIeC7mU}R61e=a}i#xmUA8eT2%npOPl~Y@Q4@? z3P4t^Rn4JG@d>QQb$TxB8H-VO5d5x`=ujo1!P+$d6u=t2FoOck>zr$#dS1bKl3C*AIs-O>-`_zM+`8TAi-n_LgUY@XN11oO79T zx!g{wwjR>Kx}V0JtAbkb?MPy(CUdfm4wF(A&lgdo?B+8}hA zr#$DHOKBN*bzsCB48wl^%IU=;gV?1`c$(%ps|X>nEhug3yXF0He6(@*Y03^zYi)Pv z#`S2Lq?7_EP-FyHvPyt$&a)7hntBj%IUedV^l1F26oa~ztc28P4`${Du1(_$Y*@BfQ7!uV?a7-dA>)V7o9(aoC9{k$`J1UWy=eDY#jg%YK?{ z@pb|sX;E-PL=isRtQy#<0l|f+jc|pDg-WijuvvGy*o#O_!5oPUz#XD6Gpn{sF6S}7 zPv(#G{?Y_LRpP_0Zvk{iK%rHNQFvCXQ3|1%?;T#K{tfCzSFcr5H&-QGi2Dta8xVry zc?{U6K$J^uo&Tk4H++pa`G|$`Jh=>kYiPAjNs;`J-7NWGHQFD9FIiFwb7f@V#Lpy-E zxZTnWBF{U{QBF)gIm=59Ur>2UYVGi~b+=lre(`d;zpZ_jJV+MtC`eRGDN`v$k2Wh2 znsRv~Ro5nfN;IH5;;DCU+l;3f&mq)O9$nh`OeL)|$;`>S{&b%UadB8M?oH9iv>v)Z z2uPcQVd!J$iaI}Wg!j7AbAIz}|IT-W2dCO0KDDa1c_gQGwBumm(#mY#_YRjM`0!io z)1Naxw+=M`qS=w_n^0+%DpZEnV$m{|d;9m-}}qpNf3!;rXj)`Q{LR;or zhQmH}TKB~OAeX%AyY*_=?WgT-j4`ZNT~RgFEBrJX*qZ#D!|5(RxjlUaqqmrFGhcu= zhDf_Hw)tl}4)-aZo?X_eF@{F&FaTkOmIi!-_KC>MA%^C&y>;UVz<0a(irj-{4WGzY zbiSpRvsw4J6x8tIa$jltWS*JXgRysIrw_$tEz}xJKC&<&P*?NPruF}EjsmqMRn*TuQii;G<=OO#wT>wdH90ARZtA3QpnrYypQ%T>D@`gM?lJZ-#k z)xCrh;-Qb^z8lAJF3tH+sz#B%i)J?EQfdv%YTgWRzTGvKz+A2UN*nnF z92TZ)yHz*8b4wmEQ3IsIRZDCcfx5RhUlRhjd)I~5)C7kX@nu2-N5D31YtvP&3uw6S zQmJ*fn_H&b+)Gt%B4qvgI!*9A_dVKp`4dg9>MZj0kG)7~lZPcCT?rdvh}-By(GI4Y`1@3AtIxTB`=8H>60* z9uM21uBkn(eX`Wdv~8M5i12FZjzEo>4oHpPA5&~Qsu-mePg^_+g*8`e5j6l;D-B%T z*2WAO$W3pSVlho^_iWzo3#!&q=(X6C3o#w6`fljJs#HY>>idaV%@g4k>GQz3_@3cc z*8P4eAEmH9-2D96E>}RNV%C%~U5X7+lv0>Vb@wY*i8ft25>)2F^bEQ)lBc@)WE4Xe z#?8U7TBTXNODR{q*iA&DfRjNcE`Tmlkw$e0VajDLs%nb7h4k8`WyE`j^J|Zg```|b zPvOqGp3d+fGcs1kfC%Dme%5YpVP)_~PW9}ivWjlt(QOEHoBam!SBi=1Rz24FKkn+2 zrT)1Ww*So>;9wOaF@WIG9Ba$SA^g;?tT_(N{xYH(Mys#>_DUb!$_y2Hj~FeG#tKs$kS;pUqN+gm6XJ zYO&J>nQai!u8S?3hPd>m$0^sUt=;SZTD9-vdguXYyBkZ3d$dATsZKnsx)-`T>M&InLTJv>~;Ak&mvU41UKQC&nh#&Egazw+9n{cbd~m_nCg z7sH#LzI$}IDW%kEr{|aRT-K|8HFQzr{9@bpX`FH`mQrwsTx#3=uUDM|lwxh1*fQk^ z1cZc;71-<=7z=KJFAdUWXr;r8?Y^ou6L(dsRr}O-iWL?(J({YTrxg2?)QyO8E+H@g z#wfz%`w0P*5CGe&t1WApIkX?CyQ#IOe*)*gi}Z!iz!w>;FQ3C!tuwQxfgbuU2v@U~ zAT@6&3PQvw7e!8eP3AL*|$|JI&orP~3o)x5FXGn98_XMTFp6V zy^QfH@&|R%tw9h0fLcwPr|gO-*8Y2~D$MOaw%epZlhiboAXW9Mwf(YU;MQ-Mrvik0 zMKoq+2%N|41}N0_(~To-?rx4m9>b0O9;b31Bbb@FssbPjHH#;hwL0B?oU3^RUo)Q} z&4?_*=Hh^aiSaJ!TImxpUw1fBdEsLI%eGqGK3>6MghwP1YLe%+qHmi#K%8n# zgn+OgYpyi}UJt3&^4e#XncGCPOECpO#3s9*rz*nj;oKNrEtslR-QC=Jq{4j0_(O31 z#S1(M2~`O})g>&7G;q*HPh^Ur0itLo%7juY#)v_*RE4HF^hsSy-jjS?sd&;1cm-_WRs@8uI%=zcq9Rg71X#nXUfhE4v$!k5}Q5(k|mpo!@aFU){N- z&qH?`bL%68|Ed(+IFTw%f?PYpNl3h6*-R$?AY5?>Gv&y{*K3c3)b@?c^6>h`K z17ZxkSr5a|U0m)%5WSL~Z&v-mrUwLMa`PCP_Exo85LvByGu!Q_dCm>Z)#T8F@a^Nx z$$tLQqqFx#{f9K&Avh4a8~C?9{a-KPC`RrRFnYE2bO3<;eg=oCTISLKPBF;qk4{fc zw=oD21GX8u6T|*QYF$H&M74qF~ zZ1Y<{Y%%~OaC2Zz;5<(w($w{ZSP_O{SoQJ#YmZB*U5Z4Ub8|jWE?U(ZT644N0esF? z%@}b#ber|y0HqXw)*v*F65O@c2~oHy78c(MAP`f#pcA18cdO2FF#}*mhbH$@Rc_ly z#IOK{fDoHFmxYMQ)N`p0*mbe_n}#8!F63%KxXG^< zYb9nX2yNiwZbGQGIJ4R)zU5;>5DDBE!3a=lb%%q^0PfRVcKeYQo~lsF6;D^|QkZhVRwGjfYNSW=00^pDsv#|s_80{g z?Hsy!h=Kq)Ynu?X&;NqFcLN6n@Ty*wL;_3I+9LG^&VaK+VY*rCj)S&faT|dWHCO1I zOFQo(z?_S#S44|!0CP13SP_VOb^X?w_XXkF3QD;@Deb4@*?+cp-z8&iH_Im3c_S;= z-oXoNgHTnq8VfT3JA^JkRm-)e-c84Go~M#haKQHQk14blhN-o&ZBa$QAgrd~aCETh zyEx4mi8=-jaRfTu!z-8kwp;aEZ1|es5rn7VW?CbcR59#qAfe*dxL-xa+ zkM7@<@Gn1kaB;l;QtYwhqFPzse&hSf_AN2>R6|t|fNo`nDR0)Wg00GczsQ_4* z=eZy_5#_m*qSIL3u&b_Doe1yu^E9`=bPqw^C{nvy!+y0NSrb$(J}j_A`1KO+j^#K{ zpOsZYBR~Vtszg|;iEs!kLIBRpNT5XtToKWs>m!MjTo|F@K#g%WK;rE1f+7k2#DRS@ z=t}^JTFs|x6~ znxnCJ45vh2%Ju=X=VpsN#9jg6HsPN@%ej8G_^j4D1T$e$k(NDa$ih35f79xVd@#AjWWUIo4|4(6mJ8-nn;zTZfy> zAIkGz+U(zR(_jKH{OW9fY2;l<5+ttrMb(HtO}RnCr)dTRB&=qK2dil=7nl1k#r7;| z43}}rtJQFNdhzuaUIBMv-fVg%n&;f=mEfKmJ4V~k-h>Gd_v7T=wscETM}(^yfTOTf z9kiZ1jsUJzbD756P-HPmYh3gxwuMkrqQ}5N#LY^nIcsaTus}+9YBOb5GI`Ff<&uTYT$f# zXGF86W_4TkzR;eqtySB8=}lt1u==8ez#^ixMNL73(Je5r@bdv*0=WAa@3}LIGRsuI zjrHJr5O2WSzZZV=&)S>k^5Pfut0V1qa5MR}mEYdvJ8_1|E=DRM-MXL3g6?hyH4#Rn zzKiD8MzTR9*V?QR?vP8#rIw;1(&9obf8OTyIS3NHcei_AxqMdq2W}tz%;o$u=h&@> z0`Aoaff^u)=<500nB(Z?rPj7+tVsK8@5k+*I;_8Z3ZFMQjsj*KlQAj4s#Yf)LqIi$ zEBO&)5Z;ZGIS988C|$k#7U6Dt6Se9~3oJ1LwcZG}>z##GaA9&^5JDmZ?g%Kn1c_7~HFAGg#$P)%^O=`tV?Nez8;Y5W+kc1WYL@fNK@< zvrJz9k;TC4 zRX5M2sd(B9rmC8?YTy!>;x^|aRDcIA-;$?CMFDYwg?iIYPG-u4ZVmv`T##6T08&68 zRd#T~qRt47j@{0ei%*K+`QlLd>4WY&ZuI3w(rtMQhg&yS5p+A{urHZl;`!-|Jk0b@ zL1xjq96vV4QS=Xn^29#B ztoXdTgB=7`plnLm&|Go7>ZW-%Z~Xd}hK3d?BsVr|)n-K4JFKjJAdg?cSYn_STZlqP zSC%_mWc0$#tb~YdKfl})TT*;+E_GSJ z_pyEE&o8z?q}?O0NaH{y*IfHK-}L;QW&X&zJlMd&1mo=AyN$m?@yUbL47i&zBetiw znE`9zfae$~buiqQG4gQ>#UrfM(96#Y1BATO%|UL^H|~ zBDbD^FMn-n+V?4i@L0mrpnsb#{?M~Wzc|5Pdu>`DZGe|WA`$x49H&4t=z#XSfMGa#CSn~kN4Ff+A0i>U(ug5KX( z#(Ob*SrJ<}4bcJmKE}xV-7G?@p&O^1OKsZAWgukEB8%OkR&v}bw592l(89IamF*JS zU0Kb|oS0U9oO2<|)=dd#ctNmZ}=a-0@3iVFZp06N)0TJ35Ra*vY3);%|R4 zJo73%wKp($I(A>4?CC&{hxl^Mzx?9)3m1ABf;&Wqi39;-U?OU*yLO)o!flh=VScXc zKS2PiKvcgyb*|l`SdRQFPMg^tR~--yumUv9 zSes1NQrq0Jpa(%vZ-q0l+B!l-dH2q66A*i zH_7_B?fk*@e1qiTqW_A}e|$-wi|ae9XMl)`Q|As}&s?^9J>$e(ca(WHe#*35J3Rd;-}-tNZpi`{zF-Mw`k2}`NN zX0>Jt7u$I4I9)q9=o7fb7(=DAciNGUX2fCP2` zH$ZS^YTMAp0AgkiJdN3^h9Rwot|5^Y=?8d<0f}lcb7#Q{XjKVOQtDG^-(9`h5R_7b za6?G6-&#A5?{-s5!KhiSTB_Dkhc2ZQ=czDJF11DHL*SI8B?%oY#-PPo5VYMdQpS6i01ErFJpQxkd+Az^Ew zs3{}1H`~%#R4rHRy;gc5Btjgg9EAHJsyZ_UCK735&*rsnzwUN1ZhLw)^C{27x=hSi z8U@rG5rvqAqiHO)5~BzRXSJrG0JK|FKZw&u`|yNm|KRcQcK_0G5`4zIqn|3%9&asoE~=fH;?WxgBfO zK1CsFjN;~NBc{Nt)!c0eSbz$Es2UOp7sL_Jm@42G9^$`zj6=2e7TT`TAKJ+6Ti1Sl zmCok;;>o->&V8&74pgKC0-<%2+Q6W#QDc<$_v!9*HMVQhv$h9O@LJRXLSO=H8;6{0 zV2UY}V*4=%kuFIa@6XeWKq&=qtJPR&G4M3Rx8n>z=zkIRUo7yvq{Ge7r=Zo$y-R@* zx<2iuyb2gf9jDAh5X1=$(Ew6WWp)HcqGd0JLgOHyksq(R&y;$T zZ4W4y^Ai=n?DqFEeUtNJgBZkfod7Eff8=QOsSMAFJxTCl=&J(*NDw3p2$}c? z$Nw1nBf@m!;Qs9!Uk{-M`B3uzw4+zgrq9jVhoDGpFY!ic!LGy~?V3gaW>y?s!~sNv z08Mqx{?0mo**Hc?>%QH}+ageeuiQKB2uy8K@q4#y!oF`|Eo&x$W|(Xdj~0zVXsLRQ zDI9Kw!-Lg0<>lrGz{0J`3yTE@RdwyQQahV;Z{c6)M{m{RCF8|dT{T!`tuVPkX zMpX~O!_Xn3FtzuenU_+QQLwwgQt@WO#&zwxC?X=<#bD;SlqI-`3*);r23jk8&IQa< z2({{VJH-@2kQk&Ny1??>o1Q3Ur`!F3@aFvTO!XYeYT50k%k4IO=A#qAjA}fnM}3)gqf+0o^mxJRCf_Jvsx=%eTtfAq1{=* z{qS(jj*#n&Fm$PlVYizAAp~hlg*n$4!@*`~!`_CA zpL5-;`*!+SsUd$WAv*naU&`m5W`yzZt){7b*x zeeGrX`X!uIdUJ&7>z-f5{u+G8JN={2*}>D{m6Q3C->{cY=)pOUPF>)4U(?$-y>?p8 zEl?C!MTfd*H=Ky7T2W)<7+U3KxpK9T&SE-YDn)gwb)5dUhbQm4k^VQY(#I!$dL^Zp z#b~g2VcNB+HA&1tYQZuT|@9Y=-kC>A)${122*Bo%};`i?j^+CvI+F3m|qjC7NMMFs zff&7-BSDHhIedDL5YuyZr04S-H+HpJq}f^$x;F%i4-+APec->nj!KV7tO|KY{U#E`bvQx zqUkxG{z>hIRl0t(=~6g9-<7JAQpvfSvbj&{F47cQZR_iZt9eSL?2wG8b!Xj7)ybU@ z2yk2Bl{`ON>a)n_h1Om8UE$aFW5@K!;0e&T%>J>7UQF?*quUIp)kl$p#`l09r9|U= z&1s4uiy$Ei1rZ`j4i7Q}cS+ z5=VztEhVNV;$dNCL0HaiW(G{^a0>YQbevUR>H1MUM%k>oT&gas0=OzFERu(-_Y@AR z&eYaJXXY1|yW``HndP}601(6&O4a5*ZM&HeIOkHASgEzY*Cu{z$2UOAMGv*C!SC<$ zomBtu6Y=c_aaZWkF8{AD$}iID?s`ynbZ=mCb=$1_AaZuTYsQmyKX3Ty7EEoFS5w<; zhLplM&YSh%4*O|}F|SAbI-H(e2H~!YRjsO4^~WdY=NG%2Yv0AbPiBxysYQvY z?^C0$w8cPk9!Zd)PgSqd=ZJ*Rr)c0=HRoEZ9UTl^N>k3Nj_Bh!cYS*D&h>GgTVw{? zw0$n)oa@zHS*wXim!hc$;hZZGh7gFc?@|oX8Ut;v*soHbVkxx+qZW-3K%0}-s?%H= zucHm?a<0Ohq7Y)PtAyrys?y@8lD&;OFl1 z?MqF^zJBKh?noc&w?E}S{-$zcZ8zS8x4ZH4&-?GZ?$2N1tqnaXdN=9_@iKIQF)(>c zRk*j-HZ!SOE`_e%UH~n*=`HL^hA`*1)wB1n>i^*-{HM5D9S)C`kWm18Q#5lHa3D8f zD!Dpg0B0g+VrCZ3!h3_qqkbUQ?`DlaKe>nhDi2?c>z&Y<@GgXub6?6FV@!b&t13Xd z3IKv5fQXps8zM{qK}Vw5)NBho8V%c3kpAf~n&Z{@;fRMn!n*7mmq zfKx8$77(4eEl0tz{c|IrsrKNaI#%DrKulAu;LvQ$Z3gS56hL#wrHKI!PynmeYi`dK zH`TcI&9Tp0|N9s8C8C=5D$lLvl%Wfc1<|YK7;NauIO}q3RN{m2~4?Yd-{si z$qPb5NaT zV8o435K4}7q`~VCX#R_r{&&yvm(Qk|;p_X79f3&H2*H_`Fs&OC6A_rVP(sUQi*Qk8 zL`MYE&P>}(xxHZAH>)lR@26?sT)w!-|2CUGmn!bD6>Wu4q*iPHxEQ5P%~cf)aw$mA zr;w}tF5nTCGv#@++3lw(m(T?;=Q$7iQ2?h9h=7S4fdCpyAux-hTaL{^$yyP5RRwJp>M>K`M9#wBhZ%|E67e8vL7joQwXm9d5`eh!U4v zh-f)<0JPI&b2qp7cnb`r#wj zW~JzMKjxg7MOE8()Q*jAqLs)r!IwBm5Co;?)K*wM}%g!WyvW; zfRv;Ssa8XGc(|H#y|~=vstsOMRa1(DIOn2j2$0eec_*S6r8UQy$lTRE=Q57P+}a3* z2wM-~%GC}b@X&Yd)|hhzUq*9HooME&J{yFbJFOEEF>AG^P$t4I#j2`iYQ8LWV1Zq= zc5REmlu}cdn6W)j0H8~uRBfX0s+MA4CL|1j$1wvqiv*@=E^{u;HPL=$wR+ALX*8y+ z-K*zPgj3{8<;>XCI%Pha_)8D@5v0dwFwOYP%?KNSvzo5ax4o5q@H^zAAJO;6X?=RSVNP=5)M;R@!d;nB;ZKlT<8s4^z8M4Dp;m34*n^xHPFRbzT-LQ*sk1!%R zlc?`mW~L~_ON{}{!ND1^R0TwA`A2sLXkMMR32aG1xB_{p0Xh&PAa*f=dprNN18bX( zwx(B8;;DIHDQZCA_b6=ULCBcZVT15qb{wZimwRQlmct~1tMWCe zDv|_gT0y^(>vaZ);%^P}TdNKL2MJ!;!rwYenuLQ~B6+EXaB#RLr2ROXHoghHflz3e zy}pZtC``5JJeL^60i>3KTui$dQw*h6yeilkc#9%ewX2Um5OHgcw-ZkYpVD_4ZG=wruoq;m%rfsze(Lr z?0^6qo-e$YFs5z~!aupeKNofF_M6C0pw(&8T)@;qG@?>#AUq)+od)yA$d&Ainh*E+ zZQ0(woA0^uu6|eN)#+bU7+SPLSXG%D3(*LPh1*W8YK!qLkGZxw?u73H-+&U$&SJkD zkK5`PF^C*&hPE46mIGJ)0W)g{jcG0+a0t@(X+89pyL}AO-XOKqw&%Wne5h5&X|7d| zk2WGgh=&KOp^xKS6p-D*obM4H2l>_~JNKaSq?7OvoKO@pUZ_v5tRPZD_OyCxfIQ@+-ZCL&}?DYnZl;Z+D5fQWYE zbauYojZ+tch+Iz7#pwlH?rb&WD05aTYHA1TVY3;kd5m(nS+!775Q#B#DFl&m%BtG( z`mJh-gbuE1rD}|!y~c$bc3f+_IWB#9t5+#cX?aTkb;zX>lQ7LWw{c3Tip+=v<_vJ8 zB@yjd05J;ZTwtlPEQ!7txT@{Psm-HEc)2$-r5H=qi;G>1LT$Bf*1B13#9iHDkj<)Z zJ5C8==B3o_e#*HZUD=iXDqp?i z-+JC3y$0X@Y{$W`NCl^bP)|WHu)l^?q{f+q5Za)(d2hm#BUd*wIGmPL`e^j5M__fDE?LH5sLTjX04*3mh|`o25dl@TimX)+s$DQucLQ9$8w6DAO;@Hz zHvjNYFW2cCrr`W*j^B9w{Hu?~kF5Q6fRC5>yEA2^OGz`w68n&nnevYw_k{3M8lD{Z zsM-y|TLZ*mM`&htu1HML3)XMFtT)dZJ%R&m?mM}vK42Vbauh!7CP z7t}BfNfSv{Y7Wn@&_2)shW!HHhxTd|&aPQ5`H&wkFfhvpy zKn%n{Z~`e(G(}35NQ%KhYLSvPwk0{FR>;Gm)E3ODV6^0b!!(z`*nGxlRot=h%qRjcJ<|81w~uiQAjXn3JzfBW*kyH)S4*4Iu3Z3<>A zZ0hTEpM-0*Y8t2A$W0(nQ;kuc9ZgV@*%#Xag}=khQ%<4kGLx{xsWnF8!oo{U%rOCJ ziyIak2&o%7H$P+AncuqDL(_nguUA89db(N9hk2UkQd-#9LYBJN?ui0-Yk}De1bc9A zhc2sXEgIvf)sVZKrn!diAzbgKu4)>Fl-5Wng#M-PDW|@ZT3c0P_uie%+zp8ua{^G2 z(sUW{w8iTn%sGoYM8B1(2Mt->@PQ4O$lY}*p@gHDhQ#O&=vYfrvy?fBbiral0EDRF zB|-z7CmW~BuRgmRJ5cZT2Ypp@?R#PbfYus;?-Ye05$!SWD!w|=OMCgXFY$*z12@&5 zeA3}z{KRM4jeWxtgj4B0klyoM{vD*d{q#Hc>?3!^*No{84Extl(=&~?t1%IlQu~Fc zwIDbmxXOUZeFQ&2EpHYEZdZjsc#M3OA^q9$g8Tyi)g46(FU;WC2AH1R*a(t0xec&Pg(f5lexom zDDIwejsb8$>~P^$t1UsDr8~(1S~aA_Rzrv+TphSpKvE_qbi~Az)RKFfYH~HC14mx&@A5N{o(bZLOI|SQ3{{dufOxbVNpq;woI)B*1*(l!hGb2z{RxtqxH{VlnBu z9Ivnh`&V@_N+Cs_LDi$ZF1CC%ufk)6KXzmNMDJg^yPs=23}fqZMxZeL9xFdJr0io2 zdU0PfJmz|j(##Cah%trGg=nokYWA(vzUATmb7}oC?ml>y)$7NfyZrZC_(;EgEWtOo zncY7utC|PHc$u6DdC%QHD*W-y*`DQ-lwV>N;+4a7D_>rwCv2Xr-B;KeMqPJLTqsmkEKn+jD=4(<6Nq$t9nYZS&!@WcsNW+ z3=!j|KN*<7l-xLRkuG( ztyNg=caDhT(1oB8KSPK^(H?TlW+5*Aa*36y>r$vIO_h*R7Bh$}$O4zLW#rjvYpum! zo|5F0V(5YhrL}vPd%WBM5udEQY2+(nA3DF>P16kM0gDMCF_h03N_Bl+uLcAxWob1s zHAEJnqYEzhelXV-v9_Q*c(^d)7a#zDTH0Ky2n%yg6gRoURAP$?f02s-69Aw#PMNyw zW{d0ET$@HNBIX}K06$E#s>xCS;%-I=xl65?9T^DGAh=nNU6|<|6z}0F1 z2Q`}vTd_yz-g}>zHfO6RuJFrS`&=2@FdCwk8q1cprs@-L0&qf3fi|QH^odvK7e2-J zZ^6^AJ$xX~)EPV3i^j6o$Y^t@sC_NGl z^UUA}TqMn)XBq+%_W&cb>{=erIJ;nM!;mOr05>pDYBs$^Cij0xQlASH=1)g$(AxgW4Z0tdo|wiJ6rQ<&Of zP62R$fG6Z6Ij2&aFVPogVf3)td*m6CurSTF5n;-56mQ(k3xLlpn>EA)E=0*4)o?E3 zG@Ymp!ZjsyFGVY}iJ;kBsySp=Ce%psAy!qwg#p-^y}Q=;Vp|U)179F~y0niKywk6E z-3vf#%7m&`4VYl@cDVt7s}nB=P;(0utq9kqts01A03_bKbAX3x%}M$$=e$f4;%X~Q z$MXq>&vQ9*EVU<8t9D&trc!FxrD4cLf#&(7oOjY>J?^m+%)fo;|CV3*U>;sl_`LMD zQzD^Pjoy;!GiAPC>}pPh={lJ@HRAXtZ1G`1@Ll5>ybJ6N z>-A@hzkI!V^FwDp^Wxpl-I*R*4>QQevA-_(b)?PoIrWz_-Sd=a9I8QH zj}zx-F3XE7FLHO6QqTBR^Zto>dabsvIq9g!kKaAKTJ_~p-`d*Sdt~;6`cSoxId_>K zyD|KV>dW^IDAHwdzzW#neP0NF$Q08tiX=EQNBQCGaVvxaa|1wtq3hH%;5u`=8Y?dX-*=;(9Lsut3j;3ZjFDPzmm>*)*5qpqr1*5r-&DZwi3K zOJ|;`r7XFVu*SHCOWeRgL=X|sW27Ih5GHKRz~ip$t!eHAAB<-JR)`FKAHb?6rf82k zJ6StGE$uLsK!K~pIU`2eOP*^fwq2;xOXdR|+L4308aok=iWv+Y3IG6dmZ9%B7QUb= zGl4^`dN|C?tZLic#6oejYyi$2-?{;aDtBpfb^>nmT;mxyO4{(CrYbIc%{4*pZ{NuuzZ?oOXk&z? zR_4W7!_k~YNaoHw^vTr-tm}AZ@}U>-BcG%XJYlEf{P+Gh{<}Y6pZhdSAF*dX3m?Bt zSJv{?Z`MEYjpgQ*@-v^KFYWkopPwqz1b8S)L{m!DJ=!xcJ|Dsphu74ySGb?@ZO4|o zs11sgdyU5}jJ1UBpte*-a3tR&Lx>JXeJz>w=HFS$BW8c!<&Jciga`+7A+kO-!`k7ncV_OhUuZ zd5}V20Y4J6na$>0?KQQ`4kc&kQ)yb%t3d_FE)8brKCyJIwx*Ye6_2BF)m{rQ7h-Ua zt16q5c~f1_(^ta$&a?5eegCrARj~i*uHW&zT6I452%t?%Ge=5^!!dxz=uzNr#=dK{ z%~g+(!4Rt)i3lKTnL!*Ov<718yOfj6r3rIeCW09L-l6Z@%+wG#t8p)<2ZQdlfM4jwWr4nr=cZ{hvr06+ZVA<1gEacb^SB@re#VQMWP zBxq`j5!YNDCZtVk%3OtuIqeVRP*orE`V~^IUeBNG`B%|YXS#d%r_Wtd9Fw3{JFV%rNZSr^ObQtoSibbI?Pr3#CJbyl0vz&wg2*8e%>R8=k z3q*jUBL)DG0FoIaPLd7L)sCuy`GQu8?#<)nf-rnjs+N)vMIDcas=!P{IL~dGO4rFS zbf=qD-=)Je-@SJk)U=(}Z+6^iJto5v0w{pPt#h!E9lBHT>f zy-Sjk%(X?SZ$rKce%;$WPHK>t;(S+1y|_HY5Mms`l7qW3|yFk^rq$!Ar56N zPKps=iosHC=7=%w6A=L4tjDv>SWCgholFnHE$)7pi#~7=9P_ZI3+{*rH;F5fF{L<% zw&f%d8SsT}T52f0L9-KDLc|f$GB=6zu0;+iKkyX% z7vEzb(+_`8Kk=e`w)S^D{o3cdfBviT(UKiSC)l2DB#F>aCfv)O2V{XjpSUh6p$xO`Jw149j`HD@qBAGk+nOlcvCmhy;A{t9j z9a__vHl-x6a7Bh2# zfbpD_*33Lq&?O(QHVzqyYHh*<;Lfb(;NJJSF73qb2F;H2dqM>q=6Mg$)+4X@x%&rl zx+rZfb<8O+I!nZYX&CZUYO5`G84-lAIG}1atHceE7_YT@KI^W`fA{f`9=-9CN`BUT zbXR`*<;%N;PKOT6tE%P%lAP#^oG*a?(q{WTvdz((&-MHZh*0k$VpJkdW#nnKS z06K(Ql0KHl52o>FCVl>LssZp{E;GY%Z<%9A)C}+til)J|Ph1%py#s zsQR{PWF=#J`8{j2)7K4LH5(ofvVFJGotc7AK(4}CHHvk&#Zx?4T6;%_&&CW#RKgU-I3%9Y)8 z`%v!@XW?c(R6VWps_dWbhCPd$&3y+)@&g1uBMYjMc|!~`Co_do9gkmdb{?<>$ss!w z^&2Ppw%mU59^aMh!tR!v6@UqF0j3{EeR2472U8FCN2Fi)c(^&jD3%`p%yAI~Jp9|u zthJW20N^y0oF%0kzFcMkz_|6r2?iWembi`-q#IxxZ=d5l5CZd^%i8ApSZCyD2Aj5j zvrlh7l-0D)LR|(Fbi_lmrf@UuUpGw8ABIXK1lDv(9ID=MeN)d*Cn;=~iGS<%;osgX zo1w#;r`&aY3f@9W61k(rz)856ssK^|`IwT>RF*vM*moYR4~I_lCLXpkmXzEh1c|k^ zKIdp9Td#&`n%yB})dddVmY2qFC+22mfPJ5|6u8{?V7ggPlDsxk6UM$z2rxyJE`n=- zps}f~`qX9lxjR$KbV@!?deWzNp*OAP>I$d`lYs&fBl%KQ)(<)Oi_P>w0Bm_viTa^y z>LIx~I07_vCaksArb(ok62i%PT#W-UO>=EWV}BM3Gy8Oy-GP|QeARb|u4;)1=fX_S zL;uCCz2mX7*9`RHi|0*Jx9$P4l$L~5ms43&)2c1VU*JentNLyZ8V3&FQ;esC@Ot zH8is&j4444W+r9|t~{!V`GyfhUYzY>(%*#qvz4A#DP4N0OP`V9{%Ok0Gs}#Anec^K zhwOi{*C!73-xWV)b~BBLC1Uub?qFS>{vrg<()>5n=#wRLNck`F|mJ?OSffAeAbLnJ4sCqG^EpM2@^ z(e=u@tl;Pt+v-AcqQ$ySM^gzdh;hw{}IeE-+mZ@{B;C;@KZscRbNK?xx#k@h15MfhK zNtlR*LmL^!uFpwZtF^fS(!z;w^Ks}>ig`W*c%7>Pwx+FVt*WYkXs}?h0Dy@}_`z=! zK0R$3W9q?7b5^$~j_39=A=(WiDV2mp!~qt0>SP@HyxkpC zbzJq{t$z6#|Amj^``;k%ez>k^e`o9Ww&Ki^X;%N-l>UtkKh@+W(bspL#IyS!A^kQg z>4@uRVKa;JDaxW%iAZGO=(#yZt%@xv=IE;f^+H5$ zPt5ggwf$P57cfQ82WsgMTgo$nRW);FdeB0pO#_1xF)uud&cbBsfDyZ7I3jlA%!lE0 z2X}xzXC`vM)!5IahQ-m%V^k6K=Lo3gO*J0c>afysj`V8k9zV>s^~bNw-*WBZ4PNX} z1}N{m-aa7p%7F^fbBNERaZ8k0S5QZr)%~Gt(BKu7;N=oxLMU!m=lZ8sbbXyaA?aN8 ze|>&SxnFmA2BhFLnQ2p1T@HCM>Wfi}yE%lOu&yAMzhlNhKSGeOjfuEGJt4@e> zR3{>hLq6S%k|ZUrRn>eoc1x@f&=9H`vov=H$nI;`Q{g^IG1v8~5%$8hDIvJQTw9lO zY1P!q+#I~`vm-Df12p#u@Xl;c_cRy%&HMEm*Zihles*V9nb^HETe){;4$u}F3z+*b zbSXcC2ArY6GcaVVwKro+&cTIW)UDWxL8`|O#z8peQBzv2><;x+GhEwtEZ1XcJ|Dd&OiIYei(8ho|~E^?6b9&m<^ydW3%gR z_u4eC&*gXScRcjN;zKbH3uOe@7jsu2Cmax60Ej4oi^EGOpQH5K2l;GGJI>>Z`ZbPD zGv`-U`T25q`riEYjDPCJ*^32!>0*D@C2=z(5RQ?O1E@Cm-B>6g0s*Q6yCQKt>IFnm zehUxw8)54Ee0H`$#A%udFs2J(Ig7n2mf(Kq)U1>$A_28&YGAf;J3}|5&+N-Jpa0KS z(pL@X(T+c{)BnSBd+2+~377;?qllZ3DST>y9$mr%59)^uJjBmfxge(82!R%BRU-iz zah&~OUIxy90hI;-TP9hy^gRItRyd4#*{yfr+HL~?Q36o27Ip)GC~|2{m+`f`EFdRjqa*V^!Wk5(Go6YF%O}(lnW@x);LA{hh+M3VX^Ky_Oa(hS-=}QwNCILs&@(keJlH)D|D$ zQeW&47&8`O1l8uIv%)Wbj(_uo^z`HMb#K&9y{CwDVP>LfuEA=L!Nvm=j=RM^9i2xY+<~p?d@kLk!q;u;`_ImC zoVIQC!TIcN?hEJ7&;2jX{ZIF+`zc{5x6*J4Y4TKAD)1{d+}^|M^I=!vl5!N$d28$r z^ZfQC58qgW!!wuDhcD~3zDMEW4k99KrlHEjIl$dD-lhjsslID!eV6B2BOPS0n9rsk}%Rj z*#<<2!xIt5frki*q}99{VC+$i5Hk8!{X-Xr?|fvP%zxv~bUJhuF{Fji*N?zCT#E7B zk+C7>X*xB%-;@vYd&Rzr^ajvBym`hM-hS`!)6bsYaXihb0J_K=i39gi8ZysCpR5;O zo)5oqaq{0@oc`$0^R=s2ThkasAz?(!I0O{TqEwblwIOD=gh;|bxJP=m;ER{K zM!33?3h-{(T&lkI?)lS+#}AqS2lUB7-3cHlSxwcC(_nMw1$yZSP>%V> znDp7PJ%9+uv5$Yec6L%q^)MIJ79@&jnTRW+h@_liq|ec_yI6TMQlaE~Y(61e$tu;tIW(t50s#nr zOmm6;Pc>VQ{eCJ@%oRc4KBtrQ*mZ)0+qpsR?wNe>`E)w+yB^wq{ub;(S|`ASr40l- zqI=zV&gr=dzs22;&HQPjKeFL(eyqEy?NfW-jVl>)k6ww2Dgne0bTLUfFo7<(fhGG9 z^Q1T#EbdJULy$Xy2%pp{s^61a68zzbS4`@d(e4?}IdhT)KjRSA_hqhg>_KkC-G1v%}D(oCFC&u09-Q2LQ)r+T|3A7V+{I9#I$=U$aXx^|Lm01m~FTU~hb6 z{!{Oo{?#XjU%t2^CxeSz&bF`CkcOOgfF2KKl7vtVXNN9v;SAc|M~BM^?n*|0fly3~ zmhT$)8;9XHp#IqN+X*=n60;>a0Dya!C0rFt7yywL&Or1&Ap(R2^l(^oBScVh#6UbF zfwNGpEs5*_&>&|qH)ft|n`=Am@)-b5Q_wa*9aOtS=&+qiZDvF}rb#lVwBJuw+u7+V z=WG_XXhg!k%ZND5C8!ax<(OGjb)ue-9h%6U>hBZ%bJyr!zEZwzMep4B|9Ypag^l?h z(XP*-YE-pga?PcxS=Z&&*a1Rq7RL4{3>f+x$RuVQy4=*6=r9!#T8~4iO+>=PUaGFw zJt3Luax!y7ZLXS!><+CN*47*Xf3Bv7sU(qp$hTa+c7OQ68~ImvV}rdiYBZ z_fH}D0G~a~fBhwWArIrwP3DBqci9|TYsaM35>#L&aEloUAx2McPO=EI0C8SnVhXs? z5djrKwg;X!T3cZ$P;>K?Bo=*1j7*t1gEs>q9L=w~T>_npbb!nhhLBz)9M!=Y=yDdJ zAic!E4*=Zal7|if4KQ%XT?&5KT&k%tEmbvP8iK|2i6OX|S*hy8t5!S2^Q!aFot#rJ zaFB!)Ae$vbc292NV6C|-0Z43tfQe{>zH4TYd|Ie1fQ)7y6qxW?M6{@ciwD6ROg$!@ z(=@lHRV_#Bg1RD*Tc;|fXs(FR^;PkJ*hI2WqUA24W(b~BVj+7VDL5VvtJqp2qFRlG z15+6vNY|x+=9t;snlKAf(?$fs*eCw<%lz0?`|?N1GcTt!cEL1JaEeegfFkCx+o$f= z_WUnqx{CfS1Acs`Uyz=%Xl)HKGqK15-^5_BFD6?)=7z$mV_`%L$v55+1aNe<0&q8V zZ)@`(rP;dvA8fTYe>6kSX6CIpg1N^PJzt#LP#sql9^r-|-cYgCE|HNha zjl0uXpBghFHj&2MCF&$?_p_=}Vsy_<$pMo@mqj#V?+>MvmJ-Lwkr(7F3S$&ZR`U-1 z3L&4Ygm|j8HS3d{3|&_>mAY{|S&vha%iW=2R1mG~uSL zDFjNCQ4MmEQtCXH@ar-M5g!ns5hw7m)`8$l2Y-^_O{p2f*PNzTFXoTUFcKYzcIK_N zz&FKu-poNgW$C)K-5pv}qQKC5Yc`B24(r2^iRfZ?h_GjHoubDh9C?U%r04+=wrVU4 zIrZkQ&V9qa?aNQ;$pq&~UU>b(Hg+HR=Eui-nXx)wy?P~#Pa*RiT?vMW(aszDO>_@#)*}H_b97?_&dJ@}j0p?LE0+~V zIH~)$o$vZACkdbB^xF-c@a>!K_nmbg+t%lctrLT=9l^K@8yhhZc4ieo0feaoP=FZw zuUEs3Yo}40fX9)2t-3$VwYHp7gh~4@w`S>R5ya#31c)8L=q;Hg_w#1n4u9eV|N710 ztV005vu{6mSHCF3)y+_uwYA911pyt7%VJ!{W2KD2hP$gnXeLnvx2TKiek>xdwS`zg zOR*6ml9>@Q!h-XU7ytqt810yYq$L+laUjs9 zxs#kzYZf-I+8O{xk9G`lM0gzgrnbbh5n}oq<$02%0OtMSS}psoYb*qD|M03!%?M%0 zxq)MAU8}B^%n%@jeb8ON(16s~49u;z2{{^Z!-D~iOHvAgAj^xi7as~?B#4nH=M<@p zASyVKt6nd2V9{0NU{D>J19sU{a#c9O81Yy&P^$`ysn^<~=_w|rF>7QdVr;GDoTju=VmuMkrPyN<;C+&T z;ZLS|Z&*F+w9as)^Shch39pxVo^{JYavXC2STxl+#!V=Su8xNT$XVLLGNq=AGb<#G zp!X3`t1Vz@o6UITbluD%le4t_0RjRcnIuzvt6!Woe+5$oKTOh*f9v(TpS{dKbN3qb zX%L?#4Z*3DCL)Lw=^Aj)iKe;6;mp*~%#l83d6ntyc-YVWdaHG6uV(y;4!&|+|3=kc zzdv;;CE}LSECO!p7>lS8vzT!yg$1)9f-1OKOy6SxiAmUT1z42%*o0EzHF`rVDV>eI zH!X9Grj*Uu`fh2r)!Hy%P8u$~g#hbg4gDAtH? zoS7&u+M}C$MO>G1)^yAK;f7zcrgxKDv2Pmv{%oJ9kO-@Y12EF^9v~n95tiEahZ6Sh zcoLM>Fh-w2ei0#AOc^%b`7H-O8xiH zwt{s8i-QEhsHv((#5supw7D3fh#-Ke0zyMNT<9Z0CkavOn}{~!*(X^p&@PI;Il+5} z?iVi0E6oN7KN147nIkxxX=zy~F`;{NAcP)3k*Yf)Na=U zbtmiI+{;u97Euck89^6VGZ8QHbq#Pmcx)|wC(I;ChCTz5Ffw!B<#Fu5G2ZH+js;v} z9J{M$nYpL~HJuVu_;HqVub!cwnQ=V{J~Gn1h2=XOidS>^<| z%bofHb&Cfl05`TYGdKW5F0KmKxk z**g@v;y##4ZPAW_T|&fGH5RfMdCqeUO(-ttK>|BUfY3}4kcq(Ufi6OfrD+!0tX7xX z{oyb(anw7wqcHVd-jdwEoZnC`uB7tCDZi1*llk!QY5UeEE@qN{{>t_Bh_WC`U_JIC zyxUKaAB}Hag!?XScO{~J?rw-ol!TsX@Re9nDgSat^ZK4n-m#IU_CmE^xoj&*y^sz4 z){K!@(&b@xhtotfmpu>&!$L)&kVzt76Fm&kMiR#LE~jzTBcKR&ISsXmh`Hat*tKRP z1WZ$HMV*D!VYi<^t?SZqh5$&ywP`6ezFAePH5j-~QRGQ94t;G}t0F;*-cyK`#NuCR zX0&v4z=0V7R%YkGUvzl8v`5v}iC;(XlRK|Sg|IRw#t8gM;-J8Qqk{{x9q}%Nv|jZs zM5H6%4i~?#H?zLWr<*YZ!hqWV9@}V{qCvg|I!8zWT1x2dW~DB-m(Vlf+}i>EyNfm- zroS*CgWUw1N}J3&b8Onr^G$6lwaq-Mw_V-8=W056;>vxdKTYX9oYOUgd(Emh|c3UhUdV{EP{uKK@E=?6+B?N zo3++TZDy8ILV#9lSWQw&91KbGR}VJ!^oA9722ZiPUGfZY>H7IbuivEi3%t5(4NY4u zrEP>#FmebR(hQhPy9kW969Bn8b2U30=7p7K1^~HB%-H3;UJp4*ZK`U!sZi9ZV7!xr zNbG(Fo&c-*y{Qq_?|Wi=&)NEuN?k`kd#CCp!Zf_3m&~+lhWo{{@MI1gt)770Rd=s?H^AN#662-Q?)N22pyl~9yqKh-;nmMNj z^l(!{b?iG#Jl5j5+q;EZfe`yHyJM{_LdOdeWNB-21Sgh-D`xh9@%mAqptPyV}zSRtf98j4PfSDGxEF9}E0Gh!P4>WfN5)xqqpGzBu4iRQ`0vP7m z9Pe~}1E{SvwHPX^8Z(9Wv?E4G^^Hf86 z4Jl3K28&ICdIpd`dH?v;F?t$}6tz5#j&(k=>uWQf6@2*k>=(kKH=U9e1dS zDEh?xC`!3OJiW)l-34A1*Wy^91id1?Sm4i({Fanob9MM;*6T#CoTQJO&!5`qD&;IP z*LF}-&NM93W&3BYSJGq3L4^qSVNj<^FbkA2?mrdqY{a!#yq&R}vNo67rf{(7wc zVsGa;zXtWOWSdfM)XG+SYu}3Hog#na%J7v>U3>V6@hevAvu=EBfA2f@WrO(9dxx$T zL33g!QS=Ugw87#d1g&ko-#uQZ&*tH!)3Xkp-I3{NJ#aofIdya}2)IKCaYsa@8zNowHeuo}Cnsv3h{P&acA9P-fTymUUe5oOhD^IVzlr_^A% z{lpkM`jO&`D@#>{N4@H1J=EjcgaGSxpA(nT4pWKgPDFR7skWw3w=~VAH6^Byg>ezF zX|B!PAARWBewq(+aW@24^H02-Z=UH@DbHSZ+)*c-go$u}C`1&z4h#41f9BrFk55;A>+bl>Jm#@WT34&S?{llo z11q|S(iWx+5vfg0ZAd)T#>A!;I$mw605j6}*Y*Qr{pQEVUs(5_+8u7@^mE&Kci&bq z&s1~uzLsk`kF8D)bsSy9T62WBnh2Arg~0xRQLJW7qu7#4X{shno4#Wv>pIP8SK2~` zYk^HU+KCXtAD$&@yNDR)xrJjOCyCrtgze&Mk5GJRZ48k%I=@76T4Dfk>f&P}wyB~! z6V1Zne&+bGN<+e@(eBPpsK2uJ^*CCVL)FX#7!(m8jQ^l7`YMFXHcf?iaZwCIo{MU; zFcXY@=Lna(sm#^g*Q){CYuG1MyGZgn2vH^4BMD+|ts)>%t##=0ICOwC*G4(9`}=nH zzBXCq^iMtiTOL1*`FY^m$hW(Gl5~gDr=|On`)9V(A0E>C`|b_9`ri5S&i%tnGyK|I z|H0jQr^~l;e<$Ud(@ZD;4}p_gF%_+SD+q9Bee#NAK}U_fX^Ee(@Tf_H(qS} z&8Drpw}Z37M;)Zt{i-DFfJP`7Wz24B1LJFwgZaVG9AXuZ+f6jQN6;-3@9tmPGz*gx zITH$D6vU{BwvD?1+@0zhPvQHY+MHFM*o)cE-P-=dowizyo^vtfW#|QfKpeS8b;l@3 zx_`diPg73GmN8yLdNJS;4=}HB)>HGu%qcQb*i;{MCb*k6%{iT(tRkx4_c=BtRm(Z0 zEVVXO3)vxwgkw|HN^P6Xiffx&JAiLi10kDPPVykGu1l}bu{UX1tRw2~Zq6bIz(P#C z@Hs;ZUHq1;W)?lSYKRcA{}s6AOt5f3fTOXTDj*?9YXg9qALjbLY+s)7Gu!qtwu5;QiR@hMUB3aGaZbubl&J#)Cm+zcUbvb4ziM>Gr_D+6n7+FI8qaF2#qVr&kk z>P-o8u=dD2tNIs>rdRI$(eB>gcrU;yeCZ4L-@TOn%qwS~<4x{(SY>zfTF0@A9WGps z8h%}eSZ%Z!F$r@@tj%<}3B~;knNS@o(c9thKHkB_;SK5Jw?~;xKXk7?yRFy7S=$xR z$8DC@_U3oS^{(p|YMe#w5r#cDi3IptSYob^$GM*fv2d9iyQP$(lw&^B!+r{PRZuVD zdkKvP0FP$rB+T<%;{mHphc5SBZox=e*yBF*U2r?qoSBnw5bq*yK#0w(%K`v%X{s^i z;G-7mog29qwKts6t4^O9$CuUa&$<@A9~J=zaOA`h{C`lwMTjXUL^#Yf$P#hUG_`8V zOi{_X+fVMElc>5drJOFdhvXnxBqw49;W?)UAON8uw7EhOFrQ1yiMuR&1D@;q&tE-J z{UJI1S?;^O>xA9xLj8_-n>F_(Z zxBuhwhu3cM=ziX`I%Hh*P4%$cKn2(^A=6gf97K)XL~V^Qxv>sY( ziJ3#bFkjVz0MGBsdprIMPn@+G#}nvB`Df2w{^YCmWV1qMAS7B~u_wHTRX`ZLDHE*RMK@y4V1R<`5uItl0xA2#`L#z70z|PE3b;3j;IFnFH z(wZ%UA6!BywYJCw1CSA>S^=?%Bq9XZ1Dvb1sXW#W*IRp~IH`@T^`P&|{^uUf_geeU zUuhqgeupU#43Bj_0o^xoW(5F*`wp+iHdVb1d@~WWRsc){my8*TaHJbZIFO61CguRJ z(Y97K67TY0Iy*E#H%B<0KOF);5fFfYdm-X}Kewh`PH|f%#QlD1t%-2_OCsEL*`r(u z0D*Mj5 z*~w3?o?sGhIybxO+B>``=}j9w(ei~EJK;*Cgwb?v?npEaU6d+>Cp=n#LVZC*1D{J% zKwwscW}e)xgKf0lH@XefUCe**V)xZ;`qquTzt`J)|5x|uuRU|}8!)!ja8(SNCdMv_ zyVt7IRBCN3EF!9k2*La##9Fo17S{Z!Hf;@QaS0M)tBn!%Mz5~*kG^s0Kd*i3`bVyO zsFW+v-sL)oeWAit#ueHjcP|eo2jK)xh^xL+_r+a|7>=89$QRo~-{&i*tHYt-aYEGG z3F)*?+qoHH5_I#qG!Y@f*38i#cxTMr%!e)!(P1ixv^&g5v>x-&=cYQ%Ma`FX(%8tE z!=m-T8y_!tR5}NhB1osh&_4(cF{8ROQ39v{waYujz4_*>yR#YBOn2|>z|fP-?wv?1 zQFfK;C-uGpxmWaTHwF}<&R9l z#3v^w57Od6>Wh^cvrou98-^d+<|Iiv(9zx&SnSqhX=lTg0Jij z-^%;573f8!iwTBdoBXFP=3mM1BM8aRvq@)eO$& z02m{msaEd0MlzRbZk(jH=1tu!XRi{>qL!V?(AQ^aQM)xts4eU62SP7 z6yl`&fN2?bC|)L@9_{3a9;OCBi2dw{J%dszBBrIH{)mde1+pH}zqv===h*@~+cth;n?7woq?f}QkS-qK|up!RshS;kD z0ty2lG&pN@)6qa)fG}ZW2)fCKAmzr9*gfKRP5aH#+U)l`=n%FH>+A#)mA{3$4l#?u5anzYEaE7p{d5m@nzzx%H-C!E% z7w_)x9$>v0ceAi9=z$5+Z_Wb{PzWvwFk2kKYN@if{ zgotT6R3VB8DJ;ipj2YX4P)3Z6Fn)}XB~6zrpb$rgff>xjMyUV6Bjuqr!t9UC^4vHa z2LHgReDGfVsCBzxe3tU%Fv@D6*wy3jB&t<|)@!~TH;17MbntpLxZ7$R44{=Jt)`&^ zk&xWC+gS*6mqLnc>L;5qX!60wh)uNCrnZonR%73qg_7^K6te_L`1hg&b4q=m9t^Wn zl4X?^Dy7w?VG0YV?-GP%Zh%H~nbPO>etp#s>ogqp?`elm70bEX5!R*>=k>V1m~GZ$ z7MbP}Ilm-aN=3r6(^b4CXQ%5VeE)n~s&+YbBHhq62R7rmtTw9|z?&hMsS#52%pl@w z=+%rEskTfaNr(ye)4MKiUjqEx*+cnsy%7=sGbpu1>61~A@!Xv^H;BOYXCVU@!Gr&#Z8I;+v!b#sL^JR1C zvWr|cHReKWL~~U~AOLIH%oCuSk?F>~R!yuw@YwLkDjgcUg6;2o`r@PaV6*N)MA5CO z>mohG#=u9m6VdNM$t=V6B^%B{;Lw_eIxoVT&G?!pZblh>0HWgQKmNOpfO1?nuU^?~ zw}?Kja1uZDHakCUZL=UYX~OsS+iJ1Gq1q1`IPo`0<#S8IN1| zQb|KZ5v%A#VBrY{B?96Q5V7{E_72poX^(vS-gK{+WZ5IKNZ;qnqARFma5BgT7~VFO zpFLP**&tL01uV^o(bSL$iJH4c91{r$D7Wxt2rJ-dBj=itxp?3?Q4 z4?leQzk9?s8-UTD!(DCIoEEkK6oBFhBlf4tFcu(kE}6oz?b#eYO5hk+C1zFlZKF_NI}(ar47r zZq10v!*B%p5xE+6JPPbH_6v(%8W`J2LVkYW3>ANn3@fhI?Q%aJA)j$ze+Z{CB&F$&)y9cIEoZUz{ zcT2|4TWtsw))Q4Df{Hlprtcc+pT0T%+}-JK-vxN+p@&!5YDI@&@-3lE!ctoF$0cFO zqN*LCS3POvhTvwsQl>au@R2;MYDmbN%_i2wWq8|^g;-b@#F4xDgYct8Pz%Z2#eopd zz+a1g)%6tGSBQQ2M($KN6M6lWZp{9=S>GZAb9s0_W24myPR|{bU~G)3qx{~J{JJ51 zvD!!W<<9H?wg>#gRKHN#Ug3$JZ`F2L@dD&k$H{{j>!6k+#reBg9IUlTQ!xei!M!)_ z5bn43o{_%cwBHfR2!Ho;7thUnWz(y0Onw(6G!Zi|ZAuY&KBAlK_)@^}f`}X-Z14N- z>e(9H*Q>tIDWz0OiR^0dbclHQ3_U`?-ggNRFE96t(K&o~v{VYF#C?~TX_`tnYp$HG z5%Dn1Av%vk?nQh$bmO=OXr(^rSc%m$!b8I17A{aHUaDY;X+a3kQX_Y))NmG#B|bic z$RPm}*2=ZbITyDAbnX1kSIl=m$tORVH_tYI1?VN`pEUlcF#>Lx_P}?6f&KNUpV(>d zIucw+W~MosSCAZVYAWC>#gmS|=CR@4R6c)E67hi0gT0ZbZ;=D;=0{iUFKxEpIUU}Q zrFHha$cw)D5)RKR-9shP@c^!XJO$oS9Q-xgmG)~FdqCc-{Dch&SR#;56$zN z4!gD4%aYHTr^KzPHY0?3gen{jhpx5=5doVvHDMMZK-48{gAbB_@kO_$B-{~QZS@nA zotVAG>gNjh*zZ}il-#AM!F8N(u)Vm$FDO6E{)cn@^xmIo_z1%YOQGdeYo}eN+OTO( z0!x`Cr`m3o%g4CZy?MWfcszEYXl_S}EJns$61f^OE5JN!CP?Vw zE<+DPzu!;$L+QE{?lwsb?sF;Nuo}CI?P19dHO*NP^Zqc`X6hb#qb`?DjOwotghF3k zM$~3uOKEDYS;)?FYY8xP@2CyZthqQPY%U7`iTtFyA}h)uy>iO)YQ-i{Yrt0H{qpiz9+MF}BD8$CrpmOu0+7 zwUoHbZBP6J)Yt8HFdxnm{APdVNk)RXG-itWUk8u2rktdi-zoKdF#qo#8-MYl{m>oX zZBDLao~IHobi{!GAWG4X_Dqb_Mo0)L$r>8(c9+eoBs_NDAff8wHRAPV9d#cuT1P^+ zXf0tiLm)E^uw=ON>6i;`0Lkpc^vTvzqDRMkQ#kc0ck`tOlbZ4g|w9ncmaGe|9=N(b0vLsg{%4ZVJ66^V105aCO6pKYcN;g@H*4ooFID z=t7m0NN_t~2!N(5x6bSYArsy!`Uv^=JvQ(_+2m*M?SKAOy}It(adnGYtOu!s2j)^Z zh8f^NH62TAisl|&vO&Q<*^G}qa{VxsyZ5&*y!>j;X|ow^(bkJ^+Fcm2!A)z0;Z9@V-c>UA!4xk>)aYZ*9wVDIj34q?%ZLw-x_ax9#U7! zA*H*-4e)}}edo$@kL8{t&-10j@9W`DNIR%~*k$Z;bFb!fEW-l#-n0OI(cv=}b>HAC zczSw1Y>kBA?d$d*JzTaItz>%C_zucX;P8|4`b8b?yHsRC>=479k4Fr8h_`cX4=%jH zu8Un{z3NkvX{tf}C&qLPVn#b10Jhoyq01~HasFULAQ;A8m{XEcTd9jVmWV=StxavQ z1Y6(ds2*e?Rh^x)!E1GY3kK{`Vyewr)3w{pR$uP=+x@`c=njBWt%1M$UBO`aEfx+y zxIa`i4!Mg?$Q&T1csP?VIG7p{CBmucR=Vc!rg{1z=X;W%&+a}=ZKDkhzU*3?=Js0` zlnB1Ix9`1HAJY1fz3&Vk5gXkfL)~9aw=UZi)H4EcFoS7VpR@~awo34xtMm8v?JtYM z({|%A{Qd8>?|4kF-u9pJ^b0TXr^WvEcJ=qB%`0hK_c>der;;VS6*P?fJeN|My7gUV zrZTm~af*>*qM%6-QB01jS}4itn7xevCMl?0hJ5b;@8azrf1*JJcm@&evzPT#*Wf>T zTFXoJmobK^sT3Na!K}5g?Ys+;ur=Ylj(_yUl89O5pR{jyN=n zPdj)q5$UtV5QJ)$lcbbdQ#?$7l!tBsjF?5waIG!G&%R5+rpP(Pq&XJk7;qp`GVN+L z;o=L5?*V>4K%K`2AD5%8n}I)9;Z3D{ujr7l_wuU~bvYj#2!I1bXKat98 zyWAd#h#9*iL})2XFFE z?fGTw2El~kG=4C60#z5`F3Yysb~pdEhq@PM`@h`rbar|w2yS7OVCJCkFca9~fdX90 znV3+`nwckQB7k%ud2&lcEL5t(@#O+QUa!`SbR6nIEF6oykC+*S7yj7->xvY_0;hIV zCD+dzeW~HI>K{9_H(ZgEO?siUr>Z{b_UeGocU)$G208ncwI>GX0i+HcJ?ZE#?>76x zyE^&4RsBOy{-DG6T+iQs)_vgm=IgEvkGcQzTbB`ct$?#*BSPTKUMv2x(JQt6 zl~cOf@h={1=bRE7k$|tk1vCLLz`^VlNY5MHHn`+|m5JR7A%Z?*{t4|qTGl^V$DhLC z1?jsiER745MtT+N!SCLrhqiuLi7`TQYA}rPkb7JJ9-39<$4G5xfu~elaE(Z|Qjh3WFxn%&;Xtr7piXSyHz!r8Aslb*eeKl*I{xpVoFw*O(f z`HkJlUbs)h(Jar@<#d?l&1Mkh{b7z64l$d0)Ed}wJ41^zqsYLpLDzW})y}MMbp_TD zGSb*)QJuPOHh70#{1=aHA0vRzA|%*v_|<#(iAVGs{+z$%ZaaS&-*wjBv~MSFZ?ht* z+p1!YrEY5N-34Hy^~73LXVp~OwKApsem@K_blXF1t%1XCH$8C4rIdoB9ixga2}MHW z_$5wLsja0XiMhF}d*7wL&rH~wMj>cQg1C^w0)h`qO)U}u6A_Y|34kVP;gH7#wI3O) z*zn?3lyhQ6Ge@LMs44wwf$Oz?OKnez&3*xDHKk*m$ z>!gs?=2q?(9%!}7^BRW<=h^P>FIM~g&mZhQa)%V2yb=KzL_=_-fM*JVnF81b?UjAI zTm6+koAyYl zwSoL68ecMBXMD+^nyV?OHl#{y#3iLkg!&HqysdsOcb|a-+E(Pn^B1=KSYm z5yM@A4|XPq28rkp4}+_@ho)o>9RmT`kyxc>fjH^9v|9DxP)hB(v>G}|yr0V9P;w{h z)u7EHH9-g#ro_2K{#}R-fQf{u)+PK4WYD8ez=z~z}lQ;#Ycj7-wvF}9^tHl}?5#JtGb6uew8Bu8Y%3xk62 zl$BS3D^n%xk_@$tY^wTrg73{OpVx;*dunBW`vu;g(BFA)eX^@>endZTqyDMZ{>oGO zZd1Nmzy7iEH{V*n@16c8_Z`AV?|1+FR{yu|jGq|umyLFN$IngONAH4kK7;;N8+O!R z?IAD8NHg`*lhsmm<#3n^6PcT;BX}t_k|eFQB#gqQDrN$HX47ikH3bD!wH_@YPN~}h zt>^v2ZQ2|6Hvf(57vJ(mhnMh+&%h6V8D9Smf8+1dcfA){M}P67{15MJemZYHoqK0~ z9odHPP}*sou6P+r&DNwfvWZj`#oQ`UMtiIrUct;mM*vHMv~U!N2Ami3># z0T$a35$Vx7usD|76ZkH5AFTdHIJ|l7-{k&t_w>b-Sh$(X!s(!x&LA$SSu= zTouf>yMr}bQl~^Gn^ja{^j*rqd5CZU0U=g3RUi7U%M$fx?0&OOpV^k%jyqr;J2$U& zA)WFO_5_Gu*w$~f{lB@H|K_>Xmo5v03P6D5NM;mmRY)0e0Jz!FHL7o7`}0qp zzV_j9i+VHhKluFiS8wZ$zOO_e)MYV;F6SWGGhv+Ij_c}T8wmhM+%v+?6c+PRTlj-l zW3S8If^sLJAwTdviwGdhQzN2b$jd-6-WlN#DMBKcOGQ8qbxRGva~33g;iXq!y>oxJ zKcqxCX8^z49_nGj(#}u~@E*|Y?v6QgY^W*d$zhX2jFN}&545IwL|jBeg*J=VEPSCt zd_a7@!8@`3`LuhI>%rl7EWNxsk#R`q;Gngk(D9~aQFN5d%sjV(Zh$@m%(=hq^wAk! zb-I~l2H!eW;sf)+U?x=J_^}v)2>Zl+N_}lpwdbjGCPUf-0)i~#&G0QRV=hS)C!{LEW5gv4EzVZZR^(vpP$e}e8rYsWpk3fqB zJd==e7G|2~no~+5{(DFTb~Hu&Za|R3o{dXb9u_2HyuS!&s?2=f@dhe2yF^AXZMtz= zA>8coQx^>`^{-#CuY4HZ@eq7>wU4X6^Ktz8x5C%H-rsY>AGr^7A2&0+<0<&Iclucm zU)%*cKEIVFd?U{nGa7To@}hV5@+OmknJ~x5Z5;a~yxr~N+ElC7 z*33N#5#q_oI*612c;m*^PL&Unsw&|gxfm&sIFN$@9*C=hw6ahA4yiBmL+qb3Uf;Jj zJ!j7p_*1V^O7M+;0P&m7e)WU=U;cmT%DSICy(;oW$-e>V3&6G-_c`Auxu3gB&X*$R zG8|G@a+*mh@jc+TdwKo5`*0-`8d4JBsv6zPp}B=%GmgW_dRQ#n?%UnO%%>+~G^Cf> zV$4ZMrL|I8v{9GRRK2LBEW>)Vxl$?afJ8%|%`LXNI8!-zh>VLBpD=u(UCu`@47z)3 z4PkMlhYBhH_b5F(`TMv%ocw*w|K;r3^(xC^(RIlk++efmqY(IVdpJyGvmPSpl9;Pn zgijEmw3d?~pvHhRiJEQJxYx5$jeM5@dzgD1dOystEijw`oWpbr4xTSYS;kgq<)EvwH{LA+mc$5QGGlt7gKlydmGeqVGIAd3nYY z@PGUA;iq0LkDT<*T!?`w5eLrAkJ%0)eo%~8gYANd2!R9(_9;Nz3-LkoLpZ0y?J`Zp z4OkcnIa0&A9LkU&iv2>)DXkvkT8M-}-U$d9EbBG2X8Xe&G?u0wJLNRj(jxp$707|^ z5*zq&*9;jQW48teNgUR}U!bc%Dlr60z^9 zYT(_O7!V^f!@@+1X*sN0O*I6lST%%TCbp)psbzI}y$ily+Bbeaa{=9#-;oFDq=C##7`q9G&KSjf;_rw`}MZ|~) zbL(cdsbD*mYPNGYSQt-N8MlB#Gl;p67D18IE1k zIL~#it(1D@bRE>F~uc?OT}^rsI_tKJDsHO9$&Y#bZL{?$9@M0E9R zRjZZSm?>u#A~Ua5nJ8%No6TyTi-B*qhcef>)cs+OKF;8kN31jT*=u`j+P%>5{@ED| zm2gK8_FY;HovK$gM3_=~WS)L(-2c>N`_uF4WYgzbg8`$wFpe5#_FxR(rIZr2 z+RVK+Bcvt%WR^mCUjnSbMs{sVh`f5Hof9) zR5(HZ1CNb29~#C(+e~FAd$DpKWqV3k_4-~{*;ccO!wO-zKxuy7!H?X>|LQ!Qcv_uv z5Ayk(v%~ccZ_RX7{UIj?xLENy)9O^-dXitbs9)OG<~T4d-ndqidxt=X#e6R9PAN}s zJVhx#A0SZ5ETuoiV!0` zDsI(1n;jh5azHueZI6u*;gF6iEfOsaQ_*uBec#8bYi9z7exAC+;oEWlSH||YF6qbe zmG!z`^|?o^b6dcO4wB^vVRFuy)Y3eO={0XFz=smuZ+eO8BxeMllT1j`Dmcz5H8+f1 z$}}1omwE?8A}VG>D=Rc0X67wo>Z4{Y*t`#x5p<&M5`g2nHuz6YArI_IG1Kk za~2{xRK0QibUpU_-QhfSAD-bYb$X@3XCQN8Lhce1;bAJFJO@)Le3i|uwia~hMUZd^ zStypAKy!JR6`2=Uoh>ZTApUeY*%4nHVt^3d1-@RVhrnJ*9fFUbr&&LJUdz7y#f?6` zb{P=Z>pARh!q`Kqc&PB|$6>t(d=2mj4-fE)z`y=1D$47xLP5B;wvNmUud*gB_h-7w zdX92Ck86tXf+t~jpXQpf%%yF2)6jQnT5HVlSyEE7)6Hs{ODUCE0;95ZENbe|w|1hl z6Y6Tb-wpQ-6QKZzD{VK)%ro^Sc!>c*IhM zRT5$8@r;vmp!vdPya3pa$*aw(bCJ)@)LDC~_rAez?zAU7CjlW@)RZN6pEF01xH-(z zyxELy-qgZlmAk}5Ojv7`#C_kzmb2SWyWO;2^;fTKgr&9?VM=pLS%%uWI={#r=9CZ= z0nLXlAyJpJgO7c8da`OnQtO$U znIhTiA70hPcL+`o#nFn*+soxY@AK@euH6?9Tk3JNB{k~e4)zk%;{h6 zyN@7$SkkARu6FRWaBDV`L-xCrE;2sc@ZjtRd4JDWR`%+ly>w^|5Wo+$O|@-n+nb)x z%}V|5N5}7YbbZg^vg#V4Wqz^PFI>)&QbDRBfEYC{zl-*E5D_@8>9MdnJjm@K5e9Ji zL7wkug(}gtTaRrlNWbe0I)XynL%VPo`YvZ#oXzHHDol%YP+P5<7F_c3IWJl?K>Qgb zP+Ke#1TedIh$P&Cy~!j*T~6U+#--u}C9t4zL}-nc&MD}-3(AxQlUFzMR9dYMHcKM3V@y80!9;Y54)Y}QG!X5pzo*ArO6MTNa8TVE0P)Hc2rf{_ z90~bY#TR2&5g`OKmz><8Z%y4*wK$e2y`#mI6Cc;{n_41MNhFpACXT;6^v@88yeTl} zE*%T1e78FQVwaPuZTAzn6S1o09RA)#YwA+!h}0L46*EfQK@r?N4k)ojMO*|C9Wm;n zR$~s%%XVJ~;5Am?Gs4RiKA{{e3?^)<;XG>r^glJgq=Zy&_}?6bp1H~ps*HKmso{_oGoPv2eNO8sZ&^qh~+dwF&HS)h z&rVI%h`hEWyaR%!DW`)$uKHJX`)Akf)(w2(arn_+#=rLo`LDhezIf06(|_HatvX^l zhYpvwXMx13d*aa7Ju;W7K@UfF1c%m|0KCNMn|;R8p6x~oO8X=kk)`QU!p+Tv}-%hJ;T&KI6X6SI;)<)fgAP(qahb5gl8iT8Lp+ihI49`Y~}B zeFbV3LWY4?wXl@|AWI~>k<>aNljKMBpO!xZNaW@WkcgehRS7XOJD4O1&6kq^k(rO% zog$qNtEP5$Zl4=A+@*P%5I~y=bKfOhY-Vu$aL|~j)Eo1ms_vX_)%G=muQLDI0s5Q( zp*ScJ6K3>mb^tVh$XZ1!Z&ddPF|$N;eIn-l)YZBLYF)Br$_NM^t~XdNwF~bnzN+Is z1ORcfM`koP2TVi^s0h~7%{H5ng?IZ|oArI}aw%hhvp^La#tr~~u zFu9ol5xDvOFpJP(t`V6Qky6`cJ*>w5)jJoZG$JwtLU_H~!`MEgQik4DnJA|vgWp05 zw&jsq)LRIXH=4PFfdh*WW4wUoW@d37Z)VywTC3bV%H%@EH;YQrB@`h5rR!$qH`iTj zb}{r`^)F)iv!f-%XVCxQ9sJ=}@<;k~kGXSvY-2z2Y5Mhfyd~YQ-<5xTnSShc{=zQb z>$>~gUqUKCv*)ex#Ob!l1$EunpG!{QPw0Fu9dTgxC<3xqPB&p)65;cUeJRZi)SLhU zsal&cQ%5*84VF^_7{E`UTo@l%WKj;OFEhB$PDDWN#bB+6|K}U_*B|zDhWioz=TFj8 zr}Wsv{*QiD?ret{`P^9ITCB!G(GL)c8W9JrUR4<>`aT~pD-z%xz)iw8`25+%bC=k` z)Xbr&Mmc5Q;b&XX`1T!`K6j^vtj5?H>;G8-BfZCW^PU0;Lw_s_Rvb7QGwOj*yos4H??IvCmj7Ju>y#Q zNOWv1?W##Q8hWF~G>!*L)P$mDXYng7aRwniyK)xL1%t)g5-W^HCOb@@;DjVh4#42p z6l(*mGw9nl{nuR|>gC)g(-XRlX*cmBwZ2yLjPz`0sljX4@M-lw_B{TC=2ug`XtFPS zX*f&ny4(OKgNC3Ex0+4Lr&kgu%oC`9_K+B^Fy@T?B|K#C<=63Tihr={-+rV2=Cl0u zr{lE*U%5^Xt@^tacLw8J-%$!B{`9{6$i1m?l9Y_t5NzqVUs~FaUUPc@Yp12U=s|Q3 z&HQq=kBTB@3WrP3?pfI48(xqVVbTK;s!h)?cH^pFjl=#h#n6_H72ZT7%<8VuBE(Ec zYKF%v=Yz9bWQ0RYiG0}d^D~L6sP2*CD~jaV@?#)|84&=Cxl7Usle>n5K}1zIY6!@O zJ+^ijM@G0dP3I}MaY$ykw9tV&q$DETe$VXP-HUk#{)o=+O7u{YYdwC$Bi+Avr5Ys? zVkAIp#DHLkXQpZ}F%y$Txl#~55Pd0WVgRTBPg-5M-AP?d2|2_K2ufQVsN;Vyhw=eS zEslf1vO7dFI##p+tvSqfnTion$|r6E z)*7kJU3aAwaNMz=8^L0VvmjupMr^`B-~fk1eOKQ8@i!LgVf{4x%uDz)pHAQR4*%la_QM|?y0M#?8ZR`* z&=Nzyj3}ozjSi`Z>DqD4BPIY8LMC{grn1z;-gyU`PL01hPON@iG<$$WDP2=?=rbU+0IHQLV5Bw;hEa0GJ_!9rlk=0Ff z90SK71`vVWzuMb7Qk&I3bigV}5q1D$mp1DG0QURRWyy(=C_;f%|NlLm*%1OU3`3nb zwl~XB2>nnq1+klu%jUxjzp6kQJ&o3N&!!-POjK)A)tm(^l(X)6W5(ZP8bht!KQt_a zqkKwj5CV=VmD&TqQk(yqE3g>j7l$Pw;!DEN`Tzg`07*qoM6N<$ Ef-lxlxBvhE literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/r-checked-hover.png b/src/qt/res/themes/Magma/r-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..d9843b0efdc88ad79e0a690768f0f50c5a8cce47 GIT binary patch literal 3032 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/sizegrip.png b/src/qt/res/themes/Magma/sizegrip.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c4845ea31951e1df6c8277b6484161390e72ba GIT binary patch literal 2847 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 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/Magma/styles.qss b/src/qt/res/themes/Magma/styles.qss new file mode 100644 index 000000000..309904982 --- /dev/null +++ b/src/qt/res/themes/Magma/styles.qss @@ -0,0 +1,710 @@ +/** + * Magma Qt Theme - v1.0 + * Created: 24/10/2014 + * Author: ShrykeZ (Based on HyperBlue by Zeewolf) - ##hyperstake (freenode) + * HyperStake - faster than light! + */ + +/** + * QSS REFERENCE : + * http://qt-project.org/doc/qt-4.8/stylesheet-reference.html + * http://qt-project.org/doc/qt-4.8/stylesheet-examples.html + */ + +/** [VARS] + $text-color = #E5E4E2 + $main-color-l = #3D3C3A + $main-color-xl = #565051 + $main-color-d = #2C3539 + $main-color-xd = #0C090A + $main-color-transparent-0 = rgba(51,0,0,200) + $main-color-transparent-1 = rgba(102,0,0,200) + $main-color-transparent-2 = rgba(255,0,0,200) + $shade-transparent-1 = rgba(0,0,0,200) + $shade-transparent-2 = rgba(0,0,0,200) + $main-color = #800517 + $text-grey-d = #800517 + $accent-color = #dca753 + $brightest-color = #fff + $input-border-color = #BCC6CC + $header-font = "Verdana, Geneva, sans-serif" + $error-color = #FF0000 + $success-color = #00FF00 +[/VARS] */ + +* { gridline-color: $main-color } + +/* Dialog, Window */ +QDialog, QMainWindow { + background-image: url($themes-dir/Magma/magma.png); + background-repeat: repeat-xy; +} + +#coinLogo { + qproperty-pixmap: url($themes-dir/Magma/hypstk-watermark.png); + qproperty-alignment: 'AlignBottom | AlignLeft'; +} + +/* Frames */ +QFrame { + /* too general - do not style */ +} + +/* Bottom status bar */ +QStatusBar { + background-color: transparent; + color: $text-color; +} + +QStatusBar::item { + border: none; +} + +/* Label */ +QLabel { + color: $text-color; +} + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + +/* Frames labels - Balance, Stake, etc. */ + +/* Balance frame */ +QFrame#frame { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Recent transactions frame */ +QFrame#frame_2 { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Panel in Coin Control window */ +QFrame#frame_2 QFrame { + color: $text-color; +} + +QFrame#rangeFrame { + background-color: $shade-transparent-1; + border: none; + margin-top: 10px; +} + +#CoinControlDialog QFrame#frame { + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +QFrame#frameCoinControl { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Balance value */ +#frame #labelBalance { + color: $brightest-color; + font-size: 14px; +} + +/* Wallet label */ +QFrame#frame #label_5 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* Recent transactions label */ +QFrame#frame_2 #label_4 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* ScrollArea */ +QScrollArea { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +#scrollAreaWidgetContents { + background-color: transparent; +} +#scrollAreaWidgetContents > QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + border: 1px solid $accent-color; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: transparent; + color: $brightest-color; + border: none; +} + +QTextEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color-xl, stop:1 $main-color); + color: $text-color; + border: 1px solid $input-border-color; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 3px 18px 3px 4px; + min-width: 6em; +} + +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color, stop:1 $main-color-xl); + border-color: $accent-color; +} + +QComboBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/Magma/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/Magma/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/Magma/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $main-color-xl; + color: $text-color; + background-color: $main-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $main-color; + selection-background-color: $text-color; +} + +/* Up&down spin box */ +QDateTimeEdit, QSpinBox, QDoubleSpinBox { + padding: 3px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} + +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QDateTimeEdit::down-arrow { + image: url($themes-dir/Magma/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/Magma/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/Magma/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/Magma/up-arrow.png); +} + +/* Button */ +QPushButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; + /*min-width: 6em;*/ +} + +QPushButton[text="OK"] { + width: 6em; +} + +QToolButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; +} + +QPushButton:hover, QToolButton:hover { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $accent-color, stop: 0.5 $main-color-xd); + color: $accent-color; + border: 2px solid $accent-color; +} + +QPushButton:disabled, QToolButton:disabled { + background-color: $main-color-xd; + border: 2px solid $input-border-color; + color: $main-color-xl; +} + +QPushButton:pressed, QToolButton:pressed { + background-color: $accent-color; + /*border: 2px solid transparent;*/ + color: $main-color-xd; +} + +/* Toolbar */ +QToolBar { + background: $main-color-l; + spacing: 0px; /* spacing between items in the tool bar */ + border-bottom: 3px solid $main-color-xd; + border-top: 1px solid $main-color-xd; + min-height: 40px; + padding: 0px; +} + +QToolBar::handle { + padding: 0px; + background-image: url($themes-dir/Magma/toolbar-handle.png); + background-repeat: repeat-y; + background-position: top center; +} + +/* Toolbar buttons */ +QToolBar QToolButton { /* all types of tool button */ + border-radius: 0px; + background-color: transparent; + color: $text-color; + padding: 3px 1px 5px 2px; + font-family: $header-font; + font-size: 12px; + margin-top: 4px; + border: none; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QToolBar QToolButton:hover { + color: $brightest-color; + background-color: transparent; + border: none; + +} + +QToolBar QToolButton:checked { + background-color: $main-color-xd; + color: $accent-color; + border-bottom: 3px solid $accent-color; + padding: 5px 1px 5px 2px; +} + +QToolBar QToolButton:disabled { + color: $input-border-color; + background-color: transparent; + border: none; +} + +/* Tool buttons - buttons with icons */ +#qt_toolbar_ext_button { + qproperty-icon: url($themes-dir/Magma/arrow-down.png); + border-radius: 0px; + margin-top: 0px; + color: #fff; + border-bottom: 3px solid transparent; +} + +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; +} + +/* Progress bar */ +QProgressBar { + border: 1px solid rgba(136,193,208,80); + color: $brightest-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + background-color: rgba(136,193,208,80); + width: 3px; + margin: 0.5px; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: $main-color-transparent-0; + alternate-background-color: $main-color-transparent-1; + border-style: none; + border-bottom: 3px solid $shade-transparent-2; + color: $text-color; + selection-background-color: $main-color-transparent-2; + /*selection-color: $main-color-xd;*/ + outline: none; +} + +QTableView QTableCornerButton::section { + border: 0px solid $main-color-xd; + outline: none; +} + +QTableWidget::item:focus { + outline: none; + border: 0px; +} + +QTreeView { + background: $main-color-transparent-0; + color: $text-color; + border-style: none; + selection-background-color: $accent-color; + alternate-background-color: $main-color-transparent-1; + selection-color: $main-color-xd; + outline: none; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $brightest-color; +} + +QTreeView::item:selected { + background-color: $main-color-transparent-2; + color: $main-color-xd; +} + +/* Table Header */ +QHeaderView { + color: $brightest-color; + background-color: $main-color; + border-bottom: 1px solid $accent-color; +} + +QHeaderView::section { + color: $accent-color; + background-color: transparent; +} + +QHeaderView::section:checked { + +} + +/* Tooltip */ +QToolTip { + border: 2px outset $main-color-xl; + color: $text-color; + background-color: $main-color; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $text-grey-d; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $text-color; + color: $text-grey-d; +} + +QMenuBar::item:pressed { + background: $text-color; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $text-grey-d; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + color: $text-grey-d; + background-color: $text-color; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url($themes-dir/Magma/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url($themes-dir/Magma/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url($themes-dir/Magma/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url($themes-dir/Magma/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url($themes-dir/Magma/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url($themes-dir/Magma/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url($themes-dir/Magma/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url($themes-dir/Magma/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url($themes-dir/Magma/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url($themes-dir/Magma/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url($themes-dir/Magma/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url($themes-dir/Magma/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url($themes-dir/Magma/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url($themes-dir/Magma/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; + border-top: 2px solid $main-color-xd; + margin-top: -2px; +} + +QTabWidget::tab-bar { +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + /*background-color: $main-color;*/ + background-color: transparent; + min-width: 26ex; + padding: 6px 4px 8px 4px; + color: $text-color; + margin-right: 2ex; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + border-bottom: 2px solid $accent-color; + background-color: $main-color-xd; + color: $accent-color; + margin-top: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QTabBar::tab:!selected { + /*margin-top: 2px;*/ /* make non-selected tabs look smaller */ +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $main-color-transparent-1; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $shade-transparent-2; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { background-color: $main-color } +QCalendarWidget QToolButton { +} +QCalendarWidget QMenu { + background-color: $main-color-xd; +} + + /* header row */ +QCalendarWidget QWidget { alternate-background-color: $main-color-l } + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $main-color-xd; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/Magma/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $main-color-l; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} \ No newline at end of file diff --git a/src/qt/res/themes/Magma/toolbar-handle.png b/src/qt/res/themes/Magma/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..0bfe4b59ea074ec813c3e9da0495687bbec02402 GIT binary patch literal 2812 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 literal 0 HcmV?d00001 From fbd15fe7321a053b6e738c0d31886486b88ae0d5 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Fri, 24 Oct 2014 19:06:17 +0200 Subject: [PATCH 133/555] Even better SSE2 detection - Detection in .pro based on CPU flags (linux, macos) --- HyperStake-qt.pro | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 37303ccb3..20e57123c 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -7,6 +7,18 @@ CONFIG += no_include_pwd static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +linux { + SSE2_SUPPORT = $$system(grep -c sse2 /proc/cpuinfo) +} + +macx { + SSE2_SUPPORT = $$system(sysctl -n machdep.cpu.features | grep -c SSE2) +} + +!linux:!macx { + SSE2_SUPPORT = 1 +} + win32{ #uncomment the following section to enable building on windows: windows:LIBS += -lshlwapi @@ -114,13 +126,12 @@ contains(BITCOIN_NEED_QT_PLUGINS, 1) { DEFINES += HAVE_BUILD_INFO } -arm-linux-*: { - message("RaspberryPi detected, compiling without -msse2 flag") -} -!arm-linux-*: { - message("Adding -msse2 flag") +contains( SSE2_SUPPORT, 1 ) { + message("SSE2 detected, adding -msse2 flag") QMAKE_CXXFLAGS += -msse2 QMAKE_CFLAGS += -msse2 +} else { + message("No SSE2 detected, skipping -msse2 flag") } QMAKE_CXXFLAGS_WARN_ON = -fdiagnostics-show-option -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector @@ -220,7 +231,7 @@ HEADERS += src/qt/bitcoingui.h \ src/sph_echo.h \ src/sph_shavite.h \ src/sph_simd.h \ - src/sph_types.h + src/sph_types.h SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/transactiontablemodel.cpp \ From 7ce97cb59103930b9185bbe648433ef2a2f6a6a3 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 25 Oct 2014 17:52:57 -0600 Subject: [PATCH 134/555] return change to sender not enabled by default Enabled via GUI checkbox on sendcoinsdialogg --- src/coincontrol.h | 1 + src/qt/forms/sendcoinsdialog.ui | 13 ++++++++++--- src/qt/sendcoinsdialog.cpp | 15 +++++++++++++++ src/qt/sendcoinsdialog.h | 1 + src/wallet.cpp | 8 +++++--- 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/coincontrol.h b/src/coincontrol.h index 236b58655..6fe4d3dd0 100644 --- a/src/coincontrol.h +++ b/src/coincontrol.h @@ -6,6 +6,7 @@ class CCoinControl { public: CTxDestination destChange; + bool fReturnChange; CCoinControl() { diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index 74d488d3c..c5107f738 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -549,7 +549,7 @@ - + 12 @@ -562,6 +562,13 @@ 5 + + + + Return Change + + + @@ -634,8 +641,8 @@ 0 0 - 828 - 162 + 830 + 172 diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5c2165c57..ec80499fa 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -47,6 +47,8 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : connect(ui->pushButtonCoinControl, SIGNAL(clicked()), this, SLOT(coinControlButtonClicked())); connect(ui->checkBoxCoinControlChange, SIGNAL(stateChanged(int)), this, SLOT(coinControlChangeChecked(int))); connect(ui->lineEditCoinControlChange, SIGNAL(textEdited(const QString &)), this, SLOT(coinControlChangeEdited(const QString &))); + connect(ui->returnChangeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(coinControlReturnChangeChecked(int))); + // Coin Control: clipboard actions QAction *clipboardQuantityAction = new QAction(tr("Copy quantity"), this); @@ -434,6 +436,19 @@ void SendCoinsDialog::updateDisplayUnit() coinControlUpdateLabels(); } + // Coin Control: return change + // presstab HyperStake + void SendCoinsDialog::coinControlReturnChangeChecked(int state) + { + if (model) + { + if (state == Qt::Checked) + CoinControlDialog::coinControl->fReturnChange = true; + else + CoinControlDialog::coinControl->fReturnChange = false; + } + } + // Coin Control: checkbox custom change address void SendCoinsDialog::coinControlChangeChecked(int state) { diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index 68424bb1d..dadec0159 100644 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -53,6 +53,7 @@ private slots: void coinControlFeatureChanged(bool); void coinControlButtonClicked(); void coinControlChangeChecked(int); + void coinControlReturnChangeChecked(int); void coinControlChangeEdited(const QString &); void coinControlUpdateLabels(); void coinControlClipboardQuantity(); diff --git a/src/wallet.cpp b/src/wallet.cpp index 0330340c6..22901c9ca 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1348,6 +1348,8 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW else if (coinControl && !boost::get(&coinControl->destChange)) { scriptChange.SetDestination(coinControl->destChange); } + else if (coinControl && coinControl->fReturnChange == true) + scriptChange.SetDestination(outputAddress); // no coin control: send change to newly generated address else { @@ -1359,12 +1361,12 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW // post-backup change. // Reserve a new key pair from key pool - //CPubKey vchPubKey = reservekey.GetReservedKey(); + CPubKey vchPubKey = reservekey.GetReservedKey(); - //scriptChange.SetDestination(vchPubKey.GetID()); + scriptChange.SetDestination(vchPubKey.GetID()); // change HyperStake to get rid of automatic generation of change address and instead send change back - scriptChange.SetDestination(outputAddress); + } // Insert change txn at random position: From 183eaeccff5bf9b52af0478f09a0deb91a5b93eb Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 26 Oct 2014 10:09:37 +0000 Subject: [PATCH 135/555] celestial theme: fix invisible scrollbar handle --- src/qt/res/themes/Celestial/styles.qss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss index 28ec4ffba..2b12cf466 100644 --- a/src/qt/res/themes/Celestial/styles.qss +++ b/src/qt/res/themes/Celestial/styles.qss @@ -643,9 +643,9 @@ QScrollBar:vertical { margin: 0px 0px 0px 0px; } -QScrollBar::handle:vertical { - background: $shade-transparent-2; -} +#QScrollBar::handle:vertical { +# #background: $shade-transparent-2; +#} QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; @@ -707,4 +707,4 @@ QBalloonTip QPushButton { QBalloonTip QPushButton:hover { border: none; background-color: $accent-color; -} \ No newline at end of file +} From 0d43f01883102f768fbcc0c9e8b64c00f00e13d7 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 26 Oct 2014 10:48:40 +0000 Subject: [PATCH 136/555] coincontrol: widen the window a bit It avoids the horizontal scrollbar now that a new column was added --- src/qt/forms/coincontroldialog.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/forms/coincontroldialog.ui b/src/qt/forms/coincontroldialog.ui index 847209cea..b8b05644d 100644 --- a/src/qt/forms/coincontroldialog.ui +++ b/src/qt/forms/coincontroldialog.ui @@ -6,7 +6,7 @@ 0 0 - 1000 + 1040 500 From f992dc2ccf19d0d88509d9c07dcdba906d828c58 Mon Sep 17 00:00:00 2001 From: zeewolfik Date: Mon, 27 Oct 2014 14:52:59 +0000 Subject: [PATCH 137/555] Platform detection fixes in Qt makefile --- HyperStake-qt.pro | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 20e57123c..3de2ed2ed 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -7,18 +7,19 @@ CONFIG += no_include_pwd static QT += core gui xml greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -linux { - SSE2_SUPPORT = $$system(grep -c sse2 /proc/cpuinfo) -} - macx { SSE2_SUPPORT = $$system(sysctl -n machdep.cpu.features | grep -c SSE2) } -!linux:!macx { +unix:!macx { + SSE2_SUPPORT = $$system(grep -c sse2 /proc/cpuinfo) +} + +!unix:!macx { SSE2_SUPPORT = 1 } + win32{ #uncomment the following section to enable building on windows: windows:LIBS += -lshlwapi From a55650ae098b440edd976d657eaf6bb5caa92e08 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Tue, 28 Oct 2014 21:06:37 +0000 Subject: [PATCH 138/555] celestial: fix notification styling --- src/qt/res/themes/Celestial/styles.qss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss index 2b12cf466..7da395028 100644 --- a/src/qt/res/themes/Celestial/styles.qss +++ b/src/qt/res/themes/Celestial/styles.qss @@ -643,10 +643,6 @@ QScrollBar:vertical { margin: 0px 0px 0px 0px; } -#QScrollBar::handle:vertical { -# #background: $shade-transparent-2; -#} - QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; } From b7c2d29914710b019f39ae6413faa49542ad0638 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 29 Oct 2014 16:41:21 -0600 Subject: [PATCH 139/555] Add split stake to GUI need to add calculator next to the line edit to show what size each block will be. The formatting wasn't working well for me, so will add it later. --- src/qt/forms/sendcoinsdialog.ui | 47 ++++++++++++++++++--------------- src/qt/sendcoinsdialog.cpp | 31 ++++++++++++++++++---- src/qt/sendcoinsdialog.h | 2 ++ src/qt/walletmodel.cpp | 4 +-- src/qt/walletmodel.h | 2 +- src/rpcwallet.cpp | 2 +- src/wallet.cpp | 15 +++++++---- src/wallet.h | 2 +- 8 files changed, 69 insertions(+), 36 deletions(-) diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index c5107f738..c8e31d4ee 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -173,16 +173,7 @@ - - 0 - - - 0 - - - 0 - - + 0 @@ -459,6 +450,9 @@ + + QFormLayout::AllNonFixedFieldsGrow + 10 @@ -549,7 +543,7 @@ - + 12 @@ -562,6 +556,26 @@ 5 + + + + SplitBlock + + + + + + + false + + + + 0 + 0 + + + + @@ -646,16 +660,7 @@ - - 0 - - - 0 - - - 0 - - + 0 diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index ec80499fa..f0e441fda 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -35,6 +35,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : #if QT_VERSION >= 0x040700 /* Do not move this to the XML file, Qt before 4.7 will choke on it */ ui->lineEditCoinControlChange->setPlaceholderText(tr("Enter a HyperStake address (e.g. BrXW1RKLDe8VMNwTwLwSiKuATN5M74EL85)")); + ui->splitBlockLineEdit->setPlaceholderText(tr("# of Blocks to Make")); #endif addEntry(); @@ -48,7 +49,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : connect(ui->checkBoxCoinControlChange, SIGNAL(stateChanged(int)), this, SLOT(coinControlChangeChecked(int))); connect(ui->lineEditCoinControlChange, SIGNAL(textEdited(const QString &)), this, SLOT(coinControlChangeEdited(const QString &))); connect(ui->returnChangeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(coinControlReturnChangeChecked(int))); - + connect(ui->splitBlockCheckBox, SIGNAL(stateChanged(int)), this, SLOT(coinControlSplitBlockChecked(int))); // Coin Control: clipboard actions QAction *clipboardQuantityAction = new QAction(tr("Copy quantity"), this); @@ -77,6 +78,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : ui->labelCoinControlChange->addAction(clipboardChangeAction); fNewRecipientAllowed = true; + fSplitBlock = false; } void SendCoinsDialog::setModel(WalletModel *model) @@ -172,12 +174,17 @@ void SendCoinsDialog::on_sendButton_clicked() return; } - WalletModel::SendCoinsReturn sendstatus; - + WalletModel::SendCoinsReturn sendstatus; + int nSplitBlock = 1; + if (ui->entries->count() > 1) + fSplitBlock = false; + if (fSplitBlock) + nSplitBlock = ui->splitBlockLineEdit->text().toInt(); + if (!model->getOptionsModel() || !model->getOptionsModel()->getCoinControlFeatures()) - sendstatus = model->sendCoins(recipients); + sendstatus = model->sendCoins(recipients, nSplitBlock); else - sendstatus = model->sendCoins(recipients, CoinControlDialog::coinControl); + sendstatus = model->sendCoins(recipients, nSplitBlock, CoinControlDialog::coinControl); switch(sendstatus.status) { @@ -449,6 +456,20 @@ void SendCoinsDialog::updateDisplayUnit() } } +// Coin Control: split block check box +// presstab HyperStake +void SendCoinsDialog::coinControlSplitBlockChecked(int state) +{ + if (model) + { + if (state == Qt::Checked) + fSplitBlock = true; + else + fSplitBlock = false; + } + ui->splitBlockLineEdit->setEnabled((state == Qt::Checked)); +} + // Coin Control: checkbox custom change address void SendCoinsDialog::coinControlChangeChecked(int state) { diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index dadec0159..f410cfe1f 100644 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -32,6 +32,7 @@ class SendCoinsDialog : public QDialog void pasteEntry(const SendCoinsRecipient &rv); bool handleURI(const QString &uri); + bool fSplitBlock; public slots: void clear(); @@ -64,6 +65,7 @@ private slots: void coinControlClipboardPriority(); void coinControlClipboardLowOutput(); void coinControlClipboardChange(); + void coinControlSplitBlockChecked(int); }; #endif // SENDCOINSDIALOG_H diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 74b77d1a9..d1547a1ab 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -129,7 +129,7 @@ bool WalletModel::validateAddress(const QString &address) return addressParsed.IsValid(); } -WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList &recipients, const CCoinControl *coinControl) +WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList &recipients, int nSplitBlock, const CCoinControl *coinControl) { qint64 total = 0; QSet setAddress; @@ -192,7 +192,7 @@ WalletModel::SendCoinsReturn WalletModel::sendCoins(const QListCreateTransaction(vecSend, wtx, keyChange, nFeeRequired, false, coinControl); + bool fCreated = wallet->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, nSplitBlock, false, coinControl); if(!fCreated) { diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index 370be5724..f18091d5e 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -87,7 +87,7 @@ class WalletModel : public QObject }; // Send coins to a list of recipients - SendCoinsReturn sendCoins(const QList &recipients, const CCoinControl *coinControl=NULL); + SendCoinsReturn sendCoins(const QList &recipients, int SplitBlock, const CCoinControl *coinControl=NULL); // Wallet encryption bool setWalletEncrypted(bool encrypted, const SecureString &passphrase); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8bc3871de..8bb3595ae 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1029,7 +1029,7 @@ Value sendmany(const Array& params, bool fHelp) // Send CReserveKey keyChange(pwalletMain); int64 nFeeRequired = 0; - bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired); + bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, 1); if (!fCreated) { if (totalAmount + nFeeRequired > pwalletMain->GetBalance()) diff --git a/src/wallet.cpp b/src/wallet.cpp index 22901c9ca..713af69de 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1266,7 +1266,7 @@ bool CWallet::SelectCoins(int64 nTargetValue, unsigned int nSpendTime, set >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C, const CCoinControl* coinControl) +bool CWallet::CreateTransaction(const vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C, const CCoinControl* coinControl) { int64 nValue = 0; BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) @@ -1294,9 +1294,14 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW int64 nTotalValue = nValue + nFeeRet; double dPriority = 0; + if( nSplitBlock < 1 ) + nSplitBlock = 1; // vouts to the payees BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) - wtxNew.vout.push_back(CTxOut(s.second, s.first)); + { + for(int nCount = 0; nCount < nSplitBlock; nCount++) + wtxNew.vout.push_back(CTxOut(s.second / nSplitBlock, s.first)); + } // Choose coins to use set > setCoins; @@ -1351,8 +1356,8 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW else if (coinControl && coinControl->fReturnChange == true) scriptChange.SetDestination(outputAddress); // no coin control: send change to newly generated address - else - { + else + { // Note: We use a new key here to keep it from being obvious which side is the change. // The drawback is that by not reusing a previous key, the change may be lost if a // backup is restored, if the backup doesn't have the new private key for the change. @@ -1431,7 +1436,7 @@ bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& w { vector< pair > vecSend; vecSend.push_back(make_pair(scriptPubKey, nValue)); - return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, fAllowS4C, coinControl); + return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, 1, fAllowS4C, coinControl); } bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight) diff --git a/src/wallet.h b/src/wallet.h index 78ee360a2..88074f332 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -208,7 +208,7 @@ class CWallet : public CCryptoKeyStore int64 GetStake() const; int64 GetNewMint() const; bool StakeForCharity(); - bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); + bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); From e4fe8953471f2a98e74ee2c71f8badb93296affc Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 29 Oct 2014 21:56:59 -0600 Subject: [PATCH 140/555] fix transaction fee in coin control --- src/qt/coincontroldialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index fea231034..6a7f572e0 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -615,8 +615,8 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) sPriorityLabel = CoinControlDialog::getPriorityLabel(dPriority); // Fee - int64 nFee = nTransactionFee * (1 + (int64)nBytes / 1000); - + int64 nFee = nTransactionFee; + // Min Fee int64 nMinFee = txDummy.GetMinFee(1, false, GMF_SEND, nBytes); From 3da175dddb6bede33cf2d68bfdc73c35dcd82d6b Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 30 Oct 2014 10:12:09 -0600 Subject: [PATCH 141/555] Do not split stake if blocks will be less than 1k --- src/wallet.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 713af69de..20df2a9bb 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1685,7 +1685,10 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int vwtxPrev.push_back(pcoin.first); txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - if (block.GetBlockTime() + nStakeSplitAge > txNew.nTime) + uint64 nStakeTime = txNew.nTime - block.GetBlockTime(); + uint64 nTotalSize = nCredit / 7.5 * 365 * (60*60*24) / nStakeTime; + + if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (1000 * COIN))) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake if (fDebug && GetBoolArg("-printcoinstake")) From d7a8f0d56d4e1d9620ade9097d214dc717d4a694 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 30 Oct 2014 15:08:54 -0600 Subject: [PATCH 142/555] Fix split threshold calculation --- src/wallet.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 20df2a9bb..c9fde8064 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1685,8 +1685,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int vwtxPrev.push_back(pcoin.first); txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - uint64 nStakeTime = txNew.nTime - block.GetBlockTime(); - uint64 nTotalSize = nCredit / 7.5 * 365 * (60*60*24) / nStakeTime; + uint64 nTotalSize = nCredit + pcoin.first->vout[prevoutStake.n].nValue; if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (1000 * COIN))) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake From 4f174b1351c307d359c4a0118a4f2b48cd2c0630 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 18:52:41 -0600 Subject: [PATCH 143/555] dont allow blocks to split to outside address --- src/qt/sendcoinsdialog.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index f0e441fda..2833bf765 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -122,9 +122,12 @@ void SendCoinsDialog::on_sendButton_clicked() return; for(int i = 0; i < ui->entries->count(); ++i) - { - SendCoinsEntry *entry = qobject_cast(ui->entries->itemAt(i)->widget()); - if(entry) + { + SendCoinsEntry *entry = qobject_cast(ui->entries->itemAt(i)->widget()); + CBitcoinAddress address = entry->getValue().address.toStdString(); + if(!model->isMine(address)) + fSplitBlock = false; //dont allow the blocks to split if sending to an outside address + if(entry) { if(entry->validate()) { From b0da7bbc6187e0b6476f632a1ec2331640917b35 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 19:03:14 -0600 Subject: [PATCH 144/555] add tooltips to sendcoinsdialog --- src/qt/forms/sendcoinsdialog.ui | 24 +++++++++++++++++++++--- src/qt/sendcoinsdialog.cpp | 5 ++++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index c8e31d4ee..1e96bb849 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -173,7 +173,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -586,7 +595,7 @@ - custom change address + Custom Change Address @@ -660,7 +669,16 @@ - + + 0 + + + 0 + + + 0 + + 0 diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 2833bf765..0d35384ba 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -34,8 +34,11 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : #if QT_VERSION >= 0x040700 /* Do not move this to the XML file, Qt before 4.7 will choke on it */ - ui->lineEditCoinControlChange->setPlaceholderText(tr("Enter a HyperStake address (e.g. BrXW1RKLDe8VMNwTwLwSiKuATN5M74EL85)")); + ui->lineEditCoinControlChange->setPlaceholderText(tr("Enter a HyperStake address (e.g. pAvP3gYfuyDVbUt98ToMbwU9rwEdBV1dHW)")); ui->splitBlockLineEdit->setPlaceholderText(tr("# of Blocks to Make")); + ui->splitBlockCheckBox->setToolTip(tr("Enable/Disable Block Splitting")); + ui->returnChangeCheckBox->setToolTip(tr("Use your sending address as the change address")); + ui->checkBoxCoinControlChange->setToolTip(tr("Send change to a custom address")); #endif addEntry(); From 0cee5408eafd1477b94cce5a259cd153ba32b359 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 19:15:28 -0600 Subject: [PATCH 145/555] fix unlockformint checkstate --- src/qt/bitcoingui.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7c897136e..4987b3ee8 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -439,9 +439,9 @@ void BitcoinGUI::createMenuBar() QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); + settings->addAction(lockWalletToggleAction); settings->addAction(unlockWalletAction); settings->addAction(changePassphraseAction); - settings->addAction(lockWalletToggleAction); settings->addAction(checkWalletAction); settings->addAction(repairWalletAction); settings->addAction(charityAction); @@ -982,7 +982,7 @@ void BitcoinGUI::setEncryptionStatus(int status) labelEncryptionIcon->setToolTip(tr("Wallet is encrypted and currently unlocked")); encryptWalletAction->setChecked(true); encryptWalletAction->setEnabled(false); // TODO: decrypt currently not supported - unlockWalletAction->setChecked(true); + unlockWalletAction->setChecked(false); unlockWalletAction->setEnabled(false); changePassphraseAction->setEnabled(true); lockWalletToggleAction->setVisible(true); @@ -994,7 +994,7 @@ void BitcoinGUI::setEncryptionStatus(int status) labelEncryptionIcon->hide(); encryptWalletAction->setChecked(true); encryptWalletAction->setEnabled(false); // TODO: decrypt currently not supported - unlockWalletAction->setChecked(true); + unlockWalletAction->setChecked(false); unlockWalletAction->setEnabled(true); changePassphraseAction->setEnabled(true); lockWalletToggleAction->setVisible(true); From e7101632b16d2e0a0d1924aba1de768766a68fd1 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 19:35:34 -0600 Subject: [PATCH 146/555] add weight to getstaketx --- src/rpcwallet.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8bb3595ae..3d61bf87a 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1542,6 +1542,7 @@ Value listsinceblock(const Array& params, bool fHelp) return ret; } +//presstab HyperStake Value getstaketx(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) @@ -1572,11 +1573,6 @@ Value getstaketx(const Array& params, bool fHelp) uint64_t nTimeToStake = nTime - nPrevTime; // time to stake in seconds double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; - //entry.push_back(Pair("txid", txin.prevout.hash.GetHex())); previous txid - not necessary to display right now - entry.push_back(Pair("Stake TX Time", nTime)); - entry.push_back(Pair("Previous Time", nPrevTime)); - entry.push_back(Pair("Days To Stake", dDaysToStake)); - int64 nDebit = wtx.GetDebit(); int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); @@ -1587,10 +1583,14 @@ Value getstaketx(const Array& params, bool fHelp) wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); double nGeneratedAmount2 = max (nGeneratedMature, nGeneratedImmature); //uint64_t math not working - double percentReward = nFee / (nGeneratedAmount2 - nFee); + double dWeight = (nGeneratedAmount / COIN) * (dDaysToStake - 8.8); + entry.push_back(Pair("Stake TX Time", nTime)); + entry.push_back(Pair("Previous Time", nPrevTime)); + entry.push_back(Pair("Days To Stake", dDaysToStake)); entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); + entry.push_back(Pair("Weight", dWeight); entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); entry.push_back(Pair("Reward %", percentReward)); entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); From e7a839a4307620561a1feb73c610580ca4a32510 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 19:38:03 -0600 Subject: [PATCH 147/555] fix weight calc --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 3d61bf87a..29de29068 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1584,7 +1584,7 @@ Value getstaketx(const Array& params, bool fHelp) uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); double nGeneratedAmount2 = max (nGeneratedMature, nGeneratedImmature); //uint64_t math not working double percentReward = nFee / (nGeneratedAmount2 - nFee); - double dWeight = (nGeneratedAmount / COIN) * (dDaysToStake - 8.8); + double dWeight = ((nGeneratedAmount - nFee)/ COIN) * (dDaysToStake - 8.8); entry.push_back(Pair("Stake TX Time", nTime)); entry.push_back(Pair("Previous Time", nPrevTime)); From 4ceb6b10013f687cdf480cb28ba2e372920d25e4 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 19:40:15 -0600 Subject: [PATCH 148/555] weight --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 29de29068..81483f99c 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1590,7 +1590,7 @@ Value getstaketx(const Array& params, bool fHelp) entry.push_back(Pair("Previous Time", nPrevTime)); entry.push_back(Pair("Days To Stake", dDaysToStake)); entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); - entry.push_back(Pair("Weight", dWeight); + entry.push_back(Pair("Weight", dWeight)); entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); entry.push_back(Pair("Reward %", percentReward)); entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); From 3f6e9a66e77316df876d0997042f1a2f0362ecf0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 20:03:47 -0600 Subject: [PATCH 149/555] prevent s4c sending twice Tranz HBN - https://github.com/Tranz5/HoboNickels/commit/6984a4f429bd3ae94282e6875fa47fd4f2727459 --- src/wallet.cpp | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index c9fde8064..854cb89b4 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1103,6 +1103,8 @@ int64 CWallet::GetNewMint() const return nTotal; } +int nPrevS4CHeight = 0; + bool CWallet::StakeForCharity() { @@ -1117,26 +1119,31 @@ bool CWallet::StakeForCharity() for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) { const CWalletTx* pcoin = &(*it).second; - if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() == 0 && pcoin->GetDepthInMainChain() == nCoinbaseMaturity+20) + if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() == 0 && pcoin->GetDepthInMainChain() == nCoinbaseMaturity+20) { - // Calculate Amount for Savings + // Calculate Amount for Charity nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; - // Do not send if amount is too low or high - if (nNet <= nStakeForCharityMin || nNet >= nStakeForCharityMax ) - { - printf("StakeForCharity: Amount: %s is not in range of Min: %s and Max:%s\n",FormatMoney(nNet).c_str(),FormatMoney - (nStakeForCharityMin).c_str(),FormatMoney - (nStakeForCharityMax).c_str()); + // Do not send if amount is too low + if (nNet < nStakeForCharityMin ) { return false; } - - printf("StakeForCharity Sending: %s to Address: %s\n", FormatMoney(nNet).c_str(), strStakeForCharityAddress.ToString().c_str()); - fS4CNotificator = true; - SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false,true); + // Truncate to max if amount is too great + if (nNet > nStakeForCharityMax ) { + nNet = nStakeForCharityMax; + } + if (nBestHeight <= nPrevS4CHeight ) { + return false; + } else { + SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false, true); + nPrevS4CHeight = nBestHeight; + } } + } + } + return true; } From 18ca43b0a5da596cb796191f32fbdf4ce2e85e18 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Oct 2014 22:44:07 -0600 Subject: [PATCH 150/555] make each split block a little bit different theory behind this is to change the PoS block hashing a bit. looking at the coinstake split tx, they are never the same size either. Haven't confirmed whether this is necessary or not. --- src/wallet.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 854cb89b4..2b98c447e 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1306,8 +1306,21 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW // vouts to the payees BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) { + uint64 nBlockAmount = 0; + uint64 nBlockSum = 0; + uint64 nAvgBlock = s.second / nSplitBlock; + for(int nCount = 0; nCount < nSplitBlock; nCount++) - wtxNew.vout.push_back(CTxOut(s.second / nSplitBlock, s.first)); + { + + if (!(nCount == nSplitBlock)) + nBlockAmount = nAvgBlock - ((nCount + 1) * COIN / 4000); + else + nBlockAmount = s.second - nBlockSum; + nBlockSum += nBlockAmount; + + wtxNew.vout.push_back(CTxOut(nBlockAmount, s.first)); + } } // Choose coins to use From 464eac1586c90a71126d508d3c956d98cf86db0c Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 1 Nov 2014 18:46:07 +0000 Subject: [PATCH 151/555] themes: new blue lights theme --- src/qt/res/themes/BlueLights/arrow-down.png | Bin 0 -> 338 bytes src/qt/res/themes/BlueLights/bg.png | Bin 0 -> 132686 bytes .../themes/BlueLights/calendar-disabled.png | Bin 0 -> 673 bytes src/qt/res/themes/BlueLights/calendar.png | Bin 0 -> 617 bytes .../themes/BlueLights/cb-checked-hover.png | Bin 0 -> 266 bytes src/qt/res/themes/BlueLights/cb-checked.png | Bin 0 -> 266 bytes src/qt/res/themes/BlueLights/cb-hover.png | Bin 0 -> 395 bytes src/qt/res/themes/BlueLights/cb.png | Bin 0 -> 395 bytes .../themes/BlueLights/down-arrow-disabled.png | Bin 0 -> 221 bytes src/qt/res/themes/BlueLights/down-arrow.png | Bin 0 -> 226 bytes .../themes/BlueLights/hypstk-watermark.png | Bin 0 -> 3544 bytes .../res/themes/BlueLights/r-checked-hover.png | Bin 0 -> 363 bytes src/qt/res/themes/BlueLights/r-checked.png | Bin 0 -> 378 bytes src/qt/res/themes/BlueLights/r-hover.png | Bin 0 -> 315 bytes src/qt/res/themes/BlueLights/r.png | Bin 0 -> 315 bytes src/qt/res/themes/BlueLights/sizegrip.png | Bin 0 -> 163 bytes src/qt/res/themes/BlueLights/styles.qss | 737 ++++++++++++++++++ .../res/themes/BlueLights/toolbar-handle.png | Bin 0 -> 126 bytes .../themes/BlueLights/up-arrow-disabled.png | Bin 0 -> 219 bytes src/qt/res/themes/BlueLights/up-arrow.png | Bin 0 -> 222 bytes 20 files changed, 737 insertions(+) create mode 100644 src/qt/res/themes/BlueLights/arrow-down.png create mode 100644 src/qt/res/themes/BlueLights/bg.png create mode 100644 src/qt/res/themes/BlueLights/calendar-disabled.png create mode 100644 src/qt/res/themes/BlueLights/calendar.png create mode 100644 src/qt/res/themes/BlueLights/cb-checked-hover.png create mode 100644 src/qt/res/themes/BlueLights/cb-checked.png create mode 100644 src/qt/res/themes/BlueLights/cb-hover.png create mode 100644 src/qt/res/themes/BlueLights/cb.png create mode 100644 src/qt/res/themes/BlueLights/down-arrow-disabled.png create mode 100644 src/qt/res/themes/BlueLights/down-arrow.png create mode 100644 src/qt/res/themes/BlueLights/hypstk-watermark.png create mode 100644 src/qt/res/themes/BlueLights/r-checked-hover.png create mode 100644 src/qt/res/themes/BlueLights/r-checked.png create mode 100644 src/qt/res/themes/BlueLights/r-hover.png create mode 100644 src/qt/res/themes/BlueLights/r.png create mode 100644 src/qt/res/themes/BlueLights/sizegrip.png create mode 100644 src/qt/res/themes/BlueLights/styles.qss create mode 100644 src/qt/res/themes/BlueLights/toolbar-handle.png create mode 100644 src/qt/res/themes/BlueLights/up-arrow-disabled.png create mode 100644 src/qt/res/themes/BlueLights/up-arrow.png diff --git a/src/qt/res/themes/BlueLights/arrow-down.png b/src/qt/res/themes/BlueLights/arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..2c45c97fddaefd27862a2d9fcc82363db9a8b877 GIT binary patch literal 338 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%0ADyk8 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

        cXhv?Cr5S_qXNirN05 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 g1}Z%*pZ4hu(RN}; zNgJjiX=s9pO%N6cp#g!gF~*Pof-C$1fF>^05K(c5D@oB6MkTltC?81;5KU{^`DmxZ zlVd-8ONH%;@B=nq_N==v|7=dD;QlF~Ho-03*g%khMyscIO& zk4PkBy9^gXC=`~HJ;_+DR>QTy!Hi{DD3{9^9UY5URy$ED?PGXk7;rIgdU9&24dsYS z#HHBe)HDuChZws#j;YC8*xM^1o$5njqJX-hK@j{HAD@7nk%J9Q_i;*Hal)Yxrl)67 zsr-gvn7DuM0XiKA7Z)AO&CbDYcfiP>O&IUEu#rtQNam3-vz?qFp3{GvADR5RJsq#kC(7fETUSi!pmtin-IkSDGA_= zR*NVc&d$y-KmQQ@{TbBjb*!(y!@|M>u8=BC5{wsMo?Fnh29XS-tHf~}bXA3_YB)YV z#@n?uJR*|WGze3{To<-&Ls1k6uHz8JLA%{XlPs*RtRNT+;^Stqt5B&_kk9842#PRU zO&X33fdrUGlVutImn2EuCaO}SCL&(Fd5v#7JIG{Y2$5)v?e2buXVdQ&se=p0b-W4D zeke5K@%if)9338jJ_ok8KDjK}+aq1SF_KF6CgE-0v*r@gG3hPV5y-ET9)W}cU`A<=iR;U`~7?xtO$Dkf#-S5 zxutB~rqk|(H8(S%-1ZF1jh-Dz1+oyrP;=B?Nd?jlTx#@e`uOulNz?l^H@-J&yH|Y2 zu|$lLDAU^kr)pvpMR`^5>8y#PDD$OoE*Z#a2G;VL@|_-<-B2f@PDJ;8OzKS0S0|z! z3mF|v7uAXAXu7B;7c)ofdf>`?JVSp|g3o0~CKT>8*AS>u66JbRf}$t@zJh0PHWdf} zXX~q&*$(Lco~I=qq3ixIec!e?Q4^!9HV#0}3CTdP)&M|l#4?iJ=IPJ_+N+}sUG3%B z>?gid93@dQp^&hKxG~tg+fmP#LMB@qh_-dG;yVV`3q0;@qa_w$J#a*fAuq~C=&;#v zCog7TEf6G~{T54Td9p2F7FfeZf{RTNX5z}7Y3znvT` zPmJC2!llIt-P$adrl-(C9=BcOKYoB@Gn6OB=78`Qk5ed^^Ryw$00000NkvXXu0mjf D>;)9} literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/cb-checked-hover.png b/src/qt/res/themes/BlueLights/cb-checked-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..04ced7ae14d3fdda7d4900970f67b51bb0012a08 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%hY$DvT2;bdL&IT$XR#7 zCx%DS4mHy`JrBwBx2Y+Zu|DE0c+RMr(|9FJLAJq}nPUUfNAV463s~eQ+~YoS$RUR1 zNp{jj1}5p$JG*ood5#^o_V!(H&C6MJJ>y3%9Vw;>&hPC6ntlFqh+aOloH0jOr>ODV zMy8;>4mpkf%w9H(s{M>B?G*lX`7>`jahK=F#~&sOEc!(l1QHk?Xt>5a5{WAUx|_k% L)z4*}Q$iB}In`c% literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/cb-checked.png b/src/qt/res/themes/BlueLights/cb-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..8c9993f89a6290754204c5bd472a2d70b7a7135d GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGei_c)B=-RNPAX^Z&m+^U8+KMjnSP%XVu!*)+~zJ(8vvgTe~DWM4f?7Up3 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/cb-hover.png b/src/qt/res/themes/BlueLights/cb-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..a7e9a393e9044ffdac6a4eb5ee9ede6df0f2fa06 GIT binary patch literal 395 zcmV;60d)R}P)kcs zQrPC>psp1t&6tlUMc#?Wqe^Bl5hvNgO}yX|M|!tYG_}Sy`3~PFwEP+C=-?~7v?WrO pZF)iMy}x^j+Uvu=_uu#xU;r0=T{8C4NKXI&002ovPDHLkV1kdss*eBw literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/cb.png b/src/qt/res/themes/BlueLights/cb.png new file mode 100644 index 0000000000000000000000000000000000000000..986a9165cfba6d988629fc524cd703e56da5a377 GIT binary patch literal 395 zcmV;60d)R}P)Tg0Jw>mPlE) p={d3Y|J_T}ULXFwe&bhw0RS0iTV9>$BcuQT002ovPDHLkV1k_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71evXIEGZ*(&;heVpbGzO*cE}cIjqjZstbyFG_J90)m$~ zG?|uh-B=R1ZKmw>J8Q`|e`CMnxruBii1YTee=a3-Y=U)ol38OOfSDRJ=6z z{VA6=_8gU9PU@L^{=RL?hHdK6ySIuJon!z0T`K>ByQXXLIre&u)9>~k);z$#yxQ== Uzr9THK&LQxy85}Sb4q9e0HQThZU6uP literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/down-arrow.png b/src/qt/res/themes/BlueLights/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..dd66e6dfdb347b0386c4f900e6a8dabd3e873b0f GIT binary patch literal 226 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 SSDj7(0000;-7-bg8?JRc|ZXLAp1BF z2fJ`=kO9(lK&%SHw}H56&yRp7KzbbzTL5i*0JEtQh^GTJNCD}UK&%bKY*2b7)S&4= zT#oD~Pat*#;*B``4zk%Fi1#7;NgRkDL!E>Ts6yo>kTtyoVp*skumO;`G&D5fnzjRR z6c9J!(9{gXu|T{7SyMX@X9Gj&DUgl;;_E>C8%jq2#X(NXf~tcAIZ`|=1mdYcycFsO zkdvc91_E(BFt|}{Vt@*m0Wm1p_XF`~C=KG9!8D-QL<#^1FaUy4QwKY_Sx^7~002ov JPDHLkV1l!1g(Ls~ literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/r-checked.png b/src/qt/res/themes/BlueLights/r-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..f267e78dddc4ef4a225eb296f793f546066fc715 GIT binary patch literal 378 zcmV-=0fqjFP)Qqtoq(7ZN`v^Ppz>hA z2y$NU{LKnL_HiH%2AU`Xr0alK6^L&GaT8F(6Ck|~h%Jf}eILMVss!TcKn+qrdL
        &VpKY*MZ4Kfgj8G@CiHocIrsWFJ3(6Y4^5&<8ojBsXZ%=LhGxPW7k2NW5__wu1&S&~=n>>b6kHezZ z4BlCMv)m(ooh5V*yZ8o0&A6lU=Gf~lyQLiX;5P@KzMS3dhkJUW9Xme-?`)Y1%Rz?9T5| zJHO3OGiYo*vmh#O75l=oV#-r>JVg|lt9NvV7aEGVX#Gv*XJljGQuI&>atT}y^eBU; LtDnm{r-UW|C#ZT0 literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/r.png b/src/qt/res/themes/BlueLights/r.png new file mode 100644 index 0000000000000000000000000000000000000000..fba9037c0e876f4a600c9ae8a362872c5b8448c7 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp@Ak4uAB#T}@sR2@wC9V-A!TD(=<%vb942~)JNvR5+ zxryniL8*x;m4zo$ZGejIdb&77m!Fa#}c_+cqv&1k4Uh3%uie;3*|FtHAemqeWN4vIvEHjcZoQc5Gg_@JNI5mrV;^DLD3t_;WW_XbI@I{$hOc zBx6FOgA6~9tH^AL1x#rUI;=;2H~ugNy6S9#R6vdrD+7xJ!!{ug6=x0SJwT5#c)I$z JtaD0e0sx-qaPFMd#QOdhZ@_XMv;yLl|yVhk`yZ3 z*05P59D0}*AM?lY75kpNW6#+&WzHRV#lA!O;$5GO@(fHo46BdHHEMXTy#_Rp!PC{x JWt~$(695%5HbVda literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/styles.qss b/src/qt/res/themes/BlueLights/styles.qss new file mode 100644 index 000000000..84b547f29 --- /dev/null +++ b/src/qt/res/themes/BlueLights/styles.qss @@ -0,0 +1,737 @@ +/** + * BlueLights Qt theme + * Last changed: 2014-10-31 + * Author: moneromooo - based on HyperBlue by ZeeWolf - ##hyperstake (freenode) + * Background adapted from https://hdwallpaperia.com/blue-lights-abstract.html + * HyperStake - faster than light! + */ + +/** + * QSS REFERENCE : + * http://qt-project.org/doc/qt-4.8/stylesheet-reference.html + * http://qt-project.org/doc/qt-4.8/stylesheet-examples.html + */ + +/** + * Text : #88c1d0 + * BG : #0d1f33 + * Lighter : #14283E | #1C324A + * Darker : #071728 | #03101E + * + * Complement : #4E350F + * Lighter : #604419 | #715325 + * Darker : #3D2807 + * Headers : #dca753 + * Input border: #595959 + */ + +/** [VARS] + $text-color = #50f0ef + $main-color-l = #102030 + $main-color-xl = #206080 + $main-color-xd = #205060 + $main-color-transparent-1 = rgba(0,31,51,120) + $main-color-transparent-2 = rgba(180,240,255,170) + $main-color-transparent-3 = rgba(40,60,80,170) + $shade-transparent-1 = rgba(0,0,0,50) + $shade-transparent-2 = rgba(0,0,0,100) + $shade-transparent-3 = rgba(0,0,0,150) + $main-color = #103040 + $text-grey-d = #103040 + $accent-color = #30a3c0 + $brightest-color = #e0f0ef + $input-border-color = #30a3c0 + $header-font = "Verdana, Geneva, sans-serif" + $error-color = #df8080 + $success-color = #50f0ef +[/VARS] */ + +* { gridline-color: $main-color } + +/* Dialog, Window */ +QDialog, QMainWindow { + border-image: url($themes-dir/BlueLights/bg.png); +} + +QMainWindow > QFrame > QDialog { + border-image: none; +} + +#coinLogo { + qproperty-pixmap: url($themes-dir/BlueLights/hypstk-watermark.png); + qproperty-alignment: 'AlignBottom | AlignRight'; +} + +/* Frames */ +QFrame { + /* too general - do not style */ +} + +/* Bottom status bar */ +QStatusBar { + background-color: transparent; + color: $text-color; +} + +QStatusBar::item { + border: none; +} + +/* Label */ +QLabel { + color: $text-color; +} + +QLabel[error="true"], QLabel[status="error"] { + color: $error-color; +} + +QLabel[ok="true"], QLabel[status="ok"] { + color: $success-color; +} + +QValidatedLineEdit[error="true"], QDoubleSpinBox[error="true"] { + border-color: $error-color; +} + +/* Frames labels - Balance, Stake, etc. */ + +/* Balance frame */ +QFrame#frame { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Recent transactions frame */ +QFrame#frame_2 { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Panel in Coin Control window */ +QFrame#frame_2 QFrame { + color: $text-color; +} + +QFrame#rangeFrame { + background-color: $shade-transparent-1; + border: none; + margin-top: 10px; +} + +#CoinControlDialog QFrame#frame { + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +QFrame#frameCoinControl { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +/* Balance value */ +#frame #labelBalance { + color: $brightest-color; + font-size: 16px; + font-weight: bold; +} + +/* Wallet label */ +QFrame#frame #label_5 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* Recent transactions label */ +QFrame#frame_2 #label_4 { + font-size: 15px; + font-family: $header-font; + color: $accent-color; +} + +/* ScrollArea */ +QScrollArea { + background-color: $shade-transparent-1; + border: none; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; +} + +#scrollAreaWidgetContents { + background-color: transparent; +} +#scrollAreaWidgetContents > QFrame { + background-color: transparent; + border-width: 0px; + border-style: none; +} + +#scrollAreaWidgetContents > QFrame:last { + border-bottom: 1px solid $brightest-color; +} + +#scrollAreaWidgetContents > QFrame:only-one { + border-bottom: none; +} + +/* Text edit fields */ +QPlainTextEdit, QLineEdit { + padding: 4px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QPlainTextEdit:focus, QLineEdit:focus { + border: 1px solid $accent-color; +} + +QPlainTextEdit:disabled, QLineEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Text edit - debug window */ +QTextEdit { + padding: 4px; + background-color: transparent; + color: $brightest-color; + border: none; +} + +QTextEdit:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +/* Combo box */ +QComboBox { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color-xl, stop:1 $main-color); + color: $text-color; + border: 1px solid $input-border-color; + border-radius: 3px; /* same radius as the QComboBox */ + padding: 3px 18px 3px 4px; + min-width: 6em; +} + +QComboBox:on { + background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 $main-color, stop:1 $main-color-xl); + border-color: $accent-color; +} + +QComboBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QComboBox::drop-down:disabled { + border-color: $input-border-color; +} + +QComboBox::down-arrow { + /* Custom dropdown symbol */ + image: url($themes-dir/BlueLights/down-arrow.png); +} + +QComboBox::down-arrow:disabled { + image: url($themes-dir/BlueLights/down-arrow-disabled.png); +} + +QComboBox::down-arrow:on { + /* Custom dropdown symbol */ + image: url($themes-dir/BlueLights/up-arrow.png); +} + +QComboBox::drop-down { + border: 0px; +} + +QComboBox QAbstractItemView { + border: 1px solid $main-color-xl; + color: $text-color; + background-color: $main-color; + outline: 0px; +} + +QComboBox QListView { + border: none; + selection-color: $main-color; + selection-background-color: $text-color; +} + +/* Up&down spin box */ +QDateTimeEdit, QSpinBox, QDoubleSpinBox { + padding: 3px; + background-color: $main-color; + color: $brightest-color; + border: 1px solid $input-border-color; +} + +QDateTimeEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus { + border-color: $accent-color; +} + +QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { + border-color: $main-color-xd; + color: $input-border-color; +} + +QDateTimeEdit::down-arrow { + image: url($themes-dir/BlueLights/calendar.png); +} + +QDateTimeEdit::down-arrow:disabled { + image: url($themes-dir/BlueLights/calendar-disabled.png); +} + +QDateTimeEdit::drop-down { + border: 0px; +} + +QDoubleSpinBox::down-button { + image: url($themes-dir/BlueLights/down-arrow.png); +} + +QDoubleSpinBox::up-button { + image: url($themes-dir/BlueLights/up-arrow.png); +} + +/* Button */ +QPushButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; + /*min-width: 6em;*/ +} + +QPushButton[text="OK"] { + width: 6em; +} + +QToolButton { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $text-color, stop: 0.5 $main-color-xd); + color: $text-color; + padding: 4px; + border: 2px solid $text-color; + outline: none; + font-family: $header-font; + font-size: 12px; + border-radius: 3px; +} + +QPushButton:hover, QToolButton:hover { + background-color: qlineargradient(x1: 0, y1: 0, x2: 0.5, y2: 1, stop: 0 $accent-color, stop: 0.5 $main-color-xd); + color: $accent-color; + border: 2px solid $accent-color; +} + +QPushButton:disabled, QToolButton:disabled { + background-color: $main-color-xd; + border: 2px solid $input-border-color; + color: $main-color-xl; +} + +QPushButton:pressed, QToolButton:pressed { + background-color: $accent-color; + /*border: 2px solid transparent;*/ + color: $main-color-xd; +} + +/* Toolbar */ +QToolBar { + background: $main-color-l; + spacing: 0px; /* spacing between items in the tool bar */ + border-bottom: 3px solid $main-color-xd; + border-top: 1px solid $main-color-xd; + padding: 0px; + min-height: 96px; + qproperty-iconSize: 80px 80px; +} + +QToolBar::handle { + padding: 0px; + background-image: url($themes-dir/BlueLights/toolbar-handle.png); + background-repeat: repeat-y; + background-position: top center; +} + +/* Toolbar buttons */ +QToolBar QToolButton { /* all types of tool button */ + border-radius: 0px; + background-color: transparent; + color: $accent-color; + padding: 3px 1px 5px 2px; + font-family: $header-font; + font-size: 12px; + margin-top: 4px; + border: none; + border-top-left-radius: 3px; + border-top-right-radius: 3px; + qproperty-toolButtonStyle: ToolButtonTextUnderIcon; +} + +QToolBar QToolButton:hover { + color: $text-color; + background-color: transparent; + border: none; +} + +QToolBar QToolButton:checked { + background-color: $main-color-xd; + color: $brightest-color; + padding: 5px 1px 5px 2px; + font-weight: bold; + font-size: 13px; +} + +QToolBar QToolButton:disabled { + color: $input-border-color; + background-color: transparent; + border: none; +} + +/* Tool buttons - buttons with icons */ +#qt_toolbar_ext_button { + qproperty-icon: url($themes-dir/BlueLights/arrow-down.png); + border-radius: 0px; + margin-top: 0px; + color: #fff; + border-bottom: 3px solid transparent; +} + +#addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, +QToolButton#addressBookButton_VM, QToolButton#copySignatureButton_SM, QToolButton#pasteButton_SM, QToolButton#addressBookButton_SM { + min-width: 16px; + max-width: 24px; + padding: 2px; + margin-left: 4px; +} + +/* Progress bar */ +QProgressBar { + border: 1px solid rgba(136,193,208,80); + color: $brightest-color; + font-weight: bold; + background-color: transparent; +} + +QProgressBar::chunk { + background-color: rgba(136,193,208,80); + width: 3px; + margin: 0.5px; +} + +/* Table */ +CoinControlTreeWidget, QTableView { + background: transparent; + background-color: $main-color-transparent-3; + alternate-background-color: $main-color-transparent-1; + border-style: none; + border-bottom: 3px solid $shade-transparent-2; + color: $text-color; + selection-background-color: $main-color-transparent-2; + /*selection-color: $main-color-xd;*/ + outline: none; +} + +QTableView QTableCornerButton::section { + border: 0px solid $main-color-xd; + outline: none; +} + +QTableWidget::item:focus { + outline: none; + border: 0px; +} + +QTreeView { + background: transparent; + color: $text-color; + border-style: none; + background-color: $main-color-transparent-3; + selection-background-color: $accent-color; + alternate-background-color: $main-color-transparent-1; + selection-color: $main-color-xd; + outline: none; +} + +QTreeView::item { + border: none; + color: $text-color; +} + +QTreeView::item:hover { + color: $brightest-color; +} + +QTreeView::item:selected { + background-color: $main-color-transparent-2; + color: $main-color-xd; +} + +/* Table Header */ +QHeaderView { + color: $brightest-color; + background-color: $main-color; + border-bottom: 1px solid $accent-color; +} + +QHeaderView::section { + color: $accent-color; + background-color: transparent; +} + +QHeaderView::section:checked { + +} + +/* Tooltip */ +QToolTip { + border: 2px outset $main-color-xl; + color: $text-color; + background-color: $main-color; +} + + +/* Menu Bar */ +QMenuBar { + background-color: $text-grey-d; + border: none; +} + +QMenuBar::item { + background: transparent; + color: $text-color; +} + +QMenuBar::item:selected { /* when selected using mouse or keyboard */ + background: $text-color; + color: $text-grey-d; +} + +QMenuBar::item:pressed { + background: $text-color; +} + +/* Menu dialog */ +QMenu { + color: $text-color; + background-color: $text-grey-d; +} + +QMenu::item { + /* sets background of menu item. set this to something non-transparent + if you want menu color and menu item color to be different */ + background-color: transparent; +} + +QMenu::item:selected { /* when user selects item using mouse or keyboard */ + color: $text-grey-d; + background-color: $text-color; +} + +/* Checkbox */ +QCheckBox { + color: $text-color; +} + +QCheckBox::indicator { + width: 13px; + height: 13px; +} + +QCheckBox::indicator:unchecked { + image: url($themes-dir/BlueLights/cb.png); +} + +QCheckBox::indicator:unchecked:hover { + image: url($themes-dir/BlueLights/cb-hover.png); +} + +QCheckBox::indicator:unchecked:pressed { + /*image: url($themes-dir/BlueLights/checkbox_unchecked_pressed.png);*/ +} + +QCheckBox::indicator:checked { + image: url($themes-dir/BlueLights/cb-checked.png); +} + +QCheckBox::indicator:checked:hover { + image: url($themes-dir/BlueLights/cb-checked-hover.png); +} + +QCheckBox::indicator:checked:pressed { + /*image: url($themes-dir/BlueLights/checkbox_checked_pressed.png);*/ +} + +QCheckBox::indicator:indeterminate:hover { + /*image: url($themes-dir/BlueLights/checkbox_indeterminate_hover.png);*/ +} + +QCheckBox::indicator:indeterminate:pressed { + /*image: url($themes-dir/BlueLights/checkbox_indeterminate_pressed.png);*/ +} + +/* Radio button */ +QRadioButton { + color: $text-color; +} + +QRadioButton::indicator { + width: 13px; + height: 13px; +} + +QRadioButton::indicator::unchecked { + image: url($themes-dir/BlueLights/r.png); +} + +QRadioButton::indicator:unchecked:hover { + image: url($themes-dir/BlueLights/r-hover.png); +} + +QRadioButton::indicator:unchecked:pressed { + /*image: url($themes-dir/BlueLights/rpressed.png);*/ +} + +QRadioButton::indicator::checked { + image: url($themes-dir/BlueLights/r-checked.png); +} + +QRadioButton::indicator:checked:hover { + image: url($themes-dir/BlueLights/r-checked-hover.png); +} + +QRadioButton::indicator:checked:pressed { + /*image: url($themes-dir/BlueLights/radiobutton_checked_pressed.png);*/ +} + +/* Tabs */ +QTabWidget { + background: transparent; +} + +QTabWidget::pane { + background-color: $shade-transparent-1; + border-bottom: 3px solid $shade-transparent-2; + border-right: 3px solid $shade-transparent-2; + border-top: 2px solid $main-color-xd; + margin-top: -2px; +} + +QTabWidget::tab-bar { +} + +/* Style the tab using the tab sub-control. Note that it reads QTabBar _not_ QTabWidget */ +QTabBar::tab { + /*background-color: $main-color;*/ + background-color: transparent; + min-width: 26ex; + padding: 6px 4px 8px 4px; + color: $text-color; + margin-right: 2ex; +} + +QTabBar::tab:selected, QTabBar::tab:hover { + border-bottom: 2px solid $accent-color; + background-color: $main-color-xd; + color: $accent-color; + margin-top: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} + +QTabBar::tab:!selected { + /*margin-top: 2px;*/ /* make non-selected tabs look smaller */ +} + +/* Scroll bar */ + +QScrollBar:vertical { + background: $main-color-transparent-1; + width: 6px; + margin: 0px 0px 0px 0px; +} + +QScrollBar::handle:vertical { + background: $main-color-transparent-2; +} + +QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { + background: none; +} + +QScrollBar::add-line:vertical { + height: 0px; +} + +QScrollBar::sub-line:vertical { + height: 0px; +} + +/* Calendar */ + +/* navigation bar */ +QCalendarWidget QWidget#qt_calendar_navigationbar { background-color: $main-color } +QCalendarWidget QToolButton { +} +QCalendarWidget QMenu { + background-color: $main-color-xd; +} + + /* header row */ +QCalendarWidget QWidget { alternate-background-color: $main-color-l } + +/* normal days */ +QCalendarWidget QAbstractItemView:enabled { + color: $text-color; + background-color: $main-color; + selection-background-color: $accent-color; + selection-color: $main-color-xd; +} + +/* days in other months */ +QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } + +/* Window resize grip */ +QSizeGrip { + image: url($themes-dir/BlueLights/sizegrip.png); + width: 16px; + height: 16px; +} + +/* QBalloonTip - notification used in Linux - styled by Qt */ +QBalloonTip { + background-color: $main-color-l; + color: $text-color; +} + +QBalloonTip QPushButton { + min-width: 16px; + color: $text-color; + padding: 0px; + border-radius: 0px; + background-color: $text-color; +} + +QBalloonTip QPushButton:hover { + border: none; + background-color: $accent-color; +} + +/* Make the console readable */ +QTabWidget > QFrame { + background-color: $shade-transparent-3; +} diff --git a/src/qt/res/themes/BlueLights/toolbar-handle.png b/src/qt/res/themes/BlueLights/toolbar-handle.png new file mode 100644 index 0000000000000000000000000000000000000000..d5ca69b01724540178ccb0795d436b511a02e42e GIT binary patch literal 126 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFm1|(O0oL2{=BuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%DR{a#hE&{2`t$$4J+o0l)1`d@JmL+Enr_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c71esWIEGZ*O5)+(}dVZf|clnQ)dvDB;?rOH3~(ef{=L?7@>KDHEnmOPexbg205yldE|z zoqYZ3mDZ`_$Jwu)J8|N~gGY}Jai(-_V0at+^WR_V$Gy_#5)&GmnwoSR8WgTe~DWM4fgI!qn literal 0 HcmV?d00001 diff --git a/src/qt/res/themes/BlueLights/up-arrow.png b/src/qt/res/themes/BlueLights/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbd8b830686295cad2188e69b3500506821880d GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)Q!3HEdXMMW?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6*YLeIEGZ*O5)+W*%bNlK&ZK?#%oU9;+EexKnelF{r5}E+l@J_M- literal 0 HcmV?d00001 From 622c175b3e3ab5a985ce9ce573d0369de9bd88ee Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 1 Nov 2014 13:32:06 -0600 Subject: [PATCH 152/555] fix stakeforcharity --- src/bitcoinrpc.cpp | 4 ++-- src/rpcwallet.cpp | 5 ++++- src/wallet.cpp | 5 +++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 2017f49c2..800b5fb60 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1200,9 +1200,9 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); - if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); - if (strMethod == "stakeforcharity" && n > 2) ConvertTo(params[2]); + if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); + if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); return params; } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 81483f99c..c6b77b5f7 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -431,7 +431,10 @@ Value stakeforcharity(const Array ¶ms, bool fHelp) walletdb.WriteStakeForCharity(address.ToString(), nPer, changeAddress.ToString(), nMinAmount, nMaxAmount); } - return Value::null; + if (pwalletMain->fStakeForCharity) + return "Stake For Charity is active"; + else + return "Stake For Charity not active"; } diff --git a/src/wallet.cpp b/src/wallet.cpp index 2b98c447e..3d89f9a9e 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1368,6 +1368,11 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW if (fAllowS4C) { if (strStakeForCharityChangeAddress.IsValid()) scriptChange.SetDestination(strStakeForCharityChangeAddress.Get()); + else + { + CPubKey vchPubKey = reservekey.GetReservedKey(); + scriptChange.SetDestination(vchPubKey.GetID()); + } } // coin control: send change to custom address else if (coinControl && !boost::get(&coinControl->destChange)) { From 1d046f44f3a82f63437c5b9fa0e29804216ecada Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 1 Nov 2014 19:54:26 +0000 Subject: [PATCH 153/555] themes: reset a couple properties that Qt doesn't reset automatically --- src/qt/res/themes/Celestial/styles.qss | 2 ++ src/qt/res/themes/HyperBlue/styles.qss | 4 +++- src/qt/res/themes/Magma/styles.qss | 4 +++- src/qt/res/themes/PoloniexDay/styles.qss | 2 ++ src/qt/res/themes/PoloniexNight/styles.qss | 2 ++ 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss index 7da395028..001862874 100644 --- a/src/qt/res/themes/Celestial/styles.qss +++ b/src/qt/res/themes/Celestial/styles.qss @@ -339,6 +339,7 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; + qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -360,6 +361,7 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index 57ba97b85..ef1db9f1a 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -351,6 +351,7 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; + qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -372,6 +373,7 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -719,4 +721,4 @@ QBalloonTip QPushButton { QBalloonTip QPushButton:hover { border: none; background-color: $accent-color; -} \ No newline at end of file +} diff --git a/src/qt/res/themes/Magma/styles.qss b/src/qt/res/themes/Magma/styles.qss index 309904982..6d03e8ca4 100644 --- a/src/qt/res/themes/Magma/styles.qss +++ b/src/qt/res/themes/Magma/styles.qss @@ -339,6 +339,7 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; + qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -360,6 +361,7 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -707,4 +709,4 @@ QBalloonTip QPushButton { QBalloonTip QPushButton:hover { border: none; background-color: $accent-color; -} \ No newline at end of file +} diff --git a/src/qt/res/themes/PoloniexDay/styles.qss b/src/qt/res/themes/PoloniexDay/styles.qss index 791b9cdf5..f4828ce0e 100644 --- a/src/qt/res/themes/PoloniexDay/styles.qss +++ b/src/qt/res/themes/PoloniexDay/styles.qss @@ -369,6 +369,7 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; + qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -389,6 +390,7 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { diff --git a/src/qt/res/themes/PoloniexNight/styles.qss b/src/qt/res/themes/PoloniexNight/styles.qss index 49f1d30fd..129408ced 100644 --- a/src/qt/res/themes/PoloniexNight/styles.qss +++ b/src/qt/res/themes/PoloniexNight/styles.qss @@ -363,6 +363,7 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; + qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -383,6 +384,7 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { From 7d2eedd522b6da212b531f4d5ddf2831ba903764 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 1 Nov 2014 20:19:57 +0000 Subject: [PATCH 154/555] themes: reset "annoying" properties in default theme too --- src/qt/res/themes/Default/styles.qss | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/qt/res/themes/Default/styles.qss b/src/qt/res/themes/Default/styles.qss index 46fbbf695..39614265b 100644 --- a/src/qt/res/themes/Default/styles.qss +++ b/src/qt/res/themes/Default/styles.qss @@ -22,3 +22,11 @@ QLabel[status="ok"] { QValidatedLineEdit[error="true"] { background-color: #FF8080; } + +QToolBar { + qproperty-iconSize: 32px 32px; +} + +QToolBar QToolButton { /* all types of tool button */ + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; +} From b1246389839268e2d49f2b0c489b7e1c96293a43 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 2 Nov 2014 11:34:44 +0000 Subject: [PATCH 155/555] blue lights theme: fix delete keys warning being hard to read --- src/qt/res/themes/BlueLights/styles.qss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qt/res/themes/BlueLights/styles.qss b/src/qt/res/themes/BlueLights/styles.qss index 84b547f29..b78e868e7 100644 --- a/src/qt/res/themes/BlueLights/styles.qss +++ b/src/qt/res/themes/BlueLights/styles.qss @@ -735,3 +735,8 @@ QBalloonTip QPushButton:hover { QTabWidget > QFrame { background-color: $shade-transparent-3; } + +QCheckBox#deleteCheckBox { + background-color: $shade-transparent-3; + padding: 4px; +} From 7607983c4c47d2ceb5ff85974563f199d23dfeb7 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 2 Nov 2014 10:10:15 -0700 Subject: [PATCH 156/555] add split block summary to confirmation message --- src/qt/sendcoinsdialog.cpp | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 0d35384ba..63e1212d1 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -148,24 +148,44 @@ void SendCoinsDialog::on_sendButton_clicked() return; } + //set split block + WalletModel::SendCoinsReturn sendstatus; + int nSplitBlock = 1; + if (ui->entries->count() > 1) + fSplitBlock = false; + if (fSplitBlock) + nSplitBlock = ui->splitBlockLineEdit->text().toInt(); + // Format confirmation message QStringList formatted; foreach(const SendCoinsRecipient &rcp, recipients) { - #if QT_VERSION < 0x050000 + if(!fSplitBlock) + { + #if QT_VERSION < 0x050000 formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); #else formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address)); #endif + } + else + { + #if QT_VERSION < 0x050000 + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address, QString::number(nSplitBlock), QString::number(double(rcp.amount/COIN) / double(nSplitBlock)))); + #else + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address, QString::number(nSplitBlock), QString::number(double(rcp.amount/COIN) / double(nSplitBlock)))); + #endif + } } fNewRecipientAllowed = false; - QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), + QMessageBox::StandardButton retval = QMessageBox::question(this, tr("Confirm send coins"), tr("Are you sure you want to send %1?").arg(formatted.join(tr(" and "))), QMessageBox::Yes|QMessageBox::Cancel, QMessageBox::Cancel); + if(retval != QMessageBox::Yes) { fNewRecipientAllowed = true; @@ -180,12 +200,7 @@ void SendCoinsDialog::on_sendButton_clicked() return; } - WalletModel::SendCoinsReturn sendstatus; - int nSplitBlock = 1; - if (ui->entries->count() > 1) - fSplitBlock = false; - if (fSplitBlock) - nSplitBlock = ui->splitBlockLineEdit->text().toInt(); + if (!model->getOptionsModel() || !model->getOptionsModel()->getCoinControlFeatures()) sendstatus = model->sendCoins(recipients, nSplitBlock); From c17030f50fd6c1f074f9c4dc9437cda15bc4655e Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 2 Nov 2014 18:07:16 +0000 Subject: [PATCH 157/555] blue light theme: make disabled toolbar entries' text dark grey --- src/qt/res/themes/BlueLights/styles.qss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/res/themes/BlueLights/styles.qss b/src/qt/res/themes/BlueLights/styles.qss index b78e868e7..1cdf278de 100644 --- a/src/qt/res/themes/BlueLights/styles.qss +++ b/src/qt/res/themes/BlueLights/styles.qss @@ -397,7 +397,7 @@ QToolBar QToolButton:checked { } QToolBar QToolButton:disabled { - color: $input-border-color; + color: $text-grey-d; background-color: transparent; border: none; } From 0c5406966debf700db01abf18be66a5b9da790d8 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 2 Nov 2014 11:38:18 -0700 Subject: [PATCH 158/555] add block size label --- src/qt/forms/sendcoinsdialog.ui | 60 ++++++++++++++++++++------------- src/qt/sendcoinsdialog.cpp | 21 ++++++++++-- src/qt/sendcoinsdialog.h | 1 + 3 files changed, 57 insertions(+), 25 deletions(-) diff --git a/src/qt/forms/sendcoinsdialog.ui b/src/qt/forms/sendcoinsdialog.ui index 1e96bb849..03e49763d 100644 --- a/src/qt/forms/sendcoinsdialog.ui +++ b/src/qt/forms/sendcoinsdialog.ui @@ -173,16 +173,7 @@ - - 0 - - - 0 - - - 0 - - + 0 @@ -518,7 +509,7 @@ font-weight:bold; - Change + Change: @@ -552,7 +543,7 @@ - + 12 @@ -583,6 +574,38 @@ 0 + + + 100 + 16777215 + + + + + + + + false + + + + 75 + true + + + + Block Size: + + + + + + + false + + + 0.00 HYP + @@ -665,20 +688,11 @@ 0 0 830 - 172 + 158 - - 0 - - - 0 - - - 0 - - + 0 diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 63e1212d1..5ed71657a 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -35,7 +35,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : #if QT_VERSION >= 0x040700 /* Do not move this to the XML file, Qt before 4.7 will choke on it */ ui->lineEditCoinControlChange->setPlaceholderText(tr("Enter a HyperStake address (e.g. pAvP3gYfuyDVbUt98ToMbwU9rwEdBV1dHW)")); - ui->splitBlockLineEdit->setPlaceholderText(tr("# of Blocks to Make")); + ui->splitBlockLineEdit->setPlaceholderText(tr("# of Blocks")); ui->splitBlockCheckBox->setToolTip(tr("Enable/Disable Block Splitting")); ui->returnChangeCheckBox->setToolTip(tr("Use your sending address as the change address")); ui->checkBoxCoinControlChange->setToolTip(tr("Send change to a custom address")); @@ -53,6 +53,7 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : connect(ui->lineEditCoinControlChange, SIGNAL(textEdited(const QString &)), this, SLOT(coinControlChangeEdited(const QString &))); connect(ui->returnChangeCheckBox, SIGNAL(stateChanged(int)), this, SLOT(coinControlReturnChangeChecked(int))); connect(ui->splitBlockCheckBox, SIGNAL(stateChanged(int)), this, SLOT(coinControlSplitBlockChecked(int))); + connect(ui->splitBlockLineEdit, SIGNAL(textChanged(const QString &)), this, SLOT(splitBlockLineEditChanged(const QString &))); // Coin Control: clipboard actions QAction *clipboardQuantityAction = new QAction(tr("Copy quantity"), this); @@ -484,11 +485,27 @@ void SendCoinsDialog::coinControlSplitBlockChecked(int state) if (model) { if (state == Qt::Checked) + { fSplitBlock = true; + ui->splitBlockLineEdit->setEnabled(true); + ui->labelBlockSizeText->setEnabled(true); + ui->labelBlockSize->setEnabled(true); + } else + { fSplitBlock = false; + ui->splitBlockLineEdit->setEnabled(false); + ui->labelBlockSizeText->setEnabled(false); + ui->labelBlockSize->setEnabled(false); + } } - ui->splitBlockLineEdit->setEnabled((state == Qt::Checked)); +} + +void SendCoinsDialog::splitBlockLineEditChanged(const QString & text) +{ + double nAfterFee = ui->labelCoinControlAfterFee->text().left(ui->labelCoinControlAfterFee->text().indexOf(" ")).toDouble(); + double nSize = nAfterFee / text.toDouble(); + ui->labelBlockSize->setText(QString::number(nSize)); } // Coin Control: checkbox custom change address diff --git a/src/qt/sendcoinsdialog.h b/src/qt/sendcoinsdialog.h index f410cfe1f..f440e44e6 100644 --- a/src/qt/sendcoinsdialog.h +++ b/src/qt/sendcoinsdialog.h @@ -66,6 +66,7 @@ private slots: void coinControlClipboardLowOutput(); void coinControlClipboardChange(); void coinControlSplitBlockChecked(int); + void splitBlockLineEditChanged(const QString & text); }; #endif // SENDCOINSDIALOG_H From f0002705e774c7fab3b2fbf6854a716c63bec67d Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 2 Nov 2014 12:02:43 -0700 Subject: [PATCH 159/555] block size label defaults to 0 --- src/qt/sendcoinsdialog.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5ed71657a..6e548fc8f 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -501,10 +501,13 @@ void SendCoinsDialog::coinControlSplitBlockChecked(int state) } } +//presstab HyperStake void SendCoinsDialog::splitBlockLineEditChanged(const QString & text) { double nAfterFee = ui->labelCoinControlAfterFee->text().left(ui->labelCoinControlAfterFee->text().indexOf(" ")).toDouble(); - double nSize = nAfterFee / text.toDouble(); + double nSize = 0; + if (nAfterFee > 0 && text.toDouble() > 0) + nSize = nAfterFee / text.toDouble(); ui->labelBlockSize->setText(QString::number(nSize)); } From 1cbcb317896c16addfcfb57c896aa79f60d863fd Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 2 Nov 2014 12:16:51 -0700 Subject: [PATCH 160/555] add new checkpoint --- src/checkpoints.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 63bc772b8..d41961369 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -28,6 +28,7 @@ namespace Checkpoints (10, uint256("0x0000074074af28e73189ae5767b706246be2e0827c46d97a61178394aec877cf")) (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky + (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) ; static MapCheckpoints mapCheckpointsTestnet = From 221834b47712159a7ec683dbd0dda5c0befb0f0a Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 2 Nov 2014 12:21:20 -0700 Subject: [PATCH 161/555] Version 1.0.7 --- src/version.cpp | 2 +- src/version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 560970484..81b6e9f18 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.6.6-BETA" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 3a43b8978..ed3828a96 100644 --- a/src/version.h +++ b/src/version.h @@ -46,7 +46,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 6 -#define DISPLAY_VERSION_BUILD 6 +#define DISPLAY_VERSION_REVISION 7 +#define DISPLAY_VERSION_BUILD 0 #endif From 42bd4afcbb0f5db6d6b69297b8bb2f5c632a8c67 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 3 Nov 2014 20:50:40 +0100 Subject: [PATCH 162/555] Themes switching change - When new theme is loaded, first Default theme is applied (to reset internal qproperty-* styles) - no need to include reset in all themes anymore - use of shorter variable $theme-dir which is equivalent of $themes-dir/ --- src/qt/bitcoingui.cpp | 18 +++++-- src/qt/bitcoingui.h | 1 + src/qt/res/themes/BlueLights/styles.qss | 59 +++++++++++---------- src/qt/res/themes/Celestial/styles.qss | 61 +++++++++++----------- src/qt/res/themes/Default/styles.qss | 4 +- src/qt/res/themes/HyperBlue/styles.qss | 61 +++++++++++----------- src/qt/res/themes/Magma/styles.qss | 61 +++++++++++----------- src/qt/res/themes/PoloniexDay/styles.qss | 55 +++++++++---------- src/qt/res/themes/PoloniexNight/styles.qss | 55 +++++++++---------- 9 files changed, 194 insertions(+), 181 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 4987b3ee8..5aa8baece 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -406,7 +406,7 @@ void BitcoinGUI::createActions() signalMapper->setMapping(customActions[i], theme); connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); } - connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(loadTheme(QString))); + connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(changeTheme(QString))); } /* /zeewolf: Hot swappable wallet themes */ } @@ -1313,6 +1313,16 @@ void BitcoinGUI::calcClicked() } /* zeewolf: Hot swappable wallet themes */ +void BitcoinGUI::changeTheme(QString theme) +{ + // load Default theme first (if present) to apply default styles + loadTheme("Default"); + + if (theme != "Default") { + loadTheme(theme); + } +} + void BitcoinGUI::loadTheme(QString theme) { // template variables : key => value @@ -1399,9 +1409,11 @@ void BitcoinGUI::listThemes(QStringList& themes) QDir currentDir(qApp->applicationDirPath()); // try app dir if (currentDir.cd("themes")) { - // got it! (win package) + // got it! (win package) } else if (currentDir.cd("src/qt/res/themes")) { - // got it (qmake puts exe in git main dir) + // got it + } else if (currentDir.cd("../src/qt/res/themes")) { + // got it } else { // themes not found :( return; diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 56cba6865..748bf88a5 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -232,6 +232,7 @@ private slots: void updateMintingWeights(); void charityClicked(QString addr = ""); /** Load external QSS stylesheet */ + void changeTheme(QString theme); void loadTheme(QString theme); void listThemes(QStringList& themes); void keyPressEvent(QKeyEvent * e); diff --git a/src/qt/res/themes/BlueLights/styles.qss b/src/qt/res/themes/BlueLights/styles.qss index 1cdf278de..093e7f161 100644 --- a/src/qt/res/themes/BlueLights/styles.qss +++ b/src/qt/res/themes/BlueLights/styles.qss @@ -50,7 +50,7 @@ /* Dialog, Window */ QDialog, QMainWindow { - border-image: url($themes-dir/BlueLights/bg.png); + border-image: url($theme-dir/bg.png); } QMainWindow > QFrame > QDialog { @@ -58,7 +58,7 @@ QMainWindow > QFrame > QDialog { } #coinLogo { - qproperty-pixmap: url($themes-dir/BlueLights/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignRight'; } @@ -237,16 +237,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/BlueLights/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/BlueLights/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/BlueLights/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -284,11 +284,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/BlueLights/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/BlueLights/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -296,11 +296,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/BlueLights/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/BlueLights/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -362,7 +362,7 @@ QToolBar { QToolBar::handle { padding: 0px; - background-image: url($themes-dir/BlueLights/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -404,11 +404,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/BlueLights/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -553,35 +554,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/BlueLights/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/BlueLights/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/BlueLights/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/BlueLights/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/BlueLights/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/BlueLights/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/BlueLights/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/BlueLights/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -595,27 +596,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/BlueLights/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/BlueLights/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/BlueLights/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/BlueLights/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/BlueLights/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/BlueLights/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -707,7 +708,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/BlueLights/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss index 001862874..cd17510c7 100644 --- a/src/qt/res/themes/Celestial/styles.qss +++ b/src/qt/res/themes/Celestial/styles.qss @@ -36,12 +36,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/Celestial/space.png); + background-image: url($theme-dir/space.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/Celestial/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -219,16 +219,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/Celestial/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/Celestial/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/Celestial/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -266,11 +266,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/Celestial/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/Celestial/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/Celestial/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/Celestial/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -339,12 +339,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/Celestial/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -361,7 +360,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -386,11 +384,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/Celestial/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -533,35 +532,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/Celestial/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/Celestial/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/Celestial/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/Celestial/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/Celestial/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/Celestial/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/Celestial/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/Celestial/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -575,27 +574,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/Celestial/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/Celestial/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/Celestial/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/Celestial/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/Celestial/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/Celestial/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -683,7 +682,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/Celestial/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Default/styles.qss b/src/qt/res/themes/Default/styles.qss index 39614265b..4a770ba48 100644 --- a/src/qt/res/themes/Default/styles.qss +++ b/src/qt/res/themes/Default/styles.qss @@ -24,9 +24,9 @@ QValidatedLineEdit[error="true"] { } QToolBar { - qproperty-iconSize: 32px 32px; + qproperty-iconSize: 24px 24px; } QToolBar QToolButton { /* all types of tool button */ - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index ef1db9f1a..30373ed29 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -48,12 +48,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/HyperBlue/bg.png); + background-image: url($theme-dir/bg.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/HyperBlue/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -231,16 +231,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/HyperBlue/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/HyperBlue/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/HyperBlue/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/HyperBlue/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/HyperBlue/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -290,11 +290,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/HyperBlue/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/HyperBlue/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -351,12 +351,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/HyperBlue/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -373,7 +372,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -398,11 +396,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/HyperBlue/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -545,35 +544,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/HyperBlue/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/HyperBlue/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/HyperBlue/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/HyperBlue/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -587,27 +586,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/HyperBlue/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/HyperBlue/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/HyperBlue/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/HyperBlue/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/HyperBlue/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/HyperBlue/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -699,7 +698,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/HyperBlue/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Magma/styles.qss b/src/qt/res/themes/Magma/styles.qss index 6d03e8ca4..45ff2a26d 100644 --- a/src/qt/res/themes/Magma/styles.qss +++ b/src/qt/res/themes/Magma/styles.qss @@ -36,12 +36,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/Magma/magma.png); + background-image: url($theme-dir/magma.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/Magma/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -219,16 +219,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/Magma/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/Magma/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/Magma/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -266,11 +266,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/Magma/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/Magma/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/Magma/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/Magma/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -339,12 +339,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/Magma/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -361,7 +360,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -386,11 +384,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/Magma/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -533,35 +532,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/Magma/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/Magma/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/Magma/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/Magma/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/Magma/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/Magma/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/Magma/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/Magma/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -575,27 +574,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/Magma/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/Magma/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/Magma/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/Magma/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/Magma/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/Magma/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -687,7 +686,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/Magma/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/PoloniexDay/styles.qss b/src/qt/res/themes/PoloniexDay/styles.qss index f4828ce0e..96f32e7e2 100644 --- a/src/qt/res/themes/PoloniexDay/styles.qss +++ b/src/qt/res/themes/PoloniexDay/styles.qss @@ -94,7 +94,7 @@ QDialog, QMainWindow { } #coinLogo { - qproperty-pixmap: url($themes-dir/PoloniexDay/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -259,16 +259,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexDay/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/PoloniexDay/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexDay/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -305,11 +305,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/PoloniexDay/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/PoloniexDay/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -317,11 +317,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/PoloniexDay/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/PoloniexDay/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -369,7 +369,6 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; - qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -390,7 +389,6 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -414,9 +412,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/PoloniexDay/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - color: #fff; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -555,35 +556,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/PoloniexDay/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/PoloniexDay/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/PoloniexDay/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/PoloniexDay/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -597,27 +598,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/PoloniexDay/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/PoloniexDay/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexDay/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/PoloniexDay/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/PoloniexDay/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexDay/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -709,7 +710,7 @@ QCalendarWidget QAbstractItemView:disabled { /* Window resize grip */ QSizeGrip { - image: url($themes-dir/PoloniexDay/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/PoloniexNight/styles.qss b/src/qt/res/themes/PoloniexNight/styles.qss index 129408ced..52de2e7ac 100644 --- a/src/qt/res/themes/PoloniexNight/styles.qss +++ b/src/qt/res/themes/PoloniexNight/styles.qss @@ -88,7 +88,7 @@ QDialog, QMainWindow { } #coinLogo { - qproperty-pixmap: url($themes-dir/PoloniexNight/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -248,16 +248,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexNight/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/PoloniexNight/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexNight/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -294,11 +294,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/PoloniexNight/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/PoloniexNight/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -306,11 +306,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/PoloniexNight/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/PoloniexNight/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -363,7 +363,6 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; - qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -384,7 +383,6 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -404,9 +402,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/PoloniexNight/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - color: #fff; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -546,35 +547,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/PoloniexNight/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/PoloniexNight/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/PoloniexNight/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/PoloniexNight/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -588,27 +589,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/PoloniexNight/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/PoloniexNight/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexNight/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/PoloniexNight/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/PoloniexNight/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexNight/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -701,7 +702,7 @@ QCalendarWidget QAbstractItemView:disabled { /* Window resize grip */ QSizeGrip { - image: url($themes-dir/PoloniexNight/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } From ac72daf4a75190b537dd0bc64e6effb98c17239a Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 3 Nov 2014 14:33:09 -0700 Subject: [PATCH 163/555] attempt to fix transaction fee problems --- src/qt/coincontroldialog.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 6a7f572e0..d3d77be0d 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -620,8 +620,9 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) // Min Fee int64 nMinFee = txDummy.GetMinFee(1, false, GMF_SEND, nBytes); - nPayFee = max(nFee, nMinFee); - + //nPayFee = max(nFee, nMinFee); + nPayFee = nFee; + if (nPayAmount > 0) { nChange = nAmount - nPayFee - nPayAmount; From a05c07409bbf8e58fcfc730ab6d5fea1171b9d15 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 3 Nov 2014 14:33:32 -0700 Subject: [PATCH 164/555] update calculation for stake split threshold --- src/wallet.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 3d89f9a9e..acef40a0c 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1710,7 +1710,8 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int vwtxPrev.push_back(pcoin.first); txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - uint64 nTotalSize = nCredit + pcoin.first->vout[prevoutStake.n].nValue; + uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * ((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365); + if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (1000 * COIN))) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake From 0aaa9f4100026bdad251fc6b7d79f88c8d4f068e Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 3 Nov 2014 16:52:51 -0700 Subject: [PATCH 165/555] change fee to match fee dialog --- src/qt/coincontroldialog.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index d3d77be0d..2a885975d 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -615,13 +615,13 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) sPriorityLabel = CoinControlDialog::getPriorityLabel(dPriority); // Fee - int64 nFee = nTransactionFee; + int64 nFee = nTransactionFee * (1 + (int64)nBytes / 1000); // Min Fee int64 nMinFee = txDummy.GetMinFee(1, false, GMF_SEND, nBytes); - //nPayFee = max(nFee, nMinFee); - nPayFee = nFee; + nPayFee = max(nFee, nMinFee); + //nPayFee = nFee; if (nPayAmount > 0) { From d9d6c9685f4d89bcb3dba1b306e43bf541812cb3 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 3 Nov 2014 21:36:18 -0700 Subject: [PATCH 166/555] format units on confirm message, fix block split --- src/qt/sendcoinsdialog.cpp | 12 ++++++++++-- src/wallet.cpp | 6 +++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 6e548fc8f..d2e6370d2 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -172,9 +172,17 @@ void SendCoinsDialog::on_sendButton_clicked() else { #if QT_VERSION < 0x050000 - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address, QString::number(nSplitBlock), QString::number(double(rcp.amount/COIN) / double(nSplitBlock)))); + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + Qt::escape(rcp.label), + rcp.address, + QString::number(nSplitBlock), + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount / nSplitBlock))); #else - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address, QString::number(nSplitBlock), QString::number(double(rcp.amount/COIN) / double(nSplitBlock)))); + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + rcp.label.toHtmlEscaped(), + rcp.address, + QString::number(nSplitBlock), + BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount / nSplitBlock))); #endif } } diff --git a/src/wallet.cpp b/src/wallet.cpp index acef40a0c..da2c6a87b 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1308,15 +1308,15 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW { uint64 nBlockAmount = 0; uint64 nBlockSum = 0; - uint64 nAvgBlock = s.second / nSplitBlock; + uint64 nAvgBlock = nValue / nSplitBlock; for(int nCount = 0; nCount < nSplitBlock; nCount++) { - if (!(nCount == nSplitBlock)) + if (!(nCount == nSplitBlock - 1)) nBlockAmount = nAvgBlock - ((nCount + 1) * COIN / 4000); else - nBlockAmount = s.second - nBlockSum; + nBlockAmount = nValue - nBlockSum; nBlockSum += nBlockAmount; wtxNew.vout.push_back(CTxOut(nBlockAmount, s.first)); From cf619c10d469207887faf25fa75011dad840dbb3 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 4 Nov 2014 14:19:44 -0700 Subject: [PATCH 167/555] add block splitter dust info to confirmation dialog --- src/qt/sendcoinsdialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index d2e6370d2..9fdf8714c 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -172,13 +172,13 @@ void SendCoinsDialog::on_sendButton_clicked() else { #if QT_VERSION < 0x050000 - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address, QString::number(nSplitBlock), BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount / nSplitBlock))); #else - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address, QString::number(nSplitBlock), From e60e810bdc14c652edb697670b4af1c5bdbb54a9 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 4 Nov 2014 20:38:08 -0700 Subject: [PATCH 168/555] splitblock convert to double then to int --- src/qt/sendcoinsdialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 9fdf8714c..5a6da6658 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -155,7 +155,7 @@ void SendCoinsDialog::on_sendButton_clicked() if (ui->entries->count() > 1) fSplitBlock = false; if (fSplitBlock) - nSplitBlock = ui->splitBlockLineEdit->text().toInt(); + nSplitBlock = int(ui->splitBlockLineEdit->text().toDouble()); // Format confirmation message QStringList formatted; From 88da72a04b8cfb34675820fdc7b83fa18fa2e3e9 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 5 Nov 2014 10:19:39 -0700 Subject: [PATCH 169/555] coin control weight accuracy adjustment --- src/kernel.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 7793b997e..a78b826c6 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -50,7 +50,11 @@ int64 GetWeight2(int64 nIntervalBeginning, int64 nIntervalEnd) // this change increases active coins participating the hash and helps // to secure the network when proof-of-stake difficulty is low int64 nStakeMinAgeV2 = 60 * 60 * 24 * 8.8; - return min(nIntervalEnd - nIntervalBeginning - nStakeMinAgeV2, (int64)nStakeMaxAge); + int64 nTimePassed = nIntervalEnd - nIntervalBeginning; + if (nTimePassed > nStakeMinAgeV2) + return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAge; + else + return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAgeV2; } // Get the last stake modifier and its generation time from a given block From b83cb957e4b9edb7c8536a33f416f99651bb5f3a Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Mon, 3 Nov 2014 20:50:40 +0100 Subject: [PATCH 170/555] Themes switching change - When new theme is loaded, first Default theme is applied (to reset internal qproperty-* styles) - no need to include reset in all themes anymore - use of shorter variable $theme-dir which is equivalent of $themes-dir/ --- src/qt/bitcoingui.cpp | 18 +++++-- src/qt/bitcoingui.h | 1 + src/qt/res/themes/BlueLights/styles.qss | 59 +++++++++++---------- src/qt/res/themes/Celestial/styles.qss | 61 +++++++++++----------- src/qt/res/themes/Default/styles.qss | 4 +- src/qt/res/themes/HyperBlue/styles.qss | 61 +++++++++++----------- src/qt/res/themes/Magma/styles.qss | 61 +++++++++++----------- src/qt/res/themes/PoloniexDay/styles.qss | 55 +++++++++---------- src/qt/res/themes/PoloniexNight/styles.qss | 55 +++++++++---------- 9 files changed, 194 insertions(+), 181 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 4987b3ee8..5aa8baece 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -406,7 +406,7 @@ void BitcoinGUI::createActions() signalMapper->setMapping(customActions[i], theme); connect(customActions[i], SIGNAL(triggered()), signalMapper, SLOT (map())); } - connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(loadTheme(QString))); + connect(signalMapper, SIGNAL(mapped(QString)), this, SLOT(changeTheme(QString))); } /* /zeewolf: Hot swappable wallet themes */ } @@ -1313,6 +1313,16 @@ void BitcoinGUI::calcClicked() } /* zeewolf: Hot swappable wallet themes */ +void BitcoinGUI::changeTheme(QString theme) +{ + // load Default theme first (if present) to apply default styles + loadTheme("Default"); + + if (theme != "Default") { + loadTheme(theme); + } +} + void BitcoinGUI::loadTheme(QString theme) { // template variables : key => value @@ -1399,9 +1409,11 @@ void BitcoinGUI::listThemes(QStringList& themes) QDir currentDir(qApp->applicationDirPath()); // try app dir if (currentDir.cd("themes")) { - // got it! (win package) + // got it! (win package) } else if (currentDir.cd("src/qt/res/themes")) { - // got it (qmake puts exe in git main dir) + // got it + } else if (currentDir.cd("../src/qt/res/themes")) { + // got it } else { // themes not found :( return; diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 56cba6865..748bf88a5 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -232,6 +232,7 @@ private slots: void updateMintingWeights(); void charityClicked(QString addr = ""); /** Load external QSS stylesheet */ + void changeTheme(QString theme); void loadTheme(QString theme); void listThemes(QStringList& themes); void keyPressEvent(QKeyEvent * e); diff --git a/src/qt/res/themes/BlueLights/styles.qss b/src/qt/res/themes/BlueLights/styles.qss index 1cdf278de..093e7f161 100644 --- a/src/qt/res/themes/BlueLights/styles.qss +++ b/src/qt/res/themes/BlueLights/styles.qss @@ -50,7 +50,7 @@ /* Dialog, Window */ QDialog, QMainWindow { - border-image: url($themes-dir/BlueLights/bg.png); + border-image: url($theme-dir/bg.png); } QMainWindow > QFrame > QDialog { @@ -58,7 +58,7 @@ QMainWindow > QFrame > QDialog { } #coinLogo { - qproperty-pixmap: url($themes-dir/BlueLights/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignRight'; } @@ -237,16 +237,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/BlueLights/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/BlueLights/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/BlueLights/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -284,11 +284,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/BlueLights/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/BlueLights/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -296,11 +296,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/BlueLights/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/BlueLights/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -362,7 +362,7 @@ QToolBar { QToolBar::handle { padding: 0px; - background-image: url($themes-dir/BlueLights/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -404,11 +404,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/BlueLights/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -553,35 +554,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/BlueLights/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/BlueLights/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/BlueLights/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/BlueLights/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/BlueLights/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/BlueLights/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/BlueLights/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/BlueLights/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -595,27 +596,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/BlueLights/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/BlueLights/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/BlueLights/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/BlueLights/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/BlueLights/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/BlueLights/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -707,7 +708,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/BlueLights/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Celestial/styles.qss b/src/qt/res/themes/Celestial/styles.qss index 001862874..cd17510c7 100644 --- a/src/qt/res/themes/Celestial/styles.qss +++ b/src/qt/res/themes/Celestial/styles.qss @@ -36,12 +36,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/Celestial/space.png); + background-image: url($theme-dir/space.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/Celestial/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -219,16 +219,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/Celestial/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/Celestial/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/Celestial/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -266,11 +266,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/Celestial/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/Celestial/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/Celestial/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/Celestial/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -339,12 +339,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/Celestial/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -361,7 +360,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -386,11 +384,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/Celestial/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -533,35 +532,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/Celestial/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/Celestial/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/Celestial/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/Celestial/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/Celestial/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/Celestial/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/Celestial/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/Celestial/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -575,27 +574,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/Celestial/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/Celestial/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/Celestial/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/Celestial/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/Celestial/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/Celestial/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -683,7 +682,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/Celestial/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Default/styles.qss b/src/qt/res/themes/Default/styles.qss index 39614265b..4a770ba48 100644 --- a/src/qt/res/themes/Default/styles.qss +++ b/src/qt/res/themes/Default/styles.qss @@ -24,9 +24,9 @@ QValidatedLineEdit[error="true"] { } QToolBar { - qproperty-iconSize: 32px 32px; + qproperty-iconSize: 24px 24px; } QToolBar QToolButton { /* all types of tool button */ - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; + qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } diff --git a/src/qt/res/themes/HyperBlue/styles.qss b/src/qt/res/themes/HyperBlue/styles.qss index ef1db9f1a..30373ed29 100644 --- a/src/qt/res/themes/HyperBlue/styles.qss +++ b/src/qt/res/themes/HyperBlue/styles.qss @@ -48,12 +48,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/HyperBlue/bg.png); + background-image: url($theme-dir/bg.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/HyperBlue/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -231,16 +231,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/HyperBlue/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/HyperBlue/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/HyperBlue/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/HyperBlue/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/HyperBlue/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -290,11 +290,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/HyperBlue/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/HyperBlue/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -351,12 +351,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/HyperBlue/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -373,7 +372,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -398,11 +396,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/HyperBlue/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -545,35 +544,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/HyperBlue/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/HyperBlue/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/HyperBlue/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/HyperBlue/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/HyperBlue/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -587,27 +586,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/HyperBlue/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/HyperBlue/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/HyperBlue/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/HyperBlue/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/HyperBlue/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/HyperBlue/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -699,7 +698,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/HyperBlue/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/Magma/styles.qss b/src/qt/res/themes/Magma/styles.qss index 6d03e8ca4..45ff2a26d 100644 --- a/src/qt/res/themes/Magma/styles.qss +++ b/src/qt/res/themes/Magma/styles.qss @@ -36,12 +36,12 @@ /* Dialog, Window */ QDialog, QMainWindow { - background-image: url($themes-dir/Magma/magma.png); + background-image: url($theme-dir/magma.png); background-repeat: repeat-xy; } #coinLogo { - qproperty-pixmap: url($themes-dir/Magma/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -219,16 +219,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/Magma/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/Magma/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/Magma/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -266,11 +266,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/Magma/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/Magma/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -278,11 +278,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/Magma/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/Magma/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -339,12 +339,11 @@ QToolBar { border-top: 1px solid $main-color-xd; min-height: 40px; padding: 0px; - qproperty-iconSize: 32px 32px; } QToolBar::handle { padding: 0px; - background-image: url($themes-dir/Magma/toolbar-handle.png); + background-image: url($theme-dir/toolbar-handle.png); background-repeat: repeat-y; background-position: top center; } @@ -361,7 +360,6 @@ QToolBar QToolButton { /* all types of tool button */ border: none; border-top-left-radius: 3px; border-top-right-radius: 3px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -386,11 +384,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/Magma/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - margin-top: 0px; - color: #fff; - border-bottom: 3px solid transparent; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -533,35 +532,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/Magma/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/Magma/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/Magma/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/Magma/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/Magma/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/Magma/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/Magma/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/Magma/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -575,27 +574,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/Magma/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/Magma/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/Magma/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/Magma/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/Magma/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/Magma/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -687,7 +686,7 @@ QCalendarWidget QAbstractItemView:disabled { color: $main-color-xd } /* Window resize grip */ QSizeGrip { - image: url($themes-dir/Magma/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/PoloniexDay/styles.qss b/src/qt/res/themes/PoloniexDay/styles.qss index f4828ce0e..96f32e7e2 100644 --- a/src/qt/res/themes/PoloniexDay/styles.qss +++ b/src/qt/res/themes/PoloniexDay/styles.qss @@ -94,7 +94,7 @@ QDialog, QMainWindow { } #coinLogo { - qproperty-pixmap: url($themes-dir/PoloniexDay/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -259,16 +259,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexDay/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/PoloniexDay/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexDay/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -305,11 +305,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/PoloniexDay/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/PoloniexDay/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -317,11 +317,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/PoloniexDay/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/PoloniexDay/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -369,7 +369,6 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; - qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -390,7 +389,6 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -414,9 +412,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/PoloniexDay/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - color: #fff; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -555,35 +556,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/PoloniexDay/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/PoloniexDay/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/PoloniexDay/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/PoloniexDay/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/PoloniexDay/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -597,27 +598,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/PoloniexDay/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/PoloniexDay/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexDay/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/PoloniexDay/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/PoloniexDay/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexDay/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -709,7 +710,7 @@ QCalendarWidget QAbstractItemView:disabled { /* Window resize grip */ QSizeGrip { - image: url($themes-dir/PoloniexDay/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } diff --git a/src/qt/res/themes/PoloniexNight/styles.qss b/src/qt/res/themes/PoloniexNight/styles.qss index 129408ced..52de2e7ac 100644 --- a/src/qt/res/themes/PoloniexNight/styles.qss +++ b/src/qt/res/themes/PoloniexNight/styles.qss @@ -88,7 +88,7 @@ QDialog, QMainWindow { } #coinLogo { - qproperty-pixmap: url($themes-dir/PoloniexNight/hypstk-watermark.png); + qproperty-pixmap: url($theme-dir/hypstk-watermark.png); qproperty-alignment: 'AlignBottom | AlignLeft'; } @@ -248,16 +248,16 @@ QComboBox::drop-down:disabled { QComboBox::down-arrow { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexNight/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QComboBox::down-arrow:disabled { - image: url($themes-dir/PoloniexNight/down-arrow-disabled.png); + image: url($theme-dir/down-arrow-disabled.png); } QComboBox::down-arrow:on { /* Custom dropdown symbol */ - image: url($themes-dir/PoloniexNight/up-arrow.png); + image: url($theme-dir/up-arrow.png); } QComboBox::drop-down { @@ -294,11 +294,11 @@ QDateTimeEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled { } QDateTimeEdit::down-arrow { - image: url($themes-dir/PoloniexNight/calendar.png); + image: url($theme-dir/calendar.png); } QDateTimeEdit::down-arrow:disabled { - image: url($themes-dir/PoloniexNight/calendar-disabled.png); + image: url($theme-dir/calendar-disabled.png); } QDateTimeEdit::drop-down { @@ -306,11 +306,11 @@ QDateTimeEdit::drop-down { } QDoubleSpinBox::down-button { - image: url($themes-dir/PoloniexNight/down-arrow.png); + image: url($theme-dir/down-arrow.png); } QDoubleSpinBox::up-button { - image: url($themes-dir/PoloniexNight/up-arrow.png); + image: url($theme-dir/up-arrow.png); } /* Button */ @@ -363,7 +363,6 @@ QToolBar { margin-bottom: 0px; border: none; border-bottom: 1px solid $top-bar-border-color; - qproperty-iconSize: 32px 32px; } QToolBar::handle { @@ -384,7 +383,6 @@ QToolBar QToolButton { /* all types of tool button */ border-bottom-right-radius: 0px; $custom-font-1; margin-top: 12px; - qproperty-toolButtonStyle: ToolButtonTextBesideIcon; } QToolBar QToolButton:hover { @@ -404,9 +402,12 @@ QToolBar QToolButton:disabled { /* Tool buttons - buttons with icons */ #qt_toolbar_ext_button { - qproperty-icon: url($themes-dir/PoloniexNight/arrow-down.png); + qproperty-icon: url($theme-dir/arrow-down.png); border-radius: 0px; - color: #fff; + margin-top: 3px; + padding: 0px; + border: 0px; + margin-left: -3px; } #addressBookButton, QToolButton#clearButton, QToolButton#pasteButton, QToolButton#deleteButton, @@ -546,35 +547,35 @@ QCheckBox::indicator { } QCheckBox::indicator:unchecked { - image: url($themes-dir/PoloniexNight/cb.png); + image: url($theme-dir/cb.png); } QCheckBox::indicator:unchecked:hover { - image: url($themes-dir/PoloniexNight/cb-hover.png); + image: url($theme-dir/cb-hover.png); } QCheckBox::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_unchecked_pressed.png);*/ + /*image: url($theme-dir/checkbox_unchecked_pressed.png);*/ } QCheckBox::indicator:checked { - image: url($themes-dir/PoloniexNight/cb-checked.png); + image: url($theme-dir/cb-checked.png); } QCheckBox::indicator:checked:hover { - image: url($themes-dir/PoloniexNight/cb-checked-hover.png); + image: url($theme-dir/cb-checked-hover.png); } QCheckBox::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_checked_pressed.png);*/ + /*image: url($theme-dir/checkbox_checked_pressed.png);*/ } QCheckBox::indicator:indeterminate:hover { - /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_hover.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_hover.png);*/ } QCheckBox::indicator:indeterminate:pressed { - /*image: url($themes-dir/PoloniexNight/checkbox_indeterminate_pressed.png);*/ + /*image: url($theme-dir/checkbox_indeterminate_pressed.png);*/ } /* Radio button */ @@ -588,27 +589,27 @@ QRadioButton::indicator { } QRadioButton::indicator::unchecked { - image: url($themes-dir/PoloniexNight/r.png); + image: url($theme-dir/r.png); } QRadioButton::indicator:unchecked:hover { - image: url($themes-dir/PoloniexNight/r-hover.png); + image: url($theme-dir/r-hover.png); } QRadioButton::indicator:unchecked:pressed { - /*image: url($themes-dir/PoloniexNight/rpressed.png);*/ + /*image: url($theme-dir/rpressed.png);*/ } QRadioButton::indicator::checked { - image: url($themes-dir/PoloniexNight/r-checked.png); + image: url($theme-dir/r-checked.png); } QRadioButton::indicator:checked:hover { - image: url($themes-dir/PoloniexNight/r-checked-hover.png); + image: url($theme-dir/r-checked-hover.png); } QRadioButton::indicator:checked:pressed { - /*image: url($themes-dir/PoloniexNight/radiobutton_checked_pressed.png);*/ + /*image: url($theme-dir/radiobutton_checked_pressed.png);*/ } /* Tabs */ @@ -701,7 +702,7 @@ QCalendarWidget QAbstractItemView:disabled { /* Window resize grip */ QSizeGrip { - image: url($themes-dir/PoloniexNight/sizegrip.png); + image: url($theme-dir/sizegrip.png); width: 16px; height: 16px; } From e41246727eac0f04207a39219780398d00b6ede0 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 5 Nov 2014 11:16:30 -0700 Subject: [PATCH 171/555] Version 1.0.7.1 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 81b6e9f18..8ea073be4 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.1" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index ed3828a96..2c7ae07f2 100644 --- a/src/version.h +++ b/src/version.h @@ -47,6 +47,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 7 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 1 #endif From 363aa8edade6fae5c396acb7d94d509efa52a372 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 5 Nov 2014 22:39:34 -0700 Subject: [PATCH 172/555] HYP shown twice --- src/qt/sendcoinsdialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 5a6da6658..a186ac22b 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -172,13 +172,13 @@ void SendCoinsDialog::on_sendButton_clicked() else { #if QT_VERSION < 0x050000 - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address, QString::number(nSplitBlock), BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount / nSplitBlock))); #else - formatted.append(tr("%1 in %4 blocks of %5 HYP each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address, QString::number(nSplitBlock), From bdab10661c2f2c3908791cdd83a7a35eeba13827 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 6 Nov 2014 08:50:06 -0700 Subject: [PATCH 173/555] adjust time prediction accuracy --- src/qt/bitcoingui.cpp | 2 +- src/qt/coincontroldialog.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5aa8baece..29aac27ff 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1219,7 +1219,7 @@ void BitcoinGUI::updateMintingIcon() } else if (nLastCoinStakeSearchInterval) { - uint64 nAccuracyAdjustment = 3; // this is a manual adjustment in an attempt to make staking estimate more accurate + uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 2a885975d..0561cb365 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -872,7 +872,7 @@ void CoinControlDialog::updateView() nTimeToMaturity = (760320 - nAge); else nTimeToMaturity = 0; - uint64 nAccuracyAdjustment = 3; // this is a manual adjustment in an attempt to make staking estimate more accurate + uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate uint64 nEstimateTime = 90 * nNetworkWeight / nBlockWeight / nAccuracyAdjustment; // 90 seconds is block target uint64 nMax = 999 * COIN; // qmin cannot compar int64, so convert to uint64 prior nEstimateTime = qMin((nEstimateTime + nTimeToMaturity) * COIN / (60*60*24), nMax); // multiply by coin to use built in formatting From 6e758af9a7cbac7a5db4c3c6ed1fd8a24e185340 Mon Sep 17 00:00:00 2001 From: ZeeWolf Date: Thu, 6 Nov 2014 19:06:50 +0100 Subject: [PATCH 174/555] I18N fixes, splashscreen on Qt5 working again, removal of unused files --- src/qt/bitcoin.cpp | 8 ++ src/qt/bitcoin.qrc | 15 ++- src/qt/bitcoingui.cpp | 7 +- src/qt/res/images/splash.jpg | Bin 229570 -> 0 bytes src/qt/res/images/x11-logo2b.JPG | Bin 17808 -> 0 bytes src/qt/res/text/bg.jpg | Bin 224971 -> 0 bytes src/qt/res/text/style.qss | 168 ------------------------------- 7 files changed, 18 insertions(+), 180 deletions(-) delete mode 100644 src/qt/res/images/splash.jpg delete mode 100644 src/qt/res/images/x11-logo2b.JPG delete mode 100644 src/qt/res/text/bg.jpg delete mode 100644 src/qt/res/text/style.qss diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 88ff283f7..9fb0230fc 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -169,19 +169,27 @@ int main(int argc, char *argv[]) // Load e.g. qt_de.qm if (qtTranslatorBase.load("qt_" + lang, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + { app.installTranslator(&qtTranslatorBase); + } // Load e.g. qt_de_DE.qm if (qtTranslator.load("qt_" + lang_territory, QLibraryInfo::location(QLibraryInfo::TranslationsPath))) + { app.installTranslator(&qtTranslator); + } // Load e.g. bitcoin_de.qm (shortcut "de" needs to be defined in bitcoin.qrc) if (translatorBase.load(lang, ":/translations/")) + { app.installTranslator(&translatorBase); + } // Load e.g. bitcoin_de_DE.qm (shortcut "de_DE" needs to be defined in bitcoin.qrc) if (translator.load(lang_territory, ":/translations/")) + { app.installTranslator(&translator); + } // Subscribe to global signals from core uiInterface.ThreadSafeMessageBox.connect(ThreadSafeMessageBox); diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index be0d2ad45..ce5156875 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -1,8 +1,8 @@ res/icons/hyperstake-16.png - res/icons/hyperstake-16.png - res/icons/hyperstake-32.png + res/icons/hyperstake-16.png + res/icons/hyperstake-32.png res/icons/address-book.png res/icons/quit.png res/icons/send.png @@ -43,14 +43,14 @@ res/icons/filesave.png res/icons/qrcode.png res/icons/debugwindow.png - res/icons/blexp.png - res/icons/info.png - res/icons/mining_inactive.png + res/icons/blexp.png + res/icons/info.png + res/icons/mining_inactive.png res/icons/s4c.png res/images/about.png - res/images/splash.jpg + res/images/splash.png res/images/wallet.png @@ -61,7 +61,4 @@ locale/bitcoin_en.qm locale/bitcoin_ru.qm - - res/text/style.qss - diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5aa8baece..0cb6c14ea 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -59,6 +59,7 @@ #include #include #include + #if QT_VERSION < 0x050000 #include #endif @@ -277,7 +278,7 @@ void BitcoinGUI::createActions() historyAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_4)); tabGroup->addAction(historyAction); - addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Address Book"), this); + addressBookAction = new QAction(QIcon(":/icons/address-book"), tr("&Contacts"), this); addressBookAction->setToolTip(tr("Edit the list of stored addresses and labels")); addressBookAction->setCheckable(true); addressBookAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_5)); @@ -303,7 +304,7 @@ void BitcoinGUI::createActions() aboutAction->setToolTip(tr("Show information about HyperStake")); aboutAction->setMenuRole(QAction::AboutRole); - charityAction = new QAction(QIcon(":/icons/s4c"), tr("&Stake For Charity"), this); + charityAction = new QAction(QIcon(":/icons/s4c"), tr("&S4C"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); @@ -358,7 +359,7 @@ void BitcoinGUI::createActions() exportAction = new QAction(QIcon(":/icons/export"), tr("&Export..."), this); exportAction->setToolTip(tr("Export the data in the current tab to a file")); - openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug window"), this); + openRPCConsoleAction = new QAction(QIcon(":/icons/debugwindow"), tr("&Debug"), this); openRPCConsoleAction->setToolTip(tr("Open debugging and diagnostic console")); connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit())); diff --git a/src/qt/res/images/splash.jpg b/src/qt/res/images/splash.jpg deleted file mode 100644 index 4dc7633c830b8ecbfc040b794d09c45a825a14a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 229570 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

        q<6t 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
        On^G4cL3X#FrS(Za!iP2?Jxxl} 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 diff --git a/src/qt/res/text/style.qss b/src/qt/res/text/style.qss deleted file mode 100644 index 5e3a0b1d9..000000000 --- a/src/qt/res/text/style.qss +++ /dev/null @@ -1,168 +0,0 @@ -QDialog, QMainWindow, QFrame { - color: white; - background-color: #27576C; - border: none; -} - -QLabel { - background-color: transparent; -} - -QCheckBox { - color: white; -} - -QFrame#central { background-color: #113f53; border: none } -QFrame#frame, QFrame#frame_2, QFrame#frame_3 { - background-color: #698FA0; - border-style: plain; - border-width: 5px; - border-radius: 5px; - border-color: #698FA0; - min-width: 10em; - padding: 6px; -} -QLabel[openExternalLinks=true], QHeaderView { color: #cca000 } -QLabel[openExternalLinks=false] { color: white; font-weight: normal } -QPushButton, QToolButton { - border: 4px solid #698FA0; - border-radius: 5px; - background-color: #698FA0; - color: white; - padding: 6px; - margin: 6px; - font-size: 14px; - font-weight: bold; -} -QPushButton:pressed, QToolButton:checked { - color: #000; -} -QPushButton:pressed, QToolButton:pressed { - border-color: #fff; - color: #fff; -} -QPushButton:disabled, QToolButton:disabled { - color: #444; - background-color: #113f53; -} - - -#scrollAreaWidgetContents QToolButton { - border-radius: 5px; - border-width: 0px; -} - -/* the background-color is overridden to transparent for mac os x - due to the entire toolbar area not being drawable in a regular - QMainWindow -*/ -QToolBar { background: #113f53; border: 0px solid black; padding: 3px; } - -QToolBar::handle { image: url(handle.png); } -QStatusBar { background: #113f53; } -QMenuBar { background: #113f53; } -QMenuBar::item { background: #113f53; color: white; } - -#scrollAreaWidgetContents { background: #113f53 } -#scrollAreaWidgetContents > QFrame { background-color: #113f53; border-width: 0px; border-style: none; } - -QLineEdit { - border-radius: 3px; - border-width: 0px; - border-color: #113f53; - padding: 8px; - background-color: #698FA0; - color: white; -} - -QComboBox { - border-radius: 3px; - border-width: 0; - border-style: none; - padding: 8px; - background-color: #698FA0; - color: white; -} - -QComboBox::drop-down { - border-width: 0; - border-style: none; - background-color: #698FA0; - color: white; -} - -QTableView { - background: #03293A; - color: white; - border-style: none; - selection-background-color: #477488; - alternate-background-color: #113f53; - selection-color: #698FA0; - border: 0px solid black; -} - -QHeaderView { color: #cca000; background-color: #698FA0; background-image: none; } -QHeaderView::section { color: #cca000; background-color: #113f53; } -QHeaderView::section:checked { background-color: #698FA0; } - -QTabWidget { - background: #698FA0; -} - - QTabWidget::pane { - border-top: 2px solid #698FA0; - border: 4px solid #698FA0; - border-bottom-left-radius: 5px; - border-bottom-right-radius: 5px; - border-top-right-radius: 5px; - background: #698FA0; - } - - QTabWidget::tab-bar { - left: 5px; /* move to the right by 5px */ - } - - /* Style the tab using the tab sub-control. Note that - it reads QTabBar _not_ QTabWidget */ - QTabBar::tab { - background: #698FA0; - border: 4px solid #113f53; - border-bottom-color: #698FA0; /* same as the pane color */ - border-top-left-radius: 5px; - border-top-right-radius: 5px; - min-width: 8ex; - padding: 4px; - color: #888; - } - - QTabBar::tab:selected, QTabBar::tab:hover { - color: #cca000 - } - - QTabBar::tab:selected { - border-color: #698FA0; /* same as pane color */ - border-top-color: #cca000; - } - - QTabBar::tab:!selected { - margin-top: 2px; /* make non-selected tabs look smaller */ - } - - /* make use of negative margins for overlapping tabs */ - QTabBar::tab:selected { - /* expand/overlap to the left and right by 4px */ - margin-left: -4px; - margin-right: -4px; - } - - QTabBar::tab:first:selected { - margin-left: 0; /* the first selected tab has nothing to overlap with on the left */ - } - - QTabBar::tab:last:selected { - margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ - } - - QTabBar::tab:only-one { - margin: 0; /* if there is only one tab, we don't want overlapping margins */ - } \ No newline at end of file From 33529f1f5833870d0f5d8d49e539a2a4d68a8ea7 Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 8 Nov 2014 16:58:12 -0700 Subject: [PATCH 175/555] setstakesplitthreshold RPC call (default 1000) --- src/bitcoinrpc.cpp | 5 ++-- src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 69 ++++++++++++++-------------------------------- src/wallet.cpp | 4 +-- src/wallet.h | 3 ++ 5 files changed, 29 insertions(+), 53 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 800b5fb60..f5620a3e0 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -221,7 +221,7 @@ static const CRPCCommand vRPCCommands[] = { "getaccount", &getaccount, false, false }, { "getaddressesbyaccount", &getaddressesbyaccount, true, false }, { "sendtoaddress", &sendtoaddress, false, false }, - //{ "splitblock", &splitblock, false, false }, + { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, { "listreceivedbyaddress", &listreceivedbyaddress, false, false }, @@ -1157,8 +1157,6 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "setgenerate" && n > 1) ConvertTo(params[1]); if (strMethod == "sendtoaddress" && n > 1) ConvertTo(params[1]); - //if (strMethod == "splitblock" && n > 1) ConvertTo(params[1]); - //if (strMethod == "splitblock" && n > 1) ConvertTo(params[2]); if (strMethod == "settxfee" && n > 0) ConvertTo(params[0]); if (strMethod == "getaddednodeinfo" && n > 0) ConvertTo(params[0]); if (strMethod == "getreceivedbyaddress" && n > 1) ConvertTo(params[1]); @@ -1203,6 +1201,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); + if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index cdca525ce..8adb87c3d 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -194,6 +194,7 @@ extern json_spirit::Value validatepubkey(const json_spirit::Array& params, bool extern json_spirit::Value getnewpubkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c6b77b5f7..92223461a 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -543,54 +543,6 @@ Value sendtoaddress(const Array& params, bool fHelp) return wtx.GetHash().GetHex(); } - -/*Value splitblock(const Array& params, bool fHelp) -{ - if (fHelp || params.size() < 3 || params.size() > 3) - throw runtime_error( - "splitblock \n" - " is a real and is rounded to the nearest 0.000001" - + HelpRequiringPassphrase()); - - CBitcoinAddress address(params[0].get_str()); - if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); - - // Amount - double dAmount = params[1].get_real(); - double dBlocks = params[2].get_real(); - dAmount = dAmount / dBlocks; - int64 nAmount = AmountFromValue(dAmount * COIN); - - if (nAmount < MIN_TXOUT_AMOUNT) - throw JSONRPCError(-101, "Send amount too small"); - - // Wallet transaction - - - vector vecAddress; //vector containing the single address that will be sent to - - for(int nIndex = 0; nIndex < dBlocks; ++nIndex) - { - vecAddress.push_back (address.Get()); - } - - //if (pwalletMain->IsLocked()) - // throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - - - for(int nIndex = 0; nIndex < dBlocks; ++nIndex) - { - CWalletTx wtx; - string strError = pwalletMain->SendMoneyToDestination(address.Get(), nAmount, wtx); - if (strError != "") - throw JSONRPCError(RPC_WALLET_ERROR, strError); - } - - return nAmount; -}*/ - - Value listaddressgroupings(const Array& params, bool fHelp) { if (fHelp) @@ -2121,3 +2073,24 @@ Value makekeypair(const Array& params, bool fHelp) result.push_back(Pair("PublicKey", HexStr(key.GetPubKey().Raw()))); return result; } + +// presstab HyperStake +Value setstakesplitthreshold(const Array& params, bool fHelp) +{ + if (fHelp || params.size() > 1) + throw runtime_error( + "setstakesplitthreshold <1 - 999,999>\n" + "This will set the output size of your stakes to never be below this number\n"); + uint64 nStakeSplitThreshold = params[0].get_int(); + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); + if (nStakeSplitThreshold > 999999) + return "out of range - setting split threshold failed"; + else + { + Object result; + pwalletMain->nStakeSplitThreshold = nStakeSplitThreshold; + result.push_back(Pair("split stake threshold set to ", nStakeSplitThreshold)); + return result; + } +} diff --git a/src/wallet.cpp b/src/wallet.cpp index da2c6a87b..96dd76c06 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1710,10 +1710,10 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int vwtxPrev.push_back(pcoin.first); txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * ((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365); + uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); - if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (1000 * COIN))) + if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (nStakeSplitThreshold * COIN))) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake if (fDebug && GetBoolArg("-printcoinstake")) diff --git a/src/wallet.h b/src/wallet.h index 88074f332..cc31876ff 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -95,6 +95,7 @@ class CWallet : public CCryptoKeyStore int64 nAmountSelected; std::string strBestAddress; bool fCombine; + uint64 nStakeSplitThreshold; std::set setKeyPool; @@ -122,6 +123,7 @@ class CWallet : public CCryptoKeyStore nAmountSelected = 0; strBestAddress = ""; fCombine = false; + nStakeSplitThreshold = 1000; } CWallet(std::string strWalletFileIn) { @@ -143,6 +145,7 @@ class CWallet : public CCryptoKeyStore nAmountSelected = 0; strBestAddress = ""; fCombine = false; + nStakeSplitThreshold = 1000; } std::map mapWallet; From c1b4ebd9153dc72f66886bc8308a09605753a822 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 9 Nov 2014 15:10:13 -0700 Subject: [PATCH 176/555] Fix DNS seeding --- src/net.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 268fe40ae..120cf8a8b 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1149,10 +1149,9 @@ void MapPort() // The first name is used as information source for addrman. // The second name should resolve to a list of seed addresses. static const char *strDNSSeed[][2] = { + {"temp seed", "hyp.bottlecaps.org"}, + {"CCE block explorer", "hyp.altcointech.net"}, {"chainworks seed", "hyp.chainworks.info"}, - {"CCE block explorer", "hyp.altcointech.net"}, - {}, - {}, }; void ThreadDNSAddressSeed(void* parg) @@ -1856,19 +1855,12 @@ void StartNode(void* parg) // // Start threads // - -/* + if (!GetBoolArg("-dnsseed", true)) printf("DNS seeding disabled\n"); else if (!NewThread(ThreadDNSAddressSeed, NULL)) printf("Error: NewThread(ThreadDNSAddressSeed) failed\n"); -*/ - - if (!GetBoolArg("-dnsseed", false)) - printf("DNS seeding disabled\n"); - if (GetBoolArg("-dnsseed", false)) - printf("DNS seeding NYI\n"); // Map ports with UPnP if (fUseUPnP) From 6d069554e56f370e5fef16f7675b043287fe1ccd Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 9 Nov 2014 17:39:31 -0700 Subject: [PATCH 177/555] reduce nLimit to 1000 to prevent bad alloc --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 6637e9d6b..b51db90c3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3281,7 +3281,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Send the rest of the chain if (pindex) pindex = pindex->pnext; - int nLimit = 5000; + int nLimit = 1000; printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str(), nLimit); for (; pindex; pindex = pindex->pnext) { From 7d6cb0428de53ded886500483c2fd3173527fc0e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 9 Nov 2014 17:40:02 -0700 Subject: [PATCH 178/555] max outbound connections to 25 --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 120cf8a8b..fb64bb416 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -25,7 +25,7 @@ using namespace std; using namespace boost; -static const int MAX_OUTBOUND_CONNECTIONS = 12; +static const int MAX_OUTBOUND_CONNECTIONS = 25; void ThreadMessageHandler2(void* parg); void ThreadSocketHandler2(void* parg); From 7ab1b67c484f761be436709419be1265ca6b7d34 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 9 Nov 2014 20:38:43 -0700 Subject: [PATCH 179/555] Update checkpoints --- src/checkpoints.cpp | 2 +- src/kernel.cpp | 3 +++ src/main.h | 4 ++-- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index d41961369..0813a0ced 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -28,7 +28,7 @@ namespace Checkpoints (10, uint256("0x0000074074af28e73189ae5767b706246be2e0827c46d97a61178394aec877cf")) (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky - (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) + (139999, uint256("0x15f9cc4fc01db7314e1f8af4a14709ad5a5dda69b3e4256fd1aebfcc87b678e6")) ; static MapCheckpoints mapCheckpointsTestnet = diff --git a/src/kernel.cpp b/src/kernel.cpp index a78b826c6..3d85a9f0b 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -32,6 +32,9 @@ bool IsProtocolModifierIntervalChange(unsigned int nBlockHeight) static std::map mapStakeModifierCheckpoints = boost::assign::map_list_of ( 0, 0xfd11f4e7u ) + ( 75000, 0xe94255d8 ) + ( 140000, 0x8dce2981 ) + ; // Get time weight int64 GetWeight(int64 nIntervalBeginning, int64 nIntervalEnd) diff --git a/src/main.h b/src/main.h index 158d5fe3f..8514e050f 100644 --- a/src/main.h +++ b/src/main.h @@ -57,8 +57,8 @@ static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23 static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); // HighBlock is used to speed up blockchain download. It is being sent by server instead of last PoW block. -static const uint256 hashHighBlock ("0xe1415d0a36f6dea67bc892a3c8b8c72d933b2126f1a6d476abbd1f4ea0cee5d7"); -static const int HIGH_BLOCK_INDEX = 120000; +static const uint256 hashHighBlock ("0xed25c8d68258873877ceb6ce2e0aec398fbd6e05401128557fb309776c5afa71"); +static const int HIGH_BLOCK_INDEX = 140000; static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() From be83e6f9eea5f2a08bd80b50925f1eee1242f053 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 10 Nov 2014 11:36:44 -0700 Subject: [PATCH 180/555] show actual splitstakthreshold on confirmation --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 92223461a..fe113a373 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2090,7 +2090,7 @@ Value setstakesplitthreshold(const Array& params, bool fHelp) { Object result; pwalletMain->nStakeSplitThreshold = nStakeSplitThreshold; - result.push_back(Pair("split stake threshold set to ", nStakeSplitThreshold)); + result.push_back(Pair("split stake threshold set to ", int(pwalletMain->nStakeSplitThreshold))); return result; } } From f665ef225ca22c5a96bf26e09de110048dfb590c Mon Sep 17 00:00:00 2001 From: moneromooo Date: Tue, 11 Nov 2014 08:38:55 +0000 Subject: [PATCH 181/555] rpcwallet: fix crash when calling setstakesplitthreshold without parameters --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index fe113a373..2a1837c02 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2077,7 +2077,7 @@ Value makekeypair(const Array& params, bool fHelp) // presstab HyperStake Value setstakesplitthreshold(const Array& params, bool fHelp) { - if (fHelp || params.size() > 1) + if (fHelp || params.size() != 1) throw runtime_error( "setstakesplitthreshold <1 - 999,999>\n" "This will set the output size of your stakes to never be below this number\n"); From 2af5e78822365aeb2389dffa338b5e528b8526bf Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 11 Nov 2014 13:07:51 -0700 Subject: [PATCH 182/555] check splitBlockCheckBox state each send --- src/qt/sendcoinsdialog.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index a186ac22b..9caa60371 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -148,10 +148,14 @@ void SendCoinsDialog::on_sendButton_clicked() { return; } - - //set split block + WalletModel::SendCoinsReturn sendstatus; + //set split block int nSplitBlock = 1; + if (ui->splitBlockCheckBox->checkState() == Qt::Checked) + fSplitBlock = true; + else + fSplitBlock = false; if (ui->entries->count() > 1) fSplitBlock = false; if (fSplitBlock) From 6037fde980a0d4fd881b725322159c20ab40dcb9 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 11 Nov 2014 13:22:33 -0700 Subject: [PATCH 183/555] add privkeydump security warnings --- src/rpcdump.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 8aa8352e8..04a85bf98 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -76,7 +76,8 @@ Value dumpprivkey(const Array& params, bool fHelp) if (fHelp || params.size() != 1) throw runtime_error( "dumpprivkey \n" - "Reveals the private key corresponding to ."); + "Reveals the private key corresponding to .\n" + "WARNING: SHARING YOUR PRIVATE KEY WILL COMPROMISE YOUR ACCOUNT SECURITY"); string strAddress = params[0].get_str(); CBitcoinAddress address; @@ -90,6 +91,9 @@ Value dumpprivkey(const Array& params, bool fHelp) CSecret vchSecret; bool fCompressed; if (!pwalletMain->GetSecret(keyID, vchSecret, fCompressed)) - throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known"); - return CBitcoinSecret(vchSecret, fCompressed).ToString(); + throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known. Make sure wallet is unlocked and that the address is yours"); + Object result; + result.push_back(Pair("Private Key: ", CBitcoinSecret(vchSecret, fCompressed).ToString())); + result.push_back(Pair("WARNING:", "SHARING YOUR PRIVATE KEY WILL COMPROMISE YOUR ACCOUNT SECURITY")); + return result; } From 92401ff3b500af2f61ece258e11f4c2dfd059c18 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 13 Nov 2014 09:06:58 -0700 Subject: [PATCH 184/555] Revert "Update checkpoints" This reverts commit 7ab1b67c484f761be436709419be1265ca6b7d34. --- src/checkpoints.cpp | 2 +- src/kernel.cpp | 3 --- src/main.h | 4 ++-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 0813a0ced..d41961369 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -28,7 +28,7 @@ namespace Checkpoints (10, uint256("0x0000074074af28e73189ae5767b706246be2e0827c46d97a61178394aec877cf")) (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky - (139999, uint256("0x15f9cc4fc01db7314e1f8af4a14709ad5a5dda69b3e4256fd1aebfcc87b678e6")) + (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) ; static MapCheckpoints mapCheckpointsTestnet = diff --git a/src/kernel.cpp b/src/kernel.cpp index 3d85a9f0b..a78b826c6 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -32,9 +32,6 @@ bool IsProtocolModifierIntervalChange(unsigned int nBlockHeight) static std::map mapStakeModifierCheckpoints = boost::assign::map_list_of ( 0, 0xfd11f4e7u ) - ( 75000, 0xe94255d8 ) - ( 140000, 0x8dce2981 ) - ; // Get time weight int64 GetWeight(int64 nIntervalBeginning, int64 nIntervalEnd) diff --git a/src/main.h b/src/main.h index 8514e050f..158d5fe3f 100644 --- a/src/main.h +++ b/src/main.h @@ -57,8 +57,8 @@ static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23 static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); // HighBlock is used to speed up blockchain download. It is being sent by server instead of last PoW block. -static const uint256 hashHighBlock ("0xed25c8d68258873877ceb6ce2e0aec398fbd6e05401128557fb309776c5afa71"); -static const int HIGH_BLOCK_INDEX = 140000; +static const uint256 hashHighBlock ("0xe1415d0a36f6dea67bc892a3c8b8c72d933b2126f1a6d476abbd1f4ea0cee5d7"); +static const int HIGH_BLOCK_INDEX = 120000; static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() From 2f8e1971845f772538e41e5ebcb2ef7e18b88fb1 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 13 Nov 2014 09:18:13 -0700 Subject: [PATCH 185/555] v1.0.7.2 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 8ea073be4..ea65f3131 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.1" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.2" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 2c7ae07f2..f8793dfd0 100644 --- a/src/version.h +++ b/src/version.h @@ -47,6 +47,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 7 -#define DISPLAY_VERSION_BUILD 1 +#define DISPLAY_VERSION_BUILD 2 #endif From 4349d45f3e3eaedd31d47e4164ddf16c84f9b2cb Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 14 Nov 2014 11:41:59 -0700 Subject: [PATCH 186/555] stake prediction accuracy, and use display weight Prediction of stake time gets complicated. Technically stake weight begins to grow positive at 8 hours, but because of the stake modifier it will not actually be eligible to stake until 8.8 days. For display purposes, this means weight should be 0 until 8.8 days. For stake prediction times, this also means weight should be 0 until 8.8 days, but after 8.8 it should be calculated using 8 hours as the point of time that weight began to grow. All stake time predictions are now synced. Since weight now accumulates since 8 hours (although not displayed), the need to add an extra day of weight to initial predictions is no longer needed and is removed. --- src/kernel.cpp | 6 +----- src/qt/bitcoingui.cpp | 15 +-------------- src/qt/coincontroldialog.cpp | 20 ++++++++++++++------ src/wallet.cpp | 3 ++- 4 files changed, 18 insertions(+), 26 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index a78b826c6..17c560c72 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -49,12 +49,8 @@ int64 GetWeight2(int64 nIntervalBeginning, int64 nIntervalEnd) // Kernel hash weight starts from 0 at the min age // this change increases active coins participating the hash and helps // to secure the network when proof-of-stake difficulty is low - int64 nStakeMinAgeV2 = 60 * 60 * 24 * 8.8; int64 nTimePassed = nIntervalEnd - nIntervalBeginning; - if (nTimePassed > nStakeMinAgeV2) - return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAge; - else - return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAgeV2; + return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAge; } // Get the last stake modifier and its generation time from a given block diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 7c859e68c..576009b9a 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1220,21 +1220,8 @@ void BitcoinGUI::updateMintingIcon() } else if (nLastCoinStakeSearchInterval) { - uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate + uint64 nAccuracyAdjustment = 1; // this is a manual adjustment param if needed to make more accurate uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; - uint64 nEstimateDays = nEstimateTime / (60 * 60 * 24); - - - if(nEstimateDays > 1) - { - nWeight = qMax(nAmount, nWeight); - if( nWeight == nAmount) - { - nEstimateTime = (nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment) + (60 * 60 * 24); //add the extra day of calc time - } - else - nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; - } uint64 nRangeLow = nEstimateTime; uint64 nRangeHigh = nEstimateTime * 1.5; diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 0561cb365..699607dbd 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -762,6 +762,7 @@ void CoinControlDialog::updateView() int nChildren = 0; int nInputSum = 0; uint64 nTxWeight = 0; + uint64 nDisplayWeight = 0; uint64 nTxWeightSum = 0; uint64 nPotentialStakeSum = 0; GetLastBlockIndex(pindexBest, false); @@ -770,12 +771,21 @@ void CoinControlDialog::updateView() BOOST_FOREACH(const COutput& out, coins.second) { - int nInputSize = 148; // 180 if uncompressed public key + + int64 nHeight = nBestHeight - out.nDepth; + CBlockIndex* pindex = FindBlockByHeight(nHeight); + + int nInputSize = 148; // 180 if uncompressed public key nSum += out.tx->vout[out.i].nValue; nChildren++; model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); - nTxWeightSum += nTxWeight; + if ((GetTime() - pindex->nTime) < (60*60*24*8.8)) + nDisplayWeight = 0; + else + nDisplayWeight = nTxWeight; + + nTxWeightSum += nDisplayWeight; QTreeWidgetItem *itemOutput; if (treeMode) itemOutput = new QTreeWidgetItem(itemWalletAddress); @@ -823,8 +833,6 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // padding so that sorting works correctly // date - int64 nHeight = nBestHeight - out.nDepth; - CBlockIndex* pindex = FindBlockByHeight(nHeight); int64 nTime = pindex->nTime; itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(nTime).toString("yy-MM-dd hh:mm")); @@ -845,7 +853,7 @@ void CoinControlDialog::updateView() nInputSum += nInputSize; // List Mode Weight - itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nTxWeight), 8, " ")); + itemOutput->setText(COLUMN_WEIGHT, strPad(QString::number(nDisplayWeight), 8, " ")); // Age uint64 nAge = (GetTime() - nTime); @@ -866,7 +874,7 @@ void CoinControlDialog::updateView() uint64 nMin = 1; nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; - uint64 nBlockWeight = qMax(nTxWeight, nBlockSize); + uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * 8.8)); // default to using weight at 9.8 days for calc double dAge = nAge; if (760320 - dAge >= 0 ) // 760320 seconds is 8.8 days nTimeToMaturity = (760320 - nAge); diff --git a/src/wallet.cpp b/src/wallet.cpp index 96dd76c06..a5a1e9a4b 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1568,7 +1568,8 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin //CBigNum bnAmount = CBigNum(pcoin.first->vout[pcoin.second].nValue) / COIN / 1000; CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); - + if ((nStakeAge - nCurrentAge) < (60*60*24*8.8)) // if the age is less than 8.8 days, report weight as 0 because the stake modifier won't allow for stake yet + bnCoinDayWeight = 0; // Weight is greater than zero if (nTimeWeight > 0) From c0dde07ab21666916708cc78f13757eb6add28cd Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 15 Nov 2014 12:06:24 +0000 Subject: [PATCH 187/555] Remove some pow related things PoW difficulty is meaningless, and confusing --- src/bitcoinrpc.cpp | 2 -- src/rpcmining.cpp | 80 +--------------------------------------------- 2 files changed, 1 insertion(+), 81 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index f5620a3e0..ce816cae0 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -208,8 +208,6 @@ static const CRPCCommand vRPCCommands[] = { "getpeerinfo", &getpeerinfo, true, false }, { "getdifficulty", &getdifficulty, true, false }, { "getgenerate", &getgenerate, true, false }, - { "setgenerate", &setgenerate, true, false }, - { "gethashespersec", &gethashespersec, true, false }, { "getinfo", &getinfo, true, false }, { "addnode", &addnode, true, true }, { "getaddednodeinfo", &getaddednodeinfo, true, true }, diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index 05b406a77..c5e26124c 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -22,45 +22,6 @@ Value getgenerate(const Array& params, bool fHelp) } -Value setgenerate(const Array& params, bool fHelp) -{ - if (fHelp || params.size() < 1 || params.size() > 2) - throw runtime_error( - "setgenerate [genproclimit]\n" - " is true or false to turn generation on or off.\n" - "Generation is limited to [genproclimit] processors, -1 is unlimited."); - - bool fGenerate = true; - if (params.size() > 0) - fGenerate = params[0].get_bool(); - - if (params.size() > 1) - { - int nGenProcLimit = params[1].get_int(); - mapArgs["-genproclimit"] = itostr(nGenProcLimit); - if (nGenProcLimit == 0) - fGenerate = false; - } - mapArgs["-gen"] = (fGenerate ? "1" : "0"); - - GenerateBitcoins(fGenerate, pwalletMain); - return Value::null; -} - - -Value gethashespersec(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 0) - throw runtime_error( - "gethashespersec\n" - "Returns a recent hashes per second performance measurement while generating."); - - if (GetTimeMillis() - nHPSTimerStart > 8000) - return (boost::int64_t)0; - return (boost::int64_t)dHashesPerSec; -} - - Value getmininginfo(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) @@ -72,52 +33,13 @@ Value getmininginfo(const Array& params, bool fHelp) obj.push_back(Pair("blocks", (int)nBestHeight)); obj.push_back(Pair("currentblocksize",(uint64_t)nLastBlockSize)); obj.push_back(Pair("currentblocktx",(uint64_t)nLastBlockTx)); - obj.push_back(Pair("PoW difficulty", (double)GetDifficulty())); - obj.push_back(Pair("PoS difficulty", GetDifficulty(GetLastBlockIndex(pindexBest, true)))); + obj.push_back(Pair("PoS difficulty", GetDifficulty(GetLastBlockIndex(pindexBest, true)))); obj.push_back(Pair("errors", GetWarnings("statusbar"))); - obj.push_back(Pair("generate", GetBoolArg("-gen"))); - obj.push_back(Pair("genproclimit", (int)GetArg("-genproclimit", -1))); - obj.push_back(Pair("hashespersec", gethashespersec(params, false))); - obj.push_back(Pair("networkhashps", getnetworkhashps(params, false))); obj.push_back(Pair("pooledtx", (uint64_t)mempool.size())); obj.push_back(Pair("testnet", fTestNet)); return obj; } -// Litecoin: Return average network hashes per second based on last number of blocks. -Value GetNetworkHashPS(int lookup) { - if (pindexBest == NULL) - return 0; - - // If lookup is -1, then use blocks since last difficulty change. - if (lookup <= 0) - lookup = pindexBest->nHeight % 2016 + 1; - - // If lookup is larger than chain, then set it to chain length. - if (lookup > pindexBest->nHeight) - lookup = pindexBest->nHeight; - - CBlockIndex* pindexPrev = pindexBest; - for (int i = 0; i < lookup; i++) - pindexPrev = pindexPrev->pprev; - - double timeDiff = pindexBest->GetBlockTime() - pindexPrev->GetBlockTime(); - double timePerBlock = timeDiff / lookup; - - return (boost::int64_t)(((double)GetDifficulty() * pow(2.0, 32)) / timePerBlock); -} - -Value getnetworkhashps(const Array& params, bool fHelp) -{ - if (fHelp || params.size() > 1) - throw runtime_error( - "getnetworkhashps [blocks]\n" - "Returns the estimated network hashes per second based on the last 120 blocks.\n" - "Pass in [blocks] to override # of blocks, -1 specifies since last difficulty change."); - - return GetNetworkHashPS(params.size() > 0 ? params[0].get_int() : 120); -} - Value getworkex(const Array& params, bool fHelp) { From 03987fe4ed972cbf743b7d437e5d02fd6be67425 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 16 Nov 2014 13:37:59 -0700 Subject: [PATCH 188/555] mitigate TRK connections --- src/irc.cpp | 10 +++++----- src/main.cpp | 2 +- src/version.h | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/irc.cpp b/src/irc.cpp index 916ee32f4..bef99333c 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -302,16 +302,16 @@ void ThreadIRCSeed2(void* parg) } if (fTestNet) { - Send(hSocket, "JOIN #TruckcoinTEST2\r"); - Send(hSocket, "WHO #TruckcoinTEST2\r"); + Send(hSocket, "JOIN #HyperStakeTEST2\r"); + Send(hSocket, "WHO #HyperStakeTEST2\r"); } else { - // randomly join #Truckcoin00-#Truckcoin05 + // randomly join #HyperStake00-#HyperStake05 // int channel_number = GetRandInt(5); // Channel number is always 0 for initial release int channel_number = 0; - Send(hSocket, strprintf("JOIN #Truckcoin%02d\r", channel_number).c_str()); - Send(hSocket, strprintf("WHO #Truckcoin%02d\r", channel_number).c_str()); + Send(hSocket, strprintf("JOIN #HyperStake%02d\r", channel_number).c_str()); + Send(hSocket, strprintf("WHO #HyperStake%02d\r", channel_number).c_str()); } int64 nStart = GetTime(); diff --git a/src/main.cpp b/src/main.cpp index b51db90c3..3a15ca985 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2934,7 +2934,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) CAddress addrFrom; uint64 nNonce = 1; vRecv >> pfrom->nVersion >> pfrom->nServices >> nTime >> addrMe; - if (pfrom->nVersion < MIN_PROTO_VERSION) + if (pfrom->nVersion < PROTOCOL_START) { // Since February 20, 2012, the protocol is initiated at version 209, // and earlier versions are no longer supported diff --git a/src/version.h b/src/version.h index f8793dfd0..59ad92ccd 100644 --- a/src/version.h +++ b/src/version.h @@ -26,6 +26,7 @@ extern const std::string CLIENT_DATE; // static const int PROTOCOL_VERSION = 72000; +static const int PROTOCOL_START = 71990; // earlier versions not supported as of Feb 2012, and are disconnected static const int MIN_PROTO_VERSION = 209; @@ -35,7 +36,7 @@ static const int MIN_PROTO_VERSION = 209; static const int CADDR_TIME_VERSION = 31402; // only request blocks from nodes outside this range of versions -static const int NOBLKS_VERSION_START = 60002; +static const int NOBLKS_VERSION_START = 71990; static const int NOBLKS_VERSION_END = 71999; // BIP 0031, pong message, is enabled for all versions AFTER this one From 6bfe1dde2992801ee82204690218c82ad816b70d Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 18 Nov 2014 13:55:40 -0700 Subject: [PATCH 189/555] block splitter bool in wallet.cpp --- src/qt/sendcoinsdialog.cpp | 17 ++++++++--------- src/qt/walletmodel.cpp | 8 ++++---- src/qt/walletmodel.h | 4 ++-- src/wallet.cpp | 7 +++++++ src/wallet.h | 3 +++ 5 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 9caa60371..7aa58994b 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -82,7 +82,6 @@ SendCoinsDialog::SendCoinsDialog(QWidget *parent) : ui->labelCoinControlChange->addAction(clipboardChangeAction); fNewRecipientAllowed = true; - fSplitBlock = false; } void SendCoinsDialog::setModel(WalletModel *model) @@ -130,7 +129,7 @@ void SendCoinsDialog::on_sendButton_clicked() SendCoinsEntry *entry = qobject_cast(ui->entries->itemAt(i)->widget()); CBitcoinAddress address = entry->getValue().address.toStdString(); if(!model->isMine(address)) - fSplitBlock = false; //dont allow the blocks to split if sending to an outside address + model->setSplitBlock(false); //dont allow the blocks to split if sending to an outside address if(entry) { if(entry->validate()) @@ -153,19 +152,19 @@ void SendCoinsDialog::on_sendButton_clicked() //set split block int nSplitBlock = 1; if (ui->splitBlockCheckBox->checkState() == Qt::Checked) - fSplitBlock = true; + model->setSplitBlock(true); else - fSplitBlock = false; + model->setSplitBlock(false); if (ui->entries->count() > 1) - fSplitBlock = false; - if (fSplitBlock) + model->setSplitBlock(false); + if (model->getSplitBlock()) nSplitBlock = int(ui->splitBlockLineEdit->text().toDouble()); // Format confirmation message QStringList formatted; foreach(const SendCoinsRecipient &rcp, recipients) { - if(!fSplitBlock) + if(!model->getSplitBlock()) { #if QT_VERSION < 0x050000 formatted.append(tr("%1 to %2 (%3)").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address)); @@ -498,14 +497,14 @@ void SendCoinsDialog::coinControlSplitBlockChecked(int state) { if (state == Qt::Checked) { - fSplitBlock = true; + model->setSplitBlock(true); ui->splitBlockLineEdit->setEnabled(true); ui->labelBlockSizeText->setEnabled(true); ui->labelBlockSize->setEnabled(true); } else { - fSplitBlock = false; + model->setSplitBlock(false); ui->splitBlockLineEdit->setEnabled(false); ui->labelBlockSizeText->setEnabled(false); ui->labelBlockSize->setEnabled(false); diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index d1547a1ab..677c65ea9 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -406,14 +406,14 @@ QString WalletModel::getBestAddress() return QString::fromStdString(wallet->strBestAddress); } -void WalletModel::setCombine(bool fCombine) +void WalletModel::setSplitBlock(bool fSplitBlock) { - wallet->fCombine = fCombine; + wallet->fSplitBlock = fSplitBlock; } -bool WalletModel::getCombine() +bool WalletModel::getSplitBlock() { - return wallet->fCombine; + return wallet->fSplitBlock; } diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index f18091d5e..e12948e8e 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -105,8 +105,8 @@ class WalletModel : public QObject qint64 getAmountSelected(); void setBestAddress(std::string strAddress); QString getBestAddress(); - void setCombine(bool fCombine); - bool getCombine(); + void setSplitBlock(bool fSplitBlock); + bool getSplitBlock(); //Wallet Information about StakeForCharity int getStakeForCharityPercent(); QString getStakeForCharityAddress(); diff --git a/src/wallet.cpp b/src/wallet.cpp index a5a1e9a4b..467a3d168 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1304,6 +1304,13 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW if( nSplitBlock < 1 ) nSplitBlock = 1; // vouts to the payees + + if (!fSplitBlock) + { + BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) + wtxNew.vout.push_back(CTxOut(s.second, s.first)); + } + else BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) { uint64 nBlockAmount = 0; diff --git a/src/wallet.h b/src/wallet.h index cc31876ff..1d21245c3 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -96,6 +96,7 @@ class CWallet : public CCryptoKeyStore std::string strBestAddress; bool fCombine; uint64 nStakeSplitThreshold; + bool fSplitBlock; std::set setKeyPool; @@ -124,6 +125,7 @@ class CWallet : public CCryptoKeyStore strBestAddress = ""; fCombine = false; nStakeSplitThreshold = 1000; + fSplitBlock = false; } CWallet(std::string strWalletFileIn) { @@ -146,6 +148,7 @@ class CWallet : public CCryptoKeyStore strBestAddress = ""; fCombine = false; nStakeSplitThreshold = 1000; + fSplitBlock = false; } std::map mapWallet; From 76fca01e83bd72e19ae6c84115cb327c0814c5a8 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 18 Nov 2014 16:07:39 -0700 Subject: [PATCH 190/555] repair bad tx's in repairwallet add code to fixspentcoins to check for coins that are not final and not confirmed, and allow them to be deleted by repairwallet. This commit also changes IsConfirmed() to not automatically assume that if it is in our db then it is confirmed. --- src/wallet.cpp | 15 +++++++++++++++ src/wallet.h | 36 ++++-------------------------------- 2 files changed, 19 insertions(+), 32 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 467a3d168..f22f01702 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2327,6 +2327,21 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& BOOST_FOREACH(CWalletTx* pcoin, vCoins) { uint256 hash = pcoin->GetHash(); + + // presstab HyperStake + // This finds and deletes transactions that were never accepted by the network + // needs to be located above the readtxindex code or else it will not be triggered + if(!pcoin->IsFinal() || !pcoin->IsConfirmed()) + { + nOrphansFound++; + if (!fCheckOnly) + { + EraseFromWallet(hash); + NotifyTransactionChanged(this, hash, CT_DELETED); + } + printf("FixSpentCoins %s orphaned transaction %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); + } + // Find the corresponding transaction index CTxIndex txindex; if (!txdb.ReadTxIndex(hash, txindex) && !(pcoin->IsCoinBase() || pcoin->IsCoinStake())) diff --git a/src/wallet.h b/src/wallet.h index 1d21245c3..7417a1749 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -681,38 +681,10 @@ class CWalletTx : public CMerkleTx return true; if (!IsFromMe()) // using wtx's cached debit return false; - - // If no confirmations but it's from us, we can still - // consider it confirmed if all dependencies are confirmed - std::map mapPrev; - std::vector vWorkQueue; - vWorkQueue.reserve(vtxPrev.size()+1); - vWorkQueue.push_back(this); - for (unsigned int i = 0; i < vWorkQueue.size(); i++) - { - const CMerkleTx* ptx = vWorkQueue[i]; - - if (!ptx->IsFinal()) - return false; - if (ptx->GetDepthInMainChain() >= 1) - continue; - if (!pwallet->IsFromMe(*ptx)) - return false; - - if (mapPrev.empty()) - { - BOOST_FOREACH(const CMerkleTx& tx, vtxPrev) - mapPrev[tx.GetHash()] = &tx; - } - - BOOST_FOREACH(const CTxIn& txin, ptx->vin) - { - if (!mapPrev.count(txin.prevout.hash)) - return false; - vWorkQueue.push_back(mapPrev[txin.prevout.hash]); - } - } - return true; + + //presstab HyperStake, removed code that checks walletdb for confirmation, we want blockchain info only + + return false; } bool WriteToDisk(); From 1a20362632412b26ab5a598ae2b04e3c39005bef Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 18 Nov 2014 18:31:40 -0700 Subject: [PATCH 191/555] rescanfromblock RPC call will rescan for missed transactions after a certain block height --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index ce816cae0..325c56b36 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -220,6 +220,7 @@ static const CRPCCommand vRPCCommands[] = { "getaddressesbyaccount", &getaddressesbyaccount, true, false }, { "sendtoaddress", &sendtoaddress, false, false }, { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, + { "rescanfromblock", &rescanfromblock, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, { "listreceivedbyaddress", &listreceivedbyaddress, false, false }, @@ -1200,6 +1201,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 3) ConvertTo(params[3]); if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); + if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 8adb87c3d..a238f015c 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -195,6 +195,7 @@ extern json_spirit::Value getnewpubkey(const json_spirit::Array& params, bool fH extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2a1837c02..c28cacea9 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2094,3 +2094,19 @@ Value setstakesplitthreshold(const Array& params, bool fHelp) return result; } } + +Value rescanfromblock(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "rescanfromblock \n" + "This will rescan for transactions after a specified block\n"); + int nHeight = params[0].get_int(); + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); + if (nHeight > int(nBestHeight) || nHeight < 0) + return "out of range"; + + pwalletMain->ScanForWalletTransactions(FindBlockByHeight(nHeight), true); + return "done"; +} From 47c5c8715296872b91986ab7d100adbc37850a22 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 18 Nov 2014 19:14:47 -0700 Subject: [PATCH 192/555] add 10 minute grace period to repairwallet without the grace period transactions that are waiting to be confirmed will be flagged --- src/wallet.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index f22f01702..2eaa3c2e3 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2331,7 +2331,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& // presstab HyperStake // This finds and deletes transactions that were never accepted by the network // needs to be located above the readtxindex code or else it will not be triggered - if(!pcoin->IsFinal() || !pcoin->IsConfirmed()) + if(!pcoin->IsConfirmed() && (GetTime() - pcoin->GetTxTime()) > (60*10)) //give the tx 10 minutes before considering it failed { nOrphansFound++; if (!fCheckOnly) @@ -2339,7 +2339,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& EraseFromWallet(hash); NotifyTransactionChanged(this, hash, CT_DELETED); } - printf("FixSpentCoins %s orphaned transaction %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); + printf("FixSpentCoins %s rejected transaction %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); } // Find the corresponding transaction index @@ -2350,7 +2350,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& for (unsigned int n=0; n < pcoin->vout.size(); n++) { bool fUpdated = false; - if (IsMine(pcoin->vout[n]) && pcoin->IsSpent(n) && (txindex.vSpent.size() <= n || txindex.vSpent[n].IsNull())) + if (IsMine(pcoin->vout[n]) && pcoin->IsSpent(n) && (txindex.vSpent.size() <= n || txindex.vSpent[n].IsNull()) && (GetTime() - pcoin->GetTxTime()) > (60*10)) { printf("FixSpentCoins found lost coin %shyp %s[%d], %s\n", FormatMoney(pcoin->vout[n].nValue).c_str(), hash.ToString().c_str(), n, fCheckOnly? "repair not attempted" : "repairing"); @@ -2363,7 +2363,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& pcoin->WriteToDisk(); } } - else if (IsMine(pcoin->vout[n]) && !pcoin->IsSpent(n) && (txindex.vSpent.size() > n && !txindex.vSpent[n].IsNull())) + else if (IsMine(pcoin->vout[n]) && !pcoin->IsSpent(n) && (txindex.vSpent.size() > n && !txindex.vSpent[n].IsNull()) && (GetTime() - pcoin->GetTxTime()) > (60*10)) { printf("FixSpentCoins found spent coin %shyp %s[%d], %s\n", FormatMoney(pcoin->vout[n].nValue).c_str(), hash.ToString().c_str(), n, fCheckOnly? "repair not attempted" : "repairing"); From 4cd5f2ae6f496038627f7e342961136080990dfc Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 18 Nov 2014 19:38:58 -0700 Subject: [PATCH 193/555] add error messages if blocksplitter doesnt meet req --- src/qt/sendcoinsdialog.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 7aa58994b..0fdcb081f 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -129,7 +129,14 @@ void SendCoinsDialog::on_sendButton_clicked() SendCoinsEntry *entry = qobject_cast(ui->entries->itemAt(i)->widget()); CBitcoinAddress address = entry->getValue().address.toStdString(); if(!model->isMine(address)) + { model->setSplitBlock(false); //dont allow the blocks to split if sending to an outside address + ui->splitBlockCheckBox->setCheckState(Qt::Unchecked); + QMessageBox::warning(this, tr("Send Coins"), + tr("The split block tool does not work when sending to outside addresses. Try again."), + QMessageBox::Ok, QMessageBox::Ok); + return; + } if(entry) { if(entry->validate()) @@ -156,7 +163,14 @@ void SendCoinsDialog::on_sendButton_clicked() else model->setSplitBlock(false); if (ui->entries->count() > 1) + { model->setSplitBlock(false); + ui->splitBlockCheckBox->setCheckState(Qt::Unchecked); + QMessageBox::warning(this, tr("Send Coins"), + tr("The split block tool does not work with multiple addresses. Try again."), + QMessageBox::Ok, QMessageBox::Ok); + return; + } if (model->getSplitBlock()) nSplitBlock = int(ui->splitBlockLineEdit->text().toDouble()); From 0c17304142dbfb77400075d75ef9699ca8d3a149 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 18 Nov 2014 21:05:35 -0700 Subject: [PATCH 194/555] stakesplitthreshold is written to wallet.dat --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 29 ++++++++++++++++++++++++++++- src/walletdb.cpp | 6 +++++- src/walletdb.h | 6 ++++++ 5 files changed, 41 insertions(+), 2 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 325c56b36..ad974b316 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -220,6 +220,7 @@ static const CRPCCommand vRPCCommands[] = { "getaddressesbyaccount", &getaddressesbyaccount, true, false }, { "sendtoaddress", &sendtoaddress, false, false }, { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, + { "getstakesplitthreshold", &getstakesplitthreshold, false, false }, { "rescanfromblock", &rescanfromblock, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index a238f015c..d949d10b6 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -195,6 +195,7 @@ extern json_spirit::Value getnewpubkey(const json_spirit::Array& params, bool fH extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c28cacea9..51856e89f 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2086,15 +2086,42 @@ Value setstakesplitthreshold(const Array& params, bool fHelp) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); if (nStakeSplitThreshold > 999999) return "out of range - setting split threshold failed"; - else + + CWalletDB walletdb(pwalletMain->strWalletFile); + LOCK(pwalletMain->cs_wallet); { + bool fFileBacked = pwalletMain->fFileBacked; + Object result; pwalletMain->nStakeSplitThreshold = nStakeSplitThreshold; result.push_back(Pair("split stake threshold set to ", int(pwalletMain->nStakeSplitThreshold))); + if(fFileBacked) + { + walletdb.WriteStakeSplitThreshold(nStakeSplitThreshold); + result.push_back(Pair("saved to wallet.dat ", "true")); + } + else + result.push_back(Pair("saved to wallet.dat ", "false")); + return result; } } +// presstab HyperStake +Value getstakesplitthreshold(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "setstakesplitthreshold\n" + "Returns the set splitstakethreshold\n"); + + Object result; + result.push_back(Pair("split stake threshold set to ", int(pwalletMain->nStakeSplitThreshold))); + return result; + +} + +// presstab HyperStake Value rescanfromblock(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) diff --git a/src/walletdb.cpp b/src/walletdb.cpp index b923ce276..d7112c32e 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -372,6 +372,10 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nOrderPosNext; } + else if (strType == "stakeSplitThreshold") //presstab HyperStake + { + ssValue >> pwallet->nStakeSplitThreshold; + } else if (strType == "ats") // falsely names as autosavings, but for compat with older wallets keep using { string strS4CAccount; @@ -398,7 +402,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssValue >> pwallet->nStakeForCharityMax; } } - + } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 274eef8e1..115c02082 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -97,6 +97,12 @@ class CWalletDB : public CDB nWalletDBUpdated++; return Write(std::string("orderposnext"), nOrderPosNext); } + // presstab HyperStake + bool WriteStakeSplitThreshold(uint64 nStakeSplitThreshold) + { + nWalletDBUpdated++; + return Write(std::string("stakeSplitThreshold"), nStakeSplitThreshold); + } bool WriteDefaultKey(const CPubKey& vchPubKey) { From c96420970c3a47c1f289a9b1951d583044cbd3cf Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 19 Nov 2014 09:19:55 -0700 Subject: [PATCH 195/555] error msg only when splitbox is checked --- src/qt/sendcoinsdialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 0fdcb081f..b115111c5 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -128,7 +128,7 @@ void SendCoinsDialog::on_sendButton_clicked() { SendCoinsEntry *entry = qobject_cast(ui->entries->itemAt(i)->widget()); CBitcoinAddress address = entry->getValue().address.toStdString(); - if(!model->isMine(address)) + if(!model->isMine(address) && ui->splitBlockCheckBox->checkState() == Qt::Checked) { model->setSplitBlock(false); //dont allow the blocks to split if sending to an outside address ui->splitBlockCheckBox->setCheckState(Qt::Unchecked); @@ -162,7 +162,7 @@ void SendCoinsDialog::on_sendButton_clicked() model->setSplitBlock(true); else model->setSplitBlock(false); - if (ui->entries->count() > 1) + if (ui->entries->count() > 1 && ui->splitBlockCheckBox->checkState() == Qt::Checked) { model->setSplitBlock(false); ui->splitBlockCheckBox->setCheckState(Qt::Unchecked); From 59bcdc49150ae577d367303a6b7d2745cd2217c8 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 19 Nov 2014 10:12:28 -0700 Subject: [PATCH 196/555] don't allow returnchange and customchange at same time --- src/qt/sendcoinsdialog.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index b115111c5..73234eec9 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -494,7 +494,16 @@ void SendCoinsDialog::updateDisplayUnit() // presstab HyperStake void SendCoinsDialog::coinControlReturnChangeChecked(int state) { - if (model) + if(state == Qt::Checked && ui->checkBoxCoinControlChange->checkState() == Qt::Checked) + { + ui->returnChangeCheckBox->setCheckState(Qt::Unchecked); + QMessageBox::warning(this, tr("Send Coins"), + tr("Cannot use custom change address and return change at the same time. Try again."), + QMessageBox::Ok, QMessageBox::Ok); + return; + } + + if (model) { if (state == Qt::Checked) CoinControlDialog::coinControl->fReturnChange = true; @@ -539,7 +548,16 @@ void SendCoinsDialog::splitBlockLineEditChanged(const QString & text) // Coin Control: checkbox custom change address void SendCoinsDialog::coinControlChangeChecked(int state) { - if (model) + if(state == Qt::Checked && ui->returnChangeCheckBox->checkState() == Qt::Checked) + { + ui->checkBoxCoinControlChange->setCheckState(Qt::Unchecked); + QMessageBox::warning(this, tr("Send Coins"), + tr("Cannot use custom change address and return change at the same time. Try again."), + QMessageBox::Ok, QMessageBox::Ok); + return; + } + + if (model) { if (state == Qt::Checked) CoinControlDialog::coinControl->destChange = CBitcoinAddress(ui->lineEditCoinControlChange->text().toStdString()).Get(); From 67b8fbe1f3203452ab44032f02a627389ab7ee74 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 22 Nov 2014 12:59:28 -0700 Subject: [PATCH 197/555] listcoins RPC --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index ad974b316..fb11a4a26 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -221,6 +221,7 @@ static const CRPCCommand vRPCCommands[] = { "sendtoaddress", &sendtoaddress, false, false }, { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, { "getstakesplitthreshold", &getstakesplitthreshold, false, false }, + { "listcoins", &listcoins, false, false }, { "rescanfromblock", &rescanfromblock, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index d949d10b6..2b40d37d7 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -197,6 +197,7 @@ extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value listcoins(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 51856e89f..21c9ead06 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2137,3 +2137,33 @@ Value rescanfromblock(const Array& params, bool fHelp) pwalletMain->ScanForWalletTransactions(FindBlockByHeight(nHeight), true); return "done"; } + +// presstab HyperStake +Value listcoins(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "list your coins in a manner similar to coin control GUI\n"); + + Object result; + + std::vector vCoins; + pwalletMain->AvailableCoins(vCoins); + int count = 0; + + BOOST_FOREACH(const COutput& out, vCoins) + { + int64 nHeight = nBestHeight - out.nDepth; + CBlockIndex* pindex = FindBlockByHeight(nHeight); + + result.push_back(Pair("ID # ", count)); + result.push_back(Pair("Value ", double(out.tx->vout[out.i].nValue) / double(COIN))); + result.push_back(Pair("Confirmations ", int(out.nDepth))); + result.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); + CTxDestination outputAddress; + ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress); + result.push_back(Pair("Address", CBitcoinAddress(outputAddress).ToString())); + count++; + } + return result; +} \ No newline at end of file From 005e86c04008c187cbf81842c0f36e9514c00ac8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 22 Nov 2014 14:46:08 -0700 Subject: [PATCH 198/555] update listcoins --- src/rpcwallet.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 21c9ead06..2e59bd230 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2143,27 +2143,28 @@ Value listcoins(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) throw runtime_error( - "list your coins in a manner similar to coin control GUI\n"); + "listcoins\n" + "list your coins in a manner similar to coin control GUI\n"); - Object result; + Array result; std::vector vCoins; pwalletMain->AvailableCoins(vCoins); - int count = 0; BOOST_FOREACH(const COutput& out, vCoins) { + Object coutput; int64 nHeight = nBestHeight - out.nDepth; CBlockIndex* pindex = FindBlockByHeight(nHeight); - result.push_back(Pair("ID # ", count)); - result.push_back(Pair("Value ", double(out.tx->vout[out.i].nValue) / double(COIN))); - result.push_back(Pair("Confirmations ", int(out.nDepth))); - result.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); + coutput.push_back(Pair("Output Hash ", out.tx->GetHash().ToString())); + coutput.push_back(Pair("Value ", double(out.tx->vout[out.i].nValue) / double(COIN))); + coutput.push_back(Pair("Confirmations ", int(out.nDepth))); + coutput.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); CTxDestination outputAddress; ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress); - result.push_back(Pair("Address", CBitcoinAddress(outputAddress).ToString())); - count++; + coutput.push_back(Pair("Address", CBitcoinAddress(outputAddress).ToString())); + result.push_back(coutput); } return result; } \ No newline at end of file From 40ad73c89ba5437edf571d1512f6cb8858c47bf6 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 22 Nov 2014 15:11:14 -0700 Subject: [PATCH 199/555] remove extra spaces --- src/rpcwallet.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2e59bd230..2006d24cf 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2157,9 +2157,9 @@ Value listcoins(const Array& params, bool fHelp) int64 nHeight = nBestHeight - out.nDepth; CBlockIndex* pindex = FindBlockByHeight(nHeight); - coutput.push_back(Pair("Output Hash ", out.tx->GetHash().ToString())); - coutput.push_back(Pair("Value ", double(out.tx->vout[out.i].nValue) / double(COIN))); - coutput.push_back(Pair("Confirmations ", int(out.nDepth))); + coutput.push_back(Pair("Output Hash", out.tx->GetHash().ToString())); + coutput.push_back(Pair("Value", double(out.tx->vout[out.i].nValue) / double(COIN))); + coutput.push_back(Pair("Confirmations", int(out.nDepth))); coutput.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); CTxDestination outputAddress; ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress); From 0e08589ceee0e53cc9a08fd341d0ce8611016a2b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 22 Nov 2014 15:40:38 -0700 Subject: [PATCH 200/555] wider range for noblocks --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 59ad92ccd..548f1c37b 100644 --- a/src/version.h +++ b/src/version.h @@ -36,7 +36,7 @@ static const int MIN_PROTO_VERSION = 209; static const int CADDR_TIME_VERSION = 31402; // only request blocks from nodes outside this range of versions -static const int NOBLKS_VERSION_START = 71990; +static const int NOBLKS_VERSION_START = 70000; static const int NOBLKS_VERSION_END = 71999; // BIP 0031, pong message, is enabled for all versions AFTER this one From 448528e40d0e3e0a9e7b8aa6de7c8f797458e95b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 22 Nov 2014 15:41:39 -0700 Subject: [PATCH 201/555] version 1.0.7.3 --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index ea65f3131..d58ba7099 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.2" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.3" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 548f1c37b..e170c0887 100644 --- a/src/version.h +++ b/src/version.h @@ -48,6 +48,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 7 -#define DISPLAY_VERSION_BUILD 2 +#define DISPLAY_VERSION_BUILD 3 #endif From e636d84aa0cce942949bcf4881f2dbaf7263d010 Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Sun, 23 Nov 2014 00:22:25 +0000 Subject: [PATCH 202/555] Update HyperStake-qt.pro Limit the SSE_SUPPORT check to 0 or 1 as the later test for the value only checks for 1 and not for non-zero. Tested and confirmed to work by iDunk --- HyperStake-qt.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 3de2ed2ed..af20d1fb8 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -12,7 +12,7 @@ macx { } unix:!macx { - SSE2_SUPPORT = $$system(grep -c sse2 /proc/cpuinfo) + SSE2_SUPPORT = $$system(grep -m1 -c sse2 /proc/cpuinfo) } !unix:!macx { From 570f918059b5ac2b6b0b0f60371e2cc174007a6c Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Sun, 23 Nov 2014 22:37:40 +0000 Subject: [PATCH 203/555] add blockIndex to the output of listcoins RPC command. --- src/rpcwallet.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2006d24cf..d6b1fb3ce 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2158,6 +2158,7 @@ Value listcoins(const Array& params, bool fHelp) CBlockIndex* pindex = FindBlockByHeight(nHeight); coutput.push_back(Pair("Output Hash", out.tx->GetHash().ToString())); + coutput.push_back(Pair("blockIndex", out.i)); coutput.push_back(Pair("Value", double(out.tx->vout[out.i].nValue) / double(COIN))); coutput.push_back(Pair("Confirmations", int(out.nDepth))); coutput.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); @@ -2167,4 +2168,4 @@ Value listcoins(const Array& params, bool fHelp) result.push_back(coutput); } return result; -} \ No newline at end of file +} From a7d847b821c726088fea2d07b42536bb122c51f4 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 23 Nov 2014 23:12:51 -0700 Subject: [PATCH 204/555] RPC cclistcoins, ccselect, cclistselected still more to add before coin control will be fully functional for the daemon. --- src/bitcoinrpc.cpp | 7 +++++-- src/bitcoinrpc.h | 4 +++- src/rpcwallet.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index fb11a4a26..998e48179 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -221,7 +221,6 @@ static const CRPCCommand vRPCCommands[] = { "sendtoaddress", &sendtoaddress, false, false }, { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, { "getstakesplitthreshold", &getstakesplitthreshold, false, false }, - { "listcoins", &listcoins, false, false }, { "rescanfromblock", &rescanfromblock, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, @@ -276,7 +275,10 @@ static const CRPCCommand vRPCCommands[] = { "resendtx", &resendtx, false, true}, { "makekeypair", &makekeypair, false, true}, { "sendalert", &sendalert, false, false}, - { "stakeforcharity", &stakeforcharity, false, false }, + { "stakeforcharity", &stakeforcharity, false, false }, + { "cclistcoins", &cclistcoins, false, false }, + { "ccselect", &ccselect, false, false }, + { "cclistselected", &cclistselected, false, false }, }; CRPCTable::CRPCTable() @@ -1204,6 +1206,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 4) ConvertTo(params[4]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); + if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 2b40d37d7..9ec8f8778 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -197,7 +197,9 @@ extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value listcoins(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value cclistcoins(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value ccselect(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value cclistselected(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d6b1fb3ce..8a4c13837 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -9,6 +9,7 @@ #include "init.h" #include "main.h" #include "base58.h" +#include "coincontrol.h" #include @@ -16,6 +17,7 @@ using namespace json_spirit; using namespace std; int64 nWalletUnlockTime; +CCoinControl* coinControl = new CCoinControl; static CCriticalSection cs_nWalletUnlockTime; extern void TxToJSON(const CTransaction& tx, const uint256 hashBlock, json_spirit::Object& entry); @@ -2139,12 +2141,12 @@ Value rescanfromblock(const Array& params, bool fHelp) } // presstab HyperStake -Value listcoins(const Array& params, bool fHelp) +Value cclistcoins(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) throw runtime_error( - "listcoins\n" - "list your coins in a manner similar to coin control GUI\n"); + "cclistcoins\n" + "CoinControl: list your spendable coins and their information\n"); Array result; @@ -2169,3 +2171,41 @@ Value listcoins(const Array& params, bool fHelp) } return result; } + + +// presstab HyperStake +Value ccselect(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "ccselect \n" + "CoinControl: select a coin"); + + uint256 hash; + hash.SetHex(params[0].get_str()); + unsigned int nIndex = params[1].get_int(); + COutPoint outpt(hash, nIndex); + coinControl->Select(outpt); + + return "Outpoint Selected"; +} + +// presstab HyperStake +Value cclistselected(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "cclistselected\n" + "CoinControl: list selected coins"); + + std::vector vOutpoints; + coinControl->ListSelected(vOutpoints); + + Object result; + BOOST_FOREACH(COutPoint& outpt, vOutpoints) + { + result.push_back(Pair("hash", outpt.hash.ToString())); + } + + return result; +} \ No newline at end of file From 37d9cdbbd67a0394196d282726a4df5d87bac7fd Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Mon, 24 Nov 2014 12:14:34 +0000 Subject: [PATCH 205/555] Make cclistselected return an array of hashes to avoid json key clashes --- src/rpcwallet.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8a4c13837..0a43e3122 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2201,11 +2201,11 @@ Value cclistselected(const Array& params, bool fHelp) std::vector vOutpoints; coinControl->ListSelected(vOutpoints); - Object result; + Array result; BOOST_FOREACH(COutPoint& outpt, vOutpoints) { - result.push_back(Pair("hash", outpt.hash.ToString())); + result.push_back(outpt.hash.ToString()); } return result; -} \ No newline at end of file +} From 5d9eafeba356899aec16d0a605fbd01d9cf15bf3 Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Mon, 24 Nov 2014 12:42:44 +0000 Subject: [PATCH 206/555] Attempt to add ccreturnchange. It may or may not work as it appears that ccselect isn't working right now. --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 14 ++++++++++++++ 3 files changed, 16 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 998e48179..d4923098d 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -279,6 +279,7 @@ static const CRPCCommand vRPCCommands[] = { "cclistcoins", &cclistcoins, false, false }, { "ccselect", &ccselect, false, false }, { "cclistselected", &cclistselected, false, false }, + { "ccreturnchange", &ccreturnchange, false, false } }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 9ec8f8778..22bb32558 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -200,6 +200,7 @@ extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool extern json_spirit::Value cclistcoins(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccselect(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value cclistselected(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value ccreturnchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 0a43e3122..fbeebbf2d 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2209,3 +2209,17 @@ Value cclistselected(const Array& params, bool fHelp) return result; } + +// ssta HyperStake +Value ccreturnchange(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "ccreturnchange <1|0>\n" + "CoinControl: sets returnchange to true or false"); + bool rc = (params[0].get_str()!="0"); + coinControl->fReturnChange=rc; + string ret = "Set fReturnChange to: "; + ret+= rc ? "true" : "false"; + return ret; +} From 1c164cb4b1fb4641c8a758c08a144dc750af18b1 Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Mon, 24 Nov 2014 15:23:58 +0000 Subject: [PATCH 207/555] Add cccustomchange - appears to work, but can't tell for sure until coincontrol is added to the send commands --- src/bitcoinrpc.cpp | 3 ++- src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 18 ++++++++++++++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index d4923098d..0f9b39e33 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -279,7 +279,8 @@ static const CRPCCommand vRPCCommands[] = { "cclistcoins", &cclistcoins, false, false }, { "ccselect", &ccselect, false, false }, { "cclistselected", &cclistselected, false, false }, - { "ccreturnchange", &ccreturnchange, false, false } + { "ccreturnchange", &ccreturnchange, false, false }, + { "cccustomchange", &cccustomchange, false, false } }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 22bb32558..0ab212139 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -201,6 +201,7 @@ extern json_spirit::Value cclistcoins(const json_spirit::Array& params, bool fHe extern json_spirit::Value ccselect(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value cclistselected(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccreturnchange(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index fbeebbf2d..3bc7611fb 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2223,3 +2223,21 @@ Value ccreturnchange(const Array& params, bool fHelp) ret+= rc ? "true" : "false"; return ret; } + +// ssta HyperStake +Value cccustomchange(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "cccustomchange
          \n" + "CoinControl: sets address to return change to"); + CBitcoinAddress address(params[0].get_str()); + // check it's a valid address + if(!address.IsValid()) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid HyperStake address"); + + coinControl->destChange=address.Get(); + + string ret = "Set change address to: "; + ret+=params[0].get_str(); + return ret; +} From cff7bb0b5c4edd68faa9ef1509912c571b9c6615 Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Mon, 24 Nov 2014 15:32:50 +0000 Subject: [PATCH 208/555] Add ccreset to reset the coin control params (I don't think it resets fReturnChange, but not sure what to default that to anyways) --- src/bitcoinrpc.cpp | 3 ++- src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 11 +++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 0f9b39e33..9a139d89d 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -280,7 +280,8 @@ static const CRPCCommand vRPCCommands[] = { "ccselect", &ccselect, false, false }, { "cclistselected", &cclistselected, false, false }, { "ccreturnchange", &ccreturnchange, false, false }, - { "cccustomchange", &cccustomchange, false, false } + { "cccustomchange", &cccustomchange, false, false }, + { "ccreset", &ccreset, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 0ab212139..df0cd638d 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -202,6 +202,7 @@ extern json_spirit::Value ccselect(const json_spirit::Array& params, bool fHelp) extern json_spirit::Value cclistselected(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccreturnchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value ccreset(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 3bc7611fb..24015c63f 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2241,3 +2241,14 @@ Value cccustomchange(const Array& params, bool fHelp) ret+=params[0].get_str(); return ret; } + +// ssta HyperStake +Value ccreset(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "ccreset\n" + "CoinControl: resets coin control (clears selected coins and change address)"); + coinControl->SetNull(); + return Value::null; +} From 79660fefa04d4ca296605047240659b8a990166b Mon Sep 17 00:00:00 2001 From: Stephen Stafford Date: Mon, 24 Nov 2014 15:56:08 +0000 Subject: [PATCH 209/555] Couple of minor tweaks to cc commands --- src/rpcwallet.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 24015c63f..bef3fe012 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2215,9 +2215,9 @@ Value ccreturnchange(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) throw runtime_error( - "ccreturnchange <1|0>\n" + "ccreturnchange \n" "CoinControl: sets returnchange to true or false"); - bool rc = (params[0].get_str()!="0"); + bool rc = (params[0].get_str()=="true"); coinControl->fReturnChange=rc; string ret = "Set fReturnChange to: "; ret+= rc ? "true" : "false"; @@ -2238,7 +2238,7 @@ Value cccustomchange(const Array& params, bool fHelp) coinControl->destChange=address.Get(); string ret = "Set change address to: "; - ret+=params[0].get_str(); + ret+=(CBitcoinAddress(coinControl->destChange).ToString()); return ret; } From 6328e44dcad396d033fec72789e6c4cac3ebc06b Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 24 Nov 2014 09:18:20 -0700 Subject: [PATCH 210/555] CC set returnchange false on setnull() --- src/coincontrol.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/coincontrol.h b/src/coincontrol.h index 6fe4d3dd0..5962d165c 100644 --- a/src/coincontrol.h +++ b/src/coincontrol.h @@ -17,6 +17,7 @@ class CCoinControl { destChange = CNoDestination(); setSelected.clear(); + fReturnChange = false; } bool HasSelected() const From f168da137507f08eeb4a44258aacfc920baf478d Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 24 Nov 2014 09:20:21 -0700 Subject: [PATCH 211/555] rpcwallet minor formatting change --- src/bitcoinrpc.cpp | 1 + src/rpcwallet.cpp | 11 ++++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 9a139d89d..a89dba561 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1210,6 +1210,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); + if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); return params; } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index bef3fe012..6328aa815 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2217,10 +2217,15 @@ Value ccreturnchange(const Array& params, bool fHelp) throw runtime_error( "ccreturnchange \n" "CoinControl: sets returnchange to true or false"); - bool rc = (params[0].get_str()=="true"); + bool rc = params[0].get_bool(); coinControl->fReturnChange=rc; - string ret = "Set fReturnChange to: "; - ret+= rc ? "true" : "false"; + string ret = "Set ReturnChange to: "; + + if(coinControl->fReturnChange == true) + ret+= "true"; + else + ret+= "false"; + return ret; } From d894b86d6dc398cf8caba1298fedfb5d66fe5741 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 25 Nov 2014 15:45:14 -0700 Subject: [PATCH 212/555] fix getstakesplitthreshold typo --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 6328aa815..91f379c05 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2114,7 +2114,7 @@ Value getstakesplitthreshold(const Array& params, bool fHelp) { if (fHelp || params.size() != 0) throw runtime_error( - "setstakesplitthreshold\n" + "getstakesplitthreshold\n" "Returns the set splitstakethreshold\n"); Object result; From 8efb855d92172dce35ae70d3013cdbd3960481bb Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 25 Nov 2014 19:22:35 -0700 Subject: [PATCH 213/555] attempt to fix coin control dialog deselect --- src/qt/coincontroldialog.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 699607dbd..ab314f25b 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -185,8 +185,9 @@ void CoinControlDialog::buttonSelectAllClicked() if (ui->treeWidget->topLevelItem(i)->checkState(COLUMN_CHECKBOX) != Qt::Unchecked) { state = Qt::Unchecked; - break; + } + coinControl->UnSelectAll(); } ui->treeWidget->setEnabled(false); for (int i = 0; i < ui->treeWidget->topLevelItemCount(); i++) From 9c280eb8f0cdde47c507f63414e75f0e8d219d7c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 26 Nov 2014 20:56:41 -0700 Subject: [PATCH 214/555] rpc ccsend --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index a89dba561..15fa02c7f 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -282,6 +282,7 @@ static const CRPCCommand vRPCCommands[] = { "ccreturnchange", &ccreturnchange, false, false }, { "cccustomchange", &cccustomchange, false, false }, { "ccreset", &ccreset, false, false }, + { "ccsend", &ccsend, false, false }, }; CRPCTable::CRPCTable() @@ -1211,6 +1212,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); + if (strMethod == "ccsend" && n > 1) ConvertTo(params[1]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index df0cd638d..bba8ed459 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -203,6 +203,7 @@ extern json_spirit::Value cclistselected(const json_spirit::Array& params, bool extern json_spirit::Value ccreturnchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccreset(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 91f379c05..3cd0dc24f 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2221,7 +2221,7 @@ Value ccreturnchange(const Array& params, bool fHelp) coinControl->fReturnChange=rc; string ret = "Set ReturnChange to: "; - if(coinControl->fReturnChange == true) + if(coinControl->fReturnChange ) ret+= "true"; else ret+= "false"; @@ -2257,3 +2257,48 @@ Value ccreset(const Array& params, bool fHelp) coinControl->SetNull(); return Value::null; } + +// presstab HyperStake +Value ccsend(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "ccsend \n" + " is a real and is rounded to the nearest 0.000001" + + HelpRequiringPassphrase()); + + CBitcoinAddress address(params[0].get_str()); + if (!address.IsValid()) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); + + // Amount + int64 nAmount = AmountFromValue(params[1]); + + if (nAmount < MIN_TXOUT_AMOUNT) + throw JSONRPCError(-101, "Send amount too small"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); + + // Initialize things needed for the transaction + vector > vecSend; + CWalletTx wtx; + CReserveKey keyChange(pwalletMain); + int64 nFeeRequired = 0; + CScript scriptPubKey; + scriptPubKey.SetDestination(address.Get()); + vecSend.push_back(make_pair(scriptPubKey, nAmount)); + + bool fCreated = pwalletMain->CreateTransaction(vecSend, wtx, keyChange, nFeeRequired, 1, false, coinControl); // 1 = no splitblock, false for s4c, coinControl + if (!fCreated) + { + if (nAmount + nFeeRequired > pwalletMain->GetBalance()) + throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); + throw JSONRPCError(RPC_WALLET_ERROR, "Transaction creation failed"); + } + if (!pwalletMain->CommitTransaction(wtx, keyChange)) + throw JSONRPCError(RPC_WALLET_ERROR, "Transaction commit failed"); + + coinControl->SetNull(); + return wtx.GetHash().GetHex(); +} From 8b43d4047a44c56860f1b696c9040cf030facb13 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 5 Dec 2014 14:29:46 -0700 Subject: [PATCH 215/555] disablestake RPC --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/main.cpp | 2 +- src/qt/bitcoingui.cpp | 6 ++++++ src/rpcwallet.cpp | 15 +++++++++++++++ src/wallet.cpp | 6 +++++- src/wallet.h | 3 +++ 7 files changed, 33 insertions(+), 2 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 15fa02c7f..f7a8f0b42 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -221,6 +221,7 @@ static const CRPCCommand vRPCCommands[] = { "sendtoaddress", &sendtoaddress, false, false }, { "setstakesplitthreshold", &setstakesplitthreshold, false, false }, { "getstakesplitthreshold", &getstakesplitthreshold, false, false }, + { "disablestake", &disablestake, false, false }, { "rescanfromblock", &rescanfromblock, false, false }, { "getreceivedbyaddress", &getreceivedbyaddress, false, false }, { "getreceivedbyaccount", &getreceivedbyaccount, false, false }, @@ -1209,6 +1210,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 3) ConvertTo(params[3]); if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); + if (strMethod == "disablestake" && n > 0) ConvertTo(params[0]); if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index bba8ed459..eb999d770 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -196,6 +196,7 @@ extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, boo extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakesplitthreshold(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value disablestake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value rescanfromblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value cclistcoins(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccselect(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 3a15ca985..a8a66c12a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4021,7 +4021,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) static int64 nLastCoinStakeSearchTime = GetAdjustedTime(); // only initialized at startup CBlockIndex* pindexPrev = pindexBest; - if (fProofOfStake) // attempt to find a coinstake + if (fProofOfStake && !pwalletMain->fDisableStake) // attempt to find a coinstake && make sure settings allow PoS (presstab HyperStake) { pblock->nBits = GetNextTargetRequired(pindexPrev, true); CTransaction txCoinStake; diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 576009b9a..67aa60d57 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1199,6 +1199,12 @@ void BitcoinGUI::updateMintingIcon() labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); + } + else if (pwalletMain && pwalletMain->fDisableStake) + { + labelMintingIcon->setToolTip(tr("Not minting because staking is disabled.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setEnabled(false); + labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (vNodes.empty()) { diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 3cd0dc24f..dc4debd69 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2123,6 +2123,21 @@ Value getstakesplitthreshold(const Array& params, bool fHelp) } +// presstab HyperStake +Value disablestake(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "disablestake \n" + "This will disable staking if set true\n"); + int fDisableStake = params[0].get_bool(); + + pwalletMain->fDisableStake = fDisableStake; + Object result; + result.push_back(Pair("disable stake ", pwalletMain->fDisableStake)); + return result; +} + // presstab HyperStake Value rescanfromblock(const Array& params, bool fHelp) { diff --git a/src/wallet.cpp b/src/wallet.cpp index 2eaa3c2e3..c8577f7f5 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1604,7 +1604,11 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin // ppcoin: create coin stake transaction bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew) { - // The following split & combine thresholds are important to security + //presstab HyperStake: return false if disablestake RPC is enabled + if(fDisableStake) + return false; + + // The following split & combine thresholds are important to security // Should not be adjusted if you don't understand the consequences static unsigned int nStakeSplitAge = (60 * 60 * 24 * 30); const CBlockIndex* pIndex0 = GetLastBlockIndex(pindexBest, false); diff --git a/src/wallet.h b/src/wallet.h index 7417a1749..874cb37c0 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -97,6 +97,7 @@ class CWallet : public CCryptoKeyStore bool fCombine; uint64 nStakeSplitThreshold; bool fSplitBlock; + bool fDisableStake; std::set setKeyPool; @@ -126,6 +127,7 @@ class CWallet : public CCryptoKeyStore fCombine = false; nStakeSplitThreshold = 1000; fSplitBlock = false; + fDisableStake = false; } CWallet(std::string strWalletFileIn) { @@ -149,6 +151,7 @@ class CWallet : public CCryptoKeyStore fCombine = false; nStakeSplitThreshold = 1000; fSplitBlock = false; + fDisableStake = false; } std::map mapWallet; From 3eb7419e85262a79add2782ab3f864b366cba589 Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sat, 6 Dec 2014 13:07:39 +0000 Subject: [PATCH 216/555] transactiontablemodel: add stake rate and time in the help text --- src/qt/transactiontablemodel.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index df22737a6..4d01eee02 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -276,6 +276,8 @@ int TransactionTableModel::columnCount(const QModelIndex &parent) const QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) const { QString status; + float rate, days; + CWalletTx tx, ptx; switch(wtx->status.status) { @@ -303,6 +305,15 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons status += "\n" + tr("Mined balance will be available when it matures in %n more block(s)", "", wtx->status.matures_in); break; case TransactionStatus::Mature: + if (wallet->GetTransaction(wtx->hash, tx)) { + if (tx.vin.size() == 1) { + rate = 100.0f * (wtx->credit + wtx->debit) / -wtx->debit; + if (wallet->GetTransaction(tx.vin[0].prevout.hash, ptx)) { + days = (tx.nTime - ptx.nTime) / 86400.0f; + status += "\n" + tr("%1% staked in %2 days").arg(rate).arg(days); + } + } + } break; case TransactionStatus::MaturesWarning: status += "\n" + tr("This block was not received by any other nodes and will probably not be accepted!"); From f5580e3cde31dc7eb7fa9d606dc64ad62caaeddb Mon Sep 17 00:00:00 2001 From: moneromooo Date: Sun, 7 Dec 2014 14:36:37 +0000 Subject: [PATCH 217/555] transactiontablemodel: add approximate amount of capped HYP for stakes --- src/qt/transactiontablemodel.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 4d01eee02..e69db6993 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -311,6 +311,10 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons if (wallet->GetTransaction(tx.vin[0].prevout.hash, ptx)) { days = (tx.nTime - ptx.nTime) / 86400.0f; status += "\n" + tr("%1% staked in %2 days").arg(rate).arg(days); + if (wtx->credit + wtx->debit == 1000 * COIN) { + uint64_t capped = -wtx->debit * 7.5f * days / 365.f - 1000 * COIN; + status += "\n" + tr("About %1 HYP capped").arg(capped / (float)COIN); + } } } } From 7701d601f97228b7696cdb7bf5c8f1516e2ebc0c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 7 Dec 2014 13:21:52 -0700 Subject: [PATCH 218/555] disablestake (diff & weight) --- src/bitcoinrpc.cpp | 1 + src/main.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++- src/rpcwallet.cpp | 40 ++++++++++++++++++++++++++++--- src/wallet.h | 14 +++++++++++ 4 files changed, 110 insertions(+), 4 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index f7a8f0b42..44f8ed0a7 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1211,6 +1211,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 4) ConvertTo(params[4]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 0) ConvertTo(params[0]); + if (strMethod == "disablestake" && n > 2) ConvertTo(params[3]); if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); diff --git a/src/main.cpp b/src/main.cpp index a8a66c12a..73fa01115 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2353,7 +2353,64 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) // ppcoin: if responsible for sync-checkpoint send it if (pfrom && !CSyncCheckpoint::strMasterPrivKey.empty()) Checkpoints::SendSyncCheckpoint(Checkpoints::AutoSelectSyncCheckpoint()); - + + // presstab HyperStake: enable of disable staking based on block difficulty + if(pwalletMain->fStakeRequirement) + { + if(pwalletMain->strDisableType == "diff") + { + int nShift = (pblock->nBits >> 24) & 0xff; + double dDiff = (double)0x0000ffff / (double)(pblock->nBits & 0x00ffffff); + while (nShift < 29) + { + dDiff *= 256.0; + nShift++; + } + while (nShift > 29) + { + dDiff /= 256.0; + nShift--; + } + if(pwalletMain->strDisableArg == ">") + { + if(dDiff > (pwalletMain->dUserNumber)) + pwalletMain->fDisableStake = true; + else + pwalletMain->fDisableStake = false; + } + else if (pwalletMain->strDisableArg == "<") + { + if(dDiff < (pwalletMain->dUserNumber)) + pwalletMain->fDisableStake = true; + else + pwalletMain->fDisableStake = false; + } + } + else if (pwalletMain->strDisableType == "weight") + { + uint64 nMinMax; + uint64 nWeight; + uint64 nHoursToMaturity; + uint64 nAmount; + pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + + if(pwalletMain->strDisableArg == ">") + { + if(nWeight > (pwalletMain->dUserNumber)) + pwalletMain->fDisableStake = true; + else + pwalletMain->fDisableStake = false; + } + else if (pwalletMain->strDisableArg == "<") + { + if(nWeight < (pwalletMain->dUserNumber)) + pwalletMain->fDisableStake = true; + else + pwalletMain->fDisableStake = false; + } + } + } + return true; } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index dc4debd69..61f2d231a 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2126,15 +2126,49 @@ Value getstakesplitthreshold(const Array& params, bool fHelp) // presstab HyperStake Value disablestake(const Array& params, bool fHelp) { - if (fHelp || params.size() != 1) + if (fHelp || params.size() > 4) throw runtime_error( "disablestake \n" - "This will disable staking if set true\n"); + "This will disable staking if set true\n" + "example: disablestake true diff >5\n" + "options: diff, weight"); int fDisableStake = params[0].get_bool(); + + if (params.size() == 4) + { + std::string strType = params[1].get_str(); + std::string strArg = params[2].get_str(); + double dUserNumber = params[3].get_real(); + + if(strType == "diff" || "weight") + pwalletMain->strDisableType = strType; + else + throw runtime_error("type is not valid"); + if(strArg == ">" || "<") + pwalletMain->strDisableArg = strArg; + else + throw runtime_error("argument is not valid"); + + pwalletMain->dUserNumber = dUserNumber; + pwalletMain->fStakeRequirement = true; + } + else + pwalletMain->fStakeRequirement = false; + pwalletMain->fDisableStake = fDisableStake; + + if(!fDisableStake || params.size() == 1) + { + pwalletMain->strDisableType = ""; + pwalletMain->strDisableArg = ""; + pwalletMain->dUserNumber = 0; + pwalletMain->fStakeRequirement = false; + } + Object result; - result.push_back(Pair("disable stake ", pwalletMain->fDisableStake)); + result.push_back(Pair("disablestake ", pwalletMain->fDisableStake)); + result.push_back(Pair("stake requirements set? ", pwalletMain->fStakeRequirement)); return result; } diff --git a/src/wallet.h b/src/wallet.h index 874cb37c0..bbdd50a27 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -97,7 +97,13 @@ class CWallet : public CCryptoKeyStore bool fCombine; uint64 nStakeSplitThreshold; bool fSplitBlock; + + // disable stake bool fDisableStake; + std::string strDisableType; + std::string strDisableArg; + double dUserNumber; + bool fStakeRequirement; std::set setKeyPool; @@ -128,6 +134,10 @@ class CWallet : public CCryptoKeyStore nStakeSplitThreshold = 1000; fSplitBlock = false; fDisableStake = false; + strDisableType = ""; + strDisableArg = ""; + dUserNumber = 0; + fStakeRequirement = false; } CWallet(std::string strWalletFileIn) { @@ -152,6 +162,10 @@ class CWallet : public CCryptoKeyStore nStakeSplitThreshold = 1000; fSplitBlock = false; fDisableStake = false; + strDisableType = ""; + strDisableArg = ""; + dUserNumber = 0; + fStakeRequirement = false; } std::map mapWallet; From 63dcd685006495bf592ce69dd2ee4cbe5c6dc7ca Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 9 Dec 2014 00:07:18 -0700 Subject: [PATCH 219/555] initialize x11 array properly --- src/hashblock.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hashblock.h b/src/hashblock.h index 7bb81b7a4..7e0ea1687 100644 --- a/src/hashblock.h +++ b/src/hashblock.h @@ -80,7 +80,7 @@ inline uint256 Hash9(const T1 pbegin, const T1 pend) //strhash = ""; #endif - uint512 hash[17]; + uint512 hash[11]; sph_blake512_init(&ctx_blake); sph_blake512 (&ctx_blake, (pbegin == pend ? pblank : static_cast(&pbegin[0])), (pend - pbegin) * sizeof(pbegin[0])); From 829288cd68740f14ca3c4fc3afbd4c5deef92665 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 11 Dec 2014 16:39:45 -0700 Subject: [PATCH 220/555] use hashBestChain not hashHighBlock, no synccheck --- src/main.cpp | 42 ++++++++++++++++-------------------------- src/main.h | 5 ----- 2 files changed, 16 insertions(+), 31 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 73fa01115..0a45d12a5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2145,6 +2145,7 @@ bool CBlock::AcceptBlock() if (!Checkpoints::CheckHardened(nHeight, hash)) return DoS(100, error("AcceptBlock() : rejected by hardened checkpoint lock-in at %d", nHeight)); + /* HyperStake is not using a checkpoint server // ppcoin: check that the block satisfies synchronized checkpoint if (!Checkpoints::CheckSync(hash, pindexPrev)) { @@ -2156,7 +2157,7 @@ bool CBlock::AcceptBlock() { strMiscWarning = _("WARNING: syncronized checkpoint violation detected, but skipped!"); } - } + }*/ // Reject block.nVersion < 3 blocks since 95% threshold on mainNet and always on testNet: if (nVersion < 3 && ((!fTestNet && nHeight > 14060) || (fTestNet && nHeight > 0))) @@ -2187,8 +2188,9 @@ bool CBlock::AcceptBlock() pnode->PushInventory(CInv(MSG_BLOCK, hash)); } + /* HyperStake is not using a checkpoint server // ppcoin: check pending sync-checkpoint - Checkpoints::AcceptPendingSyncCheckpoint(); + Checkpoints::AcceptPendingSyncCheckpoint();*/ return true; } @@ -2252,12 +2254,8 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) uint256 hashProofOfStake = 0; if (!CheckProofOfStake(pblock->vtx[1], pblock->nBits, hashProofOfStake)) { - // Ignore CheckProofOfStake() failure for hashHighBlock in order to speed up initial - // blockchain download. - if (pblock->GetHash() != hashHighBlock) { - printf("WARNING: ProcessBlock(): check proof-of-stake failed for block %s\n", hash.ToString().c_str()); - return false; // do not error here as we expect this during initial block download - } + printf("WARNING: ProcessBlock(): check proof-of-stake failed for block %s\n", hash.ToString().c_str()); + return false; } if (!mapProofOfStake.count(hash)) // add to mapProofOfStake mapProofOfStake.insert(make_pair(hash, hashProofOfStake)); @@ -2285,9 +2283,10 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) } } + /* HyperStake is not using checkpoint server // ppcoin: ask for pending sync-checkpoint if any if (!IsInitialBlockDownload()) - Checkpoints::AskForPendingSyncCheckpoint(pfrom); + Checkpoints::AskForPendingSyncCheckpoint(pfrom);*/ // If don't already have its previous block, shunt it off to holding area until we get it if (!mapBlockIndex.count(pblock->hashPrevBlock)) @@ -2350,9 +2349,10 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) if (!pwalletMain->StakeForCharity() ) printf("ERROR While trying to send portion of stake reward to savings account"); + /* HyperStake is not using a checkpoint server // ppcoin: if responsible for sync-checkpoint send it if (pfrom && !CSyncCheckpoint::strMasterPrivKey.empty()) - Checkpoints::SendSyncCheckpoint(Checkpoints::AutoSelectSyncCheckpoint()); + Checkpoints::SendSyncCheckpoint(Checkpoints::AutoSelectSyncCheckpoint());*/ // presstab HyperStake: enable of disable staking based on block difficulty if(pwalletMain->fStakeRequirement) @@ -3090,12 +3090,13 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) item.second.RelayTo(pfrom); } + /* HyperStake does not use checkpoint server // ppcoin: relay sync-checkpoint { LOCK(Checkpoints::cs_hashSyncCheckpoint); if (!Checkpoints::checkpointMessage.IsNull()) Checkpoints::checkpointMessage.RelayTo(pfrom); - } + }*/ pfrom->fSuccessfullyConnected = true; @@ -3110,10 +3111,10 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } - + /* HyperStake does not use checkpoint server // ppcoin: ask for pending sync-checkpoint if any if (!IsInitialBlockDownload()) - Checkpoints::AskForPendingSyncCheckpoint(pfrom); + Checkpoints::AskForPendingSyncCheckpoint(pfrom);*/ } @@ -3281,16 +3282,9 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // Trigger them to send a getblocks request for the next batch of inventory if (inv.hash == pfrom->hashContinue) { - // Default behavior of PoS coins is to send last PoW block here which client - // receives as an orphan. With HYP we want hyper download speed so further - // block (index HIGH_BLOCK_INDEX) is sent. If server does not have it yet, - // then proceeds with default behavior. vector vInv; - if (nBestHeight > HIGH_BLOCK_INDEX) { - vInv.push_back(CInv(MSG_BLOCK, hashHighBlock)); - } else { - vInv.push_back(CInv(MSG_BLOCK, GetLastBlockIndex(pindexBest, false)->GetBlockHash())); - } + vInv.push_back(CInv(MSG_BLOCK, hashBestChain)); + pfrom->PushMessage("inv", vInv); pfrom->hashContinue = 0; } @@ -3345,10 +3339,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (pindex->GetBlockHash() == hashStop) { printf(" getblocks stopping at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str()); - // ppcoin: tell downloading node about the latest block if it's - // without risk being rejected due to stake connection check - if (hashStop != hashBestChain && pindex->GetBlockTime() + nStakeMinAge > pindexBest->GetBlockTime()) - pfrom->PushInventory(CInv(MSG_BLOCK, hashBestChain)); break; } pfrom->PushInventory(CInv(MSG_BLOCK, pindex->GetBlockHash())); diff --git a/src/main.h b/src/main.h index 158d5fe3f..d8aa7bbd8 100644 --- a/src/main.h +++ b/src/main.h @@ -56,15 +56,10 @@ static const int fHaveUPnP = false; static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23f130958038c18a462577d002680dab4fc"); static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); -// HighBlock is used to speed up blockchain download. It is being sent by server instead of last PoW block. -static const uint256 hashHighBlock ("0xe1415d0a36f6dea67bc892a3c8b8c72d933b2126f1a6d476abbd1f4ea0cee5d7"); -static const int HIGH_BLOCK_INDEX = 120000; - static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() extern CScript COINBASE_FLAGS; - extern CCriticalSection cs_main; extern std::map mapBlockIndex; extern std::set > setStakeSeen; From 869366fbd91508e35d0e8c1c06eb4323a67628ad Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 11 Dec 2014 17:39:17 -0700 Subject: [PATCH 221/555] Fix mem leak https://github.com/Tranz5/HoboNickels/commit/e4d372b8107248cdcc48597b2508289c4536dec1 --- src/main.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 0a45d12a5..fdb2def1b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2292,17 +2292,18 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) if (!mapBlockIndex.count(pblock->hashPrevBlock)) { printf("ProcessBlock: ORPHAN BLOCK, prev=%s\n", pblock->hashPrevBlock.ToString().substr(0,20).c_str()); - CBlock* pblock2 = new CBlock(*pblock); + // ppcoin: check proof-of-stake - if (pblock2->IsProofOfStake()) + if (pblock->IsProofOfStake()) { // Limited duplicity on stake: prevents block flood attack // Duplicate stake allowed only when there is orphan child block - if (setStakeSeenOrphan.count(pblock2->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash) && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) - return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for orphan block %s", pblock2->GetProofOfStake().first.ToString().c_str(), pblock2->GetProofOfStake().second, hash.ToString().c_str()); + if (setStakeSeenOrphan.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash) && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) + return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for orphan block %s", pblock->GetProofOfStake().first.ToString().c_str(), pblock->GetProofOfStake().second, hash.ToString().c_str()); else - setStakeSeenOrphan.insert(pblock2->GetProofOfStake()); + setStakeSeenOrphan.insert(pblock->GetProofOfStake()); } + CBlock* pblock2 = new CBlock(*pblock); mapOrphanBlocks.insert(make_pair(hash, pblock2)); mapOrphanBlocksByPrev.insert(make_pair(pblock2->hashPrevBlock, pblock2)); From ebe98561cd49d7b4de3603c8a948abc232e042d2 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 20 Dec 2014 13:32:14 -0700 Subject: [PATCH 222/555] check balance before moving accounts --- src/rpcwallet.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 61f2d231a..906f19a5e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -857,6 +857,13 @@ Value movecmd(const Array& params, bool fHelp) if (!walletdb.TxnBegin()) throw JSONRPCError(RPC_DATABASE_ERROR, "database error"); + // check balance + int64 nBalance = GetAccountBalance(strFrom, 1); + + // no moving balances less than or equal to 0 + if(nBalance <= 0 || nBalance < nAmount) + throw JSONRPCError(-101, "Not enough balance"); + int64 nNow = GetAdjustedTime(); // Debit From 7ea17ac9fbb443f53233f05926afe7de9da24dde Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 2 Jan 2015 16:45:55 -0700 Subject: [PATCH 223/555] Use coin control for s4c --- src/wallet.cpp | 85 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 55 insertions(+), 30 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index c8577f7f5..5252dabc2 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1107,43 +1107,68 @@ int nPrevS4CHeight = 0; bool CWallet::StakeForCharity() { - if ( IsInitialBlockDownload() || IsLocked() ) return false; - - CWalletTx wtx; int64 nNet = 0; { - LOCK(cs_wallet); - for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) - { - const CWalletTx* pcoin = &(*it).second; - if (pcoin->IsCoinStake() && pcoin->GetBlocksToMaturity() == 0 && pcoin->GetDepthInMainChain() == nCoinbaseMaturity+20) - { - // Calculate Amount for Charity - nNet = ( ( pcoin->GetCredit() - pcoin->GetDebit() ) * nStakeForCharityPercent )/100; - - // Do not send if amount is too low - if (nNet < nStakeForCharityMin ) { - return false; - } - // Truncate to max if amount is too great - if (nNet > nStakeForCharityMax ) { - nNet = nStakeForCharityMax; - } - if (nBestHeight <= nPrevS4CHeight ) { - return false; - } else { - SendMoneyToDestination(strStakeForCharityAddress.Get(), nNet, wtx, false, true); - nPrevS4CHeight = nBestHeight; - } - } - - } + LOCK(cs_wallet); + std::vector vCoins; + AvailableCoins(vCoins); + + BOOST_FOREACH(const COutput& out, vCoins) + { + COutput cout = out; + while (IsChange(cout.tx->vout[cout.i]) && cout.tx->vin.size() > 0 && IsMine(cout.tx->vin[0])) + { + if (!mapWallet.count(cout.tx->vin[0].prevout.hash)) break; + cout = COutput(&mapWallet[cout.tx->vin[0].prevout.hash], cout.tx->vin[0].prevout.n, 0); + } + + CTxDestination address; + if(!ExtractDestination(cout.tx->vout[cout.i].scriptPubKey, address)) continue; + + if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) + { + // Calculate Amount for Charity + nNet = ( ( out.tx->GetCredit() - out.tx->GetDebit() ) * nStakeForCharityPercent )/100; + // Do not send if amount is too low + if (nNet < nStakeForCharityMin ) { + return false; + } + // Truncate to max if amount is too great + if (nNet > nStakeForCharityMax ) { + nNet = nStakeForCharityMax; + } + if (nBestHeight <= nPrevS4CHeight ) { + return false; + } else { + uint256 txhash = out.tx->GetHash(); + COutPoint outpt(txhash, out.i); + CCoinControl* cControl = new CCoinControl(); + cControl->Select(outpt); + + vector > vecSend; + CWalletTx wtx; + CReserveKey keyChange(this); + int64 nFeeRet = 0; + CScript scriptPubKey; + scriptPubKey.SetDestination(strStakeForCharityAddress.Get()); + vecSend.push_back(make_pair(scriptPubKey, nNet)); + bool fCreated = CreateTransaction(vecSend, wtx, keyChange, nFeeRet, 1, true, cControl); + if (!fCreated) + printf("s4c createtransaction failed"); + if(!CommitTransaction(wtx, keyChange)) + printf("Transaction commit failed"); + else + fS4CNotificator = true; + nPrevS4CHeight = nBestHeight; + delete cControl; + } + } + } } - return true; } From c9a1322400961c2905eef31f8c24cafd084b4d29 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 2 Jan 2015 20:51:57 -0700 Subject: [PATCH 224/555] if using splitblock, fee is 0.001 This makes it so you won't be charged less than the expected fee, and also adds a very small premium to these transactions. This is optional and can be changed by anyone that builds their own wallet. --- src/qt/coincontroldialog.cpp | 4 ++++ src/qt/sendcoinsdialog.cpp | 1 + src/wallet.cpp | 2 ++ 3 files changed, 7 insertions(+) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index ab314f25b..fffd633dd 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -623,6 +623,10 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) nPayFee = max(nFee, nMinFee); //nPayFee = nFee; + if(pwalletMain->fSplitBlock) + { + nPayFee = COIN / 1000; // make the fee more expensive if using splitblock, this avoids having to calc fee based on multiple vouts + } if (nPayAmount > 0) { diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 73234eec9..03b291bc6 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -532,6 +532,7 @@ void SendCoinsDialog::coinControlSplitBlockChecked(int state) ui->labelBlockSizeText->setEnabled(false); ui->labelBlockSize->setEnabled(false); } + coinControlUpdateLabels(); } } diff --git a/src/wallet.cpp b/src/wallet.cpp index 5252dabc2..9059b7ab7 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1318,6 +1318,8 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW CTxDB txdb("r"); { nFeeRet = nTransactionFee; + if(fSplitBlock) + nFeeRet = COIN / 1000; while (true) { wtxNew.vin.clear(); From 68a5b305e5d5adebc74ad81a477bd81660874468 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 4 Jan 2015 13:18:36 -0700 Subject: [PATCH 225/555] disablestake rpc error --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 906f19a5e..d3753219c 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2133,7 +2133,7 @@ Value getstakesplitthreshold(const Array& params, bool fHelp) // presstab HyperStake Value disablestake(const Array& params, bool fHelp) { - if (fHelp || params.size() > 4) + if (fHelp || params.size() > 4 || params.size() < 2) throw runtime_error( "disablestake \n" "This will disable staking if set true\n" From 8ab93cef7916883a2d4852bbcdfd9b3419d51a98 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 4 Jan 2015 13:27:06 -0700 Subject: [PATCH 226/555] disablestake rpc error --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d3753219c..8cc96f1c7 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2133,7 +2133,7 @@ Value getstakesplitthreshold(const Array& params, bool fHelp) // presstab HyperStake Value disablestake(const Array& params, bool fHelp) { - if (fHelp || params.size() > 4 || params.size() < 2) + if (fHelp || params.size() > 4 || params.size() < 1) throw runtime_error( "disablestake \n" "This will disable staking if set true\n" From abbb31de9ea65826ca4822bece5834e30fa52df2 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 6 Jan 2015 13:39:39 -0700 Subject: [PATCH 227/555] add comma's to number formatting --- src/qt/bitcoinunits.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 9349ccb44..dc581c92d 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,6 +1,7 @@ #include "bitcoinunits.h" #include +#include BitcoinUnits::BitcoinUnits(QObject *parent): QAbstractListModel(parent), @@ -96,7 +97,7 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) qint64 n_abs = (n > 0 ? n : -n); qint64 quotient = n_abs / coin; qint64 remainder = n_abs % coin; - QString quotient_str = QString::number(quotient); + QString quotient_str = QLocale(QLocale::system()).toString(quotient); QString remainder_str = QString::number(remainder).rightJustified(num_decimals, '0'); // Right-trim excess zeros after the decimal point From e71dd0de95bcc426a7210e92105ad477ea5864d5 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Jan 2015 11:09:25 -0700 Subject: [PATCH 228/555] format unit with "," for non-english locale --- src/qt/bitcoinunits.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index dc581c92d..0d5d91dc2 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -110,7 +110,10 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) quotient_str.insert(0, '-'); else if (fPlus && n > 0) quotient_str.insert(0, '+'); - return quotient_str + QString(".") + remainder_str; + if(QLocale::system() == QLocale::English || QLocale::C) + return quotient_str + QString(".") + remainder_str; + else + return quotient_str + QString(",") + remainder_str; } QString BitcoinUnits::formatAge(int unit, qint64 n, bool fPlus) From a2cae7922ed4e574bd4950b70cc92c13be3106a9 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Jan 2015 13:37:15 -0700 Subject: [PATCH 229/555] add thai to locale As far as I see, only english and thai format numbers with a decimal separating units for fractions http://docs.oracle.com/cd/E19455-01/806-0169/overview-9/index.html --- src/qt/bitcoinunits.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 0d5d91dc2..aedbe36ab 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -110,7 +110,7 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) quotient_str.insert(0, '-'); else if (fPlus && n > 0) quotient_str.insert(0, '+'); - if(QLocale::system() == QLocale::English || QLocale::C) + if(QLocale::system() == QLocale::English || QLocale::C || QLocale::Thai) return quotient_str + QString(".") + remainder_str; else return quotient_str + QString(",") + remainder_str; From dec5c24dfa6208f8eb4f41f6215ad86dbeb24734 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 8 Jan 2015 00:04:45 -0700 Subject: [PATCH 230/555] Revert "add thai to locale" This reverts commit a2cae7922ed4e574bd4950b70cc92c13be3106a9. --- src/qt/bitcoinunits.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index aedbe36ab..0d5d91dc2 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -110,7 +110,7 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) quotient_str.insert(0, '-'); else if (fPlus && n > 0) quotient_str.insert(0, '+'); - if(QLocale::system() == QLocale::English || QLocale::C || QLocale::Thai) + if(QLocale::system() == QLocale::English || QLocale::C) return quotient_str + QString(".") + remainder_str; else return quotient_str + QString(",") + remainder_str; From 3f5f4581c9326b0502c3ec943cfb4509c9f1eaa7 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 8 Jan 2015 00:04:51 -0700 Subject: [PATCH 231/555] Revert "format unit with "," for non-english locale" This reverts commit e71dd0de95bcc426a7210e92105ad477ea5864d5. --- src/qt/bitcoinunits.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index 0d5d91dc2..dc581c92d 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -110,10 +110,7 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) quotient_str.insert(0, '-'); else if (fPlus && n > 0) quotient_str.insert(0, '+'); - if(QLocale::system() == QLocale::English || QLocale::C) - return quotient_str + QString(".") + remainder_str; - else - return quotient_str + QString(",") + remainder_str; + return quotient_str + QString(".") + remainder_str; } QString BitcoinUnits::formatAge(int unit, qint64 n, bool fPlus) From d4ea120b36bef4e7804d41d160449c61ce1bd213 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 8 Jan 2015 00:05:01 -0700 Subject: [PATCH 232/555] Revert "add comma's to number formatting" This reverts commit abbb31de9ea65826ca4822bece5834e30fa52df2. --- src/qt/bitcoinunits.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qt/bitcoinunits.cpp b/src/qt/bitcoinunits.cpp index dc581c92d..9349ccb44 100644 --- a/src/qt/bitcoinunits.cpp +++ b/src/qt/bitcoinunits.cpp @@ -1,7 +1,6 @@ #include "bitcoinunits.h" #include -#include BitcoinUnits::BitcoinUnits(QObject *parent): QAbstractListModel(parent), @@ -97,7 +96,7 @@ QString BitcoinUnits::format(int unit, qint64 n, bool fPlus) qint64 n_abs = (n > 0 ? n : -n); qint64 quotient = n_abs / coin; qint64 remainder = n_abs % coin; - QString quotient_str = QLocale(QLocale::system()).toString(quotient); + QString quotient_str = QString::number(quotient); QString remainder_str = QString::number(remainder).rightJustified(num_decimals, '0'); // Right-trim excess zeros after the decimal point From 17067225440aaa0a705ab7803b240c6d9f8f3ad8 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 8 Jan 2015 15:02:34 -0700 Subject: [PATCH 233/555] use original getbalance for rpc call getbalance --- src/rpcwallet.cpp | 2 +- src/wallet.cpp | 17 +++++++++++++++++ src/wallet.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8cc96f1c7..a20da1165 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -782,7 +782,7 @@ Value getbalance(const Array& params, bool fHelp) "If [account] is specified, returns the balance in the account."); if (params.size() == 0) - return ValueFromAmount(pwalletMain->GetBalance()); + return ValueFromAmount(pwalletMain->GetBalanceV1()); int nMinDepth = 1; if (params.size() > 1) diff --git a/src/wallet.cpp b/src/wallet.cpp index 9059b7ab7..e84f36ce3 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -977,6 +977,23 @@ int64 CWallet::GetBalance() const return nTotal; } +int64 CWallet::GetBalanceV1() const //use this for getbalance rpc call so that it will return intra wallet transactions as confirmed +{ + int64 nTotal = 0; + { + LOCK(cs_wallet); + for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) + { + const CWalletTx* pcoin = &(*it).second; + if (pcoin->IsFinal() && pcoin->IsConfirmedV1()) + nTotal += pcoin->GetAvailableCredit(); + } + } + + return nTotal; +} + + int64 CWallet::GetUnconfirmedBalance() const { int64 nTotal = 0; diff --git a/src/wallet.h b/src/wallet.h index bbdd50a27..4bd3a9b66 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -226,6 +226,7 @@ class CWallet : public CCryptoKeyStore void ReacceptWalletTransactions(); void ResendWalletTransactions(); int64 GetBalance() const; + int64 GetBalanceV1() const; int64 GetUnconfirmedBalance() const; int64 GetImmatureBalance() const; int64 GetStake() const; @@ -704,6 +705,49 @@ class CWalletTx : public CMerkleTx return false; } + bool IsConfirmedV1() const //will use this for rpc getbalance, so that it reports unconfirmed intrawallet transfers as part of your total balance + { + // Quick answer in most cases + if (!IsFinal()) + return false; + if (GetDepthInMainChain() >= 1) + return true; + if (!IsFromMe()) // using wtx's cached debit + return false; + + // If no confirmations but it's from us, we can still + // consider it confirmed if all dependencies are confirmed + std::map mapPrev; + std::vector vWorkQueue; + vWorkQueue.reserve(vtxPrev.size()+1); + vWorkQueue.push_back(this); + for (unsigned int i = 0; i < vWorkQueue.size(); i++) + { + const CMerkleTx* ptx = vWorkQueue[i]; + + if (!ptx->IsFinal()) + return false; + if (ptx->GetDepthInMainChain() >= 1) + continue; + if (!pwallet->IsFromMe(*ptx)) + return false; + + if (mapPrev.empty()) + { + BOOST_FOREACH(const CMerkleTx& tx, vtxPrev) + mapPrev[tx.GetHash()] = &tx; + } + + BOOST_FOREACH(const CTxIn& txin, ptx->vin) + { + if (!mapPrev.count(txin.prevout.hash)) + return false; + vWorkQueue.push_back(mapPrev[txin.prevout.hash]); + } + } + return true; + } + bool WriteToDisk(); int64 GetTxTime() const; From fd00560f27522eef841621646f41f5749db788ef Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 09:43:39 -0700 Subject: [PATCH 234/555] Add weight to cclistcoins --- src/rpcwallet.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index a20da1165..c3a7fded6 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2215,14 +2215,21 @@ Value cclistcoins(const Array& params, bool fHelp) int64 nHeight = nBestHeight - out.nDepth; CBlockIndex* pindex = FindBlockByHeight(nHeight); - coutput.push_back(Pair("Output Hash", out.tx->GetHash().ToString())); - coutput.push_back(Pair("blockIndex", out.i)); - coutput.push_back(Pair("Value", double(out.tx->vout[out.i].nValue) / double(COIN))); - coutput.push_back(Pair("Confirmations", int(out.nDepth))); - coutput.push_back(Pair("Age (days)", (double(GetTime() - pindex->nTime) / (60*60*24)))); CTxDestination outputAddress; ExtractDestination(out.tx->vout[out.i].scriptPubKey, outputAddress); coutput.push_back(Pair("Address", CBitcoinAddress(outputAddress).ToString())); + coutput.push_back(Pair("Output Hash", out.tx->GetHash().ToString())); + coutput.push_back(Pair("blockIndex", out.i)); + double dAmount = double(out.tx->vout[out.i].nValue) / double(COIN); + coutput.push_back(Pair("Value", dAmount)); + coutput.push_back(Pair("Confirmations", int(out.nDepth))); + double dAge = double(GetTime() - pindex->nTime) / (60*60*24); + coutput.push_back(Pair("Age (days)", (dAge))); + uint64 nWeight = 0; + pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); + if(dAge < 8.8) + nWeight = 0; + coutput.push_back(Pair("Weight", (nWeight))); result.push_back(coutput); } return result; From 9cdb1371d97e2943bd2d482e0e6c9d34007b63aa Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 10:08:01 -0700 Subject: [PATCH 235/555] guard against openssl's new strict DER checks https://github.com/bitcoin/bitcoin/commit/f4134ee30100a3ba8a25e3f7ac6c4e0b39fb05a3 https://github.com/bitcoin/bitcoin/commit/91e1332011ca647362f95f34ae6c530640bfef98 https://github.com/bitcoin/bitcoin/commit/f19dded6e4bf6b5a345de899863310281846eb61 --- src/key.cpp | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/key.cpp b/src/key.cpp index 23f315203..78c4327d3 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -372,11 +372,34 @@ bool CKey::SetCompactSignature(uint256 hash, const std::vector& v bool CKey::Verify(uint256 hash, const std::vector& vchSig) { - // -1 = error, 0 = bad sig, 1 = good - if (ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), &vchSig[0], vchSig.size(), pkey) != 1) + if (vchSig.empty()) return false; - return true; + // New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first. + unsigned char *norm_der = NULL; + ECDSA_SIG *norm_sig = ECDSA_SIG_new(); + const unsigned char* sigptr = &vchSig[0]; + assert(norm_sig); + if (d2i_ECDSA_SIG(&norm_sig, &sigptr, vchSig.size()) == NULL) + { + /* As of OpenSSL 1.0.0p d2i_ECDSA_SIG frees and nulls the pointer on + * error. But OpenSSL's own use of this function redundantly frees the + * result. As ECDSA_SIG_free(NULL) is a no-op, and in the absence of a + * clear contract for the function behaving the same way is more + * conservative. + */ + ECDSA_SIG_free(norm_sig); + return false; + } + int derlen = i2d_ECDSA_SIG(norm_sig, &norm_der); + ECDSA_SIG_free(norm_sig); + if (derlen <= 0) + return false; + + // -1 = error, 0 = bad sig, 1 = good + bool ret = ECDSA_verify(0, (unsigned char*)&hash, sizeof(hash), norm_der, derlen, pkey) == 1; + OPENSSL_free(norm_der); + return ret; } bool CKey::VerifyCompact(uint256 hash, const std::vector& vchSig) From a9e6659b2a2d5500ce4cc864736e56c1083043d3 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 10:10:34 -0700 Subject: [PATCH 236/555] Fix CKey mem leaks https://github.com/bitcoin/bitcoin/commit/27e35bf84079ebb37ea6b756ad01ea9ed2bdad5f https://github.com/bitcoin/bitcoin/commit/6f21e7317e86cac4f26234116513fa153111032a --- src/key.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/key.cpp b/src/key.cpp index 78c4327d3..ad15bfef7 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -328,8 +328,11 @@ bool CKey::SignCompact(uint256 hash, std::vector& vchSig) } if (nRecId == -1) + { + ECDSA_SIG_free(sig); throw key_error("CKey::SignCompact() : unable to construct recoverable key"); - + } + vchSig[0] = nRecId+27+(fCompressedPubKey ? 4 : 0); BN_bn2bin(sig->r,&vchSig[33-(nBitsR+7)/8]); BN_bn2bin(sig->s,&vchSig[65-(nBitsS+7)/8]); @@ -367,6 +370,7 @@ bool CKey::SetCompactSignature(uint256 hash, const std::vector& v ECDSA_SIG_free(sig); return true; } + ECDSA_SIG_free(sig); return false; } From 0937fbf186bb5d6bc0d31ab0eddf4592f36bfbdb Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 10:21:02 -0700 Subject: [PATCH 237/555] Silence useless warning in src/json/json_spirit_writer_template.h https://github.com/bitcoin/bitcoin/commit/e564297156b9103c5af85f6b444df0bdc2476397 --- src/json/json_spirit_writer_template.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/json/json_spirit_writer_template.h b/src/json/json_spirit_writer_template.h index 28c49ddc6..8db4413fd 100644 --- a/src/json/json_spirit_writer_template.h +++ b/src/json/json_spirit_writer_template.h @@ -28,7 +28,8 @@ namespace json_spirit template< class String_type > String_type non_printable_to_string( unsigned int c ) { - typedef typename String_type::value_type Char_type; + // Silence the warning: typedef ‘Char_type’ locally defined but not used [-Wunused-local-typedefs] + //typedef typename String_type::value_type Char_type; String_type result( 6, '\\' ); From 26c069e25daaf7a7b091843c208e62709e6bba7a Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 11:07:13 -0700 Subject: [PATCH 238/555] Address book default to receive add if splitblock https://github.com/ofeefee/fluttercoin/commit/19c92ba286420e4f4eafeab162101ab16563e296 --- src/qt/sendcoinsentry.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/qt/sendcoinsentry.cpp b/src/qt/sendcoinsentry.cpp index c8bf322a6..732f09cf6 100644 --- a/src/qt/sendcoinsentry.cpp +++ b/src/qt/sendcoinsentry.cpp @@ -46,13 +46,26 @@ void SendCoinsEntry::on_addressBookButton_clicked() { if(!model) return; - AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); - dlg.setModel(model->getAddressTableModel()); - if(dlg.exec()) + if (model->getSplitBlock()) { - ui->payTo->setText(dlg.getReturnValue()); - ui->payAmount->setFocus(); + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); + dlg.setModel(model->getAddressTableModel()); + if(dlg.exec()) + { + ui->payTo->setText(dlg.getReturnValue()); + ui->payAmount->setFocus(); + } } + else + { + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::SendingTab, this); + dlg.setModel(model->getAddressTableModel()); + if(dlg.exec()) + { + ui->payTo->setText(dlg.getReturnValue()); + ui->payAmount->setFocus(); + } + } } void SendCoinsEntry::on_payTo_textChanged(const QString &address) From 74ea131c65c0ff2bcd24e86a323518129c4ca2c3 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jan 2015 13:25:40 -0700 Subject: [PATCH 239/555] cclist - make weight an integer --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c3a7fded6..a49d1271e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2229,7 +2229,7 @@ Value cclistcoins(const Array& params, bool fHelp) pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); if(dAge < 8.8) nWeight = 0; - coutput.push_back(Pair("Weight", (nWeight))); + coutput.push_back(Pair("Weight", int(nWeight))); result.push_back(coutput); } return result; From 6c39f14c3972fac74a184401bd39c8bd7dfb2ac0 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 14 Jan 2015 13:27:32 -0700 Subject: [PATCH 240/555] updated makefile.mingw --- src/makefile.mingw | 55 +++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/makefile.mingw b/src/makefile.mingw index 36a886066..377a428ae 100644 --- a/src/makefile.mingw +++ b/src/makefile.mingw @@ -6,32 +6,33 @@ USE_UPNP:=0 USE_IPV6:=1 INCLUDEPATHS= \ + -I"$(CURDIR)" \ -I"C:/deps/boost_1_55_0" \ - -I"c:/deps/db/build_unix" \ + -I"c:/deps/db-4.8.30.NC/build_unix" \ -L"/deps/miniupnpc" \ -L"c:/deps/" \ - -I"c:/deps/ssl/include" + -I"c:/deps/openssl-1.0.1j/include" LIBPATHS= \ -L"C:/deps/boost_1_55_0/stage/lib" \ - -L"c:/deps/db/build_unix" \ - -L"c:/deps/ssl" \ - -L"c:/deps/ \ + -L"c:/deps/db-4.8.30.NC/build_unix" \ + -L"c:/deps/openssl-1.0.1j" \ + -L"c:/deps/" \ -L"/deps/miniupnpc" LIBS= \ - -l boost_system-mgw48-mt-d-1_55 \ - -l boost_filesystem-mgw48-mt-d-1_55 \ - -l boost_program_options-mgw48-mt-d-1_55 \ - -l boost_thread-mgw48-mt-d-1_55 \ - -l db_cxx \ + -l boost_system-mgw49-mt-s-1_55 \ + -l boost_filesystem-mgw49-mt-s-1_55 \ + -l boost_program_options-mgw49-mt-s-1_55 \ + -l boost_thread-mgw49-mt-s-1_55 \ + -l db_cxx$$BDB_LIB_SUFFIX \ -l ssl \ -l crypto DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -D__NO_SYSTEM_INCLUDES DEBUGFLAGS=-g CFLAGS=-mthreads -O2 -msse2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat +LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) @@ -39,10 +40,10 @@ ifndef USE_UPNP override USE_UPNP = - endif ifneq (${USE_UPNP}, -) - INCLUDEPATHS += -I"C:\miniupnpc-1.6-mgw" - LIBPATHS += -L"C:\miniupnpc-1.6-mgw" - LIBS += -l miniupnpc -l iphlpapi - DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP) + INCLUDEPATHS += -I"C:\deps\miniupnpc" + LIBPATHS += -L"C:\deps\miniupnpc" + LIBS += -l miniupnpc -l iphlpapi + DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP) endif ifneq (${USE_IPV6}, -) @@ -84,23 +85,23 @@ OBJS= \ obj/noui.o \ obj/kernel.o \ obj/pbkdf2.o \ - src/blake.o \ - src/bmw.o \ - src/groestl.o \ - src/jh.o \ - src/keccak.o \ - src/skein.o \ - src/luffa.o \ - src/cubehash.o \ - src/shavite.o \ - src/echo.o \ - src/simd.o + obj/blake.o \ + obj/bmw.o \ + obj/groestl.o \ + obj/jh.o \ + obj/keccak.o \ + obj/skein.o \ + obj/luffa.o \ + obj/cubehash.o \ + obj/shavite.o \ + obj/echo.o \ + obj/simd.o all: hyperstaked.exe test check: test_hyperstake.exe FORCE test_hyperstake.exe - + obj/%.o: %.cpp $(HEADERS) g++ -c $(CFLAGS) -o $@ $< From 4b9d293b51ba7e8f82c77f85eaf1308d6bdd2504 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 17 Jan 2015 10:36:53 -0700 Subject: [PATCH 241/555] MultiSend RPC Remove Stake For Charity and Replace it with MultiSend --- src/bitcoinrpc.cpp | 12 +-- src/bitcoinrpc.h | 3 +- src/main.cpp | 10 +- src/qt/bitcoingui.cpp | 56 ++++------ src/qt/bitcoingui.h | 4 +- src/qt/charitydialog.cpp | 18 ++-- src/qt/walletmodel.cpp | 86 ---------------- src/qt/walletmodel.h | 16 +-- src/rpcwallet.cpp | 214 ++++++++++++++++++++++++--------------- src/wallet.cpp | 95 ++++++++--------- src/wallet.h | 35 +++++-- src/walletdb.cpp | 39 +++---- src/walletdb.h | 45 ++++---- 13 files changed, 281 insertions(+), 352 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 44f8ed0a7..386719236 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -191,8 +191,6 @@ Value stop(const Array& params, bool fHelp) return "HyperStake server stopping"; } - - // // Call Table // @@ -276,7 +274,7 @@ static const CRPCCommand vRPCCommands[] = { "resendtx", &resendtx, false, true}, { "makekeypair", &makekeypair, false, true}, { "sendalert", &sendalert, false, false}, - { "stakeforcharity", &stakeforcharity, false, false }, + { "multisend", &multisend, false, false }, { "cclistcoins", &cclistcoins, false, false }, { "ccselect", &ccselect, false, false }, { "cclistselected", &cclistselected, false, false }, @@ -1126,8 +1124,6 @@ Object CallRPC(const string& strMethod, const Array& params) } - - template void ConvertTo(Value& value, bool fAllowNull=false) { @@ -1206,9 +1202,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); - if (strMethod == "stakeforcharity" && n > 1) ConvertTo(params[1]); - if (strMethod == "stakeforcharity" && n > 3) ConvertTo(params[3]); - if (strMethod == "stakeforcharity" && n > 4) ConvertTo(params[4]); + if (strMethod == "multisend" && n > 1) ConvertTo(params[1]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 2) ConvertTo(params[3]); @@ -1285,8 +1279,6 @@ int CommandLineRPC(int argc, char *argv[]) } - - #ifdef TEST int main(int argc, char *argv[]) { diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index eb999d770..5aae3d55c 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -158,7 +158,6 @@ extern json_spirit::Value setaccount(const json_spirit::Array& params, bool fHel extern json_spirit::Value getaccount(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getaddressesbyaccount(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value sendtoaddress(const json_spirit::Array& params, bool fHelp); -//extern json_spirit::Value splitblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value signmessage(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value verifymessage(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getreceivedbyaddress(const json_spirit::Array& params, bool fHelp); @@ -193,7 +192,7 @@ extern json_spirit::Value makekeypair(const json_spirit::Array& params, bool fHe extern json_spirit::Value validatepubkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getnewpubkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getnetworkhashps(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value stakeforcharity(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value multisend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value setstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakesplitthreshold(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value disablestake(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index fdb2def1b..a2929fda7 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2344,11 +2344,11 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) } printf("ProcessBlock: ACCEPTED\n"); - - // If turned on stakeforcharity, send a portion of stake reward to savings account address - if (pwalletMain->fStakeForCharity) - if (!pwalletMain->StakeForCharity() ) - printf("ERROR While trying to send portion of stake reward to savings account"); + // If turned on MultiSend will send a transaction (or more) on the 30th confirmation of a stake + if (pwalletMain->fMultiSend) + if (!pwalletMain->MultiSend() ) + printf("ERROR While trying to use MultiSend"); + /* HyperStake is not using a checkpoint server // ppcoin: if responsible for sync-checkpoint send it diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 67aa60d57..5faacd59b 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -192,7 +192,6 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): nHoursToMaturity = 0; nNetworkWeight = 0; nAmount = 0; - //fS4CNotificator = false; // Progress bar and label for blocks download progressBarLabel = new QLabel(); @@ -303,13 +302,13 @@ void BitcoinGUI::createActions() aboutAction = new QAction(QIcon(":/icons/bitcoin"), tr("&About HyperStake"), this); aboutAction->setToolTip(tr("Show information about HyperStake")); aboutAction->setMenuRole(QAction::AboutRole); - + charityAction = new QAction(QIcon(":/icons/s4c"), tr("&S4C"), this); charityAction->setToolTip(tr("Enable Stake For Charity")); charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); tabGroup->addAction(charityAction); - + calcAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Stake Calculator"), this); calcAction->setToolTip(tr("Open Stake Calculator")); calcAction->setMenuRole(QAction::AboutRole); @@ -317,19 +316,7 @@ void BitcoinGUI::createActions() blockAction = new QAction(QIcon(":/icons/blexp"), tr("Block Bro&wser"), this); blockAction->setStatusTip(tr("Explore the BlockChain")); blockAction->setToolTip(blockAction->statusTip()); - - //blocksIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Block Info"), this); - //blocksIconAction->setStatusTip(tr("Get Current Block Information")); - //blocksIconAction->setToolTip(blocksIconAction->statusTip()); - - //stakingIconAction = new QAction(QIcon(":/icons/info"), tr("Current &PoS Block Info"), this); - //stakingIconAction->setStatusTip(tr("Get Current PoS Block Information")); - //stakingIconAction->setToolTip(stakingIconAction->statusTip()); - - //connectionIconAction = new QAction(QIcon(":/icons/info"), tr("Current &Node Info"), this); - //connectionIconAction->setStatusTip(tr("Get Current Peer Information")); - //connectionIconAction->setToolTip(connectionIconAction->statusTip()); - + aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); @@ -385,9 +372,6 @@ void BitcoinGUI::createActions() connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWalletForMint())); connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); - //connect(blocksIconAction, SIGNAL(triggered()), this, SLOT(blocksIconClicked())); - //connect(connectionIconAction, SIGNAL(triggered()), this, SLOT(connectionIconClicked())); - //connect(stakingIconAction, SIGNAL(triggered()), this, SLOT(stakingIconClicked())); /* zeewolf: Hot swappable wallet themes */ if (themesList.count()>0) @@ -433,10 +417,6 @@ void BitcoinGUI::createMenuBar() QMenu *network = appMenuBar->addMenu(tr("&Network")); network->addAction(blockAction); - //network->addSeparator(); - //network->addAction(blocksIconAction); - //network->addAction(stakingIconAction); - //network->addAction(connectionIconAction); QMenu *settings = appMenuBar->addMenu(tr("&Tools")); settings->addAction(encryptWalletAction); @@ -445,7 +425,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(changePassphraseAction); settings->addAction(checkWalletAction); settings->addAction(repairWalletAction); - settings->addAction(charityAction); + //settings->addAction(charityAction); settings->addAction(calcAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -476,7 +456,7 @@ void BitcoinGUI::createToolBars() toolbar->addAction(receiveCoinsAction); toolbar->addAction(historyAction); toolbar->addAction(addressBookAction); - toolbar->addAction(charityAction); + //toolbar->addAction(charityAction); QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); @@ -818,7 +798,7 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data(Qt::EditRole).toULongLong(); if(!clientModel->inInitialBlockDownload()) { - fS4CNotificator = walletModel->getS4CNotificator(); + fMultiSendNotify = pwalletMain->fMultiSendNotify; // On new transaction, make an info balloon // Unless the initial block download is in progress, to prevent balloon-spam @@ -833,7 +813,7 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .data(Qt::DecorationRole)); notificator->notify(Notificator::Information, - (amount)<0 ? (fS4CNotificator == true ? tr("Sent S4C transaction") : tr("Sent transaction") ): + (amount)<0 ? (fMultiSendNotify == true ? tr("Sent MultiSend transaction") : tr("Sent transaction") ): tr("Incoming transaction"), tr("Date: %1\n" "Amount: %2\n" @@ -843,7 +823,8 @@ void BitcoinGUI::incomingTransaction(const QModelIndex & parent, int start, int .arg(BitcoinUnits::formatWithUnit(walletModel->getOptionsModel()->getDisplayUnit(), amount, true)) .arg(type) .arg(address), icon); - walletModel->setS4CNotificator(false); + + pwalletMain->fMultiSendNotify = false; } } @@ -1196,31 +1177,31 @@ void BitcoinGUI::updateMintingIcon() { if (pwalletMain && pwalletMain->IsLocked()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (pwalletMain && pwalletMain->fDisableStake) { - labelMintingIcon->setToolTip(tr("Not minting because staking is disabled.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Not minting because staking is disabled.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (vNodes.empty()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (IsInitialBlockDownload()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
          Network weight is %1.
          S4C %: %2
          S4C Address: %3").arg(nNetworkWeight).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (!nWeight) { - labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
          Next block matures in %2 hours
          Network weight is %1
          S4C %: %3
          S4C Address: %4").arg(nNetworkWeight).arg(nHoursToMaturity).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Not minting because you don't have mature coins.
          Next block matures in %2 hours
          Network weight is %1
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } @@ -1252,7 +1233,7 @@ void BitcoinGUI::updateMintingIcon() labelMintingIcon->setMovie(miningIconMovie); miningIconMovie->start(); labelMintingIcon->setEnabled(true); - labelMintingIcon->setToolTip(tr("Minting.
          Your weight is %1.
          Network weight is %2.
          Estimated next stake in %3.
          S4C %: %4
          S4C Address: %5").arg(nWeight).arg(nNetworkWeight).arg(text).arg(nCharityPercent).arg(strCharityAddress)); + labelMintingIcon->setToolTip(tr("Minting.
          Your weight is %1.
          Network weight is %2.
          Estimated next stake in %3.
          MultiSend: %4").arg(nWeight).arg(nNetworkWeight).arg(text).arg(fMultiSend ? tr("Active"):tr("Not Active"))); } else { @@ -1268,7 +1249,7 @@ void BitcoinGUI::updateMintingWeights() if ((clientModel && clientModel->getNumBlocks() >= clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) { nWeight = 0; - nCharityPercent = 0; + nAmount = 0; if (pwalletMain) @@ -1279,11 +1260,10 @@ void BitcoinGUI::updateMintingWeights() nNetworkWeight = GetPoSKernelPS(); } - //stake for charity check + //MultiSend check if(walletModel) { - nCharityPercent = walletModel->getStakeForCharityPercent(); - strCharityAddress = walletModel->getStakeForCharityAddress(); + fMultiSend = pwalletMain->fMultiSend; } } diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 748bf88a5..48b508369 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -124,8 +124,8 @@ class BitcoinGUI : public QMainWindow uint64 nNetworkWeight; uint64 nHoursToMaturity; uint64 nAmount; - bool fStakeForCharity; - bool fS4CNotificator; + bool fMultiSend; + bool fMultiSendNotify; int nCharityPercent; QString strCharityAddress; /* Themes support */ diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 4222ab802..a92e74822 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -32,8 +32,8 @@ void StakeForCharityDialog::setModel(WalletModel *model) int64 nMin; int64 nMax; - model->getStakeForCharity(nPer, strAddress, strChangeAddress, nMin, nMax); - + //model->getStakeForCharity(nPer, strAddress, strChangeAddress, nMin, nMax); + /* if (strAddress.IsValid() && nPer > 0 ) { ui->charityAddressEdit->setText(strAddress.ToString().c_str()); @@ -47,7 +47,7 @@ void StakeForCharityDialog::setModel(WalletModel *model) ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); ui->message->setText(tr("You are now giving to\n") + strAddress.ToString().c_str() + tr(".")); - } + }*/ } void StakeForCharityDialog::setAddress(const QString &address) @@ -78,14 +78,14 @@ void StakeForCharityDialog::on_changeAddressBookButton_clicked() { AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); dlg.setModel(model->getAddressTableModel()); - if (dlg.exec()) - setAddress(dlg.getReturnValue(), ui->charityChangeAddressEdit); + //if (dlg.exec()) + //setAddress(dlg.getReturnValue(), ui->charityChangeAddressEdit); } } void StakeForCharityDialog::on_enableButton_clicked() { - if(model->getEncryptionStatus() == WalletModel::Locked) + /* if(model->getEncryptionStatus() == WalletModel::Locked) { ui->message->setProperty("status", ""); ui->message->style()->polish(ui->message); @@ -178,12 +178,12 @@ void StakeForCharityDialog::on_enableButton_clicked() ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); ui->message->setText(tr("You are now sending to\n") + QString(address.ToString().c_str()) + tr(".")); - return; + return;*/ } void StakeForCharityDialog::on_disableButton_clicked() { - int nCharityPercent = 0; + /* int nCharityPercent = 0; CBitcoinAddress address = ""; CBitcoinAddress changeAddress = ""; int64 nMinAmount = MIN_TXOUT_AMOUNT; @@ -198,5 +198,5 @@ void StakeForCharityDialog::on_disableButton_clicked() ui->message->setProperty("status", ""); ui->message->style()->polish(ui->message); ui->message->setText(tr("Stake For Charity is now off")); - return; + return;*/ } diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 677c65ea9..6f36d235e 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -315,97 +315,12 @@ bool WalletModel::backupWallet(const QString &filename) return BackupWallet(*wallet, filename.toLocal8Bit().data()); } -void WalletModel::getStakeForCharity(int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - CBitcoinAddress& strStakeForCharityChangeAddress, int64& nStakeForCharityMinAmout, int64& nStakeForCharityMaxAmount) -{ - nStakeForCharityPercent = wallet->nStakeForCharityPercent; - strStakeForCharityAddress = wallet->strStakeForCharityAddress; - strStakeForCharityChangeAddress = wallet->strStakeForCharityChangeAddress; - nStakeForCharityMinAmout = wallet->nStakeForCharityMin; - nStakeForCharityMaxAmount = wallet->nStakeForCharityMax; -} - -int WalletModel::getStakeForCharityPercent() -{ - return wallet->nStakeForCharityPercent; -} - -QString WalletModel::getStakeForCharityAddress() -{ - if (!wallet->strStakeForCharityAddress.IsValid()) - return "Not Set"; - else - return wallet->strStakeForCharityAddress.ToString().c_str(); -} - -bool WalletModel::getS4CNotificator() -{ - return wallet->fS4CNotificator; -} - -void WalletModel::setS4CNotificator(bool fSet) -{ - wallet->fS4CNotificator = fSet; -} - -void WalletModel::setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - CBitcoinAddress& strStakeForCharityChangeAddress, int64& nStakeForCharityMin, int64& nStakeForCharityMax) -{ - // This function assumes the values were checked before being called - if (wallet->fFileBacked) // Tranz add option to not save. - { - CWalletDB walletdb(wallet->strWalletFile); - if (fStakeForCharity) { - walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); - walletdb.WriteStakeForCharity(strStakeForCharityAddress.ToString(), nStakeForCharityPercent, - strStakeForCharityChangeAddress.ToString(), nStakeForCharityMin, nStakeForCharityMax); - } - else { - walletdb.EraseStakeForCharity(wallet->strStakeForCharityAddress.ToString()); - walletdb.EraseStakeForCharity(strStakeForCharityAddress.ToString()); - } - - if(fDebug) - printf("setStakeForCharity: %s %d\n", strStakeForCharityAddress.ToString().c_str(), nStakeForCharityPercent); - } - - { - LOCK(wallet->cs_wallet); - wallet->fStakeForCharity = fStakeForCharity; - wallet->nStakeForCharityPercent = nStakeForCharityPercent; - wallet->strStakeForCharityAddress = strStakeForCharityAddress; - wallet->strStakeForCharityChangeAddress = strStakeForCharityChangeAddress; - wallet->nStakeForCharityMin = nStakeForCharityMin; - wallet->nStakeForCharityMax = nStakeForCharityMax; - } -} - //Information for coin control void WalletModel::getStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight) { wallet->GetStakeWeightFromValue(nTime, nValue, nWeight); } -void WalletModel::setAmountSelected(qint64 nAmountSelected) -{ - wallet->nAmountSelected = nAmountSelected; -} - -qint64 WalletModel::getAmountSelected() -{ - return wallet->nAmountSelected; -} - -void WalletModel::setBestAddress(std::string strAddress) -{ - wallet->strBestAddress = strAddress; -} - -QString WalletModel::getBestAddress() -{ - return QString::fromStdString(wallet->strBestAddress); -} - void WalletModel::setSplitBlock(bool fSplitBlock) { wallet->fSplitBlock = fSplitBlock; @@ -416,7 +331,6 @@ bool WalletModel::getSplitBlock() return wallet->fSplitBlock; } - void WalletModel::checkWallet(int& nMismatchSpent, int64& nBalanceInQuestion, int& nOrphansFound) { wallet->FixSpentCoins(nMismatchSpent, nBalanceInQuestion, nOrphansFound, true); diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index e12948e8e..b15661ccc 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -101,22 +101,8 @@ class WalletModel : public QObject void repairWallet(int& nMismatchSpent, qint64& nBalanceInQuestion, int& nOrphansFound); // Pass coin control information void getStakeWeightFromValue(const qint64& nTime, const qint64& nValue, quint64& nWeight); - void setAmountSelected(qint64 nAmountSelected); - qint64 getAmountSelected(); - void setBestAddress(std::string strAddress); - QString getBestAddress(); void setSplitBlock(bool fSplitBlock); - bool getSplitBlock(); - //Wallet Information about StakeForCharity - int getStakeForCharityPercent(); - QString getStakeForCharityAddress(); - bool getS4CNotificator(); - void setS4CNotificator(bool fSet); - void setStakeForCharity(bool fStakeForCharity, int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, - CBitcoinAddress& strStakeForCharityChangeAddress, qint64& nStakeForCharityMinAmount, qint64& nStakeForCharityMaxAmount); - void getStakeForCharity(int& nStakeForCharityPercent, CBitcoinAddress& strStakeForCharityAddress, CBitcoinAddress& strStakeForCharityChangeAddress, - qint64& nStakeForCharityMinAmount, qint64& nStakeForCharityMaxAmount); - + bool getSplitBlock(); // RAI object for unlocking wallet, returned by requestUnlock() class UnlockContext { diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index a49d1271e..23f29034b 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -12,9 +12,11 @@ #include "coincontrol.h" #include +#include using namespace json_spirit; using namespace std; +using namespace boost; int64 nWalletUnlockTime; CCoinControl* coinControl = new CCoinControl; @@ -339,107 +341,161 @@ Value getaccountaddress(const Array& params, bool fHelp) return ret; } -Value stakeforcharity(const Array ¶ms, bool fHelp) +//presstab HyperStake +Object printMultiSend() { - if (fHelp || params.size() < 2 || params.size() > 5) - throw runtime_error( - "stakeforcharity [Change Address] [min amount] [max amount]\n" - "Gives a percentage of a found stake to a different address, after stake matures\n" - "Percent is a whole number 1 to 50.\n" - "Change Address, Min and Max Amount are optional\n" - "Set percentage to zero to turn off" - + HelpRequiringPassphrase()); + Object ret; + ret.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); + for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) + { + ret.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); + ret.push_back(Pair("Percent", pwalletMain->vMultiSend[i].second)); + } + return ret; +} - CBitcoinAddress address(params[0].get_str()); +//presstab HyperStake +unsigned int sumMultiSend() +{ + unsigned int sum = 0; + for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) + { + sum += pwalletMain->vMultiSend[i].second; + } + return sum; +} + +// presstab HyperStake +Value multisend(const Array ¶ms, bool fHelp) +{ + CWalletDB walletdb(pwalletMain->strWalletFile); + bool fFileBacked; + + //MultiSend Commands + if(params.size() == 1) + { + string strCommand = params[0].get_str(); + Object ret; + if(strCommand == "print") + { + return printMultiSend(); + } + else if(strCommand == "clear") + { + LOCK(pwalletMain->cs_wallet); + { + fFileBacked = pwalletMain->fFileBacked; + string strRet; + if(fFileBacked) + { + if(walletdb.EraseMultiSend(pwalletMain->vMultiSend)) + strRet += "erased MultiSend vector from database & "; + + } + pwalletMain->vMultiSend.clear(); + pwalletMain->fMultiSend = false; + strRet += "cleared MultiSend vector from RAM"; + return strRet; + } + } + else if (strCommand == "enable") + { + if(pwalletMain->vMultiSend.size() < 1) + return "Unable to activate MultiSend, check MultiSend vector"; + if(CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) + { + pwalletMain->fMultiSend = true; + return "MultiSend activated"; + } + else + return "Unable to activate MultiSend, check MultiSend vector"; + } + else if (strCommand == "disable") + { + pwalletMain->fMultiSend = false; + return "MultiSend deactivated"; + } + } + if(params.size() == 2 && params[0].get_str() == "delete") + { + int del = params[1].get_int(); + pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); + + if(!walletdb.EraseMultiSend(pwalletMain->vMultiSend)) + return "failed to delete old MultiSend vector from database"; + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) + return "walletdb WriteMultiSend failed!"; + return printMultiSend(); + } + //if no commands are used + if (fHelp || params.size() != 2) + throw runtime_error( + "****************************************************************\n" + "WHAT IS MULTISEND?\n" + "MultiSend is a rebuild of what used to be called Stake For Charity (s4c)\n" + "MultiSend allows a user to automatically send a percent of their stake reward to as many addresses as you would like\n" + "The MultiSend transaction is sent when the staked coins mature (30 confirmations)\n" + "The only current restriction is that you cannot choose to send more than 100% of your stake using MultiSend\n" + "****************************************************************\n" + "MULTISEND COMMANDS (usage: multisend )\n" + " print - displays the current MultiSend vector \n" + " clear - deletes the current MultiSend vector \n" + " enable - activates the current MultiSend vector \n" + " disable - disables the current MultiSend vector \n" + " delete
          - deletes an address from the MultiSend vector \n" + "****************************************************************\n" + "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" + "multisend \n" + "This will add a new address to the MultiSend vector\n" + "Percent is a whole number 1 to 100.\n" + "****************************************************************\n" + ); + + //if the user is entering a new MultiSend item + string strAddress = params[0].get_str(); + CBitcoinAddress address(strAddress); if (!address.IsValid()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); - if (params[1].get_int() < 0) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid percentage"); - if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - unsigned int nPer = (unsigned int) params[1].get_int(); - - int64 nMinAmount = MIN_TXOUT_AMOUNT; - int64 nMaxAmount = MAX_MONEY; - - // Optional Change Address - CBitcoinAddress changeAddress; - if (params.size() > 2) { - changeAddress = params[2].get_str(); - if (!changeAddress.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake change address"); - } - - // Optional Min Amount - if (params.size() > 3) - { - int64 nAmount = AmountFromValue(params[3]); - if (nAmount < MIN_TXOUT_AMOUNT) - throw JSONRPCError(-101, "Send amount too small"); - else - nMinAmount = nAmount; - } - - // Optional Max Amount - if (params.size() > 4) - { - int64 nAmount = AmountFromValue(params[4]); - if (nAmount < MIN_TXOUT_AMOUNT) - throw JSONRPCError(-101, "Send amount too small"); - else - nMaxAmount = nAmount; - } - - CWalletDB walletdb(pwalletMain->strWalletFile); - + unsigned int nPercent = (unsigned int) params[1].get_int(); + LOCK(pwalletMain->cs_wallet); { - bool fFileBacked = pwalletMain->fFileBacked; - //Turn off if we set to zero. - //Future: After we allow multiple addresses, only turn of this address - if(nPer == 0) + fFileBacked = pwalletMain->fFileBacked; + //Error if 0 is entered + if(nPercent == 0) { - pwalletMain->fStakeForCharity = false; - pwalletMain->nStakeForCharityPercent = 0; - pwalletMain->nStakeForCharityMin = nMinAmount; - pwalletMain->nStakeForCharityMax = nMaxAmount; - - if(fFileBacked) - walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); - - pwalletMain->strStakeForCharityAddress = ""; - pwalletMain->strStakeForCharityChangeAddress = ""; - - return Value::null; + return "Sending 0% of stake is not valid"; } - //For now max percentage is 50. - if (nPer > 50 ) - nPer = 50; + + //MultiSend can only send 100% of your stake + if (nPercent + sumMultiSend() > 100) + return "Failed to add to MultiSend vector, the sum of your MultiSend is greater than 100%"; if(fFileBacked) - walletdb.EraseStakeForCharity(pwalletMain->strStakeForCharityAddress.ToString()); + walletdb.EraseMultiSend(pwalletMain->vMultiSend); - pwalletMain->strStakeForCharityAddress = address; - pwalletMain->nStakeForCharityPercent = nPer; - pwalletMain->strStakeForCharityChangeAddress = changeAddress; - pwalletMain->fStakeForCharity = true; - pwalletMain->nStakeForCharityMin = nMinAmount; - pwalletMain->nStakeForCharityMax = nMaxAmount; + std::pair newMultiSend; + newMultiSend.first = strAddress; + newMultiSend.second = nPercent; + pwalletMain->vMultiSend.push_back(newMultiSend); + pwalletMain->fMultiSend = true; if(fFileBacked) - walletdb.WriteStakeForCharity(address.ToString(), nPer, changeAddress.ToString(), nMinAmount, nMaxAmount); - + { + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) + return "walletdb WriteMultiSend failed!"; + } } - if (pwalletMain->fStakeForCharity) - return "Stake For Charity is active"; - else - return "Stake For Charity not active"; + return printMultiSend(); } + Value setaccount(const Array& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 2) diff --git a/src/wallet.cpp b/src/wallet.cpp index e84f36ce3..35e164f64 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1120,13 +1120,11 @@ int64 CWallet::GetNewMint() const return nTotal; } -int nPrevS4CHeight = 0; - -bool CWallet::StakeForCharity() +bool CWallet::MultiSend() { - if ( IsInitialBlockDownload() || IsLocked() ) + if ( IsInitialBlockDownload() || IsLocked() ) return false; - int64 nNet = 0; + int64 nAmount = 0; { LOCK(cs_wallet); @@ -1135,54 +1133,43 @@ bool CWallet::StakeForCharity() BOOST_FOREACH(const COutput& out, vCoins) { - COutput cout = out; - - while (IsChange(cout.tx->vout[cout.i]) && cout.tx->vin.size() > 0 && IsMine(cout.tx->vin[0])) - { - if (!mapWallet.count(cout.tx->vin[0].prevout.hash)) break; - cout = COutput(&mapWallet[cout.tx->vin[0].prevout.hash], cout.tx->vin[0].prevout.n, 0); - } - CTxDestination address; - if(!ExtractDestination(cout.tx->vout[cout.i].scriptPubKey, address)) continue; + if(!ExtractDestination(out.tx->vout[out.i].scriptPubKey, address)) continue; if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) { - // Calculate Amount for Charity - nNet = ( ( out.tx->GetCredit() - out.tx->GetDebit() ) * nStakeForCharityPercent )/100; - // Do not send if amount is too low - if (nNet < nStakeForCharityMin ) { - return false; - } - // Truncate to max if amount is too great - if (nNet > nStakeForCharityMax ) { - nNet = nStakeForCharityMax; - } - if (nBestHeight <= nPrevS4CHeight ) { - return false; - } else { - uint256 txhash = out.tx->GetHash(); - COutPoint outpt(txhash, out.i); - CCoinControl* cControl = new CCoinControl(); - cControl->Select(outpt); - - vector > vecSend; - CWalletTx wtx; - CReserveKey keyChange(this); - int64 nFeeRet = 0; + // create new coin control, populate it with the selected utxo, create sending vector + CCoinControl* cControl = new CCoinControl(); + uint256 txhash = out.tx->GetHash(); + COutPoint outpt(txhash, out.i); + cControl->Select(outpt); + CWalletTx wtx; + cControl->fReturnChange = true; + CReserveKey keyChange(this); // this change address does not end up being used, because change is returned with coin control switch + int64 nFeeRet = 0; + vector > vecSend; + + // loop through multisend vector and add amounts and addresses to the sending vector + for(unsigned int i = 0; i < vMultiSend.size(); i++) + { + // MultiSend vector is a pair of 1)Address as a std::string 2) Percent of stake to send as an int + nAmount = ( ( out.tx->GetCredit() - out.tx->GetDebit() ) * vMultiSend[i].second )/100; + CBitcoinAddress strAddSend(vMultiSend[i].first); CScript scriptPubKey; - scriptPubKey.SetDestination(strStakeForCharityAddress.Get()); - vecSend.push_back(make_pair(scriptPubKey, nNet)); - bool fCreated = CreateTransaction(vecSend, wtx, keyChange, nFeeRet, 1, true, cControl); - if (!fCreated) - printf("s4c createtransaction failed"); - if(!CommitTransaction(wtx, keyChange)) - printf("Transaction commit failed"); - else - fS4CNotificator = true; - nPrevS4CHeight = nBestHeight; - delete cControl; - } + scriptPubKey.SetDestination(strAddSend.Get()); + vecSend.push_back(make_pair(scriptPubKey, nAmount)); + } + + // Create the transaction and commit it to the network + bool fCreated = CreateTransaction(vecSend, wtx, keyChange, nFeeRet, 1, true, cControl); + if (!fCreated) + printf("MultiSend createtransaction failed"); + if(!CommitTransaction(wtx, keyChange)) + printf("MultiSend transaction commit failed"); + else + fMultiSendNotify = true; + nLastMultiSendHeight = nBestHeight; + delete cControl; } } } @@ -1379,14 +1366,14 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW int64 nValueIn = 0; if (!SelectCoins(nTotalValue, wtxNew.nTime, setCoins, nValueIn, coinControl)) return false; - CTxDestination outputAddress; + CTxDestination utxoAddress; BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { int64 nCredit = pcoin.first->vout[pcoin.second].nValue; dPriority += (double)nCredit * pcoin.first->GetDepthInMainChain(); //use this address to send change back //note that this will use the last address run through the FOREACH, needs better logic added - ExtractDestination(pcoin.first->vout[pcoin.second].scriptPubKey, outputAddress); + ExtractDestination(pcoin.first->vout[pcoin.second].scriptPubKey, utxoAddress); } int64 nChange = nValueIn - nValue - nFeeRet; @@ -1416,7 +1403,7 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW CScript scriptChange; // Stake For Charity: send change to custom address - if (fAllowS4C) { + /*if (fAllowS4C) { if (strStakeForCharityChangeAddress.IsValid()) scriptChange.SetDestination(strStakeForCharityChangeAddress.Get()); else @@ -1424,13 +1411,13 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW CPubKey vchPubKey = reservekey.GetReservedKey(); scriptChange.SetDestination(vchPubKey.GetID()); } - } + }*/ + if (coinControl && coinControl->fReturnChange == true) + scriptChange.SetDestination(utxoAddress); // coin control: send change to custom address else if (coinControl && !boost::get(&coinControl->destChange)) { scriptChange.SetDestination(coinControl->destChange); } - else if (coinControl && coinControl->fReturnChange == true) - scriptChange.SetDestination(outputAddress); // no coin control: send change to newly generated address else { diff --git a/src/wallet.h b/src/wallet.h index 4bd3a9b66..ff0f3e128 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -84,6 +84,15 @@ class CWallet : public CCryptoKeyStore bool fFileBacked; std::string strWalletFile; + + bool fWalletUnlockMintOnly; + int64 nAmountSelected; + std::string strBestAddress; + bool fCombine; + uint64 nStakeSplitThreshold; + bool fSplitBlock; + + //stake for charity bool fStakeForCharity; bool fS4CNotificator; int nStakeForCharityPercent; @@ -91,12 +100,13 @@ class CWallet : public CCryptoKeyStore int64 nStakeForCharityMax; CBitcoinAddress strStakeForCharityAddress; CBitcoinAddress strStakeForCharityChangeAddress; - bool fWalletUnlockMintOnly; - int64 nAmountSelected; - std::string strBestAddress; - bool fCombine; - uint64 nStakeSplitThreshold; - bool fSplitBlock; + + //MultiSend + std::vector > vMultiSend; + bool fMultiSend; + int nLastMultiSendHeight; + bool fMultiSendNotify; + std::string strMultiSendChangeAddress; // disable stake bool fDisableStake; @@ -137,7 +147,12 @@ class CWallet : public CCryptoKeyStore strDisableType = ""; strDisableArg = ""; dUserNumber = 0; - fStakeRequirement = false; + fStakeRequirement = false; + vMultiSend.clear(); + fMultiSend = false; + nLastMultiSendHeight = 0; + fMultiSendNotify = false; + strMultiSendChangeAddress = ""; } CWallet(std::string strWalletFileIn) { @@ -166,6 +181,11 @@ class CWallet : public CCryptoKeyStore strDisableArg = ""; dUserNumber = 0; fStakeRequirement = false; + vMultiSend.clear(); + fMultiSend = false; + nLastMultiSendHeight = 0; + fMultiSendNotify = false; + strMultiSendChangeAddress = ""; } std::map mapWallet; @@ -232,6 +252,7 @@ class CWallet : public CCryptoKeyStore int64 GetStake() const; int64 GetNewMint() const; bool StakeForCharity(); + bool MultiSend(); bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); diff --git a/src/walletdb.cpp b/src/walletdb.cpp index d7112c32e..cd7e38154 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -376,33 +376,18 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, { ssValue >> pwallet->nStakeSplitThreshold; } - else if (strType == "ats") // falsely names as autosavings, but for compat with older wallets keep using - { - string strS4CAccount; - ssKey >> strS4CAccount; - if (CBitcoinAddress(strS4CAccount).IsValid()) - { - pwallet->fStakeForCharity = true; - pwallet->strStakeForCharityAddress = CBitcoinAddress(strS4CAccount).Get(); - string strS4CChhangeAccount; - ssValue >> strS4CChhangeAccount; - if (CBitcoinAddress(strS4CChhangeAccount).IsValid()) - pwallet->strStakeForCharityChangeAddress = CBitcoinAddress(strS4CChhangeAccount).Get(); - ssValue >> pwallet->nStakeForCharityPercent; - } - - } - else if (strType == "ats2") - { - string strS4CAccount; - ssKey >> strS4CAccount; - if (CBitcoinAddress(strS4CAccount).IsValid()) - { - ssValue >> pwallet->nStakeForCharityMin; - ssValue >> pwallet->nStakeForCharityMax; - } - } - + else if (strType == "multisend") //presstab HyperStake + { + unsigned int i; + ssKey >> i; + std::pair pMultiSend; + ssValue >> pMultiSend; + if(CBitcoinAddress(pMultiSend.first).IsValid()) + { + pwallet->vMultiSend.push_back(pMultiSend); + pwallet->fMultiSend = true; + } + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 115c02082..75f326e96 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -103,7 +103,33 @@ class CWalletDB : public CDB nWalletDBUpdated++; return Write(std::string("stakeSplitThreshold"), nStakeSplitThreshold); } - + //presstab HyperStake + bool WriteMultiSend(std::vector > vMultiSend) + { + nWalletDBUpdated++; + bool ret = true; + for(unsigned int i = 0; i < vMultiSend.size(); i++) + { + std::pair pMultiSend; + pMultiSend = vMultiSend[i]; + if(!Write(std::make_pair(std::string("multisend"), i), pMultiSend, true)) + ret = false; + } + return ret; + } + bool EraseMultiSend(std::vector > vMultiSend) + { + nWalletDBUpdated++; + bool ret = true; + for(unsigned int i = 0; i < vMultiSend.size(); i++) + { + std::pair pMultiSend; + pMultiSend = vMultiSend[i]; + if(!Erase(std::make_pair(std::string("multisend"), i))) + ret = false; + } + return ret; + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; @@ -150,23 +176,6 @@ class CWalletDB : public CDB { return Write(std::string("minversion"), nVersion); } - - bool WriteStakeForCharity(std::string strStakeForCharityAddress, int nStakeForCharityPercent, std::string strStakeForCharityChangeAddress, - int64 nStakeForCharityMinAmount, int64 nStakeForCharityMaxAmount) - { - nWalletDBUpdated++; - if (!Write(std::make_pair(std::string("ats"), strStakeForCharityAddress),std::make_pair(strStakeForCharityChangeAddress ,nStakeForCharityPercent))) - return false; - - return Write(std::make_pair(std::string("ats2"), strStakeForCharityAddress),std::make_pair(nStakeForCharityMinAmount ,nStakeForCharityMaxAmount)); - } - - bool EraseStakeForCharity(std::string strStakeForCharityAddress) - { - nWalletDBUpdated++; - return Erase(std::make_pair(std::string("ats"), strStakeForCharityAddress)); - return Erase(std::make_pair(std::string("ats2"), strStakeForCharityAddress)); - } bool ReadAccount(const std::string& strAccount, CAccount& account); bool WriteAccount(const std::string& strAccount, const CAccount& account); From dfcb740c6e5a26afc34a0cf32f6abf07534f28b1 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 17 Jan 2015 10:47:19 -0700 Subject: [PATCH 242/555] v1.0.9 Beta --- src/version.cpp | 2 +- src/version.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index d58ba7099..80aca3440 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.7.3" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9-BETA" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index e170c0887..81d3cf68f 100644 --- a/src/version.h +++ b/src/version.h @@ -47,7 +47,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 7 -#define DISPLAY_VERSION_BUILD 3 +#define DISPLAY_VERSION_REVISION 9 +#define DISPLAY_VERSION_BUILD 0 #endif From 06a0b938fb69bc55ecfd0fbd961ffb0060f89b88 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 17 Jan 2015 11:27:25 -0700 Subject: [PATCH 243/555] multisend not send 2 times for split stakes --- src/wallet.cpp | 5 ++++- src/wallet.h | 3 --- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 35e164f64..f5e9efe85 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1120,6 +1120,7 @@ int64 CWallet::GetNewMint() const return nTotal; } +int nLastMultiSendHeight = 0; bool CWallet::MultiSend() { if ( IsInitialBlockDownload() || IsLocked() ) @@ -1135,9 +1136,11 @@ bool CWallet::MultiSend() { CTxDestination address; if(!ExtractDestination(out.tx->vout[out.i].scriptPubKey, address)) continue; - + if (nBestHeight <= nLastMultiSendHeight ) + return false; if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) { + // create new coin control, populate it with the selected utxo, create sending vector CCoinControl* cControl = new CCoinControl(); uint256 txhash = out.tx->GetHash(); diff --git a/src/wallet.h b/src/wallet.h index ff0f3e128..236c61b97 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -104,7 +104,6 @@ class CWallet : public CCryptoKeyStore //MultiSend std::vector > vMultiSend; bool fMultiSend; - int nLastMultiSendHeight; bool fMultiSendNotify; std::string strMultiSendChangeAddress; @@ -150,7 +149,6 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; vMultiSend.clear(); fMultiSend = false; - nLastMultiSendHeight = 0; fMultiSendNotify = false; strMultiSendChangeAddress = ""; } @@ -183,7 +181,6 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; vMultiSend.clear(); fMultiSend = false; - nLastMultiSendHeight = 0; fMultiSendNotify = false; strMultiSendChangeAddress = ""; } From 34c238bd728c360b26428a41ab3cda0b5519b679 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 18 Jan 2015 21:18:44 -0700 Subject: [PATCH 244/555] clean wallet.h --- src/wallet.h | 57 ++++++++++++++-------------------------------------- 1 file changed, 15 insertions(+), 42 deletions(-) diff --git a/src/wallet.h b/src/wallet.h index 236c61b97..6f37949e2 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -81,46 +81,31 @@ class CWallet : public CCryptoKeyStore public: mutable CCriticalSection cs_wallet; - bool fFileBacked; std::string strWalletFile; - + std::set setKeyPool; + typedef std::map MasterKeyMap; + MasterKeyMap mapMasterKeys; + unsigned int nMasterKeyMaxID; bool fWalletUnlockMintOnly; - int64 nAmountSelected; - std::string strBestAddress; - bool fCombine; + + //SplitBlock uint64 nStakeSplitThreshold; bool fSplitBlock; - //stake for charity - bool fStakeForCharity; - bool fS4CNotificator; - int nStakeForCharityPercent; - int64 nStakeForCharityMin; - int64 nStakeForCharityMax; - CBitcoinAddress strStakeForCharityAddress; - CBitcoinAddress strStakeForCharityChangeAddress; - //MultiSend std::vector > vMultiSend; bool fMultiSend; bool fMultiSendNotify; std::string strMultiSendChangeAddress; - // disable stake + // DisableStake bool fDisableStake; std::string strDisableType; std::string strDisableArg; double dUserNumber; bool fStakeRequirement; - std::set setKeyPool; - - - typedef std::map MasterKeyMap; - MasterKeyMap mapMasterKeys; - unsigned int nMasterKeyMaxID; - CWallet() { nWalletVersion = FEATURE_BASE; @@ -129,24 +114,18 @@ class CWallet : public CCryptoKeyStore nMasterKeyMaxID = 0; pwalletdbEncryption = NULL; nOrderPosNext = 0; - fStakeForCharity = false; - fS4CNotificator = false; - nStakeForCharityPercent = 0; - strStakeForCharityAddress = ""; - strStakeForCharityChangeAddress = ""; - nStakeForCharityMin = 0; - nStakeForCharityMax = 0; fWalletUnlockMintOnly = false; - nAmountSelected = 0; - strBestAddress = ""; - fCombine = false; nStakeSplitThreshold = 1000; fSplitBlock = false; + + //DisableStake fDisableStake = false; strDisableType = ""; strDisableArg = ""; dUserNumber = 0; fStakeRequirement = false; + + //MultiSend vMultiSend.clear(); fMultiSend = false; fMultiSendNotify = false; @@ -161,24 +140,18 @@ class CWallet : public CCryptoKeyStore nMasterKeyMaxID = 0; pwalletdbEncryption = NULL; nOrderPosNext = 0; - fStakeForCharity = false; - fS4CNotificator = false; - nStakeForCharityPercent = 0; - strStakeForCharityAddress = ""; - strStakeForCharityChangeAddress = ""; - nStakeForCharityMin = MIN_TXOUT_AMOUNT; - nStakeForCharityMax = MAX_MONEY; fWalletUnlockMintOnly = false; - nAmountSelected = 0; - strBestAddress = ""; - fCombine = false; nStakeSplitThreshold = 1000; fSplitBlock = false; + + //DisableStake fDisableStake = false; strDisableType = ""; strDisableArg = ""; dUserNumber = 0; fStakeRequirement = false; + + //MultiSend vMultiSend.clear(); fMultiSend = false; fMultiSendNotify = false; From 97e490ec738114035b0c732ee7383badd076d36f Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 18 Jan 2015 23:12:18 -0700 Subject: [PATCH 245/555] Add MultiSend settings to walletdb --- src/rpcwallet.cpp | 14 +++++++++----- src/wallet.cpp | 10 +++++++--- src/wallet.h | 3 +++ src/walletdb.cpp | 8 +++++++- src/walletdb.h | 9 +++++++++ 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 23f29034b..10e959c3b 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -398,21 +398,26 @@ Value multisend(const Array ¶ms, bool fHelp) return strRet; } } - else if (strCommand == "enable") + else if (strCommand == "enable" || "activate") { if(pwalletMain->vMultiSend.size() < 1) return "Unable to activate MultiSend, check MultiSend vector"; if(CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) { pwalletMain->fMultiSend = true; + if(!walletdb.WriteMSettings(true, pwalletMain->nLastMultiSendHeight)) + return "MultiSend activated but writing settings to DB failed"; + else return "MultiSend activated"; } else return "Unable to activate MultiSend, check MultiSend vector"; } - else if (strCommand == "disable") + else if (strCommand == "disable" || "deactivate") { pwalletMain->fMultiSend = false; + if(!walletdb.WriteMSettings(false, pwalletMain->nLastMultiSendHeight)) + return "MultiSend deactivated but writing settings to DB failed"; return "MultiSend deactivated"; } } @@ -440,8 +445,8 @@ Value multisend(const Array ¶ms, bool fHelp) "MULTISEND COMMANDS (usage: multisend )\n" " print - displays the current MultiSend vector \n" " clear - deletes the current MultiSend vector \n" - " enable - activates the current MultiSend vector \n" - " disable - disables the current MultiSend vector \n" + " enable/activate - activates the current MultiSend vector \n" + " disable/deactivate - disables the current MultiSend vector \n" " delete
          - deletes an address from the MultiSend vector \n" "****************************************************************\n" "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" @@ -483,7 +488,6 @@ Value multisend(const Array ¶ms, bool fHelp) newMultiSend.first = strAddress; newMultiSend.second = nPercent; pwalletMain->vMultiSend.push_back(newMultiSend); - pwalletMain->fMultiSend = true; if(fFileBacked) { diff --git a/src/wallet.cpp b/src/wallet.cpp index f5e9efe85..c591debc4 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1120,7 +1120,6 @@ int64 CWallet::GetNewMint() const return nTotal; } -int nLastMultiSendHeight = 0; bool CWallet::MultiSend() { if ( IsInitialBlockDownload() || IsLocked() ) @@ -1140,7 +1139,6 @@ bool CWallet::MultiSend() return false; if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) { - // create new coin control, populate it with the selected utxo, create sending vector CCoinControl* cControl = new CCoinControl(); uint256 txhash = out.tx->GetHash(); @@ -1171,8 +1169,14 @@ bool CWallet::MultiSend() printf("MultiSend transaction commit failed"); else fMultiSendNotify = true; - nLastMultiSendHeight = nBestHeight; delete cControl; + + //write nLastMultiSendHeight to DB + CWalletDB walletdb(strWalletFile); + nLastMultiSendHeight = nBestHeight; + if(!walletdb.WriteMSettings(fMultiSend, nLastMultiSendHeight)) + printf("Failed to write MultiSend setting to DB"); + } } } diff --git a/src/wallet.h b/src/wallet.h index 6f37949e2..d231b0cf2 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -98,6 +98,7 @@ class CWallet : public CCryptoKeyStore bool fMultiSend; bool fMultiSendNotify; std::string strMultiSendChangeAddress; + int nLastMultiSendHeight; // DisableStake bool fDisableStake; @@ -130,6 +131,7 @@ class CWallet : public CCryptoKeyStore fMultiSend = false; fMultiSendNotify = false; strMultiSendChangeAddress = ""; + nLastMultiSendHeight = 0; } CWallet(std::string strWalletFileIn) { @@ -156,6 +158,7 @@ class CWallet : public CCryptoKeyStore fMultiSend = false; fMultiSendNotify = false; strMultiSendChangeAddress = ""; + nLastMultiSendHeight = 0; } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index cd7e38154..8db34c5b0 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -385,9 +385,15 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, if(CBitcoinAddress(pMultiSend.first).IsValid()) { pwallet->vMultiSend.push_back(pMultiSend); - pwallet->fMultiSend = true; } } + else if(strType == "msettings")//presstab HyperStake + { + std::pair pSettings; + ssValue >> pSettings; + pwallet->fMultiSend = pSettings.first; + pwallet->nLastMultiSendHeight = pSettings.second; + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 75f326e96..efe8c74ec 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -117,6 +117,7 @@ class CWalletDB : public CDB } return ret; } + //presstab HyperStake bool EraseMultiSend(std::vector > vMultiSend) { nWalletDBUpdated++; @@ -130,6 +131,14 @@ class CWalletDB : public CDB } return ret; } + //presstab HyperStake + bool WriteMSettings(bool fEnable, int nLastMultiSendHeight) + { + std::pair pSettings; + pSettings.first = fEnable; + pSettings.second = nLastMultiSendHeight; + return Write(std::string("msettings"), pSettings, true); + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; From 991ba304800f7869eac608cfb581fc95c21d1c9f Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 19 Jan 2015 16:22:01 -0700 Subject: [PATCH 246/555] Fix MultiSend Enable/Disable --- src/rpcwallet.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 10e959c3b..f38289a97 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -398,7 +398,7 @@ Value multisend(const Array ¶ms, bool fHelp) return strRet; } } - else if (strCommand == "enable" || "activate") + else if (strCommand == "enable" || strCommand == "activate" ) { if(pwalletMain->vMultiSend.size() < 1) return "Unable to activate MultiSend, check MultiSend vector"; @@ -413,7 +413,7 @@ Value multisend(const Array ¶ms, bool fHelp) else return "Unable to activate MultiSend, check MultiSend vector"; } - else if (strCommand == "disable" || "deactivate") + else if (strCommand == "disable" || strCommand == "deactivate" ) { pwalletMain->fMultiSend = false; if(!walletdb.WriteMSettings(false, pwalletMain->nLastMultiSendHeight)) From f4543f7509508d7585c043626d76e7ec87be8d4c Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 21 Jan 2015 09:55:13 -0700 Subject: [PATCH 247/555] multisend printaddresses --- src/rpcwallet.cpp | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index f38289a97..8a8ebfa11 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -354,6 +354,41 @@ Object printMultiSend() return ret; } +//presstab HyperStake +Array printAddresses() +{ + std::vector vCoins; + pwalletMain->AvailableCoins(vCoins); + std::map mapAddresses; + + BOOST_FOREACH(const COutput& out, vCoins) + { + CTxDestination utxoAddress; + ExtractDestination(out.tx->vout[out.i].scriptPubKey, utxoAddress); + std::string strAdd = CBitcoinAddress(utxoAddress).ToString(); + + if(mapAddresses.find(strAdd) == mapAddresses.end()) //if strAdd is not already part of the map + { + mapAddresses[strAdd] = (double)out.tx->vout[out.i].nValue / (double)COIN; + } + else + { + mapAddresses[strAdd] += (double)out.tx->vout[out.i].nValue / (double)COIN; + } + } + Array ret; + for (map::const_iterator it = mapAddresses.begin(); it != mapAddresses.end(); ++it) + { + Object obj; + const std::string* strAdd = &(*it).first; + const double* nBalance = &(*it).second; + obj.push_back(Pair("Address ", *strAdd)); + obj.push_back(Pair("Balance ", *nBalance)); + ret.push_back(obj); + } + return ret; +} + //presstab HyperStake unsigned int sumMultiSend() { @@ -380,6 +415,10 @@ Value multisend(const Array ¶ms, bool fHelp) { return printMultiSend(); } + else if(strCommand == "printaddress" || strCommand == "printaddresses") + { + return printAddresses(); + } else if(strCommand == "clear") { LOCK(pwalletMain->cs_wallet); From 80fa4090fde01f2e32cc2fba97692d56a8921739 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 21 Jan 2015 10:03:16 -0700 Subject: [PATCH 248/555] organize RPC wallet --- src/rpcwallet.cpp | 874 ++++++++++++++++++++++------------------------ 1 file changed, 425 insertions(+), 449 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8a8ebfa11..6e29cb277 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -99,136 +99,6 @@ Value getinfo(const Array& params, bool fHelp) return obj; } - -//presstab -double GetMoneySupply(int nHeight) -{ - CBlockIndex* pindex = FindBlockByHeight(nHeight); - double nSupply = pindex->nMoneySupply; - return nSupply / COIN; -} - -//presstab -double GetSupplyChange(int nHeight, int pHeight) -{ - double nSupply = GetMoneySupply(nHeight); //present supply - double pSupply = GetMoneySupply(pHeight); //previous supply - double nChange = nSupply - pSupply; //difference - return nChange; -} - -//presstab -double GetBlockSpeed(int nHeight, int pHeight) -{ - CBlockIndex* pIndex = FindBlockByHeight(nHeight); - CBlockIndex* ppIndex = FindBlockByHeight(pHeight); - double nTime = pIndex->nTime; - double pTime = ppIndex->nTime; - double nTimeChange = (nTime - pTime) / 60 / 60 / 24; //in days - return nTimeChange; -} - -//presstab -double GetRate(int nHeight, int pHeight) -{ - double nSupplyChange = GetSupplyChange(nHeight, pHeight); - double nTimeChange = GetBlockSpeed(nHeight, pHeight); - double nMoneySupply = GetMoneySupply(nHeight); - double nRate = nSupplyChange / nMoneySupply / nTimeChange; - - return nRate; -} - -//presstab -double PredictFutureSupply(int nHeight, int pHeight, int nDays) -{ - double nRate = GetRate(nHeight, pHeight); - double nSupply = GetMoneySupply(nHeight); - double fSupply = nSupply * pow( 1 + nRate, nDays ); //compounds daily - - return fSupply; -} - -//new rpccommand presstab -Value getmoneysupply(const Array& params, bool fHelp) -{ - if (fHelp || params.size() > 1) - throw runtime_error( - "getmoneysupply [height]\n" - "Returns money supply at certain block, current money supply as default"); - - GetLastBlockIndex(pindexBest, false); - - int nHeight = 0; - double nMoneySupply = 0; - - if (params.size() > 0) - { - nHeight = pindexBest->nHeight; - int pHeight = params[0].get_int(); - if (pHeight > nHeight || pHeight < 0) - nMoneySupply = 0; - else - nMoneySupply = GetMoneySupply(pHeight); - } - else - { - nHeight = pindexBest->nHeight; - nMoneySupply = GetMoneySupply(nHeight); - } - Object obj; - obj.push_back(Pair("money supply", nMoneySupply)); - return obj; -} - - -//Presstab's Preferred Money Supply Information -Value moneysupply(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 0) - throw runtime_error( - "moneysupply\n" - "Show important money supply variables.\n"); - - // grab block index of last block - GetLastBlockIndex(pindexBest, false); - - //height of blocks - int64 nHeight = pindexBest->nHeight; //present - int64 n1Height = nHeight - 960; // day -- 960 blocks should be about 1 day if blocks have 90 sec spacing - int64 n7Height = nHeight - 960 * 7; // week - int64 n30Height = nHeight - 960 * 30; // month - int64 forkHeight = 31781; - - - //print to console - Object obj; - obj.push_back(Pair("moneysupply - present", GetMoneySupply(nHeight))); - obj.push_back(Pair("moneysupply - 960 blocks ago", GetMoneySupply(n1Height))); - obj.push_back(Pair("moneysupply - 6,720 blocks ago", GetMoneySupply(n7Height))); - obj.push_back(Pair("moneysupply - 28,800 blocks ago", GetMoneySupply(n30Height))); - - obj.push_back(Pair("supply change(last 960 blocks)", GetSupplyChange(nHeight, n1Height))); - obj.push_back(Pair("supply change(last 6,720 blocks)", GetSupplyChange(nHeight, n7Height))); - obj.push_back(Pair("supply change(last 28,800 blocks)", GetSupplyChange(nHeight, n30Height))); - obj.push_back(Pair("supply change since fork (block 31781)", GetSupplyChange(nHeight, forkHeight - 1))); - - obj.push_back(Pair("time change over 960 blocks", GetBlockSpeed(nHeight, n1Height))); - obj.push_back(Pair("time change over 6,720 blocks", GetBlockSpeed(nHeight, n7Height))); - obj.push_back(Pair("time change over 28,800 blocks", GetBlockSpeed(nHeight, n30Height))); - - obj.push_back(Pair("avg daily rate of change (last 960 blocks)", GetRate(nHeight, n1Height))); - obj.push_back(Pair("avg daily rate of change (last 6,720 blocks)", GetRate(nHeight, n7Height))); - obj.push_back(Pair("avg daily rate of change (last 28,800 blocks)", GetRate(nHeight, n30Height))); - - obj.push_back(Pair("projected money supply 1 day from now (daily compound)", PredictFutureSupply(nHeight, n1Height, 1))); - obj.push_back(Pair("projected money supply 7 days from now (daily compound)", PredictFutureSupply(nHeight, n7Height, 7))); - obj.push_back(Pair("projected money supply 30 days from now (daily compound)", PredictFutureSupply(nHeight, n30Height, 30))); - - //obj.push_back(Pair("projected money supply 365 days from now (using avg of 3 rates)", ms0 * pow (1 + (r1 + r7 +r30) / 3 * 8, 365 / 8))); - return obj; -} - Value getnewpubkey(const Array& params, bool fHelp) { if (fHelp || params.size() > 1) @@ -256,7 +126,6 @@ Value getnewpubkey(const Array& params, bool fHelp) return HexStr(vchPubKey.begin(), vchPubKey.end()); } - Value getnewaddress(const Array& params, bool fHelp) { if (fHelp || params.size() > 1) @@ -285,7 +154,6 @@ Value getnewaddress(const Array& params, bool fHelp) return CBitcoinAddress(keyID).ToString(); } - CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false) { CWalletDB walletdb(pwalletMain->strWalletFile); @@ -308,236 +176,38 @@ CBitcoinAddress GetAccountAddress(string strAccount, bool bForceNew=false) BOOST_FOREACH(const CTxOut& txout, wtx.vout) if (txout.scriptPubKey == scriptPubKey) bKeyUsed = true; - } - } - - // Generate a new key - if (!account.vchPubKey.IsValid() || bForceNew || bKeyUsed) - { - if (!pwalletMain->GetKeyFromPool(account.vchPubKey, false)) - throw JSONRPCError(RPC_WALLET_KEYPOOL_RAN_OUT, "Error: Keypool ran out, please call keypoolrefill first"); - - pwalletMain->SetAddressBookName(account.vchPubKey.GetID(), strAccount); - walletdb.WriteAccount(strAccount, account); - } - - return CBitcoinAddress(account.vchPubKey.GetID()); -} - -Value getaccountaddress(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 1) - throw runtime_error( - "getaccountaddress \n" - "Returns the current HyperStake address for receiving payments to this account."); - - // Parse the account first so we don't generate a key if there's an error - string strAccount = AccountFromValue(params[0]); - - Value ret; - - ret = GetAccountAddress(strAccount).ToString(); - - return ret; -} - -//presstab HyperStake -Object printMultiSend() -{ - Object ret; - ret.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); - for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) - { - ret.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); - ret.push_back(Pair("Percent", pwalletMain->vMultiSend[i].second)); - } - return ret; -} - -//presstab HyperStake -Array printAddresses() -{ - std::vector vCoins; - pwalletMain->AvailableCoins(vCoins); - std::map mapAddresses; - - BOOST_FOREACH(const COutput& out, vCoins) - { - CTxDestination utxoAddress; - ExtractDestination(out.tx->vout[out.i].scriptPubKey, utxoAddress); - std::string strAdd = CBitcoinAddress(utxoAddress).ToString(); - - if(mapAddresses.find(strAdd) == mapAddresses.end()) //if strAdd is not already part of the map - { - mapAddresses[strAdd] = (double)out.tx->vout[out.i].nValue / (double)COIN; - } - else - { - mapAddresses[strAdd] += (double)out.tx->vout[out.i].nValue / (double)COIN; - } - } - Array ret; - for (map::const_iterator it = mapAddresses.begin(); it != mapAddresses.end(); ++it) - { - Object obj; - const std::string* strAdd = &(*it).first; - const double* nBalance = &(*it).second; - obj.push_back(Pair("Address ", *strAdd)); - obj.push_back(Pair("Balance ", *nBalance)); - ret.push_back(obj); - } - return ret; -} - -//presstab HyperStake -unsigned int sumMultiSend() -{ - unsigned int sum = 0; - for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) - { - sum += pwalletMain->vMultiSend[i].second; - } - return sum; -} - -// presstab HyperStake -Value multisend(const Array ¶ms, bool fHelp) -{ - CWalletDB walletdb(pwalletMain->strWalletFile); - bool fFileBacked; - - //MultiSend Commands - if(params.size() == 1) - { - string strCommand = params[0].get_str(); - Object ret; - if(strCommand == "print") - { - return printMultiSend(); - } - else if(strCommand == "printaddress" || strCommand == "printaddresses") - { - return printAddresses(); - } - else if(strCommand == "clear") - { - LOCK(pwalletMain->cs_wallet); - { - fFileBacked = pwalletMain->fFileBacked; - string strRet; - if(fFileBacked) - { - if(walletdb.EraseMultiSend(pwalletMain->vMultiSend)) - strRet += "erased MultiSend vector from database & "; - - } - pwalletMain->vMultiSend.clear(); - pwalletMain->fMultiSend = false; - strRet += "cleared MultiSend vector from RAM"; - return strRet; - } - } - else if (strCommand == "enable" || strCommand == "activate" ) - { - if(pwalletMain->vMultiSend.size() < 1) - return "Unable to activate MultiSend, check MultiSend vector"; - if(CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) - { - pwalletMain->fMultiSend = true; - if(!walletdb.WriteMSettings(true, pwalletMain->nLastMultiSendHeight)) - return "MultiSend activated but writing settings to DB failed"; - else - return "MultiSend activated"; - } - else - return "Unable to activate MultiSend, check MultiSend vector"; - } - else if (strCommand == "disable" || strCommand == "deactivate" ) - { - pwalletMain->fMultiSend = false; - if(!walletdb.WriteMSettings(false, pwalletMain->nLastMultiSendHeight)) - return "MultiSend deactivated but writing settings to DB failed"; - return "MultiSend deactivated"; - } - } - if(params.size() == 2 && params[0].get_str() == "delete") - { - int del = params[1].get_int(); - pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); - - if(!walletdb.EraseMultiSend(pwalletMain->vMultiSend)) - return "failed to delete old MultiSend vector from database"; - if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) - return "walletdb WriteMultiSend failed!"; - return printMultiSend(); - } - //if no commands are used - if (fHelp || params.size() != 2) - throw runtime_error( - "****************************************************************\n" - "WHAT IS MULTISEND?\n" - "MultiSend is a rebuild of what used to be called Stake For Charity (s4c)\n" - "MultiSend allows a user to automatically send a percent of their stake reward to as many addresses as you would like\n" - "The MultiSend transaction is sent when the staked coins mature (30 confirmations)\n" - "The only current restriction is that you cannot choose to send more than 100% of your stake using MultiSend\n" - "****************************************************************\n" - "MULTISEND COMMANDS (usage: multisend )\n" - " print - displays the current MultiSend vector \n" - " clear - deletes the current MultiSend vector \n" - " enable/activate - activates the current MultiSend vector \n" - " disable/deactivate - disables the current MultiSend vector \n" - " delete
          - deletes an address from the MultiSend vector \n" - "****************************************************************\n" - "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" - "multisend \n" - "This will add a new address to the MultiSend vector\n" - "Percent is a whole number 1 to 100.\n" - "****************************************************************\n" - ); - - //if the user is entering a new MultiSend item - string strAddress = params[0].get_str(); - CBitcoinAddress address(strAddress); - if (!address.IsValid()) - throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); - if (params[1].get_int() < 0) - throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid percentage"); - if (pwalletMain->IsLocked()) - throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - - unsigned int nPercent = (unsigned int) params[1].get_int(); - - LOCK(pwalletMain->cs_wallet); - { - fFileBacked = pwalletMain->fFileBacked; - //Error if 0 is entered - if(nPercent == 0) - { - return "Sending 0% of stake is not valid"; - } - - //MultiSend can only send 100% of your stake - if (nPercent + sumMultiSend() > 100) - return "Failed to add to MultiSend vector, the sum of your MultiSend is greater than 100%"; - - if(fFileBacked) - walletdb.EraseMultiSend(pwalletMain->vMultiSend); - - std::pair newMultiSend; - newMultiSend.first = strAddress; - newMultiSend.second = nPercent; - pwalletMain->vMultiSend.push_back(newMultiSend); - - if(fFileBacked) - { - if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) - return "walletdb WriteMultiSend failed!"; - } - } - return printMultiSend(); + } + } + + // Generate a new key + if (!account.vchPubKey.IsValid() || bForceNew || bKeyUsed) + { + if (!pwalletMain->GetKeyFromPool(account.vchPubKey, false)) + throw JSONRPCError(RPC_WALLET_KEYPOOL_RAN_OUT, "Error: Keypool ran out, please call keypoolrefill first"); + + pwalletMain->SetAddressBookName(account.vchPubKey.GetID(), strAccount); + walletdb.WriteAccount(strAccount, account); + } + + return CBitcoinAddress(account.vchPubKey.GetID()); } +Value getaccountaddress(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getaccountaddress \n" + "Returns the current HyperStake address for receiving payments to this account."); + + // Parse the account first so we don't generate a key if there's an error + string strAccount = AccountFromValue(params[0]); + + Value ret; + + ret = GetAccountAddress(strAccount).ToString(); + return ret; +} Value setaccount(const Array& params, bool fHelp) { @@ -568,7 +238,6 @@ Value setaccount(const Array& params, bool fHelp) return Value::null; } - Value getaccount(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) @@ -587,7 +256,6 @@ Value getaccount(const Array& params, bool fHelp) return strAccount; } - Value getaddressesbyaccount(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) @@ -746,7 +414,6 @@ Value verifymessage(const Array& params, bool fHelp) return (key.GetPubKey().GetID() == keyID); } - Value getreceivedbyaddress(const Array& params, bool fHelp) { if (fHelp || params.size() < 1 || params.size() > 2) @@ -785,7 +452,6 @@ Value getreceivedbyaddress(const Array& params, bool fHelp) return ValueFromAmount(nAmount); } - void GetAccountAddresses(string strAccount, set& setAddress) { BOOST_FOREACH(const PAIRTYPE(CTxDestination, string)& item, pwalletMain->mapAddressBook) @@ -834,7 +500,6 @@ Value getreceivedbyaccount(const Array& params, bool fHelp) return (double)nAmount / (double)COIN; } - int64 GetAccountBalance(CWalletDB& walletdb, const string& strAccount, int nMinDepth) { int64 nBalance = 0; @@ -871,7 +536,6 @@ int64 GetAccountBalance(const string& strAccount, int nMinDepth) return GetAccountBalance(walletdb, strAccount, nMinDepth); } - Value getbalance(const Array& params, bool fHelp) { if (fHelp || params.size() > 2) @@ -930,7 +594,6 @@ Value getbalance(const Array& params, bool fHelp) return ValueFromAmount(nBalance); } - Value movecmd(const Array& params, bool fHelp) { if (fHelp || params.size() < 3 || params.size() > 5) @@ -991,7 +654,6 @@ Value movecmd(const Array& params, bool fHelp) return true; } - Value sendfrom(const Array& params, bool fHelp) { if (fHelp || params.size() < 3 || params.size() > 6) @@ -1035,7 +697,6 @@ Value sendfrom(const Array& params, bool fHelp) return wtx.GetHash().GetHex(); } - Value sendmany(const Array& params, bool fHelp) { if (fHelp || params.size() < 2 || params.size() > 4) @@ -1541,7 +1202,6 @@ Value deleteaddress(const Array& params, bool fHelp) return ret; } - Value listsinceblock(const Array& params, bool fHelp) { if (fHelp) @@ -1605,65 +1265,6 @@ Value listsinceblock(const Array& params, bool fHelp) return ret; } -//presstab HyperStake -Value getstaketx(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 1) - throw runtime_error( - "getstaketx \n" - "Get detailed information about a specific stake "); - - uint256 hash; - hash.SetHex(params[0].get_str()); - - Object entry; - Array vin; - - if (pwalletMain->mapWallet.count(hash)) - { - const CWalletTx& wtx = pwalletMain->mapWallet[hash]; - - BOOST_FOREACH(const CTxIn& txin, wtx.vin) - { - Object in; - if (wtx.IsCoinBase()) - entry.push_back(Pair("coinbase", HexStr(txin.scriptSig.begin(), txin.scriptSig.end()))); - else - { - CTransaction& txPrev = pwalletMain->mapWallet[txin.prevout.hash]; //first transaction - uint64_t nTime = wtx.nTime; //stake tx time - uint64_t nPrevTime = txPrev.nTime; //previous tx time - uint64_t nTimeToStake = nTime - nPrevTime; // time to stake in seconds - double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; - - int64 nDebit = wtx.GetDebit(); - int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); - - int64 nGeneratedImmature, nGeneratedMature, nFee2; - string strSentAccount; - list > listReceived; - list > listSent; - wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); - uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); - double nGeneratedAmount2 = max (nGeneratedMature, nGeneratedImmature); //uint64_t math not working - double percentReward = nFee / (nGeneratedAmount2 - nFee); - double dWeight = ((nGeneratedAmount - nFee)/ COIN) * (dDaysToStake - 8.8); - - entry.push_back(Pair("Stake TX Time", nTime)); - entry.push_back(Pair("Previous Time", nPrevTime)); - entry.push_back(Pair("Days To Stake", dDaysToStake)); - entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); - entry.push_back(Pair("Weight", dWeight)); - entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); - entry.push_back(Pair("Reward %", percentReward)); - entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); - entry.push_back(Pair("Size of Each New Block", ValueFromAmount(nGeneratedAmount/2))); - } - } - } - return entry; -} - Value gettransaction(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) @@ -1732,7 +1333,6 @@ Value gettransaction(const Array& params, bool fHelp) return entry; } - Value backupwallet(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) @@ -1747,7 +1347,6 @@ Value backupwallet(const Array& params, bool fHelp) return Value::null; } - Value keypoolrefill(const Array& params, bool fHelp) { if (fHelp || params.size() > 0) @@ -1766,7 +1365,6 @@ Value keypoolrefill(const Array& params, bool fHelp) return Value::null; } - void ThreadTopUpKeyPool(void* parg) { // Make this thread recognisable as the key-topping-up thread @@ -1863,7 +1461,6 @@ Value walletpassphrase(const Array& params, bool fHelp) return Value::null; } - Value walletpassphrasechange(const Array& params, bool fHelp) { if (pwalletMain->IsCrypted() && (fHelp || params.size() != 2)) @@ -1896,7 +1493,6 @@ Value walletpassphrasechange(const Array& params, bool fHelp) return Value::null; } - Value walletlock(const Array& params, bool fHelp) { if (pwalletMain->IsCrypted() && (fHelp || params.size() != 0)) @@ -1919,7 +1515,6 @@ Value walletlock(const Array& params, bool fHelp) return Value::null; } - Value encryptwallet(const Array& params, bool fHelp) { if (!pwalletMain->IsCrypted() && (fHelp || params.size() != 1)) @@ -2094,7 +1689,6 @@ Value reservebalance(const Array& params, bool fHelp) return result; } - // ppcoin: check wallet integrity Value checkwallet(const Array& params, bool fHelp) { @@ -2119,7 +1713,6 @@ Value checkwallet(const Array& params, bool fHelp) return result; } - // ppcoin: repair wallet Value repairwallet(const Array& params, bool fHelp) { @@ -2144,8 +1737,7 @@ Value repairwallet(const Array& params, bool fHelp) return result; } - -// HyperStake: resend unconfirmed wallet transactions +// resend unconfirmed wallet transactions Value resendtx(const Array& params, bool fHelp) { if (fHelp || params.size() > 1) @@ -2168,18 +1760,205 @@ Value makekeypair(const Array& params, bool fHelp) "Make a public/private key pair.\n" "[prefix] is optional preferred prefix for the public key.\n"); - string strPrefix = ""; - if (params.size() > 0) - strPrefix = params[0].get_str(); - - CKey key; - key.MakeNewKey(false); + string strPrefix = ""; + if (params.size() > 0) + strPrefix = params[0].get_str(); + + CKey key; + key.MakeNewKey(false); + + CPrivKey vchPrivKey = key.GetPrivKey(); + Object result; + result.push_back(Pair("PrivateKey", HexStr(vchPrivKey.begin(), vchPrivKey.end()))); + result.push_back(Pair("PublicKey", HexStr(key.GetPubKey().Raw()))); + return result; +} + +/** HyperStake Specific RPC Wallet Additions**/ + +//presstab +double GetMoneySupply(int nHeight) +{ + CBlockIndex* pindex = FindBlockByHeight(nHeight); + double nSupply = pindex->nMoneySupply; + return nSupply / COIN; +} +//presstab +double GetSupplyChange(int nHeight, int pHeight) +{ + double nSupply = GetMoneySupply(nHeight); //present supply + double pSupply = GetMoneySupply(pHeight); //previous supply + double nChange = nSupply - pSupply; //difference + return nChange; +} + +//presstab +double GetBlockSpeed(int nHeight, int pHeight) +{ + CBlockIndex* pIndex = FindBlockByHeight(nHeight); + CBlockIndex* ppIndex = FindBlockByHeight(pHeight); + double nTime = pIndex->nTime; + double pTime = ppIndex->nTime; + double nTimeChange = (nTime - pTime) / 60 / 60 / 24; //in days + return nTimeChange; +} +//presstab +double GetRate(int nHeight, int pHeight) +{ + double nSupplyChange = GetSupplyChange(nHeight, pHeight); + double nTimeChange = GetBlockSpeed(nHeight, pHeight); + double nMoneySupply = GetMoneySupply(nHeight); + double nRate = nSupplyChange / nMoneySupply / nTimeChange; + + return nRate; +} + +//presstab +double PredictFutureSupply(int nHeight, int pHeight, int nDays) +{ + double nRate = GetRate(nHeight, pHeight); + double nSupply = GetMoneySupply(nHeight); + double fSupply = nSupply * pow( 1 + nRate, nDays ); //compounds daily + + return fSupply; +} + +//presstab +Value getmoneysupply(const Array& params, bool fHelp) +{ + if (fHelp || params.size() > 1) + throw runtime_error( + "getmoneysupply [height]\n" + "Returns money supply at certain block, current money supply as default"); + + GetLastBlockIndex(pindexBest, false); + + int nHeight = 0; + double nMoneySupply = 0; + + if (params.size() > 0) + { + nHeight = pindexBest->nHeight; + int pHeight = params[0].get_int(); + if (pHeight > nHeight || pHeight < 0) + nMoneySupply = 0; + else + nMoneySupply = GetMoneySupply(pHeight); + } + else + { + nHeight = pindexBest->nHeight; + nMoneySupply = GetMoneySupply(nHeight); + } + Object obj; + obj.push_back(Pair("money supply", nMoneySupply)); + return obj; +} + +//Presstab's Preferred Money Supply Information +Value moneysupply(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "moneysupply\n" + "Show important money supply variables.\n"); + + // grab block index of last block + GetLastBlockIndex(pindexBest, false); + + //height of blocks + int64 nHeight = pindexBest->nHeight; //present + int64 n1Height = nHeight - 960; // day -- 960 blocks should be about 1 day if blocks have 90 sec spacing + int64 n7Height = nHeight - 960 * 7; // week + int64 n30Height = nHeight - 960 * 30; // month + int64 forkHeight = 31781; + + + //print to console + Object obj; + obj.push_back(Pair("moneysupply - present", GetMoneySupply(nHeight))); + obj.push_back(Pair("moneysupply - 960 blocks ago", GetMoneySupply(n1Height))); + obj.push_back(Pair("moneysupply - 6,720 blocks ago", GetMoneySupply(n7Height))); + obj.push_back(Pair("moneysupply - 28,800 blocks ago", GetMoneySupply(n30Height))); + + obj.push_back(Pair("supply change(last 960 blocks)", GetSupplyChange(nHeight, n1Height))); + obj.push_back(Pair("supply change(last 6,720 blocks)", GetSupplyChange(nHeight, n7Height))); + obj.push_back(Pair("supply change(last 28,800 blocks)", GetSupplyChange(nHeight, n30Height))); + obj.push_back(Pair("supply change since fork (block 31781)", GetSupplyChange(nHeight, forkHeight - 1))); + + obj.push_back(Pair("time change over 960 blocks", GetBlockSpeed(nHeight, n1Height))); + obj.push_back(Pair("time change over 6,720 blocks", GetBlockSpeed(nHeight, n7Height))); + obj.push_back(Pair("time change over 28,800 blocks", GetBlockSpeed(nHeight, n30Height))); + + obj.push_back(Pair("avg daily rate of change (last 960 blocks)", GetRate(nHeight, n1Height))); + obj.push_back(Pair("avg daily rate of change (last 6,720 blocks)", GetRate(nHeight, n7Height))); + obj.push_back(Pair("avg daily rate of change (last 28,800 blocks)", GetRate(nHeight, n30Height))); + + obj.push_back(Pair("projected money supply 1 day from now (daily compound)", PredictFutureSupply(nHeight, n1Height, 1))); + obj.push_back(Pair("projected money supply 7 days from now (daily compound)", PredictFutureSupply(nHeight, n7Height, 7))); + obj.push_back(Pair("projected money supply 30 days from now (daily compound)", PredictFutureSupply(nHeight, n30Height, 30))); + + //obj.push_back(Pair("projected money supply 365 days from now (using avg of 3 rates)", ms0 * pow (1 + (r1 + r7 +r30) / 3 * 8, 365 / 8))); + return obj; +} + +//presstab HyperStake +Value getstaketx(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getstaketx \n" + "Get detailed information about a specific stake "); + + uint256 hash; + hash.SetHex(params[0].get_str()); - CPrivKey vchPrivKey = key.GetPrivKey(); - Object result; - result.push_back(Pair("PrivateKey", HexStr(vchPrivKey.begin(), vchPrivKey.end()))); - result.push_back(Pair("PublicKey", HexStr(key.GetPubKey().Raw()))); - return result; + Object entry; + Array vin; + + if (pwalletMain->mapWallet.count(hash)) + { + const CWalletTx& wtx = pwalletMain->mapWallet[hash]; + + BOOST_FOREACH(const CTxIn& txin, wtx.vin) + { + Object in; + if (wtx.IsCoinBase()) + entry.push_back(Pair("coinbase", HexStr(txin.scriptSig.begin(), txin.scriptSig.end()))); + else + { + CTransaction& txPrev = pwalletMain->mapWallet[txin.prevout.hash]; //first transaction + uint64_t nTime = wtx.nTime; //stake tx time + uint64_t nPrevTime = txPrev.nTime; //previous tx time + uint64_t nTimeToStake = nTime - nPrevTime; // time to stake in seconds + double dDaysToStake = nTimeToStake / 60.00 / 60 / 24; + + int64 nDebit = wtx.GetDebit(); + int64 nFee = (wtx.IsFromMe() ? wtx.GetValueOut() - nDebit : 0); + + int64 nGeneratedImmature, nGeneratedMature, nFee2; + string strSentAccount; + list > listReceived; + list > listSent; + wtx.GetAmounts(nGeneratedImmature, nGeneratedMature, listReceived, listSent, nFee2, strSentAccount); + uint64_t nGeneratedAmount = max (nGeneratedMature, nGeneratedImmature); + double nGeneratedAmount2 = max (nGeneratedMature, nGeneratedImmature); //uint64_t math not working + double percentReward = nFee / (nGeneratedAmount2 - nFee); + double dWeight = ((nGeneratedAmount - nFee)/ COIN) * (dDaysToStake - 8.8); + + entry.push_back(Pair("Stake TX Time", nTime)); + entry.push_back(Pair("Previous Time", nPrevTime)); + entry.push_back(Pair("Days To Stake", dDaysToStake)); + entry.push_back(Pair("Original Amount", ValueFromAmount(nGeneratedAmount - nFee))); + entry.push_back(Pair("Weight", dWeight)); + entry.push_back(Pair("PoS Reward", ValueFromAmount(nFee))); + entry.push_back(Pair("Reward %", percentReward)); + entry.push_back(Pair("Total New Amount", ValueFromAmount(nGeneratedAmount))); + entry.push_back(Pair("Size of Each New Block", ValueFromAmount(nGeneratedAmount/2))); + } + } + } + return entry; } // presstab HyperStake @@ -2464,3 +2243,200 @@ Value ccsend(const Array& params, bool fHelp) coinControl->SetNull(); return wtx.GetHash().GetHex(); } + + +//presstab HyperStake +Object printMultiSend() +{ + Object ret; + ret.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); + for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) + { + ret.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); + ret.push_back(Pair("Percent", pwalletMain->vMultiSend[i].second)); + } + return ret; +} + +//presstab HyperStake +Array printAddresses() +{ + std::vector vCoins; + pwalletMain->AvailableCoins(vCoins); + std::map mapAddresses; + + BOOST_FOREACH(const COutput& out, vCoins) + { + CTxDestination utxoAddress; + ExtractDestination(out.tx->vout[out.i].scriptPubKey, utxoAddress); + std::string strAdd = CBitcoinAddress(utxoAddress).ToString(); + + if(mapAddresses.find(strAdd) == mapAddresses.end()) //if strAdd is not already part of the map + { + mapAddresses[strAdd] = (double)out.tx->vout[out.i].nValue / (double)COIN; + } + else + { + mapAddresses[strAdd] += (double)out.tx->vout[out.i].nValue / (double)COIN; + } + } + Array ret; + for (map::const_iterator it = mapAddresses.begin(); it != mapAddresses.end(); ++it) + { + Object obj; + const std::string* strAdd = &(*it).first; + const double* nBalance = &(*it).second; + obj.push_back(Pair("Address ", *strAdd)); + obj.push_back(Pair("Balance ", *nBalance)); + ret.push_back(obj); + } + return ret; +} + +//presstab HyperStake +unsigned int sumMultiSend() +{ + unsigned int sum = 0; + for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) + { + sum += pwalletMain->vMultiSend[i].second; + } + return sum; +} + +// presstab HyperStake +Value multisend(const Array ¶ms, bool fHelp) +{ + CWalletDB walletdb(pwalletMain->strWalletFile); + bool fFileBacked; + + //MultiSend Commands + if(params.size() == 1) + { + string strCommand = params[0].get_str(); + Object ret; + if(strCommand == "print") + { + return printMultiSend(); + } + else if(strCommand == "printaddress" || strCommand == "printaddresses") + { + return printAddresses(); + } + else if(strCommand == "clear") + { + LOCK(pwalletMain->cs_wallet); + { + fFileBacked = pwalletMain->fFileBacked; + string strRet; + if(fFileBacked) + { + if(walletdb.EraseMultiSend(pwalletMain->vMultiSend)) + strRet += "erased MultiSend vector from database & "; + + } + pwalletMain->vMultiSend.clear(); + pwalletMain->fMultiSend = false; + strRet += "cleared MultiSend vector from RAM"; + return strRet; + } + } + else if (strCommand == "enable" || strCommand == "activate" ) + { + if(pwalletMain->vMultiSend.size() < 1) + return "Unable to activate MultiSend, check MultiSend vector"; + if(CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) + { + pwalletMain->fMultiSend = true; + if(!walletdb.WriteMSettings(true, pwalletMain->nLastMultiSendHeight)) + return "MultiSend activated but writing settings to DB failed"; + else + return "MultiSend activated"; + } + else + return "Unable to activate MultiSend, check MultiSend vector"; + } + else if (strCommand == "disable" || strCommand == "deactivate" ) + { + pwalletMain->fMultiSend = false; + if(!walletdb.WriteMSettings(false, pwalletMain->nLastMultiSendHeight)) + return "MultiSend deactivated but writing settings to DB failed"; + return "MultiSend deactivated"; + } + } + if(params.size() == 2 && params[0].get_str() == "delete") + { + int del = params[1].get_int(); + pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); + + if(!walletdb.EraseMultiSend(pwalletMain->vMultiSend)) + return "failed to delete old MultiSend vector from database"; + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) + return "walletdb WriteMultiSend failed!"; + return printMultiSend(); + } + //if no commands are used + if (fHelp || params.size() != 2) + throw runtime_error( + "****************************************************************\n" + "WHAT IS MULTISEND?\n" + "MultiSend is a rebuild of what used to be called Stake For Charity (s4c)\n" + "MultiSend allows a user to automatically send a percent of their stake reward to as many addresses as you would like\n" + "The MultiSend transaction is sent when the staked coins mature (30 confirmations)\n" + "The only current restriction is that you cannot choose to send more than 100% of your stake using MultiSend\n" + "****************************************************************\n" + "MULTISEND COMMANDS (usage: multisend )\n" + " print - displays the current MultiSend vector \n" + " clear - deletes the current MultiSend vector \n" + " enable/activate - activates the current MultiSend vector \n" + " disable/deactivate - disables the current MultiSend vector \n" + " delete
          - deletes an address from the MultiSend vector \n" + "****************************************************************\n" + "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" + "multisend \n" + "This will add a new address to the MultiSend vector\n" + "Percent is a whole number 1 to 100.\n" + "****************************************************************\n" + ); + + //if the user is entering a new MultiSend item + string strAddress = params[0].get_str(); + CBitcoinAddress address(strAddress); + if (!address.IsValid()) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); + if (params[1].get_int() < 0) + throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid percentage"); + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); + + unsigned int nPercent = (unsigned int) params[1].get_int(); + + LOCK(pwalletMain->cs_wallet); + { + fFileBacked = pwalletMain->fFileBacked; + //Error if 0 is entered + if(nPercent == 0) + { + return "Sending 0% of stake is not valid"; + } + + //MultiSend can only send 100% of your stake + if (nPercent + sumMultiSend() > 100) + return "Failed to add to MultiSend vector, the sum of your MultiSend is greater than 100%"; + + if(fFileBacked) + walletdb.EraseMultiSend(pwalletMain->vMultiSend); + + std::pair newMultiSend; + newMultiSend.first = strAddress; + newMultiSend.second = nPercent; + pwalletMain->vMultiSend.push_back(newMultiSend); + + if(fFileBacked) + { + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) + return "walletdb WriteMultiSend failed!"; + } + } + return printMultiSend(); +} From 2333f36f42fcd838a64e482ad31b3786c5080281 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 21 Jan 2015 10:39:58 -0700 Subject: [PATCH 249/555] multisend - can only use each address 1 time --- src/rpcwallet.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 6e29cb277..bc1f28fde 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2423,6 +2423,12 @@ Value multisend(const Array ¶ms, bool fHelp) //MultiSend can only send 100% of your stake if (nPercent + sumMultiSend() > 100) return "Failed to add to MultiSend vector, the sum of your MultiSend is greater than 100%"; + + for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) + { + if(pwalletMain->vMultiSend[i].first == strAddress) + return "Failed to add to MultiSend vector, cannot use the same address twice"; + } if(fFileBacked) walletdb.EraseMultiSend(pwalletMain->vMultiSend); From a48dc0eabd06e74b74cf99f06ef6e1c97c1153fd Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 22 Jan 2015 14:07:41 -0700 Subject: [PATCH 250/555] multisend change param 2 to string --- src/bitcoinrpc.cpp | 1 - src/rpcwallet.cpp | 7 ++++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 386719236..a353b87f7 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1202,7 +1202,6 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "signrawtransaction" && n > 1) ConvertTo(params[1], true); if (strMethod == "signrawtransaction" && n > 2) ConvertTo(params[2], true); - if (strMethod == "multisend" && n > 1) ConvertTo(params[1]); if (strMethod == "setstakesplitthreshold" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 2) ConvertTo(params[3]); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index bc1f28fde..1f7874d9e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2366,7 +2366,7 @@ Value multisend(const Array ¶ms, bool fHelp) } if(params.size() == 2 && params[0].get_str() == "delete") { - int del = params[1].get_int(); + int del = boost::lexical_cast(params[1].get_str()); pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); if(!walletdb.EraseMultiSend(pwalletMain->vMultiSend)) @@ -2404,12 +2404,13 @@ Value multisend(const Array ¶ms, bool fHelp) CBitcoinAddress address(strAddress); if (!address.IsValid()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); - if (params[1].get_int() < 0) + if (boost::lexical_cast(params[1].get_str()) < 0) throw JSONRPCError(RPC_INVALID_PARAMETER, "Invalid parameter, expected valid percentage"); if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Please enter the wallet passphrase with walletpassphrase first."); - unsigned int nPercent = (unsigned int) params[1].get_int(); + + unsigned int nPercent = boost::lexical_cast(params[1].get_str()); LOCK(pwalletMain->cs_wallet); { From 079db26dcb53425c40508c134bbfde151b012d31 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 23 Jan 2015 16:49:49 -0700 Subject: [PATCH 251/555] multisend disable address disables an address from sending a multisend transaction after staking --- src/rpcwallet.cpp | 52 ++++++++++++++++++++++++++++++++++++++++++----- src/wallet.cpp | 12 +++++++++++ src/wallet.h | 3 +++ src/walletdb.cpp | 6 ++++++ src/walletdb.h | 25 +++++++++++++++++++++++ 5 files changed, 93 insertions(+), 5 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 1f7874d9e..f0235c4df 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2246,15 +2246,30 @@ Value ccsend(const Array& params, bool fHelp) //presstab HyperStake -Object printMultiSend() +Array printMultiSend() { - Object ret; - ret.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); + Array ret; + Object act; + act.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); + ret.push_back(act); + if(pwalletMain->vDisabledAddresses.size() >= 1) + { + Object disAdd; + for(unsigned int i = 0; i < pwalletMain->vDisabledAddresses.size(); i++) + { + disAdd.push_back(Pair("Disabled From Sending", pwalletMain->vDisabledAddresses[i])); + } + ret.push_back(disAdd); + } + + Object vMS; + vMS.push_back(Pair("MultiSend Addresses to Send To:", "")); for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) { - ret.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); - ret.push_back(Pair("Percent", pwalletMain->vMultiSend[i].second)); + vMS.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); + vMS.push_back(Pair("Percent", pwalletMain->vMultiSend[i].second)); } + ret.push_back(vMS); return ret; } @@ -2363,6 +2378,13 @@ Value multisend(const Array ¶ms, bool fHelp) return "MultiSend deactivated but writing settings to DB failed"; return "MultiSend deactivated"; } + else if(strCommand == "enableall") + { + if(!walletdb.EraseMSDisabledAddresses(pwalletMain->vDisabledAddresses)) + return "failed to clear old vector from walletDB"; + else + return "all addresses will now send MultiSend transactions"; + } } if(params.size() == 2 && params[0].get_str() == "delete") { @@ -2375,6 +2397,23 @@ Value multisend(const Array ¶ms, bool fHelp) return "walletdb WriteMultiSend failed!"; return printMultiSend(); } + if(params.size() == 2 && params[0].get_str() == "disable") + { + std::string disAddress = params[1].get_str(); + if(!CBitcoinAddress(disAddress).IsValid()) + return "address you want to disable is not valid"; + else + { + pwalletMain->vDisabledAddresses.push_back(disAddress); + if(!walletdb.EraseMSDisabledAddresses(pwalletMain->vDisabledAddresses)) + return "disabled address from sending, but failed to clear old vector from walletDB"; + if(!walletdb.WriteMSDisabledAddresses(pwalletMain->vDisabledAddresses)) + return "disabled address from sending, but failed to store it to walletDB"; + else + return "disabled address from sending MultiSend transactions"; + } + + } //if no commands are used if (fHelp || params.size() != 2) throw runtime_error( @@ -2391,6 +2430,9 @@ Value multisend(const Array ¶ms, bool fHelp) " enable/activate - activates the current MultiSend vector \n" " disable/deactivate - disables the current MultiSend vector \n" " delete
          - deletes an address from the MultiSend vector \n" + " disable
          - prevents a specific address from sending MultiSend transactions\n" + " enableall - enables all addresses to be eligible to send MultiSend transactions\n" + "****************************************************************\n" "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" "multisend \n" diff --git a/src/wallet.cpp b/src/wallet.cpp index c591debc4..cf8fdc9d4 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1139,6 +1139,18 @@ bool CWallet::MultiSend() return false; if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) { + //Disabled Addresses won't send MultiSend transactions + if(CBitcoinAddress(vDisabledAddresses[0]).IsValid()) + { + for(unsigned int i = 0; i < vDisabledAddresses.size(); i++) + { + if(vDisabledAddresses[i] == CBitcoinAddress(address).ToString()) + { + return false; + } + } + } + // create new coin control, populate it with the selected utxo, create sending vector CCoinControl* cControl = new CCoinControl(); uint256 txhash = out.tx->GetHash(); diff --git a/src/wallet.h b/src/wallet.h index d231b0cf2..4a92bafad 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -99,6 +99,7 @@ class CWallet : public CCryptoKeyStore bool fMultiSendNotify; std::string strMultiSendChangeAddress; int nLastMultiSendHeight; + std::vector vDisabledAddresses; // DisableStake bool fDisableStake; @@ -132,6 +133,7 @@ class CWallet : public CCryptoKeyStore fMultiSendNotify = false; strMultiSendChangeAddress = ""; nLastMultiSendHeight = 0; + vDisabledAddresses.clear(); } CWallet(std::string strWalletFileIn) { @@ -159,6 +161,7 @@ class CWallet : public CCryptoKeyStore fMultiSendNotify = false; strMultiSendChangeAddress = ""; nLastMultiSendHeight = 0; + vDisabledAddresses.clear(); } std::map mapWallet; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 8db34c5b0..5afeb3355 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -394,6 +394,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, pwallet->fMultiSend = pSettings.first; pwallet->nLastMultiSendHeight = pSettings.second; } + else if(strType == "mdisabled")//presstab HyperStake + { + std::string strDisabledAddress; + ssValue >> strDisabledAddress; + pwallet->vDisabledAddresses.push_back(strDisabledAddress); + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index efe8c74ec..36cd04734 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -134,11 +134,36 @@ class CWalletDB : public CDB //presstab HyperStake bool WriteMSettings(bool fEnable, int nLastMultiSendHeight) { + nWalletDBUpdated++; std::pair pSettings; pSettings.first = fEnable; pSettings.second = nLastMultiSendHeight; return Write(std::string("msettings"), pSettings, true); } + //presstab HyperStake + bool WriteMSDisabledAddresses(std::vector vDisabledAddresses) + { + nWalletDBUpdated++; + bool ret = true; + for(unsigned int i = 0; i < vDisabledAddresses.size(); i++) + { + if(!Write(std::make_pair(std::string("mdisabled"), i), vDisabledAddresses[i])) + ret = false; + } + return ret; + } + //presstab HyperStake + bool EraseMSDisabledAddresses(std::vector vDisabledAddresses) + { + nWalletDBUpdated++; + bool ret = true; + for(unsigned int i = 0; i < vDisabledAddresses.size(); i++) + { + if(!Erase(std::make_pair(std::string("mdisabled"), i))) + ret = false; + } + return ret; + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; From 8dfa57124059507c2b990066f92db1da313aa45e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 23 Jan 2015 17:02:26 -0700 Subject: [PATCH 252/555] fix multisend help display --- src/rpcwallet.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index f0235c4df..e447c02fe 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2417,6 +2417,7 @@ Value multisend(const Array ¶ms, bool fHelp) //if no commands are used if (fHelp || params.size() != 2) throw runtime_error( + "multisend \n" "****************************************************************\n" "WHAT IS MULTISEND?\n" "MultiSend is a rebuild of what used to be called Stake For Charity (s4c)\n" From 52e44b8f89fc5026f1b98f3035d388835c854d30 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 23 Jan 2015 17:44:34 -0700 Subject: [PATCH 253/555] dont use dust with block splitter --- src/qt/sendcoinsdialog.cpp | 4 ++-- src/wallet.cpp | 19 +++++++------------ 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/qt/sendcoinsdialog.cpp b/src/qt/sendcoinsdialog.cpp index 03b291bc6..94caae428 100644 --- a/src/qt/sendcoinsdialog.cpp +++ b/src/qt/sendcoinsdialog.cpp @@ -189,13 +189,13 @@ void SendCoinsDialog::on_sendButton_clicked() else { #if QT_VERSION < 0x050000 - formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)?").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), Qt::escape(rcp.label), rcp.address, QString::number(nSplitBlock), BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount / nSplitBlock))); #else - formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)? The block splitter will assign some dust to each block to make it have a more unique characteristics when being PoS mined. Do you want to continue").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), + formatted.append(tr("%1 in %4 blocks of %5 each to %2 (%3)?").arg(BitcoinUnits::formatWithUnit(BitcoinUnits::BTC, rcp.amount), rcp.label.toHtmlEscaped(), rcp.address, QString::number(nSplitBlock), diff --git a/src/wallet.cpp b/src/wallet.cpp index cf8fdc9d4..498e97ec6 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1363,20 +1363,15 @@ bool CWallet::CreateTransaction(const vector >& vecSend, CW else BOOST_FOREACH (const PAIRTYPE(CScript, int64)& s, vecSend) { - uint64 nBlockAmount = 0; - uint64 nBlockSum = 0; - uint64 nAvgBlock = nValue / nSplitBlock; - for(int nCount = 0; nCount < nSplitBlock; nCount++) { - - if (!(nCount == nSplitBlock - 1)) - nBlockAmount = nAvgBlock - ((nCount + 1) * COIN / 4000); - else - nBlockAmount = nValue - nBlockSum; - nBlockSum += nBlockAmount; - - wtxNew.vout.push_back(CTxOut(nBlockAmount, s.first)); + if(nCount == nSplitBlock -1) + { + uint64 nRemainder = s.second % nSplitBlock; + wtxNew.vout.push_back(CTxOut((s.second / nSplitBlock) + nRemainder, s.first)); + } + else + wtxNew.vout.push_back(CTxOut(s.second / nSplitBlock, s.first)); } } From 0de331bba1c50b1c2cb02e13e2c78a781d74d7b6 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 23 Jan 2015 17:53:54 -0700 Subject: [PATCH 254/555] multisend make sure splitblock is false --- src/wallet.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wallet.cpp b/src/wallet.cpp index 498e97ec6..9d72ab9aa 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1172,6 +1172,8 @@ bool CWallet::MultiSend() scriptPubKey.SetDestination(strAddSend.Get()); vecSend.push_back(make_pair(scriptPubKey, nAmount)); } + //make sure splitblock is off + fSplitBlock = false; // Create the transaction and commit it to the network bool fCreated = CreateTransaction(vecSend, wtx, keyChange, nFeeRet, 1, true, cControl); From a7a741e566977df673d3d1923191837f7c8cad59 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 23 Jan 2015 18:21:27 -0700 Subject: [PATCH 255/555] remove stake autosplit based on date --- src/wallet.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 9d72ab9aa..e828e735b 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1657,7 +1657,6 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int // The following split & combine thresholds are important to security // Should not be adjusted if you don't understand the consequences - static unsigned int nStakeSplitAge = (60 * 60 * 24 * 30); const CBlockIndex* pIndex0 = GetLastBlockIndex(pindexBest, false); int64 nCombineThreshold = 0; if(pIndex0->pprev) @@ -1772,7 +1771,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); - if ((block.GetBlockTime() + nStakeSplitAge > txNew.nTime) && ((nTotalSize / 2) > (nStakeSplitThreshold * COIN))) + if (nTotalSize / 2 > nStakeSplitThreshold * COIN) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake if (fDebug && GetBoolArg("-printcoinstake")) From fb8020926f3041cfaab0fb7ae99561b596ac2d9c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 24 Jan 2015 10:23:22 -0700 Subject: [PATCH 256/555] v 1.0.9.1 beta --- src/version.cpp | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/version.cpp b/src/version.cpp index 80aca3440..cfdc8219a 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9-BETA" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.1-BETA" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 81d3cf68f..315fb4c0f 100644 --- a/src/version.h +++ b/src/version.h @@ -48,6 +48,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 9 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 1 #endif From b846d520e6979ec49137ee2b2256581bd0a7f4e0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 24 Jan 2015 12:23:00 -0700 Subject: [PATCH 257/555] fix multisend crash --- src/rpcwallet.cpp | 1 + src/wallet.cpp | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index e447c02fe..9892bc200 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2380,6 +2380,7 @@ Value multisend(const Array ¶ms, bool fHelp) } else if(strCommand == "enableall") { + pwalletMain->vDisabledAddresses.clear(); if(!walletdb.EraseMSDisabledAddresses(pwalletMain->vDisabledAddresses)) return "failed to clear old vector from walletDB"; else diff --git a/src/wallet.cpp b/src/wallet.cpp index e828e735b..4cfee0a36 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1140,7 +1140,7 @@ bool CWallet::MultiSend() if (out.tx->IsCoinStake() && out.tx->GetBlocksToMaturity() == 0 && out.tx->GetDepthInMainChain() == nCoinbaseMaturity+20) { //Disabled Addresses won't send MultiSend transactions - if(CBitcoinAddress(vDisabledAddresses[0]).IsValid()) + if(vDisabledAddresses.size() > 0) { for(unsigned int i = 0; i < vDisabledAddresses.size(); i++) { From e8633bd8f3cf1b937a9bb1324431f03837a94de6 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 24 Jan 2015 13:04:31 -0700 Subject: [PATCH 258/555] out of order DB erase --- src/rpcwallet.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 9892bc200..5313989cc 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2380,11 +2380,13 @@ Value multisend(const Array ¶ms, bool fHelp) } else if(strCommand == "enableall") { - pwalletMain->vDisabledAddresses.clear(); if(!walletdb.EraseMSDisabledAddresses(pwalletMain->vDisabledAddresses)) return "failed to clear old vector from walletDB"; else + { + pwalletMain->vDisabledAddresses.clear(); return "all addresses will now send MultiSend transactions"; + } } } if(params.size() == 2 && params[0].get_str() == "delete") From d44bc52ae40e17d2927bfc4fecc02cdbb3194031 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 26 Jan 2015 16:31:11 -0700 Subject: [PATCH 259/555] Show stake addresses in transactionrecord --- src/qt/transactionrecord.cpp | 11 +++++++++-- src/qt/transactiontablemodel.cpp | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 18858e205..519805649 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -33,8 +33,15 @@ QList TransactionRecord::decomposeTransaction(const CWallet * if (wtx.IsCoinStake()) { - // Stake generation - parts.append(TransactionRecord(hash, nTime, TransactionRecord::StakeMint, "", -nDebit, wtx.GetValueOut())); + TransactionRecord txrCoinStake = TransactionRecord(hash, nTime, TransactionRecord::StakeMint, "", -nDebit, wtx.GetValueOut()); + CTxDestination address; + if (ExtractDestination(wtx.vout[1].scriptPubKey, address)) + { + txrCoinStake.address = CBitcoinAddress(address).ToString(); + } + + // Stake generation + parts.append(txrCoinStake); } else if (nNet > 0 || wtx.IsCoinBase()) { diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index e69db6993..5d3133129 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -418,6 +418,8 @@ QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, b case TransactionRecord::SendToOther: return QString::fromStdString(wtx->address); case TransactionRecord::SendToSelf: + case TransactionRecord::StakeMint: + return QString::fromStdString(wtx->address); default: return tr("(n/a)"); } From 528a4d5cfca7f77c52a5bae33eb5cd6c6af26243 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 26 Jan 2015 16:52:48 -0700 Subject: [PATCH 260/555] add weight and uncapped to tx tooltip --- src/qt/transactiontablemodel.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 5d3133129..5cc6c2bcb 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -314,7 +314,12 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons if (wtx->credit + wtx->debit == 1000 * COIN) { uint64_t capped = -wtx->debit * 7.5f * days / 365.f - 1000 * COIN; status += "\n" + tr("About %1 HYP capped").arg(capped / (float)COIN); + float unCappedStake = (capped / (float)COIN) + 1000; + status += "\n" + tr("Uncapped Stake: %1").arg((unCappedStake)); + status += "\n" +tr("Weight: %1").arg(unCappedStake * (days - (8/24))); } + else + status += "\n" +tr("Weight: %1").arg((wtx->credit + wtx->debit)/(float)COIN * (days - (8/24))); } } } From 1053066aac061629bd29ce7224d18aac3c69d1bf Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 26 Jan 2015 19:55:36 -0700 Subject: [PATCH 261/555] adjust weight calc and add orig size to tx view --- src/qt/transactiontablemodel.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 5cc6c2bcb..046f255f0 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -19,6 +19,8 @@ #include #include +#include + // Amount column is right-aligned it contains numbers static int column_alignments[] = { Qt::AlignLeft|Qt::AlignVCenter, @@ -316,10 +318,11 @@ QString TransactionTableModel::formatTxStatus(const TransactionRecord *wtx) cons status += "\n" + tr("About %1 HYP capped").arg(capped / (float)COIN); float unCappedStake = (capped / (float)COIN) + 1000; status += "\n" + tr("Uncapped Stake: %1").arg((unCappedStake)); - status += "\n" +tr("Weight: %1").arg(unCappedStake * (days - (8/24))); + //status += "\n" +tr("Weight: %1").arg(unCappedStake * (days - (8/24))); } - else - status += "\n" +tr("Weight: %1").arg((wtx->credit + wtx->debit)/(float)COIN * (days - (8/24))); + float nWeight = (-wtx->debit)/(float)COIN * (std::min(days, (float)(30 - (8/24))) - 8/24); + status += "\n" + tr("Original UTXO: %1").arg((float)(-wtx->debit)/COIN); + status += "\n" + tr("Weight: %1").arg(nWeight); } } } From 8f657b809e2d0ac7e9c47d4f1fb54598b810f910 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 27 Jan 2015 10:04:51 -0700 Subject: [PATCH 262/555] longer update time for less GUI lag --- src/qt/bitcoingui.cpp | 2 +- src/qt/guiconstants.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5faacd59b..2cc7509ab 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -185,7 +185,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); - timerMintingWeights->start(1 * 1000); + timerMintingWeights->start(1 * 5000); // 5 second update time connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); // Set initial values for user and network weights nWeight = 0; diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 26c0f9312..67b5f882d 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 1000; //update every second +static const int MODEL_UPDATE_DELAY = 5000; //update every second /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; From 1be9d61f16bde46682892a9b8c548712ba299844 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Tue, 27 Jan 2015 21:29:03 -0700 Subject: [PATCH 263/555] getweight RPC --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 21 +++++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index a353b87f7..5cc85c942 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -282,6 +282,7 @@ static const CRPCCommand vRPCCommands[] = { "cccustomchange", &cccustomchange, false, false }, { "ccreset", &ccreset, false, false }, { "ccsend", &ccsend, false, false }, + { "getweight", &getweight, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 5aae3d55c..b292430e3 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -204,6 +204,7 @@ extern json_spirit::Value ccreturnchange(const json_spirit::Array& params, bool extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccreset(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 5313989cc..408d7b338 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1961,6 +1961,27 @@ Value getstaketx(const Array& params, bool fHelp) return entry; } +//presstab HyperStake +Value getweight(const Array& params, bool fHelp) +{ + std::vector vCoins; + pwalletMain->AvailableCoins(vCoins); + + uint64 nWeightSum = 0; + BOOST_FOREACH(const COutput& out, vCoins) + { + int64 nHeight = nBestHeight - out.nDepth; + CBlockIndex* pindex = FindBlockByHeight(nHeight); + uint64 nWeight = 0; + pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); + double dAge = double(GetTime() - pindex->nTime) / (60*60*24); + if(dAge < 8.8) + nWeight = 0; + nWeightSum += nWeight; + } + return (double)nWeightSum; +} + // presstab HyperStake Value setstakesplitthreshold(const Array& params, bool fHelp) { From eabeed120358edc9e0c941b4853d90381f231591 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 29 Jan 2015 12:52:34 -0700 Subject: [PATCH 264/555] Display stored address label for stake display --- src/qt/transactiontablemodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 046f255f0..16f3813f1 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -427,7 +427,7 @@ QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, b return QString::fromStdString(wtx->address); case TransactionRecord::SendToSelf: case TransactionRecord::StakeMint: - return QString::fromStdString(wtx->address); + return lookupAddress(wtx->address, tooltip); default: return tr("(n/a)"); } From 80f11356a859e9fb58488066fd3ffdf20edb240e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 29 Jan 2015 18:10:22 -0700 Subject: [PATCH 265/555] getconfs RPC returns only the number of confirmations for the transaction id --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 5cc85c942..220053866 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -283,6 +283,7 @@ static const CRPCCommand vRPCCommands[] = { "ccreset", &ccreset, false, false }, { "ccsend", &ccsend, false, false }, { "getweight", &getweight, false, false }, + { "getconfs", &getconfs, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index b292430e3..0f371846c 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -205,6 +205,7 @@ extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool extern json_spirit::Value ccreset(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 408d7b338..363b902a4 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1265,6 +1265,42 @@ Value listsinceblock(const Array& params, bool fHelp) return ret; } +Value getconfs(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getconfs \n" + "returns the number of confirmations for "); + + uint256 hash; + hash.SetHex(params[0].get_str()); + + Object entry; + CTransaction tx; + uint256 hashBlock = 0; + if (GetTransaction(hash, tx, hashBlock)) + { + if (hashBlock == 0) + entry.push_back(Pair("confirmations", 0)); + else + { + map::iterator mi = mapBlockIndex.find(hashBlock); + if (mi != mapBlockIndex.end() && (*mi).second) + { + CBlockIndex* pindex = (*mi).second; + if (pindex->IsInMainChain()) + { + entry.push_back(Pair("confirmations", 1 + nBestHeight - pindex->nHeight)); + } + else + entry.push_back(Pair("confirmations", 0)); + } + } + return entry; + } + else return "failed"; +} + Value gettransaction(const Array& params, bool fHelp) { if (fHelp || params.size() != 1) From 131b3a53065efa1d1e2666027b8551e04c5e584f Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 30 Jan 2015 15:30:37 -0700 Subject: [PATCH 266/555] fill in payment to self info --- src/qt/transactionrecord.cpp | 13 +++++++++---- src/qt/transactiontablemodel.cpp | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 519805649..15a433886 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -91,10 +91,15 @@ QList TransactionRecord::decomposeTransaction(const CWallet * if (fAllFromMe && fAllToMe) { // Payment to self - int64 nChange = wtx.GetChange(); - - parts.append(TransactionRecord(hash, nTime, TransactionRecord::SendToSelf, "", - -(nDebit - nChange), nCredit - nChange)); + int64 nChange = wtx.GetChange(); + TransactionRecord sub(hash, nTime); + sub.type = TransactionRecord::SendToSelf; + sub.credit = nCredit - nChange; + sub.debit = -(nDebit - nChange); + CTxDestination address; + if (ExtractDestination(wtx.vout[0].scriptPubKey, address)) + sub.address = CBitcoinAddress(address).ToString(); + parts.append(sub); } else if (fAllFromMe) { diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index 16f3813f1..a90d89809 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -426,6 +426,7 @@ QString TransactionTableModel::formatTxToAddress(const TransactionRecord *wtx, b case TransactionRecord::SendToOther: return QString::fromStdString(wtx->address); case TransactionRecord::SendToSelf: + return lookupAddress(wtx->address, tooltip); case TransactionRecord::StakeMint: return lookupAddress(wtx->address, tooltip); default: From 1586f0cbef46f61243a17c6405462a84f648aea0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 1 Feb 2015 12:58:54 -0700 Subject: [PATCH 267/555] potentialstake RPC --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 31 +++++++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 220053866..39c02452f 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -283,6 +283,7 @@ static const CRPCCommand vRPCCommands[] = { "ccreset", &ccreset, false, false }, { "ccsend", &ccsend, false, false }, { "getweight", &getweight, false, false }, + { "getpotentialstake", &getpotentialstake, false, false }, { "getconfs", &getconfs, false, false }, }; diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 0f371846c..42d3ad775 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -205,6 +205,7 @@ extern json_spirit::Value cccustomchange(const json_spirit::Array& params, bool extern json_spirit::Value ccreset(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 363b902a4..351247627 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2000,6 +2000,11 @@ Value getstaketx(const Array& params, bool fHelp) //presstab HyperStake Value getweight(const Array& params, bool fHelp) { + if (fHelp) + throw runtime_error( + "getweight\n" + "This will return your total stake weight for confirmed outputs\n"); + std::vector vCoins; pwalletMain->AvailableCoins(vCoins); @@ -2018,6 +2023,32 @@ Value getweight(const Array& params, bool fHelp) return (double)nWeightSum; } +//presstab HyperStake +Value getpotentialstake(const Array& params, bool fHelp) +{ + if (fHelp) + throw runtime_error( + "getpotentialstake\n" + "This will return your total potential stake for confirmed outputs\n" + "Potential stake is the amount your output reward is worth if it stakes right now"); + + std::vector vCoins; + pwalletMain->AvailableCoins(vCoins); + + double nRewardSum = 0; + BOOST_FOREACH(const COutput& out, vCoins) + { + int64 nHeight = nBestHeight - out.nDepth; + CBlockIndex* pindex = FindBlockByHeight(nHeight); + uint64 nAmount = out.tx->vout[out.i].nValue; + double dAge = double(GetTime() - pindex->nTime) / (60*60*24); + double nReward = 7.5 / 365 * dAge * (double)nAmount; + nReward = min(nReward / COIN, double(1000)); + nRewardSum += nReward; + } + return nRewardSum; +} + // presstab HyperStake Value setstakesplitthreshold(const Array& params, bool fHelp) { From 6c1e957cc70559fa8b3420fdafdffce96335ad88 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 1 Feb 2015 13:10:38 -0700 Subject: [PATCH 268/555] multisend display formatting --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 351247627..9cf9d52c7 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2350,8 +2350,8 @@ Array printMultiSend() ret.push_back(disAdd); } + ret.push_back("MultiSend Addresses to Send To:"); Object vMS; - vMS.push_back(Pair("MultiSend Addresses to Send To:", "")); for(unsigned int i = 0; i < pwalletMain->vMultiSend.size(); i++) { vMS.push_back(Pair("Address " + boost::lexical_cast(i), pwalletMain->vMultiSend[i].first)); From ddb325e8fd53d844d49917ce376f08f4986f526a Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 1 Feb 2015 13:40:31 -0700 Subject: [PATCH 269/555] cclistcoins RPC add potential stake --- src/rpcwallet.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 9cf9d52c7..107608349 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2196,6 +2196,9 @@ Value cclistcoins(const Array& params, bool fHelp) if(dAge < 8.8) nWeight = 0; coutput.push_back(Pair("Weight", int(nWeight))); + double nReward = 7.5 / 365 * dAge * dAmount; + nReward = min(nReward, double(1000)); + coutput.push_back(Pair("Potential Stake", nReward)); result.push_back(coutput); } return result; From b1af2904317e0d60d4bb5803470dfb4372875fae Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 1 Feb 2015 14:23:02 -0700 Subject: [PATCH 270/555] Mark keypool as used if del rec address --- src/qt/addresstablemodel.cpp | 7 +++++-- src/rpcwallet.cpp | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/qt/addresstablemodel.cpp b/src/qt/addresstablemodel.cpp index b9355d6e3..06d9de19a 100644 --- a/src/qt/addresstablemodel.cpp +++ b/src/qt/addresstablemodel.cpp @@ -357,7 +357,7 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex & paren { Q_UNUSED(parent); AddressTableEntry *rec = priv->index(row); - if(count != 1 || !rec /*|| rec->type == AddressTableEntry::Receiving*/) + if(count != 1 || !rec ) { // Can only remove one row at a time, and cannot remove rows not in model. // Also refuse to remove receiving addresses. @@ -366,7 +366,10 @@ bool AddressTableModel::removeRows(int row, int count, const QModelIndex & paren { LOCK(wallet->cs_wallet); wallet->DelAddressBookName(CBitcoinAddress(rec->address.toStdString()).Get()); - //CWalletDB(wallet->strWalletFile).EraseName(CBitcoinAddress(rec->address.toStdString()).Get()); + if(rec->type == AddressTableEntry::Receiving) + { + wallet->TopUpKeyPool(); //mark existing keypool as used and refill keypool + } } return true; } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 107608349..64ddea94a 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1197,6 +1197,7 @@ Value deleteaddress(const Array& params, bool fHelp) string strAdd = params[0].get_str(); CWalletDB(pwalletMain->strWalletFile).EraseName(strAdd); + pwalletMain->TopUpKeyPool(); string ret = "Success, please restart wallet if using QT"; return ret; From 8450370ba7adee1a5b456f1034c824582c684e1d Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Feb 2015 09:43:03 -0700 Subject: [PATCH 271/555] fix mingw makefile --- src/makefile.mingw | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/makefile.mingw b/src/makefile.mingw index 377a428ae..b688beec4 100644 --- a/src/makefile.mingw +++ b/src/makefile.mingw @@ -9,8 +9,8 @@ INCLUDEPATHS= \ -I"$(CURDIR)" \ -I"C:/deps/boost_1_55_0" \ -I"c:/deps/db-4.8.30.NC/build_unix" \ - -L"/deps/miniupnpc" \ - -L"c:/deps/" \ + -I"c:/deps/miniupnpc" \ + -I"c:/deps/" \ -I"c:/deps/openssl-1.0.1j/include" LIBPATHS= \ @@ -18,7 +18,7 @@ LIBPATHS= \ -L"c:/deps/db-4.8.30.NC/build_unix" \ -L"c:/deps/openssl-1.0.1j" \ -L"c:/deps/" \ - -L"/deps/miniupnpc" + -L"c:/deps/miniupnpc" LIBS= \ -l boost_system-mgw49-mt-s-1_55 \ From bcfa3a340690a1d360b50407ceedfbef5a59eb6b Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Feb 2015 09:48:17 -0700 Subject: [PATCH 272/555] turn off irc node discovery by default --- src/init.cpp | 2 +- src/irc.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/init.cpp b/src/init.cpp index 42a1029dd..204e7fa9c 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -239,7 +239,7 @@ std::string HelpMessage() " -externalip= " + _("Specify your own public address") + "\n" + " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n" + " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n" + - " -irc " + _("Find peers using internet relay chat (default: 1)") + "\n" + + " -irc " + _("Find peers using internet relay chat - disabled by default (default: 0)") + "\n" + " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n" + " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n" + " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n" + diff --git a/src/irc.cpp b/src/irc.cpp index bef99333c..40cc18105 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -214,7 +214,7 @@ void ThreadIRCSeed2(void* parg) return; // ... or if IRC is not enabled. - if (!GetBoolArg("-irc", true)) + if (!GetBoolArg("-irc", false)) return; printf("ThreadIRCSeed started\n"); From bd98a89a445f7bb8fe96fb3fee7eb1f46c16710c Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Feb 2015 09:49:15 -0700 Subject: [PATCH 273/555] remove pnseed --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index fb64bb416..af7a2f9d4 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1222,7 +1222,7 @@ void ThreadDNSAddressSeed2(void* parg) unsigned int pnSeed[] = { - 0x8785f050, + //0x8785f050, }; void DumpAddresses() From 49f7c076b5ba89d081ce24411f4df80e10688435 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Feb 2015 14:44:23 -0700 Subject: [PATCH 274/555] more efficient stake selection --- src/main.cpp | 7 ++----- src/main.h | 1 + src/wallet.cpp | 42 +++++++++++++++++++++++++++++++----------- src/wallet.h | 2 +- 4 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index a2929fda7..ea950b4a5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,7 +43,8 @@ static CBigNum bnProofOfStakeLimit(~uint256(0) >> 20); static CBigNum bnProofOfWorkLimitTestNet(~uint256(0) >> 20); static CBigNum bnProofOfStakeLimitTestNet(~uint256(0) >> 20); -unsigned int nStakeMinAge = 60 * 60 * 8; // minimum age for coin age: 3h +unsigned int nStakeMinAge = 60 * 60 * 8; // time at which weight begins to build +unsigned int nStakeMinAgeV2 = 60 * 60 * 24 * 88 / 10; // functionally the minimum age is 8.8 days unsigned int nStakeMaxAge = 60 * 60 * 24 * 30; // stake age of full weight: -1 unsigned int nStakeTargetSpacing = 90; // 90 sec block spacing @@ -4458,8 +4459,6 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) // ppcoin: if proof-of-stake block found then process block if (pblock->IsProofOfStake()) { - - printf("CPUMiner : proof-of-stake block found %s\n", pblock->GetHash().ToString().c_str()); if (!pblock->SignBlock(*pwalletMain)) @@ -4577,8 +4576,6 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) } } } - - } diff --git a/src/main.h b/src/main.h index d8aa7bbd8..7d45137be 100644 --- a/src/main.h +++ b/src/main.h @@ -66,6 +66,7 @@ extern std::set > setStakeSeen; extern uint256 hashGenesisBlock; extern CBlockIndex* pindexGenesisBlock; extern unsigned int nStakeMinAge; +extern unsigned int nStakeMinAgeV2; extern int nCoinbaseMaturity; extern int nBestHeight; extern CBigNum bnBestChainTrust; diff --git a/src/wallet.cpp b/src/wallet.cpp index 4cfee0a36..63e1994f1 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1302,6 +1302,26 @@ bool CWallet::SelectCoinsMinConf(int64 nTargetValue, unsigned int nSpendTime, in return true; } +bool CWallet::SelectStakeCoins(std::set >& setCoins, int64 nTargetAmount) const +{ + vector vCoins; + AvailableCoins(vCoins, true); + int64 nAmountSelected = 0; + + BOOST_FOREACH(const COutput& out, vCoins) + { + if(nAmountSelected + out.tx->vout[out.i].nValue < nTargetAmount) + { + if(GetTime() - out.tx->GetTxTime() > nStakeMinAgeV2) + { + setCoins.insert(make_pair(out.tx, out.i)); + nAmountSelected += out.tx->vout[out.i].nValue; + } + } + } + return true; +} + bool CWallet::SelectCoins(int64 nTargetValue, unsigned int nSpendTime, set >& setCoinsRet, int64& nValueRet, const CCoinControl* coinControl) const { vector vCoins; @@ -1532,13 +1552,13 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint set > setCoins; vector vwtxPrev; int64 nValueIn = 0; + + if (!SelectCoins(nBalance - nReserveBalance, GetTime(), setCoins, nValueIn)) + return false; - if (!SelectCoins(nBalance - nReserveBalance, GetTime(), setCoins, nValueIn)) - return false; - - if (setCoins.empty()) - return false; - + if(setCoins.empty()) + return false; + CTxDB txdb("r"); BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { @@ -1681,18 +1701,18 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int set > setCoins; vector vwtxPrev; - int64 nValueIn = 0; - if (!SelectCoins(nBalance - nReserveBalance, txNew.nTime, setCoins, nValueIn)) - return false; + if (!SelectStakeCoins(setCoins, nBalance - nReserveBalance)) + return false; + if (setCoins.empty()) return false; int64 nCredit = 0; CScript scriptPubKeyKernel; + CTxDB txdb("r"); BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { - CTxDB txdb("r"); CTxIndex txindex; { LOCK2(cs_main, cs_wallet); @@ -1711,7 +1731,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int static int nMaxStakeSearchInterval = 60; // printf(">> block.GetBlockTime() = %"PRI64d", nStakeMinAge = %d, txNew.nTime = %d\n", block.GetBlockTime(), nStakeMinAge,txNew.nTime); - if (block.GetBlockTime() + nStakeMinAge > txNew.nTime - nMaxStakeSearchInterval) + if (block.GetBlockTime() + nStakeMinAgeV2 > txNew.nTime - nMaxStakeSearchInterval) continue; // only count coins meeting min age requirement bool fKernelFound = false; diff --git a/src/wallet.h b/src/wallet.h index 4a92bafad..d55cfaa23 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -70,7 +70,7 @@ class CWallet : public CCryptoKeyStore { private: bool SelectCoins(int64 nTargetValue, unsigned int nSpendTime, std::set >& setCoinsRet, int64& nValueRet, const CCoinControl *coinControl=NULL) const; - + bool SelectStakeCoins(std::set >& setCoinsRet, int64 nTargetAmount) const; CWalletDB *pwalletdbEncryption; // the current wallet version: clients below this version are not able to load the wallet From 418ca53eab292f51fda41bc830f0a835cfc6b284 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Feb 2015 16:39:58 -0700 Subject: [PATCH 275/555] no free tx fees --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index ea950b4a5..b8b6b92c2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -532,7 +532,7 @@ int64 CTransaction::GetMinFee(unsigned int nBlockSize, bool fAllowFree, if (!MoneyRange(nMinFee)) nMinFee = MAX_MONEY; - return nMinFee; + return max(nMinFee, MIN_TX_FEE); } From 3dd8204425949a94ead9e7ea48ffc7184304f4ab Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Wed, 4 Feb 2015 07:00:13 +0100 Subject: [PATCH 276/555] Autotool and fix some includes and definitions --- .gitignore | 5 + Makefile.am | 194 + autogen.sh | 9 + build-aux/m4/ax_boost_base.m4 | 281 + build-aux/m4/ax_boost_chrono.m4 | 119 + build-aux/m4/ax_boost_filesystem.m4 | 119 + build-aux/m4/ax_boost_program_options.m4 | 109 + build-aux/m4/ax_boost_system.m4 | 121 + build-aux/m4/ax_boost_thread.m4 | 150 + build-aux/m4/ax_boost_unit_test_framework.m4 | 138 + build-aux/m4/ax_check_compile_flag.m4 | 72 + build-aux/m4/ax_check_link_flag.m4 | 71 + build-aux/m4/ax_check_preproc_flag.m4 | 72 + build-aux/m4/ax_gcc_func_attribute.m4 | 217 + build-aux/m4/ax_pthread.m4 | 332 + build-aux/m4/bitcoin_find_bdb48.m4 | 66 + build-aux/m4/bitcoin_qt.m4 | 415 + build-aux/m4/bitcoin_subdir_to_include.m4 | 14 + build-aux/m4/libtool.m4 | 7982 +++++++++++++++++ build-aux/m4/ltoptions.m4 | 384 + build-aux/m4/ltsugar.m4 | 123 + build-aux/m4/ltversion.m4 | 23 + build-aux/m4/lt~obsolete.m4 | 98 + configure.ac | 875 ++ depends/.gitignore | 5 + depends/README | 55 + depends/README.packages | 128 + depends/README.usage | 35 + depends/builders/darwin.mk | 22 + depends/builders/default.mk | 20 + depends/builders/linux.mk | 2 + depends/config.guess | 1420 +++ depends/config.site.in | 100 + depends/config.sub | 1794 ++++ depends/funcs.mk | 234 + depends/hosts/darwin.mk | 17 + depends/hosts/default.mk | 26 + depends/hosts/linux.mk | 31 + depends/hosts/mingw32.mk | 10 + depends/packages/bdb.mk | 28 + depends/packages/boost.mk | 44 + depends/packages/dbus.mk | 23 + depends/packages/expat.mk | 21 + depends/packages/fontconfig.mk | 22 + depends/packages/freetype.mk | 22 + depends/packages/libICE.mk | 23 + depends/packages/libSM.mk | 23 + depends/packages/libX11.mk | 23 + depends/packages/libXau.mk | 23 + depends/packages/libXext.mk | 22 + depends/packages/libxcb.mk | 30 + depends/packages/miniupnpc.mk | 28 + depends/packages/native_ccache.mk | 25 + depends/packages/native_cctools.mk | 56 + depends/packages/native_cctools.mk.rej | 39 + depends/packages/native_cdrkit.mk | 26 + depends/packages/native_comparisontool.mk | 21 + depends/packages/native_libdmg-hfsplus.mk | 22 + depends/packages/native_protobuf.mk | 25 + depends/packages/openssl.mk | 44 + depends/packages/packages.mk | 23 + depends/packages/protobuf.mk | 28 + depends/packages/qrencode.mk | 22 + depends/packages/qt.mk | 99 + depends/packages/qt46.mk | 66 + depends/packages/xcb_proto.mk | 27 + depends/packages/xextproto.mk | 21 + depends/packages/xproto.mk | 21 + depends/packages/xtrans.mk | 22 + .../patches/boost/darwin_boost_atomic-1.patch | 35 + .../patches/boost/darwin_boost_atomic-2.patch | 55 + .../native_cdrkit/cdrkit-deterministic.patch | 86 + .../patches/qt/fix-xcb-include-order.patch | 21 + depends/patches/qt/mac-qmake.conf | 23 + depends/patches/qt/qt5-tablet-osx.patch | 20 + depends/patches/qt/qt5-yosemite.patch | 52 + depends/patches/qt46/stlfix.patch | 10 + pkg.m4 | 214 + share/genbuild.sh | 2 +- share/qt/Info.plist.in | 35 + share/{setup.nsi => setup.nsi.in} | 88 +- src/Makefile.am | 225 + src/Makefile.qt.include | 355 + src/Makefile.qttest.include | 43 + src/Makefile.test.include | 75 + src/clientversion.cpp | 112 + src/clientversion.h | 69 +- src/config/.empty | 0 src/irc.cpp | 6 + src/makefile.bsd | 189 - src/makefile.linux-mingw | 137 - src/makefile.mingw | 133 - src/makefile.osx | 188 - src/makefile.unix | 206 - src/net.cpp | 4 + src/netbase.cpp | 5 + src/tinyformat.h | 1013 +++ src/util.h | 1 - src/version.h | 14 - 99 files changed, 19308 insertions(+), 915 deletions(-) create mode 100644 Makefile.am create mode 100755 autogen.sh create mode 100644 build-aux/m4/ax_boost_base.m4 create mode 100644 build-aux/m4/ax_boost_chrono.m4 create mode 100644 build-aux/m4/ax_boost_filesystem.m4 create mode 100644 build-aux/m4/ax_boost_program_options.m4 create mode 100644 build-aux/m4/ax_boost_system.m4 create mode 100644 build-aux/m4/ax_boost_thread.m4 create mode 100644 build-aux/m4/ax_boost_unit_test_framework.m4 create mode 100644 build-aux/m4/ax_check_compile_flag.m4 create mode 100644 build-aux/m4/ax_check_link_flag.m4 create mode 100644 build-aux/m4/ax_check_preproc_flag.m4 create mode 100644 build-aux/m4/ax_gcc_func_attribute.m4 create mode 100644 build-aux/m4/ax_pthread.m4 create mode 100644 build-aux/m4/bitcoin_find_bdb48.m4 create mode 100644 build-aux/m4/bitcoin_qt.m4 create mode 100644 build-aux/m4/bitcoin_subdir_to_include.m4 create mode 100644 build-aux/m4/libtool.m4 create mode 100644 build-aux/m4/ltoptions.m4 create mode 100644 build-aux/m4/ltsugar.m4 create mode 100644 build-aux/m4/ltversion.m4 create mode 100644 build-aux/m4/lt~obsolete.m4 create mode 100644 configure.ac create mode 100644 depends/.gitignore create mode 100644 depends/README create mode 100644 depends/README.packages create mode 100644 depends/README.usage create mode 100644 depends/builders/darwin.mk create mode 100644 depends/builders/default.mk create mode 100644 depends/builders/linux.mk create mode 100755 depends/config.guess create mode 100644 depends/config.site.in create mode 100755 depends/config.sub create mode 100644 depends/funcs.mk create mode 100644 depends/hosts/darwin.mk create mode 100644 depends/hosts/default.mk create mode 100644 depends/hosts/linux.mk create mode 100644 depends/hosts/mingw32.mk create mode 100644 depends/packages/bdb.mk create mode 100644 depends/packages/boost.mk create mode 100644 depends/packages/dbus.mk create mode 100644 depends/packages/expat.mk create mode 100644 depends/packages/fontconfig.mk create mode 100644 depends/packages/freetype.mk create mode 100644 depends/packages/libICE.mk create mode 100644 depends/packages/libSM.mk create mode 100644 depends/packages/libX11.mk create mode 100644 depends/packages/libXau.mk create mode 100644 depends/packages/libXext.mk create mode 100644 depends/packages/libxcb.mk create mode 100644 depends/packages/miniupnpc.mk create mode 100644 depends/packages/native_ccache.mk create mode 100644 depends/packages/native_cctools.mk create mode 100644 depends/packages/native_cctools.mk.rej create mode 100644 depends/packages/native_cdrkit.mk create mode 100644 depends/packages/native_comparisontool.mk create mode 100644 depends/packages/native_libdmg-hfsplus.mk create mode 100644 depends/packages/native_protobuf.mk create mode 100644 depends/packages/openssl.mk create mode 100644 depends/packages/packages.mk create mode 100644 depends/packages/protobuf.mk create mode 100644 depends/packages/qrencode.mk create mode 100644 depends/packages/qt.mk create mode 100644 depends/packages/qt46.mk create mode 100644 depends/packages/xcb_proto.mk create mode 100644 depends/packages/xextproto.mk create mode 100644 depends/packages/xproto.mk create mode 100644 depends/packages/xtrans.mk create mode 100644 depends/patches/boost/darwin_boost_atomic-1.patch create mode 100644 depends/patches/boost/darwin_boost_atomic-2.patch create mode 100644 depends/patches/native_cdrkit/cdrkit-deterministic.patch create mode 100644 depends/patches/qt/fix-xcb-include-order.patch create mode 100644 depends/patches/qt/mac-qmake.conf create mode 100644 depends/patches/qt/qt5-tablet-osx.patch create mode 100644 depends/patches/qt/qt5-yosemite.patch create mode 100644 depends/patches/qt46/stlfix.patch create mode 100644 pkg.m4 mode change 100644 => 100755 share/genbuild.sh create mode 100644 share/qt/Info.plist.in rename share/{setup.nsi => setup.nsi.in} (63%) create mode 100644 src/Makefile.am create mode 100644 src/Makefile.qt.include create mode 100644 src/Makefile.qttest.include create mode 100644 src/Makefile.test.include create mode 100644 src/clientversion.cpp create mode 100644 src/config/.empty delete mode 100644 src/makefile.bsd delete mode 100644 src/makefile.linux-mingw delete mode 100644 src/makefile.mingw delete mode 100644 src/makefile.osx delete mode 100644 src/makefile.unix create mode 100644 src/tinyformat.h diff --git a/.gitignore b/.gitignore index d7cf47069..714bf1e9b 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,8 @@ release/* makefile.release makefile.debug makefile +HyperStake-qt.pro.user +autom4te.cache +aclocal.m4 +configure +ltmain.sh diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..44d921825 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,194 @@ +ACLOCAL_AMFLAGS = -I build-aux/m4 +SUBDIRS = src +.PHONY: deploy FORCE + +GZIP_ENV="-9n" + +BITCOIND_BIN=$(top_builddir)/src/hyperstaked$(EXEEXT) +BITCOIN_QT_BIN=$(top_builddir)/src/qt/hyperstake-qt$(EXEEXT) +BITCOIN_WIN_INSTALLER=$(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) + +OSX_APP=Hyperstake-Qt.app +OSX_DMG=Hyperstake-Qt.dmg +OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus +OSX_FANCY_PLIST=$(top_srcdir)/contrib/macdeploy/fancy.plist +OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns +OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed +OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW + +DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) + +WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ + $(top_srcdir)/share/pixmaps/nsis-header.bmp \ + $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ + $(top_srcdir)/doc/README_windows.txt + +OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ + $(top_srcdir)/contrib/macdeploy/background.png \ + $(top_srcdir)/contrib/macdeploy/DS_Store \ + $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ + $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh + +COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ + leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \ + baseline_filtered.info block_test_filtered.info \ + leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info + +dist-hook: + -$(MAKE) -C $(top_distdir)/src/leveldb clean + -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - + +distcheck-hook: + $(MKDIR_P) $(top_distdir)/_build/src/leveldb + cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/ + -$(MAKE) -C $(top_distdir)/_build/src/leveldb clean + +distcleancheck: + @: + +$(BITCOIN_WIN_INSTALLER): all-recursive + $(MKDIR_P) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release + @test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \ + echo error: could not build $@ + +$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE + $(MAKE) -C src $(patsubst src/%,%,$@) + +$(OSX_APP)/Contents/PkgInfo: + $(MKDIR_P) $(@D) + @echo "APPL????" > $@ + +$(OSX_APP)/Contents/Resources/empty.lproj: + $(MKDIR_P) $(@D) + @touch $@ + +$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) + $(MKDIR_P) $(@D) + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ + +OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ + $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ + $(OSX_APP)/Contents/MacOS/Hyperstake-Qt + +if BUILD_DARWIN +$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) + $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 + +deploydir: $(OSX_DMG) +else +APP_DIST_DIR=$(top_builddir)/dist +APP_DIST_EXTRAS=$(APP_DIST_DIR)/.background/background.png $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications + +$(APP_DIST_DIR)/Applications: + @rm -f $@ + @cd $(@D); $(LN_S) /Applications $(@F) + +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt + +$(OSX_DMG): $(APP_DIST_EXTRAS) + $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o $@ dist + +$(APP_DIST_DIR)/.background/background.png: + $(MKDIR_P) $(@D) + $(INSTALL) $(top_srcdir)/contrib/macdeploy/background.png $@ +$(APP_DIST_DIR)/.DS_Store: + $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ + +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) + INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 + +deploydir: $(APP_DIST_EXTRAS) +endif + +if TARGET_DARWIN +appbundle: $(OSX_APP_BUILT) +deploy: $(OSX_DMG) +endif +if TARGET_WINDOWS +deploy: $(BITCOIN_WIN_INSTALLER) +endif + +$(BITCOIN_QT_BIN): FORCE + $(MAKE) -C src qt/$(@F) + +$(BITCOIND_BIN): FORCE + $(MAKE) -C src $(@F) + +if USE_LCOV + +baseline.info: + $(LCOV) -c -i -d $(abs_builddir)/src -o $@ + +baseline_filtered.info: baseline.info + $(LCOV) -r $< "/usr/include/*" -o $@ + +leveldb_baseline.info: baseline_filtered.info + $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@ + +leveldb_baseline_filtered.info: leveldb_baseline.info + $(LCOV) -r $< "/usr/include/*" -o $@ + +baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info + $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ + +test_bitcoin.info: baseline_filtered_combined.info + $(MAKE) -C src/ check + $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ + $(LCOV) -z -d $(abs_builddir)/src + $(LCOV) -z -d $(abs_builddir)/src/leveldb + +test_bitcoin_filtered.info: test_bitcoin.info + $(LCOV) -r $< "/usr/include/*" -o $@ + +block_test.info: test_bitcoin_filtered.info + $(MKDIR_P) qa/tmp + -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 + $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ + $(LCOV) -z -d $(abs_builddir)/src + $(LCOV) -z -d $(abs_builddir)/src/leveldb + +block_test_filtered.info: block_test.info + $(LCOV) -r $< "/usr/include/*" -o $@ + +test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info + $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@ + +total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info + $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt + +test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info + $(GENHTML) -s $< -o $(@D) + @touch $@ + +total.coverage/.dirstamp: total_coverage.info + $(GENHTML) -s $< -o $(@D) + @touch $@ + +cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp + +endif + +if USE_COMPARISON_TOOL +check-local: + $(MKDIR_P) qa/tmp + @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1 +endif + +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.sh qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) + +CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) + +.INTERMEDIATE: $(COVERAGE_INFO) + +clean-local: + rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 000000000..3e26a1830 --- /dev/null +++ b/autogen.sh @@ -0,0 +1,9 @@ +#!/bin/sh +set -e +srcdir="$(dirname $0)" +cd "$srcdir" +if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then + LIBTOOLIZE="${GLIBTOOLIZE}" + export LIBTOOLIZE +fi +autoreconf --install --force --warnings=all diff --git a/build-aux/m4/ax_boost_base.m4 b/build-aux/m4/ax_boost_base.m4 new file mode 100644 index 000000000..3f24d5ddc --- /dev/null +++ b/build-aux/m4/ax_boost_base.m4 @@ -0,0 +1,281 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_base.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# DESCRIPTION +# +# Test for the Boost C++ libraries of a particular version (or newer) +# +# If no path to the installed boost library is given the macro searchs +# under /usr, /usr/local, /opt and /opt/local and evaluates the +# $BOOST_ROOT environment variable. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) +# +# And sets: +# +# HAVE_BOOST +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2009 Peter Adolphs +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 23 + +AC_DEFUN([AX_BOOST_BASE], +[ +AC_ARG_WITH([boost], + [AS_HELP_STRING([--with-boost@<:@=ARG@:>@], + [use Boost library from a standard location (ARG=yes), + from the specified location (ARG=), + or disable it (ARG=no) + @<:@ARG=yes@:>@ ])], + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ac_boost_path="" + else + want_boost="yes" + ac_boost_path="$withval" + fi + ], + [want_boost="yes"]) + + +AC_ARG_WITH([boost-libdir], + AS_HELP_STRING([--with-boost-libdir=LIB_DIR], + [Force given directory for boost libraries. Note that this will override library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.]), + [ + if test -d "$withval" + then + ac_boost_lib_path="$withval" + else + AC_MSG_ERROR(--with-boost-libdir expected directory name) + fi + ], + [ac_boost_lib_path=""] +) + +if test "x$want_boost" = "xyes"; then + boost_lib_version_req=ifelse([$1], ,1.20.0,$1) + boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'` + boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'` + boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'` + boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` + if test "x$boost_lib_version_req_sub_minor" = "x" ; then + boost_lib_version_req_sub_minor="0" + fi + WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor` + AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req) + succeeded=no + + dnl On 64-bit systems check for system libraries in both lib64 and lib. + dnl The former is specified by FHS, but e.g. Debian does not adhere to + dnl this (as it rises problems for generic multi-arch support). + dnl The last entry in the list is chosen by default when no libraries + dnl are found, e.g. when only header-only libraries are installed! + libsubdirs="lib" + ax_arch=`uname -m` + case $ax_arch in + x86_64) + libsubdirs="lib64 libx32 lib lib64" + ;; + ppc64|s390x|sparc64|aarch64) + libsubdirs="lib64 lib lib64" + ;; + esac + + dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give + dnl them priority over the other paths since, if libs are found there, they + dnl are almost assuredly the ones desired. + AC_REQUIRE([AC_CANONICAL_HOST]) + libsubdirs="lib/${host_cpu}-${host_os} $libsubdirs" + + case ${host_cpu} in + i?86) + libsubdirs="lib/i386-${host_os} $libsubdirs" + ;; + esac + + dnl some arches may advertise a cpu type that doesn't line up with their + dnl prefix's cpu type. For example, uname may report armv7l while libs are + dnl installed to /usr/lib/arm-linux-gnueabihf. Try getting the compiler's + dnl value for an extra chance of finding the correct path. + libsubdirs="lib/`$CXX -dumpmachine 2>/dev/null` $libsubdirs" + + dnl first we check the system location for boost libraries + dnl this location ist chosen if boost libraries are installed with the --layout=system option + dnl or if you install boost with RPM + if test "$ac_boost_path" != ""; then + BOOST_CPPFLAGS="-I$ac_boost_path/include" + for ac_boost_path_tmp in $libsubdirs; do + if test -d "$ac_boost_path"/"$ac_boost_path_tmp" ; then + BOOST_LDFLAGS="-L$ac_boost_path/$ac_boost_path_tmp" + break + fi + done + elif test "$cross_compiling" != yes; then + for ac_boost_path_tmp in /usr /usr/local /opt /opt/local ; do + if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then + for libsubdir in $libsubdirs ; do + if ls "$ac_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + BOOST_LDFLAGS="-L$ac_boost_path_tmp/$libsubdir" + BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include" + break; + fi + done + fi + + dnl overwrite ld flags if we have required special directory with + dnl --with-boost-libdir parameter + if test "$ac_boost_lib_path" != ""; then + BOOST_LDFLAGS="-L$ac_boost_lib_path" + fi + + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_REQUIRE([AC_PROG_CXX]) + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if BOOST_VERSION >= $WANT_BOOST_VERSION + // Everything is okay + #else + # error Boost version is too old + #endif + ]])],[ + AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ],[: + ]) + AC_LANG_POP([C++]) + + + + dnl if we found no boost with system layout we search for boost libraries + dnl built and installed without the --layout=system option or for a staged(not installed) version + if test "x$succeeded" != "xyes"; then + _version=0 + if test "$ac_boost_path" != ""; then + if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then + for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do + _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` + V_CHECK=`expr $_version_tmp \> $_version` + if test "$V_CHECK" = "1" ; then + _version=$_version_tmp + fi + VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` + BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" + done + fi + else + if test "$cross_compiling" != yes; then + for ac_boost_path in /usr /usr/local /opt /opt/local ; do + if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then + for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do + _version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` + V_CHECK=`expr $_version_tmp \> $_version` + if test "$V_CHECK" = "1" ; then + _version=$_version_tmp + best_path=$ac_boost_path + fi + done + fi + done + + VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` + BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" + if test "$ac_boost_lib_path" = ""; then + for libsubdir in $libsubdirs ; do + if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + BOOST_LDFLAGS="-L$best_path/$libsubdir" + fi + fi + + if test "x$BOOST_ROOT" != "x"; then + for libsubdir in $libsubdirs ; do + if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi + done + if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then + version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` + stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` + stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` + V_CHECK=`expr $stage_version_shorten \>\= $_version` + if test "$V_CHECK" = "1" -a "$ac_boost_lib_path" = "" ; then + AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) + BOOST_CPPFLAGS="-I$BOOST_ROOT" + BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" + fi + fi + fi + fi + + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if BOOST_VERSION >= $WANT_BOOST_VERSION + // Everything is okay + #else + # error Boost version is too old + #endif + ]])],[ + AC_MSG_RESULT(yes) + succeeded=yes + found_system=yes + ],[: + ]) + AC_LANG_POP([C++]) + fi + + if test "$succeeded" != "yes" ; then + if test "$_version" = "0" ; then + AC_MSG_NOTICE([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.]]) + else + AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) + fi + # execute ACTION-IF-NOT-FOUND (if present): + ifelse([$3], , :, [$3]) + else + AC_SUBST(BOOST_CPPFLAGS) + AC_SUBST(BOOST_LDFLAGS) + AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available]) + # execute ACTION-IF-FOUND (if present): + ifelse([$2], , :, [$2]) + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" +fi + +]) diff --git a/build-aux/m4/ax_boost_chrono.m4 b/build-aux/m4/ax_boost_chrono.m4 new file mode 100644 index 000000000..318ecea17 --- /dev/null +++ b/build-aux/m4/ax_boost_chrono.m4 @@ -0,0 +1,119 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_chrono.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_CHRONO +# +# DESCRIPTION +# +# Test for System library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_CHRONO_LIB) +# +# And sets: +# +# HAVE_BOOST_CHRONO +# +# LICENSE +# +# Copyright (c) 2012 Xiyue Deng +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 1 + +AC_DEFUN([AX_BOOST_CHRONO], +[ + AC_ARG_WITH([boost-chrono], + AS_HELP_STRING([--with-boost-chrono@<:@=special-lib@:>@], + [use the Chrono library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-chrono=boost_chrono-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_chrono_lib="" + else + want_boost="yes" + ax_boost_user_chrono_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Chrono library is available, + ax_cv_boost_chrono, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::chrono::system_clock::time_point time;]])], + ax_cv_boost_chrono=yes, ax_cv_boost_chrono=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_chrono" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_CHRONO,,[define if the Boost::Chrono library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_chrono_lib" = "x"; then + ax_lib= + for libextension in `ls $BOOSTLIBDIR/libboost_chrono*.so* $BOOSTLIBDIR/libboost_chrono*.dylib* $BOOSTLIBDIR/libboost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_chrono.*\)\.so.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_chrono.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + if test "x$link_chrono" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_chrono*.dll* $BOOSTLIBDIR/boost_chrono*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_chrono.*\)\.dll.*$;\1;' -e 's;^\(boost_chrono.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_chrono_lib boost_chrono-$ax_boost_user_chrono_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_CHRONO_LIB="-l$ax_lib"; AC_SUBST(BOOST_CHRONO_LIB) link_chrono="yes"; break], + [link_chrono="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_chrono library!) + fi + if test "x$link_chrono" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_boost_filesystem.m4 b/build-aux/m4/ax_boost_filesystem.m4 new file mode 100644 index 000000000..f5c9d5647 --- /dev/null +++ b/build-aux/m4/ax_boost_filesystem.m4 @@ -0,0 +1,119 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_filesystem.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_FILESYSTEM +# +# DESCRIPTION +# +# Test for Filesystem library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_FILESYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_FILESYSTEM +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Michael Tindal +# Copyright (c) 2009 Roman Rybalko +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 26 + +AC_DEFUN([AX_BOOST_FILESYSTEM], +[ + AC_ARG_WITH([boost-filesystem], + AS_HELP_STRING([--with-boost-filesystem@<:@=special-lib@:>@], + [use the Filesystem library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-filesystem=boost_filesystem-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_filesystem_lib="" + else + want_boost="yes" + ax_boost_user_filesystem_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + LIBS_SAVED=$LIBS + LIBS="$LIBS $BOOST_SYSTEM_LIB" + export LIBS + + AC_CACHE_CHECK(whether the Boost::Filesystem library is available, + ax_cv_boost_filesystem, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[using namespace boost::filesystem; + path my_path( "foo/bar/data.txt" ); + return 0;]])], + ax_cv_boost_filesystem=yes, ax_cv_boost_filesystem=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_filesystem" = "xyes"; then + AC_DEFINE(HAVE_BOOST_FILESYSTEM,,[define if the Boost::Filesystem library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + ax_lib= + if test "x$ax_boost_user_filesystem_lib" = "x"; then + for libextension in `ls -r $BOOSTLIBDIR/libboost_filesystem* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + if test "x$link_filesystem" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_filesystem* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + fi + else + for ax_lib in $ax_boost_user_filesystem_lib boost_filesystem-$ax_boost_user_filesystem_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_FILESYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_FILESYSTEM_LIB) link_filesystem="yes"; break], + [link_filesystem="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_filesystem library!) + fi + if test "x$link_filesystem" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + LIBS="$LIBS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_boost_program_options.m4 b/build-aux/m4/ax_boost_program_options.m4 new file mode 100644 index 000000000..f59144185 --- /dev/null +++ b/build-aux/m4/ax_boost_program_options.m4 @@ -0,0 +1,109 @@ +# ============================================================================ +# http://www.gnu.org/software/autoconf-archive/ax_boost_program_options.html +# ============================================================================ +# +# SYNOPSIS +# +# AX_BOOST_PROGRAM_OPTIONS +# +# DESCRIPTION +# +# Test for program options library from the Boost C++ libraries. The macro +# requires a preceding call to AX_BOOST_BASE. Further documentation is +# available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) +# +# And sets: +# +# HAVE_BOOST_PROGRAM_OPTIONS +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 22 + +AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], +[ + AC_ARG_WITH([boost-program-options], + AS_HELP_STRING([--with-boost-program-options@<:@=special-lib@:>@], + [use the program options library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-program-options=boost_program_options-gcc-mt-1_33_1 ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_program_options_lib="" + else + want_boost="yes" + ax_boost_user_program_options_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + export want_boost + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + AC_CACHE_CHECK([whether the Boost::Program_Options library is available], + ax_cv_boost_program_options, + [AC_LANG_PUSH(C++) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + ]], + [[boost::program_options::options_description generic("Generic options"); + return 0;]])], + ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no) + AC_LANG_POP([C++]) + ]) + if test "$ax_cv_boost_program_options" = yes; then + AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + if test "x$ax_boost_user_program_options_lib" = "x"; then + ax_lib= + for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + if test "x$link_program_options" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_program_options*.dll* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.dll.*$;\1;'` `ls $BOOSTLIBDIR/boost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_program_options.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + fi + else + for ax_lib in $ax_boost_user_program_options_lib boost_program_options-$ax_boost_user_program_options_lib; do + AC_CHECK_LIB($ax_lib, main, + [BOOST_PROGRAM_OPTIONS_LIB="-l$ax_lib"; AC_SUBST(BOOST_PROGRAM_OPTIONS_LIB) link_program_options="yes"; break], + [link_program_options="no"]) + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_program_options library!) + fi + if test "x$link_program_options" != "xyes"; then + AC_MSG_ERROR([Could not link against [$ax_lib] !]) + fi + fi + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_boost_system.m4 b/build-aux/m4/ax_boost_system.m4 new file mode 100644 index 000000000..9c78280fc --- /dev/null +++ b/build-aux/m4/ax_boost_system.m4 @@ -0,0 +1,121 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_system.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_SYSTEM +# +# DESCRIPTION +# +# Test for System library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_SYSTEM_LIB) +# +# And sets: +# +# HAVE_BOOST_SYSTEM +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# Copyright (c) 2008 Michael Tindal +# Copyright (c) 2008 Daniel Casimiro +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 17 + +AC_DEFUN([AX_BOOST_SYSTEM], +[ + AC_ARG_WITH([boost-system], + AS_HELP_STRING([--with-boost-system@<:@=special-lib@:>@], + [use the System library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-system=boost_system-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_system_lib="" + else + want_boost="yes" + ax_boost_user_system_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::System library is available, + ax_cv_boost_system, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::system::system_category]])], + ax_cv_boost_system=yes, ax_cv_boost_system=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_system" = "xyes"; then + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_SYSTEM,,[define if the Boost::System library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + if test "x$ax_boost_user_system_lib" = "x"; then + ax_lib= + for libextension in `ls -r $BOOSTLIBDIR/libboost_system* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + if test "x$link_system" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_system* 2>/dev/null | sed 's,.*/,,' | sed -e 's,\..*,,'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_system_lib boost_system-$ax_boost_user_system_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_SYSTEM_LIB="-l$ax_lib"; AC_SUBST(BOOST_SYSTEM_LIB) link_system="yes"; break], + [link_system="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_system library!) + fi + if test "x$link_system" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_boost_thread.m4 b/build-aux/m4/ax_boost_thread.m4 new file mode 100644 index 000000000..9f0bd0b23 --- /dev/null +++ b/build-aux/m4/ax_boost_thread.m4 @@ -0,0 +1,150 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_boost_thread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_BOOST_THREAD +# +# DESCRIPTION +# +# Test for Thread library from the Boost C++ libraries. The macro requires +# a preceding call to AX_BOOST_BASE. Further documentation is available at +# . +# +# This macro calls: +# +# AC_SUBST(BOOST_THREAD_LIB) +# +# And sets: +# +# HAVE_BOOST_THREAD +# +# LICENSE +# +# Copyright (c) 2009 Thomas Porschberg +# Copyright (c) 2009 Michael Tindal +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 27 + +AC_DEFUN([AX_BOOST_THREAD], +[ + AC_ARG_WITH([boost-thread], + AS_HELP_STRING([--with-boost-thread@<:@=special-lib@:>@], + [use the Thread library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-thread=boost_thread-gcc-mt ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_thread_lib="" + else + want_boost="yes" + ax_boost_user_thread_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_BUILD]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Thread library is available, + ax_cv_boost_thread, + [AC_LANG_PUSH([C++]) + CXXFLAGS_SAVE=$CXXFLAGS + + if test "x$host_os" = "xsolaris" ; then + CXXFLAGS="-pthreads $CXXFLAGS" + elif test "x$host_os" = "xmingw32" ; then + CXXFLAGS="-mthreads $CXXFLAGS" + else + CXXFLAGS="-pthread $CXXFLAGS" + fi + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[boost::thread_group thrds; + return 0;]])], + ax_cv_boost_thread=yes, ax_cv_boost_thread=no) + CXXFLAGS=$CXXFLAGS_SAVE + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_thread" = "xyes"; then + if test "x$host_os" = "xsolaris" ; then + BOOST_CPPFLAGS="-pthreads $BOOST_CPPFLAGS" + elif test "x$host_os" = "xmingw32" ; then + BOOST_CPPFLAGS="-mthreads $BOOST_CPPFLAGS" + else + BOOST_CPPFLAGS="-pthread $BOOST_CPPFLAGS" + fi + + AC_SUBST(BOOST_CPPFLAGS) + + AC_DEFINE(HAVE_BOOST_THREAD,,[define if the Boost::Thread library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + LDFLAGS_SAVE=$LDFLAGS + case "x$host_os" in + *bsd* ) + LDFLAGS="-pthread $LDFLAGS" + break; + ;; + esac + if test "x$ax_boost_user_thread_lib" = "x"; then + ax_lib= + for libextension in `ls -r $BOOSTLIBDIR/libboost_thread* 2>/dev/null | sed 's,.*/lib,,' | sed 's,\..*,,'`; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], + [link_thread="no"]) + done + if test "x$link_thread" != "xyes"; then + for libextension in `ls -r $BOOSTLIBDIR/boost_thread* 2>/dev/null | sed 's,.*/,,' | sed 's,\..*,,'`; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], + [link_thread="no"]) + done + fi + + else + for ax_lib in $ax_boost_user_thread_lib boost_thread-$ax_boost_user_thread_lib; do + AC_CHECK_LIB($ax_lib, exit, + [BOOST_THREAD_LIB="-l$ax_lib"; AC_SUBST(BOOST_THREAD_LIB) link_thread="yes"; break], + [link_thread="no"]) + done + + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_thread library!) + fi + if test "x$link_thread" = "xno"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + else + case "x$host_os" in + *bsd* ) + BOOST_LDFLAGS="-pthread $BOOST_LDFLAGS" + break; + ;; + esac + + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_boost_unit_test_framework.m4 b/build-aux/m4/ax_boost_unit_test_framework.m4 new file mode 100644 index 000000000..4efd1e2f1 --- /dev/null +++ b/build-aux/m4/ax_boost_unit_test_framework.m4 @@ -0,0 +1,138 @@ +# ================================================================================ +# http://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html +# ================================================================================ +# +# SYNOPSIS +# +# AX_BOOST_UNIT_TEST_FRAMEWORK +# +# DESCRIPTION +# +# Test for Unit_Test_Framework library from the Boost C++ libraries. The +# macro requires a preceding call to AX_BOOST_BASE. Further documentation +# is available at . +# +# This macro calls: +# +# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) +# +# And sets: +# +# HAVE_BOOST_UNIT_TEST_FRAMEWORK +# +# LICENSE +# +# Copyright (c) 2008 Thomas Porschberg +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 19 + +AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], +[ + AC_ARG_WITH([boost-unit-test-framework], + AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@], + [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker + e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]), + [ + if test "$withval" = "no"; then + want_boost="no" + elif test "$withval" = "yes"; then + want_boost="yes" + ax_boost_user_unit_test_framework_lib="" + else + want_boost="yes" + ax_boost_user_unit_test_framework_lib="$withval" + fi + ], + [want_boost="yes"] + ) + + if test "x$want_boost" = "xyes"; then + AC_REQUIRE([AC_PROG_CC]) + CPPFLAGS_SAVED="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + export CPPFLAGS + + LDFLAGS_SAVED="$LDFLAGS" + LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" + export LDFLAGS + + AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available, + ax_cv_boost_unit_test_framework, + [AC_LANG_PUSH([C++]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], + [[using boost::unit_test::test_suite; + test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;]])], + ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no) + AC_LANG_POP([C++]) + ]) + if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then + AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available]) + BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` + + if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then + saved_ldflags="${LDFLAGS}" + ax_lib= + for monitor_library in `ls $BOOSTLIBDIR/libboost_unit_test_framework*.so* $BOOSTLIBDIR/libboost_unit_test_framework*.dylib* $BOOSTLIBDIR/libboost_unit_test_framework*.a* 2>/dev/null` ; do + if test -r $monitor_library ; then + libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a.*$;\1;'` + ax_lib=${libextension} + link_unit_test_framework="yes" + else + link_unit_test_framework="no" + fi + + if test "x$link_unit_test_framework" = "xyes"; then + BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" + AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) + break + fi + done + if test "x$link_unit_test_framework" != "xyes"; then + for libextension in `ls $BOOSTLIBDIR/boost_unit_test_framework*.dll* $BOOSTLIBDIR/boost_unit_test_framework*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_unit_test_framework.*\)\.dll.*$;\1;' -e 's;^\(boost_unit_test_framework.*\)\.a.*$;\1;'` ; do + ax_lib=${libextension} + AC_CHECK_LIB($ax_lib, exit, + [BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"; AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) link_unit_test_framework="yes"; break], + [link_unit_test_framework="no"]) + done + fi + else + link_unit_test_framework="no" + saved_ldflags="${LDFLAGS}" + for ax_lib in boost_unit_test_framework-$ax_boost_user_unit_test_framework_lib $ax_boost_user_unit_test_framework_lib ; do + if test "x$link_unit_test_framework" = "xyes"; then + break; + fi + for unittest_library in `ls $BOOSTLIBDIR/lib${ax_lib}.so* $BOOSTLIBDIR/lib${ax_lib}.a* 2>/dev/null` ; do + if test -r $unittest_library ; then + libextension=`echo $unittest_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a*$;\1;'` + ax_lib=${libextension} + link_unit_test_framework="yes" + else + link_unit_test_framework="no" + fi + + if test "x$link_unit_test_framework" = "xyes"; then + BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" + AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) + break + fi + done + done + fi + if test "x$ax_lib" = "x"; then + AC_MSG_ERROR(Could not find a version of the boost_unit_test_framework library!) + fi + if test "x$link_unit_test_framework" != "xyes"; then + AC_MSG_ERROR(Could not link against $ax_lib !) + fi + fi + + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + fi +]) diff --git a/build-aux/m4/ax_check_compile_flag.m4 b/build-aux/m4/ax_check_compile_flag.m4 new file mode 100644 index 000000000..c3a8d695a --- /dev/null +++ b/build-aux/m4/ax_check_compile_flag.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS diff --git a/build-aux/m4/ax_check_link_flag.m4 b/build-aux/m4/ax_check_link_flag.m4 new file mode 100644 index 000000000..e2d0d363e --- /dev/null +++ b/build-aux/m4/ax_check_link_flag.m4 @@ -0,0 +1,71 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the linker or gives an error. +# (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the linker's default flags +# when the check is done. The check is thus made with the flags: "LDFLAGS +# EXTRA-FLAGS FLAG". This can for example be used to force the linker to +# issue an error when a bad flag is given. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CHECK_LINK_FLAG], +[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl +AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS $4 $1" + AC_LINK_IFELSE([AC_LANG_PROGRAM()], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + LDFLAGS=$ax_check_save_flags]) +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_LINK_FLAGS diff --git a/build-aux/m4/ax_check_preproc_flag.m4 b/build-aux/m4/ax_check_preproc_flag.m4 new file mode 100644 index 000000000..b1cfef6b8 --- /dev/null +++ b/build-aux/m4/ax_check_preproc_flag.m4 @@ -0,0 +1,72 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_check_preproc_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's +# preprocessor or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the preprocessor's default +# flags when the check is done. The check is thus made with the flags: +# "CPPFLAGS EXTRA-FLAGS FLAG". This can for example be used to force the +# preprocessor to issue an error when a bad flag is given. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 2 + +AC_DEFUN([AX_CHECK_PREPROC_FLAG], +[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [ + ax_check_save_flags=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $4 $1" + AC_PREPROC_IFELSE([AC_LANG_PROGRAM()], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + CPPFLAGS=$ax_check_save_flags]) +AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_PREPROC_FLAGS diff --git a/build-aux/m4/ax_gcc_func_attribute.m4 b/build-aux/m4/ax_gcc_func_attribute.m4 new file mode 100644 index 000000000..275ca63a2 --- /dev/null +++ b/build-aux/m4/ax_gcc_func_attribute.m4 @@ -0,0 +1,217 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_gcc_func_attribute.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_GCC_FUNC_ATTRIBUTE(ATTRIBUTE) +# +# DESCRIPTION +# +# This macro checks if the compiler supports one of GCC's function +# attributes; many other compilers also provide function attributes with +# the same syntax. Compiler warnings are used to detect supported +# attributes as unsupported ones are ignored by default so quieting +# warnings when using this macro will yield false positives. +# +# The ATTRIBUTE parameter holds the name of the attribute to be checked. +# +# If ATTRIBUTE is supported define HAVE_FUNC_ATTRIBUTE_. +# +# The macro caches its result in the ax_cv_have_func_attribute_ +# variable. +# +# The macro currently supports the following function attributes: +# +# alias +# aligned +# alloc_size +# always_inline +# artificial +# cold +# const +# constructor +# deprecated +# destructor +# dllexport +# dllimport +# error +# externally_visible +# flatten +# format +# format_arg +# gnu_inline +# hot +# ifunc +# leaf +# malloc +# noclone +# noinline +# nonnull +# noreturn +# nothrow +# optimize +# pure +# unused +# used +# visibility +# warning +# warn_unused_result +# weak +# weakref +# +# Unsuppored function attributes will be tested with a prototype returning +# an int and not accepting any arguments and the result of the check might +# be wrong or meaningless so use with care. +# +# LICENSE +# +# Copyright (c) 2013 Gabriele Svelto +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2 + +AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ + AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) + + AC_CACHE_CHECK([for __attribute__(($1))], [ac_var], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([ + m4_case([$1], + [alias], [ + int foo( void ) { return 0; } + int bar( void ) __attribute__(($1("foo"))); + ], + [aligned], [ + int foo( void ) __attribute__(($1(32))); + ], + [alloc_size], [ + void *foo(int a) __attribute__(($1(1))); + ], + [always_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [artificial], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [cold], [ + int foo( void ) __attribute__(($1)); + ], + [const], [ + int foo( void ) __attribute__(($1)); + ], + [constructor], [ + int foo( void ) __attribute__(($1)); + ], + [deprecated], [ + int foo( void ) __attribute__(($1(""))); + ], + [destructor], [ + int foo( void ) __attribute__(($1)); + ], + [dllexport], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [dllimport], [ + int foo( void ) __attribute__(($1)); + ], + [error], [ + int foo( void ) __attribute__(($1(""))); + ], + [externally_visible], [ + int foo( void ) __attribute__(($1)); + ], + [flatten], [ + int foo( void ) __attribute__(($1)); + ], + [format], [ + int foo(const char *p, ...) __attribute__(($1(printf, 1, 2))); + ], + [format_arg], [ + char *foo(const char *p) __attribute__(($1(1))); + ], + [gnu_inline], [ + inline __attribute__(($1)) int foo( void ) { return 0; } + ], + [hot], [ + int foo( void ) __attribute__(($1)); + ], + [ifunc], [ + int my_foo( void ) { return 0; } + static int (*resolve_foo(void))(void) { return my_foo; } + int foo( void ) __attribute__(($1("resolve_foo"))); + ], + [leaf], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [malloc], [ + void *foo( void ) __attribute__(($1)); + ], + [noclone], [ + int foo( void ) __attribute__(($1)); + ], + [noinline], [ + __attribute__(($1)) int foo( void ) { return 0; } + ], + [nonnull], [ + int foo(char *p) __attribute__(($1(1))); + ], + [noreturn], [ + void foo( void ) __attribute__(($1)); + ], + [nothrow], [ + int foo( void ) __attribute__(($1)); + ], + [optimize], [ + __attribute__(($1(3))) int foo( void ) { return 0; } + ], + [pure], [ + int foo( void ) __attribute__(($1)); + ], + [unused], [ + int foo( void ) __attribute__(($1)); + ], + [used], [ + int foo( void ) __attribute__(($1)); + ], + [visibility], [ + int foo_def( void ) __attribute__(($1("default"))); + int foo_hid( void ) __attribute__(($1("hidden"))); + ], + [warning], [ + int foo( void ) __attribute__(($1(""))); + ], + [warn_unused_result], [ + int foo( void ) __attribute__(($1)); + ], + [weak], [ + int foo( void ) __attribute__(($1)); + ], + [weakref], [ + static int foo( void ) { return 0; } + static int bar( void ) __attribute__(($1("foo"))); + ], + [ + m4_warn([syntax], [Unsupported attribute $1, the test may fail]) + int foo( void ) __attribute__(($1)); + ] + )], []) + ], + dnl GCC doesn't exit with an error if an unknown attribute is + dnl provided but only outputs a warning, so accept the attribute + dnl only if no warning were issued. + [AS_IF([test -s conftest.err], + [AS_VAR_SET([ac_var], [no])], + [AS_VAR_SET([ac_var], [yes])])], + [AS_VAR_SET([ac_var], [no])]) + ]) + + AS_IF([test yes = AS_VAR_GET([ac_var])], + [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_FUNC_ATTRIBUTE_$1), 1, + [Define to 1 if the system has the `$1' function attribute])], []) + + AS_VAR_POPDEF([ac_var]) +]) diff --git a/build-aux/m4/ax_pthread.m4 b/build-aux/m4/ax_pthread.m4 new file mode 100644 index 000000000..d383ad5c6 --- /dev/null +++ b/build-aux/m4/ax_pthread.m4 @@ -0,0 +1,332 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_pthread.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) +# +# DESCRIPTION +# +# This macro figures out how to build C programs using POSIX threads. It +# sets the PTHREAD_LIBS output variable to the threads library and linker +# flags, and the PTHREAD_CFLAGS output variable to any special C compiler +# flags that are needed. (The user can also force certain compiler +# flags/libs to be tested by setting these environment variables.) +# +# Also sets PTHREAD_CC to any special C compiler that is needed for +# multi-threaded programs (defaults to the value of CC otherwise). (This +# is necessary on AIX to use the special cc_r compiler alias.) +# +# NOTE: You are assumed to not only compile your program with these flags, +# but also link it with them as well. e.g. you should link with +# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# +# If you are only building threads programs, you may wish to use these +# variables in your default LIBS, CFLAGS, and CC: +# +# LIBS="$PTHREAD_LIBS $LIBS" +# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CC="$PTHREAD_CC" +# +# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant +# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name +# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# +# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the +# PTHREAD_PRIO_INHERIT symbol is defined when compiling with +# PTHREAD_CFLAGS. +# +# ACTION-IF-FOUND is a list of shell commands to run if a threads library +# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it +# is not found. If ACTION-IF-FOUND is not specified, the default action +# will define HAVE_PTHREAD. +# +# Please let the authors know if this macro fails on any platform, or if +# you have any other suggestions or comments. This macro was based on work +# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help +# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by +# Alejandro Forero Cuervo to the autoconf macro repository. We are also +# grateful for the helpful feedback of numerous users. +# +# Updated for Autoconf 2.68 by Daniel Richard G. +# +# LICENSE +# +# Copyright (c) 2008 Steven G. Johnson +# Copyright (c) 2011 Daniel Richard G. +# +# This program is free software: you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation, either version 3 of the License, or (at your +# option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +# Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program. If not, see . +# +# As a special exception, the respective Autoconf Macro's copyright owner +# gives unlimited permission to copy, distribute and modify the configure +# scripts that are the output of Autoconf when processing the Macro. You +# need not follow the terms of the GNU General Public License when using +# or distributing such scripts, even though portions of the text of the +# Macro appear in them. The GNU General Public License (GPL) does govern +# all other use of the material that constitutes the Autoconf Macro. +# +# This special exception to the GPL applies to versions of the Autoconf +# Macro released by the Autoconf Archive. When you make and distribute a +# modified version of the Autoconf Macro, you may extend this special +# exception to the GPL to apply to your modified version as well. + +#serial 21 + +AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) +AC_DEFUN([AX_PTHREAD], [ +AC_REQUIRE([AC_CANONICAL_HOST]) +AC_LANG_PUSH([C]) +ax_pthread_ok=no + +# We used to check for pthread.h first, but this fails if pthread.h +# requires special compiler flags (e.g. on True64 or Sequent). +# It gets checked for in the link test anyway. + +# First of all, check if the user has set any of the PTHREAD_LIBS, +# etcetera environment variables, and if threads linking works using +# them: +if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) + AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test x"$ax_pthread_ok" = xno; then + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" + fi + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" +fi + +# We must check for the threads library under a number of different +# names; the ordering is very important because some systems +# (e.g. DEC) have both -lpthread and -lpthreads, where one of the +# libraries is broken (non-POSIX). + +# Create a list of thread flags to try. Items starting with a "-" are +# C compiler flags, and other items are library names, except for "none" +# which indicates that we try without any flags at all, and "pthread-config" +# which is a program returning the flags for the Pth emulation library. + +ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" + +# The ordering *is* (sometimes) important. Some notes on the +# individual items follow: + +# pthreads: AIX (must check this before -lpthread) +# none: in case threads are in libc; should be tried before -Kthread and +# other compiler flags to prevent continual compiler warnings +# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) +# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) +# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) +# -pthreads: Solaris/gcc +# -mthreads: Mingw32/gcc, Lynx/gcc +# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it +# doesn't hurt to check since this sometimes defines pthreads too; +# also defines -D_REENTRANT) +# ... -mt is also the pthreads flag for HP/aCC +# pthread: Linux, etcetera +# --thread-safe: KAI C++ +# pthread-config: use pthread-config program (for GNU Pth library) + +case ${host_os} in + solaris*) + + # On Solaris (at least, for some versions), libc contains stubbed + # (non-functional) versions of the pthreads routines, so link-based + # tests will erroneously succeed. (We need to link with -pthreads/-mt/ + # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather + # a function called by this macro, so we could check for that, but + # who knows whether they'll stub that too in a future libc.) So, + # we'll just look for -pthreads and -lpthread first: + + ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" + ;; + + darwin*) + ax_pthread_flags="-pthread $ax_pthread_flags" + ;; +esac + +# Clang doesn't consider unrecognized options an error unless we specify +# -Werror. We throw in some extra Clang-specific options to ensure that +# this doesn't happen for GCC, which also accepts -Werror. + +AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) +save_CFLAGS="$CFLAGS" +ax_pthread_extra_flags="-Werror" +CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], + [AC_MSG_RESULT([yes])], + [ax_pthread_extra_flags= + AC_MSG_RESULT([no])]) +CFLAGS="$save_CFLAGS" + +if test x"$ax_pthread_ok" = xno; then +for flag in $ax_pthread_flags; do + + case $flag in + none) + AC_MSG_CHECKING([whether pthreads work without any flags]) + ;; + + -*) + AC_MSG_CHECKING([whether pthreads work with $flag]) + PTHREAD_CFLAGS="$flag" + ;; + + pthread-config) + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + if test x"$ax_pthread_config" = xno; then continue; fi + PTHREAD_CFLAGS="`pthread-config --cflags`" + PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" + ;; + + *) + AC_MSG_CHECKING([for the pthreads library -l$flag]) + PTHREAD_LIBS="-l$flag" + ;; + esac + + save_LIBS="$LIBS" + save_CFLAGS="$CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" + + # Check for various functions. We must include pthread.h, + # since some functions may be macros. (On the Sequent, we + # need a special flag -Kthread to make this header compile.) + # We check for pthread_join because it is in -lpthread on IRIX + # while pthread_create is in libc. We check for pthread_attr_init + # due to DEC craziness with -lpthreads. We check for + # pthread_cleanup_push because it is one of the few pthread + # functions on Solaris that doesn't have a non-functional libc stub. + # We try pthread_create on general principles. + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include + static void routine(void *a) { a = 0; } + static void *start_routine(void *a) { return a; }], + [pthread_t th; pthread_attr_t attr; + pthread_create(&th, 0, start_routine, 0); + pthread_join(th, 0); + pthread_attr_init(&attr); + pthread_cleanup_push(routine, 0); + pthread_cleanup_pop(0) /* ; */])], + [ax_pthread_ok=yes], + []) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = xyes; then + break; + fi + + PTHREAD_LIBS="" + PTHREAD_CFLAGS="" +done +fi + +# Various other checks: +if test "x$ax_pthread_ok" = xyes; then + save_LIBS="$LIBS" + LIBS="$PTHREAD_LIBS $LIBS" + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + + # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. + AC_MSG_CHECKING([for joinable pthread attribute]) + attr_name=unknown + for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $attr; return attr /* ; */])], + [attr_name=$attr; break], + []) + done + AC_MSG_RESULT([$attr_name]) + if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then + AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + fi + + AC_MSG_CHECKING([if more special flags are required for pthreads]) + flag=no + case ${host_os} in + aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; + osf* | hpux*) flag="-D_REENTRANT";; + solaris*) + if test "$GCC" = "yes"; then + flag="-D_REENTRANT" + else + # TODO: What about Clang on Solaris? + flag="-mt -D_REENTRANT" + fi + ;; + esac + AC_MSG_RESULT([$flag]) + if test "x$flag" != xno; then + PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" + fi + + AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], + [ax_cv_PTHREAD_PRIO_INHERIT], [ + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) + ]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) + + LIBS="$save_LIBS" + CFLAGS="$save_CFLAGS" + + # More AIX lossage: compile with *_r variant + if test "x$GCC" != xyes; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], + [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) + +# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: +if test x"$ax_pthread_ok" = xyes; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) + : +else + ax_pthread_ok=no + $2 +fi +AC_LANG_POP +])dnl AX_PTHREAD diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4 new file mode 100644 index 000000000..f3b14461e --- /dev/null +++ b/build-aux/m4/bitcoin_find_bdb48.m4 @@ -0,0 +1,66 @@ +AC_DEFUN([BITCOIN_FIND_BDB48],[ + AC_MSG_CHECKING([for Berkeley DB C++ headers]) + BDB_CPPFLAGS= + BDB_LIBS= + bdbpath=X + bdb48path=X + bdbdirlist= + for _vn in 4.8 48 4 5 ''; do + for _pfx in b lib ''; do + bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" + done + done + for searchpath in $bdbdirlist ''; do + test -n "${searchpath}" && searchpath="${searchpath}/" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ + #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4) + #error "failed to find bdb 4.8+" + #endif + ]])],[ + if test "x$bdbpath" = "xX"; then + bdbpath="${searchpath}" + fi + ],[ + continue + ]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ + #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8) + #error "failed to find bdb 4.8" + #endif + ]])],[ + bdb48path="${searchpath}" + break + ],[]) + done + if test "x$bdbpath" = "xX"; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR(libdb_cxx headers missing) + elif test "x$bdb48path" = "xX"; then + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) + AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ + AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!]) + ],[ + AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) + ]) + else + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx) + bdbpath="${bdb48path}" + fi + AC_SUBST(BDB_CPPFLAGS) + + # TODO: Ideally this could find the library version and make sure it matches the headers being used + for searchlib in db_cxx-4.8 db_cxx; do + AC_CHECK_LIB([$searchlib],[main],[ + BDB_LIBS="-l${searchlib}" + break + ]) + done + if test "x$BDB_LIBS" = "x"; then + AC_MSG_ERROR([libdb_cxx missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + fi + AC_SUBST(BDB_LIBS) +]) diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 new file mode 100644 index 000000000..2a7226265 --- /dev/null +++ b/build-aux/m4/bitcoin_qt.m4 @@ -0,0 +1,415 @@ +dnl Helper for cases where a qt dependency is not met. +dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit. +AC_DEFUN([BITCOIN_QT_FAIL],[ + if test "x$bitcoin_qt_want_version" = "xauto" && test x$bitcoin_qt_force != xyes; then + if test x$bitcoin_enable_qt != xno; then + AC_MSG_WARN([$1; bitcoin-qt frontend will not be built]) + fi + bitcoin_enable_qt=no + else + AC_MSG_ERROR([$1]) + fi +]) + +AC_DEFUN([BITCOIN_QT_CHECK],[ + if test "x$bitcoin_enable_qt" != "xno" && test x$bitcoin_qt_want_version != xno; then + true + $1 + else + true + $2 + fi +]) + +dnl BITCOIN_QT_PATH_PROGS([FOO], [foo foo2], [/path/to/search/first], [continue if missing]) +dnl Helper for finding the path of programs needed for Qt. +dnl Inputs: $1: Variable to be set +dnl Inputs: $2: List of programs to search for +dnl Inputs: $3: Look for $2 here before $PATH +dnl Inputs: $4: If "yes", don't fail if $2 is not found. +dnl Output: $1 is set to the path of $2 if found. $2 are searched in order. +AC_DEFUN([BITCOIN_QT_PATH_PROGS],[ + BITCOIN_QT_CHECK([ + if test "x$3" != "x"; then + AC_PATH_PROGS($1,$2,,$3) + else + AC_PATH_PROGS($1,$2) + fi + if test "x$$1" = "x" && test "x$4" != "xyes"; then + BITCOIN_QT_FAIL([$1 not found]) + fi + ]) +]) + +dnl Initialize qt input. +dnl This must be called before any other BITCOIN_QT* macros to ensure that +dnl input variables are set correctly. +dnl CAUTION: Do not use this inside of a conditional. +AC_DEFUN([BITCOIN_QT_INIT],[ + dnl enable qt support + AC_ARG_WITH([gui], + [AS_HELP_STRING([--with-gui@<:@=no|qt4|qt5|auto@:>@], + [build bitcoin-qt GUI (default=auto, qt4 tried first)])], + [ + bitcoin_qt_want_version=$withval + if test x$bitcoin_qt_want_version = xyes; then + bitcoin_qt_force=yes + bitcoin_qt_want_version=auto + fi + ], + [bitcoin_qt_want_version=auto]) + + AC_ARG_WITH([qt-incdir],[AS_HELP_STRING([--with-qt-incdir=INC_DIR],[specify qt include path (overridden by pkgconfig)])], [qt_include_path=$withval], []) + AC_ARG_WITH([qt-libdir],[AS_HELP_STRING([--with-qt-libdir=LIB_DIR],[specify qt lib path (overridden by pkgconfig)])], [qt_lib_path=$withval], []) + AC_ARG_WITH([qt-plugindir],[AS_HELP_STRING([--with-qt-plugindir=PLUGIN_DIR],[specify qt plugin path (overridden by pkgconfig)])], [qt_plugin_path=$withval], []) + AC_ARG_WITH([qt-translationdir],[AS_HELP_STRING([--with-qt-translationdir=PLUGIN_DIR],[specify qt translation path (overridden by pkgconfig)])], [qt_translation_path=$withval], []) + AC_ARG_WITH([qt-bindir],[AS_HELP_STRING([--with-qt-bindir=BIN_DIR],[specify qt bin path])], [qt_bin_path=$withval], []) + + AC_ARG_WITH([qtdbus], + [AS_HELP_STRING([--with-qtdbus], + [enable DBus support (default is yes if qt is enabled and QtDBus is found)])], + [use_dbus=$withval], + [use_dbus=auto]) + + AC_SUBST(QT_TRANSLATION_DIR,$qt_translation_path) +]) + +dnl Find the appropriate version of Qt libraries and includes. +dnl Inputs: $1: Whether or not pkg-config should be used. yes|no. Default: yes. +dnl Inputs: $2: If $1 is "yes" and --with-gui=auto, which qt version should be +dnl tried first. +dnl Outputs: See _BITCOIN_QT_FIND_LIBS_* +dnl Outputs: Sets variables for all qt-related tools. +dnl Outputs: bitcoin_enable_qt, bitcoin_enable_qt_dbus, bitcoin_enable_qt_test +AC_DEFUN([BITCOIN_QT_CONFIGURE],[ + use_pkgconfig=$1 + + if test x$use_pkgconfig = x; then + use_pkgconfig=yes + fi + + if test x$use_pkgconfig = xyes; then + BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG([$2])]) + else + BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG]) + fi + + dnl This is ugly and complicated. Yuck. Works as follows: + dnl We can't discern whether Qt4 builds are static or not. For Qt5, we can + dnl check a header to find out. When Qt is built statically, some plugins must + dnl be linked into the final binary as well. These plugins have changed between + dnl Qt4 and Qt5. With Qt5, languages moved into core and the WindowsIntegration + dnl plugin was added. Since we can't tell if Qt4 is static or not, it is + dnl assumed for windows builds. + dnl _BITCOIN_QT_CHECK_STATIC_PLUGINS does a quick link-check and appends the + dnl results to QT_LIBS. + BITCOIN_QT_CHECK([ + TEMP_CPPFLAGS=$CPPFLAGS + CPPFLAGS=$QT_INCLUDES + if test x$bitcoin_qt_got_major_vers = x5; then + _BITCOIN_QT_IS_STATIC + if test x$bitcoin_cv_static_qt = xyes; then + AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) + if test x$qt_plugin_path != x; then + QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" + QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms" + fi + if test x$use_pkgconfig = xyes; then + PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"]) + fi + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) + if test x$TARGET_OS = xwindows; then + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows]) + AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows]) + elif test x$TARGET_OS = xlinux; then + PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static]) + AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb]) + elif test x$TARGET_OS = xdarwin; then + if test x$use_pkgconfig = xyes; then + PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"]) + fi + AX_CHECK_LINK_FLAG([[-framework IOKit]],[QT_LIBS="$QT_LIBS -framework IOKit"],[AC_MSG_ERROR(could not iokit framework)]) + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa]) + AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa]) + fi + fi + else + if test x$TARGET_OS = xwindows; then + AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) + if test x$qt_plugin_path != x; then + QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" + QT_LIBS="$QT_LIBS -L$qt_plugin_path/codecs" + fi + _BITCOIN_QT_CHECK_STATIC_PLUGINS([ + Q_IMPORT_PLUGIN(qcncodecs) + Q_IMPORT_PLUGIN(qjpcodecs) + Q_IMPORT_PLUGIN(qtwcodecs) + Q_IMPORT_PLUGIN(qkrcodecs) + Q_IMPORT_PLUGIN(AccessibleFactory)], + [-lqcncodecs -lqjpcodecs -lqtwcodecs -lqkrcodecs -lqtaccessiblewidgets]) + fi + fi + CPPFLAGS=$TEMP_CPPFLAGS + ]) + + if test x$use_pkgconfig$qt_bin_path = xyes; then + if test x$bitcoin_qt_got_major_vers = x5; then + qt_bin_path="`$PKG_CONFIG --variable=host_bins Qt5Core 2>/dev/null`" + fi + fi + + BITCOIN_QT_PATH_PROGS([MOC], [moc-qt${bitcoin_qt_got_major_vers} moc${bitcoin_qt_got_major_vers} moc], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([UIC], [uic-qt${bitcoin_qt_got_major_vers} uic${bitcoin_qt_got_major_vers} uic], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([RCC], [rcc-qt${bitcoin_qt_got_major_vers} rcc${bitcoin_qt_got_major_vers} rcc], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([LRELEASE], [lrelease-qt${bitcoin_qt_got_major_vers} lrelease${bitcoin_qt_got_major_vers} lrelease], $qt_bin_path) + BITCOIN_QT_PATH_PROGS([LUPDATE], [lupdate-qt${bitcoin_qt_got_major_vers} lupdate${bitcoin_qt_got_major_vers} lupdate],$qt_bin_path, yes) + + MOC_DEFS='-DHAVE_CONFIG_H -I$(srcdir)' + case $host in + *darwin*) + BITCOIN_QT_CHECK([ + MOC_DEFS="${MOC_DEFS} -DQ_OS_MAC" + base_frameworks="-framework Foundation -framework ApplicationServices -framework AppKit" + AX_CHECK_LINK_FLAG([[$base_frameworks]],[QT_LIBS="$QT_LIBS $base_frameworks"],[AC_MSG_ERROR(could not find base frameworks)]) + ]) + ;; + *mingw*) + BITCOIN_QT_CHECK([ + AX_CHECK_LINK_FLAG([[-mwindows]],[QT_LDFLAGS="$QT_LDFLAGS -mwindows"],[AC_MSG_WARN(-mwindows linker support not detected)]) + ]) + esac + + + dnl enable qt support + AC_MSG_CHECKING(whether to build Bitcoin Core GUI) + BITCOIN_QT_CHECK([ + bitcoin_enable_qt=yes + bitcoin_enable_qt_test=yes + if test x$have_qt_test = xno; then + bitcoin_enable_qt_test=no + fi + bitcoin_enable_qt_dbus=no + if test x$use_dbus != xno && test x$have_qt_dbus = xyes; then + bitcoin_enable_qt_dbus=yes + fi + if test x$use_dbus = xyes && test x$have_qt_dbus = xno; then + AC_MSG_ERROR("libQtDBus not found. Install libQtDBus or remove --with-qtdbus.") + fi + if test x$LUPDATE = x; then + AC_MSG_WARN("lupdate is required to update qt translations") + fi + ],[ + bitcoin_enable_qt=no + ]) + AC_MSG_RESULT([$bitcoin_enable_qt (Qt${bitcoin_qt_got_major_vers})]) + + AC_SUBST(QT_INCLUDES) + AC_SUBST(QT_LIBS) + AC_SUBST(QT_LDFLAGS) + AC_SUBST(QT_DBUS_INCLUDES) + AC_SUBST(QT_DBUS_LIBS) + AC_SUBST(QT_TEST_INCLUDES) + AC_SUBST(QT_TEST_LIBS) + AC_SUBST(QT_SELECT, qt${bitcoin_qt_got_major_vers}) + AC_SUBST(MOC_DEFS) +]) + +dnl All macros below are internal and should _not_ be used from the main +dnl configure.ac. +dnl ---- + +dnl Internal. Check if the included version of Qt is Qt5. +dnl Requires: INCLUDES must be populated as necessary. +dnl Output: bitcoin_cv_qt5=yes|no +AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[ + AC_CACHE_CHECK(for Qt 5, bitcoin_cv_qt5,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[#include ]], + [[ + #if QT_VERSION < 0x050000 + choke me + #else + return 0; + #endif + ]])], + [bitcoin_cv_qt5=yes], + [bitcoin_cv_qt5=no]) +])]) + +dnl Internal. Check if the linked version of Qt was built as static libs. +dnl Requires: Qt5. This check cannot determine if Qt4 is static. +dnl Requires: INCLUDES and LIBS must be populated as necessary. +dnl Output: bitcoin_cv_static_qt=yes|no +dnl Output: Defines QT_STATICPLUGIN if plugins are static. +AC_DEFUN([_BITCOIN_QT_IS_STATIC],[ + AC_CACHE_CHECK(for static Qt, bitcoin_cv_static_qt,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [[#include ]], + [[ + #if defined(QT_STATIC) + return 0; + #else + choke me + #endif + ]])], + [bitcoin_cv_static_qt=yes], + [bitcoin_cv_static_qt=no]) + ]) + if test xbitcoin_cv_static_qt = xyes; then + AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol for static Qt plugins]) + fi +]) + +dnl Internal. Check if the link-requirements for static plugins are met. +dnl Requires: INCLUDES and LIBS must be populated as necessary. +dnl Inputs: $1: A series of Q_IMPORT_PLUGIN(). +dnl Inputs: $2: The libraries that resolve $1. +dnl Output: QT_LIBS is prepended or configure exits. +AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS],[ + AC_MSG_CHECKING(for static Qt plugins: $2) + CHECK_STATIC_PLUGINS_TEMP_LIBS="$LIBS" + LIBS="$2 $QT_LIBS $LIBS" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #define QT_STATICPLUGIN + #include + $1]], + [[return 0;]])], + [AC_MSG_RESULT(yes); QT_LIBS="$2 $QT_LIBS"], + [AC_MSG_RESULT(no); BITCOIN_QT_FAIL(Could not resolve: $2)]) + LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS" +]) + +dnl Internal. Find Qt libraries using pkg-config. +dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to check +dnl first. +dnl Inputs: $1: If bitcoin_qt_want_version is "auto", check for this version +dnl first. +dnl Outputs: All necessary QT_* variables are set. +dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". +dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. +AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[ + m4_ifdef([PKG_CHECK_MODULES],[ + auto_priority_version=$1 + if test x$auto_priority_version = x; then + auto_priority_version=qt5 + fi + if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then + QT_LIB_PREFIX=Qt5 + bitcoin_qt_got_major_vers=5 + else + QT_LIB_PREFIX=Qt + bitcoin_qt_got_major_vers=4 + fi + qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets" + qt4_modules="QtCore QtGui QtNetwork" + BITCOIN_QT_CHECK([ + if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then + PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes],[have_qt=no]) + elif test x$bitcoin_qt_want_version = xqt4 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt4 ); then + PKG_CHECK_MODULES([QT], [$qt4_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes], [have_qt=no]) + fi + + dnl qt version is set to 'auto' and the preferred version wasn't found. Now try the other. + if test x$have_qt = xno && test x$bitcoin_qt_want_version = xauto; then + if test x$auto_priority_version = x$qt5; then + PKG_CHECK_MODULES([QT], [$qt4_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt; bitcoin_qt_got_major_vers=4], [have_qt=no]) + else + PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt5; bitcoin_qt_got_major_vers=5], [have_qt=no]) + fi + fi + if test x$have_qt != xyes; then + have_qt=no + BITCOIN_QT_FAIL([Qt dependencies not found]) + fi + ]) + BITCOIN_QT_CHECK([ + PKG_CHECK_MODULES([QT_TEST], [${QT_LIB_PREFIX}Test], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no]) + if test x$use_dbus != xno; then + PKG_CHECK_MODULES([QT_DBUS], [${QT_LIB_PREFIX}DBus], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no]) + fi + ]) + ]) + true; dnl +]) + +dnl Internal. Find Qt libraries without using pkg-config. Version is deduced +dnl from the discovered headers. +dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to use. +dnl If "auto", the version will be discovered by _BITCOIN_QT_CHECK_QT5. +dnl Outputs: All necessary QT_* variables are set. +dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". +dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. +AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ + TEMP_CPPFLAGS="$CPPFLAGS" + TEMP_LIBS="$LIBS" + BITCOIN_QT_CHECK([ + if test x$qt_include_path != x; then + QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus" + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + fi + ]) + + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QtPlugin],,BITCOIN_QT_FAIL(QtCore headers missing))]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QApplication],, BITCOIN_QT_FAIL(QtGui headers missing))]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, BITCOIN_QT_FAIL(QtNetwork headers missing))]) + + BITCOIN_QT_CHECK([ + if test x$bitcoin_qt_want_version = xauto; then + _BITCOIN_QT_CHECK_QT5 + fi + if test x$bitcoin_cv_qt5 = xyes || test x$bitcoin_qt_want_version = xqt5; then + QT_LIB_PREFIX=Qt5 + bitcoin_qt_got_major_vers=5 + else + QT_LIB_PREFIX=Qt + bitcoin_qt_got_major_vers=4 + fi + ]) + + BITCOIN_QT_CHECK([ + LIBS= + if test x$qt_lib_path != x; then + LIBS="$LIBS -L$qt_lib_path" + fi + + if test x$TARGET_OS = xwindows; then + AC_CHECK_LIB([imm32], [main],, BITCOIN_QT_FAIL(libimm32 not found)) + fi + ]) + + BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([jpeg] ,[main],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([pcre16] ,[main],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXGui not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXNetwork not found))) + if test x$bitcoin_qt_got_major_vers = x5; then + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXWidgets not found))) + fi + QT_LIBS="$LIBS" + LIBS="$TEMP_LIBS" + + BITCOIN_QT_CHECK([ + LIBS= + if test x$qt_lib_path != x; then + LIBS="-L$qt_lib_path" + fi + AC_CHECK_LIB([${QT_LIB_PREFIX}Test], [main],, have_qt_test=no) + AC_CHECK_HEADER([QTest],, have_qt_test=no) + QT_TEST_LIBS="$LIBS" + if test x$use_dbus != xno; then + LIBS= + if test x$qt_lib_path != x; then + LIBS="-L$qt_lib_path" + fi + AC_CHECK_LIB([${QT_LIB_PREFIX}DBus], [main],, have_qt_dbus=no) + AC_CHECK_HEADER([QtDBus],, have_qt_dbus=no) + QT_DBUS_LIBS="$LIBS" + fi + ]) + CPPFLAGS="$TEMP_CPPFLAGS" + LIBS="$TEMP_LIBS" +]) + diff --git a/build-aux/m4/bitcoin_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4 new file mode 100644 index 000000000..66f106c7d --- /dev/null +++ b/build-aux/m4/bitcoin_subdir_to_include.m4 @@ -0,0 +1,14 @@ +dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) +dnl SUBDIRECTORY-NAME must end with a path separator +AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ + if test "x$2" = "x"; then + AC_MSG_RESULT([default]) + else + echo "#include <$2$3.h>" >conftest.cpp + newinclpath=`${CXXCPP} ${CPPFLAGS} -M conftest.cpp 2>/dev/null | [ tr -d '\\n\\r\\\\' | sed -e 's/^.*[[:space:]:]\(\/[^[:space:]]*\)]$3[\.h[[:space:]].*$/\1/' -e t -e d`] + AC_MSG_RESULT([${newinclpath}]) + if test "x${newinclpath}" != "x"; then + eval "$1=\"\$$1\"' -I${newinclpath}'" + fi + fi +]) diff --git a/build-aux/m4/libtool.m4 b/build-aux/m4/libtool.m4 new file mode 100644 index 000000000..4adcf73bd --- /dev/null +++ b/build-aux/m4/libtool.m4 @@ -0,0 +1,7982 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is part of GNU Libtool. +# +# GNU Libtool is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2 of +# the License, or (at your option) any later version. +# +# As a special exception to the GNU General Public License, +# if you distribute this file as part of a program or library that +# is built using GNU Libtool, you may include this file under the +# same distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Libtool; see the file COPYING. If not, a copy +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +# obtained by writing to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +]) + +# serial 57 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ltmain" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_CC_BASENAME(CC) +# ------------------- +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +m4_defun([_LT_CC_BASENAME], +[for cc_temp in $1""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac +done +cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options which allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a `.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld="$lt_cv_prog_gnu_ld" + +old_CC="$CC" +old_CFLAGS="$CFLAGS" + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from `configure', and `config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# `config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain="$ac_aux_dir/ltmain.sh" +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the `libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to `config.status' so that its +# declaration there will have the same value as in `configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags="_LT_TAGS"dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into `config.status', and then the shell code to quote escape them in +# for loops in `config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# `#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test $lt_write_fail = 0 && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +\`$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test $[#] != 0 +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try \`$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try \`$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test "$silent" = yes && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options which allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}" ; then + setopt NO_GLOB_SUBST + fi + + cfgfile="${ofile}T" + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL + +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. +# +_LT_COPYING +_LT_LIBTOOL_TAGS + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test "X${COLLECT_NAMES+set}" != Xset; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + _LT_PROG_REPLACE_SHELLFNS + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + TIMESTAMP='$TIMESTAMP' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "${LT_MULTI_MODULE}"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS="$save_LDFLAGS" + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test "$lt_cv_apple_cc_single_mod" = "yes"; then + _lt_dar_single_mod='$single_module' + fi + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test "$lt_cv_ld_force_load" = "yes"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" + case $cc_basename in + ifort*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test "$_lt_dar_can_shared" = "yes"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" + m4_if([$1], [CXX], +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test "${lt_cv_aix_libpath+set}" = set; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script which will find a shell with a builtin +# printf (which we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case "$ECHO" in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[ --with-sysroot[=DIR] Search for dependent libraries within DIR + (or the compiler's sysroot if not specified).], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case ${with_sysroot} in #( + yes) + if test "$GCC" = yes; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([${with_sysroot}]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and in which our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE="32" + ;; + *ELF-64*) + HPUX_IA64_MODE="64" + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out which ABI we are using. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test "$lt_cv_prog_gnu_ld" = yes; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_i386" + ;; + ppc64-*linux*|powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + ppc*-*linux*|powerpc*-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi + ;; +*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks="$enable_libtool_lock" +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -eq 0; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test "$ac_status" -ne 0; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test "x$lt_cv_ar_at_file" = xno; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test x"[$]$2" = xyes; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS="$save_LDFLAGS" +]) + +if test x"[$]$2" = xyes; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring="ABCD" + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8 ; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test $i != 17 # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n $lt_cv_sys_max_cmd_len ; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "$cross_compiling" = yes; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisbility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test "x$enable_dlopen" != xyes; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen="load_add_on" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen="LoadLibrary" + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen="dlopen" + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ + lt_cv_dlopen="dyld" + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen="shl_load"], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen="dlopen"], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test "x$lt_cv_dlopen" != xno; then + enable_dlopen=yes + else + enable_dlopen=no + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS="$CPPFLAGS" + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS="$LDFLAGS" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS="$LIBS" + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test "x$lt_cv_dlopen_self" = xyes; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + LIBS="$save_LIBS" + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links="nottested" +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test "$hard_links" = no; then + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", + [Define to the sub-directory in which libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then + + # We can hardcode non-existent directories. + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then + # Fast installation is not supported + enable_fast_install=no +elif test "$shlibpath_overrides_runpath" = yes || + test "$enable_shared" = no; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP" ; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test "$GCC" = yes; then + case $host_os in + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; + *) lt_awk_arg="/^libraries:/" ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; + *) lt_sed_strip_eq="s,=/,/,g" ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary. + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path/$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" + else + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS=" "; FS="/|\n";} { + lt_foo=""; + lt_count=0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo="/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=".so" +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='${libname}${release}${shared_ext}$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test "$host_cpu" = ia64; then + # AIX 5 supports IA64 + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line `#! .'. This would cause the generated library to + # depend on `.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + if test "$aix_use_runtimelinking" = yes; then + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + else + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='${libname}${release}.a $libname.a' + soname_spec='${libname}${release}${shared_ext}$major' + fi + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='${libname}${shared_ext}' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=".dll" + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' + library_names_spec='${libname}.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec="$LIB" + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \${file}`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' + soname_spec='${libname}${release}${major}$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + if test "X$HPUX_IA64_MODE" = X32; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + fi + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test "$lt_cv_prog_gnu_ld" = yes; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Append ld.so.conf contents to the search path + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd*) + version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" + need_lib_prefix=no + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. + case $host_os in + openbsd3.3 | openbsd3.3.*) need_version=yes ;; + *) need_version=no ;; + esac + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + case $host_os in + openbsd2.[[89]] | openbsd2.[[89]].*) + shlibpath_overrides_runpath=no + ;; + *) + shlibpath_overrides_runpath=yes + ;; + esac + else + shlibpath_overrides_runpath=yes + fi + ;; + +os2*) + libname_spec='$name' + shrext_cmds=".dll" + need_lib_prefix=no + library_names_spec='$libname${shared_ext} $libname.a' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=LIBPATH + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='${libname}${release}${shared_ext}$major' + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test "$with_gnu_ld" = yes; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec ;then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' + soname_spec='$libname${shared_ext}.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +fi +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +fi + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], + [Run-time system search path for libraries]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program which can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD="$MAGIC_CMD" + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$1; then + lt_cv_path_MAGIC_CMD="$ac_dir/$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS="$lt_save_ifs" + MAGIC_CMD="$lt_save_MAGIC_CMD" + ;; +esac]) +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program which can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test "$withval" = no || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM="$NM" +else + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS="$lt_save_ifs" + done + : ${lt_cv_path_NM=no} +fi]) +if test "$lt_cv_path_NM" != "no"; then + NM="$lt_cv_path_NM" +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test "$DUMPBIN" != ":"; then + NM="$DUMPBIN" + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh + # decide which to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd="$ECHO" + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test "x$lt_cv_path_mainfest_tool" != xyes; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM="-lm") + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test "$GCC" = yes; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function + # and D for any global variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) +/* DATA imports from DLLs on WIN32 con't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined(__osf__) +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS="conftstm.$ac_objext" + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test "$pipe_works" = yes; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + if test "$host_cpu" != ia64; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64 which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd*) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test "$GCC" = yes; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the `-m68020' flag to GCC prevents building anything better, + # like `-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test "$host_cpu" = ia64; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + # old Intel for x86_64 which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec ;then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms which do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global defined + # symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ` (' and `)$', so one must not match beginning or + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', + # as well as any symbol that contains `d'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test "$GCC" != yes; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd*) + with_gnu_ld=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test "$with_gnu_ld" = yes; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test "$lt_use_gnu_ld_interface" = yes; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='${wl}' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test "$host_cpu" != ia64; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test "$host_os" = linux-dietlibc; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test "$tmp_diet" = no + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to AIX nm, but means don't demangle with GNU nm + # Also, AIX nm treats weak defined symbols like other global + # defined symbols, whereas GNU nm marks them as "W". + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then + aix_use_runtimelinking=yes + break + fi + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GCC" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + + hpux10*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes && test "$with_gnu_ld" = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS="$save_LDFLAGS"]) + if test "$lt_cv_irix_exported_symbol" = yes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' + fi + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + else + case $host_os in + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + ;; + esac + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' + ;; + + osf3*) + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test "$GCC" = yes; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test "$GCC" = yes; then + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='${wl}' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. GCC discards it without `$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test "$GCC" = yes; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test "x$host_vendor" = xsequent; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test x$host_vendor = xsni; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test "$enable_shared" = yes && test "$GCC" = yes; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting ${shlibpath_var} if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC="$CC" +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report which library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC="$lt_save_CC" +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to `libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test "X$CXX" != "Xno" && + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || + (test "X$CXX" != "Xg++"))) ; then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_caught_CXX_error" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test "$GXX" = yes; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test "$GXX" = yes; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test "$with_gnu_ld" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='${wl}' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test "$host_cpu" = ia64; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag="" + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # need to do runtime linking. + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' + + if test "$GXX" = yes; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`${CC} -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test "$aix_use_runtimelinking" = yes; then + shared_flag="$shared_flag "'${wl}-G' + fi + else + # not using gcc + if test "$host_cpu" = ia64; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test "$aix_use_runtimelinking" = yes; then + shared_flag='${wl}-G' + else + shared_flag='${wl}-bM:SRE' + fi + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test "$aix_use_runtimelinking" = yes; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" + else + if test "$host_cpu" = ia64; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' + if test "$with_gnu_ld" = yes; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + # This is similar to how AIX traditionally builds its shared + # libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=".dll" + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; + else + $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile="$lt_outputfile.exe" + lt_tool_outputfile="$lt_tool_outputfile.exe" + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file (1st line + # is EXPORTS), use it as is; otherwise, prepend... + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + gnu*) + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test $with_gnu_ld = no; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes; then + if test $with_gnu_ld = no; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test "$GXX" = yes; then + if test "$with_gnu_ld" = no; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + if test "x$supports_anon_versioning" = xyes; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd2*) + # C++ shared libraries are fairly broken + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + openbsd*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands `-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test "$GXX" = yes && test "$with_gnu_ld" = no; then + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require `-G' NOT `-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no + + _LT_TAGVAR(GCC, $1)="$GXX" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test "$_lt_caught_CXX_error" != yes + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case ${2} in + .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; + *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case ${prev}${p} in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test $p = "-L" || + test $p = "-R"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test "$pre_test_object_deps_done" = no; then + case ${prev} in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)="${prev}${p}" + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test "$pre_test_object_deps_done" = no; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)="$p" + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)="$p" + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; + +linux*) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; + +solaris*) + case $cc_basename in + CC* | sunCC*) + # The more standards-conforming stlport4 library is + # incompatible with the Cstd library. Avoid specifying + # it if it's in CXXFLAGS. Ignore libCrun as + # -library=stlport4 depends on it. + case " $CXX $CXXFLAGS " in + *" -library=stlport4 "*) + solaris_use_stlport4=yes + ;; + esac + + # Adding this requires a known-good setup of shared libraries for + # Sun compiler versions before 5.6, else PIC objects from an old + # archive will be linked into the output, leading to subtle bugs. + if test "$solaris_use_stlport4" != yes; then + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' + fi + ;; + esac + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test "X$F77" = "Xno"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_F77" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$G77" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC="$lt_save_CC" + CFLAGS="$lt_save_CFLAGS" +fi # test "$_lt_disable_F77" != yes + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test "X$FC" = "Xno"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test "$_lt_disable_FC" != yes; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC="$CC" + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test "$can_build_shared" = "no" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test "$enable_shared" = yes && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then + test "$enable_shared" = yes && enable_static=no + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test "$enable_shared" = yes || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" + _LT_TAGVAR(LD, $1)="$LD" + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test "$_lt_disable_FC" != yes + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)="$LD" +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to `libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code="$lt_simple_compile_test_code" + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC="$CC" +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f $lt_ac_sed && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test $lt_ac_count -gt 10 && break + lt_ac_count=`expr $lt_ac_count + 1` + if test $lt_ac_count -gt $lt_ac_max; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +# Try some XSI features +xsi_shell=no +( _lt_dummy="a/b/c" + test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ + = c,a/b,b/c, \ + && eval 'test $(( 1 + 1 )) -eq 2 \ + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ + && xsi_shell=yes +AC_MSG_RESULT([$xsi_shell]) +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) + +AC_MSG_CHECKING([whether the shell understands "+="]) +lt_shell_append=no +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ + >/dev/null 2>&1 \ + && lt_shell_append=yes +AC_MSG_RESULT([$lt_shell_append]) +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) +# ------------------------------------------------------ +# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and +# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. +m4_defun([_LT_PROG_FUNCTION_REPLACE], +[dnl { +sed -e '/^$1 ()$/,/^} # $1 /c\ +$1 ()\ +{\ +m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) +} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") +test 0 -eq $? || _lt_function_replace_fail=: +]) + + +# _LT_PROG_REPLACE_SHELLFNS +# ------------------------- +# Replace existing portable implementations of several shell functions with +# equivalent extended shell implementations where those features are available.. +m4_defun([_LT_PROG_REPLACE_SHELLFNS], +[if test x"$xsi_shell" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl + case ${1} in + */*) func_dirname_result="${1%/*}${2}" ;; + * ) func_dirname_result="${3}" ;; + esac + func_basename_result="${1##*/}"]) + + _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are + # positional parameters, so assign one to ordinary parameter first. + func_stripname_result=${3} + func_stripname_result=${func_stripname_result#"${1}"} + func_stripname_result=${func_stripname_result%"${2}"}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl + func_split_long_opt_name=${1%%=*} + func_split_long_opt_arg=${1#*=}]) + + _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl + func_split_short_opt_arg=${1#??} + func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) + + _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl + case ${1} in + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; + *) func_lo2o_result=${1} ;; + esac]) + + _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) + + _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) + + _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) +fi + +if test x"$lt_shell_append" = xyes; then + _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) + + _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl + func_quote_for_eval "${2}" +dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ + eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) + + # Save a `func_append' function call where possible by direct use of '+=' + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +else + # Save a `func_append' function call even when '+=' is not available + sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ + && mv -f "$cfgfile.tmp" "$cfgfile" \ + || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") + test 0 -eq $? || _lt_function_replace_fail=: +fi + +if test x"$_lt_function_replace_fail" = x":"; then + AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) +fi +]) + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine which file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/build-aux/m4/ltoptions.m4 b/build-aux/m4/ltoptions.m4 new file mode 100644 index 000000000..5d9acd8e2 --- /dev/null +++ b/build-aux/m4/ltoptions.m4 @@ -0,0 +1,384 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, +# Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 7 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option `$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl `shared' nor `disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the `shared' and +# `disable-shared' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the `static' and +# `disable-static' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the `fast-install' +# and `disable-fast-install' LT_INIT options. +# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for pkg in $enableval; do + IFS="$lt_save_ifs" + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the `disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the `pic-only' and `no-pic' +# LT_INIT options. +# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac], + [pic_mode=default]) + +test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the `pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/build-aux/m4/ltsugar.m4 b/build-aux/m4/ltsugar.m4 new file mode 100644 index 000000000..9000a057d --- /dev/null +++ b/build-aux/m4/ltsugar.m4 @@ -0,0 +1,123 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59 which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/build-aux/m4/ltversion.m4 b/build-aux/m4/ltversion.m4 new file mode 100644 index 000000000..07a8602d4 --- /dev/null +++ b/build-aux/m4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 3337 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.2]) +m4_define([LT_PACKAGE_REVISION], [1.3337]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.2' +macro_revision='1.3337' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/build-aux/m4/lt~obsolete.m4 b/build-aux/m4/lt~obsolete.m4 new file mode 100644 index 000000000..c573da90c --- /dev/null +++ b/build-aux/m4/lt~obsolete.m4 @@ -0,0 +1,98 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..17411a421 --- /dev/null +++ b/configure.ac @@ -0,0 +1,875 @@ +dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) +AC_PREREQ([2.60]) +define(_CLIENT_VERSION_MAJOR, 1) +define(_CLIENT_VERSION_MINOR, 4) +define(_CLIENT_VERSION_REVISION, 4) +define(_CLIENT_VERSION_BUILD, 0) +define(_CLIENT_VERSION_IS_RELEASE, true) +define(_COPYRIGHT_YEAR, 2014) +AC_INIT([Hyperstake Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@hyperstake.info],[hyperstake]) +AC_CONFIG_SRCDIR([src/main.cpp]) +AC_CONFIG_HEADERS([src/config/bitcoin-config.h]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([build-aux/m4]) + +AC_CANONICAL_HOST + +AH_TOP([#ifndef BITCOIN_CONFIG_H]) +AH_TOP([#define BITCOIN_CONFIG_H]) +AH_BOTTOM([#endif //BITCOIN_CONFIG_H]) + +dnl faketime breaks configure and is only needed for make. Disable it here. +unset FAKETIME + +dnl Automake init set-up and checks +AM_INIT_AUTOMAKE([no-define subdir-objects foreign]) + +dnl faketime messes with timestamps and causes configure to be re-run. +dnl --disable-maintainer-mode can be used to bypass this. +AM_MAINTAINER_MODE([enable]) + +dnl make the compilation flags quiet unless V=1 is used +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +dnl Compiler checks (here before libtool). +if test "x${CXXFLAGS+set}" = "xset"; then + CXXFLAGS_overridden=yes +else + CXXFLAGS_overridden=no +fi +AC_PROG_CXX +m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX]) + +dnl By default, libtool for mingw refuses to link static libs into a dll for +dnl fear of mixing pic/non-pic objects, and import/export complications. Since +dnl we have those under control, re-enable that functionality. +case $host in + *mingw*) + lt_cv_deplibs_check_method="pass_all" + ;; +esac +dnl Libtool init checks. +LT_INIT([pic-only]) + +dnl Check/return PATH for base programs. +AC_PATH_TOOL(AR, ar) +AC_PATH_TOOL(RANLIB, ranlib) +AC_PATH_TOOL(STRIP, strip) +AC_PATH_TOOL(GCOV, gcov) +AC_PATH_PROG(LCOV, lcov) +AC_PATH_PROG(JAVA, java) +AC_PATH_PROG(GENHTML, genhtml) +AC_PATH_PROG([GIT], [git]) +AC_PATH_PROG(CCACHE,ccache) +AC_PATH_PROG(XGETTEXT,xgettext) +AC_PATH_PROG(HEXDUMP,hexdump) + +# This m4 will only be used if a system copy cannot be found. This is helpful +# on systems where autotools are installed but the pkg-config macros are not in +# a default location. It is currently used for building on OSX where autotools +# are preinstalled but pkg-config comes from macports or homebrew. It should +# probably be removed when building on <= 10.6 is no longer supported. +m4_include([pkg.m4]) + +dnl pkg-config check. +PKG_PROG_PKG_CONFIG + +# Enable wallet +AC_ARG_ENABLE([wallet], + [AS_HELP_STRING([--enable-wallet], + [enable wallet (default is yes)])], + [enable_wallet=$enableval], + [enable_wallet=yes]) + +AC_ARG_WITH([miniupnpc], + [AS_HELP_STRING([--with-miniupnpc], + [enable UPNP (default is yes if libminiupnpc is found)])], + [use_upnp=$withval], + [use_upnp=auto]) + +AC_ARG_ENABLE([upnp-default], + [AS_HELP_STRING([--enable-upnp-default], + [if UPNP is enabled, turn it on at startup (default is no)])], + [use_upnp_default=$enableval], + [use_upnp_default=no]) + +AC_ARG_ENABLE(tests, + AS_HELP_STRING([--enable-tests],[compile tests (default is yes)]), + [use_tests=$enableval], + [use_tests=yes]) + +AC_ARG_WITH([comparison-tool], + AS_HELP_STRING([--with-comparison-tool],[path to java comparison tool (requires --enable-tests)]), + [use_comparison_tool=$withval], + [use_comparison_tool=no]) + +AC_ARG_ENABLE([comparison-tool-reorg-tests], + AS_HELP_STRING([--enable-comparison-tool-reorg-tests],[enable expensive reorg tests in the comparison tool (default no)]), + [use_comparison_tool_reorg_tests=$enableval], + [use_comparison_tool_reorg_tests=no]) + +AC_ARG_WITH([qrencode], + [AS_HELP_STRING([--with-qrencode], + [enable QR code support (default is yes if qt is enabled and libqrencode is found)])], + [use_qr=$withval], + [use_qr=auto]) + +AC_ARG_ENABLE([hardening], + [AS_HELP_STRING([--enable-hardening], + [attempt to harden the resulting executables (default is yes)])], + [use_hardening=$enableval], + [use_hardening=yes]) + +AC_ARG_ENABLE([reduce-exports], + [AS_HELP_STRING([--enable-reduce-exports], + [attempt to reduce exported symbols in the resulting executables (default is yes)])], + [use_reduce_exports=$enableval], + [use_reduce_exports=auto]) + +AC_ARG_ENABLE([ccache], + [AS_HELP_STRING([--enable-ccache], + [use ccache for building (default is yes if ccache is found)])], + [use_ccache=$enableval], + [use_ccache=auto]) + +AC_ARG_ENABLE([lcov], + [AS_HELP_STRING([--enable-lcov], + [enable lcov testing (default is no)])], + [use_lcov=yes], + [use_lcov=no]) + +AC_ARG_ENABLE([glibc-back-compat], + [AS_HELP_STRING([--enable-glibc-back-compat], + [enable backwards compatibility with glibc and libstdc++])], + [use_glibc_compat=$enableval], + [use_glibc_compat=no]) + +AC_ARG_WITH([protoc-bindir],[AS_HELP_STRING([--with-protoc-bindir=BIN_DIR],[specify protoc bin path])], [protoc_bin_path=$withval], []) + +# Enable debug +AC_ARG_ENABLE([debug], + [AS_HELP_STRING([--enable-debug], + [use debug compiler flags and macros (default is no)])], + [enable_debug=$enableval], + [enable_debug=no]) + +if test "x$enable_debug" = xyes; then + if test "x$GCC" = xyes; then + CFLAGS="-g3 -O0 -DDEBUG" + fi + + if test "x$GXX" = xyes; then + CXXFLAGS="-g3 -O0 -DDEBUG" + fi +fi + +## TODO: Remove these hard-coded paths and flags. They are here for the sake of +## compatibility with the legacy buildsystem. +## +if test "x$CXXFLAGS_overridden" = "xno"; then + CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter" +fi +CPPFLAGS="$CPPFLAGS -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS" + +AC_LANG_PUSH([C++]) + +use_pkgconfig=yes +case $host in + *mingw*) + + #pkgconfig does more harm than good with MinGW + use_pkgconfig=no + + TARGET_OS=windows + AC_CHECK_LIB([mingwthrd], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([kernel32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([user32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([gdi32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([comdlg32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([winspool], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([winmm], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([shell32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([comctl32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([ole32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([oleaut32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([uuid], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([rpcrt4], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([advapi32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([ws2_32], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([mswsock], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([shlwapi], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([iphlpapi], [main],, AC_MSG_ERROR(lib missing)) + AC_CHECK_LIB([crypt32], [main],, AC_MSG_ERROR(lib missing)) + + # -static is interpreted by libtool, where it has a different meaning. + # In libtool-speak, it's -all-static. + AX_CHECK_LINK_FLAG([[-static]],[LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"]) + + AC_PATH_PROG([MAKENSIS], [makensis], none) + if test x$MAKENSIS = xnone; then + AC_MSG_WARN("makensis not found. Cannot create installer.") + fi + + AC_PATH_TOOL(WINDRES, windres, none) + if test x$WINDRES = xnone; then + AC_MSG_ERROR("windres not found") + fi + + CPPFLAGS="$CPPFLAGS -D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB" + LEVELDB_TARGET_FLAGS="TARGET_OS=OS_WINDOWS_CROSSCOMPILE" + if test "x$CXXFLAGS_overridden" = "xno"; then + CXXFLAGS="$CXXFLAGS -w" + fi + case $host in + i?86-*) WINDOWS_BITS=32 ;; + x86_64-*) WINDOWS_BITS=64 ;; + *) AC_MSG_ERROR("Could not determine win32/win64 for installer") ;; + esac + AC_SUBST(WINDOWS_BITS) + + dnl libtool insists upon adding -nostdlib and a list of objects/libs to link against. + dnl That breaks our ability to build dll's with static libgcc/libstdc++/libssp. Override + dnl its command here, with the predeps/postdeps removed, and -static inserted. Postdeps are + dnl also overridden to prevent their insertion later. + dnl This should only affect dll's. + archive_cmds_CXX="\$CC -shared \$libobjs \$deplibs \$compiler_flags -static -o \$output_objdir/\$soname \${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker \$lib" + postdeps_CXX= + + ;; + *darwin*) + TARGET_OS=darwin + LEVELDB_TARGET_FLAGS="TARGET_OS=Darwin" + if test x$cross_compiling != xyes; then + BUILD_OS=darwin + AC_CHECK_PROG([PORT],port, port) + if test x$PORT = xport; then + dnl add default macports paths + CPPFLAGS="$CPPFLAGS -isystem /opt/local/include -I/opt/local/include/db48" + LIBS="$LIBS -L/opt/local/lib -L/opt/local/lib/db48" + fi + + AC_CHECK_PROG([BREW],brew, brew) + if test x$BREW = xbrew; then + dnl These Homebrew packages may be keg-only, meaning that they won't be found + dnl in expected paths because they may conflict with system files. Ask + dnl Homebrew where each one is located, then adjust paths accordingly. + dnl It's safe to add these paths even if the functionality is disabled by + dnl the user (--without-wallet or --without-gui for example). + + openssl_prefix=`$BREW --prefix openssl 2>/dev/null` + bdb_prefix=`$BREW --prefix berkeley-db4 2>/dev/null` + qt5_prefix=`$BREW --prefix qt5 2>/dev/null` + if test x$openssl_prefix != x; then + PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + export PKG_CONFIG_PATH + fi + if test x$bdb_prefix != x; then + CPPFLAGS="$CPPFLAGS -I$bdb_prefix/include" + LIBS="$LIBS -L$bdb_prefix/lib" + fi + if test x$qt5_prefix != x; then + PKG_CONFIG_PATH="$qt5_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + export PKG_CONFIG_PATH + fi + fi + else + case $build_os in + *darwin*) + BUILD_OS=darwin + ;; + *) + AC_PATH_TOOL([INSTALLNAMETOOL], [install_name_tool], install_name_tool) + AC_PATH_TOOL([OTOOL], [otool], otool) + AC_PATH_PROGS([GENISOIMAGE], [genisoimage mkisofs],genisoimage) + + dnl libtool will try to strip the static lib, which is a problem for + dnl cross-builds because strip attempts to call a hard-coded ld, + dnl which may not exist in the path. Stripping the .a is not + dnl necessary, so just disable it. + old_striplib= + ;; + esac + fi + + AX_CHECK_LINK_FLAG([[-Wl,-headerpad_max_install_names]], [LDFLAGS="$LDFLAGS -Wl,-headerpad_max_install_names"]) + CPPFLAGS="$CPPFLAGS -DMAC_OSX" + ;; + *linux*) + TARGET_OS=linux + ;; + *) + ;; +esac + +if test x$use_comparison_tool != xno; then + AC_SUBST(JAVA_COMPARISON_TOOL, $use_comparison_tool) +fi + +if test x$use_comparison_tool_reorg_tests != xno; then + if test x$use_comparison_tool = x; then + AC_MSG_ERROR("comparison tool reorg tests but comparison tool was not specified") + fi + AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 1) +else + AC_SUBST(COMPARISON_TOOL_REORG_TESTS, 0) +fi + +if test x$use_lcov = xyes; then + if test x$LCOV = x; then + AC_MSG_ERROR("lcov testing requested but lcov not found") + fi + if test x$GCOV = x; then + AC_MSG_ERROR("lcov testing requested but gcov not found") + fi + if test x$JAVA = x; then + AC_MSG_ERROR("lcov testing requested but java not found") + fi + if test x$GENHTML = x; then + AC_MSG_ERROR("lcov testing requested but genhtml not found") + fi + if test x$use_comparison_tool = x; then + AC_MSG_ERROR("lcov testing requested but comparison tool was not specified") + fi + LCOV="$LCOV --gcov-tool=$GCOV" + AX_CHECK_COMPILE_FLAG([--coverage],[CXXFLAGS="$CXXFLAGS --coverage"], + [AC_MSG_ERROR("lcov testing requested but --coverage flag does not work")]) +fi + +dnl Require little endian +AC_C_BIGENDIAN([AC_MSG_ERROR("Big Endian not supported")]) + +dnl Check for pthread compile/link requirements +AX_PTHREAD + +# The following macro will add the necessary defines to bitcoin-config.h, but +# they also need to be passed down to any subprojects. Pull the results out of +# the cache and add them to CPPFLAGS. +AC_SYS_LARGEFILE +# detect POSIX or GNU variant of strerror_r +AC_FUNC_STRERROR_R + +if test x$ac_cv_sys_file_offset_bits != x && + test x$ac_cv_sys_file_offset_bits != xno && + test x$ac_cv_sys_file_offset_bits != xunknown; then + CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits" +fi + +if test x$ac_cv_sys_large_files != x && + test x$ac_cv_sys_large_files != xno && + test x$ac_cv_sys_large_files != xunknown; then + CPPFLAGS="$CPPFLAGS -D_LARGE_FILES=$ac_cv_sys_large_files" +fi + +AX_CHECK_LINK_FLAG([[-Wl,--large-address-aware]], [LDFLAGS="$LDFLAGS -Wl,--large-address-aware"]) + +AX_GCC_FUNC_ATTRIBUTE([visibility]) +AX_GCC_FUNC_ATTRIBUTE([dllexport]) +AX_GCC_FUNC_ATTRIBUTE([dllimport]) + +if test x$use_glibc_compat != xno; then + + #__fdelt_chk's params and return type have changed from long unsigned int to long int. + # See which one is present here. + AC_MSG_CHECKING(__fdelt_chk type) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#ifdef _FORTIFY_SOURCE + #undef _FORTIFY_SOURCE + #endif + #define _FORTIFY_SOURCE 2 + #include + extern "C" long unsigned int __fdelt_warn(long unsigned int);]],[[]])], + [ fdelt_type="long unsigned int"], + [ fdelt_type="long int"]) + AC_MSG_RESULT($fdelt_type) + AC_DEFINE_UNQUOTED(FDELT_TYPE, $fdelt_type,[parameter and return value type for __fdelt_chk]) + +fi + +if test x$use_hardening != xno; then + AX_CHECK_COMPILE_FLAG([-Wstack-protector],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -Wstack-protector"]) + AX_CHECK_COMPILE_FLAG([-fstack-protector-all],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fstack-protector-all"]) + + AX_CHECK_PREPROC_FLAG([-D_FORTIFY_SOURCE=2],[ + AX_CHECK_PREPROC_FLAG([-U_FORTIFY_SOURCE],[ + HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -U_FORTIFY_SOURCE" + ]) + HARDENED_CPPFLAGS="$HARDENED_CPPFLAGS -D_FORTIFY_SOURCE=2" + ]) + + AX_CHECK_LINK_FLAG([[-Wl,--dynamicbase]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--dynamicbase"]) + AX_CHECK_LINK_FLAG([[-Wl,--nxcompat]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,--nxcompat"]) + AX_CHECK_LINK_FLAG([[-Wl,-z,relro]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,relro"]) + AX_CHECK_LINK_FLAG([[-Wl,-z,now]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -Wl,-z,now"]) + + if test x$TARGET_OS != xwindows; then + # All windows code is PIC, forcing it on just adds useless compile warnings + AX_CHECK_COMPILE_FLAG([-fPIE],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fPIE"]) + AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"]) + fi + + case $host in + *mingw*) + AC_CHECK_LIB([ssp], [main],, AC_MSG_ERROR(lib missing)) + ;; + esac + + CXXFLAGS="$CXXFLAGS $HARDENED_CXXFLAGS" + CPPFLAGS="$CPPFLAGS $HARDENED_CPPFLAGS" + LDFLAGS="$LDFLAGS $HARDENED_LDFLAGS" + OBJCXXFLAGS="$CXXFLAGS" +fi + +dnl this flag screws up non-darwin gcc even when the check fails. special-case it. +if test x$TARGET_OS = xdarwin; then + AX_CHECK_LINK_FLAG([[-Wl,-dead_strip]], [LDFLAGS="$LDFLAGS -Wl,-dead_strip"]) +fi + +AC_CHECK_HEADERS([endian.h stdio.h stdlib.h unistd.h strings.h sys/types.h sys/stat.h sys/select.h sys/prctl.h]) +AC_SEARCH_LIBS([getaddrinfo_a], [anl], [AC_DEFINE(HAVE_GETADDRINFO_A, 1, [Define this symbol if you have getaddrinfo_a])]) +AC_SEARCH_LIBS([inet_pton], [nsl resolv], [AC_DEFINE(HAVE_INET_PTON, 1, [Define this symbol if you have inet_pton])]) + +AC_CHECK_DECLS([strnlen]) + +AC_CHECK_DECLS([le32toh, le64toh, htole32, htole64, be32toh, be64toh, htobe32, htobe64],,, + [#if HAVE_ENDIAN_H + #include + #endif]) + +dnl Check for MSG_NOSIGNAL +AC_MSG_CHECKING(for MSG_NOSIGNAL) +AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[ int f = MSG_NOSIGNAL; ]])], + [ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_MSG_NOSIGNAL, 1,[Define this symbol if you have MSG_NOSIGNAL]) ], + [ AC_MSG_RESULT(no)] +) + +AC_SEARCH_LIBS([clock_gettime],[rt]) + +AC_MSG_CHECKING([for visibility attribute]) +AC_LINK_IFELSE([AC_LANG_SOURCE([ + int foo_def( void ) __attribute__((visibility("default"))); + int main(){} + ])], + [ + AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE,1,[Define if the visibility attribute is supported.]) + AC_MSG_RESULT(yes) + ], + [ + AC_MSG_RESULT(no) + if test x$use_reduce_exports = xyes; then + AC_MSG_ERROR([Cannot find a working visibility attribute. Use --disable-reduced-exports.]) + fi + AC_MSG_WARN([Cannot find a working visibility attribute. Disabling reduced exports.]) + use_reduce_exports=no + ] +) + +if test x$use_reduce_exports != xno; then + AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],[RE_CXXFLAGS="-fvisibility=hidden"], + [ + if test x$use_reduce_exports = xyes; then + AC_MSG_ERROR([Cannot set default symbol visibility. Use --disable-reduced-exports.]) + fi + AC_MSG_WARN([Cannot set default symbol visibility. Disabling reduced exports.]) + use_reduce_exports=no + ]) +fi + +LEVELDB_CPPFLAGS= +LIBLEVELDB= +LIBMEMENV= +AM_CONDITIONAL([EMBEDDED_LEVELDB],[true]) +AC_SUBST(LEVELDB_CPPFLAGS) +AC_SUBST(LIBLEVELDB) +AC_SUBST(LIBMEMENV) + +if test x$enable_wallet != xno; then + dnl Check for libdb_cxx only if wallet enabled + BITCOIN_FIND_BDB48 +fi + +dnl Check for libminiupnpc (optional) +if test x$use_upnp != xno; then + AC_CHECK_HEADERS( + [miniupnpc/miniwget.h miniupnpc/miniupnpc.h miniupnpc/upnpcommands.h miniupnpc/upnperrors.h], + [AC_CHECK_LIB([miniupnpc], [main],[MINIUPNPC_LIBS=-lminiupnpc], [have_miniupnpc=no])], + [have_miniupnpc=no] + ) +fi + +dnl Check for boost libs +AX_BOOST_BASE +AX_BOOST_SYSTEM +AX_BOOST_FILESYSTEM +AX_BOOST_PROGRAM_OPTIONS +AX_BOOST_THREAD +AX_BOOST_CHRONO + + +if test x$use_reduce_exports != xno; then + AC_MSG_CHECKING([for working boost reduced exports]) + TEMP_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$BOOST_CPPFLAGS $CPPFLAGS" + AC_PREPROC_IFELSE([AC_LANG_PROGRAM([[ + @%:@include + ]], [[ + #if BOOST_VERSION >= 104900 + // Everything is okay + #else + # error Boost version is too old + #endif + ]])],[ + AC_MSG_RESULT(yes) + ],[: + if test x$use_reduce_exports = xauto; then + use_reduce_exports=no + else + if test x$use_reduce_exports = xyes; then + AC_MSG_ERROR([boost versions < 1.49 are known to be broken with reduced exports. Use --disable-reduced-exports.]) + fi + fi + AC_MSG_RESULT(no) + AC_MSG_WARN([boost versions < 1.49 are known to have symbol visibility issues. Disabling reduced exports.]) + ]) + CPPFLAGS="$TEMP_CPPFLAGS" +fi + +if test x$use_reduce_exports != xno; then + CXXFLAGS="$CXXFLAGS $RE_CXXFLAGS" + AX_CHECK_LINK_FLAG([[-Wl,--exclude-libs,ALL]], [RELDFLAGS="-Wl,--exclude-libs,ALL"]) +fi + +if test x$use_tests = xyes; then + + if test x$HEXDUMP = x; then + AC_MSG_ERROR(hexdump is required for tests) + fi + + + AX_BOOST_UNIT_TEST_FRAMEWORK + + dnl Determine if -DBOOST_TEST_DYN_LINK is needed + AC_MSG_CHECKING([for dynamic linked boost test]) + TEMP_LIBS="$LIBS" + LIBS="$LIBS $BOOST_LDFLAGS $BOOST_UNIT_TEST_FRAMEWORK_LIB" + TEMP_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" + AC_LINK_IFELSE([AC_LANG_SOURCE([ + #define BOOST_TEST_DYN_LINK + #define BOOST_TEST_MAIN + #include + + ])], + [AC_MSG_RESULT(yes)] + [TESTDEFS="$TESTDEFS -DBOOST_TEST_DYN_LINK"], + [AC_MSG_RESULT(no)]) + LIBS="$TEMP_LIBS" + CPPFLAGS="$TEMP_CPPFLAGS" +fi + +BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB $BOOST_PROGRAM_OPTIONS_LIB $BOOST_THREAD_LIB" + +dnl Boost >= 1.50 uses sleep_for rather than the now-deprecated sleep, however +dnl it was broken from 1.50 to 1.52 when backed by nanosleep. Use sleep_for if +dnl a working version is available, else fall back to sleep. sleep was removed +dnl after 1.56. +dnl If neither is available, abort. +dnl If sleep_for is used, boost_chrono becomes a requirement. +if test x$ax_cv_boost_chrono = xyes; then +TEMP_LIBS="$LIBS" +LIBS="$BOOST_LIBS $BOOST_CHRONO_LIB $LIBS" +TEMP_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include + #include + ]],[[ + #if BOOST_VERSION >= 105000 && (!defined(BOOST_HAS_NANOSLEEP) || BOOST_VERSION >= 105200) + boost::this_thread::sleep_for(boost::chrono::milliseconds(0)); + #else + choke me + #endif + ]])], + [boost_sleep=yes; BOOST_LIBS="$BOOST_LIBS $BOOST_CHRONO_LIB"; + AC_DEFINE(HAVE_WORKING_BOOST_SLEEP_FOR, 1, [Define this symbol if boost sleep_for works])], + [boost_sleep=no]) +LIBS="$TEMP_LIBS" +CPPFLAGS="$TEMP_CPPFLAGS" +fi + +if test x$boost_sleep != xyes; then +TEMP_LIBS="$LIBS" +LIBS="$BOOST_LIBS $LIBS" +TEMP_CPPFLAGS="$CPPFLAGS" +CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" +AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #include + #include + #include + ]],[[ + #if BOOST_VERSION <= 105600 + boost::this_thread::sleep(boost::posix_time::milliseconds(0)); + #else + choke me + #endif + ]])], + [boost_sleep=yes; AC_DEFINE(HAVE_WORKING_BOOST_SLEEP, 1, [Define this symbol if boost sleep works])], + [boost_sleep=no]) +LIBS="$TEMP_LIBS" +CPPFLAGS="$TEMP_CPPFLAGS" +fi + +if test x$boost_sleep != xyes; then + AC_MSG_ERROR(No working boost sleep implementation found.) +fi + +AC_ARG_WITH([utils], + [AS_HELP_STRING([--with-utils], + [build bitcoin-cli bitcoin-tx (default=yes)])], + [build_bitcoin_utils=$withval], + [build_bitcoin_utils=yes]) + +AC_ARG_WITH([daemon], + [AS_HELP_STRING([--with-daemon], + [build bitcoind daemon (default=yes)])], + [build_bitcoind=$withval], + [build_bitcoind=yes]) + +BITCOIN_QT_INIT + +if test x$use_pkgconfig = xyes; then + + if test x"$PKG_CONFIG" = "x"; then + AC_MSG_ERROR(pkg-config not found.) + fi + + : #NOP + m4_ifdef( + [PKG_CHECK_MODULES], + [ + PKG_CHECK_MODULES([SSL], [libssl],, [AC_MSG_ERROR(openssl not found.)]) + PKG_CHECK_MODULES([CRYPTO], [libcrypto],,[AC_MSG_ERROR(libcrypto not found.)]) + BITCOIN_QT_CHECK([PKG_CHECK_MODULES([PROTOBUF], [protobuf], [have_protobuf=yes], [BITCOIN_QT_FAIL(libprotobuf not found)])]) + if test x$use_qr != xno; then + BITCOIN_QT_CHECK([PKG_CHECK_MODULES([QR], [libqrencode], [have_qrencode=yes], [have_qrencode=no])]) + fi + ] + ) +else + AC_CHECK_HEADER([openssl/crypto.h],,AC_MSG_ERROR(libcrypto headers missing)) + AC_CHECK_LIB([crypto], [main],CRYPTO_LIBS=-lcrypto, AC_MSG_ERROR(libcrypto missing)) + + AC_CHECK_HEADER([openssl/ssl.h],, AC_MSG_ERROR(libssl headers missing),) + AC_CHECK_LIB([ssl], [main],SSL_LIBS=-lssl, AC_MSG_ERROR(libssl missing)) + + BITCOIN_QT_CHECK(AC_CHECK_LIB([protobuf] ,[main],[PROTOBUF_LIBS=-lprotobuf], BITCOIN_QT_FAIL(libprotobuf not found))) + if test x$use_qr != xno; then + BITCOIN_QT_CHECK([AC_CHECK_LIB([qrencode], [main],[QR_LIBS=-lqrencode], [have_qrencode=no])]) + BITCOIN_QT_CHECK([AC_CHECK_HEADER([qrencode.h],, have_qrencode=no)]) + fi +fi + +BITCOIN_QT_PATH_PROGS([PROTOC], [protoc],$protoc_bin_path) + +AC_MSG_CHECKING([whether to build hyperstaked]) +AM_CONDITIONAL([BUILD_BITCOIND], [test x$build_bitcoind = xyes]) +AC_MSG_RESULT($build_bitcoind) + +dnl sets $bitcoin_enable_qt, $bitcoin_enable_qt_test, $bitcoin_enable_qt_dbus +BITCOIN_QT_CONFIGURE([$use_pkgconfig], [qt4]) + +AC_LANG_POP + +if test "x$use_ccache" != "xno"; then + AC_MSG_CHECKING(if ccache should be used) + if test x$CCACHE = x; then + if test "x$use_ccache" = "xyes"; then + AC_MSG_ERROR([ccache not found.]); + else + use_ccache=no + fi + else + use_ccache=yes + CC="$ac_cv_path_CCACHE $CC" + CXX="$ac_cv_path_CCACHE $CXX" + fi + AC_MSG_RESULT($use_ccache) +fi +if test "x$use_ccache" = "xyes"; then + AX_CHECK_PREPROC_FLAG([-Qunused-arguments],[CPPFLAGS="-Qunused-arguments $CPPFLAGS"]) +fi + +dnl enable wallet +AC_MSG_CHECKING([if wallet should be enabled]) +if test x$enable_wallet != xno; then + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED([ENABLE_WALLET],[1],[Define to 1 to enable wallet functions]) + +else + AC_MSG_RESULT(no) +fi + +dnl enable upnp support +AC_MSG_CHECKING([whether to build with support for UPnP]) +if test x$have_miniupnpc = xno; then + if test x$use_upnp = xyes; then + AC_MSG_ERROR("UPnP requested but cannot be built. use --without-miniupnpc") + fi + AC_MSG_RESULT(no) +else + if test x$use_upnp != xno; then + AC_MSG_RESULT(yes) + AC_MSG_CHECKING([whether to build with UPnP enabled by default]) + use_upnp=yes + upnp_setting=0 + if test x$use_upnp_default != xno; then + use_upnp_default=yes + upnp_setting=1 + fi + AC_MSG_RESULT($use_upnp_default) + AC_DEFINE_UNQUOTED([USE_UPNP],[$upnp_setting],[UPnP support not compiled if undefined, otherwise value (0 or 1) determines default state]) + if test x$TARGET_OS = xwindows; then + MINIUPNPC_CPPFLAGS="-DSTATICLIB -DMINIUPNP_STATICLIB" + fi + else + AC_MSG_RESULT(no) + fi +fi + +dnl these are only used when qt is enabled +if test x$bitcoin_enable_qt != xno; then + BUILD_QT=qt + dnl enable dbus support + AC_MSG_CHECKING([whether to build GUI with support for D-Bus]) + if test x$bitcoin_enable_qt_dbus != xno; then + AC_DEFINE([USE_DBUS],[1],[Define if dbus support should be compiled in]) + fi + AC_MSG_RESULT($bitcoin_enable_qt_dbus) + + dnl enable qr support + AC_MSG_CHECKING([whether to build GUI with support for QR codes]) + if test x$have_qrencode = xno; then + if test x$use_qr = xyes; then + AC_MSG_ERROR("QR support requested but cannot be built. use --without-qrencode") + fi + AC_MSG_RESULT(no) + else + if test x$use_qr != xno; then + AC_MSG_RESULT(yes) + AC_DEFINE([USE_QRCODE],[1],[Define if QR support should be compiled in]) + use_qr=yes + else + AC_MSG_RESULT(no) + fi + fi + + if test x$XGETTEXT = x; then + AC_MSG_WARN("xgettext is required to update qt translations") + fi + + AC_MSG_CHECKING([whether to build test_bitcoin-qt]) + if test x$use_tests$bitcoin_enable_qt_test = xyesyes; then + AC_MSG_RESULT([yes]) + BUILD_TEST_QT="test" + else + AC_MSG_RESULT([no]) + fi +fi + +AC_MSG_CHECKING([whether to build test_bitcoin]) +if test x$use_tests = xyes; then + AC_MSG_RESULT([yes]) + BUILD_TEST="test" +else + AC_MSG_RESULT([no]) +fi + +AC_MSG_CHECKING([whether to reduce exports]) +if test x$use_reduce_exports != xno; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi + +if test x$build_bitcoin_utils$build_bitcoin_libs$build_bitcoind$bitcoin_enable_qt$use_tests = xnononono; then + AC_MSG_ERROR([No targets! Please specify at least one of: --with-utils --with-libs --with-daemon --with-gui or --enable-tests]) +fi + +AM_CONDITIONAL([TARGET_DARWIN], [test x$TARGET_OS = xdarwin]) +AM_CONDITIONAL([BUILD_DARWIN], [test x$BUILD_OS = xdarwin]) +AM_CONDITIONAL([TARGET_WINDOWS], [test x$TARGET_OS = xwindows]) +AM_CONDITIONAL([ENABLE_WALLET],[test x$enable_wallet = xyes]) +AM_CONDITIONAL([ENABLE_TESTS],[test x$use_tests = xyes]) +AM_CONDITIONAL([ENABLE_QT],[test x$bitcoin_enable_qt = xyes]) +AM_CONDITIONAL([ENABLE_QT_TESTS],[test x$use_tests$bitcoin_enable_qt_test = xyesyes]) +AM_CONDITIONAL([USE_QRCODE], [test x$use_qr = xyes]) +AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes]) +AM_CONDITIONAL([USE_COMPARISON_TOOL],[test x$use_comparison_tool != xno]) +AM_CONDITIONAL([USE_COMPARISON_TOOL_REORG_TESTS],[test x$use_comparison_tool_reorg_test != xno]) +AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes]) +AM_CONDITIONAL([USE_LIBSECP256K1],[test x$use_libsecp256k1 = xyes]) + +AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) +AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) +AC_DEFINE(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION, [Build revision]) +AC_DEFINE(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD, [Version Build]) +AC_DEFINE(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE, [Version is release]) +AC_DEFINE(COPYRIGHT_YEAR, _COPYRIGHT_YEAR, [Version is release]) +AC_SUBST(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR) +AC_SUBST(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR) +AC_SUBST(CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION) +AC_SUBST(CLIENT_VERSION_BUILD, _CLIENT_VERSION_BUILD) +AC_SUBST(CLIENT_VERSION_IS_RELEASE, _CLIENT_VERSION_IS_RELEASE) +AC_SUBST(COPYRIGHT_YEAR, _COPYRIGHT_YEAR) + +AC_SUBST(RELDFLAGS) +AC_SUBST(LIBTOOL_APP_LDFLAGS) +AC_SUBST(USE_UPNP) +AC_SUBST(USE_QRCODE) +AC_SUBST(BOOST_LIBS) +AC_SUBST(TESTDEFS) +AC_SUBST(LEVELDB_TARGET_FLAGS) +AC_SUBST(BUILD_TEST) +AC_SUBST(BUILD_QT) +AC_SUBST(BUILD_TEST_QT) +AC_SUBST(MINIUPNPC_CPPFLAGS) +AC_SUBST(MINIUPNPC_LIBS) +AC_CONFIG_FILES([Makefile src/Makefile share/setup.nsi share/qt/Info.plist]) + +dnl boost's m4 checks do something really nasty: they export these vars. As a +dnl result, they leak into secp256k1's configure and crazy things happen. +dnl Until this is fixed upstream and we've synced, we'll just un-export them. +CPPFLAGS_TEMP="$CPPFLAGS" +unset CPPFLAGS +CPPFLAGS="$CPPFLAGS_TEMP" + +LDFLAGS_TEMP="$LDFLAGS" +unset LDFLAGS +LDFLAGS="$LDFLAGS_TEMP" + +LIBS_TEMP="$LIBS" +unset LIBS +LIBS="$LIBS_TEMP" + +PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH" +unset PKG_CONFIG_PATH +PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP" + +PKGCONFIG_LIBDIR_TEMP="$PKG_CONFIG_LIBDIR" +unset PKG_CONFIG_LIBDIR +PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP" + +ac_configure_args="${ac_configure_args} --disable-shared --with-pic" +AC_CONFIG_SUBDIRS([src/secp256k1]) + +AC_OUTPUT + +dnl Taken from https://wiki.debian.org/RpathIssue +case $host in + *-*-linux-gnu) + AC_MSG_RESULT([Fixing libtool for -rpath problems.]) + sed < libtool > libtool-2 \ + 's/^hardcode_libdir_flag_spec.*$'/'hardcode_libdir_flag_spec=" -D__LIBTOOL_IS_A_FOOL__ "/' + mv libtool-2 libtool + chmod 755 libtool + ;; +esac diff --git a/depends/.gitignore b/depends/.gitignore new file mode 100644 index 000000000..82c48638b --- /dev/null +++ b/depends/.gitignore @@ -0,0 +1,5 @@ +SDKs/ +work/ +built/ +sources/ +config.site diff --git a/depends/README b/depends/README new file mode 100644 index 000000000..fed2f9b5a --- /dev/null +++ b/depends/README @@ -0,0 +1,55 @@ +This is a system of building and caching dependencies necessary for building +Bitcoin. + +There are several features that make it different from most similar systems: + +- It is designed to be builder and host agnostic + +In theory, binaries for any target OS/architecture can be created, from a +builder running any OS/architecture. In practice, build-side tools must be +specified when the defaults don't fit, and packages must be ammended to work +on new hosts. For now, a build architecture of x86_64 is assumed, either on +Linux or OSX. + +- No reliance on timestamps + +File presence is used to determine what needs to be built. This makes the +results distributable and easily digestable by automated builders. + +- Each build only has its specified dependencies available at build-time. + +For each build, the sysroot is wiped and the (recursive) dependencies are +installed. This makes each build deterministic, since there will never be any +unknown files available to cause side-effects. + +- Each package is cached and only rebuilt as needed. + +Before building, a unique build-id is generated for each package. This id +consists of a hash of all files used to build the package (Makefiles, packages, +etc), and as well as a hash of the same data for each recursive dependency. If +any portion of a package's build recipe changes, it will be rebuilt as well as +any other package that depends on it. If any of the main makefiles (Makefile, +funcs.mk, etc) are changed, all packages will be rebuilt. After building, the +results are cached into a tarball that can be re-used and distributed. + +- Package build results are (relatively) deterministic. + +Each package is configured and patched so that it will yield the same +build-results with each consequent build, within a reasonable set of +constraints. Some things like timestamp insertion are unavoidable, and are +beyond the scope of this system. Additionally, the toolchain itself must be +capable of deterministic results. When revisions are properly bumped, a cached +build should represent an exact single payload. + +- Sources are fetched and verified automatically + +Each package must define its source location and checksum. The build will fail +if the fetched source does not match. Sources may be pre-seeded and/or cached +as desired. + +- Self-cleaning + +Build and staging dirs are wiped after use, and any previous version of a +cached result is removed following a successful build. Automated builders +should be able to build each revision and store the results with no further +intervention. diff --git a/depends/README.packages b/depends/README.packages new file mode 100644 index 000000000..5ab7ed7de --- /dev/null +++ b/depends/README.packages @@ -0,0 +1,128 @@ +Each recipe consists of 3 main parts: defining identifiers, setting build +variables, and defining build commands. + +The package "mylib" will be used here as an example + +General tips: +mylib_foo is written as $(package)_foo in order to make recipes more similar. + +Identifiers: +Each package is required to define at least these variables: + $(package)_version: + Version of the upstream library or program. If there is no version, a + placeholder such as 1.0 can be used. + $(package)_download_path: + Location of the upstream source, without the file-name. Usually http or + ftp. + $(package)_file_name: + The upstream source filename available at the download path. + $(package)_sha256_hash: + The sha256 hash of the upstream file + +These variables are optional: + $(package)_build_subdir: + cd to this dir before running configure/build/stage commands. + $(package)_download_file: + The file-name of the upstream source if it differs from how it should be + stored locally. This can be used to avoid storing file-names with strange + characters. + $(package)_dependencies: + Names of any other packages that this one depends on. + $(package)_patches: + Filenames of any patches needed to build the package + + +Build Variables: +After defining the main identifiers, build variables may be added or customized +before running the build commands. They should be added to a function called +$(package)_set_vars. For example: + +define $(package)_set_vars +... +endef + +Most variables can be prefixed with the host, architecture, or both, to make +the modifications specific to that case. For example: + + Universal: $(package)_cc=gcc + Linux only: $(package)_linux_cc=gcc + x86_64 only: $(package)_x86_64_cc = gcc + x86_64 linux only: $(package)_x86_64_linux_cc = gcc + +These variables may be set to override or append their default values. + $(package)_cc + $(package)_cxx + $(package)_objc + $(package)_objcxx + $(package)_ar + $(package)_ranlib + $(package)_libtool + $(package)_nm + $(package)_cflags + $(package)_cxxflags + $(package)_ldflags + $(package)_cppflags + $(package)_config_env + $(package)_build_env + $(package)_stage_env + $(package)_build_opts + $(package)_config_opts + +The *_env variables are used to add environment variables to the respective +commands. + +Many variables respect a debug/release suffix as well, in order to use them for +only the appropriate build config. For example: + $(package)_cflags_release = -O3 + $(package)_cflags_i686_debug = -g + $(package)_config_opts_release = --disable-debug + +These will be used in addition to the options that do not specify +debug/release. All builds are considered to be release unless DEBUG=1 is set by +the user. + +Other variables may be defined as needed. + +Build commands: + + For each build, a unique build dir and staging dir are created. For example, + work/build/mylib/1.0-1adac830f6e and work/staging/mylib/1.0-1adac830f6e. + + The following build commands are available for each recipe: + + $(package)_fetch_cmds: + Runs from: build dir + Fetch the source file. If undefined, it will be fetched and verified + against its hash. + $(package)_extract_cmds: + Runs from: build dir + Verify the source file against its hash and extract it. If undefined, the + source is assumed to be a tarball. + $(package)_preprocess_cmds: + Runs from: build dir/$(package)_build_subdir + Preprocess the source as necessary. If undefined, does nothing. + $(package)_config_cmds: + Runs from: build dir/$(package)_build_subdir + Configure the source. If undefined, does nothing. + $(package)_build_cmds: + Runs from: build dir/$(package)_build_subdir + Build the source. If undefined, does nothing. + $(package)_stage_cmds: + Runs from: build dir/$(package)_build_subdir + Stage the build results. If undefined, does nothing. + + The following variables are available for each recipe: + $(1)_staging_dir: package's destination sysroot path + $(1)_staging_prefix_dir: prefix path inside of the package's staging dir + $(1)_extract_dir: path to the package's extracted sources + $(1)_build_dir: path where configure/build/stage commands will be run + $(1)_patch_dir: path where the package's patches (if any) are found + +Notes on build commands: + +For packages built with autotools, $($(package)_autoconf) can be used in the +configure step to (usually) correctly configure automatically. Any +$($(package)_config_opts) will be appended. + +Most autotools projects can be properly staged using: + $(MAKE) DESTDIR=$($(package)_staging_dir) install diff --git a/depends/README.usage b/depends/README.usage new file mode 100644 index 000000000..f5aa5314a --- /dev/null +++ b/depends/README.usage @@ -0,0 +1,35 @@ +To build dependencies for the current arch+OS: + make +To build for another arch/OS: + make HOST=host-platform-triplet && make HOST=host-platform-triplet + (For example: make HOST=i686-w64-mingw32 -j4) + +A prefix will be generated that's suitable for plugging into Bitcoin's +configure. In the above example, a dir named i686-w64-mingw32 will be +created. To use it for Bitcoin: + +./configure --prefix=`pwd`/depends/i686-w64-mingw32 + +No other options are needed, the paths are automatically configured. + +Dependency Options: +The following can be set when running make: make FOO=bar + +SOURCES_PATH: downloaded sources will be placed here +BASE_CACHE: built packages will be placed here +SDK_PATH: Path where sdk's can be found (used by OSX) +FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up +NO_QT: Don't download/build/cache qt and its dependencies +NO_WALLET: Don't download/build/cache libs needed to enable the wallet +NO_UPNP: Don't download/build/cache packages needed for enabling upnp +DEBUG: disable some optimizations and enable more runtime checking +USE_LINUX_STATIC_QT5: Build a static qt5 rather than shared qt4. Linux only. + +If some packages are not built, for example 'make NO_WALLET=1', the appropriate +options will be passed to bitcoin's configure. In this case, --disable-wallet. + +Additional targets: +download: run 'make download' to fetch all sources without building them +download-osx: run 'make download-osx' to fetch all sources needed for osx builds +download-win: run 'make download-win' to fetch all sources needed for win builds +download-linux: run 'make download-linux' to fetch all sources needed for linux builds diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk new file mode 100644 index 000000000..b366460e6 --- /dev/null +++ b/depends/builders/darwin.mk @@ -0,0 +1,22 @@ +build_darwin_CC: = $(shell xcrun -f clang) +build_darwin_CXX: = $(shell xcrun -f clang++) +build_darwin_AR: = $(shell xcrun -f ar) +build_darwin_RANLIB: = $(shell xcrun -f ranlib) +build_darwin_STRIP: = $(shell xcrun -f strip) +build_darwin_OTOOL: = $(shell xcrun -f otool) +build_darwin_NM: = $(shell xcrun -f nm) +build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) +build_darwin_SHA256SUM = shasum -a 256 +build_darwin_DOWNLOAD = curl --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o + +#darwin host on darwin builder. overrides darwin host preferences. +darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) +darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) +darwin_AR:=$(shell xcrun -f ar) +darwin_RANLIB:=$(shell xcrun -f ranlib) +darwin_STRIP:=$(shell xcrun -f strip) +darwin_LIBTOOL:=$(shell xcrun -f libtool) +darwin_OTOOL:=$(shell xcrun -f otool) +darwin_NM:=$(shell xcrun -f nm) +darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) +darwin_native_toolchain= diff --git a/depends/builders/default.mk b/depends/builders/default.mk new file mode 100644 index 000000000..f097db65d --- /dev/null +++ b/depends/builders/default.mk @@ -0,0 +1,20 @@ +default_build_CC = gcc +default_build_CXX = g++ +default_build_AR = ar +default_build_RANLIB = ranlib +default_build_STRIP = strip +default_build_NM = nm +default_build_OTOOL = otool +default_build_INSTALL_NAME_TOOL = install_name_tool + +define add_build_tool_func +build_$(build_os)_$1 ?= $$(default_build_$1) +build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1) +build_$1=$$(build_$(build_arch)_$(build_os)_$1) +endef +$(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var)))) +define add_build_flags_func +build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1) +build_$1=$$(build_$(build_arch)_$(build_os)_$1) +endef +$(foreach flags, CFLAGS CXXFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags)))) diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk new file mode 100644 index 000000000..98d0e9de3 --- /dev/null +++ b/depends/builders/linux.mk @@ -0,0 +1,2 @@ +build_linux_SHA256SUM = sha256sum +build_linux_DOWNLOAD = wget --timeout=$(DOWNLOAD_CONNECT_TIMEOUT) --tries=$(DOWNLOAD_RETRIES) -nv -O diff --git a/depends/config.guess b/depends/config.guess new file mode 100755 index 000000000..1f5c50c0d --- /dev/null +++ b/depends/config.guess @@ -0,0 +1,1420 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2014 Free Software Foundation, Inc. + +timestamp='2014-03-23' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches with a ChangeLog entry to config-patches@gnu.org. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2014 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/depends/config.site.in b/depends/config.site.in new file mode 100644 index 000000000..873f66018 --- /dev/null +++ b/depends/config.site.in @@ -0,0 +1,100 @@ +cross_compiling=maybe +host_alias=@HOST@ +ac_tool_prefix=${host_alias}- + +if test -z $with_boost; then + with_boost=$prefix +fi +if test -z $with_qt_plugindir; then + with_qt_plugindir=$prefix/plugins +fi +if test -z $with_qt_translationdir; then + with_qt_translationdir=$prefix/translations +fi +if test -z $with_qt_bindir; then + with_qt_bindir=$prefix/native/bin +fi +if test -z $with_protoc_bindir; then + with_protoc_bindir=$prefix/native/bin +fi +if test -z $with_comparison_tool; then + with_comparison_tool=$prefix/native/share/BitcoindComparisonTool_jar/BitcoindComparisonTool.jar +fi + + +if test -z $enable_wallet && test -n "@no_wallet@"; then + enable_wallet=no +fi + +if test -z $with_miniupnpc && test -n "@no_upnp@"; then + with_miniupnpc=no +fi + +if test -z $with_gui && test -n "@no_qt@"; then + with_gui=no +fi + +if test x@host_os@ = xdarwin; then + BREW=no + PORT=no +fi + +if test x@host_os@ = xmingw32; then + if test -z $with_qt_incdir; then + with_qt_incdir=$prefix/include + fi + if test -z $with_qt_libdir; then + with_qt_libdir=$prefix/lib + fi +fi + +PATH=$prefix/native/bin:$PATH +PKG_CONFIG="`which pkg-config` --static" + +# These two need to remain exported because pkg-config does not see them +# otherwise. That means they must be unexported at the end of configure.ac to +# avoid ruining the cache. Sigh. + +export PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig +export PKG_CONFIG_PATH=$prefix/share/pkgconfig + +CPPFLAGS="-I$prefix/include/ $CPPFLAGS" +LDFLAGS="-L$prefix/lib $LDFLAGS" + +CC="@CC@" +CXX="@CXX@" +OBJC="${CC}" +OBJCXX="${CXX}" +CCACHE=$prefix/native/bin/ccache + +if test -n "@AR@"; then + AR=@AR@ + ac_cv_path_ac_pt_AR=${AR} +fi + +if test -n "@RANLIB@"; then + RANLIB=@RANLIB@ + ac_cv_path_ac_pt_RANLIB=${RANLIB} +fi + +if test -n "@NM@"; then + NM=@NM@ + ac_cv_path_ac_pt_NM=${NM} +fi + +if test -n "@debug@"; then + enable_reduce_exports=no +fi + +if test -n "@CFLAGS@"; then + CFLAGS="@CFLAGS@ $CFLAGS" +fi +if test -n "@CXXFLAGS@"; then + CXXFLAGS="@CXXFLAGS@ $CXXFLAGS" +fi +if test -n "@CPPFLAGS@"; then + CPPFLAGS="@CPPFLAGS@ $CPPFLAGS" +fi +if test -n "@LDFLAGS@"; then + LDFLAGS="@LDFLAGS@ $LDFLAGS" +fi diff --git a/depends/config.sub b/depends/config.sub new file mode 100755 index 000000000..d654d03cd --- /dev/null +++ b/depends/config.sub @@ -0,0 +1,1794 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2014 Free Software Foundation, Inc. + +timestamp='2014-05-01' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2014 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | epiphany \ + | fido | fr30 | frv \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/depends/funcs.mk b/depends/funcs.mk new file mode 100644 index 000000000..79015c047 --- /dev/null +++ b/depends/funcs.mk @@ -0,0 +1,234 @@ +define int_vars +#Set defaults for vars which may be overridden per-package +$(1)_cc=$($($(1)_type)_CC) +$(1)_cxx=$($($(1)_type)_CXX) +$(1)_objc=$($($(1)_type)_OBJC) +$(1)_objcxx=$($($(1)_type)_OBJCXX) +$(1)_ar=$($($(1)_type)_AR) +$(1)_ranlib=$($($(1)_type)_RANLIB) +$(1)_libtool=$($($(1)_type)_LIBTOOL) +$(1)_nm=$($($(1)_type)_NM) +$(1)_cflags=$($($(1)_type)_CFLAGS) $($($(1)_type)_$(release_type)_CFLAGS) +$(1)_cxxflags=$($($(1)_type)_CXXFLAGS) $($($(1)_type)_$(release_type)_CXXFLAGS) +$(1)_ldflags=$($($(1)_type)_LDFLAGS) $($($(1)_type)_$(release_type)_LDFLAGS) -L$($($(1)_type)_prefix)/lib +$(1)_cppflags=$($($(1)_type)_CPPFLAGS) $($($(1)_type)_$(release_type)_CPPFLAGS) -I$($($(1)_type)_prefix)/include +$(1)_recipe_hash:= +endef + +define int_get_all_dependencies +$(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies)))) +endef + +define fetch_file +(test -f $$($(1)_source_dir)/$(4) || \ + ( mkdir -p $$($(1)_download_dir) && echo Fetching $(1)... && \ + ( $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" || \ + $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \ + echo "$(5) $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \ + $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \ + mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \ + rm -rf $$($(1)_download_dir) )) +endef + +define int_get_build_recipe_hash +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | cut -d" " -f1 | $(build_SHA256SUM))) +endef + +define int_get_build_id +$(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies)) +$(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies))) +$(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash))) +$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps)) +$(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))) +final_build_id_long+=$($(package)_build_id_long) + +#compute package-specific paths +$(1)_build_subdir?=. +$(1)_download_file?=$($(1)_file_name) +$(1)_source_dir:=$(SOURCES_PATH) +$(1)_source:=$$($(1)_source_dir)/$($(1)_file_name) +$(1)_staging_dir=$(base_staging_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) +$(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix) +$(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) +$(1)_download_dir:=$(base_download_dir)/$(1)-$($(1)_version) +$(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir) +$(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id) +$(1)_prefixbin:=$($($(1)_type)_prefix)/bin/ +$(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz + +#stamps +$(1)_fetched=$$($(1)_source_dir)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name) +$(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted +$(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed +$(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned +$(1)_built=$$($(1)_build_dir)/.stamp_built +$(1)_configured=$$($(1)_build_dir)/.stamp_configured +$(1)_staged=$$($(1)_staging_dir)/.stamp_staged +$(1)_postprocessed=$$($(1)_staging_prefix_dir)/.stamp_postprocessed +$(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path)) + + +#default commands +$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash)) +$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && tar --strip-components=1 -xf $$($(1)_source) +$(1)_preprocess_cmds ?= +$(1)_build_cmds ?= +$(1)_config_cmds ?= +$(1)_stage_cmds ?= +$(1)_set_vars ?= + + +all_sources+=$$($(1)_fetched) +endef +#$(foreach dep_target,$($(1)_all_dependencies),$(eval $(1)_dependency_targets=$($(dep_target)_cached))) + + +define int_config_attach_build_config +$(eval $(call $(1)_set_vars,$(1))) +$(1)_cflags+=$($(1)_cflags_$(release_type)) +$(1)_cflags+=$($(1)_cflags_$(host_arch)) $($(1)_cflags_$(host_arch)_$(release_type)) +$(1)_cflags+=$($(1)_cflags_$(host_os)) $($(1)_cflags_$(host_os)_$(release_type)) +$(1)_cflags+=$($(1)_cflags_$(host_arch)_$(host_os)) $($(1)_cflags_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_cxxflags+=$($(1)_cxxflags_$(release_type)) +$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)) $($(1)_cxxflags_$(host_arch)_$(release_type)) +$(1)_cxxflags+=$($(1)_cxxflags_$(host_os)) $($(1)_cxxflags_$(host_os)_$(release_type)) +$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)_$(host_os)) $($(1)_cxxflags_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_cppflags+=$($(1)_cppflags_$(release_type)) +$(1)_cppflags+=$($(1)_cppflags_$(host_arch)) $($(1)_cppflags_$(host_arch)_$(release_type)) +$(1)_cppflags+=$($(1)_cppflags_$(host_os)) $($(1)_cppflags_$(host_os)_$(release_type)) +$(1)_cppflags+=$($(1)_cppflags_$(host_arch)_$(host_os)) $($(1)_cppflags_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_ldflags+=$($(1)_ldflags_$(release_type)) +$(1)_ldflags+=$($(1)_ldflags_$(host_arch)) $($(1)_ldflags_$(host_arch)_$(release_type)) +$(1)_ldflags+=$($(1)_ldflags_$(host_os)) $($(1)_ldflags_$(host_os)_$(release_type)) +$(1)_ldflags+=$($(1)_ldflags_$(host_arch)_$(host_os)) $($(1)_ldflags_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_build_opts+=$$($(1)_build_opts_$(release_type)) +$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)) $$($(1)_build_opts_$(host_arch)_$(release_type)) +$(1)_build_opts+=$$($(1)_build_opts_$(host_os)) $$($(1)_build_opts_$(host_os)_$(release_type)) +$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)_$(host_os)) $$($(1)_build_opts_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_config_opts+=$$($(1)_config_opts_$(release_type)) +$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)) $$($(1)_config_opts_$(host_arch)_$(release_type)) +$(1)_config_opts+=$$($(1)_config_opts_$(host_os)) $$($(1)_config_opts_$(host_os)_$(release_type)) +$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)_$(host_os)) $$($(1)_config_opts_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_config_env+=$$($(1)_config_env_$(release_type)) +$(1)_config_env+=$($(1)_config_env_$(host_arch)) $($(1)_config_env_$(host_arch)_$(release_type)) +$(1)_config_env+=$($(1)_config_env_$(host_os)) $($(1)_config_env_$(host_os)_$(release_type)) +$(1)_config_env+=$($(1)_config_env_$(host_arch)_$(host_os)) $($(1)_config_env_$(host_arch)_$(host_os)_$(release_type)) + +$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig +$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig +$(1)_config_env+=PATH=$(build_prefix)/bin:$(PATH) +$(1)_build_env+=PATH=$(build_prefix)/bin:$(PATH) +$(1)_stage_env+=PATH=$(build_prefix)/bin:$(PATH) +$(1)_autoconf=./configure --host=$($($(1)_type)_host) --disable-dependency-tracking --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" + +ifneq ($($(1)_nm),) +$(1)_autoconf += NM="$$($(1)_nm)" +endif +ifneq ($($(1)_ranlib),) +$(1)_autoconf += RANLIB="$$($(1)_ranlib)" +endif +ifneq ($($(1)_ar),) +$(1)_autoconf += AR="$$($(1)_ar)" +endif +ifneq ($($(1)_cflags),) +$(1)_autoconf += CFLAGS="$$($(1)_cflags)" +endif +ifneq ($($(1)_cxxflags),) +$(1)_autoconf += CXXFLAGS="$$($(1)_cxxflags)" +endif +ifneq ($($(1)_cppflags),) +$(1)_autoconf += CPPFLAGS="$$($(1)_cppflags)" +endif +ifneq ($($(1)_ldflags),) +$(1)_autoconf += LDFLAGS="$$($(1)_ldflags)" +endif +endef + +define int_add_cmds +$($(1)_fetched): + $(AT)mkdir -p $$(@D) $(SOURCES_PATH) + $(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1)) + $(AT)touch $$@ +$($(1)_extracted): | $($(1)_fetched) + $(AT)echo Extracting $(1)... + $(AT)mkdir -p $$(@D) + $(AT)cd $$(@D); $(call $(1)_extract_cmds,$(1)) + $(AT)touch $$@ +$($(1)_preprocessed): | $($(1)_dependencies) $($(1)_extracted) + $(AT)echo Preprocessing $(1)... + $(AT)mkdir -p $$(@D) $($(1)_patch_dir) + $(AT)$(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;) + $(AT)cd $$(@D); $(call $(1)_preprocess_cmds, $(1)) + $(AT)touch $$@ +$($(1)_configured): | $($(1)_preprocessed) + $(AT)echo Configuring $(1)... + $(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached); ) + $(AT)mkdir -p $$(@D) + $(AT)+cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1)) + $(AT)touch $$@ +$($(1)_built): | $($(1)_configured) + $(AT)echo Building $(1)... + $(AT)mkdir -p $$(@D) + $(AT)+cd $$(@D); $($(1)_build_env) $(call $(1)_build_cmds, $(1)) + $(AT)touch $$@ +$($(1)_staged): | $($(1)_built) + $(AT)echo Staging $(1)... + $(AT)mkdir -p $($(1)_staging_dir)/$(host_prefix) + $(AT)cd $($(1)_build_dir); $($(1)_stage_env) $(call $(1)_stage_cmds, $(1)) + $(AT)rm -rf $($(1)_extract_dir) + $(AT)touch $$@ +$($(1)_postprocessed): | $($(1)_staged) + $(AT)echo Postprocessing $(1)... + $(AT)cd $($(1)_staging_prefix_dir); $(call $(1)_postprocess_cmds) + $(AT)touch $$@ +$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed) + $(AT)echo Caching $(1)... + $(AT)cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | tar --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T - + $(AT)mkdir -p $$(@D) + $(AT)rm -rf $$(@D) && mkdir -p $$(@D) + $(AT)mv $$($(1)_staging_dir)/$$(@F) $$(@) + $(AT)rm -rf $($(1)_staging_dir) + +.PHONY: $(1) +$(1): | $($(1)_cached) +.SECONDARY: $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched) + +endef + +# These functions create the build targets for each package. They must be +# broken down into small steps so that each part is done for all packages +# before moving on to the next step. Otherwise, a package's info +# (build-id for example) would only be avilable to another package if it +# happened to be computed already. + +#set the type for host/build packages. +$(foreach native_package,$(native_packages),$(eval $(native_package)_type=build)) +$(foreach package,$(packages),$(eval $(package)_type=$(host_arch)_$(host_os))) + +#set overridable defaults +$(foreach package,$(all_packages),$(eval $(call int_vars,$(package)))) + +#include package files +$(foreach package,$(all_packages),$(eval include packages/$(package).mk)) + +#compute a hash of all files that comprise this package's build recipe +$(foreach package,$(all_packages),$(eval $(call int_get_build_recipe_hash,$(package)))) + +#generate a unique id for this package, incorporating its dependencies as well +$(foreach package,$(all_packages),$(eval $(call int_get_build_id,$(package)))) + +#compute final vars after reading package vars +$(foreach package,$(all_packages),$(eval $(call int_config_attach_build_config,$(package)))) + +#create build targets +$(foreach package,$(all_packages),$(eval $(call int_add_cmds,$(package)))) + +#special exception: if a toolchain package exists, all non-native packages depend on it +$(foreach package,$(packages),$(eval $($(package)_unpacked): |$($($(host_arch)_$(host_os)_native_toolchain)_cached) )) diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk new file mode 100644 index 000000000..c1070d877 --- /dev/null +++ b/depends/hosts/darwin.mk @@ -0,0 +1,17 @@ +OSX_MIN_VERSION=10.6 +OSX_SDK_VERSION=10.7 +OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk +LD64_VERSION=241.9 +darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) +darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) + +darwin_CFLAGS=-pipe +darwin_CXXFLAGS=$(darwin_CFLAGS) + +darwin_release_CFLAGS=-O2 +darwin_release_CXXFLAGS=$(darwin_release_CFLAGS) + +darwin_debug_CFLAGS=-O1 +darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS) + +darwin_native_toolchain=native_cctools diff --git a/depends/hosts/default.mk b/depends/hosts/default.mk new file mode 100644 index 000000000..6f60d6b3f --- /dev/null +++ b/depends/hosts/default.mk @@ -0,0 +1,26 @@ +default_host_CC = $(host_toolchain)gcc +default_host_CXX = $(host_toolchain)g++ +default_host_AR = $(host_toolchain)ar +default_host_RANLIB = $(host_toolchain)ranlib +default_host_STRIP = $(host_toolchain)strip +default_host_LIBTOOL = $(host_toolchain)libtool +default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool +default_host_OTOOL = $(host_toolchain)otool +default_host_NM = $(host_toolchain)nm + +define add_host_tool_func +$(host_os)_$1?=$$(default_host_$1) +$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1) +$(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1) +host_$1=$$($(host_arch)_$(host_os)_$1) +endef + +define add_host_flags_func +$(host_arch)_$(host_os)_$1 += $($(host_os)_$1) +$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1) +host_$1 = $$($(host_arch)_$(host_os)_$1) +host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1) +endef + +$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool)))) +$(foreach flags,CFLAGS CXXFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags)))) diff --git a/depends/hosts/linux.mk b/depends/hosts/linux.mk new file mode 100644 index 000000000..b13a0f1ad --- /dev/null +++ b/depends/hosts/linux.mk @@ -0,0 +1,31 @@ +linux_CFLAGS=-pipe +linux_CXXFLAGS=$(linux_CFLAGS) + +linux_release_CFLAGS=-O2 +linux_release_CXXFLAGS=$(linux_release_CFLAGS) + +linux_debug_CFLAGS=-O1 +linux_debug_CXXFLAGS=$(linux_debug_CFLAGS) + +linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC + +ifeq (86,$(findstring 86,$(build_arch))) +i686_linux_CC=gcc -m32 +i686_linux_CXX=g++ -m32 +i686_linux_AR=ar +i686_linux_RANLIB=ranlib +i686_linux_NM=nm +i686_linux_STRIP=strip + +x86_64_linux_CC=gcc -m64 +x86_64_linux_CXX=g++ -m64 +x86_64_linux_AR=ar +x86_64_linux_RANLIB=ranlib +x86_64_linux_NM=nm +x86_64_linux_STRIP=strip +else +i686_linux_CC=$(default_host_CC) -m32 +i686_linux_CXX=$(default_host_CXX) -m32 +x86_64_linux_CC=$(default_host_CC) -m64 +x86_64_linux_CXX=$(default_host_CXX) -m64 +endif diff --git a/depends/hosts/mingw32.mk b/depends/hosts/mingw32.mk new file mode 100644 index 000000000..dbfb62fdc --- /dev/null +++ b/depends/hosts/mingw32.mk @@ -0,0 +1,10 @@ +mingw32_CFLAGS=-pipe +mingw32_CXXFLAGS=$(mingw32_CFLAGS) + +mingw32_release_CFLAGS=-O2 +mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS) + +mingw32_debug_CFLAGS=-O1 +mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS) + +mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk new file mode 100644 index 000000000..68841afdb --- /dev/null +++ b/depends/packages/bdb.mk @@ -0,0 +1,28 @@ +package=bdb +$(package)_version=4.8.30 +$(package)_download_path=http://download.oracle.com/berkeley-db +$(package)_file_name=db-$($(package)_version).NC.tar.gz +$(package)_sha256_hash=12edc0df75bf9abd7f82f821795bcee50f42cb2e5f76a6a281b85732798364ef +$(package)_build_subdir=build_unix + +define $(package)_set_vars +$(package)_config_opts=--disable-shared --enable-cxx --disable-replication +$(package)_config_opts_mingw32=--enable-mingw +$(package)_config_opts_linux=--with-pic +endef + +define $(package)_preprocess_cmds + sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h +endef + +define $(package)_config_cmds + ../dist/$($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) libdb_cxx-4.8.a libdb-4.8.a +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install_lib install_include +endef diff --git a/depends/packages/boost.mk b/depends/packages/boost.mk new file mode 100644 index 000000000..f50828c54 --- /dev/null +++ b/depends/packages/boost.mk @@ -0,0 +1,44 @@ +package=boost +$(package)_version=1_55_0 +$(package)_download_path=http://sourceforge.net/projects/boost/files/boost/1.55.0 +$(package)_file_name=$(package)_$($(package)_version).tar.bz2 +$(package)_sha256_hash=fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 +$(package)_patches=darwin_boost_atomic-1.patch darwin_boost_atomic-2.patch + +define $(package)_set_vars +$(package)_config_opts_release=variant=release +$(package)_config_opts_debug=variant=debug +$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam +$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1 +$(package)_config_opts_linux=threadapi=pthread runtime-link=shared +$(package)_config_opts_darwin=--toolset=darwin-4.2.1 runtime-link=shared +$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static +$(package)_config_opts_x86_64_mingw32=address-model=64 +$(package)_config_opts_i686_mingw32=address-model=32 +$(package)_config_opts_i686_linux=address-model=32 architecture=x86 +$(package)_toolset_$(host_os)=gcc +$(package)_archiver_$(host_os)=$($(package)_ar) +$(package)_toolset_darwin=darwin +$(package)_archiver_darwin=$($(package)_libtool) +$(package)_config_libraries=chrono,filesystem,program_options,system,thread,test +$(package)_cxxflags=-fvisibility=hidden +$(package)_cxxflags_linux=-fPIC +endef + +define $(package)_preprocess_cmds + patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-1.patch && \ + patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-2.patch && \ + echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : \"$($(package)_cxxflags) $($(package)_cppflags)\" \"$($(package)_ldflags)\" \"$(boost_archiver_$(host_os))\" \"$(host_STRIP)\" \"$(host_RANLIB)\" \"$(host_WINDRES)\" : ;" > user-config.jam +endef + +define $(package)_config_cmds + ./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries) +endef + +define $(package)_build_cmds + ./b2 -d2 -j2 -d1 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage +endef + +define $(package)_stage_cmds + ./b2 -d0 -j4 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install +endef diff --git a/depends/packages/dbus.mk b/depends/packages/dbus.mk new file mode 100644 index 000000000..8ac9ab742 --- /dev/null +++ b/depends/packages/dbus.mk @@ -0,0 +1,23 @@ +package=dbus +$(package)_version=1.8.6 +$(package)_download_path=http://dbus.freedesktop.org/releases/dbus +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f +$(package)_dependencies=expat + +define $(package)_set_vars + $(package)_config_opts=--disable-tests --disable-doxygen-docs --disable-xml-docs --disable-static --without-x +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) -C dbus libdbus-1.la +endef + +define $(package)_stage_cmds + $(MAKE) -C dbus DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-dbusincludeHEADERS install-nodist_dbusarchincludeHEADERS && \ + $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA +endef diff --git a/depends/packages/expat.mk b/depends/packages/expat.mk new file mode 100644 index 000000000..1ac443537 --- /dev/null +++ b/depends/packages/expat.mk @@ -0,0 +1,21 @@ +package=expat +$(package)_version=2.1.0 +$(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version) +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86 + +define $(package)_set_vars +$(package)_config_opts=--disable-static +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk new file mode 100644 index 000000000..2cf553ed9 --- /dev/null +++ b/depends/packages/fontconfig.mk @@ -0,0 +1,22 @@ +package=fontconfig +$(package)_version=2.11.1 +$(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 +$(package)_dependencies=freetype expat + +define $(package)_set_vars + $(package)_config_opts=--disable-docs --disable-static +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/freetype.mk b/depends/packages/freetype.mk new file mode 100644 index 000000000..f7d6e0f9f --- /dev/null +++ b/depends/packages/freetype.mk @@ -0,0 +1,22 @@ +package=freetype +$(package)_version=2.5.3 +$(package)_download_path=http://downloads.sourceforge.net/$(package) +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e + +define $(package)_set_vars + $(package)_config_opts=--without-zlib --without-png --disable-static + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libICE.mk b/depends/packages/libICE.mk new file mode 100644 index 000000000..fc60323b1 --- /dev/null +++ b/depends/packages/libICE.mk @@ -0,0 +1,23 @@ +package=libICE +$(package)_version=1.0.9 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202 +$(package)_dependencies=xtrans xproto + +define $(package)_set_vars + $(package)_config_opts=--disable-static --disable-docs --disable-specs --without-xsltproc + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libSM.mk b/depends/packages/libSM.mk new file mode 100644 index 000000000..0f9307ca7 --- /dev/null +++ b/depends/packages/libSM.mk @@ -0,0 +1,23 @@ +package=libSM +$(package)_version=1.2.2 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd +$(package)_dependencies=xtrans xproto libICE + +define $(package)_set_vars + $(package)_config_opts=--without-libuuid --without-xsltproc --disable-docs --disable-static + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libX11.mk b/depends/packages/libX11.mk new file mode 100644 index 000000000..178d592ee --- /dev/null +++ b/depends/packages/libX11.mk @@ -0,0 +1,23 @@ +package=libX11 +$(package)_version=1.6.2 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=2aa027e837231d2eeea90f3a4afe19948a6eb4c8b2bec0241eba7dbc8106bd16 +$(package)_dependencies=libxcb xtrans xextproto xproto + +define $(package)_set_vars +$(package)_config_opts=--disable-xkb --disable-static +$(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libXau.mk b/depends/packages/libXau.mk new file mode 100644 index 000000000..e87df2e4d --- /dev/null +++ b/depends/packages/libXau.mk @@ -0,0 +1,23 @@ +package=libXau +$(package)_version=1.0.8 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=fdd477320aeb5cdd67272838722d6b7d544887dfe7de46e1e7cc0c27c2bea4f2 +$(package)_dependencies=xproto + +define $(package)_set_vars + $(package)_config_opts=--disable-shared + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libXext.mk b/depends/packages/libXext.mk new file mode 100644 index 000000000..4db836066 --- /dev/null +++ b/depends/packages/libXext.mk @@ -0,0 +1,22 @@ +package=libXext +$(package)_version=1.3.2 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=f829075bc646cdc085fa25d98d5885d83b1759ceb355933127c257e8e50432e0 +$(package)_dependencies=xproto xextproto libX11 libXau + +define $(package)_set_vars + $(package)_config_opts=--disable-static +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/libxcb.mk b/depends/packages/libxcb.mk new file mode 100644 index 000000000..f29b577f8 --- /dev/null +++ b/depends/packages/libxcb.mk @@ -0,0 +1,30 @@ +package=libxcb +$(package)_version=1.10 +$(package)_download_path=http://xcb.freedesktop.org/dist +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=98d9ab05b636dd088603b64229dd1ab2d2cc02ab807892e107d674f9c3f2d5b5 +$(package)_dependencies=xcb_proto libXau xproto + +define $(package)_set_vars +$(package)_config_opts=--disable-static +endef + +define $(package)_preprocess_cmds + sed "s/pthread-stubs//" -i configure +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef + +define $(package)_postprocess_cmds + rm -rf share/man share/doc +endef diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk new file mode 100644 index 000000000..00101f1b9 --- /dev/null +++ b/depends/packages/miniupnpc.mk @@ -0,0 +1,28 @@ +package=miniupnpc +$(package)_version=1.9.20140701 +$(package)_download_path=http://miniupnp.free.fr/files +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 + +define $(package)_set_vars +$(package)_build_opts=CC="$($(package)_cc)" +$(package)_build_opts_darwin=OS=Darwin +$(package)_build_opts_mingw32=-f Makefile.mingw +$(package)_build_env+=CFLAGS="$($(package)_cflags) $($(package)_cppflags)" AR="$($(package)_ar)" +endef + +define $(package)_preprocess_cmds + mkdir dll && \ + sed -e 's|MINIUPNPC_VERSION_STRING \"version\"|MINIUPNPC_VERSION_STRING \"$($(package)_version)\"|' -e 's|OS/version|$(host)|' miniupnpcstrings.h.in > miniupnpcstrings.h && \ + sed -i.old "s|miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings|miniupnpcstrings.h: miniupnpcstrings.h.in|" Makefile.mingw +endef + +define $(package)_build_cmds + $(MAKE) libminiupnpc.a $($(package)_build_opts) +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_staging_prefix_dir)/include/miniupnpc $($(package)_staging_prefix_dir)/lib &&\ + install *.h $($(package)_staging_prefix_dir)/include/miniupnpc &&\ + install libminiupnpc.a $($(package)_staging_prefix_dir)/lib +endef diff --git a/depends/packages/native_ccache.mk b/depends/packages/native_ccache.mk new file mode 100644 index 000000000..3226e89a6 --- /dev/null +++ b/depends/packages/native_ccache.mk @@ -0,0 +1,25 @@ +package=native_ccache +$(package)_version=3.1.9 +$(package)_download_path=http://samba.org/ftp/ccache +$(package)_file_name=ccache-$($(package)_version).tar.bz2 +$(package)_sha256_hash=04d3e2e438ac8d4cc4b110b68cdd61bd59226c6588739a4a386869467f5ced7c + +define $(package)_set_vars +$(package)_config_opts= +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef + +define $(package)_postprocess_cmds + rm -rf lib include +endef diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk new file mode 100644 index 000000000..951ad4fb2 --- /dev/null +++ b/depends/packages/native_cctools.mk @@ -0,0 +1,56 @@ +package=native_cctools +$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb +$(package)_download_path=https://github.com/theuni/cctools-port/archive +$(package)_file_name=$($(package)_version).tar.gz +$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 +$(package)_build_subdir=cctools +$(package)_clang_version=3.3 +$(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) +$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz +$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz +$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7 +define $(package)_fetch_cmds +$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) +endef + +define $(package)_extract_cmds + mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \ + tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ + echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \ + echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \ + chmod +x toolchain/bin/$(host)-dsymutil && \ + tar --strip-components=1 -xf $($(package)_source) +endef + +define $(package)_set_vars +$(package)_config_opts=--target=$(host) --disable-libuuid +$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib +$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang +$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ +endef + +define $(package)_preprocess_cmds + cd $($(package)_build_subdir); ./autogen.sh +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install && \ + cd $($(package)_extract_dir)/toolchain && \ + mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \ + mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \ + cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\ + cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \ + cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \ + cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \ + if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \ + if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi +endef diff --git a/depends/packages/native_cctools.mk.rej b/depends/packages/native_cctools.mk.rej new file mode 100644 index 000000000..1016dc233 --- /dev/null +++ b/depends/packages/native_cctools.mk.rej @@ -0,0 +1,39 @@ +diff a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk (rejected hunks) +@@ -1,10 +1,9 @@ + package=native_cctools +-$(package)_version=59d21d2c793c51d205c8b4ab14b9b28e63c72445 ++$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb + $(package)_download_path=https://github.com/theuni/cctools-port/archive + $(package)_file_name=$($(package)_version).tar.gz +-$(package)_sha256_hash=e13c7129b9d496adf4d674156b4a1d72d8b936f29f377aae8f8b5e7b650cc305 ++$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 + $(package)_build_subdir=cctools +-$(package)_dependencies=native_libuuid native_openssl + $(package)_clang_version=3.3 + $(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) + $(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz +@@ -25,8 +24,10 @@ define $(package)_extract_cmds + endef + + define $(package)_set_vars +-$(package)_config_opts=--target=$(host) CC=toolchain/clang CXX=toolchain/clang++ ++$(package)_config_opts=--target=$(host) --disable-libuuid + $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib ++$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang ++$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ + endef + + define $(package)_preprocess_cmds +@@ -34,12 +35,10 @@ define $(package)_preprocess_cmds + endef + + define $(package)_config_cmds +- export "PATH=$($(package)_extract_dir)/toolchain/bin:$(PATH)" && \ + $($(package)_autoconf) + endef + + define $(package)_build_cmds +- export "PATH=$($(package)_extract_dir)/toolchain/bin:$(PATH)" && \ + $(MAKE) + endef + diff --git a/depends/packages/native_cdrkit.mk b/depends/packages/native_cdrkit.mk new file mode 100644 index 000000000..cf694edb3 --- /dev/null +++ b/depends/packages/native_cdrkit.mk @@ -0,0 +1,26 @@ +package=native_cdrkit +$(package)_version=1.1.11 +$(package)_download_path=http://distro.ibiblio.org/fatdog/source/600/c +$(package)_file_name=cdrkit-$($(package)_version).tar.bz2 +$(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564 +$(package)_patches=cdrkit-deterministic.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch +endef + +define $(package)_config_cmds + cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) +endef + +define $(package)_build_cmds + $(MAKE) genisoimage +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install +endef + +define $(package)_postprocess_cmds + rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump +endef diff --git a/depends/packages/native_comparisontool.mk b/depends/packages/native_comparisontool.mk new file mode 100644 index 000000000..d1b86dc2d --- /dev/null +++ b/depends/packages/native_comparisontool.mk @@ -0,0 +1,21 @@ +package=native_comparisontool +$(package)_version=0f7b5d8 +$(package)_download_path=https://github.com/TheBlueMatt/test-scripts/raw/38b490a2599d422b12d5ce8f165792f63fd8f54f +$(package)_file_name=pull-tests-$($(package)_version).jar +$(package)_sha256_hash=ecd43b988a8b673b483e4f69f931596360a5e90fc415c75c4c259faa690df198 +$(package)_install_dirname=BitcoindComparisonTool_jar +$(package)_install_filename=BitcoindComparisonTool.jar + +define $(package)_extract_cmds +endef + +define $(package)_configure_cmds +endef + +define $(package)_build_cmds +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \ + cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename) +endef diff --git a/depends/packages/native_libdmg-hfsplus.mk b/depends/packages/native_libdmg-hfsplus.mk new file mode 100644 index 000000000..a4ffb6046 --- /dev/null +++ b/depends/packages/native_libdmg-hfsplus.mk @@ -0,0 +1,22 @@ +package=native_libdmg-hfsplus +$(package)_version=0.1 +$(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive +$(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz +$(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3 +$(package)_build_subdir=build + +define $(package)_preprocess_cmds + mkdir build +endef + +define $(package)_config_cmds + cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin .. +endef + +define $(package)_build_cmds + $(MAKE) -C dmg +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install +endef diff --git a/depends/packages/native_protobuf.mk b/depends/packages/native_protobuf.mk new file mode 100644 index 000000000..ed1a771f0 --- /dev/null +++ b/depends/packages/native_protobuf.mk @@ -0,0 +1,25 @@ +package=native_protobuf +$(package)_version=2.5.0 +$(package)_download_path=https://protobuf.googlecode.com/files +$(package)_file_name=protobuf-$($(package)_version).tar.bz2 +$(package)_sha256_hash=13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 + +define $(package)_set_vars +$(package)_config_opts=--disable-shared +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) -C src protoc +endef + +define $(package)_stage_cmds + $(MAKE) -C src DESTDIR=$($(package)_staging_dir) install-strip +endef + +define $(package)_postprocess_cmds + rm -rf lib include +endef diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk new file mode 100644 index 000000000..ad64494c1 --- /dev/null +++ b/depends/packages/openssl.mk @@ -0,0 +1,44 @@ +package=openssl +$(package)_version=1.0.1j +$(package)_download_path=https://www.openssl.org/source +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=1b60ca8789ba6f03e8ef20da2293b8dc131c39d83814e775069f02d26354edf3 + +define $(package)_set_vars +$(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" +$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl no-zlib no-shared no-dso +$(package)_config_opts+=no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 +$(package)_config_opts+=no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 +$(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags) +$(package)_config_opts_linux=-fPIC +$(package)_config_opts_x86_64_linux=linux-x86_64 +$(package)_config_opts_i686_linux=linux-generic32 +$(package)_config_opts_arm_linux=linux-generic32 +$(package)_config_opts_aarch64_linux=linux-generic64 +$(package)_config_opts_mipsel_linux=linux-generic32 +$(package)_config_opts_mips_linux=linux-generic32 +$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc +$(package)_config_opts_x86_64_mingw32=mingw64 +$(package)_config_opts_i686_mingw32=mingw +endef + +define $(package)_preprocess_cmds + sed -i.old "/define DATE/d" crypto/Makefile && \ + sed -i.old "s|engines apps test|engines|" Makefile.org +endef + +define $(package)_config_cmds + ./Configure $($(package)_config_opts) +endef + +define $(package)_build_cmds + $(MAKE) -j1 build_libs libcrypto.pc libssl.pc openssl.pc +endef + +define $(package)_stage_cmds + $(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw +endef + +define $(package)_postprocess_cmds + rm -rf share bin etc +endef diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk new file mode 100644 index 000000000..08fd8a524 --- /dev/null +++ b/depends/packages/packages.mk @@ -0,0 +1,23 @@ +packages:=boost openssl +native_packages := native_ccache native_comparisontool + +qt_native_packages = native_protobuf +qt_packages = qrencode protobuf + +qt46_linux_packages = qt46 expat dbus libxcb xcb_proto libXau xproto freetype libX11 xextproto libXext xtrans libICE libSM +qt5_linux_packages= qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans + +qt_darwin_packages=qt +qt_mingw32_packages=qt + +qt_linux_$(USE_LINUX_STATIC_QT5):=$(qt5_linux_packages) +qt_linux_:=$(qt46_linux_packages) +qt_linux_packages:=$(qt_linux_$(USE_LINUX_STATIC_QT5)) + +wallet_packages=bdb + +upnp_packages=miniupnpc + +ifneq ($(build_os),darwin) +darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus +endif diff --git a/depends/packages/protobuf.mk b/depends/packages/protobuf.mk new file mode 100644 index 000000000..5affad283 --- /dev/null +++ b/depends/packages/protobuf.mk @@ -0,0 +1,28 @@ +package=protobuf +$(package)_version=$(native_$(package)_version) +$(package)_download_path=$(native_$(package)_download_path) +$(package)_file_name=$(native_$(package)_file_name) +$(package)_sha256_hash=$(native_$(package)_sha256_hash) +$(package)_dependencies=native_$(package) + +define $(package)_set_vars + $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) -C src libprotobuf.la +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\ + $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA +endef + +define $(package)_postprocess_cmds + rm lib/libprotoc.a +endef diff --git a/depends/packages/qrencode.mk b/depends/packages/qrencode.mk new file mode 100644 index 000000000..1ad329e94 --- /dev/null +++ b/depends/packages/qrencode.mk @@ -0,0 +1,22 @@ +package=qrencode +$(package)_version=3.4.3 +$(package)_download_path=https://fukuchi.org/works/qrencode/ +$(package)_file_name=qrencode-$(qrencode_version).tar.bz2 +$(package)_sha256_hash=dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 + +define $(package)_set_vars +$(package)_config_opts=--disable-shared -without-tools --disable-sdltest +$(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk new file mode 100644 index 000000000..59c12d22f --- /dev/null +++ b/depends/packages/qt.mk @@ -0,0 +1,99 @@ +PACKAGE=qt +$(package)_version=5.2.1 +$(package)_download_path=http://download.qt-project.org/official_releases/qt/5.2/$($(package)_version)/single +$(package)_file_name=$(package)-everywhere-opensource-src-$($(package)_version).tar.gz +$(package)_sha256_hash=84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 +$(package)_dependencies=openssl +$(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext +$(package)_build_subdir=qtbase +$(package)_qt_libs=corelib network widgets gui plugins testlib +$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch qt5-yosemite.patch + +define $(package)_set_vars +$(package)_config_opts_release = -release +$(package)_config_opts_debug = -debug +$(package)_config_opts += -opensource -confirm-license -no-audio-backend -no-sql-tds -no-glib -no-icu +$(package)_config_opts += -no-cups -no-iconv -no-gif -no-audio-backend -no-freetype +$(package)_config_opts += -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch +$(package)_config_opts += -no-gif -no-feature-style-plastique +$(package)_config_opts += -no-qml-debug -no-pch -no-nis -nomake examples -nomake tests +$(package)_config_opts += -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif +$(package)_config_opts += -no-feature-style-windowsmobile -no-feature-style-windowsce +$(package)_config_opts += -no-feature-style-cleanlooks +$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql +$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 +$(package)_config_opts += -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport +$(package)_config_opts += -skip qtdeclarative -skip qtmultimedia -skip qtimageformats -skip qtx11extras +$(package)_config_opts += -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns +$(package)_config_opts += -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity -skip qtmacextras +$(package)_config_opts += -skip qtwinextras -skip qtxmlpatterns -skip qtscript -skip qtdoc + +$(package)_config_opts += -prefix $(host_prefix) -bindir $(build_prefix)/bin +$(package)_config_opts += -no-c++11 -openssl-linked -v -static -silent -pkg-config +$(package)_config_opts += -qt-libpng -qt-libjpeg -qt-zlib -qt-pcre + +ifneq ($(build_os),darwin) +$(package)_config_opts_darwin = -xplatform macx-clang-linux -device-option MAC_SDK_PATH=$(OSX_SDK) -device-option CROSS_COMPILE="$(host)-" +$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) -device-option MAC_LD64_VERSION=$(LD64_VERSION) +endif + +$(package)_config_opts_linux = -qt-xkbcommon -qt-xcb -no-eglfs -no-linuxfb -system-freetype -no-sm -fontconfig -no-xinput2 -no-libudev -no-egl -no-opengl +$(package)_config_opts_arm_linux = -platform linux-g++ -xplatform $(host) +$(package)_config_opts_i686_linux = -xplatform linux-g++-32 +$(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-" +$(package)_build_env = QT_RCC_TEST=1 +endef + +define $(package)_preprocess_cmds + sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \ + sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \ + sed -i.old "/XIproto.h/d" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \ + sed -i.old 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' qtbase/configure && \ + mkdir -p qtbase/mkspecs/macx-clang-linux &&\ + cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\ + cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\ + cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\ + cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \ + patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \ + patch -p1 < $($(package)_patch_dir)/qt5-tablet-osx.patch && \ + patch -d qtbase -p1 < $($(package)_patch_dir)/qt5-yosemite.patch && \ + echo "QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + echo "QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + echo "QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + sed -i.old "s|QMAKE_CFLAGS = |QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ + sed -i.old "s|QMAKE_LFLAGS = |QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ + sed -i.old "s|QMAKE_CXXFLAGS = |QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf +endef + +define $(package)_config_cmds + export PKG_CONFIG_SYSROOT_DIR=/ && \ + export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \ + export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \ + export CPATH=$(host_prefix)/include && \ + ./configure $($(package)_config_opts) && \ + $(MAKE) sub-src-clean && \ + cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \ + cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\ + cd qttools/src/linguist/lrelease/ && ../../../../qtbase/bin/qmake lrelease.pro -o Makefile +endef + +define $(package)_build_cmds + export CPATH=$(host_prefix)/include && \ + $(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \ + $(MAKE) -C ../qttools/src/linguist/lrelease && \ + $(MAKE) -C ../qttranslations +endef + +define $(package)_stage_cmds + $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) $(addsuffix -install_subtargets,$(addprefix sub-,$($(package)_qt_libs))) && cd .. &&\ + $(MAKE) -C qttools/src/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install_target && \ + $(MAKE) -C qttranslations INSTALL_ROOT=$($(package)_staging_dir) install_subtargets && \ + if `test -f qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a`; then \ + cp qtbase/src/plugins/platforms/xcb/xcb-static/libxcb-static.a $($(package)_staging_prefix_dir)/lib; \ + fi +endef + +define $(package)_postprocess_cmds + rm -rf mkspecs/ lib/cmake/ && \ + rm lib/libQt5Bootstrap.a lib/lib*.la lib/*.prl plugins/*/*.prl +endef diff --git a/depends/packages/qt46.mk b/depends/packages/qt46.mk new file mode 100644 index 000000000..8fb30a5c4 --- /dev/null +++ b/depends/packages/qt46.mk @@ -0,0 +1,66 @@ +PACKAGE=qt46 +$(package)_version=4.6.4 +$(package)_download_path=http://download.qt-project.org/archive/qt/4.6/ +$(package)_file_name=qt-everywhere-opensource-src-$($(package)_version).tar.gz +$(package)_sha256_hash=9ad4d46c721b53a429ed5a2eecfd3c239a9ab566562f183f99d3125f1a234250 +$(package)_dependencies=openssl freetype dbus libX11 xproto libXext libICE libSM +$(package)_patches=stlfix.patch + +define $(package)_set_vars +$(package)_config_opts = -prefix $(host_prefix) -headerdir $(host_prefix)/include/qt4 -bindir $(build_prefix)/bin +$(package)_config_opts += -release -no-separate-debug-info -opensource -confirm-license +$(package)_config_opts += -stl -qt-zlib + +$(package)_config_opts += -nomake examples -nomake tests -nomake tools -nomake translations -nomake demos -nomake docs +$(package)_config_opts += -no-audio-backend -no-glib -no-nis -no-cups -no-iconv -no-gif -no-pch +$(package)_config_opts += -no-xkb -no-xrender -no-xrandr -no-xfixes -no-xcursor -no-xinerama -no-xsync -no-xinput -no-mitshm -no-xshape +$(package)_config_opts += -no-libtiff -no-fontconfig -openssl-linked +$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql +$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 +$(package)_config_opts += -no-xmlpatterns -no-multimedia -no-phonon -no-scripttools -no-declarative +$(package)_config_opts += -no-phonon-backend -no-webkit -no-javascript-jit -no-script +$(package)_config_opts += -no-svg -no-libjpeg -no-libtiff -no-libpng -no-libmng -no-qt3support -no-opengl + +$(package)_config_opts_x86_64_linux += -platform linux-g++-64 +$(package)_config_opts_i686_linux = -platform linux-g++-32 +$(package)_build_env = QT_RCC_TEST=1 +endef + +define $(package)_preprocess_cmds + sed -i.old "s|/include /usr/include||" config.tests/unix/freetype/freetype.pri && \ + sed -i.old "s|src_plugins.depends = src_gui src_sql src_svg|src_plugins.depends = src_gui src_sql|" src/src.pro && \ + sed -i.old "s|\.lower(|\.toLower(|g" src/network/ssl/qsslsocket_openssl.cpp && \ + sed -i.old "s|Key_BackSpace|Key_Backspace|" src/gui/itemviews/qabstractitemview.cpp && \ + sed -i.old "s|/usr/X11R6/lib64|$(host_prefix)/lib|" mkspecs/*/*.conf && \ + sed -i.old "s|/usr/X11R6/lib|$(host_prefix)/lib|" mkspecs/*/*.conf && \ + sed -i.old "s|/usr/X11R6/include|$(host_prefix)/include|" mkspecs/*/*.conf && \ + sed -i.old "s|QMAKE_LFLAGS_SHLIB\t+= -shared|QMAKE_LFLAGS_SHLIB\t+= -shared -Wl,--exclude-libs,ALL|" mkspecs/common/g++.conf && \ + sed -i.old "/SSLv2_client_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \ + sed -i.old "/SSLv2_server_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \ + patch -p1 < $($(package)_patch_dir)/stlfix.patch +endef + +define $(package)_config_cmds + export PKG_CONFIG_SYSROOT_DIR=/ && \ + export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \ + export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \ + export CPATH=$(host_prefix)/include && \ + OPENSSL_LIBS='-L$(host_prefix)/lib -lssl -lcrypto' ./configure $($(package)_config_opts) && \ + cd tools/linguist/lrelease; ../../../bin/qmake -o Makefile lrelease.pro +endef + +define $(package)_build_cmds + export CPATH=$(host_prefix)/include && \ + $(MAKE) -C src && \ + $(MAKE) -C tools/linguist/lrelease +endef + +define $(package)_stage_cmds + $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) install && \ + $(MAKE) -C tools/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install +endef + +define $(package)_postprocess_cmds + rm -rf mkspecs/ lib/cmake/ lib/*.prl lib/*.la && \ + find native/bin -type f -exec mv {} {}-qt4 \; +endef diff --git a/depends/packages/xcb_proto.mk b/depends/packages/xcb_proto.mk new file mode 100644 index 000000000..0c7c958d6 --- /dev/null +++ b/depends/packages/xcb_proto.mk @@ -0,0 +1,27 @@ +package=xcb_proto +$(package)_version=1.10 +$(package)_download_path=http://xcb.freedesktop.org/dist +$(package)_file_name=xcb-proto-$($(package)_version).tar.bz2 +$(package)_sha256_hash=7ef40ddd855b750bc597d2a435da21e55e502a0fefa85b274f2c922800baaf05 + +define $(package)_set_vars + $(package)_config_opts=--disable-shared + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef + +define $(package)_postprocess_cmds + find -name "*.pyc" -delete && \ + find -name "*.pyo" -delete +endef diff --git a/depends/packages/xextproto.mk b/depends/packages/xextproto.mk new file mode 100644 index 000000000..98a11eb49 --- /dev/null +++ b/depends/packages/xextproto.mk @@ -0,0 +1,21 @@ +package=xextproto +$(package)_version=7.3.0 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 + +define $(package)_set_vars +$(package)_config_opts=--disable-shared +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/xproto.mk b/depends/packages/xproto.mk new file mode 100644 index 000000000..50a90b268 --- /dev/null +++ b/depends/packages/xproto.mk @@ -0,0 +1,21 @@ +package=xproto +$(package)_version=7.0.26 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f + +define $(package)_set_vars +$(package)_config_opts=--disable-shared +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/packages/xtrans.mk b/depends/packages/xtrans.mk new file mode 100644 index 000000000..99eefa6d5 --- /dev/null +++ b/depends/packages/xtrans.mk @@ -0,0 +1,22 @@ +package=xtrans +$(package)_version=1.3.4 +$(package)_download_path=http://xorg.freedesktop.org/releases/individual/lib/ +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=054d4ee3efd52508c753e9f7bc655ef185a29bd2850dd9e2fc2ccc33544f583a +$(package)_dependencies= + +define $(package)_set_vars +$(package)_config_opts_linux=--with-pic --disable-static +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef diff --git a/depends/patches/boost/darwin_boost_atomic-1.patch b/depends/patches/boost/darwin_boost_atomic-1.patch new file mode 100644 index 000000000..97f59cb7e --- /dev/null +++ b/depends/patches/boost/darwin_boost_atomic-1.patch @@ -0,0 +1,35 @@ +diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp +index 906c13e..dcb4d7d 100644 +--- a/include/boost/atomic/detail/cas128strong.hpp ++++ b/include/boost/atomic/detail/cas128strong.hpp +@@ -196,15 +196,17 @@ class base_atomic + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void + store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type value_s = 0; ++ storage_type value_s; ++ memset(&value_s, 0, sizeof(value_s)); + memcpy(&value_s, &value, sizeof(value_type)); + platform_fence_before_store(order); + platform_store128(value_s, &v_); +@@ -247,7 +249,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + diff --git a/depends/patches/boost/darwin_boost_atomic-2.patch b/depends/patches/boost/darwin_boost_atomic-2.patch new file mode 100644 index 000000000..ca5076520 --- /dev/null +++ b/depends/patches/boost/darwin_boost_atomic-2.patch @@ -0,0 +1,55 @@ +diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp +index a130590..4af99a1 100644 +--- a/include/boost/atomic/detail/gcc-atomic.hpp ++++ b/include/boost/atomic/detail/gcc-atomic.hpp +@@ -958,14 +958,16 @@ class base_atomic + + public: + BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) +- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) ++ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT + { ++ memset(&v_, 0, sizeof(v_)); + memcpy(&v_, &v, sizeof(value_type)); + } + + void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + } +@@ -980,7 +982,8 @@ class base_atomic + + value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT + { +- storage_type tmp = 0; ++ storage_type tmp; ++ memset(&tmp, 0, sizeof(tmp)); + memcpy(&tmp, &v, sizeof(value_type)); + tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); + value_type res; +@@ -994,7 +997,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, +@@ -1010,7 +1015,9 @@ class base_atomic + memory_order success_order, + memory_order failure_order) volatile BOOST_NOEXCEPT + { +- storage_type expected_s = 0, desired_s = 0; ++ storage_type expected_s, desired_s; ++ memset(&expected_s, 0, sizeof(expected_s)); ++ memset(&desired_s, 0, sizeof(desired_s)); + memcpy(&expected_s, &expected, sizeof(value_type)); + memcpy(&desired_s, &desired, sizeof(value_type)); + const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, diff --git a/depends/patches/native_cdrkit/cdrkit-deterministic.patch b/depends/patches/native_cdrkit/cdrkit-deterministic.patch new file mode 100644 index 000000000..8ab0993dc --- /dev/null +++ b/depends/patches/native_cdrkit/cdrkit-deterministic.patch @@ -0,0 +1,86 @@ +--- cdrkit-1.1.11.old/genisoimage/tree.c 2008-10-21 19:57:47.000000000 -0400 ++++ cdrkit-1.1.11/genisoimage/tree.c 2013-12-06 00:23:18.489622668 -0500 +@@ -1139,8 +1139,9 @@ + scan_directory_tree(struct directory *this_dir, char *path, + struct directory_entry *de) + { +- DIR *current_dir; ++ int current_file; + char whole_path[PATH_MAX]; ++ struct dirent **d_list; + struct dirent *d_entry; + struct directory *parent; + int dflag; +@@ -1164,7 +1165,8 @@ + this_dir->dir_flags |= DIR_WAS_SCANNED; + + errno = 0; /* Paranoia */ +- current_dir = opendir(path); ++ //current_dir = opendir(path); ++ current_file = scandir(path, &d_list, NULL, alphasort); + d_entry = NULL; + + /* +@@ -1173,12 +1175,12 @@ + */ + old_path = path; + +- if (current_dir) { ++ if (current_file >= 0) { + errno = 0; +- d_entry = readdir(current_dir); ++ d_entry = d_list[0]; + } + +- if (!current_dir || !d_entry) { ++ if (current_file < 0 || !d_entry) { + int ret = 1; + + #ifdef USE_LIBSCHILY +@@ -1191,8 +1193,8 @@ + de->isorec.flags[0] &= ~ISO_DIRECTORY; + ret = 0; + } +- if (current_dir) +- closedir(current_dir); ++ if(d_list) ++ free(d_list); + return (ret); + } + #ifdef ABORT_DEEP_ISO_ONLY +@@ -1208,7 +1210,7 @@ + errmsgno(EX_BAD, "use Rock Ridge extensions via -R or -r,\n"); + errmsgno(EX_BAD, "or allow deep ISO9660 directory nesting via -D.\n"); + } +- closedir(current_dir); ++ free(d_list); + return (1); + } + #endif +@@ -1250,13 +1252,13 @@ + * The first time through, skip this, since we already asked + * for the first entry when we opened the directory. + */ +- if (dflag) +- d_entry = readdir(current_dir); ++ if (dflag && current_file >= 0) ++ d_entry = d_list[current_file]; + dflag++; + +- if (!d_entry) ++ if (current_file < 0) + break; +- ++ current_file--; + /* OK, got a valid entry */ + + /* If we do not want all files, then pitch the backups. */ +@@ -1348,7 +1350,7 @@ + insert_file_entry(this_dir, whole_path, d_entry->d_name); + #endif /* APPLE_HYB */ + } +- closedir(current_dir); ++ free(d_list); + + #ifdef APPLE_HYB + /* diff --git a/depends/patches/qt/fix-xcb-include-order.patch b/depends/patches/qt/fix-xcb-include-order.patch new file mode 100644 index 000000000..bf6c6dca3 --- /dev/null +++ b/depends/patches/qt/fix-xcb-include-order.patch @@ -0,0 +1,21 @@ +--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:17:27.384458441 -0400 ++++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:18:28.620459303 -0400 +@@ -101,10 +101,6 @@ + } + } + +-DEFINES += $$QMAKE_DEFINES_XCB +-LIBS += $$QMAKE_LIBS_XCB +-QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB +- + CONFIG += qpa/genericunixfontdatabase + + contains(QT_CONFIG, dbus) { +@@ -141,3 +137,7 @@ + INCLUDEPATH += ../../../3rdparty/xkbcommon/xkbcommon/ + } + } ++ ++DEFINES += $$QMAKE_DEFINES_XCB ++LIBS += $$QMAKE_LIBS_XCB ++INCLUDEPATH += $$QMAKE_CFLAGS_XCB diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf new file mode 100644 index 000000000..a97945bc8 --- /dev/null +++ b/depends/patches/qt/mac-qmake.conf @@ -0,0 +1,23 @@ +MAKEFILE_GENERATOR = UNIX +CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname +QMAKE_INCREMENTAL_STYLE = sublib +include(../common/macx.conf) +include(../common/gcc-base-mac.conf) +include(../common/clang.conf) +include(../common/clang-mac.conf) +QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH} +QMAKE_XCODE_VERSION=4.3 +QMAKE_XCODE_DEVELOPER_PATH=/Developer +QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION} +QMAKE_MAC_SDK=macosx +QMAKE_MAC_SDK.macosx.path = $$QMAKE_MAC_SDK_PATH +QMAKE_MAC_SDK.macosx.platform_name = macosx +QMAKE_CFLAGS += -target $${MAC_TARGET} +QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS +QMAKE_CXXFLAGS += $$QMAKE_CFLAGS +QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} +QMAKE_AR = $${CROSS_COMPILE}ar cq +QMAKE_RANLIB=$${CROSS_COMPILE}ranlib +QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool +QMAKE_INSTALL_NAME_TOOL=$${CROSS_COMPILE}install_name_tool +load(qt_config) diff --git a/depends/patches/qt/qt5-tablet-osx.patch b/depends/patches/qt/qt5-tablet-osx.patch new file mode 100644 index 000000000..7deabf8d4 --- /dev/null +++ b/depends/patches/qt/qt5-tablet-osx.patch @@ -0,0 +1,20 @@ +--- old/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:45:18.717570370 -0400 ++++ new/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:52:38.653576561 -0400 +@@ -57,7 +57,7 @@ + Q_WIDGETS_EXPORT extern bool qt_tab_all_widgets(); + + QWidget *qt_button_down = 0; // widget got last button-down +-static QWidget *qt_tablet_target = 0; ++static QPointer qt_tablet_target = 0; + + // popup control + QWidget *qt_popup_down = 0; // popup that contains the pressed widget +@@ -96,8 +96,6 @@ + + QWidgetWindow::~QWidgetWindow() + { +- if (m_widget == qt_tablet_target) +- qt_tablet_target = 0; + } + + #ifndef QT_NO_ACCESSIBILITY diff --git a/depends/patches/qt/qt5-yosemite.patch b/depends/patches/qt/qt5-yosemite.patch new file mode 100644 index 000000000..d569d34d4 --- /dev/null +++ b/depends/patches/qt/qt5-yosemite.patch @@ -0,0 +1,52 @@ +The following patch was taken from upstream: +https://qt.gitorious.org/qt/qtbase/commit/70e4428b6f1c6a4bad112203f67ee7d22107616c.patch + +The first hunk was removed because it conflicts with 5.2.1, and is not currently needed. + +From 70e4428b6f1c6a4bad112203f67ee7d22107616c Mon Sep 17 00:00:00 2001 +From: Gabriel de Dietrich +Date: Tue, 3 Jun 2014 14:20:20 +0200 +Subject: [PATCH] Cocoa: Adapt to Xcode 6 clang version sudden pickiness +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Yes, that means OS X Yosemite fix. + +Change-Id: I236f7af7b803de24ff0895e04c9a9253b5cfdb3b +Reviewed-by: Morten Johan Sørvig +--- + .../platforms/cocoa/qcocoaaccessibilityelement.mm | 2 +- + .../platforms/cocoa/qcocoaapplicationdelegate.mm | 2 +- + src/plugins/platforms/cocoa/qcocoamenuloader.mm | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm +index f841184..548c6a2 100644 +--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm ++++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm +@@ -124,7 +124,7 @@ static void cleanupCocoaApplicationDelegate() + [dockMenu release]; + [qtMenuLoader release]; + if (reflectionDelegate) { +- [NSApp setDelegate:reflectionDelegate]; ++ [[NSApplication sharedApplication] setDelegate:reflectionDelegate]; + [reflectionDelegate release]; + } + [[NSNotificationCenter defaultCenter] removeObserver:self]; +diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +index 60bc3b5..9340e94 100644 +--- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm ++++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +@@ -174,7 +174,7 @@ QT_END_NAMESPACE + - (void)removeActionsFromAppMenu + { + for (NSMenuItem *item in [appMenu itemArray]) +- [item setTag:nil]; ++ [item setTag:0]; + } + + - (void)dealloc +-- +1.7.1 + diff --git a/depends/patches/qt46/stlfix.patch b/depends/patches/qt46/stlfix.patch new file mode 100644 index 000000000..f8f6fb04b --- /dev/null +++ b/depends/patches/qt46/stlfix.patch @@ -0,0 +1,10 @@ +--- old/config.tests/unix/stl/stltest.cpp 2011-06-23 03:45:23.000000000 -0400 ++++ new/config.tests/unix/stl/stltest.cpp 2014-08-28 00:54:04.154837604 -0400 +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + + // something mean to see if the compiler and C++ standard lib are good enough + template diff --git a/pkg.m4 b/pkg.m4 new file mode 100644 index 000000000..c5b26b52e --- /dev/null +++ b/pkg.m4 @@ -0,0 +1,214 @@ +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 1 (pkg-config-0.24) +# +# Copyright © 2004 Scott James Remnant . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# PKG_PROG_PKG_CONFIG([MIN-VERSION]) +# ---------------------------------- +AC_DEFUN([PKG_PROG_PKG_CONFIG], +[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) +m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) +m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi +if test -n "$PKG_CONFIG"; then + _pkg_min_version=m4_default([$1], [0.9.0]) + AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) + if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PKG_CONFIG="" + fi +fi[]dnl +])# PKG_PROG_PKG_CONFIG + +# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# +# Check to see whether a particular set of modules exists. Similar +# to PKG_CHECK_MODULES(), but does not set variables or print errors. +# +# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +# only at the first occurence in configure.ac, so if the first place +# it's called might be skipped (such as if it is within an "if", you +# have to call PKG_CHECK_EXISTS manually +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_EXISTS], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +if test -n "$PKG_CONFIG" && \ + AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then + m4_default([$2], [:]) +m4_ifvaln([$3], [else + $3])dnl +fi]) + +# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) +# --------------------------------------------- +m4_define([_PKG_CONFIG], +[if test -n "$$1"; then + pkg_cv_[]$1="$$1" + elif test -n "$PKG_CONFIG"; then + PKG_CHECK_EXISTS([$3], + [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes ], + [pkg_failed=yes]) + else + pkg_failed=untried +fi[]dnl +])# _PKG_CONFIG + +# _PKG_SHORT_ERRORS_SUPPORTED +# ----------------------------- +AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi[]dnl +])# _PKG_SHORT_ERRORS_SUPPORTED + + +# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], +# [ACTION-IF-NOT-FOUND]) +# +# +# Note that if there is a possibility the first call to +# PKG_CHECK_MODULES might not happen, you should be sure to include an +# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac +# +# +# -------------------------------------------------------------- +AC_DEFUN([PKG_CHECK_MODULES], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl +AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl + +pkg_failed=no +AC_MSG_CHECKING([for $1]) + +_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) +_PKG_CONFIG([$1][_LIBS], [libs], [$2]) + +m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS +and $1[]_LIBS to avoid the need to call pkg-config. +See the pkg-config man page for more details.]) + +if test $pkg_failed = yes; then + AC_MSG_RESULT([no]) + _PKG_SHORT_ERRORS_SUPPORTED + if test $_pkg_short_errors_supported = yes; then + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + + m4_default([$4], [AC_MSG_ERROR( +[Package requirements ($2) were not met: + +$$1_PKG_ERRORS + +Consider adjusting the PKG_CONFIG_PATH environment variable if you +installed software in a non-standard prefix. + +_PKG_TEXT])[]dnl + ]) +elif test $pkg_failed = untried; then + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( +[The pkg-config script could not be found or is too old. Make sure it +is in your PATH or set the PKG_CONFIG environment variable to the full +path to pkg-config. + +_PKG_TEXT + +To get pkg-config, see .])[]dnl + ]) +else + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + AC_MSG_RESULT([yes]) + $3 +fi[]dnl +])# PKG_CHECK_MODULES + + +# PKG_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable pkgconfigdir as the location where a module +# should install pkg-config .pc files. By default the directory is +# $libdir/pkgconfig, but the default can be changed by passing +# DIRECTORY. The user can override through the --with-pkgconfigdir +# parameter. +AC_DEFUN([PKG_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([pkgconfigdir], + [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, + [with_pkgconfigdir=]pkg_default) +AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +]) dnl PKG_INSTALLDIR + + +# PKG_NOARCH_INSTALLDIR(DIRECTORY) +# ------------------------- +# Substitutes the variable noarch_pkgconfigdir as the location where a +# module should install arch-independent pkg-config .pc files. By +# default the directory is $datadir/pkgconfig, but the default can be +# changed by passing DIRECTORY. The user can override through the +# --with-noarch-pkgconfigdir parameter. +AC_DEFUN([PKG_NOARCH_INSTALLDIR], +[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) +m4_pushdef([pkg_description], + [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) +AC_ARG_WITH([noarch-pkgconfigdir], + [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, + [with_noarch_pkgconfigdir=]pkg_default) +AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) +m4_popdef([pkg_default]) +m4_popdef([pkg_description]) +]) dnl PKG_NOARCH_INSTALLDIR + + +# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE, +# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) +# ------------------------------------------- +# Retrieves the value of the pkg-config variable for the given module. +AC_DEFUN([PKG_CHECK_VAR], +[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl +AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl + +_PKG_CONFIG([$1], [variable="][$3]["], [$2]) +AS_VAR_COPY([$1], [pkg_cv_][$1]) + +AS_VAR_IF([$1], [""], [$5], [$4])dnl +])# PKG_CHECK_VAR diff --git a/share/genbuild.sh b/share/genbuild.sh old mode 100644 new mode 100755 index d959877dc..91dadf244 --- a/share/genbuild.sh +++ b/share/genbuild.sh @@ -16,7 +16,7 @@ if [ -e "$(which git)" ]; then git diff >/dev/null 2>/dev/null # get a string like "v0.6.0-66-g59887e8-dirty" - DESC="$(git describe --dirty 2>/dev/null)" + DESC="$(git describe --tags 2>/dev/null)" # get a string like "2012-04-10 16:27:19 +0200" TIME="$(git log -n 1 --format="%ci")" diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in new file mode 100644 index 000000000..b2b33c17f --- /dev/null +++ b/share/qt/Info.plist.in @@ -0,0 +1,35 @@ + + + + + CFBundleIconFile + bitcoin.icns + CFBundlePackageType + APPL + CFBundleGetInfoString + Clam-Qt + CFBundleShortVersionString + @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@ + CFBundleSignature + ???? + CFBundleExecutable + Hyperstake-Qt + CFBundleIdentifier + info.hyperstake.Hyperstake-Qt + CFBundleURLTypes + + + CFBundleTypeRole + Editor + CFBundleURLName + info.hyperstake.HyperstakePayment + CFBundleURLSchemes + + hyperstake + + + + LSAppNapIsDisabled + True + + diff --git a/share/setup.nsi b/share/setup.nsi.in similarity index 63% rename from share/setup.nsi rename to share/setup.nsi.in index 2cc647feb..ef892b737 100644 --- a/share/setup.nsi +++ b/share/setup.nsi.in @@ -1,33 +1,36 @@ -Name BottleCaps +Name "@PACKAGE_NAME@ (@WINDOWS_BITS@-bit)" RequestExecutionLevel highest SetCompressor /SOLID lzma # General Symbol Definitions !define REGKEY "SOFTWARE\$(^Name)" -!define VERSION 0.3.0 -!define COMPANY "BottleCaps project" -!define URL http:// +!define VERSION @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@.@CLIENT_VERSION_REVISION@ +!define COMPANY "Hyperstake project" +!define URL http://www.hyperstake.com/ # MUI Symbol Definitions -!define MUI_ICON "../share/pixmaps/BottleCaps.ico" -!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" +!define MUI_ICON "@abs_top_srcdir@/share/pixmaps/bitcoin.ico" +!define MUI_WELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp" !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_RIGHT -!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp" +!define MUI_HEADERIMAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-header.bmp" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup -!define MUI_STARTMENUPAGE_DEFAULTFOLDER BottleCaps -!define MUI_FINISHPAGE_RUN $INSTDIR\BottleCaps-qt.exe +!define MUI_STARTMENUPAGE_DEFAULTFOLDER "@PACKAGE_NAME@" +!define MUI_FINISHPAGE_RUN $INSTDIR\hyperstake-qt.exe !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" -!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" +!define MUI_UNWELCOMEFINISHPAGE_BITMAP "@abs_top_srcdir@/share/pixmaps/nsis-wizard.bmp" !define MUI_UNFINISHPAGE_NOAUTOCLOSE # Included files !include Sections.nsh !include MUI2.nsh +!if "@WINDOWS_BITS@" == "64" +!include x64.nsh +!endif # Variables Var StartMenuGroup @@ -45,14 +48,18 @@ Var StartMenuGroup !insertmacro MUI_LANGUAGE English # Installer attributes -OutFile BottleCaps-0.3.0-win32-setup.exe -InstallDir $PROGRAMFILES\BottleCaps +OutFile @abs_top_srcdir@/hyperstake-${VERSION}-win@WINDOWS_BITS@-setup.exe +!if "@WINDOWS_BITS@" == "64" +InstallDir $PROGRAMFILES64\Hyperstake +!else +InstallDir $PROGRAMFILES\Hyperstake +!endif CRCCheck on XPStyle on BrandingText " " ShowInstDetails show -VIProductVersion 0.3.0.0 -VIAddVersionKey ProductName BottleCaps +VIProductVersion ${VERSION}.@CLIENT_VERSION_BUILD@ +VIAddVersionKey ProductName "Hyperstake Client" VIAddVersionKey ProductVersion "${VERSION}" VIAddVersionKey CompanyName "${COMPANY}" VIAddVersionKey CompanyWebsite "${URL}" @@ -66,18 +73,18 @@ ShowUninstDetails show Section -Main SEC0000 SetOutPath $INSTDIR SetOverwrite on - File ../release/BottleCaps-qt.exe - File /oname=license.txt ../COPYING - File /oname=readme.txt ../doc/README_windows.txt + File @abs_top_srcdir@/release/hyperstake-qt.exe + File /oname=COPYING.txt @abs_top_srcdir@/COPYING + File /oname=readme.txt @abs_top_srcdir@/doc/README_windows.txt SetOutPath $INSTDIR\daemon - File ../src/BottleCapsd.exe - SetOutPath $INSTDIR\src - File /r /x *.exe /x *.o ../src\*.* + File @abs_top_srcdir@/release/hyperstaked.exe + SetOutPath $INSTDIR\doc + File /r @abs_top_srcdir@/doc\*.* SetOutPath $INSTDIR WriteRegStr HKCU "${REGKEY}\Components" Main 1 - # Remove old wxwidgets-based-BottleCaps executable and locales: - Delete /REBOOTOK $INSTDIR\BottleCaps.exe + # Remove old wxwidgets-based-bitcoin executable and locales: + Delete /REBOOTOK $INSTDIR\hyperstake.exe RMDir /r /REBOOTOK $INSTDIR\locale SectionEnd @@ -87,8 +94,8 @@ Section -post SEC0001 WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory $SMPROGRAMS\$StartMenuGroup - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\BottleCaps.lnk" $INSTDIR\BottleCaps-qt.exe - CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall BottleCaps.lnk" $INSTDIR\uninstall.exe + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" $INSTDIR\hyperstake-qt.exe + CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" @@ -98,12 +105,10 @@ Section -post SEC0001 WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 - - # BottleCaps: URI handling disabled for 0.6.0 - WriteRegStr HKCR "BottleCaps" "URL Protocol" "" - WriteRegStr HKCR "BottleCaps" "" "URL:BottleCaps" - WriteRegStr HKCR "BottleCaps\DefaultIcon" "" $INSTDIR\BottleCaps-qt.exe - WriteRegStr HKCR "BottleCaps\shell\open\command" "" '"$INSTDIR\BottleCaps-qt.exe" "$$1"' + WriteRegStr HKCR "" "URL Protocol" "" + WriteRegStr HKCR "hyperstake" "" "URL:Hyperstake" + WriteRegStr HKCR "hyperstake\DefaultIcon" "" $INSTDIR\hyperstake-qt.exe + WriteRegStr HKCR "hyperstake\shell\open\command" "" '"$INSTDIR\hyperstake-qt.exe" "%1"' SectionEnd # Macro for selecting uninstaller sections @@ -121,19 +126,19 @@ done${UNSECTION_ID}: # Uninstaller sections Section /o -un.Main UNSEC0000 - Delete /REBOOTOK $INSTDIR\BottleCaps-qt.exe - Delete /REBOOTOK $INSTDIR\license.txt + Delete /REBOOTOK $INSTDIR\hyperstake-qt.exe + Delete /REBOOTOK $INSTDIR\COPYING.txt Delete /REBOOTOK $INSTDIR\readme.txt RMDir /r /REBOOTOK $INSTDIR\daemon - RMDir /r /REBOOTOK $INSTDIR\src + RMDir /r /REBOOTOK $INSTDIR\doc DeleteRegValue HKCU "${REGKEY}\Components" Main SectionEnd Section -un.post UNSEC0001 DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall BottleCaps.lnk" - Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\BottleCaps.lnk" - Delete /REBOOTOK "$SMSTARTUP\BottleCaps.lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall $(^Name).lnk" + Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\$(^Name).lnk" + Delete /REBOOTOK "$SMSTARTUP\Hyperstake.lnk" Delete /REBOOTOK $INSTDIR\uninstall.exe Delete /REBOOTOK $INSTDIR\debug.log Delete /REBOOTOK $INSTDIR\db.log @@ -141,7 +146,7 @@ Section -un.post UNSEC0001 DeleteRegValue HKCU "${REGKEY}" Path DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" DeleteRegKey /IfEmpty HKCU "${REGKEY}" - DeleteRegKey HKCR "BottleCaps" + DeleteRegKey HKCR "hyperstake" RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup RmDir /REBOOTOK $INSTDIR Push $R0 @@ -154,6 +159,15 @@ SectionEnd # Installer functions Function .onInit InitPluginsDir +!if "@WINDOWS_BITS@" == "64" + ${If} ${RunningX64} + ; disable registry redirection (enable access to 64-bit portion of registry) + SetRegView 64 + ${Else} + MessageBox MB_OK|MB_ICONSTOP "Cannot install 64-bit version on a 32-bit system." + Abort + ${EndIf} +!endif FunctionEnd # Uninstaller functions diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 000000000..f74e4487b --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,225 @@ +AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) + + + +BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config +BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) + +LIBBITCOIN_SERVER=libbitcoin_server.a +LIBBITCOIN_WALLET=libbitcoin_wallet.a +LIBBITCOIN_COMMON=libbitcoin_common.a +LIBBITCOIN_UTIL=libbitcoin_util.a +LIBBITCOINQT=qt/libbitcoinqt.a + +# Make is not made aware of per-object dependencies to avoid limiting building parallelization +# But to build the less dependent modules first, we manually select their order here: +noinst_LIBRARIES = \ + libbitcoin_util.a \ + libbitcoin_common.a \ + libbitcoin_server.a +if ENABLE_WALLET +BITCOIN_INCLUDES += $(BDB_CPPFLAGS) +noinst_LIBRARIES += libbitcoin_wallet.a +endif + +bin_PROGRAMS = +TESTS = + +if BUILD_BITCOIND + bin_PROGRAMS += hyperstaked +endif + +.PHONY: FORCE +# bitcoin core # +BITCOIN_CORE_H = \ + addrman.h \ + alert.h \ + allocators.h \ + base58.h \ + bignum.h \ + bitcoinrpc.h \ + checkpoints.h \ + clientversion.h \ + coincontrol.h \ + compat.h \ + core.h \ + crypter.h \ + db.h \ + init.h \ + irc.h \ + kernel.h \ + key.h \ + keystore.h \ + main.h \ + mruset.h \ + netbase.h \ + net.h \ + pbkdf2.h \ + protocol.h \ + script.h \ + serialize.h \ + sph_blake.h \ + sph_bmw.h \ + sph_cubehash.h \ + sph_echo.h \ + sph_groestl.h \ + sph_jh.h \ + sph_keccak.h \ + sph_luffa.h \ + sph_shavite.h \ + sph_simd.h \ + sph_skein.h \ + sync.h \ + threadsafety.h \ + tinyformat.h \ + txdb.h \ + ui_interface.h \ + uint256.h \ + util.h \ + version.h \ + wallet.h \ + walletdb.h + +JSON_H = \ + json/json_spirit.h \ + json/json_spirit_error_position.h \ + json/json_spirit_reader.h \ + json/json_spirit_reader_template.h \ + json/json_spirit_stream_reader.h \ + json/json_spirit_utils.h \ + json/json_spirit_value.h \ + json/json_spirit_writer.h \ + json/json_spirit_writer_template.h + +obj/build.h: FORCE + @$(MKDIR_P) $(builddir)/obj + @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ + $(abs_top_srcdir) +libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h + +# server: shared between bitcoind and bitcoin-qt +libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) +libbitcoin_server_a_SOURCES = \ + addrman.cpp \ + alert.cpp \ + blake.c \ + bmw.c \ + checkpoints.cpp \ + cubehash.c \ + echo.c \ + groestl.c \ + init.cpp \ + jh.c \ + irc.cpp \ + keccak.c \ + kernel.cpp \ + luffa.c \ + main.cpp \ + net.cpp \ + noui.cpp \ + rpcblockchain.cpp \ + rpcmining.cpp \ + rpcnet.cpp \ + rpcrawtransaction.cpp \ + script.cpp \ + shavite.c \ + simd.c \ + skein.c \ + $(JSON_H) \ + $(BITCOIN_CORE_H) + +# wallet: shared between bitcoind and bitcoin-qt, but only linked +# when wallet enabled +libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_SOURCES = \ + db.cpp \ + crypter.cpp \ + pbkdf2.cpp \ + rpcdump.cpp \ + rpcwallet.cpp \ + wallet.cpp \ + walletdb.cpp \ + $(BITCOIN_CORE_H) + +# common: shared between bitcoind, and bitcoin-qt and non-server tools +libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_common_a_SOURCES = \ + key.cpp \ + keystore.cpp \ + netbase.cpp \ + protocol.cpp \ + $(BITCOIN_CORE_H) + +# util: shared between all executables. +# This library *must* be included to make sure that the glibc +# backward-compatibility objects and their sanity checks are linked. +libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_util_a_SOURCES = \ + clientversion.cpp \ + sync.cpp \ + version.cpp \ + util.cpp \ + $(BITCOIN_CORE_H) + +nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h +# + +# hyperstaked binary # +hyperstaked_LDADD = \ + $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) \ + $(LIBLEVELDB) \ + $(LIBMEMENV) + +if ENABLE_WALLET +hyperstaked_LDADD += libbitcoin_wallet.a +endif +hyperstaked_SOURCES = \ + bitcoinrpc.cpp + +# + +if TARGET_WINDOWS +hyperstaked_SOURCES += bitcoind-res.rc +endif + +hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) +hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) + + +CLEANFILES = *.gcda *.gcno + +DISTCLEANFILES = obj/build.h + +EXTRA_DIST = + +clean-local: + -$(MAKE) -C leveldb clean + -rm -f config.h + +.rc.o: + @test -f $(WINDRES) + $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ + +.mm.o: + $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< + +%.pb.cc %.pb.h: %.proto + @test -f $(PROTOC) + $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $( forms/ui_foo.h +QT_FORMS_H=$(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h)))) + +# Most files will depend on the forms and moc files as includes. Generate them +# before anything else. +$(QT_MOC): $(QT_FORMS_H) +$(qt_libbitcoinqt_a_OBJECTS) $(qt_bitcoin_qt_OBJECTS) : | $(QT_MOC) + +#Generating these with a half-written protobuf header leads to wacky results. +#This makes sure it's done. +$(QT_MOC): $(PROTOBUF_H) +$(QT_MOC_CPP): $(PROTOBUF_H) + +# hyperstake-qt binary # +qt_hyperstake_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) + +qt_hyperstake_qt_SOURCES = qt/bitcoin.cpp +if TARGET_DARWIN + qt_hyperstake_qt_SOURCES += $(BITCOIN_MM) +endif +if TARGET_WINDOWS + qt_hyperstake_qt_SOURCES += $(BITCOIN_RC) +endif +qt_hyperstake_qt_LDADD = qt/libbitcoinqt.a $(LIBBITCOIN_SERVER) +if ENABLE_WALLET +qt_hyperstake_qt_LDADD += $(LIBBITCOIN_WALLET) +endif +qt_hyperstake_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ + $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) +qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX + +#locale/foo.ts -> locale/foo.qm +QT_QM=$(QT_TS:.ts=.qm) + +SECONDARY: $(QT_QM) + +qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) + @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" + $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ + +translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) + @test -n $(LUPDATE) || echo "lupdate is required for updating translations" + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts + +$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) $(PROTOBUF_H) + @test -f $(RCC) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno + +CLEANFILES += $(CLEAN_QT) + +hyperstake_qt_clean: FORCE + rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_hyperstake_qt_OBJECTS) qt/hyperstake-qt$(EXEEXT) $(LIBBITCOINQT) + +hyperstake_qt : qt/hyperstake-qt$(EXEEXT) + +ui_%.h: %.ui + @test -f $(UIC) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(UIC) -o $@ $< || (echo "Error creating $@"; false) + +%.moc: %.cpp + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +moc_%.cpp: %.h + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +%.qm: %.ts + @test -f $(LRELEASE) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LRELEASE) -silent $< -qm $@ diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include new file mode 100644 index 000000000..a14fefe9c --- /dev/null +++ b/src/Makefile.qttest.include @@ -0,0 +1,43 @@ +bin_PROGRAMS += qt/test/test_bitcoin-qt +TESTS += qt/test/test_bitcoin-qt + +TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp + +if ENABLE_WALLET +endif + +TEST_QT_H = \ + qt/test/uritests.h + +qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) + +qt_test_test_bitcoin_qt_SOURCES = \ + qt/test/test_main.cpp \ + qt/test/uritests.cpp \ + $(TEST_QT_H) +if ENABLE_WALLET +endif + +nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP) + +qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) +if ENABLE_WALLET +qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) +endif +qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ + $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) + +CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno + +CLEANFILES += $(CLEAN_BITCOIN_QT_TEST) + +test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT) + +test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE + $(MAKE) check-TESTS TESTS=$^ + +test_bitcoin_qt_clean: FORCE + rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS) diff --git a/src/Makefile.test.include b/src/Makefile.test.include new file mode 100644 index 000000000..265c2b16b --- /dev/null +++ b/src/Makefile.test.include @@ -0,0 +1,75 @@ +TESTS += test/test_bitcoin test/bitcoin-util-test.py +bin_PROGRAMS += test/test_bitcoin +TEST_SRCDIR = test +TEST_BINARY=test/test_bitcoin$(EXEEXT) + + +EXTRA_DIST += \ + test/bctest.py \ + test/bitcoin-util-test.py + +JSON_TEST_FILES = \ + test/data/script_valid.json \ + test/data/base58_keys_valid.json \ + test/data/base58_encode_decode.json \ + test/data/base58_keys_invalid.json \ + test/data/script_invalid.json + +GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) + +BITCOIN_TESTS =\ + test/allocator_tests.cpp \ + test/base32_tests.cpp \ + test/base64_tests.cpp \ + test/getarg_tests.cpp \ + test/key_tests.cpp \ + test/mruset_tests.cpp \ + test/netbase_tests.cpp \ + test/test_bitcoin.cpp \ + test/sigopcount_tests.cpp + +if ENABLE_WALLET +endif + +test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) +test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) +test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ + $(BOOST_LIBS) $(BOOST_UNIT_TEST_FRAMEWORK_LIB) +if ENABLE_WALLET +test_test_bitcoin_LDADD += $(LIBBITCOIN_WALLET) +endif + +test_test_bitcoin_LDADD += $(LIBBITCOIN_CONSENSUS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static + +nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) + +$(BITCOIN_TESTS): $(GENERATED_TEST_FILES) + +CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) + +CLEANFILES += $(CLEAN_BITCOIN_TEST) + +bitcoin_test: $(TEST_BINARY) + +bitcoin_test_check: $(TEST_BINARY) FORCE + $(MAKE) check-TESTS TESTS=$^ + +bitcoin_test_clean : FORCE + rm -f $(CLEAN_BITCOIN_TEST) $(test_test_bitcoin_OBJECTS) $(TEST_BINARY) + +%.json.h: %.json + @$(MKDIR_P) $(@D) + @echo "namespace json_tests{" > $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" + +%.raw.h: %.raw + @$(MKDIR_P) $(@D) + @echo "namespace alert_tests{" > $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" diff --git a/src/clientversion.cpp b/src/clientversion.cpp new file mode 100644 index 000000000..aae0569bb --- /dev/null +++ b/src/clientversion.cpp @@ -0,0 +1,112 @@ +// Copyright (c) 2012-2014 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "clientversion.h" + +#include "tinyformat.h" + +#include + +/** + * Name of client reported in the 'version' message. Report the same name + * for both bitcoind and bitcoin-core, to make it harder for attackers to + * target servers or GUI users specifically. + */ +const std::string CLIENT_NAME("Satoshi"); + +/** + * Client version number + */ +#define CLIENT_VERSION_SUFFIX "" + + +/** + * The following part of the code determines the CLIENT_BUILD variable. + * Several mechanisms are used for this: + * * first, if HAVE_BUILD_INFO is defined, include build.h, a file that is + * generated by the build environment, possibly containing the output + * of git-describe in a macro called BUILD_DESC + * * secondly, if this is an exported version of the code, GIT_ARCHIVE will + * be defined (automatically using the export-subst git attribute), and + * GIT_COMMIT will contain the commit id. + * * then, three options exist for determining CLIENT_BUILD: + * * if BUILD_DESC is defined, use that literally (output of git-describe) + * * if not, but GIT_COMMIT is defined, use v[maj].[min].[rev].[build]-g[commit] + * * otherwise, use v[maj].[min].[rev].[build]-unk + * finally CLIENT_VERSION_SUFFIX is added + */ + +//! First, include build.h if requested +#ifdef HAVE_BUILD_INFO +#include "build.h" +#endif + +//! git will put "#define GIT_ARCHIVE 1" on the next line inside archives. $Format:%n#define GIT_ARCHIVE 1$ +#ifdef GIT_ARCHIVE +#define GIT_COMMIT_ID "$Format:%h$" +#define GIT_COMMIT_DATE "$Format:%cD$" +#endif + +#define BUILD_DESC_WITH_SUFFIX(maj, min, rev, build, suffix) \ + "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-" DO_STRINGIZE(suffix) + +#define BUILD_DESC_FROM_COMMIT(maj, min, rev, build, commit) \ + "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit + +#define BUILD_DESC_FROM_UNKNOWN(maj, min, rev, build) \ + "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk" + +#ifndef BUILD_DESC +#ifdef BUILD_SUFFIX +#define BUILD_DESC BUILD_DESC_WITH_SUFFIX(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, BUILD_SUFFIX) +#elif defined(GIT_COMMIT_ID) +#define BUILD_DESC BUILD_DESC_FROM_COMMIT(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD, GIT_COMMIT_ID) +#else +#define BUILD_DESC BUILD_DESC_FROM_UNKNOWN(CLIENT_VERSION_MAJOR, CLIENT_VERSION_MINOR, CLIENT_VERSION_REVISION, CLIENT_VERSION_BUILD) +#endif +#endif + +#ifndef BUILD_DATE +#ifdef GIT_COMMIT_DATE +#define BUILD_DATE GIT_COMMIT_DATE +#else +#define BUILD_DATE __DATE__ ", " __TIME__ +#endif +#endif + +const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX); +const std::string CLIENT_DATE(BUILD_DATE); + +static std::string FormatVersion(int nVersion) +{ + if (nVersion % 100 == 0) + return strprintf("%d.%d.%d", nVersion / 1000000, (nVersion / 10000) % 100, (nVersion / 100) % 100); + else + return strprintf("%d.%d.%d.%d", nVersion / 1000000, (nVersion / 10000) % 100, (nVersion / 100) % 100, nVersion % 100); +} + +std::string FormatFullVersion() +{ + return CLIENT_BUILD; +} + +/** + * Format the subversion field according to BIP 14 spec (https://github.com/bitcoin/bips/blob/master/bip-0014.mediawiki) + */ +std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector& comments) +{ + std::ostringstream ss; + ss << "/"; + ss << name << ":" << FormatVersion(nClientVersion); + if (!comments.empty()) + { + std::vector::const_iterator it(comments.begin()); + ss << "(" << *it; + for(++it; it != comments.end(); ++it) + ss << "; " << *it; + ss << ")"; + } + ss << "/"; + return ss.str(); +} diff --git a/src/clientversion.h b/src/clientversion.h index 8a82e0e9c..5249aab3b 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -1,19 +1,70 @@ -#ifndef CLIENTVERSION_H -#define CLIENTVERSION_H +// Copyright (c) 2009-2014 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. -// -// client versioning -// +#ifndef BITCOIN_CLIENTVERSION_H +#define BITCOIN_CLIENTVERSION_H -// These need to be macros, as version.cpp's and bitcoin-qt.rc's voodoo requires it +#if defined(HAVE_CONFIG_H) +#include "config/bitcoin-config.h" +#else + +/** + * client versioning and copyright year + */ + +//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 0 #define CLIENT_VERSION_MINOR 8 #define CLIENT_VERSION_REVISION 2 #define CLIENT_VERSION_BUILD 2 -// Converts the parameter X to a string after macro replacement on X has been performed. -// Don't merge these into one macro! +//! Set to true for release, false for prerelease or test build +#define CLIENT_VERSION_IS_RELEASE true + +/** + * Copyright year (2009-this) + * Todo: update this when changing our copyright comments in the source + */ +#define COPYRIGHT_YEAR 2014 + +#endif //HAVE_CONFIG_H + +/** + * Converts the parameter X to a string after macro replacement on X has been performed. + * Don't merge these into one macro! + */ #define STRINGIZE(X) DO_STRINGIZE(X) #define DO_STRINGIZE(X) #X -#endif // CLIENTVERSION_H +//! Copyright string used in Windows .rc files +#define COPYRIGHT_STR "2014-" STRINGIZE(COPYRIGHT_YEAR) " The Clam Developers" + +/** + * bitcoind-res.rc includes this file, but it cannot cope with real c++ code. + * WINDRES_PREPROC is defined to indicate that its pre-processor is running. + * Anything other than a define should be guarded below. + */ + +#if !defined(WINDRES_PREPROC) + +#include +#include + +static const int CLIENT_VERSION = + 1000000 * CLIENT_VERSION_MAJOR + + 10000 * CLIENT_VERSION_MINOR + + 100 * CLIENT_VERSION_REVISION + + 1 * CLIENT_VERSION_BUILD; + +extern const std::string CLIENT_NAME; +extern const std::string CLIENT_BUILD; +extern const std::string CLIENT_DATE; + + +std::string FormatFullVersion(); +std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector& comments); + +#endif // WINDRES_PREPROC + +#endif // BITCOIN_CLIENTVERSION_H diff --git a/src/config/.empty b/src/config/.empty new file mode 100644 index 000000000..e69de29bb diff --git a/src/irc.cpp b/src/irc.cpp index bef99333c..3e39b6d8c 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -8,6 +8,12 @@ #include "strlcpy.h" #include "base58.h" + +#if !defined(HAVE_MSG_NOSIGNAL) +#define MSG_NOSIGNAL 0 +#endif + + using namespace std; using namespace boost; diff --git a/src/makefile.bsd b/src/makefile.bsd deleted file mode 100644 index ec4ee2ae7..000000000 --- a/src/makefile.bsd +++ /dev/null @@ -1,189 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto -# Distributed under the MIT/X11 software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -USE_UPNP:=0 -USE_IPV6:=1 - -LINK:=$(CXX) - -DEFS=-DBOOST_SPIRIT_THREADSAFE - -DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH)) -LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH)) - -TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) - -LMODE = dynamic -LMODE2 = dynamic -ifdef STATIC - LMODE = static - ifeq (${STATIC}, all) - LMODE2 = static - endif -else - TESTDEFS += -DBOOST_TEST_DYN_LINK -endif - -# for boost 1.37, add -mt to the boost libraries -LIBS += \ - -Wl,-B$(LMODE) \ - -l boost_system$(BOOST_LIB_SUFFIX) \ - -l boost_filesystem$(BOOST_LIB_SUFFIX) \ - -l boost_program_options$(BOOST_LIB_SUFFIX) \ - -l boost_thread$(BOOST_LIB_SUFFIX) \ - -l db_cxx$(BDB_LIB_SUFFIX) \ - -l ssl \ - -l crypto \ - -l execinfo - -ifndef USE_UPNP - override USE_UPNP = - -endif -ifneq (${USE_UPNP}, -) - LIBS += -l miniupnpc - DEFS += -DUSE_UPNP=$(USE_UPNP) -endif - -ifneq (${USE_IPV6}, -) - DEFS += -DUSE_IPV6=$(USE_IPV6) -endif - -LIBS+= \ - -Wl,-B$(LMODE2) \ - -l z \ - -l dl \ - -l pthread - - -# Hardening -# Make some classes of vulnerabilities unexploitable in case one is discovered. -# - # This is a workaround for Ubuntu bug #691722, the default -fstack-protector causes - # -fstack-protector-all to be ignored unless -fno-stack-protector is used first. - # see: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722 - HARDENING=-fno-stack-protector - - # Stack Canaries - # Put numbers at the beginning of each stack frame and check that they are the same. - # If a stack buffer if overflowed, it writes over the canary number and then on return - # when that number is checked, it won't be the same and the program will exit with - # a "Stack smashing detected" error instead of being exploited. - HARDENING+=-fstack-protector-all -Wstack-protector - - # Make some important things such as the global offset table read only as soon as - # the dynamic linker is finished building it. This will prevent overwriting of addresses - # which would later be jumped to. - LDHARDENING+=-Wl,-z,relro -Wl,-z,now - - # Build position independent code to take advantage of Address Space Layout Randomization - # offered by some kernels. - # see doc/build-unix.txt for more information. - ifdef PIE - HARDENING+=-fPIE - LDHARDENING+=-pie - endif - - # -D_FORTIFY_SOURCE=2 does some checking for potentially exploitable code patterns in - # the source such overflowing a statically defined buffer. - HARDENING+=-D_FORTIFY_SOURCE=2 -# - - -DEBUGFLAGS=-g - -# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only -# adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. -xCXXFLAGS=-O0 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ - $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) - -# LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only -# adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work. -xLDFLAGS=$(LDHARDENING) $(LDFLAGS) - -OBJS= \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ - obj/netbase.o \ - obj/addrman.o \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ - obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/rpcdump.o \ - obj/rpcnet.o \ - obj/rpcmining.o \ - obj/rpcwallet.o \ - obj/rpcblockchain.o \ - obj/rpcrawtransaction.o \ - obj/script.o \ - obj/sync.o \ - obj/util.o \ - obj/wallet.o \ - obj/walletdb.o \ - obj/noui.o \ - obj/kernel.o \ - obj/pbkdf2.o \ - obj/scrypt_mine.o \ - obj/scrypt-x86.o \ - obj/scrypt-x86_64.o - - -all: hyperstaked - -test check: test_hyperstake FORCE - ./test_BottleCaps - -# auto-generated dependencies: --include obj/*.P --include obj-test/*.P - -obj/build.h: FORCE - /bin/sh ../share/genbuild.sh obj/build.h -version.cpp: obj/build.h -DEFS += -DHAVE_BUILD_INFO - -obj/scrypt-x86.o: scrypt-x86.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/scrypt-x86_64.o: scrypt-x86_64.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/%.o: %.cpp - $(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -hyperstaked: $(OBJS:obj/%=obj/%) - $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS) - -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) - -obj-test/%.o: test/%.cpp - $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -test_hyperstake: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS) - -clean: - -rm -f hyperstaked test_hyperstake - -rm -f obj/*.o - -rm -f obj-test/*.o - -rm -f obj/*.P - -rm -f obj-test/*.P - -rm -f obj/build.h - -FORCE: diff --git a/src/makefile.linux-mingw b/src/makefile.linux-mingw deleted file mode 100644 index 439079abd..000000000 --- a/src/makefile.linux-mingw +++ /dev/null @@ -1,137 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto -# Distributed under the MIT/X11 software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -DEPSDIR:=/usr/i586-mingw32msvc - -USE_UPNP:=0 -USE_IPV6:=1 - -INCLUDEPATHS= \ - -I"$(CURDIR)" \ - -I"$(CURDIR)"/obj \ - -I"$(DEPSDIR)/boost_1_50_0" \ - -I"$(DEPSDIR)/db-4.8.30.NC/build_unix" \ - -I"$(DEPSDIR)/openssl-1.0.1g/include" \ - -I"$(DEPSDIR)" - -LIBPATHS= \ - -L"$(DEPSDIR)/boost_1_50_0/stage/lib" \ - -L"$(DEPSDIR)/db-4.8.30.NC/build_unix" \ - -L"$(DEPSDIR)/openssl-1.0.1g" - -LIBS= \ - -l boost_system-mt-s \ - -l boost_filesystem-mt-s \ - -l boost_program_options-mt-s \ - -l boost_thread_win32-mt-s \ - -l boost_chrono-mt-s \ - -l db_cxx \ - -l ssl \ - -l crypto - -DEFS=-D_MT -DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DEBUGFLAGS=-g -CFLAGS=-O2 -msse2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat - -TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) - -ifndef USE_UPNP - override USE_UPNP = - -endif -ifneq (${USE_UPNP}, -) - LIBPATHS += -L"$(DEPSDIR)/miniupnpc" - LIBS += -l miniupnpc -l iphlpapi - DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP) -endif - -ifneq (${USE_IPV6}, -) - DEFS += -DUSE_IPV6=$(USE_IPV6) -endif - -LIBS += -l mingwthrd -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi - -# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are -HEADERS = $(wildcard *.h) - -OBJS= \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ - obj/netbase.o \ - obj/addrman.o \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ - obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/rpcdump.o \ - obj/rpcnet.o \ - obj/rpcmining.o \ - obj/rpcwallet.o \ - obj/rpcblockchain.o \ - obj/rpcrawtransaction.o \ - obj/script.o \ - obj/sync.o \ - obj/util.o \ - obj/wallet.o \ - obj/walletdb.o \ - obj/noui.o \ - obj/kernel.o \ - obj/pbkdf2.o \ - src/blake.o \ - src/bmw.o \ - src/groestl.o \ - src/jh.o \ - src/keccak.o \ - src/skein.o \ - src/luffa.o \ - src/cubehash.o \ - src/shavite.o \ - src/echo.o \ - src/simd.o - -all: hyperstaked.exe - -obj/build.h: FORCE - /bin/sh ../share/genbuild.sh obj/build.h -version.cpp: obj/build.h -DEFS += -DHAVE_BUILD_INFO - -obj/%.o: %.cpp $(HEADERS) - i586-mingw32msvc-g++ -c $(CFLAGS) -o $@ $< - -hyperstaked.exe: $(OBJS:obj/%=obj/%) - i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) - -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) - -obj-test/%.o: test/%.cpp $(HEADERS) - i586-mingw32msvc-g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $< - -obj/%.o: %.c $(HEADERS) - $(CXX) -c $(CFLAGS) -fpermissive -o $@ $< - -test_hyperstake.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - i586-mingw32msvc-g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework-mt-s $(LIBS) - -obj/scrypt-x86.o: scrypt-x86.S - i586-mingw32msvc-g++ -c $(CFLAGS) -MMD -o $@ $< - -obj/scrypt-x86_64.o: scrypt-x86_64.S - i586-mingw32msvc-g++ -c $(CFLAGS) -MMD -o $@ $< - -clean: - -rm -f obj/*.o - -rm -f hyperstaked.exe - -rm -f obj-test/*.o - -rm -f test_hyperstake.exe - -rm -f obj/build.h - -FORCE: diff --git a/src/makefile.mingw b/src/makefile.mingw deleted file mode 100644 index 377a428ae..000000000 --- a/src/makefile.mingw +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto -# Distributed under the MIT/X11 software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -USE_UPNP:=0 -USE_IPV6:=1 - -INCLUDEPATHS= \ - -I"$(CURDIR)" \ - -I"C:/deps/boost_1_55_0" \ - -I"c:/deps/db-4.8.30.NC/build_unix" \ - -L"/deps/miniupnpc" \ - -L"c:/deps/" \ - -I"c:/deps/openssl-1.0.1j/include" - -LIBPATHS= \ - -L"C:/deps/boost_1_55_0/stage/lib" \ - -L"c:/deps/db-4.8.30.NC/build_unix" \ - -L"c:/deps/openssl-1.0.1j" \ - -L"c:/deps/" \ - -L"/deps/miniupnpc" - -LIBS= \ - -l boost_system-mgw49-mt-s-1_55 \ - -l boost_filesystem-mgw49-mt-s-1_55 \ - -l boost_program_options-mgw49-mt-s-1_55 \ - -l boost_thread-mgw49-mt-s-1_55 \ - -l db_cxx$$BDB_LIB_SUFFIX \ - -l ssl \ - -l crypto - -DEFS=-DWIN32 -D_WINDOWS -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -D__NO_SYSTEM_INCLUDES -DEBUGFLAGS=-g -CFLAGS=-mthreads -O2 -msse2 -w -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) -LDFLAGS=-Wl,--dynamicbase -Wl,--nxcompat -Wl,--large-address-aware -static - -TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) - -ifndef USE_UPNP - override USE_UPNP = - -endif -ifneq (${USE_UPNP}, -) - INCLUDEPATHS += -I"C:\deps\miniupnpc" - LIBPATHS += -L"C:\deps\miniupnpc" - LIBS += -l miniupnpc -l iphlpapi - DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP) -endif - -ifneq (${USE_IPV6}, -) - DEFS += -DUSE_IPV6=$(USE_IPV6) -endif - -LIBS += -l kernel32 -l user32 -l gdi32 -l comdlg32 -l winspool -l winmm -l shell32 -l comctl32 -l ole32 -l oleaut32 -l uuid -l rpcrt4 -l advapi32 -l ws2_32 -l mswsock -l shlwapi - -# TODO: make the mingw builds smarter about dependencies, like the linux/osx builds are -HEADERS = $(wildcard *.h) - -OBJS= \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ - obj/netbase.o \ - obj/addrman.o \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ - obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/rpcdump.o \ - obj/rpcnet.o \ - obj/rpcmining.o \ - obj/rpcwallet.o \ - obj/rpcblockchain.o \ - obj/rpcrawtransaction.o \ - obj/script.o \ - obj/sync.o \ - obj/util.o \ - obj/wallet.o \ - obj/walletdb.o \ - obj/noui.o \ - obj/kernel.o \ - obj/pbkdf2.o \ - obj/blake.o \ - obj/bmw.o \ - obj/groestl.o \ - obj/jh.o \ - obj/keccak.o \ - obj/skein.o \ - obj/luffa.o \ - obj/cubehash.o \ - obj/shavite.o \ - obj/echo.o \ - obj/simd.o - -all: hyperstaked.exe - -test check: test_hyperstake.exe FORCE - test_hyperstake.exe - -obj/%.o: %.cpp $(HEADERS) - g++ -c $(CFLAGS) -o $@ $< - -obj/%.o: %.c $(HEADERS) - $(CXX) -c $(CFLAGS) -fpermissive -o $@ $< - -obj/scrypt-x86.o: scrypt-x86.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/scrypt-x86_64.o: scrypt-x86_64.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -hyperstaked.exe: $(OBJS:obj/%=obj/%) - g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) - -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) - -obj-test/%.o: test/%.cpp $(HEADERS) - g++ -c $(TESTDEFS) $(CFLAGS) -o $@ $< - -test_hyperstake.exe: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - g++ $(CFLAGS) $(LDFLAGS) -o $@ $(LIBPATHS) $^ -lboost_unit_test_framework $(LIBS) - -clean: - -del /Q hyperstake test_hyperstake - -del /Q obj\* - -del /Q obj-test\* - -FORCE: diff --git a/src/makefile.osx b/src/makefile.osx deleted file mode 100644 index 3dd9d7ec6..000000000 --- a/src/makefile.osx +++ /dev/null @@ -1,188 +0,0 @@ -# -*- mode: Makefile; -*- -# Copyright (c) 2011 Bitcoin Developers -# Distributed under the MIT/X11 software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -# Mac OS X makefile for bitcoin -# Originally by Laszlo Hanyecz (solar@heliacal.net) - -CXX=llvm-g++ -DEPSDIR=/opt/local - -INCLUDEPATHS= \ - -I"$(CURDIR)" \ - -I"$(CURDIR)"/obj \ - -I"$(DEPSDIR)/include" \ - -I"$(DEPSDIR)/include/db48" - -LIBPATHS= \ - -L"$(DEPSDIR)/lib" \ - -L"$(DEPSDIR)/lib/db48" - -USE_UPNP:=1 -USE_IPV6:=1 - -LIBS= -dead_strip - -TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) - -ifdef STATIC -# Build STATIC if you are redistributing the bitcoind binary -TESTLIBS += \ - $(DEPSDIR)/lib/libboost_unit_test_framework-mt.a -LIBS += \ - $(DEPSDIR)/lib/db48/libdb_cxx-4.8.a \ - $(DEPSDIR)/lib/libboost_system-mt.a \ - $(DEPSDIR)/lib/libboost_filesystem-mt.a \ - $(DEPSDIR)/lib/libboost_program_options-mt.a \ - $(DEPSDIR)/lib/libboost_thread-mt.a \ - $(DEPSDIR)/lib/libssl.a \ - $(DEPSDIR)/lib/libcrypto.a \ - -lz -else -TESTLIBS += \ - -lboost_unit_test_framework-mt -LIBS += \ - -ldb_cxx-4.8 \ - -lboost_system-mt \ - -lboost_filesystem-mt \ - -lboost_program_options-mt \ - -lboost_thread-mt \ - -lssl \ - -lcrypto \ - -lz -TESTDEFS += -DBOOST_TEST_DYN_LINK -endif - -DEFS=-DMAC_OSX -DMSG_NOSIGNAL=0 -DBOOST_SPIRIT_THREADSAFE - -ifdef RELEASE -# Compile for maximum compatibility and smallest size. -# This requires that dependencies are compiled -# the same way. -CFLAGS = -mmacosx-version-min=10.5 -arch x86_64 -O3 -msse2 -else -CFLAGS = -g -msse2 -endif - -# ppc doesn't work because we don't support big-endian -CFLAGS += -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ - $(DEBUGFLAGS) $(DEFS) $(INCLUDEPATHS) - -OBJS= \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ - obj/netbase.o \ - obj/addrman.o \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ - obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/rpcdump.o \ - obj/rpcnet.o \ - obj/rpcmining.o \ - obj/rpcwallet.o \ - obj/rpcblockchain.o \ - obj/rpcrawtransaction.o \ - obj/script.o \ - obj/sync.o \ - obj/util.o \ - obj/wallet.o \ - obj/walletdb.o \ - obj/noui.o \ - obj/pbkdf2.o \ - obj/kernel.o \ - src/blake.o \ - src/bmw.o \ - src/groestl.o \ - src/jh.o \ - src/keccak.o \ - src/skein.o \ - src/luffa.o \ - src/cubehash.o \ - src/shavite.o \ - src/echo.o \ - src/simd.o - - -ifndef USE_UPNP - override USE_UPNP = - -endif -ifneq (${USE_UPNP}, -) - DEFS += -DUSE_UPNP=$(USE_UPNP) -ifdef STATIC - LIBS += $(DEPSDIR)/lib/libminiupnpc.a -else - LIBS += -lminiupnpc -endif -endif - -ifneq (${USE_IPV6}, -) - DEFS += -DUSE_IPV6=$(USE_IPV6) -endif - -all: hyperstaked - -test check: test_hyperstake FORCE - ./test_hyperstake - -# auto-generated dependencies: --include obj/*.P --include obj-test/*.P - -obj/build.h: FORCE - /bin/sh ../share/genbuild.sh obj/build.h -version.cpp: obj/build.h -DEFS += -DHAVE_BUILD_INFO - -obj/%.o: %.cpp - $(CXX) -c $(CFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -obj/%.o: %.c - $(CXX) -c $(CFLAGS) -fpermissive -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -obj/scrypt-x86.o: scrypt-x86.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/scrypt-x86_64.o: scrypt-x86_64.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -hyperstaked: $(OBJS:obj/%=obj/%) - $(CXX) $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) - -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) - -obj-test/%.o: test/%.cpp - $(CXX) -c $(TESTDEFS) $(CFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -test_hyperstake: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - $(CXX) $(CFLAGS) -o $@ $(LIBPATHS) $^ $(LIBS) $(TESTLIBS) - -clean: - -rm -f hyperstaked test_hyperstake - -rm -f obj/*.o - -rm -f obj-test/*.o - -rm -f obj/*.P - -rm -f obj-test/*.P - -rm -f obj/build.h - -FORCE: diff --git a/src/makefile.unix b/src/makefile.unix deleted file mode 100644 index a52d8e7f8..000000000 --- a/src/makefile.unix +++ /dev/null @@ -1,206 +0,0 @@ -# Copyright (c) 2009-2010 Satoshi Nakamoto -# Distributed under the MIT/X11 software license, see the accompanying -# file COPYING or http://www.opensource.org/licenses/mit-license.php. - -USE_UPNP:=0 -USE_IPV6:=1 -SSE2_SUPPORT:=$(shell cat /proc/cpuinfo | grep sse2 | wc -l) -LINK:=$(CXX) - -DEFS=-DBOOST_SPIRIT_THREADSAFE - -DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH)) -LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH)) - -TESTDEFS = -DTEST_DATA_DIR=$(abspath test/data) - -LMODE = dynamic -LMODE2 = dynamic -ifdef STATIC - LMODE = dynamic - ifeq (${STATIC}, all) - LMODE2 = dynamic - endif -else - TESTDEFS += -DBOOST_TEST_DYN_LINK -endif - -# for boost 1.37, add -mt to the boost libraries -LIBS += \ - -Wl,-B$(LMODE) \ - -l boost_system$(BOOST_LIB_SUFFIX) \ - -l boost_filesystem$(BOOST_LIB_SUFFIX) \ - -l boost_program_options$(BOOST_LIB_SUFFIX) \ - -l boost_thread$(BOOST_LIB_SUFFIX) \ - -l db_cxx$(BDB_LIB_SUFFIX) \ - -l ssl \ - -l crypto - -ifndef USE_UPNP - override USE_UPNP = - -endif -ifneq (${USE_UPNP}, -) - LIBS += -l miniupnpc - DEFS += -DUSE_UPNP=$(USE_UPNP) -endif - -ifneq (${USE_IPV6}, -) - DEFS += -DUSE_IPV6=$(USE_IPV6) -endif - -LIBS+= \ - -Wl,-B$(LMODE2) \ - -l z \ - -l dl \ - -l pthread - - -# Hardening -# Make some classes of vulnerabilities unexploitable in case one is discovered. -# - # This is a workaround for Ubuntu bug #691722, the default -fstack-protector causes - # -fstack-protector-all to be ignored unless -fno-stack-protector is used first. - # see: https://bugs.launchpad.net/ubuntu/+source/gcc-4.5/+bug/691722 - HARDENING=-fno-stack-protector - - # Stack Canaries - # Put numbers at the beginning of each stack frame and check that they are the same. - # If a stack buffer if overflowed, it writes over the canary number and then on return - # when that number is checked, it won't be the same and the program will exit with - # a "Stack smashing detected" error instead of being exploited. - HARDENING+=-fstack-protector-all -Wstack-protector - - # Make some important things such as the global offset table read only as soon as - # the dynamic linker is finished building it. This will prevent overwriting of addresses - # which would later be jumped to. - LDHARDENING+=-Wl,-z,relro -Wl,-z,now - - # Build position independent code to take advantage of Address Space Layout Randomization - # offered by some kernels. - # see doc/build-unix.txt for more information. - ifdef PIE - HARDENING+=-fPIE - LDHARDENING+=-pie - endif - - # -D_FORTIFY_SOURCE=2 does some checking for potentially exploitable code patterns in - # the source such overflowing a statically defined buffer. - HARDENING+=-D_FORTIFY_SOURCE=2 -# -DEBUGFLAGS=-g - -ifeq (${SSE2_SUPPORT}, 1) - EXT_OPTIONS=-msse2 -endif - -# CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only -# adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. -xCXXFLAGS=-O2 $(EXT_OPTIONS) -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ - $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) - -# LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only -# adds some defaults in front. Unfortunately, LDFLAGS=... $(LDFLAGS) does not work. -xLDFLAGS=$(LDHARDENING) $(LDFLAGS) - -OBJS= \ - obj/alert.o \ - obj/version.o \ - obj/checkpoints.o \ - obj/netbase.o \ - obj/addrman.o \ - obj/crypter.o \ - obj/key.o \ - obj/db.o \ - obj/init.o \ - obj/irc.o \ - obj/keystore.o \ - obj/main.o \ - obj/net.o \ - obj/protocol.o \ - obj/bitcoinrpc.o \ - obj/rpcdump.o \ - obj/rpcnet.o \ - obj/rpcmining.o \ - obj/rpcwallet.o \ - obj/rpcblockchain.o \ - obj/rpcrawtransaction.o \ - obj/script.o \ - obj/sync.o \ - obj/util.o \ - obj/wallet.o \ - obj/walletdb.o \ - obj/noui.o \ - obj/kernel.o \ - obj/pbkdf2.o \ - obj/cubehash.o \ - obj/luffa.o \ - obj/aes_helper.o \ - obj/echo.o \ - obj/shavite.o \ - obj/simd.o \ - obj/blake.o\ - obj/bmw.o\ - obj/groestl.o\ - obj/jh.o\ - obj/keccak.o\ - obj/skein.o - -all: hyperstaked - -test check: test_hyperstake FORCE - ./test_hyperstake - -# auto-generated dependencies: --include obj/*.P --include obj-test/*.P - -obj/build.h: FORCE - /bin/sh ../share/genbuild.sh obj/build.h -version.cpp: obj/build.h -DEFS += -DHAVE_BUILD_INFO - -obj/scrypt-x86.o: scrypt-x86.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/scrypt-x86_64.o: scrypt-x86_64.S - $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - -obj/%.o: %.cpp - $(CXX) -c $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -hyperstaked: $(OBJS:obj/%=obj/%) - $(LINK) $(xCXXFLAGS) -o $@ $^ $(xLDFLAGS) $(LIBS) - -TESTOBJS := $(patsubst test/%.cpp,obj-test/%.o,$(wildcard test/*.cpp)) - - -obj/%.o: %.c - $(CXX) -c $(xCXXFLAGS) -fpermissive -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -obj-test/%.o: test/%.cpp - $(CXX) -c $(TESTDEFS) $(xCXXFLAGS) -MMD -MF $(@:%.o=%.d) -o $@ $< - @cp $(@:%.o=%.d) $(@:%.o=%.P); \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(@:%.o=%.d) >> $(@:%.o=%.P); \ - rm -f $(@:%.o=%.d) - -test_hyperstake: $(TESTOBJS) $(filter-out obj/init.o,$(OBJS:obj/%=obj/%)) - $(LINK) $(xCXXFLAGS) -o $@ $(LIBPATHS) $^ -Wl,-B$(LMODE) -lboost_unit_test_framework $(xLDFLAGS) $(LIBS) - -clean: - -rm -f hyperstaked test_hyperstake - -rm -f obj/*.o - -rm -f obj-test/*.o - -rm -f obj/*.P - -rm -f obj-test/*.P - -rm -f obj/build.h - -FORCE: diff --git a/src/net.cpp b/src/net.cpp index fb64bb416..b0a325056 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -22,6 +22,10 @@ #include #endif +#if !defined(HAVE_MSG_NOSIGNAL) +#define MSG_NOSIGNAL 0 +#endif + using namespace std; using namespace boost; diff --git a/src/netbase.cpp b/src/netbase.cpp index 95d64939b..c5531ffd0 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -14,6 +14,11 @@ #include "strlcpy.h" #include // for to_lower() + +#if !defined(HAVE_MSG_NOSIGNAL) +#define MSG_NOSIGNAL 0 +#endif + using namespace std; // Settings diff --git a/src/tinyformat.h b/src/tinyformat.h new file mode 100644 index 000000000..73d49a1fe --- /dev/null +++ b/src/tinyformat.h @@ -0,0 +1,1013 @@ +// tinyformat.h +// Copyright (C) 2011, Chris Foster [chris42f (at) gmail (d0t) com] +// +// Boost Software License - Version 1.0 +// +// Permission is hereby granted, free of charge, to any person or organization +// obtaining a copy of the software and accompanying documentation covered by +// this license (the "Software") to use, reproduce, display, distribute, +// execute, and transmit the Software, and to prepare derivative works of the +// Software, and to permit third-parties to whom the Software is furnished to +// do so, all subject to the following: +// +// The copyright notices in the Software and this entire statement, including +// the above license grant, this restriction and the following disclaimer, +// must be included in all copies of the Software, in whole or in part, and +// all derivative works of the Software, unless such copies or derivative +// works are solely in the form of machine-executable object code generated by +// a source language processor. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT +// SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE +// FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, +// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + +//------------------------------------------------------------------------------ +// Tinyformat: A minimal type safe printf replacement +// +// tinyformat.h is a type safe printf replacement library in a single C++ +// header file. Design goals include: +// +// * Type safety and extensibility for user defined types. +// * C99 printf() compatibility, to the extent possible using std::ostream +// * Simplicity and minimalism. A single header file to include and distribute +// with your projects. +// * Augment rather than replace the standard stream formatting mechanism +// * C++98 support, with optional C++11 niceties +// +// +// Main interface example usage +// ---------------------------- +// +// To print a date to std::cout: +// +// std::string weekday = "Wednesday"; +// const char* month = "July"; +// size_t day = 27; +// long hour = 14; +// int min = 44; +// +// tfm::printf("%s, %s %d, %.2d:%.2d\n", weekday, month, day, hour, min); +// +// The strange types here emphasize the type safety of the interface; it is +// possible to print a std::string using the "%s" conversion, and a +// size_t using the "%d" conversion. A similar result could be achieved +// using either of the tfm::format() functions. One prints on a user provided +// stream: +// +// tfm::format(std::cerr, "%s, %s %d, %.2d:%.2d\n", +// weekday, month, day, hour, min); +// +// The other returns a std::string: +// +// std::string date = tfm::format("%s, %s %d, %.2d:%.2d\n", +// weekday, month, day, hour, min); +// std::cout << date; +// +// These are the three primary interface functions. +// +// +// User defined format functions +// ----------------------------- +// +// Simulating variadic templates in C++98 is pretty painful since it requires +// writing out the same function for each desired number of arguments. To make +// this bearable tinyformat comes with a set of macros which are used +// internally to generate the API, but which may also be used in user code. +// +// The three macros TINYFORMAT_ARGTYPES(n), TINYFORMAT_VARARGS(n) and +// TINYFORMAT_PASSARGS(n) will generate a list of n argument types, +// type/name pairs and argument names respectively when called with an integer +// n between 1 and 16. We can use these to define a macro which generates the +// desired user defined function with n arguments. To generate all 16 user +// defined function bodies, use the macro TINYFORMAT_FOREACH_ARGNUM. For an +// example, see the implementation of printf() at the end of the source file. +// +// +// Additional API information +// -------------------------- +// +// Error handling: Define TINYFORMAT_ERROR to customize the error handling for +// format strings which are unsupported or have the wrong number of format +// specifiers (calls assert() by default). +// +// User defined types: Uses operator<< for user defined types by default. +// Overload formatValue() for more control. + + +#ifndef TINYFORMAT_H_INCLUDED +#define TINYFORMAT_H_INCLUDED + +namespace tinyformat {} +//------------------------------------------------------------------------------ +// Config section. Customize to your liking! + +// Namespace alias to encourage brevity +namespace tfm = tinyformat; + +// Error handling; calls assert() by default. +#define TINYFORMAT_ERROR(reasonString) throw std::runtime_error(reasonString) + +// Define for C++11 variadic templates which make the code shorter & more +// general. If you don't define this, C++11 support is autodetected below. +// #define TINYFORMAT_USE_VARIADIC_TEMPLATES + + +//------------------------------------------------------------------------------ +// Implementation details. +#include +#include +#include +#include + +#ifndef TINYFORMAT_ERROR +# define TINYFORMAT_ERROR(reason) assert(0 && reason) +#endif + +#if !defined(TINYFORMAT_USE_VARIADIC_TEMPLATES) && !defined(TINYFORMAT_NO_VARIADIC_TEMPLATES) +# ifdef __GXX_EXPERIMENTAL_CXX0X__ +# define TINYFORMAT_USE_VARIADIC_TEMPLATES +# endif +#endif + +#ifdef __GNUC__ +# define TINYFORMAT_NOINLINE __attribute__((noinline)) +#elif defined(_MSC_VER) +# define TINYFORMAT_NOINLINE __declspec(noinline) +#else +# define TINYFORMAT_NOINLINE +#endif + +#if defined(__GLIBCXX__) && __GLIBCXX__ < 20080201 +// std::showpos is broken on old libstdc++ as provided with OSX. See +// http://gcc.gnu.org/ml/libstdc++/2007-11/msg00075.html +# define TINYFORMAT_OLD_LIBSTDCPLUSPLUS_WORKAROUND +#endif + +namespace tinyformat { + +//------------------------------------------------------------------------------ +namespace detail { + +// Test whether type T1 is convertible to type T2 +template +struct is_convertible +{ + private: + // two types of different size + struct fail { char dummy[2]; }; + struct succeed { char dummy; }; + // Try to convert a T1 to a T2 by plugging into tryConvert + static fail tryConvert(...); + static succeed tryConvert(const T2&); + static const T1& makeT1(); + public: +# ifdef _MSC_VER + // Disable spurious loss of precision warnings in tryConvert(makeT1()) +# pragma warning(push) +# pragma warning(disable:4244) +# pragma warning(disable:4267) +# endif + // Standard trick: the (...) version of tryConvert will be chosen from + // the overload set only if the version taking a T2 doesn't match. + // Then we compare the sizes of the return types to check which + // function matched. Very neat, in a disgusting kind of way :) + static const bool value = + sizeof(tryConvert(makeT1())) == sizeof(succeed); +# ifdef _MSC_VER +# pragma warning(pop) +# endif +}; + + +// Detect when a type is not a wchar_t string +template struct is_wchar { typedef int tinyformat_wchar_is_not_supported; }; +template<> struct is_wchar {}; +template<> struct is_wchar {}; +template struct is_wchar {}; +template struct is_wchar {}; + + +// Format the value by casting to type fmtT. This default implementation +// should never be called. +template::value> +struct formatValueAsType +{ + static void invoke(std::ostream& /*out*/, const T& /*value*/) { assert(0); } +}; +// Specialized version for types that can actually be converted to fmtT, as +// indicated by the "convertible" template parameter. +template +struct formatValueAsType +{ + static void invoke(std::ostream& out, const T& value) + { out << static_cast(value); } +}; + +#ifdef TINYFORMAT_OLD_LIBSTDCPLUSPLUS_WORKAROUND +template::value> +struct formatZeroIntegerWorkaround +{ + static bool invoke(std::ostream& /**/, const T& /**/) { return false; } +}; +template +struct formatZeroIntegerWorkaround +{ + static bool invoke(std::ostream& out, const T& value) + { + if (static_cast(value) == 0 && out.flags() & std::ios::showpos) + { + out << "+0"; + return true; + } + return false; + } +}; +#endif // TINYFORMAT_OLD_LIBSTDCPLUSPLUS_WORKAROUND + +// Convert an arbitrary type to integer. The version with convertible=false +// throws an error. +template::value> +struct convertToInt +{ + static int invoke(const T& /*value*/) + { + TINYFORMAT_ERROR("tinyformat: Cannot convert from argument type to " + "integer for use as variable width or precision"); + return 0; + } +}; +// Specialization for convertToInt when conversion is possible +template +struct convertToInt +{ + static int invoke(const T& value) { return static_cast(value); } +}; + +} // namespace detail + + +//------------------------------------------------------------------------------ +// Variable formatting functions. May be overridden for user-defined types if +// desired. + + +// Format a value into a stream. Called from format() for all types by default. +// +// Users may override this for their own types. When this function is called, +// the stream flags will have been modified according to the format string. +// The format specification is provided in the range [fmtBegin, fmtEnd). +// +// By default, formatValue() uses the usual stream insertion operator +// operator<< to format the type T, with special cases for the %c and %p +// conversions. +template +inline void formatValue(std::ostream& out, const char* /*fmtBegin*/, + const char* fmtEnd, const T& value) +{ +#ifndef TINYFORMAT_ALLOW_WCHAR_STRINGS + // Since we don't support printing of wchar_t using "%ls", make it fail at + // compile time in preference to printing as a void* at runtime. + typedef typename detail::is_wchar::tinyformat_wchar_is_not_supported DummyType; + (void) DummyType(); // avoid unused type warning with gcc-4.8 +#endif + // The mess here is to support the %c and %p conversions: if these + // conversions are active we try to convert the type to a char or const + // void* respectively and format that instead of the value itself. For the + // %p conversion it's important to avoid dereferencing the pointer, which + // could otherwise lead to a crash when printing a dangling (const char*). + const bool canConvertToChar = detail::is_convertible::value; + const bool canConvertToVoidPtr = detail::is_convertible::value; + if(canConvertToChar && *(fmtEnd-1) == 'c') + detail::formatValueAsType::invoke(out, value); + else if(canConvertToVoidPtr && *(fmtEnd-1) == 'p') + detail::formatValueAsType::invoke(out, value); +#ifdef TINYFORMAT_OLD_LIBSTDCPLUSPLUS_WORKAROUND + else if(detail::formatZeroIntegerWorkaround::invoke(out, value)) /**/; +#endif + else + out << value; +} + + +// Overloaded version for char types to support printing as an integer +#define TINYFORMAT_DEFINE_FORMATVALUE_CHAR(charType) \ +inline void formatValue(std::ostream& out, const char* /*fmtBegin*/, \ + const char* fmtEnd, charType value) \ +{ \ + switch(*(fmtEnd-1)) \ + { \ + case 'u': case 'd': case 'i': case 'o': case 'X': case 'x': \ + out << static_cast(value); break; \ + default: \ + out << value; break; \ + } \ +} +// per 3.9.1: char, signed char and unsigned char are all distinct types +TINYFORMAT_DEFINE_FORMATVALUE_CHAR(char) +TINYFORMAT_DEFINE_FORMATVALUE_CHAR(signed char) +TINYFORMAT_DEFINE_FORMATVALUE_CHAR(unsigned char) +#undef TINYFORMAT_DEFINE_FORMATVALUE_CHAR + + +//------------------------------------------------------------------------------ +// Tools for emulating variadic templates in C++98. The basic idea here is +// stolen from the boost preprocessor metaprogramming library and cut down to +// be just general enough for what we need. + +#define TINYFORMAT_ARGTYPES(n) TINYFORMAT_ARGTYPES_ ## n +#define TINYFORMAT_VARARGS(n) TINYFORMAT_VARARGS_ ## n +#define TINYFORMAT_PASSARGS(n) TINYFORMAT_PASSARGS_ ## n +#define TINYFORMAT_PASSARGS_TAIL(n) TINYFORMAT_PASSARGS_TAIL_ ## n + +// To keep it as transparent as possible, the macros below have been generated +// using python via the excellent cog.py code generation script. This avoids +// the need for a bunch of complex (but more general) preprocessor tricks as +// used in boost.preprocessor. +// +// To rerun the code generation in place, use `cog.py -r tinyformat.h` +// (see http://nedbatchelder.com/code/cog). Alternatively you can just create +// extra versions by hand. + +/*[[[cog +maxParams = 16 + +def makeCommaSepLists(lineTemplate, elemTemplate, startInd=1): + for j in range(startInd,maxParams+1): + list = ', '.join([elemTemplate % {'i':i} for i in range(startInd,j+1)]) + cog.outl(lineTemplate % {'j':j, 'list':list}) + +makeCommaSepLists('#define TINYFORMAT_ARGTYPES_%(j)d %(list)s', + 'class T%(i)d') + +cog.outl() +makeCommaSepLists('#define TINYFORMAT_VARARGS_%(j)d %(list)s', + 'const T%(i)d& v%(i)d') + +cog.outl() +makeCommaSepLists('#define TINYFORMAT_PASSARGS_%(j)d %(list)s', 'v%(i)d') + +cog.outl() +cog.outl('#define TINYFORMAT_PASSARGS_TAIL_1') +makeCommaSepLists('#define TINYFORMAT_PASSARGS_TAIL_%(j)d , %(list)s', + 'v%(i)d', startInd = 2) + +cog.outl() +cog.outl('#define TINYFORMAT_FOREACH_ARGNUM(m) \\\n ' + + ' '.join(['m(%d)' % (j,) for j in range(1,maxParams+1)])) +]]]*/ +#define TINYFORMAT_ARGTYPES_1 class T1 +#define TINYFORMAT_ARGTYPES_2 class T1, class T2 +#define TINYFORMAT_ARGTYPES_3 class T1, class T2, class T3 +#define TINYFORMAT_ARGTYPES_4 class T1, class T2, class T3, class T4 +#define TINYFORMAT_ARGTYPES_5 class T1, class T2, class T3, class T4, class T5 +#define TINYFORMAT_ARGTYPES_6 class T1, class T2, class T3, class T4, class T5, class T6 +#define TINYFORMAT_ARGTYPES_7 class T1, class T2, class T3, class T4, class T5, class T6, class T7 +#define TINYFORMAT_ARGTYPES_8 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8 +#define TINYFORMAT_ARGTYPES_9 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 +#define TINYFORMAT_ARGTYPES_10 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10 +#define TINYFORMAT_ARGTYPES_11 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11 +#define TINYFORMAT_ARGTYPES_12 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12 +#define TINYFORMAT_ARGTYPES_13 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13 +#define TINYFORMAT_ARGTYPES_14 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14 +#define TINYFORMAT_ARGTYPES_15 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15 +#define TINYFORMAT_ARGTYPES_16 class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16 + +#define TINYFORMAT_VARARGS_1 const T1& v1 +#define TINYFORMAT_VARARGS_2 const T1& v1, const T2& v2 +#define TINYFORMAT_VARARGS_3 const T1& v1, const T2& v2, const T3& v3 +#define TINYFORMAT_VARARGS_4 const T1& v1, const T2& v2, const T3& v3, const T4& v4 +#define TINYFORMAT_VARARGS_5 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5 +#define TINYFORMAT_VARARGS_6 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6 +#define TINYFORMAT_VARARGS_7 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7 +#define TINYFORMAT_VARARGS_8 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8 +#define TINYFORMAT_VARARGS_9 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9 +#define TINYFORMAT_VARARGS_10 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10 +#define TINYFORMAT_VARARGS_11 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11 +#define TINYFORMAT_VARARGS_12 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11, const T12& v12 +#define TINYFORMAT_VARARGS_13 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11, const T12& v12, const T13& v13 +#define TINYFORMAT_VARARGS_14 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11, const T12& v12, const T13& v13, const T14& v14 +#define TINYFORMAT_VARARGS_15 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11, const T12& v12, const T13& v13, const T14& v14, const T15& v15 +#define TINYFORMAT_VARARGS_16 const T1& v1, const T2& v2, const T3& v3, const T4& v4, const T5& v5, const T6& v6, const T7& v7, const T8& v8, const T9& v9, const T10& v10, const T11& v11, const T12& v12, const T13& v13, const T14& v14, const T15& v15, const T16& v16 + +#define TINYFORMAT_PASSARGS_1 v1 +#define TINYFORMAT_PASSARGS_2 v1, v2 +#define TINYFORMAT_PASSARGS_3 v1, v2, v3 +#define TINYFORMAT_PASSARGS_4 v1, v2, v3, v4 +#define TINYFORMAT_PASSARGS_5 v1, v2, v3, v4, v5 +#define TINYFORMAT_PASSARGS_6 v1, v2, v3, v4, v5, v6 +#define TINYFORMAT_PASSARGS_7 v1, v2, v3, v4, v5, v6, v7 +#define TINYFORMAT_PASSARGS_8 v1, v2, v3, v4, v5, v6, v7, v8 +#define TINYFORMAT_PASSARGS_9 v1, v2, v3, v4, v5, v6, v7, v8, v9 +#define TINYFORMAT_PASSARGS_10 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 +#define TINYFORMAT_PASSARGS_11 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 +#define TINYFORMAT_PASSARGS_12 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 +#define TINYFORMAT_PASSARGS_13 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 +#define TINYFORMAT_PASSARGS_14 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 +#define TINYFORMAT_PASSARGS_15 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 +#define TINYFORMAT_PASSARGS_16 v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16 + +#define TINYFORMAT_PASSARGS_TAIL_1 +#define TINYFORMAT_PASSARGS_TAIL_2 , v2 +#define TINYFORMAT_PASSARGS_TAIL_3 , v2, v3 +#define TINYFORMAT_PASSARGS_TAIL_4 , v2, v3, v4 +#define TINYFORMAT_PASSARGS_TAIL_5 , v2, v3, v4, v5 +#define TINYFORMAT_PASSARGS_TAIL_6 , v2, v3, v4, v5, v6 +#define TINYFORMAT_PASSARGS_TAIL_7 , v2, v3, v4, v5, v6, v7 +#define TINYFORMAT_PASSARGS_TAIL_8 , v2, v3, v4, v5, v6, v7, v8 +#define TINYFORMAT_PASSARGS_TAIL_9 , v2, v3, v4, v5, v6, v7, v8, v9 +#define TINYFORMAT_PASSARGS_TAIL_10 , v2, v3, v4, v5, v6, v7, v8, v9, v10 +#define TINYFORMAT_PASSARGS_TAIL_11 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11 +#define TINYFORMAT_PASSARGS_TAIL_12 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12 +#define TINYFORMAT_PASSARGS_TAIL_13 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13 +#define TINYFORMAT_PASSARGS_TAIL_14 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14 +#define TINYFORMAT_PASSARGS_TAIL_15 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15 +#define TINYFORMAT_PASSARGS_TAIL_16 , v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16 + +#define TINYFORMAT_FOREACH_ARGNUM(m) \ + m(1) m(2) m(3) m(4) m(5) m(6) m(7) m(8) m(9) m(10) m(11) m(12) m(13) m(14) m(15) m(16) +//[[[end]]] + + + +namespace detail { + +// Class holding current position in format string and an output stream into +// which arguments are formatted. +class FormatIterator +{ + public: + // Flags for features not representable with standard stream state + enum ExtraFormatFlags + { + Flag_None = 0, + Flag_TruncateToPrecision = 1<<0, // truncate length to stream precision() + Flag_SpacePadPositive = 1<<1, // pad positive values with spaces + Flag_VariableWidth = 1<<2, // variable field width in arg list + Flag_VariablePrecision = 1<<3 // variable field precision in arg list + }; + + // out is the output stream, fmt is the full format string + FormatIterator(std::ostream& out, const char* fmt) + : m_out(out), + m_fmt(fmt), + m_extraFlags(Flag_None), + m_wantWidth(false), + m_wantPrecision(false), + m_variableWidth(0), + m_variablePrecision(0), + m_origWidth(out.width()), + m_origPrecision(out.precision()), + m_origFlags(out.flags()), + m_origFill(out.fill()) + { } + + // Print remaining part of format string. + void finish() + { + // It would be nice if we could do this from the destructor, but we + // can't if TINFORMAT_ERROR is used to throw an exception! + m_fmt = printFormatStringLiteral(m_out, m_fmt); + if(*m_fmt != '\0') + TINYFORMAT_ERROR("tinyformat: Too many conversion specifiers in format string"); + } + + ~FormatIterator() + { + // Restore stream state + m_out.width(m_origWidth); + m_out.precision(m_origPrecision); + m_out.flags(m_origFlags); + m_out.fill(m_origFill); + } + + template + void accept(const T& value); + + private: + // Parse and return an integer from the string c, as atoi() + // On return, c is set to one past the end of the integer. + static int parseIntAndAdvance(const char*& c) + { + int i = 0; + for(;*c >= '0' && *c <= '9'; ++c) + i = 10*i + (*c - '0'); + return i; + } + + // Format at most truncLen characters of a C string to the given + // stream. Return true if formatting proceeded (generic version always + // returns false) + template + static bool formatCStringTruncate(std::ostream& /*out*/, const T& /*value*/, + std::streamsize /*truncLen*/) + { + return false; + } +# define TINYFORMAT_DEFINE_FORMAT_C_STRING_TRUNCATE(type) \ + static bool formatCStringTruncate(std::ostream& out, type* value, \ + std::streamsize truncLen) \ + { \ + std::streamsize len = 0; \ + while(len < truncLen && value[len] != 0) \ + ++len; \ + out.write(value, len); \ + return true; \ + } + // Overload for const char* and char*. Could overload for signed & + // unsigned char too, but these are technically unneeded for printf + // compatibility. + TINYFORMAT_DEFINE_FORMAT_C_STRING_TRUNCATE(const char) + TINYFORMAT_DEFINE_FORMAT_C_STRING_TRUNCATE(char) +# undef TINYFORMAT_DEFINE_FORMAT_C_STRING_TRUNCATE + + // Print literal part of format string and return next format spec + // position. + // + // Skips over any occurrences of '%%', printing a literal '%' to the + // output. The position of the first % character of the next + // nontrivial format spec is returned, or the end of string. + static const char* printFormatStringLiteral(std::ostream& out, + const char* fmt) + { + const char* c = fmt; + for(; true; ++c) + { + switch(*c) + { + case '\0': + out.write(fmt, static_cast(c - fmt)); + return c; + case '%': + out.write(fmt, static_cast(c - fmt)); + if(*(c+1) != '%') + return c; + // for "%%", tack trailing % onto next literal section. + fmt = ++c; + break; + } + } + } + + static const char* streamStateFromFormat(std::ostream& out, + unsigned int& extraFlags, + const char* fmtStart, + int variableWidth, + int variablePrecision); + + // Private copy & assign: Kill gcc warnings with -Weffc++ + FormatIterator(const FormatIterator&); + FormatIterator& operator=(const FormatIterator&); + + // Stream, current format string & state + std::ostream& m_out; + const char* m_fmt; + unsigned int m_extraFlags; + // State machine info for handling of variable width & precision + bool m_wantWidth; + bool m_wantPrecision; + int m_variableWidth; + int m_variablePrecision; + // Saved stream state + std::streamsize m_origWidth; + std::streamsize m_origPrecision; + std::ios::fmtflags m_origFlags; + char m_origFill; +}; + + +// Accept a value for formatting into the internal stream. +template +TINYFORMAT_NOINLINE // < greatly reduces bloat in optimized builds +void FormatIterator::accept(const T& value) +{ + // Parse the format string + const char* fmtEnd = 0; + if(m_extraFlags == Flag_None && !m_wantWidth && !m_wantPrecision) + { + m_fmt = printFormatStringLiteral(m_out, m_fmt); + fmtEnd = streamStateFromFormat(m_out, m_extraFlags, m_fmt, 0, 0); + m_wantWidth = (m_extraFlags & Flag_VariableWidth) != 0; + m_wantPrecision = (m_extraFlags & Flag_VariablePrecision) != 0; + } + // Consume value as variable width and precision specifier if necessary + if(m_extraFlags & (Flag_VariableWidth | Flag_VariablePrecision)) + { + if(m_wantWidth || m_wantPrecision) + { + int v = convertToInt::invoke(value); + if(m_wantWidth) + { + m_variableWidth = v; + m_wantWidth = false; + } + else if(m_wantPrecision) + { + m_variablePrecision = v; + m_wantPrecision = false; + } + return; + } + // If we get here, we've set both the variable precision and width as + // required and we need to rerun the stream state setup to insert these. + fmtEnd = streamStateFromFormat(m_out, m_extraFlags, m_fmt, + m_variableWidth, m_variablePrecision); + } + + // Format the value into the stream. + if(!(m_extraFlags & (Flag_SpacePadPositive | Flag_TruncateToPrecision))) + formatValue(m_out, m_fmt, fmtEnd, value); + else + { + // The following are special cases where there's no direct + // correspondence between stream formatting and the printf() behaviour. + // Instead, we simulate the behaviour crudely by formatting into a + // temporary string stream and munging the resulting string. + std::ostringstream tmpStream; + tmpStream.copyfmt(m_out); + if(m_extraFlags & Flag_SpacePadPositive) + tmpStream.setf(std::ios::showpos); + // formatCStringTruncate is required for truncating conversions like + // "%.4s" where at most 4 characters of the c-string should be read. + // If we didn't include this special case, we might read off the end. + if(!( (m_extraFlags & Flag_TruncateToPrecision) && + formatCStringTruncate(tmpStream, value, m_out.precision()) )) + { + // Not a truncated c-string; just format normally. + formatValue(tmpStream, m_fmt, fmtEnd, value); + } + std::string result = tmpStream.str(); // allocates... yuck. + if(m_extraFlags & Flag_SpacePadPositive) + { + for(size_t i = 0, iend = result.size(); i < iend; ++i) + if(result[i] == '+') + result[i] = ' '; + } + if((m_extraFlags & Flag_TruncateToPrecision) && + (int)result.size() > (int)m_out.precision()) + m_out.write(result.c_str(), m_out.precision()); + else + m_out << result; + } + m_extraFlags = Flag_None; + m_fmt = fmtEnd; +} + + +// Parse a format string and set the stream state accordingly. +// +// The format mini-language recognized here is meant to be the one from C99, +// with the form "%[flags][width][.precision][length]type". +// +// Formatting options which can't be natively represented using the ostream +// state are returned in the extraFlags parameter which is a bitwise +// combination of values from the ExtraFormatFlags enum. +inline const char* FormatIterator::streamStateFromFormat(std::ostream& out, + unsigned int& extraFlags, + const char* fmtStart, + int variableWidth, + int variablePrecision) +{ + if(*fmtStart != '%') + { + TINYFORMAT_ERROR("tinyformat: Not enough conversion specifiers in format string"); + return fmtStart; + } + // Reset stream state to defaults. + out.width(0); + out.precision(6); + out.fill(' '); + // Reset most flags; ignore irrelevant unitbuf & skipws. + out.unsetf(std::ios::adjustfield | std::ios::basefield | + std::ios::floatfield | std::ios::showbase | std::ios::boolalpha | + std::ios::showpoint | std::ios::showpos | std::ios::uppercase); + extraFlags = Flag_None; + bool precisionSet = false; + bool widthSet = false; + const char* c = fmtStart + 1; + // 1) Parse flags + for(;; ++c) + { + switch(*c) + { + case '#': + out.setf(std::ios::showpoint | std::ios::showbase); + continue; + case '0': + // overridden by left alignment ('-' flag) + if(!(out.flags() & std::ios::left)) + { + // Use internal padding so that numeric values are + // formatted correctly, eg -00010 rather than 000-10 + out.fill('0'); + out.setf(std::ios::internal, std::ios::adjustfield); + } + continue; + case '-': + out.fill(' '); + out.setf(std::ios::left, std::ios::adjustfield); + continue; + case ' ': + // overridden by show positive sign, '+' flag. + if(!(out.flags() & std::ios::showpos)) + extraFlags |= Flag_SpacePadPositive; + continue; + case '+': + out.setf(std::ios::showpos); + extraFlags &= ~Flag_SpacePadPositive; + continue; + } + break; + } + // 2) Parse width + if(*c >= '0' && *c <= '9') + { + widthSet = true; + out.width(parseIntAndAdvance(c)); + } + if(*c == '*') + { + widthSet = true; + if(variableWidth < 0) + { + // negative widths correspond to '-' flag set + out.fill(' '); + out.setf(std::ios::left, std::ios::adjustfield); + variableWidth = -variableWidth; + } + out.width(variableWidth); + extraFlags |= Flag_VariableWidth; + ++c; + } + // 3) Parse precision + if(*c == '.') + { + ++c; + int precision = 0; + if(*c == '*') + { + ++c; + extraFlags |= Flag_VariablePrecision; + precision = variablePrecision; + } + else + { + if(*c >= '0' && *c <= '9') + precision = parseIntAndAdvance(c); + else if(*c == '-') // negative precisions ignored, treated as zero. + parseIntAndAdvance(++c); + } + out.precision(precision); + precisionSet = true; + } + // 4) Ignore any C99 length modifier + while(*c == 'l' || *c == 'h' || *c == 'L' || + *c == 'j' || *c == 'z' || *c == 't') + ++c; + // 5) We're up to the conversion specifier character. + // Set stream flags based on conversion specifier (thanks to the + // boost::format class for forging the way here). + bool intConversion = false; + switch(*c) + { + case 'u': case 'd': case 'i': + out.setf(std::ios::dec, std::ios::basefield); + intConversion = true; + break; + case 'o': + out.setf(std::ios::oct, std::ios::basefield); + intConversion = true; + break; + case 'X': + out.setf(std::ios::uppercase); + case 'x': case 'p': + out.setf(std::ios::hex, std::ios::basefield); + intConversion = true; + break; + case 'E': + out.setf(std::ios::uppercase); + case 'e': + out.setf(std::ios::scientific, std::ios::floatfield); + out.setf(std::ios::dec, std::ios::basefield); + break; + case 'F': + out.setf(std::ios::uppercase); + case 'f': + out.setf(std::ios::fixed, std::ios::floatfield); + break; + case 'G': + out.setf(std::ios::uppercase); + case 'g': + out.setf(std::ios::dec, std::ios::basefield); + // As in boost::format, let stream decide float format. + out.flags(out.flags() & ~std::ios::floatfield); + break; + case 'a': case 'A': + TINYFORMAT_ERROR("tinyformat: the %a and %A conversion specs " + "are not supported"); + break; + case 'c': + // Handled as special case inside formatValue() + break; + case 's': + if(precisionSet) + extraFlags |= Flag_TruncateToPrecision; + // Make %s print booleans as "true" and "false" + out.setf(std::ios::boolalpha); + break; + case 'n': + // Not supported - will cause problems! + TINYFORMAT_ERROR("tinyformat: %n conversion spec not supported"); + break; + case '\0': + TINYFORMAT_ERROR("tinyformat: Conversion spec incorrectly " + "terminated by end of string"); + return c; + } + if(intConversion && precisionSet && !widthSet) + { + // "precision" for integers gives the minimum number of digits (to be + // padded with zeros on the left). This isn't really supported by the + // iostreams, but we can approximately simulate it with the width if + // the width isn't otherwise used. + out.width(out.precision()); + out.setf(std::ios::internal, std::ios::adjustfield); + out.fill('0'); + } + return c+1; +} + + + +//------------------------------------------------------------------------------ +// Private format function on top of which the public interface is implemented. +// We enforce a mimimum of one value to be formatted to prevent bugs looking like +// +// const char* myStr = "100% broken"; +// printf(myStr); // Parses % as a format specifier +#ifdef TINYFORMAT_USE_VARIADIC_TEMPLATES + +template +void format(FormatIterator& fmtIter, const T1& value1) +{ + fmtIter.accept(value1); + fmtIter.finish(); +} + +// General version for C++11 +template +void format(FormatIterator& fmtIter, const T1& value1, const Args&... args) +{ + fmtIter.accept(value1); + format(fmtIter, args...); +} + +#else + +inline void format(FormatIterator& fmtIter) +{ + fmtIter.finish(); +} + +// General version for C++98 +#define TINYFORMAT_MAKE_FORMAT_DETAIL(n) \ +template \ +void format(detail::FormatIterator& fmtIter, TINYFORMAT_VARARGS(n)) \ +{ \ + fmtIter.accept(v1); \ + format(fmtIter TINYFORMAT_PASSARGS_TAIL(n)); \ +} + +TINYFORMAT_FOREACH_ARGNUM(TINYFORMAT_MAKE_FORMAT_DETAIL) +#undef TINYFORMAT_MAKE_FORMAT_DETAIL + +#endif // End C++98 variadic template emulation for format() + +} // namespace detail + + +//------------------------------------------------------------------------------ +// Implement all the main interface functions here in terms of detail::format() + +#ifdef TINYFORMAT_USE_VARIADIC_TEMPLATES + +// C++11 - the simple case +template +void format(std::ostream& out, const char* fmt, const T1& v1, const Args&... args) +{ + detail::FormatIterator fmtIter(out, fmt); + format(fmtIter, v1, args...); +} + +template +std::string format(const char* fmt, const T1& v1, const Args&... args) +{ + std::ostringstream oss; + format(oss, fmt, v1, args...); + return oss.str(); +} + +template +std::string format(const std::string &fmt, const T1& v1, const Args&... args) +{ + std::ostringstream oss; + format(oss, fmt.c_str(), v1, args...); + return oss.str(); +} + +template +void printf(const char* fmt, const T1& v1, const Args&... args) +{ + format(std::cout, fmt, v1, args...); +} + +#else + +// C++98 - define the interface functions using the wrapping macros +#define TINYFORMAT_MAKE_FORMAT_FUNCS(n) \ + \ +template \ +void format(std::ostream& out, const char* fmt, TINYFORMAT_VARARGS(n)) \ +{ \ + tinyformat::detail::FormatIterator fmtIter(out, fmt); \ + tinyformat::detail::format(fmtIter, TINYFORMAT_PASSARGS(n)); \ +} \ + \ +template \ +std::string format(const char* fmt, TINYFORMAT_VARARGS(n)) \ +{ \ + std::ostringstream oss; \ + tinyformat::format(oss, fmt, TINYFORMAT_PASSARGS(n)); \ + return oss.str(); \ +} \ + \ +template \ +std::string format(const std::string &fmt, TINYFORMAT_VARARGS(n)) \ +{ \ + std::ostringstream oss; \ + tinyformat::format(oss, fmt.c_str(), TINYFORMAT_PASSARGS(n)); \ + return oss.str(); \ +} \ + \ +template \ +void printf(const char* fmt, TINYFORMAT_VARARGS(n)) \ +{ \ + tinyformat::format(std::cout, fmt, TINYFORMAT_PASSARGS(n)); \ +} + +TINYFORMAT_FOREACH_ARGNUM(TINYFORMAT_MAKE_FORMAT_FUNCS) +#undef TINYFORMAT_MAKE_FORMAT_FUNCS +#endif + + +//------------------------------------------------------------------------------ +// Define deprecated wrapping macro for backward compatibility in tinyformat +// 1.x. Will be removed in version 2! +#define TINYFORMAT_WRAP_FORMAT_EXTRA_ARGS +#define TINYFORMAT_WRAP_FORMAT_N(n, returnType, funcName, funcDeclSuffix, \ + bodyPrefix, streamName, bodySuffix) \ +template \ +returnType funcName(TINYFORMAT_WRAP_FORMAT_EXTRA_ARGS const char* fmt, \ + TINYFORMAT_VARARGS(n)) funcDeclSuffix \ +{ \ + bodyPrefix \ + tinyformat::format(streamName, fmt, TINYFORMAT_PASSARGS(n)); \ + bodySuffix \ +} \ + +#define TINYFORMAT_WRAP_FORMAT(returnType, funcName, funcDeclSuffix, \ + bodyPrefix, streamName, bodySuffix) \ +inline \ +returnType funcName(TINYFORMAT_WRAP_FORMAT_EXTRA_ARGS const char* fmt \ + ) funcDeclSuffix \ +{ \ + bodyPrefix \ + tinyformat::detail::FormatIterator(streamName, fmt).finish(); \ + bodySuffix \ +} \ +TINYFORMAT_WRAP_FORMAT_N(1 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(2 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(3 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(4 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(5 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(6 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(7 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(8 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(9 , returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(10, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(11, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(12, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(13, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(14, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(15, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ +TINYFORMAT_WRAP_FORMAT_N(16, returnType, funcName, funcDeclSuffix, bodyPrefix, streamName, bodySuffix) \ + + +} // namespace tinyformat + +#define strprintf tfm::format + +#endif // TINYFORMAT_H_INCLUDED diff --git a/src/util.h b/src/util.h index f9a780a1a..db5bd9f92 100644 --- a/src/util.h +++ b/src/util.h @@ -107,7 +107,6 @@ T* alignup(T* p) } #ifdef WIN32 -#define MSG_NOSIGNAL 0 #define MSG_DONTWAIT 0 #ifndef S_IRUSR diff --git a/src/version.h b/src/version.h index 315fb4c0f..f4d5328f8 100644 --- a/src/version.h +++ b/src/version.h @@ -7,20 +7,6 @@ #include "clientversion.h" #include -// -// client versioning -// - -static const int CLIENT_VERSION = - 1000000 * CLIENT_VERSION_MAJOR - + 10000 * CLIENT_VERSION_MINOR - + 100 * CLIENT_VERSION_REVISION - + 1 * CLIENT_VERSION_BUILD; - -extern const std::string CLIENT_NAME; -extern const std::string CLIENT_BUILD; -extern const std::string CLIENT_DATE; - // // network protocol versioning // From 6bd0f1cae5c830ea4649879b4ebc46a26df6d582 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 5 Feb 2015 09:47:26 -0700 Subject: [PATCH 277/555] change getWeight & multisend RPC --- src/rpcwallet.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 64ddea94a..62d5c2a12 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -1999,16 +1999,10 @@ Value getstaketx(const Array& params, bool fHelp) } //presstab HyperStake -Value getweight(const Array& params, bool fHelp) +double getWeight() { - if (fHelp) - throw runtime_error( - "getweight\n" - "This will return your total stake weight for confirmed outputs\n"); - std::vector vCoins; pwalletMain->AvailableCoins(vCoins); - uint64 nWeightSum = 0; BOOST_FOREACH(const COutput& out, vCoins) { @@ -2024,6 +2018,17 @@ Value getweight(const Array& params, bool fHelp) return (double)nWeightSum; } +//presstab HyperStake +Value getweight(const Array& params, bool fHelp) +{ + if (fHelp) + throw runtime_error( + "getweight\n" + "This will return your total stake weight for confirmed outputs\n"); + + getWeight(); +} + //presstab HyperStake Value getpotentialstake(const Array& params, bool fHelp) { @@ -2484,10 +2489,11 @@ Value multisend(const Array ¶ms, bool fHelp) if(params.size() == 2 && params[0].get_str() == "delete") { int del = boost::lexical_cast(params[1].get_str()); - pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); - if(!walletdb.EraseMultiSend(pwalletMain->vMultiSend)) return "failed to delete old MultiSend vector from database"; + + pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + del); + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) return "walletdb WriteMultiSend failed!"; return printMultiSend(); From 99c491252ba6544ca1ea7b9f56290a9f56b26bfd Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Fri, 6 Feb 2015 18:22:15 +0100 Subject: [PATCH 278/555] Split the non gui start routines in a seperate file --- .gitignore | 77 +++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 3 +- src/bitcoind-res.rc | 35 +++++++++++++++++++ src/bitcoind.cpp | 84 +++++++++++++++++++++++++++++++++++++++++++++ src/init.cpp | 80 ------------------------------------------ 5 files changed, 198 insertions(+), 81 deletions(-) create mode 100644 src/bitcoind-res.rc create mode 100644 src/bitcoind.cpp diff --git a/.gitignore b/.gitignore index 714bf1e9b..7c386e6eb 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,80 @@ autom4te.cache aclocal.m4 configure ltmain.sh +src/.deps +src/qt/.deps +src/qt/.dirstamp +src/qt/bitcoin.moc +src/qt/bitcoinamountfield.moc +src/qt/moc_aboutdialog.cpp +src/qt/moc_addressbookpage.cpp +src/qt/moc_addresstablemodel.cpp +src/qt/moc_askpassphrasedialog.cpp +src/qt/moc_bitcoinaddressvalidator.cpp +src/qt/moc_bitcoinamountfield.cpp +src/qt/moc_bitcoingui.cpp +src/qt/moc_bitcoinunits.cpp +src/qt/moc_clientmodel.cpp +src/qt/moc_coincontroldialog.cpp +src/qt/moc_coincontroltreewidget.cpp +src/qt/moc_csvmodelwriter.cpp +src/qt/moc_editaddressdialog.cpp +src/qt/moc_guiutil.cpp +src/qt/moc_macdockiconhandler.cpp +src/qt/moc_monitoreddatamapper.cpp +src/qt/moc_notificator.cpp +src/qt/moc_optionsdialog.cpp +src/qt/moc_optionsmodel.cpp +src/qt/moc_overviewpage.cpp +src/qt/moc_qrcodedialog.cpp +src/qt/moc_qvalidatedlineedit.cpp +src/qt/moc_qvaluecombobox.cpp +src/qt/moc_rpcconsole.cpp +src/qt/moc_sendcoinsdialog.cpp +src/qt/moc_sendcoinsentry.cpp +src/qt/moc_signverifymessagedialog.cpp +src/qt/moc_transactiondesc.cpp +src/qt/moc_transactiondescdialog.cpp +src/qt/moc_transactionfilterproxy.cpp +src/qt/moc_transactiontablemodel.cpp +src/qt/moc_transactionview.cpp +src/qt/moc_walletmodel.cpp +src/qt/overviewpage.moc +src/qt/rpcconsole.moc +Makefile.in +src/config/bitcoin-config.h +src/config/bitcoin-config.h.in +src/config/stamp-h1 +src/qt/forms/ui_aboutdialog.h +src/qt/forms/ui_addressbookpage.h +src/qt/forms/ui_askpassphrasedialog.h +src/qt/forms/ui_coincontroldialog.h +src/qt/forms/ui_editaddressdialog.h +src/qt/forms/ui_optionsdialog.h +src/qt/forms/ui_overviewpage.h +src/qt/forms/ui_qrcodedialog.h +src/qt/forms/ui_rpcconsole.h +src/qt/forms/ui_sendcoinsdialog.h +src/qt/forms/ui_sendcoinsentry.h +src/qt/forms/ui_signverifymessagedialog.h +src/qt/forms/ui_transactiondescdialog.h +config.log +config.status +libtool +src/test/.deps +src/test/data/base58_encode_decode.json.h +src/test/data/base58_keys_invalid.json.h +src/test/data/base58_keys_valid.json.h +src/test/data/script_invalid.json.h +src/test/data/script_valid.json.h +src/test/.dirstamp +src/test/test_bitcoin +setup.nsi +Info.plist +build-aux/compile +build-aux/config.guess +build-aux/config.sub +build-aux/depcomp +build-aux/install-sh +build-aux/missing +build-aux/test-driver diff --git a/src/Makefile.am b/src/Makefile.am index f74e4487b..e1ab2ac68 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -102,6 +102,7 @@ libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) libbitcoin_server_a_SOURCES = \ addrman.cpp \ alert.cpp \ + bitcoinrpc.cpp \ blake.c \ bmw.c \ checkpoints.cpp \ @@ -177,7 +178,7 @@ if ENABLE_WALLET hyperstaked_LDADD += libbitcoin_wallet.a endif hyperstaked_SOURCES = \ - bitcoinrpc.cpp + bitcoind.cpp # diff --git a/src/bitcoind-res.rc b/src/bitcoind-res.rc new file mode 100644 index 000000000..182765bfb --- /dev/null +++ b/src/bitcoind-res.rc @@ -0,0 +1,35 @@ +#include // needed for VERSIONINFO +#include "clientversion.h" // holds the needed client version information + +#define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD +#define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) +#define VER_FILEVERSION VER_PRODUCTVERSION +#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR + +VS_VERSION_INFO VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION +FILEOS VOS_NT_WINDOWS32 +FILETYPE VFT_APP +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" // U.S. English - multilingual (hex) + BEGIN + VALUE "CompanyName", "Clam" + VALUE "FileDescription", "Clamd (OSS daemon/client for Bitcoin)" + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", "clamd" + VALUE "LegalCopyright", COPYRIGHT_STR + VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." + VALUE "OriginalFilename", "clamd.exe" + VALUE "ProductName", "Clamd" + VALUE "ProductVersion", VER_PRODUCTVERSION_STR + END + END + + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1252 // language neutral - multilingual (decimal) + END +END diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp new file mode 100644 index 000000000..60f712749 --- /dev/null +++ b/src/bitcoind.cpp @@ -0,0 +1,84 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "bitcoinrpc.h" +#include "init.h" +#include + +////////////////////////////////////////////////////////////////////////////// +// +// Start +// +bool AppInit(int argc, char* argv[]) +{ + bool fRet = false; + try + { + // + // Parameters + // + // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main() + ParseParameters(argc, argv); + if (!boost::filesystem::is_directory(GetDataDir(false))) + { + fprintf(stderr, "Error: Specified directory does not exist\n"); + Shutdown(NULL); + } + ReadConfigFile(mapArgs, mapMultiArgs); + + if (mapArgs.count("-?") || mapArgs.count("--help")) + { + // First part of help message is specific to bitcoind / RPC client + std::string strUsage = _("HyperStake version") + " " + FormatFullVersion() + "\n\n" + + _("Usage:") + "\n" + + " HyperStaked [options] " + "\n" + + " HyperStaked [options] [params] " + _("Send command to -server or HyperStaked") + "\n" + + " HyperStaked [options] help " + _("List commands") + "\n" + + " HyperStaked [options] help " + _("Get help for a command") + "\n"; + + strUsage += "\n" + HelpMessage(); + + fprintf(stdout, "%s", strUsage.c_str()); + return false; + } + + // Command-line RPC + for (int i = 1; i < argc; i++) + if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "HyperStake:")) + fCommandLine = true; + + if (fCommandLine) + { + int ret = CommandLineRPC(argc, argv); + exit(ret); + } + + fRet = AppInit2(); + } + catch (std::exception& e) { + PrintException(&e, "AppInit()"); + } catch (...) { + PrintException(NULL, "AppInit()"); + } + if (!fRet) + Shutdown(NULL); + return fRet; +} + +extern void noui_connect(); +int main(int argc, char* argv[]) +{ + bool fRet = false; + + // Connect bitcoind signal handlers + noui_connect(); + + fRet = AppInit(argc, argv); + + if (fRet && fDaemon) + return 0; + + return 1; +} \ No newline at end of file diff --git a/src/init.cpp b/src/init.cpp index 42a1029dd..64eb2e7df 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -109,86 +109,6 @@ void HandleSIGHUP(int) - - -////////////////////////////////////////////////////////////////////////////// -// -// Start -// -#if !defined(QT_GUI) -bool AppInit(int argc, char* argv[]) -{ - bool fRet = false; - try - { - // - // Parameters - // - // If Qt is used, parameters/bitcoin.conf are parsed in qt/bitcoin.cpp's main() - ParseParameters(argc, argv); - if (!boost::filesystem::is_directory(GetDataDir(false))) - { - fprintf(stderr, "Error: Specified directory does not exist\n"); - Shutdown(NULL); - } - ReadConfigFile(mapArgs, mapMultiArgs); - - if (mapArgs.count("-?") || mapArgs.count("--help")) - { - // First part of help message is specific to bitcoind / RPC client - std::string strUsage = _("HyperStake version") + " " + FormatFullVersion() + "\n\n" + - _("Usage:") + "\n" + - " HyperStaked [options] " + "\n" + - " HyperStaked [options] [params] " + _("Send command to -server or HyperStaked") + "\n" + - " HyperStaked [options] help " + _("List commands") + "\n" + - " HyperStaked [options] help " + _("Get help for a command") + "\n"; - - strUsage += "\n" + HelpMessage(); - - fprintf(stdout, "%s", strUsage.c_str()); - return false; - } - - // Command-line RPC - for (int i = 1; i < argc; i++) - if (!IsSwitchChar(argv[i][0]) && !boost::algorithm::istarts_with(argv[i], "HyperStake:")) - fCommandLine = true; - - if (fCommandLine) - { - int ret = CommandLineRPC(argc, argv); - exit(ret); - } - - fRet = AppInit2(); - } - catch (std::exception& e) { - PrintException(&e, "AppInit()"); - } catch (...) { - PrintException(NULL, "AppInit()"); - } - if (!fRet) - Shutdown(NULL); - return fRet; -} - -extern void noui_connect(); -int main(int argc, char* argv[]) -{ - bool fRet = false; - - // Connect bitcoind signal handlers - noui_connect(); - - fRet = AppInit(argc, argv); - - if (fRet && fDaemon) - return 0; - - return 1; -} -#endif - bool static InitError(const std::string &str) { uiInterface.ThreadSafeMessageBox(str, _("HyperStake"), CClientUIInterface::OK | CClientUIInterface::MODAL); From dda4002934cb2942bda41b907892037d5666cc6f Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Sun, 8 Feb 2015 18:21:09 +0100 Subject: [PATCH 279/555] Add missing source files to the makefile --- src/Makefile.qt.include | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 30153be27..4ada1bb95 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -79,6 +79,9 @@ QT_FORMS_UI = \ qt/forms/aboutdialog.ui \ qt/forms/addressbookpage.ui \ qt/forms/askpassphrasedialog.ui \ + qt/forms/blockbrowser.ui \ + qt/forms/calcdialog.ui \ + qt/forms/charitydialog.ui \ qt/forms/coincontroldialog.ui \ qt/forms/editaddressdialog.ui \ qt/forms/optionsdialog.ui \ @@ -99,6 +102,9 @@ QT_MOC_CPP = \ qt/moc_bitcoinamountfield.cpp \ qt/moc_bitcoingui.cpp \ qt/moc_bitcoinunits.cpp \ + qt/moc_blockbrowser.cpp \ + qt/moc_calcdialog.cpp \ + qt/moc_charitydialog.cpp \ qt/moc_clientmodel.cpp \ qt/moc_coincontroldialog.cpp \ qt/moc_coincontroltreewidget.cpp \ @@ -112,6 +118,7 @@ QT_MOC_CPP = \ qt/moc_optionsmodel.cpp \ qt/moc_overviewpage.cpp \ qt/moc_qrcodedialog.cpp \ + qt/moc_qtipcserver.cpp \ qt/moc_qvalidatedlineedit.cpp \ qt/moc_qvaluecombobox.cpp \ qt/moc_rpcconsole.cpp \ @@ -146,6 +153,9 @@ BITCOIN_QT_H = \ qt/bitcoinamountfield.h \ qt/bitcoingui.h \ qt/bitcoinunits.h \ + qt/blockbrowser.h \ + qt/calcdialog.h \ + qt/charitydialog.h \ qt/clientmodel.h \ qt/coincontroldialog.h \ qt/coincontroltreewidget.h \ @@ -160,6 +170,7 @@ BITCOIN_QT_H = \ qt/optionsmodel.h \ qt/overviewpage.h \ qt/qrcodedialog.h \ + qt/qtipcserver.h \ qt/qvalidatedlineedit.h \ qt/qvaluecombobox.h \ qt/rpcconsole.h \ @@ -220,6 +231,9 @@ BITCOIN_QT_CPP = \ qt/bitcoinamountfield.cpp \ qt/bitcoingui.cpp \ qt/bitcoinunits.cpp \ + qt/blockbrowser.cpp \ + qt/calcdialog.cpp \ + qt/charitydialog.cpp \ qt/clientmodel.cpp \ qt/csvmodelwriter.cpp \ qt/guiutil.cpp \ @@ -228,6 +242,7 @@ BITCOIN_QT_CPP = \ qt/optionsdialog.cpp \ qt/optionsmodel.cpp \ qt/qrcodedialog.cpp \ + qt/qtipcserver.cpp \ qt/qvalidatedlineedit.cpp \ qt/qvaluecombobox.cpp \ qt/rpcconsole.cpp \ @@ -258,7 +273,7 @@ RES_IMAGES = \ qt/res/images/splash.png \ qt/res/images/wallet.png -RES_STYLESHEETS = +RES_STYLESHEETS = RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png) From 1857c0ee73736950c8cdcb165c46fe094f1229b4 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Sun, 8 Feb 2015 20:40:32 +0100 Subject: [PATCH 280/555] Fix locale references --- .gitignore | 11 +++++++ src/Makefile.qt.include | 71 +---------------------------------------- src/qt/bitcoin.qrc | 4 --- 3 files changed, 12 insertions(+), 74 deletions(-) diff --git a/.gitignore b/.gitignore index 7c386e6eb..f19dbd97e 100644 --- a/.gitignore +++ b/.gitignore @@ -117,3 +117,14 @@ build-aux/depcomp build-aux/install-sh build-aux/missing build-aux/test-driver +src/qt/moc_blockbrowser.cpp +src/qt/moc_calcdialog.cpp +src/qt/moc_charitydialog.cpp +src/qt/moc_qtipcserver.cpp +src/qt/test/.dirstamp +src/qt/test/moc_uritests.cpp +src/qt/test/test_bitcoin-qt +src/qt/test/.deps +src/qt/forms/ui_blockbrowser.h +src/qt/forms/ui_calcdialog.h +src/qt/forms/ui_charitydialog.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 4ada1bb95..8dfd44751 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -3,77 +3,8 @@ noinst_LIBRARIES += qt/libbitcoinqt.a # bitcoin qt core # QT_TS = \ - qt/locale/bitcoin_ach.ts \ - qt/locale/bitcoin_af_ZA.ts \ - qt/locale/bitcoin_ar.ts \ - qt/locale/bitcoin_be_BY.ts \ - qt/locale/bitcoin_bg.ts \ - qt/locale/bitcoin_bs.ts \ - qt/locale/bitcoin_ca_ES.ts \ - qt/locale/bitcoin_ca.ts \ - qt/locale/bitcoin_ca@valencia.ts \ - qt/locale/bitcoin_cmn.ts \ - qt/locale/bitcoin_cs.ts \ - qt/locale/bitcoin_cy.ts \ - qt/locale/bitcoin_da.ts \ - qt/locale/bitcoin_de.ts \ - qt/locale/bitcoin_el_GR.ts \ qt/locale/bitcoin_en.ts \ - qt/locale/bitcoin_eo.ts \ - qt/locale/bitcoin_es_CL.ts \ - qt/locale/bitcoin_es_DO.ts \ - qt/locale/bitcoin_es_MX.ts \ - qt/locale/bitcoin_es.ts \ - qt/locale/bitcoin_es_UY.ts \ - qt/locale/bitcoin_et.ts \ - qt/locale/bitcoin_eu_ES.ts \ - qt/locale/bitcoin_fa_IR.ts \ - qt/locale/bitcoin_fa.ts \ - qt/locale/bitcoin_fi.ts \ - qt/locale/bitcoin_fr_CA.ts \ - qt/locale/bitcoin_fr.ts \ - qt/locale/bitcoin_gl.ts \ - qt/locale/bitcoin_gu_IN.ts \ - qt/locale/bitcoin_he.ts \ - qt/locale/bitcoin_hi_IN.ts \ - qt/locale/bitcoin_hr.ts \ - qt/locale/bitcoin_hu.ts \ - qt/locale/bitcoin_id_ID.ts \ - qt/locale/bitcoin_it.ts \ - qt/locale/bitcoin_ja.ts \ - qt/locale/bitcoin_ka.ts \ - qt/locale/bitcoin_kk_KZ.ts \ - qt/locale/bitcoin_ko_KR.ts \ - qt/locale/bitcoin_ky.ts \ - qt/locale/bitcoin_la.ts \ - qt/locale/bitcoin_lt.ts \ - qt/locale/bitcoin_lv_LV.ts \ - qt/locale/bitcoin_mn.ts \ - qt/locale/bitcoin_ms_MY.ts \ - qt/locale/bitcoin_nb.ts \ - qt/locale/bitcoin_nl.ts \ - qt/locale/bitcoin_pam.ts \ - qt/locale/bitcoin_pl.ts \ - qt/locale/bitcoin_pt_BR.ts \ - qt/locale/bitcoin_pt_PT.ts \ - qt/locale/bitcoin_ro_RO.ts \ - qt/locale/bitcoin_ru.ts \ - qt/locale/bitcoin_sah.ts \ - qt/locale/bitcoin_sk.ts \ - qt/locale/bitcoin_sl_SI.ts \ - qt/locale/bitcoin_sq.ts \ - qt/locale/bitcoin_sr.ts \ - qt/locale/bitcoin_sv.ts \ - qt/locale/bitcoin_th_TH.ts \ - qt/locale/bitcoin_tr.ts \ - qt/locale/bitcoin_uk.ts \ - qt/locale/bitcoin_ur_PK.ts \ - qt/locale/bitcoin_uz@Cyrl.ts \ - qt/locale/bitcoin_vi.ts \ - qt/locale/bitcoin_vi_VN.ts \ - qt/locale/bitcoin_zh_CN.ts \ - qt/locale/bitcoin_zh_HK.ts \ - qt/locale/bitcoin_zh_TW.ts + qt/locale/bitcoin_ru.ts QT_FORMS_UI = \ qt/forms/aboutdialog.ui \ diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index ce5156875..a1220cd13 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -57,8 +57,4 @@ res/movies/update_spinner.mng res/movies/mining.mng - - locale/bitcoin_en.qm - locale/bitcoin_ru.qm - From 39535bb6d863723b07dec22df7efeeda1e8fc00b Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Sun, 8 Feb 2015 23:19:44 +0100 Subject: [PATCH 281/555] Eliminate the need for QT_GUI define --- src/bitcoind.cpp | 2 + src/init.cpp | 190 +++++++++++++++++++++++---------------------- src/main.cpp | 2 + src/main.h | 1 + src/qt/bitcoin.cpp | 3 + src/wallet.cpp | 25 +++--- 6 files changed, 119 insertions(+), 104 deletions(-) diff --git a/src/bitcoind.cpp b/src/bitcoind.cpp index 60f712749..9bdbae32d 100644 --- a/src/bitcoind.cpp +++ b/src/bitcoind.cpp @@ -71,6 +71,8 @@ extern void noui_connect(); int main(int argc, char* argv[]) { bool fRet = false; + fHaveGUI = false; + // Connect bitcoind signal handlers noui_connect(); diff --git a/src/init.cpp b/src/init.cpp index 64eb2e7df..f4b05dd74 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -42,13 +42,16 @@ void ExitTimeout(void* parg) void StartShutdown() { -#ifdef QT_GUI - // ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards) - uiInterface.QueueShutdown(); -#else - // Without UI, Shutdown() can simply be started in a new thread - NewThread(Shutdown, NULL); -#endif + if (fHaveGUI) + { + // ensure we leave the Qt main loop for a clean GUI exit (Shutdown() is called in bitcoin.cpp afterwards) + uiInterface.QueueShutdown(); + } + else + { + // Without UI, Shutdown() can simply be started in a new thread + NewThread(Shutdown, NULL); + } } void Shutdown(void* parg) @@ -83,10 +86,11 @@ void Shutdown(void* parg) Sleep(50); printf("HyperStake exited\n\n"); fExit = true; -#ifndef QT_GUI - // ensure non-UI client gets exited here, but let Bitcoin-Qt reach 'return 0;' in bitcoin.cpp - exit(0); -#endif + if (!fHaveGUI) + { + // ensure non-UI client gets exited here, but let Bitcoin-Qt reach 'return 0;' in bitcoin.cpp + exit(0); + } } else { @@ -137,86 +141,87 @@ bool static Bind(const CService &addr, bool fError = true) { // Core-specific options shared between UI and daemon std::string HelpMessage() { - string strUsage = _("Options:") + "\n" + - " -? " + _("This help message") + "\n" + - " -conf= " + _("Specify configuration file (default: HyperStake.conf)") + "\n" + - " -pid= " + _("Specify pid file (default: HyperStaked.pid)") + "\n" + - " -gen " + _("Generate coins") + "\n" + - " -gen=0 " + _("Don't generate coins") + "\n" + - " -datadir= " + _("Specify data directory") + "\n" + - " -dbcache= " + _("Set database cache size in megabytes (default: 25)") + "\n" + - " -dblogsize= " + _("Set database disk log size in megabytes (default: 100)") + "\n" + - " -timeout= " + _("Specify connection timeout in milliseconds (default: 5000)") + "\n" + - " -proxy= " + _("Connect through socks proxy") + "\n" + - " -socks= " + _("Select the version of socks proxy to use (4-5, default: 5)") + "\n" + - " -tor= " + _("Use proxy to reach tor hidden services (default: same as -proxy)") + "\n" - " -dns " + _("Allow DNS lookups for -addnode, -seednode and -connect") + "\n" + - " -port= " + _("Listen for connections on (default: 18777 or testnet: 28775)") + "\n" + - " -maxconnections= " + _("Maintain at most connections to peers (default: 125)") + "\n" + - " -addnode= " + _("Add a node to connect to and attempt to keep the connection open") + "\n" + - " -connect= " + _("Connect only to the specified node(s)") + "\n" + - " -seednode= " + _("Connect to a node to retrieve peer addresses, and disconnect") + "\n" + - " -externalip= " + _("Specify your own public address") + "\n" + - " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n" + - " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n" + - " -irc " + _("Find peers using internet relay chat (default: 1)") + "\n" + - " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n" + - " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n" + - " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n" + - " -nosynccheckpoints " + _("Disable sync checkpoints (default: 0)") + "\n" + - " -banscore= " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n" + - " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n" + - " -maxreceivebuffer= " + _("Maximum per-connection receive buffer, *1000 bytes (default: 5000)") + "\n" + - " -maxsendbuffer= " + _("Maximum per-connection send buffer, *1000 bytes (default: 1000)") + "\n" + + string strUsage = _("Options:") + "\n"; + strUsage += " -? " + _("This help message") + "\n"; + strUsage += " -conf= " + _("Specify configuration file (default: HyperStake.conf)") + "\n"; + strUsage += " -pid= " + _("Specify pid file (default: HyperStaked.pid)") + "\n"; + strUsage += " -gen " + _("Generate coins") + "\n"; + strUsage += " -gen=0 " + _("Don't generate coins") + "\n"; + strUsage += " -datadir= " + _("Specify data directory") + "\n"; + strUsage += " -dbcache= " + _("Set database cache size in megabytes (default: 25)") + "\n"; + strUsage += " -dblogsize= " + _("Set database disk log size in megabytes (default: 100)") + "\n"; + strUsage += " -timeout= " + _("Specify connection timeout in milliseconds (default: 5000)") + "\n"; + strUsage += " -proxy= " + _("Connect through socks proxy") + "\n"; + strUsage += " -socks= " + _("Select the version of socks proxy to use (4-5, default: 5)") + "\n"; + strUsage += " -tor= " + _("Use proxy to reach tor hidden services (default: same as -proxy)") + "\n"; + strUsage += " -dns " + _("Allow DNS lookups for -addnode, -seednode and -connect") + "\n"; + strUsage += " -port= " + _("Listen for connections on (default: 18777 or testnet: 28775)") + "\n"; + strUsage += " -maxconnections= " + _("Maintain at most connections to peers (default: 125)") + "\n"; + strUsage += " -addnode= " + _("Add a node to connect to and attempt to keep the connection open") + "\n"; + strUsage += " -connect= " + _("Connect only to the specified node(s)") + "\n"; + strUsage += " -seednode= " + _("Connect to a node to retrieve peer addresses, and disconnect") + "\n"; + strUsage += " -externalip= " + _("Specify your own public address") + "\n"; + strUsage += " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n"; + strUsage += " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n"; + strUsage += " -irc " + _("Find peers using internet relay chat (default: 1)") + "\n"; + strUsage += " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n"; + strUsage += " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n"; + strUsage += " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n"; + strUsage += " -nosynccheckpoints " + _("Disable sync checkpoints (default: 0)") + "\n"; + strUsage += " -banscore= " + _("Threshold for disconnecting misbehaving peers (default: 100)") + "\n"; + strUsage += " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n"; + strUsage += " -maxreceivebuffer= " + _("Maximum per-connection receive buffer, *1000 bytes (default: 5000)") + "\n"; + strUsage += " -maxsendbuffer= " + _("Maximum per-connection send buffer, *1000 bytes (default: 1000)") + "\n"; #ifdef USE_UPNP #if USE_UPNP - " -upnp " + _("Use UPnP to map the listening port (default: 1 when listening)") + "\n" + + strUsage += " -upnp " + _("Use UPnP to map the listening port (default: 1 when listening)") + "\n"; #else - " -upnp " + _("Use UPnP to map the listening port (default: 0)") + "\n" + -#endif + strUsage += " -upnp " + _("Use UPnP to map the listening port (default: 0)") + "\n"; #endif - " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n" + - " -paytxfee= " + _("Fee per KB to add to transactions you send") + "\n" + -#ifdef QT_GUI - " -server " + _("Accept command line and JSON-RPC commands") + "\n" + #endif -#if !defined(WIN32) && !defined(QT_GUI) - " -daemon " + _("Run in the background as a daemon and accept commands") + "\n" + + strUsage += " -detachdb " + _("Detach block and address databases. Increases shutdown time (default: 0)") + "\n"; + strUsage += " -paytxfee= " + _("Fee per KB to add to transactions you send") + "\n"; + if (fHaveGUI) + strUsage += " -server " + _("Accept command line and JSON-RPC commands") + "\n"; + +#if !defined(WIN32) + if (!fHaveGUI) + strUsage +=" -daemon " + _("Run in the background as a daemon and accept commands") + "\n"; #endif - " -testnet " + _("Use the test network") + "\n" + - " -debug " + _("Output extra debugging information. Implies all other -debug* options") + "\n" + - " -debugnet " + _("Output extra network debugging information") + "\n" + - " -logtimestamps " + _("Prepend debug output with timestamp") + "\n" + - " -shrinkdebugfile " + _("Shrink debug.log file on client startup (default: 1 when no -debug)") + "\n" + - " -printtoconsole " + _("Send trace/debug info to console instead of debug.log file") + "\n" + + strUsage += " -testnet " + _("Use the test network") + "\n"; + strUsage += " -debug " + _("Output extra debugging information. Implies all other -debug* options") + "\n"; + strUsage += " -debugnet " + _("Output extra network debugging information") + "\n"; + strUsage += " -logtimestamps " + _("Prepend debug output with timestamp") + "\n"; + strUsage += " -shrinkdebugfile " + _("Shrink debug.log file on client startup (default: 1 when no -debug)") + "\n"; + strUsage += " -printtoconsole " + _("Send trace/debug info to console instead of debug.log file") + "\n"; #ifdef WIN32 - " -printtodebugger " + _("Send trace/debug info to debugger") + "\n" + + strUsage += " -printtodebugger " + _("Send trace/debug info to debugger") + "\n"; #endif - " -rpcuser= " + _("Username for JSON-RPC connections") + "\n" + - " -rpcpassword= " + _("Password for JSON-RPC connections") + "\n" + - " -rpcport= " + _("Listen for JSON-RPC connections on (default: 18777 or testnet: 28776)") + "\n" + - " -rpcallowip= " + _("Allow JSON-RPC connections from specified IP address") + "\n" + - " -rpcconnect= " + _("Send commands to node running on (default: 127.0.0.1)") + "\n" + - " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n" + - " -walletnotify= " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n" + - " -upgradewallet " + _("Upgrade wallet to latest format") + "\n" + - " -keypool= " + _("Set key pool size to (default: 100)") + "\n" + - " -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n" + - " -salvagewallet " + _("Attempt to recover private keys from a corrupt wallet.dat") + "\n" + - " -checkblocks= " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n" + - " -checklevel= " + _("How thorough the block verification is (0-6, default: 1)") + "\n" + - " -loadblock= " + _("Imports blocks from external blk000?.dat file") + "\n" + - - "\n" + _("Block creation options:") + "\n" + - " -blockminsize= " + _("Set minimum block size in bytes (default: 0)") + "\n" + - " -blockmaxsize= " + _("Set maximum block size in bytes (default: 250000)") + "\n" + - " -blockprioritysize= " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n" + - - "\n" + _("SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n" + - " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n" + - " -rpcsslcertificatechainfile= " + _("Server certificate file (default: server.cert)") + "\n" + - " -rpcsslprivatekeyfile= " + _("Server private key (default: server.pem)") + "\n" + - " -rpcsslciphers= " + _("Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)") + "\n"; + strUsage += " -rpcuser= " + _("Username for JSON-RPC connections") + "\n"; + strUsage += " -rpcpassword= " + _("Password for JSON-RPC connections") + "\n"; + strUsage += " -rpcport= " + _("Listen for JSON-RPC connections on (default: 18777 or testnet: 28776)") + "\n"; + strUsage += " -rpcallowip= " + _("Allow JSON-RPC connections from specified IP address") + "\n"; + strUsage += " -rpcconnect= " + _("Send commands to node running on (default: 127.0.0.1)") + "\n"; + strUsage += " -blocknotify= " + _("Execute command when the best block changes (%s in cmd is replaced by block hash)") + "\n"; + strUsage += " -walletnotify= " + _("Execute command when a wallet transaction changes (%s in cmd is replaced by TxID)") + "\n"; + strUsage += " -upgradewallet " + _("Upgrade wallet to latest format") + "\n"; + strUsage += " -keypool= " + _("Set key pool size to (default: 100)") + "\n"; + strUsage += " -rescan " + _("Rescan the block chain for missing wallet transactions") + "\n"; + strUsage += " -salvagewallet " + _("Attempt to recover private keys from a corrupt wallet.dat") + "\n"; + strUsage += " -checkblocks= " + _("How many blocks to check at startup (default: 2500, 0 = all)") + "\n"; + strUsage += " -checklevel= " + _("How thorough the block verification is (0-6, default: 1)") + "\n"; + strUsage += " -loadblock= " + _("Imports blocks from external blk000?.dat file") + "\n"; + + strUsage += "\n" + _("Block creation options:") + "\n"; + strUsage += " -blockminsize= " + _("Set minimum block size in bytes (default: 0)") + "\n"; + strUsage += " -blockmaxsize= " + _("Set maximum block size in bytes (default: 250000)") + "\n"; + strUsage += " -blockprioritysize= " + _("Set maximum size of high-priority/low-fee transactions in bytes (default: 27000)") + "\n"; + + strUsage += "\n" + _("SSL options: (see the Bitcoin Wiki for SSL setup instructions)") + "\n"; + strUsage += " -rpcssl " + _("Use OpenSSL (https) for JSON-RPC connections") + "\n"; + strUsage += " -rpcsslcertificatechainfile= " + _("Server certificate file (default: server.cert)") + "\n"; + strUsage += " -rpcsslprivatekeyfile= " + _("Server private key (default: server.pem)") + "\n"; + strUsage += " -rpcsslciphers= " + _("Acceptable ciphers (default: TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!AH:!3DES:@STRENGTH)") + "\n"; return strUsage; } @@ -332,9 +337,9 @@ bool AppInit2() fServer = GetBoolArg("-server"); /* force fServer when running without GUI */ -#if !defined(QT_GUI) - fServer = true; -#endif + if (!fHaveGUI) + fServer = true; + fPrintToConsole = GetBoolArg("-printtoconsole"); fPrintToDebugger = GetBoolArg("-printtodebugger"); fLogTimestamps = GetBoolArg("-logtimestamps"); @@ -788,12 +793,13 @@ bool AppInit2() // Add wallet transactions that aren't already in a block to mapTransactions pwalletMain->ReacceptWalletTransactions(); -#if !defined(QT_GUI) - // Loop until process is exit()ed from shutdown() function, - // called from ThreadRPCServer thread when a "stop" command is received. - while (1) - Sleep(5000); -#endif + if (!fHaveGUI) + { + // Loop until process is exit()ed from shutdown() function, + // called from ThreadRPCServer thread when a "stop" command is received. + while (1) + Sleep(5000); + } return true; } diff --git a/src/main.cpp b/src/main.cpp index a2929fda7..a6df81d44 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -56,6 +56,8 @@ CBigNum bnBestInvalidTrust = 0; uint256 hashBestChain = 0; CBlockIndex* pindexBest = NULL; int64 nTimeBestReceived = 0; +bool fHaveGUI = false; + CMedianFilter cPeerBlockCounts(5, 0); // Amount of blocks that other nodes claim to have diff --git a/src/main.h b/src/main.h index d8aa7bbd8..cb9752a24 100644 --- a/src/main.h +++ b/src/main.h @@ -84,6 +84,7 @@ extern CCriticalSection cs_setpwalletRegistered; extern std::set setpwalletRegistered; extern unsigned char pchMessageStart[4]; extern std::map mapOrphanBlocks; +extern bool fHaveGUI; // Settings extern int64 nTransactionFee; diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 9fb0230fc..dba178cec 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -115,6 +115,9 @@ static void handleRunawayException(std::exception *e) #ifndef BITCOIN_QT_TEST int main(int argc, char *argv[]) { + fHaveGUI = true; + + // Do this early as we don't want to bother initializing if we are just calling IPC ipcScanRelay(argc, argv); diff --git a/src/wallet.cpp b/src/wallet.cpp index 4cfee0a36..6f7e0d2ef 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -460,23 +460,24 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn) if (fInsertedNew || fUpdated) if (!wtx.WriteToDisk()) return false; -#ifndef QT_GUI - // If default receiving address gets used, replace it with a new one - CScript scriptDefaultKey; - scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); - BOOST_FOREACH(const CTxOut& txout, wtx.vout) - { - if (txout.scriptPubKey == scriptDefaultKey) + + if (!fHaveGUI) { + // If default receiving address gets used, replace it with a new one + CScript scriptDefaultKey; + scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); + BOOST_FOREACH(const CTxOut& txout, wtx.vout) { - CPubKey newDefaultKey; - if (GetKeyFromPool(newDefaultKey, false)) + if (txout.scriptPubKey == scriptDefaultKey) { - SetDefaultKey(newDefaultKey); - SetAddressBookName(vchDefaultKey.GetID(), ""); + CPubKey newDefaultKey; + if (GetKeyFromPool(newDefaultKey, false)) + { + SetDefaultKey(newDefaultKey); + SetAddressBookName(vchDefaultKey.GetID(), ""); + } } } } -#endif // since AddToWallet is called directly for self-originating transactions, check for consumption of own coins WalletUpdateSpent(wtx); From 6926c76e467218533c8d6c39212a431e8c846059 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Sun, 8 Feb 2015 23:36:11 +0100 Subject: [PATCH 282/555] Ammend last commit (irc usage parameter) --- src/init.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index f4b05dd74..1d9616936 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -163,7 +163,7 @@ std::string HelpMessage() strUsage += " -externalip= " + _("Specify your own public address") + "\n"; strUsage += " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n"; strUsage += " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n"; - strUsage += " -irc " + _("Find peers using internet relay chat (default: 1)") + "\n"; + strUsage += " -irc " + _("Find peers using internet relay chat - disabled by default (default: 0)") + "\n"; strUsage += " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n"; strUsage += " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n"; strUsage += " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n"; From 4736913972e4a182439180a8104a5b1dd40a8155 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 8 Feb 2015 21:26:34 -0700 Subject: [PATCH 283/555] Update Version --- src/qt/res/bitcoin-qt.rc | 10 +++------- src/version.cpp | 2 +- src/version.h | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/qt/res/bitcoin-qt.rc b/src/qt/res/bitcoin-qt.rc index 7caf26f84..4e62ca3cf 100644 --- a/src/qt/res/bitcoin-qt.rc +++ b/src/qt/res/bitcoin-qt.rc @@ -1,16 +1,12 @@ IDI_ICON1 ICON DISCARDABLE "icons/hyperstake.ico" #include // needed for VERSIONINFO -#include "../../clientversion.h" // holds the needed client version information +//#include "../../clientversion.h" // holds the needed client version information #define VER_PRODUCTVERSION CLIENT_VERSION_MAJOR,CLIENT_VERSION_MINOR,CLIENT_VERSION_REVISION,CLIENT_VERSION_BUILD #define VER_PRODUCTVERSION_STR STRINGIZE(CLIENT_VERSION_MAJOR) "." STRINGIZE(CLIENT_VERSION_MINOR) "." STRINGIZE(CLIENT_VERSION_REVISION) "." STRINGIZE(CLIENT_VERSION_BUILD) -#define VER_FILEVERSION VER_PRODUCTVERSION -#define VER_FILEVERSION_STR VER_PRODUCTVERSION_STR VS_VERSION_INFO VERSIONINFO -FILEVERSION VER_FILEVERSION -PRODUCTVERSION VER_PRODUCTVERSION FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP BEGIN @@ -20,13 +16,13 @@ BEGIN BEGIN VALUE "CompanyName", "HyperStake" VALUE "FileDescription", "HyperStake-Qt (OSS GUI client for HyperStake)" - VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "FileVersion", "1.0.9.2" VALUE "InternalName", "HyperStake-qt" VALUE "LegalCopyright", "2009-2012 The Bitcoin developers, 2012-2013 The HyperStake & PPCoin developers" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "HyperStake-qt.exe" VALUE "ProductName", "HyperStake-Qt" - VALUE "ProductVersion", VER_PRODUCTVERSION_STR + VALUE "ProductVersion", "1.0.9.2" END END diff --git a/src/version.cpp b/src/version.cpp index cfdc8219a..ea03009ea 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.1-BETA" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.2" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index f4d5328f8..d057d1c41 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 9 -#define DISPLAY_VERSION_BUILD 1 +#define DISPLAY_VERSION_BUILD 2 #endif From 6e35aaed2f3711fd5d76e981dba6803668927a9f Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 8 Feb 2015 21:30:37 -0700 Subject: [PATCH 284/555] Replace clam references from autotools update --- share/qt/Info.plist.in | 2 +- src/bitcoind-res.rc | 10 +++++----- src/clientversion.h | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/share/qt/Info.plist.in b/share/qt/Info.plist.in index b2b33c17f..23c854a73 100644 --- a/share/qt/Info.plist.in +++ b/share/qt/Info.plist.in @@ -7,7 +7,7 @@ CFBundlePackageType APPL CFBundleGetInfoString - Clam-Qt + HyperStake-Qt CFBundleShortVersionString @CLIENT_VERSION_MAJOR@.@CLIENT_VERSION_MINOR@ CFBundleSignature diff --git a/src/bitcoind-res.rc b/src/bitcoind-res.rc index 182765bfb..3856f3879 100644 --- a/src/bitcoind-res.rc +++ b/src/bitcoind-res.rc @@ -16,14 +16,14 @@ BEGIN BEGIN BLOCK "040904E4" // U.S. English - multilingual (hex) BEGIN - VALUE "CompanyName", "Clam" - VALUE "FileDescription", "Clamd (OSS daemon/client for Bitcoin)" + VALUE "CompanyName", "HyperStake" + VALUE "FileDescription", "HyperStaked (OSS daemon/client for Bitcoin)" VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "clamd" + VALUE "InternalName", "HyperStaked" VALUE "LegalCopyright", COPYRIGHT_STR VALUE "LegalTrademarks1", "Distributed under the MIT software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." - VALUE "OriginalFilename", "clamd.exe" - VALUE "ProductName", "Clamd" + VALUE "OriginalFilename", "HyperStaked.exe" + VALUE "ProductName", "HyperStaked" VALUE "ProductVersion", VER_PRODUCTVERSION_STR END END diff --git a/src/clientversion.h b/src/clientversion.h index 5249aab3b..9e663b64e 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -38,7 +38,7 @@ #define DO_STRINGIZE(X) #X //! Copyright string used in Windows .rc files -#define COPYRIGHT_STR "2014-" STRINGIZE(COPYRIGHT_YEAR) " The Clam Developers" +#define COPYRIGHT_STR "2014-" STRINGIZE(COPYRIGHT_YEAR) " The HyperStake Developers" /** * bitcoind-res.rc includes this file, but it cannot cope with real c++ code. From 5d84f8662d14d9e7a5dc70285e19efd115efef80 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 8 Feb 2015 21:45:51 -0700 Subject: [PATCH 285/555] Fix getweight rpc --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 62d5c2a12..beacc8e55 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2026,7 +2026,7 @@ Value getweight(const Array& params, bool fHelp) "getweight\n" "This will return your total stake weight for confirmed outputs\n"); - getWeight(); + return getWeight(); } //presstab HyperStake From fcfc490f32893477d42127fe0871c2fede2180ab Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 11 Feb 2015 13:25:15 -0700 Subject: [PATCH 286/555] liteStake & stake code revisions I redesigned the hashing iteration in a few ways. Code Reorginization - Instead of iterating the hashing in wallet.cpp, it is iterated in kernel.cpp inside of checkstakekernelhash, this allows the iteration to not need to initialize the variables for every iteration. This is also true for the stake modifier, which was previously calculated for each iteration. liteStake - Previously the staking process would continuosly rehash the same hashes over and over, needlessly taking up valuable CPU power. I have added a std::map that tracks the block height and the last time the wallet hashed on this height. Depending on your staking settings, the wallet will not begin a new round of hashing until after a certain amount of time has passed, or a new block is accepted. This time delay can be found in main.cpp bitcoinminer(). This means that there will be 1-5 seconds of heavier CPU use once every few minutes, compared to continued heavy CPU use. Staking Modes - This allows the user to decide how much time they want to hash into the future and past. HYP has a max time drift of 15 minutes. The aggressive mode allows the user to hash 10 minutes into the future and 10 into the past. This will affect the chains timing a bit, and also might make difficulty more volatile in the short run. In my opinion it is more dangerous to allow a creative coder to do these same accepted practices without letting general users do the same. --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/kernel.cpp | 199 ++++++++++++++++--------------- src/kernel.h | 5 +- src/main.cpp | 15 ++- src/main.h | 1 + src/qt/transactiontablemodel.cpp | 4 + src/qt/transactiontablemodel.h | 3 +- src/qt/transactionview.cpp | 2 +- src/rpcwallet.cpp | 26 ++++ src/wallet.cpp | 166 ++++++++++++-------------- src/wallet.h | 15 ++- 12 files changed, 244 insertions(+), 194 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 39c02452f..d4b9856cb 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -285,6 +285,7 @@ static const CRPCCommand vRPCCommands[] = { "getweight", &getweight, false, false }, { "getpotentialstake", &getpotentialstake, false, false }, { "getconfs", &getconfs, false, false }, + { "stakemode", &stakemode, false, false } }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 42d3ad775..89c31b2fe 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -207,6 +207,7 @@ extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value stakemode(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/kernel.cpp b/src/kernel.cpp index 17c560c72..3193d5836 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -24,7 +24,6 @@ unsigned int nProtocolModifierIntervalChangeTestSwitchHeight = 100; bool IsProtocolModifierIntervalChange(unsigned int nBlockHeight) { return false; - // return (nBlockHeight >= (fTestNet? nProtocolModifierIntervalChangeTestSwitchHeight : nProtocolModifierIntervalChangeSwitchHeight)); } @@ -157,14 +156,6 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif fGeneratedStakeModifier = true; return true; // genesis block's modifier is 0 } - // fix ba.dgercoin - - if ( IsProtocolModifierIntervalChange(pindexPrev->nHeight)){ - nModifierInterval = fTestNet?MODIFIER_INTERVAL_NEW_TESTNET:MODIFIER_INTERVAL_NEW; - //printf("Switching to new modifier interval %i @ block %i", nModifierInterval,pindexPrev->nHeight ); - } - - // First find current stake modifier and its generation block time // if it's not old enough, return the same stake modifier @@ -172,14 +163,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif if (!GetLastStakeModifier(pindexPrev, nStakeModifier, nModifierTime)) return error("ComputeNextStakeModifier: unable to get last modifier"); if (fDebug) - { printf("ComputeNextStakeModifier: prev modifier=0x%016"PRI64x" time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); - } - - - - - if (nModifierTime / nModifierInterval >= pindexPrev->GetBlockTime() / nModifierInterval) return true; @@ -189,11 +173,13 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif int64 nSelectionInterval = GetStakeModifierSelectionInterval(); int64 nSelectionIntervalStart = (pindexPrev->GetBlockTime() / nModifierInterval) * nModifierInterval - nSelectionInterval; const CBlockIndex* pindex = pindexPrev; + while (pindex && pindex->GetBlockTime() >= nSelectionIntervalStart) { vSortedByTimestamp.push_back(make_pair(pindex->GetBlockTime(), pindex->GetBlockHash())); pindex = pindex->pprev; } + int nHeightFirstCandidate = pindex ? (pindex->nHeight + 1) : 0; reverse(vSortedByTimestamp.begin(), vSortedByTimestamp.end()); sort(vSortedByTimestamp.begin(), vSortedByTimestamp.end()); @@ -263,8 +249,6 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier int64 nStakeModifierSelectionInterval = GetStakeModifierSelectionInterval(); const CBlockIndex* pindex = pindexFrom; - - // loop to find the stake modifier later by a selection interval while (nStakeModifierTime < pindexFrom->GetBlockTime() + nStakeModifierSelectionInterval) { @@ -274,11 +258,7 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier return error("GetKernelStakeModifier() : reached best block %s at height %d from block %s", pindex->GetBlockHash().ToString().c_str(), pindex->nHeight, hashBlockFrom.ToString().c_str()); else - { - // printf(">> nStakeModifierTime = %"PRI64d", pindexFrom->GetBlockTime() = %"PRI64d", nStakeModifierSelectionInterval = %"PRI64d"\n", - // nStakeModifierTime, pindexFrom->GetBlockTime(), nStakeModifierSelectionInterval); return false; - } } pindex = pindex->pnext; if (pindex->GeneratedStakeModifier()) @@ -314,82 +294,113 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier // quantities so as to generate blocks faster, degrading the system back into // a proof-of-work situation. // -bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, const COutPoint& prevout, unsigned int nTimeTx, uint256& hashProofOfStake, bool fPrintProofOfStake) -{ - if (nTimeTx < txPrev.nTime) // Transaction timestamp violation - return error("CheckStakeKernelHash() : nTime violation"); - - unsigned int nTimeBlockFrom = blockFrom.GetBlockTime(); - if (nTimeBlockFrom + nStakeMinAge > nTimeTx) // Min age requirement - return error("CheckStakeKernelHash() : min age violation"); - - CBigNum bnTargetPerCoinDay; - bnTargetPerCoinDay.SetCompact(nBits); - int64 nValueIn = txPrev.vout[prevout.n].nValue; - - // v0.3 protocol kernel hash weight starts from 0 at the min age - // this change increases active coins participating the hash and helps - // to secure the network when proof-of-stake difficulty is low - int64 nTimeWeight = min((int64)nTimeTx - txPrev.nTime, (int64)nStakeMaxAge) - nStakeMinAge; - CBigNum bnCoinDayWeight = CBigNum(nValueIn) * nTimeWeight / COIN / (24 * 60 * 60); - - // printf(">>> CheckStakeKernelHash: nTimeWeight = %"PRI64d"\n", nTimeWeight); - // Calculate hash - CDataStream ss(SER_GETHASH, 0); - uint64 nStakeModifier = 0; - int nStakeModifierHeight = 0; - int64 nStakeModifierTime = 0; +/** Presstab - HyperStake hashing +I redesigned the hashing iteration in a few ways. + +Code Reorginization - Instead of iterating the hashing in wallet.cpp, it is iterated in kernel.cpp inside of checkstakekernelhash, this allows +the iteration to not need to initialize the variables for every iteration. This is also true for the stake modifier, which was previously +calculated for each iteration. + +liteStake - Previously the staking process would continuosly rehash the same hashes over and over, needlessly taking up valuable CPU power. +I have added a std::map that tracks the block height and the last time the wallet hashed on this height. Depending on your staking settings, +the wallet will not begin a new round of hashing until after a certain amount of time has passed, or a new block is accepted. This time delay +can be found in main.cpp bitcoinminer(). This means that there will be 1-5 seconds of heavier CPU use once every few minutes, compared to +continued heavy CPU use. + +Staking Modes - This allows the user to decide how much time they want to hash into the future and past. HYP has a max time drift of 15 minutes. +The aggressive mode allows the user to hash 10 minutes into the future and 10 into the past. This will affect the chains timing a bit, and also +might make difficulty more volatile in the short run. In my opinion it is more dangerous to allow a creative coder to do these same accepted +practices without letting general users do the same. +**/ +uint256 stakeHash(unsigned int nTimeTx, unsigned int nTxPrevTime, CDataStream ss, unsigned int prevoutIndex, unsigned int nTxPrevOffset, unsigned int nTimeBlockFrom) +{ + ss << nTimeBlockFrom << nTxPrevOffset << nTxPrevTime << prevoutIndex << nTimeTx; + return Hash(ss.begin(), ss.end()); +} +//HyperStake test hash vs target +bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay) +{ + //get the stake weight + int64 nTimeWeight = min((int64)nAge, (int64)nStakeMaxAge) - nStakeMinAge; + CBigNum bnCoinDayWeight = CBigNum(nValueIn) * nTimeWeight / COIN / (24 * 60 * 60); + + // Now check if proof-of-stake hash meets target protocol + return (CBigNum(hashProofOfStake) < bnCoinDayWeight * bnTargetPerCoinDay); +} - if (!GetKernelStakeModifier(blockFrom.GetHash(), nStakeModifier, nStakeModifierHeight, nStakeModifierTime, fPrintProofOfStake)) +//instead of looping outside and reinitializing variables many times, we will give a nTimeTx and also search interval so that we can do all the hashing here +bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, + const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nHashDrift, bool fCheck, uint256& hashProofOfStake, bool fPrintProofOfStake) +{ + //assign new variables to make it easier to read + int64 nValueIn = txPrev.vout[prevout.n].nValue; + unsigned int nTxPrevTime = txPrev.nTime; + unsigned int nTimeBlockFrom = blockFrom.GetBlockTime(); + + if (nTimeTx < txPrev.nTime) // Transaction timestamp violation + return error("CheckStakeKernelHash() : nTime violation"); + + if (nTimeBlockFrom + nStakeMinAge > nTimeTx) // Min age requirement + return error("CheckStakeKernelHash() : min age violation"); + + //grab difficulty + CBigNum bnTargetPerCoinDay; + bnTargetPerCoinDay.SetCompact(nBits); + + //grab stake modifier - HyperStake improves hashing by only grabbing this once per utxo + uint64 nStakeModifier = 0; + int nStakeModifierHeight = 0; + int64 nStakeModifierTime = 0; + if (!GetKernelStakeModifier(blockFrom.GetHash(), nStakeModifier, nStakeModifierHeight, nStakeModifierTime, fPrintProofOfStake)) + return false; + + //create data stream once instead of repeating it in the loop + CDataStream ss(SER_GETHASH, 0); + ss << nStakeModifier; + + //if wallet is simply checking to make sure a hash is valid + if(fCheck) { - // printf(">>> CheckStakeKernelHash: GetKernelStakeModifier return false\n"); - return false; + hashProofOfStake = stakeHash(nTimeTx, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); + return stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay); } - // printf(">>> CheckStakeKernelHash: passed GetKernelStakeModifier\n"); - ss << nStakeModifier; - - ss << nTimeBlockFrom << nTxPrevOffset << txPrev.nTime << prevout.n << nTimeTx; - hashProofOfStake = Hash(ss.begin(), ss.end()); - if (fPrintProofOfStake) - { - printf("CheckStakeKernelHash() : using modifier 0x%016"PRI64x" at height=%d timestamp=%s for block from height=%d timestamp=%s\n", - nStakeModifier, nStakeModifierHeight, - DateTimeStrFormat(nStakeModifierTime).c_str(), - mapBlockIndex[blockFrom.GetHash()]->nHeight, - DateTimeStrFormat(blockFrom.GetBlockTime()).c_str()); - printf("CheckStakeKernelHash() : check protocol=%s modifier=0x%016"PRI64x" nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", - "0.3", - nStakeModifier, - nTimeBlockFrom, nTxPrevOffset, txPrev.nTime, prevout.n, nTimeTx, - hashProofOfStake.ToString().c_str()); - } - - // Now check if proof-of-stake hash meets target protocol - if (CBigNum(hashProofOfStake) > bnCoinDayWeight * bnTargetPerCoinDay) + + nHashDrift = min(nHashDrift, (unsigned int)(5*60)); // only allow 5 minutes of hashing in the future + nHashDrift *= 2; // double the value to hash equally into the past + bool fSuccess = false; + unsigned int nTryTime = 0; + unsigned int i; + for(i = 0; i < nHashDrift; i++) //iterate the hashing { - // printf(">>> bnCoinDayWeight = %s, bnTargetPerCoinDay=%s\n", - // bnCoinDayWeight.ToString().c_str(), bnTargetPerCoinDay.ToString().c_str()); - // printf(">>> CheckStakeKernelHash - hashProofOfStake too much\n"); - return false; + //hash this iteration + nTryTime = nTimeTx + (nHashDrift/2) - i; + hashProofOfStake = stakeHash(nTryTime, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); + + // if stake hash does not meet the target then continue to next iteration + if(!stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay)) + continue; + + fSuccess = true; // if we make it this far then we have successfully created a stake hash + nTimeTx = nTryTime; + + if (fDebug || fPrintProofOfStake) + { + printf("CheckStakeKernelHash() : using modifier 0x%016"PRI64x" at height=%d timestamp=%s for block from height=%d timestamp=%s\n", + nStakeModifier, nStakeModifierHeight, + DateTimeStrFormat(nStakeModifierTime).c_str(), + mapBlockIndex[blockFrom.GetHash()]->nHeight, + DateTimeStrFormat(blockFrom.GetBlockTime()).c_str()); + printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016"PRI64x" nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", + "0.3", + nStakeModifier, + nTimeBlockFrom, nTxPrevOffset, nTxPrevTime, prevout.n, nTryTime, + hashProofOfStake.ToString().c_str()); + } } - - - if (fDebug && !fPrintProofOfStake) - { - printf("CheckStakeKernelHash() : using modifier 0x%016"PRI64x" at height=%d timestamp=%s for block from height=%d timestamp=%s\n", - nStakeModifier, nStakeModifierHeight, - DateTimeStrFormat(nStakeModifierTime).c_str(), - mapBlockIndex[blockFrom.GetHash()]->nHeight, - DateTimeStrFormat(blockFrom.GetBlockTime()).c_str()); - printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016"PRI64x" nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", - "0.3", - nStakeModifier, - nTimeBlockFrom, nTxPrevOffset, txPrev.nTime, prevout.n, nTimeTx, - hashProofOfStake.ToString().c_str()); - } - return true; + mapHashedBlocks[nBestHeight] = GetTime(); //store a time stamp of when we last hashed on this block + return fSuccess; } // Check kernel hash target and coinstake signature @@ -418,9 +429,9 @@ bool CheckProofOfStake(const CTransaction& tx, unsigned int nBits, uint256& hash if (!block.ReadFromDisk(txindex.pos.nFile, txindex.pos.nBlockPos, false)) return fDebug? error("CheckProofOfStake() : read block failed") : false; // unable to read block of previous transaction - - - if (!CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, txPrev, txin.prevout, tx.nTime, hashProofOfStake, fDebug)) + unsigned int nInterval = 0; + unsigned int nTxTime = tx.nTime; + if (!CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, txPrev, txin.prevout, nTxTime, nInterval, true, hashProofOfStake, fDebug)) return tx.DoS(1, error("CheckProofOfStake() : INFO: check kernel failed on coinstake %s, hashProof=%s", tx.GetHash().ToString().c_str(), hashProofOfStake.ToString().c_str())); // may occur during initial download or if behind on block chain sync return true; diff --git a/src/kernel.h b/src/kernel.h index c8e71d245..7991934ba 100644 --- a/src/kernel.h +++ b/src/kernel.h @@ -21,7 +21,10 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif // Check whether stake kernel meets hash target // Sets hashProofOfStake on success return -bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, const COutPoint& prevout, unsigned int nTimeTx, uint256& hashProofOfStake, bool fPrintProofOfStake=false); +bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, + const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nInterval, bool fCheck, uint256& hashProofOfStake, bool fPrintProofOfStake=false); +uint256 stakeHash(unsigned int nTimeTx, unsigned int nTxPrevTime, CDataStream ss, unsigned int prevoutIndex, unsigned int nTxPrevOffset, unsigned int nTimeBlockFrom); +bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay); // Check kernel hash target and coinstake signature // Sets hashProofOfStake on success return diff --git a/src/main.cpp b/src/main.cpp index fd4e1ff46..a4c122789 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -69,6 +69,7 @@ map mapProofOfStake; map mapOrphanTransactions; map > mapOrphanTransactionsByPrev; +map mapHashedBlocks; // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; @@ -1909,7 +1910,10 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const if (!txPrev.ReadFromDisk(txdb, txin.prevout, txindex)) continue; // previous transaction not in main chain if (nTime < txPrev.nTime) + { + printf("GetCoinAge: Timestamp Violation: txtime less than txPrev.nTime"); return false; // Transaction timestamp violation + } // Read block header CBlock block; @@ -4434,6 +4438,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) { if (fShutdown) return; + while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked()) { @@ -4445,6 +4450,15 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) return; } + if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet + { + if(GetTime() - mapHashedBlocks[nBestHeight] < min((int)(pwallet->nHashDrift * 0.5), 180)) // wait half of the nHashDrift with max wait of 3 minutes + { + Sleep(2500); // 2.5 second sleep + continue; + } + } + // // Create new block // @@ -4473,7 +4487,6 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) CheckWork(pblock.get(), *pwalletMain, reservekey); SetThreadPriority(THREAD_PRIORITY_LOWEST); } - Sleep(500); continue; } diff --git a/src/main.h b/src/main.h index 059910443..cafcfbfa8 100644 --- a/src/main.h +++ b/src/main.h @@ -86,6 +86,7 @@ extern std::set setpwalletRegistered; extern unsigned char pchMessageStart[4]; extern std::map mapOrphanBlocks; extern bool fHaveGUI; +extern std::map mapHashedBlocks; // Settings extern int64 nTransactionFee; diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index a90d89809..cd21cf0d3 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -552,6 +552,8 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const return formatTxToAddress(rec, false); case Amount: return formatTxAmount(rec); + case Depth: + return QString::number(rec->status.depth); } break; case Qt::EditRole: @@ -568,6 +570,8 @@ QVariant TransactionTableModel::data(const QModelIndex &index, int role) const return formatTxToAddress(rec, true); case Amount: return rec->credit + rec->debit; + case Depth: + return rec->status.depth; } break; case Qt::ToolTipRole: diff --git a/src/qt/transactiontablemodel.h b/src/qt/transactiontablemodel.h index fd321ce28..43376f5ab 100644 --- a/src/qt/transactiontablemodel.h +++ b/src/qt/transactiontablemodel.h @@ -23,7 +23,8 @@ class TransactionTableModel : public QAbstractTableModel Date = 1, Type = 2, ToAddress = 3, - Amount = 4 + Amount = 4, + Depth = 5 }; /** Roles to get specific information from a transaction row. diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 6cbbc6f1e..c3875aeb4 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -178,7 +178,7 @@ void TransactionView::setModel(WalletModel *model) transactionView->setSelectionBehavior(QAbstractItemView::SelectRows); transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection); transactionView->setSortingEnabled(true); - transactionView->sortByColumn(TransactionTableModel::Date, Qt::DescendingOrder); + transactionView->sortByColumn(TransactionTableModel::Depth, Qt::DescendingOrder); transactionView->verticalHeader()->hide(); transactionView->horizontalHeader()->resizeSection( diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index beacc8e55..5e147a93d 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2591,3 +2591,29 @@ Value multisend(const Array ¶ms, bool fHelp) } return printMultiSend(); } + +// presstab HyperStake +Value stakemode(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "stakemode \n" + "MODES:\n" + "- aggressive - Hash 10 minutes into the future and 10 into the past for each block\n" + "- mild - Hash 5 minutes into the future and 5 into the past for each block \n" + "- light - Hash 3 minutes into the future and 3 into the past for each block \n" + + HelpRequiringPassphrase()); + string strMode = params[0].get_str(); + + Object ret; + if(strMode == "aggressive") + pwalletMain->nHashDrift = (unsigned int)(10*60); + else if (strMode == "mild") + pwalletMain->nHashDrift = (unsigned int)(5*60); + else if(strMode == "light") + pwalletMain->nHashDrift = (unsigned int)(3*60); + else + return "Mode not recognized"; + + return "HashDrift (in seconds): " + boost::lexical_cast(pwalletMain->nHashDrift); +} \ No newline at end of file diff --git a/src/wallet.cpp b/src/wallet.cpp index 481584165..ab09d80c3 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -460,24 +460,23 @@ bool CWallet::AddToWallet(const CWalletTx& wtxIn) if (fInsertedNew || fUpdated) if (!wtx.WriteToDisk()) return false; - - if (!fHaveGUI) { - // If default receiving address gets used, replace it with a new one - CScript scriptDefaultKey; - scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); - BOOST_FOREACH(const CTxOut& txout, wtx.vout) - { - if (txout.scriptPubKey == scriptDefaultKey) - { - CPubKey newDefaultKey; - if (GetKeyFromPool(newDefaultKey, false)) - { - SetDefaultKey(newDefaultKey); - SetAddressBookName(vchDefaultKey.GetID(), ""); - } - } - } - } + if(!fHaveGUI){ + // If default receiving address gets used, replace it with a new one + CScript scriptDefaultKey; + scriptDefaultKey.SetDestination(vchDefaultKey.GetID()); + BOOST_FOREACH(const CTxOut& txout, wtx.vout) + { + if (txout.scriptPubKey == scriptDefaultKey) + { + CPubKey newDefaultKey; + if (GetKeyFromPool(newDefaultKey, false)) + { + SetDefaultKey(newDefaultKey); + SetAddressBookName(vchDefaultKey.GetID(), ""); + } + } + } + } // since AddToWallet is called directly for self-originating transactions, check for consumption of own coins WalletUpdateSpent(wtx); @@ -1683,11 +1682,9 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int if(pIndex0->pprev) nCombineThreshold = GetProofOfWorkReward(pIndex0->nHeight, MIN_TX_FEE, pIndex0->pprev->GetBlockHash()) / 3; - CBigNum bnTargetPerCoinDay; - bnTargetPerCoinDay.SetCompact(nBits); - txNew.vin.clear(); txNew.vout.clear(); + // Mark coin stake transaction CScript scriptEmpty; scriptEmpty.clear(); @@ -1729,86 +1726,69 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int continue; } - static int nMaxStakeSearchInterval = 60; - - // printf(">> block.GetBlockTime() = %"PRI64d", nStakeMinAge = %d, txNew.nTime = %d\n", block.GetBlockTime(), nStakeMinAge,txNew.nTime); - if (block.GetBlockTime() + nStakeMinAgeV2 > txNew.nTime - nMaxStakeSearchInterval) - continue; // only count coins meeting min age requirement - bool fKernelFound = false; - for (unsigned int n=0; n> In.....\n"); - // Search backward in time from the given txNew timestamp - // Search nSearchInterval seconds back up to nMaxStakeSearchInterval - uint256 hashProofOfStake = 0; - COutPoint prevoutStake = COutPoint(pcoin.first->GetHash(), pcoin.second); - if (CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, *pcoin.first, prevoutStake, txNew.nTime - n, hashProofOfStake)) - { - // Found a kernel - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : kernel found\n"); - vector vSolutions; - txnouttype whichType; - CScript scriptPubKeyOut; - scriptPubKeyKernel = pcoin.first->vout[pcoin.second].scriptPubKey; - if (!Solver(scriptPubKeyKernel, whichType, vSolutions)) - { - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : failed to parse kernel\n"); - break; - } - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : parsed kernel type=%d\n", whichType); - if (whichType != TX_PUBKEY && whichType != TX_PUBKEYHASH) - { - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : no support for kernel type=%d\n", whichType); - break; // only support pay to public key and pay to address - } - if (whichType == TX_PUBKEYHASH) // pay to address type + uint256 hashProofOfStake = 0; + COutPoint prevoutStake = COutPoint(pcoin.first->GetHash(), pcoin.second); + unsigned int txNewTime = txNew.nTime; + + //HyperStake now iterates each utxo inside of CheckStakeKernelHash() + if (CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, *pcoin.first, prevoutStake, txNewTime, nHashDrift, false, hashProofOfStake)) + { + // Found a kernel + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : kernel found\n"); + vector vSolutions; + txnouttype whichType; + CScript scriptPubKeyOut; + scriptPubKeyKernel = pcoin.first->vout[pcoin.second].scriptPubKey; + if (!Solver(scriptPubKeyKernel, whichType, vSolutions)) + { + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : failed to parse kernel\n"); + break; + } + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : parsed kernel type=%d\n", whichType); + if (whichType != TX_PUBKEY && whichType != TX_PUBKEYHASH) + { + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : no support for kernel type=%d\n", whichType); + break; // only support pay to public key and pay to address + } + if (whichType == TX_PUBKEYHASH) // pay to address type + { + // convert to pay to public key type + CKey key; + if (!keystore.GetKey(uint160(vSolutions[0]), key)) { - // convert to pay to public key type - CKey key; - if (!keystore.GetKey(uint160(vSolutions[0]), key)) - { - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : failed to get key for kernel type=%d\n", whichType); - break; // unable to find corresponding public key - } - scriptPubKeyOut << key.GetPubKey() << OP_CHECKSIG; - } - else - scriptPubKeyOut = scriptPubKeyKernel; - - txNew.nTime -= n; - txNew.vin.push_back(CTxIn(pcoin.first->GetHash(), pcoin.second)); - nCredit += pcoin.first->vout[pcoin.second].nValue; - - // printf(">> Wallet: CreateCoinStake: nCredit = %"PRI64d"\n", nCredit); - - vwtxPrev.push_back(pcoin.first); - txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); - + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : failed to get key for kernel type=%d\n", whichType); + break; // unable to find corresponding public key + } + scriptPubKeyOut << key.GetPubKey() << OP_CHECKSIG; + } + else + scriptPubKeyOut = scriptPubKeyKernel; + + txNew.nTime = txNewTime; + txNew.vin.push_back(CTxIn(pcoin.first->GetHash(), pcoin.second)); + nCredit += pcoin.first->vout[pcoin.second].nValue; + vwtxPrev.push_back(pcoin.first); + txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); + uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); - if (nTotalSize / 2 > nStakeSplitThreshold * COIN) - txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake - - if (fDebug && GetBoolArg("-printcoinstake")) - printf("CreateCoinStake : added kernel type=%d\n", whichType); - fKernelFound = true; - break; - } - } + if (nTotalSize / 2 > nStakeSplitThreshold * COIN) + txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake + if (fDebug && GetBoolArg("-printcoinstake")) + printf("CreateCoinStake : added kernel type=%d\n", whichType); + fKernelFound = true; + break; + } if (fKernelFound || fShutdown) break; // if kernel is found stop searching } if (nCredit == 0 || nCredit > nBalance - nReserveBalance) - { - // printf(">> Wallet: CreateCoinStake: nCredit = %"PRI64d", nBalance = %"PRI64d", nReserveBalance = %"PRI64d"\n", nCredit, nBalance, nReserveBalance); return false; - } BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { diff --git a/src/wallet.h b/src/wallet.h index d55cfaa23..4f49a3090 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -90,7 +90,6 @@ class CWallet : public CCryptoKeyStore bool fWalletUnlockMintOnly; //SplitBlock - uint64 nStakeSplitThreshold; bool fSplitBlock; //MultiSend @@ -101,6 +100,10 @@ class CWallet : public CCryptoKeyStore int nLastMultiSendHeight; std::vector vDisabledAddresses; + // Stake Settings + unsigned int nHashDrift; + uint64 nStakeSplitThreshold; + // DisableStake bool fDisableStake; std::string strDisableType; @@ -117,7 +120,6 @@ class CWallet : public CCryptoKeyStore pwalletdbEncryption = NULL; nOrderPosNext = 0; fWalletUnlockMintOnly = false; - nStakeSplitThreshold = 1000; fSplitBlock = false; //DisableStake @@ -127,6 +129,10 @@ class CWallet : public CCryptoKeyStore dUserNumber = 0; fStakeRequirement = false; + // Stake Settings + nHashDrift = 300; + nStakeSplitThreshold = 2000; + //MultiSend vMultiSend.clear(); fMultiSend = false; @@ -145,7 +151,6 @@ class CWallet : public CCryptoKeyStore pwalletdbEncryption = NULL; nOrderPosNext = 0; fWalletUnlockMintOnly = false; - nStakeSplitThreshold = 1000; fSplitBlock = false; //DisableStake @@ -155,6 +160,10 @@ class CWallet : public CCryptoKeyStore dUserNumber = 0; fStakeRequirement = false; + // Stake Settings + nHashDrift = 300; + nStakeSplitThreshold = 2000; + //MultiSend vMultiSend.clear(); fMultiSend = false; From 0be54e2f46bdbc226b5bf15049723324a2bbb28a Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 11 Feb 2015 13:27:08 -0700 Subject: [PATCH 287/555] more checkpoints --- src/checkpoints.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index d41961369..d9fef429a 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -29,6 +29,8 @@ namespace Checkpoints (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) + (199999, uint256("0x084b314dfee7db9d311a5db4dc4b8880df36eb7e9bb90ec98dd0bab5af2a7df2")) + (229999, uint256("0x0747353cbfd3f970ae6e27a60ebdc92a0f0a48392c0d303d8ea15797761463ba")) ; static MapCheckpoints mapCheckpointsTestnet = From 6c29b2cd4479a6afcf6f5a71cf8423a24663164f Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 11 Feb 2015 13:29:00 -0700 Subject: [PATCH 288/555] v1.0.9.3-BETA --- src/qt/res/bitcoin-qt.rc | 4 ++-- src/version.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qt/res/bitcoin-qt.rc b/src/qt/res/bitcoin-qt.rc index 4e62ca3cf..7b2bf4e77 100644 --- a/src/qt/res/bitcoin-qt.rc +++ b/src/qt/res/bitcoin-qt.rc @@ -16,13 +16,13 @@ BEGIN BEGIN VALUE "CompanyName", "HyperStake" VALUE "FileDescription", "HyperStake-Qt (OSS GUI client for HyperStake)" - VALUE "FileVersion", "1.0.9.2" + VALUE "FileVersion", "1.0.9.3-BETA" VALUE "InternalName", "HyperStake-qt" VALUE "LegalCopyright", "2009-2012 The Bitcoin developers, 2012-2013 The HyperStake & PPCoin developers" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "HyperStake-qt.exe" VALUE "ProductName", "HyperStake-Qt" - VALUE "ProductVersion", "1.0.9.2" + VALUE "ProductVersion", "1.0.9.3-BETA" END END diff --git a/src/version.h b/src/version.h index d057d1c41..c51450f41 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 0 #define DISPLAY_VERSION_REVISION 9 -#define DISPLAY_VERSION_BUILD 2 +#define DISPLAY_VERSION_BUILD 3 #endif From fb5d745f32dc97cb07d1db405492e8261ef7fbf2 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 11 Feb 2015 13:40:31 -0700 Subject: [PATCH 289/555] version.cpp update --- src/version.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.cpp b/src/version.cpp index ea03009ea..8b4914318 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.2" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.3-BETA" // The following part of the code determines the CLIENT_BUILD variable. From c71b7a335cac48c4535d3ef805860d29297f8637 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 11 Feb 2015 15:02:28 -0700 Subject: [PATCH 290/555] Sort Transactions by Date --- src/qt/transactionview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index c3875aeb4..6cbbc6f1e 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -178,7 +178,7 @@ void TransactionView::setModel(WalletModel *model) transactionView->setSelectionBehavior(QAbstractItemView::SelectRows); transactionView->setSelectionMode(QAbstractItemView::ExtendedSelection); transactionView->setSortingEnabled(true); - transactionView->sortByColumn(TransactionTableModel::Depth, Qt::DescendingOrder); + transactionView->sortByColumn(TransactionTableModel::Date, Qt::DescendingOrder); transactionView->verticalHeader()->hide(); transactionView->horizontalHeader()->resizeSection( From be434ee4d37d3f8f54820d7cd8c2c1215515d757 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 12 Feb 2015 09:34:51 -0700 Subject: [PATCH 291/555] modification to nHashDrift calcs --- src/kernel.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 3193d5836..991bcc9cb 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -367,15 +367,14 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned return stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay); } - nHashDrift = min(nHashDrift, (unsigned int)(5*60)); // only allow 5 minutes of hashing in the future - nHashDrift *= 2; // double the value to hash equally into the past + nHashDrift = min(nHashDrift, (unsigned int)(10*60)); // only allow 10 minutes of hashing in the future bool fSuccess = false; unsigned int nTryTime = 0; unsigned int i; - for(i = 0; i < nHashDrift; i++) //iterate the hashing + for(i = 0; i < (nHashDrift*2); i++) //iterate the hashing { //hash this iteration - nTryTime = nTimeTx + (nHashDrift/2) - i; + nTryTime = nTimeTx - nHashDrift + i; hashProofOfStake = stakeHash(nTryTime, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); // if stake hash does not meet the target then continue to next iteration From 342ba8db389a7499e065c3760ffe30ef4242180e Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Thu, 12 Feb 2015 19:05:42 +0100 Subject: [PATCH 292/555] Make notifications work for mac osx by porting bitcoin notificationhandler code --- .gitignore | 2 + src/Makefile.qt.include | 5 +- src/qt/bitcoingui.cpp | 2 +- src/qt/macdockiconhandler.h | 13 +++-- src/qt/macdockiconhandler.mm | 50 ++++++++++++++---- src/qt/macnotificationhandler.h | 30 +++++++++++ src/qt/macnotificationhandler.mm | 91 ++++++++++++++++++++++++++++++++ src/qt/notificator.cpp | 76 +++++++++++++++++--------- src/qt/notificator.h | 39 +++++++++----- 9 files changed, 252 insertions(+), 56 deletions(-) create mode 100644 src/qt/macnotificationhandler.h create mode 100644 src/qt/macnotificationhandler.mm diff --git a/.gitignore b/.gitignore index f19dbd97e..6d8c8819f 100644 --- a/.gitignore +++ b/.gitignore @@ -128,3 +128,5 @@ src/qt/test/.deps src/qt/forms/ui_blockbrowser.h src/qt/forms/ui_calcdialog.h src/qt/forms/ui_charitydialog.h +moc_macnotificationhandler.cpp +hyperstake/hyperstake.xcodeproj diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 8dfd44751..2245991f8 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -43,6 +43,7 @@ QT_MOC_CPP = \ qt/moc_editaddressdialog.cpp \ qt/moc_guiutil.cpp \ qt/moc_macdockiconhandler.cpp \ + qt/moc_macnotificationhandler.cpp \ qt/moc_monitoreddatamapper.cpp \ qt/moc_notificator.cpp \ qt/moc_optionsdialog.cpp \ @@ -64,7 +65,8 @@ QT_MOC_CPP = \ qt/moc_walletmodel.cpp BITCOIN_MM = \ - qt/macdockiconhandler.mm + qt/macdockiconhandler.mm \ + qt/macnotificationhandler.mm QT_MOC = \ qt/bitcoin.moc \ @@ -95,6 +97,7 @@ BITCOIN_QT_H = \ qt/guiconstants.h \ qt/guiutil.h \ qt/macdockiconhandler.h \ + qt/macnotificationhandler.h \ qt/monitoreddatamapper.h \ qt/notificator.h \ qt/optionsdialog.h \ diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 2cc7509ab..8858cfbe6 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -570,7 +570,7 @@ void BitcoinGUI::createTrayIcon() trayIconMenu->addAction(quitAction); #endif - notificator = new Notificator(qApp->applicationName(), trayIcon); + notificator = new Notificator(qApp->applicationName(), trayIcon, this); } #ifndef Q_OS_MAC diff --git a/src/qt/macdockiconhandler.h b/src/qt/macdockiconhandler.h index 2092fb26b..89baa725d 100644 --- a/src/qt/macdockiconhandler.h +++ b/src/qt/macdockiconhandler.h @@ -1,11 +1,14 @@ #ifndef MACDOCKICONHANDLER_H #define MACDOCKICONHANDLER_H -#include +#include +#include -class QMenu; +QT_BEGIN_NAMESPACE class QIcon; +class QMenu; class QWidget; +QT_END_NAMESPACE #ifdef __OBJC__ @class DockIconClickEventHandler; @@ -18,12 +21,13 @@ class DockIconClickEventHandler; class MacDockIconHandler : public QObject { Q_OBJECT + public: ~MacDockIconHandler(); QMenu *dockMenu(); void setIcon(const QIcon &icon); - + void setMainWindow(QMainWindow *window); static MacDockIconHandler *instance(); void handleDockIconClickEvent(); @@ -31,14 +35,13 @@ class MacDockIconHandler : public QObject signals: void dockIconClicked(); -public slots: - private: MacDockIconHandler(); DockIconClickEventHandler *m_dockIconClickEventHandler; QWidget *m_dummyWidget; QMenu *m_dockMenu; + QMainWindow *mainWindow; }; #endif // MACDOCKICONCLICKHANDLER_H diff --git a/src/qt/macdockiconhandler.mm b/src/qt/macdockiconhandler.mm index 75684403e..865c60e3d 100644 --- a/src/qt/macdockiconhandler.mm +++ b/src/qt/macdockiconhandler.mm @@ -1,14 +1,17 @@ - #include "macdockiconhandler.h" +#include #include +#include #include -extern void qt_mac_set_dock_menu(QMenu*); - #undef slots #include +#if QT_VERSION < 0x050000 +extern void qt_mac_set_dock_menu(QMenu *); +#endif + @interface DockIconClickEventHandler : NSObject { MacDockIconHandler* dockIconHandler; @@ -38,8 +41,9 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp Q_UNUSED(event) Q_UNUSED(replyEvent) - if (dockIconHandler) + if (dockIconHandler) { dockIconHandler->handleDockIconClickEvent(); + } } @end @@ -47,18 +51,26 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp MacDockIconHandler::MacDockIconHandler() : QObject() { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - this->m_dockIconClickEventHandler = [[DockIconClickEventHandler alloc] initWithDockIconHandler:this]; + this->m_dockIconClickEventHandler = [[DockIconClickEventHandler alloc] initWithDockIconHandler:this]; this->m_dummyWidget = new QWidget(); this->m_dockMenu = new QMenu(this->m_dummyWidget); + this->setMainWindow(NULL); +#if QT_VERSION < 0x050000 qt_mac_set_dock_menu(this->m_dockMenu); +#endif [pool release]; } +void MacDockIconHandler::setMainWindow(QMainWindow *window) { + this->mainWindow = window; +} + MacDockIconHandler::~MacDockIconHandler() { [this->m_dockIconClickEventHandler release]; delete this->m_dummyWidget; + this->setMainWindow(NULL); } QMenu *MacDockIconHandler::dockMenu() @@ -69,15 +81,29 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp void MacDockIconHandler::setIcon(const QIcon &icon) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; - NSImage *image; + NSImage *image = nil; if (icon.isNull()) image = [[NSImage imageNamed:@"NSApplicationIcon"] retain]; else { + // generate NSImage from QIcon and use this as dock icon. QSize size = icon.actualSize(QSize(128, 128)); QPixmap pixmap = icon.pixmap(size); - CGImageRef cgImage = pixmap.toMacCGImageRef(); - image = [[NSImage alloc] initWithCGImage:cgImage size:NSZeroSize]; - CFRelease(cgImage); + + // Write image into a R/W buffer from raw pixmap, then save the image. + QBuffer notificationBuffer; + if (!pixmap.isNull() && notificationBuffer.open(QIODevice::ReadWrite)) { + QImageWriter writer(¬ificationBuffer, "PNG"); + if (writer.write(pixmap.toImage())) { + NSData* macImgData = [NSData dataWithBytes:notificationBuffer.buffer().data() + length:notificationBuffer.buffer().size()]; + image = [[NSImage alloc] initWithData:macImgData]; + } + } + + if(!image) { + // if testnet image could not be created, load std. app icon + image = [[NSImage imageNamed:@"NSApplicationIcon"] retain]; + } } [NSApp setApplicationIconImage:image]; @@ -95,5 +121,11 @@ - (void)handleDockClickEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAp void MacDockIconHandler::handleDockIconClickEvent() { + if (this->mainWindow) + { + this->mainWindow->activateWindow(); + this->mainWindow->show(); + } + emit this->dockIconClicked(); } diff --git a/src/qt/macnotificationhandler.h b/src/qt/macnotificationhandler.h new file mode 100644 index 000000000..bd66b96b2 --- /dev/null +++ b/src/qt/macnotificationhandler.h @@ -0,0 +1,30 @@ +// Copyright (c) 2011-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_QT_MACNOTIFICATIONHANDLER_H +#define BITCOIN_QT_MACNOTIFICATIONHANDLER_H + +#include + +/** Macintosh-specific notification handler (supports UserNotificationCenter and Growl). + */ +class MacNotificationHandler : public QObject +{ + Q_OBJECT + +public: + /** shows a 10.8+ UserNotification in the UserNotificationCenter + */ + void showNotification(const QString &title, const QString &text); + + /** executes AppleScript */ + void sendAppleScript(const QString &script); + + /** check if OS can handle UserNotifications */ + bool hasUserNotificationCenterSupport(void); + static MacNotificationHandler *instance(); +}; + + +#endif // BITCOIN_QT_MACNOTIFICATIONHANDLER_H diff --git a/src/qt/macnotificationhandler.mm b/src/qt/macnotificationhandler.mm new file mode 100644 index 000000000..6729a48fd --- /dev/null +++ b/src/qt/macnotificationhandler.mm @@ -0,0 +1,91 @@ +// Copyright (c) 2011-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "macnotificationhandler.h" + +#undef slots +#import +#include + +// Add an obj-c category (extension) to return the expected bundle identifier +@implementation NSBundle(returnCorrectIdentifier) +- (NSString *)__bundleIdentifier +{ + if (self == [NSBundle mainBundle]) { + return @"org.hyperstake.HyperStake-Qt"; + } else { + return [self __bundleIdentifier]; + } +} +@end + +void MacNotificationHandler::showNotification(const QString &title, const QString &text) +{ + // check if users OS has support for NSUserNotification + if(this->hasUserNotificationCenterSupport()) { + // okay, seems like 10.8+ + QByteArray utf8 = title.toUtf8(); + char* cString = (char *)utf8.constData(); + NSString *titleMac = [[NSString alloc] initWithUTF8String:cString]; + + utf8 = text.toUtf8(); + cString = (char *)utf8.constData(); + NSString *textMac = [[NSString alloc] initWithUTF8String:cString]; + + // do everything weak linked (because we will keep <10.8 compatibility) + id userNotification = [[NSClassFromString(@"NSUserNotification") alloc] init]; + [userNotification performSelector:@selector(setTitle:) withObject:titleMac]; + [userNotification performSelector:@selector(setInformativeText:) withObject:textMac]; + + id notificationCenterInstance = [NSClassFromString(@"NSUserNotificationCenter") performSelector:@selector(defaultUserNotificationCenter)]; + [notificationCenterInstance performSelector:@selector(deliverNotification:) withObject:userNotification]; + + [titleMac release]; + [textMac release]; + [userNotification release]; + } +} + +// sendAppleScript just take a QString and executes it as apple script +void MacNotificationHandler::sendAppleScript(const QString &script) +{ + QByteArray utf8 = script.toUtf8(); + char* cString = (char *)utf8.constData(); + NSString *scriptApple = [[NSString alloc] initWithUTF8String:cString]; + + NSAppleScript *as = [[NSAppleScript alloc] initWithSource:scriptApple]; + NSDictionary *err = nil; + [as executeAndReturnError:&err]; + [as release]; + [scriptApple release]; +} + +bool MacNotificationHandler::hasUserNotificationCenterSupport(void) +{ + Class possibleClass = NSClassFromString(@"NSUserNotificationCenter"); + + // check if users OS has support for NSUserNotification + if(possibleClass!=nil) { + return true; + } + return false; +} + + +MacNotificationHandler *MacNotificationHandler::instance() +{ + static MacNotificationHandler *s_instance = NULL; + if (!s_instance) { + s_instance = new MacNotificationHandler(); + + Class aPossibleClass = objc_getClass("NSBundle"); + if (aPossibleClass) { + // change NSBundle -bundleIdentifier method to return a correct bundle identifier + // a bundle identifier is required to use OSXs User Notification Center + method_exchangeImplementations(class_getInstanceMethod(aPossibleClass, @selector(bundleIdentifier)), + class_getInstanceMethod(aPossibleClass, @selector(__bundleIdentifier))); + } + } + return s_instance; +} diff --git a/src/qt/notificator.cpp b/src/qt/notificator.cpp index 8028190b8..5a564248e 100644 --- a/src/qt/notificator.cpp +++ b/src/qt/notificator.cpp @@ -1,30 +1,39 @@ +// Copyright (c) 2011-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + #include "notificator.h" -#include -#include -#include #include -#include #include -#include +#include +#include #include +#include +#include +#include #include -#include - +#include #ifdef USE_DBUS -#include #include +#include #endif - +// Include ApplicationServices.h after QtDbus to avoid redefinition of check(). +// This affects at least OSX 10.6. See /usr/include/AssertMacros.h for details. +// Note: This could also be worked around using: +// #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 #ifdef Q_OS_MAC #include -extern bool qt_mac_execute_apple_script(const QString &script, AEDesc *ret); +#include "macnotificationhandler.h" #endif + +#ifdef USE_DBUS // https://wiki.ubuntu.com/NotificationDevelopmentGuidelines recommends at least 128 const int FREEDESKTOP_NOTIFICATION_ICON_SIZE = 128; +#endif -Notificator::Notificator(const QString &programName, QSystemTrayIcon *trayicon, QWidget *parent): +Notificator::Notificator(const QString &programName, QSystemTrayIcon *trayicon, QWidget *parent) : QObject(parent), parent(parent), programName(programName), @@ -40,26 +49,32 @@ Notificator::Notificator(const QString &programName, QSystemTrayIcon *trayicon, } #ifdef USE_DBUS interface = new QDBusInterface("org.freedesktop.Notifications", - "/org/freedesktop/Notifications", "org.freedesktop.Notifications"); + "/org/freedesktop/Notifications", "org.freedesktop.Notifications"); if(interface->isValid()) { mode = Freedesktop; } #endif #ifdef Q_OS_MAC - // Check if Growl is installed (based on Qt's tray icon implementation) - CFURLRef cfurl; - OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator, CFSTR("growlTicket"), kLSRolesAll, 0, &cfurl); - if (status != kLSApplicationNotFoundErr) { - CFBundleRef bundle = CFBundleCreate(0, cfurl); - if (CFStringCompare(CFBundleGetIdentifier(bundle), CFSTR("com.Growl.GrowlHelperApp"), kCFCompareCaseInsensitive | kCFCompareBackwards) == kCFCompareEqualTo) { - if (CFStringHasSuffix(CFURLGetString(cfurl), CFSTR("/Growl.app/"))) - mode = Growl13; - else - mode = Growl12; + // check if users OS has support for NSUserNotification + if( MacNotificationHandler::instance()->hasUserNotificationCenterSupport()) { + mode = UserNotificationCenter; + } + else { + // Check if Growl is installed (based on Qt's tray icon implementation) + CFURLRef cfurl; + OSStatus status = LSGetApplicationForInfo(kLSUnknownType, kLSUnknownCreator, CFSTR("growlTicket"), kLSRolesAll, 0, &cfurl); + if (status != kLSApplicationNotFoundErr) { + CFBundleRef bundle = CFBundleCreate(0, cfurl); + if (CFStringCompare(CFBundleGetIdentifier(bundle), CFSTR("com.Growl.GrowlHelperApp"), kCFCompareCaseInsensitive | kCFCompareBackwards) == kCFCompareEqualTo) { + if (CFStringHasSuffix(CFURLGetString(cfurl), CFSTR("/Growl.app/"))) + mode = Growl13; + else + mode = Growl12; + } + CFRelease(cfurl); + CFRelease(bundle); } - CFRelease(cfurl); - CFRelease(bundle); } #endif } @@ -113,7 +128,7 @@ FreedesktopImage::FreedesktopImage(const QImage &img): { // Convert 00xAARRGGBB to RGBA bytewise (endian-independent) format QImage tmp = img.convertToFormat(QImage::Format_ARGB32); - const uint32_t *data = reinterpret_cast(tmp.constBits()); + const uint32_t *data = reinterpret_cast(tmp.bits()); unsigned int num_pixels = width * height; image.resize(num_pixels * BYTES_PER_PIXEL); @@ -269,8 +284,14 @@ void Notificator::notifyGrowl(Class cls, const QString &title, const QString &te quotedTitle.replace("\\", "\\\\").replace("\"", "\\"); quotedText.replace("\\", "\\\\").replace("\"", "\\"); QString growlApp(this->mode == Notificator::Growl13 ? "Growl" : "GrowlHelperApp"); - qt_mac_execute_apple_script(script.arg(notificationApp, quotedTitle, quotedText, notificationIcon, growlApp), 0); + MacNotificationHandler::instance()->sendAppleScript(script.arg(notificationApp, quotedTitle, quotedText, notificationIcon, growlApp)); +} + +void Notificator::notifyMacUserNotificationCenter(Class cls, const QString &title, const QString &text, const QIcon &icon) { + // icon is not supported by the user notification center yet. OSX will use the app icon. + MacNotificationHandler::instance()->showNotification(title, text); } + #endif void Notificator::notify(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout) @@ -286,6 +307,9 @@ void Notificator::notify(Class cls, const QString &title, const QString &text, c notifySystray(cls, title, text, icon, millisTimeout); break; #ifdef Q_OS_MAC + case UserNotificationCenter: + notifyMacUserNotificationCenter(cls, title, text, icon); + break; case Growl12: case Growl13: notifyGrowl(cls, title, text, icon); diff --git a/src/qt/notificator.h b/src/qt/notificator.h index abb47109b..789d9b7e6 100644 --- a/src/qt/notificator.h +++ b/src/qt/notificator.h @@ -1,11 +1,20 @@ -#ifndef NOTIFICATOR_H -#define NOTIFICATOR_H +// Copyright (c) 2011-2013 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_QT_NOTIFICATOR_H +#define BITCOIN_QT_NOTIFICATOR_H + +#if defined(HAVE_CONFIG_H) +#include "bitcoin-config.h" +#endif -#include #include +#include QT_BEGIN_NAMESPACE class QSystemTrayIcon; + #ifdef USE_DBUS class QDBusInterface; #endif @@ -15,23 +24,23 @@ QT_END_NAMESPACE class Notificator: public QObject { Q_OBJECT + public: /** Create a new notificator. @note Ownership of trayIcon is not transferred to this object. */ - Notificator(const QString &programName=QString(), QSystemTrayIcon *trayIcon=0, QWidget *parent=0); + Notificator(const QString &programName, QSystemTrayIcon *trayIcon, QWidget *parent); ~Notificator(); // Message class enum Class { - Information, /**< Informational message */ - Warning, /**< Notify user of potential problem */ - Critical /**< An error occurred */ + Information, /**< Informational message */ + Warning, /**< Notify user of potential problem */ + Critical /**< An error occurred */ }; public slots: - /** Show notification message. @param[in] cls general message class @param[in] title title shown with message @@ -46,11 +55,12 @@ public slots: private: QWidget *parent; enum Mode { - None, /**< Ignore informational notifications, and show a modal pop-up dialog for Critical notifications. */ - Freedesktop, /**< Use DBus org.freedesktop.Notifications */ - QSystemTray, /**< Use QSystemTray::showMessage */ - Growl12, /**< Use the Growl 1.2 notification system (Mac only) */ - Growl13 /**< Use the Growl 1.3 notification system (Mac only) */ + None, /**< Ignore informational notifications, and show a modal pop-up dialog for Critical notifications. */ + Freedesktop, /**< Use DBus org.freedesktop.Notifications */ + QSystemTray, /**< Use QSystemTray::showMessage */ + Growl12, /**< Use the Growl 1.2 notification system (Mac only) */ + Growl13, /**< Use the Growl 1.3 notification system (Mac only) */ + UserNotificationCenter /**< Use the 10.8+ User Notification Center (Mac only) */ }; QString programName; Mode mode; @@ -63,7 +73,8 @@ public slots: void notifySystray(Class cls, const QString &title, const QString &text, const QIcon &icon, int millisTimeout); #ifdef Q_OS_MAC void notifyGrowl(Class cls, const QString &title, const QString &text, const QIcon &icon); + void notifyMacUserNotificationCenter(Class cls, const QString &title, const QString &text, const QIcon &icon); #endif }; -#endif // NOTIFICATOR_H +#endif // BITCOIN_QT_NOTIFICATOR_H From e998e8e9aa3f9e6cae7d02b3028890818e3788b2 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 12 Feb 2015 20:01:09 -0700 Subject: [PATCH 293/555] v1.1 Fork Forking at 1423836000; // Fri, 13 Feb 2015 14:00:00 GMT to reign in timedrift to 60 seconds. --- src/kernel.cpp | 16 ++++------------ src/main.cpp | 13 ++++++------- src/main.h | 9 ++++++++- src/qt/res/bitcoin-qt.rc | 4 ++-- src/version.cpp | 2 +- src/version.h | 6 +++--- src/wallet.h | 4 ++-- 7 files changed, 26 insertions(+), 28 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 991bcc9cb..177e6cb66 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -297,21 +297,14 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier /** Presstab - HyperStake hashing I redesigned the hashing iteration in a few ways. - Code Reorginization - Instead of iterating the hashing in wallet.cpp, it is iterated in kernel.cpp inside of checkstakekernelhash, this allows the iteration to not need to initialize the variables for every iteration. This is also true for the stake modifier, which was previously calculated for each iteration. - liteStake - Previously the staking process would continuosly rehash the same hashes over and over, needlessly taking up valuable CPU power. I have added a std::map that tracks the block height and the last time the wallet hashed on this height. Depending on your staking settings, the wallet will not begin a new round of hashing until after a certain amount of time has passed, or a new block is accepted. This time delay -can be found in main.cpp bitcoinminer(). This means that there will be 1-5 seconds of heavier CPU use once every few minutes, compared to -continued heavy CPU use. - -Staking Modes - This allows the user to decide how much time they want to hash into the future and past. HYP has a max time drift of 15 minutes. -The aggressive mode allows the user to hash 10 minutes into the future and 10 into the past. This will affect the chains timing a bit, and also -might make difficulty more volatile in the short run. In my opinion it is more dangerous to allow a creative coder to do these same accepted -practices without letting general users do the same. +can be found in main.cpp bitcoinminer(). This means that there will be 1-5 seconds of hashing with the CPU once every few minutes, compared to +continued hashing with the CPU. **/ uint256 stakeHash(unsigned int nTimeTx, unsigned int nTxPrevTime, CDataStream ss, unsigned int prevoutIndex, unsigned int nTxPrevOffset, unsigned int nTimeBlockFrom) { @@ -367,14 +360,13 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned return stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay); } - nHashDrift = min(nHashDrift, (unsigned int)(10*60)); // only allow 10 minutes of hashing in the future bool fSuccess = false; unsigned int nTryTime = 0; unsigned int i; - for(i = 0; i < (nHashDrift*2); i++) //iterate the hashing + for(i = 0; i < (nHashDrift); i++) //iterate the hashing { //hash this iteration - nTryTime = nTimeTx - nHashDrift + i; + nTryTime = nTimeTx + nHashDrift - i; hashProofOfStake = stakeHash(nTryTime, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); // if stake hash does not meet the target then continue to next iteration diff --git a/src/main.cpp b/src/main.cpp index a4c122789..189ab4253 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -59,7 +59,6 @@ CBlockIndex* pindexBest = NULL; int64 nTimeBestReceived = 0; bool fHaveGUI = false; - CMedianFilter cPeerBlockCounts(5, 0); // Amount of blocks that other nodes claim to have map mapOrphanBlocks; @@ -2049,7 +2048,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const return DoS(50, error("CheckBlock() : proof of work failed")); // Check timestamp - if (GetBlockTime() > GetAdjustedTime() + nMaxClockDrift) + if (GetBlockTime() > GetAdjustedTime() + GetClockDrift(GetBlockTime())) return error("CheckBlock() : block timestamp too far in the future"); // First transaction must be coinbase, the rest must not be @@ -2069,7 +2068,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const return error("CheckBlock() : coinbase output not empty for proof-of-stake block"); // Check coinbase timestamp - if (GetBlockTime() > (int64)vtx[0].nTime + nMaxClockDrift) + if (GetBlockTime() > (int64)vtx[0].nTime + GetClockDrift(GetBlockTime())) return DoS(50, error("CheckBlock() : coinbase timestamp is too early")); // Check coinstake timestamp @@ -2140,7 +2139,7 @@ bool CBlock::AcceptBlock() return DoS(100, error("AcceptBlock() : incorrect %s", IsProofOfWork() ? "proof-of-work" : "proof-of-stake")); // Check timestamp against prev - if (GetBlockTime() <= pindexPrev->GetMedianTimePast() || GetBlockTime() + nMaxClockDrift < pindexPrev->GetBlockTime()) + if (GetBlockTime() <= pindexPrev->GetMedianTimePast() || GetBlockTime() + GetClockDrift(GetBlockTime()) < pindexPrev->GetBlockTime()) return error("AcceptBlock() : block's timestamp is too early"); // Check that all transactions are finalized @@ -4086,7 +4085,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) // printf(">>> OK1\n"); if (pwallet->CreateCoinStake(*pwallet, pblock->nBits, nSearchTime-nLastCoinStakeSearchTime, txCoinStake)) { - if (txCoinStake.nTime >= max(pindexPrev->GetMedianTimePast()+1, pindexPrev->GetBlockTime() - nMaxClockDrift)) + if (txCoinStake.nTime >= max(pindexPrev->GetMedianTimePast()+1, pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime()))) { // make sure coinstake would meet timestamp protocol // as it would be the same as the block timestamp pblock->vtx[0].vout[0].SetEmpty(); @@ -4301,7 +4300,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) if (pblock->IsProofOfStake()) pblock->nTime = pblock->vtx[1].nTime; //same as coinstake timestamp pblock->nTime = max(pindexPrev->GetMedianTimePast()+1, pblock->GetMaxTransactionTime()); - pblock->nTime = max(pblock->GetBlockTime(), pindexPrev->GetBlockTime() - nMaxClockDrift); + pblock->nTime = max(pblock->GetBlockTime(), pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime())); if (pblock->IsProofOfWork()) pblock->UpdateTime(pindexPrev); pblock->nNonce = 0; @@ -4642,4 +4641,4 @@ void GenerateBitcoins(bool fGenerate, CWallet* pwallet) Sleep(10); } } -} +} \ No newline at end of file diff --git a/src/main.h b/src/main.h index cafcfbfa8..4fc07b43c 100644 --- a/src/main.h +++ b/src/main.h @@ -41,6 +41,7 @@ static const int64 MAX_MONEY2 = 60000000 * COIN; // 60 mil static const int64 MAX_MINT_PROOF_OF_STAKE = 2.00 * COIN; // 200% annual interest static const int64 MAX_MINT_PROOF_OF_STAKEV2 = 7.50 * COIN; // 750% annual interest static const unsigned int FORK_TIME = 1404678625; // Sun, 06 Jul 2014 20:30:25 GMT +static const unsigned int FORK_TIME2 = 1423836000; // Fri, 13 Feb 2015 14:00:00 GMT static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } @@ -56,7 +57,13 @@ static const int fHaveUPnP = false; static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23f130958038c18a462577d002680dab4fc"); static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); -static const int64 nMaxClockDrift = 15 * 60; // fifteen minutes +inline int64 GetClockDrift(int64 nTime) +{ + if(nTime < FORK_TIME2) + return 15 * 60; + else + return 60; +} static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() extern CScript COINBASE_FLAGS; diff --git a/src/qt/res/bitcoin-qt.rc b/src/qt/res/bitcoin-qt.rc index 7b2bf4e77..96c590179 100644 --- a/src/qt/res/bitcoin-qt.rc +++ b/src/qt/res/bitcoin-qt.rc @@ -16,13 +16,13 @@ BEGIN BEGIN VALUE "CompanyName", "HyperStake" VALUE "FileDescription", "HyperStake-Qt (OSS GUI client for HyperStake)" - VALUE "FileVersion", "1.0.9.3-BETA" + VALUE "FileVersion", "1.1" VALUE "InternalName", "HyperStake-qt" VALUE "LegalCopyright", "2009-2012 The Bitcoin developers, 2012-2013 The HyperStake & PPCoin developers" VALUE "LegalTrademarks1", "Distributed under the MIT/X11 software license, see the accompanying file COPYING or http://www.opensource.org/licenses/mit-license.php." VALUE "OriginalFilename", "HyperStake-qt.exe" VALUE "ProductName", "HyperStake-Qt" - VALUE "ProductVersion", "1.0.9.3-BETA" + VALUE "ProductVersion", "1.1" END END diff --git a/src/version.cpp b/src/version.cpp index 8b4914318..8c57c4eaf 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -11,7 +11,7 @@ const std::string CLIENT_NAME("HyperStake"); // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.0.9.3-BETA" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index c51450f41..e20ca3f59 100644 --- a/src/version.h +++ b/src/version.h @@ -32,8 +32,8 @@ static const int BIP0031_VERSION = 60000; static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 -#define DISPLAY_VERSION_MINOR 0 -#define DISPLAY_VERSION_REVISION 9 -#define DISPLAY_VERSION_BUILD 3 +#define DISPLAY_VERSION_MINOR 1 +#define DISPLAY_VERSION_REVISION 0 +#define DISPLAY_VERSION_BUILD 0 #endif diff --git a/src/wallet.h b/src/wallet.h index 4f49a3090..f6ae0853c 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -130,7 +130,7 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; // Stake Settings - nHashDrift = 300; + nHashDrift = 60; nStakeSplitThreshold = 2000; //MultiSend @@ -161,7 +161,7 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; // Stake Settings - nHashDrift = 300; + nHashDrift = 60; nStakeSplitThreshold = 2000; //MultiSend From 9d555371eedaa5ea05dbf2b17861290dbc699b80 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Fri, 13 Feb 2015 08:31:09 +0100 Subject: [PATCH 294/555] Remove duplicate versionformat functions --- src/util.cpp | 31 ------------------------------- src/util.h | 2 -- 2 files changed, 33 deletions(-) diff --git a/src/util.cpp b/src/util.cpp index 67f1f9b9e..8386ce192 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1306,37 +1306,6 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) } - - - - - - -string FormatVersion(int nVersion) -{ - if (nVersion%100 == 0) - return strprintf("%d.%d.%d", nVersion/1000000, (nVersion/10000)%100, (nVersion/100)%100); - else - return strprintf("%d.%d.%d.%d", nVersion/1000000, (nVersion/10000)%100, (nVersion/100)%100, nVersion%100); -} - -string FormatFullVersion() -{ - return CLIENT_BUILD; -} - -// Format the subversion field according to BIP 14 spec (https://en.bitcoin.it/wiki/BIP_0014) -std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector& comments) -{ - std::ostringstream ss; - ss << "/"; - ss << name << ":" << FormatVersion(nClientVersion); - if (!comments.empty()) - ss << "(" << boost::algorithm::join(comments, "; ") << ")"; - ss << "/"; - return ss.str(); -} - #ifdef WIN32 boost::filesystem::path GetSpecialFolderPath(int nFolder, bool fCreate) { diff --git a/src/util.h b/src/util.h index db5bd9f92..381f1cf8d 100644 --- a/src/util.h +++ b/src/util.h @@ -228,8 +228,6 @@ int64 GetTime(); void SetMockTime(int64 nMockTimeIn); int64 GetAdjustedTime(); long hex2long(const char* hexString); -std::string FormatFullVersion(); -std::string FormatSubVersion(const std::string& name, int nClientVersion, const std::vector& comments); void AddTimeData(const CNetAddr& ip, int64 nTime); void runCommand(std::string strCommand); From be48e31ad2b87d0a7a643c14e637ac2bb80f4ca7 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Fri, 13 Feb 2015 08:34:07 +0100 Subject: [PATCH 295/555] Remove some files generated by the buildsystem from source control --- build-aux/m4/libtool.m4 | 7982 ----------------------------------- build-aux/m4/ltoptions.m4 | 384 -- build-aux/m4/ltsugar.m4 | 123 - build-aux/m4/ltversion.m4 | 23 - build-aux/m4/lt~obsolete.m4 | 98 - 5 files changed, 8610 deletions(-) delete mode 100644 build-aux/m4/libtool.m4 delete mode 100644 build-aux/m4/ltoptions.m4 delete mode 100644 build-aux/m4/ltsugar.m4 delete mode 100644 build-aux/m4/ltversion.m4 delete mode 100644 build-aux/m4/lt~obsolete.m4 diff --git a/build-aux/m4/libtool.m4 b/build-aux/m4/libtool.m4 deleted file mode 100644 index 4adcf73bd..000000000 --- a/build-aux/m4/libtool.m4 +++ /dev/null @@ -1,7982 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]][[,.]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/build-aux/m4/ltoptions.m4 b/build-aux/m4/ltoptions.m4 deleted file mode 100644 index 5d9acd8e2..000000000 --- a/build-aux/m4/ltoptions.m4 +++ /dev/null @@ -1,384 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/build-aux/m4/ltsugar.m4 b/build-aux/m4/ltsugar.m4 deleted file mode 100644 index 9000a057d..000000000 --- a/build-aux/m4/ltsugar.m4 +++ /dev/null @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/build-aux/m4/ltversion.m4 b/build-aux/m4/ltversion.m4 deleted file mode 100644 index 07a8602d4..000000000 --- a/build-aux/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/build-aux/m4/lt~obsolete.m4 b/build-aux/m4/lt~obsolete.m4 deleted file mode 100644 index c573da90c..000000000 --- a/build-aux/m4/lt~obsolete.m4 +++ /dev/null @@ -1,98 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) From 44b52228a42c52a13b739e986e2a8f03047f8e5c Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Fri, 13 Feb 2015 08:37:09 +0100 Subject: [PATCH 296/555] Add removed files to gitignore --- .gitignore | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.gitignore b/.gitignore index 6d8c8819f..1f4ac4c67 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,8 @@ src/qt/forms/ui_calcdialog.h src/qt/forms/ui_charitydialog.h moc_macnotificationhandler.cpp hyperstake/hyperstake.xcodeproj +build-aux/m4/libtool.m4 +build-aux/m4/ltoptions.m4 +build-aux/m4/ltsugar.m4 +build-aux/m4/ltversion.m4 +build-aux/m4/lt~obsolete.m4 From 21ea6c7792315dc359f28e633aafe4f45d1f448d Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Fri, 13 Feb 2015 08:49:09 +0100 Subject: [PATCH 297/555] HYP code is incompatible with hardening, for now disable it by default --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 17411a421..f064505bf 100644 --- a/configure.ac +++ b/configure.ac @@ -116,9 +116,9 @@ AC_ARG_WITH([qrencode], AC_ARG_ENABLE([hardening], [AS_HELP_STRING([--enable-hardening], - [attempt to harden the resulting executables (default is yes)])], + [attempt to harden the resulting executables (default is no)])], [use_hardening=$enableval], - [use_hardening=yes]) + [use_hardening=no]) AC_ARG_ENABLE([reduce-exports], [AS_HELP_STRING([--enable-reduce-exports], From 3f818328d1cac500419201ca2cf4a55dff5bf6dd Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 13 Feb 2015 15:35:59 -0700 Subject: [PATCH 298/555] checkpoint correct fork --- src/checkpoints.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index d9fef429a..6580251eb 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -30,7 +30,8 @@ namespace Checkpoints (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) (199999, uint256("0x084b314dfee7db9d311a5db4dc4b8880df36eb7e9bb90ec98dd0bab5af2a7df2")) - (229999, uint256("0x0747353cbfd3f970ae6e27a60ebdc92a0f0a48392c0d303d8ea15797761463ba")) + (235691, uint256("0xf0f71ea7edf7457e611ee893cdbb6ff19499713f4dae935d6d21e073d96a7dc3")) + (235999, uint256("0xafe60dd0ab56ef529db21ea648ea4fd8de758a11b6a8ac1fa5cd2d4959162106")) ; static MapCheckpoints mapCheckpointsTestnet = From 6a952baf0f4dbbfaedb905d7d9a57dc922a42668 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sat, 14 Feb 2015 20:56:47 +0100 Subject: [PATCH 299/555] Fix qt project --- HyperStake-qt.pro | 3 ++- src/version.cpp | 8 -------- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index af20d1fb8..22e41b61b 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -310,7 +310,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/echo.c \ src/qt/blockbrowser.cpp \ src/qt/charitydialog.cpp \ - src/simd.c + src/simd.c \ + src/clientversion.cpp RESOURCES += \ src/qt/bitcoin.qrc diff --git a/src/version.cpp b/src/version.cpp index 8c57c4eaf..940fc2e24 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -5,11 +5,6 @@ #include "version.h" -// Name of client reported in the 'version' message. Report the same name -// for both bitcoind and bitcoin-qt, to make it harder for attackers to -// target servers or GUI users specifically. -const std::string CLIENT_NAME("HyperStake"); - // Client version number #define CLIENT_VERSION_SUFFIX "HyperStake-1.1" @@ -61,6 +56,3 @@ const std::string CLIENT_NAME("HyperStake"); # define BUILD_DATE __DATE__ ", " __TIME__ # endif #endif - -const std::string CLIENT_BUILD(BUILD_DESC CLIENT_VERSION_SUFFIX); -const std::string CLIENT_DATE(BUILD_DATE); From 69b154fc7498677565c74f4d6423606b6e5ce53c Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 14 Feb 2015 17:38:27 -0700 Subject: [PATCH 300/555] Alert Key & Protocol # --- src/alert.cpp | 14 +++++++++++--- src/bitcoinrpc.cpp | 8 ++++++-- src/bitcoinrpc.h | 1 - src/rpcnet.cpp | 10 ++++++++-- src/rpcwallet.cpp | 26 -------------------------- src/version.h | 2 +- 6 files changed, 26 insertions(+), 35 deletions(-) diff --git a/src/alert.cpp b/src/alert.cpp index b70696302..afbfcbfd3 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -16,7 +16,7 @@ using namespace std; map mapAlerts; CCriticalSection cs_mapAlerts; -static const char* pszMainKey = ""; +static const char* pszMainKey = "02d5e843832a712d6cbb7701ff84e13faa91cd11ccd9fe7aa9397aff3ad11900b6"; // TestNet alerts pubKey static const char* pszTestKey = ""; @@ -173,9 +173,17 @@ CAlert CAlert::getAlertByHash(const uint256 &hash) bool CAlert::ProcessAlert() { if (!CheckSignature()) - return false; + { + printf("***ALERT CHECKSIGNATURE FAILED *** \n"); + return false; + } + if (!IsInEffect()) - return false; + { + printf("*** ALERT NOT IN EFFECT *** \n"); + return false; + } + // alert.nID=max is reserved for if the alert key is // compromised. It must have a pre-defined message, diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index d4b9856cb..4eca4b64e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -285,7 +285,6 @@ static const CRPCCommand vRPCCommands[] = { "getweight", &getweight, false, false }, { "getpotentialstake", &getpotentialstake, false, false }, { "getconfs", &getconfs, false, false }, - { "stakemode", &stakemode, false, false } }; CRPCTable::CRPCTable() @@ -1213,7 +1212,12 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); if (strMethod == "ccsend" && n > 1) ConvertTo(params[1]); - + if (strMethod == "sendalert" && n > 1) ConvertTo(params[2]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[3]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[4]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[5]); + if (strMethod == "sendalert" && n > 6) ConvertTo(params[6]); + return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 89c31b2fe..42d3ad775 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -207,7 +207,6 @@ extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value stakemode(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 0da677208..2159d8ece 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -243,8 +243,14 @@ Value sendalert(const Array& params, bool fHelp) sMsg << (CUnsignedAlert)alert; alert.vchMsg = vector(sMsg.begin(), sMsg.end()); - vector vchPrivKey = ParseHex(params[1].get_str()); - key.SetPrivKey(CPrivKey(vchPrivKey.begin(), vchPrivKey.end())); // if key is not correct openssl may crash + string strSecret = params[1].get_str(); + CBitcoinSecret vchSecret; + bool fGood = vchSecret.SetString(strSecret); + if (!fGood) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid private key"); + bool fCompressed; + CSecret secret = vchSecret.GetSecret(fCompressed); + key.SetSecret(secret, fCompressed); + if (!key.Sign(Hash(alert.vchMsg.begin(), alert.vchMsg.end()), alert.vchSig)) throw runtime_error( "Unable to sign alert, check private key?\n"); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 5e147a93d..29751cf88 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2590,30 +2590,4 @@ Value multisend(const Array ¶ms, bool fHelp) } } return printMultiSend(); -} - -// presstab HyperStake -Value stakemode(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 1) - throw runtime_error( - "stakemode \n" - "MODES:\n" - "- aggressive - Hash 10 minutes into the future and 10 into the past for each block\n" - "- mild - Hash 5 minutes into the future and 5 into the past for each block \n" - "- light - Hash 3 minutes into the future and 3 into the past for each block \n" - + HelpRequiringPassphrase()); - string strMode = params[0].get_str(); - - Object ret; - if(strMode == "aggressive") - pwalletMain->nHashDrift = (unsigned int)(10*60); - else if (strMode == "mild") - pwalletMain->nHashDrift = (unsigned int)(5*60); - else if(strMode == "light") - pwalletMain->nHashDrift = (unsigned int)(3*60); - else - return "Mode not recognized"; - - return "HashDrift (in seconds): " + boost::lexical_cast(pwalletMain->nHashDrift); } \ No newline at end of file diff --git a/src/version.h b/src/version.h index e20ca3f59..b200d7281 100644 --- a/src/version.h +++ b/src/version.h @@ -11,7 +11,7 @@ // network protocol versioning // -static const int PROTOCOL_VERSION = 72000; +static const int PROTOCOL_VERSION = 72001; static const int PROTOCOL_START = 71990; // earlier versions not supported as of Feb 2012, and are disconnected From f264bd8063692eebce33640b3a2da0d4ec77ce21 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 14 Feb 2015 19:45:12 -0700 Subject: [PATCH 301/555] Update Versioning --- src/alert.cpp | 1 + src/clientversion.cpp | 4 ++-- src/clientversion.h | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/alert.cpp b/src/alert.cpp index afbfcbfd3..875737e68 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -10,6 +10,7 @@ #include "net.h" #include "sync.h" #include "ui_interface.h" +#include "clientversion.h" using namespace std; diff --git a/src/clientversion.cpp b/src/clientversion.cpp index aae0569bb..aeffd4472 100644 --- a/src/clientversion.cpp +++ b/src/clientversion.cpp @@ -13,7 +13,7 @@ * for both bitcoind and bitcoin-core, to make it harder for attackers to * target servers or GUI users specifically. */ -const std::string CLIENT_NAME("Satoshi"); +const std::string CLIENT_NAME("HyperStake"); /** * Client version number @@ -55,7 +55,7 @@ const std::string CLIENT_NAME("Satoshi"); "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-g" commit #define BUILD_DESC_FROM_UNKNOWN(maj, min, rev, build) \ - "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) "-unk" + "v" DO_STRINGIZE(maj) "." DO_STRINGIZE(min) "." DO_STRINGIZE(rev) "." DO_STRINGIZE(build) #ifndef BUILD_DESC #ifdef BUILD_SUFFIX diff --git a/src/clientversion.h b/src/clientversion.h index 9e663b64e..586e8b434 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -14,10 +14,10 @@ */ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it -#define CLIENT_VERSION_MAJOR 0 -#define CLIENT_VERSION_MINOR 8 -#define CLIENT_VERSION_REVISION 2 -#define CLIENT_VERSION_BUILD 2 +#define CLIENT_VERSION_MAJOR 1 +#define CLIENT_VERSION_MINOR 1 +#define CLIENT_VERSION_REVISION 0 +#define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true From a66c7d58f5c2b3024b3e26875dbe62b4cfde8965 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Sun, 15 Feb 2015 16:46:28 +0100 Subject: [PATCH 302/555] Replace qtipcserver with an early version of paymentserver. Provides osx compatibility and makes the build work without qmake. qtipcserver was not modified and configured for hyperstake correctly anyway. --- .gitignore | 1 + src/Makefile.qt.include | 6 +- src/qt/bitcoin.cpp | 33 ++++---- src/qt/paymentserver.cpp | 165 +++++++++++++++++++++++++++++++++++++++ src/qt/paymentserver.h | 74 ++++++++++++++++++ src/qt/qtipcserver.cpp | 162 -------------------------------------- src/qt/qtipcserver.h | 10 --- 7 files changed, 258 insertions(+), 193 deletions(-) create mode 100644 src/qt/paymentserver.cpp create mode 100644 src/qt/paymentserver.h delete mode 100644 src/qt/qtipcserver.cpp delete mode 100644 src/qt/qtipcserver.h diff --git a/.gitignore b/.gitignore index 1f4ac4c67..b3de91010 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,4 @@ build-aux/m4/ltoptions.m4 build-aux/m4/ltsugar.m4 build-aux/m4/ltversion.m4 build-aux/m4/lt~obsolete.m4 +moc_paymentserver.cpp diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 2245991f8..c874d9d59 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -49,8 +49,8 @@ QT_MOC_CPP = \ qt/moc_optionsdialog.cpp \ qt/moc_optionsmodel.cpp \ qt/moc_overviewpage.cpp \ + qt/moc_paymentserver.cpp \ qt/moc_qrcodedialog.cpp \ - qt/moc_qtipcserver.cpp \ qt/moc_qvalidatedlineedit.cpp \ qt/moc_qvaluecombobox.cpp \ qt/moc_rpcconsole.cpp \ @@ -103,8 +103,8 @@ BITCOIN_QT_H = \ qt/optionsdialog.h \ qt/optionsmodel.h \ qt/overviewpage.h \ + qt/paymentserver.h \ qt/qrcodedialog.h \ - qt/qtipcserver.h \ qt/qvalidatedlineedit.h \ qt/qvaluecombobox.h \ qt/rpcconsole.h \ @@ -176,7 +176,6 @@ BITCOIN_QT_CPP = \ qt/optionsdialog.cpp \ qt/optionsmodel.cpp \ qt/qrcodedialog.cpp \ - qt/qtipcserver.cpp \ qt/qvalidatedlineedit.cpp \ qt/qvaluecombobox.cpp \ qt/rpcconsole.cpp \ @@ -191,6 +190,7 @@ BITCOIN_QT_CPP += \ qt/coincontroltreewidget.cpp \ qt/editaddressdialog.cpp \ qt/overviewpage.cpp \ + qt/paymentserver.cpp \ qt/sendcoinsdialog.cpp \ qt/sendcoinsentry.cpp \ qt/signverifymessagedialog.cpp \ diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index dba178cec..ec451d308 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -10,7 +10,7 @@ #include "init.h" #include "ui_interface.h" -#include "qtipcserver.h" +#include "paymentserver.h" #include #include @@ -18,6 +18,7 @@ #include #endif #include +#include #include #include #include @@ -72,15 +73,6 @@ static bool ThreadSafeAskFee(int64 nFeeRequired, const std::string& strCaption) return payFee; } -static void ThreadSafeHandleURI(const std::string& strURI) -{ - if(!guiref) - return; - - QMetaObject::invokeMethod(guiref, "handleURI", GUIUtil::blockingGUIThreadConnection(), - Q_ARG(QString, QString::fromStdString(strURI))); -} - static void InitMessage(const std::string &message) { if(splashref) @@ -118,10 +110,7 @@ int main(int argc, char *argv[]) fHaveGUI = true; - // Do this early as we don't want to bother initializing if we are just calling IPC - ipcScanRelay(argc, argv); - - #if QT_VERSION < 0x050000 + #if QT_VERSION < 0x050000 // Internal string conversion is all UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); @@ -130,6 +119,12 @@ int main(int argc, char *argv[]) Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); + // Do this early as we don't want to bother initializing if we are just calling IPC + // ... but do it after creating app, so QCoreApplication::arguments is initialized: + if (PaymentServer::ipcSendCommandLine()) + exit(0); + PaymentServer* paymentServer = new PaymentServer(&app); + // Install global event filter that makes sure that long tooltips can be word-wrapped app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app)); @@ -197,7 +192,6 @@ int main(int argc, char *argv[]) // Subscribe to global signals from core uiInterface.ThreadSafeMessageBox.connect(ThreadSafeMessageBox); uiInterface.ThreadSafeAskFee.connect(ThreadSafeAskFee); - uiInterface.ThreadSafeHandleURI.connect(ThreadSafeHandleURI); uiInterface.InitMessage.connect(InitMessage); uiInterface.QueueShutdown.connect(QueueShutdown); uiInterface.Translate.connect(Translate); @@ -258,9 +252,12 @@ int main(int argc, char *argv[]) window.show(); } - // Place this here as guiref has to be defined if we don't want to lose URIs - ipcInit(argc, argv); - + // Now that initialization/startup is done, process any command-line + // bitcoin: URIs + QObject::connect(paymentServer, SIGNAL(receivedURI(QString)), &window, SLOT(handleURI(QString))); + QTimer::singleShot(100, paymentServer, SLOT(uiReady())); + + app.exec(); window.hide(); diff --git a/src/qt/paymentserver.cpp b/src/qt/paymentserver.cpp new file mode 100644 index 000000000..bdb1b7a70 --- /dev/null +++ b/src/qt/paymentserver.cpp @@ -0,0 +1,165 @@ +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include + +#include "paymentserver.h" + +#include "guiconstants.h" +#include "ui_interface.h" +#include "util.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace boost; + +const int BITCOIN_IPC_CONNECT_TIMEOUT = 1000; // milliseconds +const QString BITCOIN_IPC_PREFIX("hyperstake:"); + +// +// Create a name that is unique for: +// testnet / non-testnet +// data directory +// +static QString ipcServerName() +{ + QString name("HyperStakeQt"); + + // Append a simple hash of the datadir + // Note that GetDataDir(true) returns a different path + // for -testnet versus main net + QString ddir(GetDataDir(true).string().c_str()); + name.append(QString::number(qHash(ddir))); + + return name; +} + +// +// This stores payment requests received before +// the main GUI window is up and ready to ask the user +// to send payment. +// +static QStringList savedPaymentRequests; + +// +// Sending to the server is done synchronously, at startup. +// If the server isn't already running, startup continues, +// and the items in savedPaymentRequest will be handled +// when uiReady() is called. +// +bool PaymentServer::ipcSendCommandLine() +{ + bool fResult = false; + + const QStringList& args = qApp->arguments(); + for (int i = 1; i < args.size(); i++) + { + if (!args[i].startsWith(BITCOIN_IPC_PREFIX, Qt::CaseInsensitive)) + continue; + savedPaymentRequests.append(args[i]); + } + + foreach (const QString& arg, savedPaymentRequests) + { + QLocalSocket* socket = new QLocalSocket(); + socket->connectToServer(ipcServerName(), QIODevice::WriteOnly); + if (!socket->waitForConnected(BITCOIN_IPC_CONNECT_TIMEOUT)) + return false; + + QByteArray block; + QDataStream out(&block, QIODevice::WriteOnly); + out.setVersion(QDataStream::Qt_4_0); + out << arg; + out.device()->seek(0); + socket->write(block); + socket->flush(); + + socket->waitForBytesWritten(BITCOIN_IPC_CONNECT_TIMEOUT); + socket->disconnectFromServer(); + delete socket; + fResult = true; + } + return fResult; +} + +PaymentServer::PaymentServer(QApplication* parent) : QObject(parent), saveURIs(true) +{ + // Install global event filter to catch QFileOpenEvents on the mac (sent when you click bitcoin: links) + parent->installEventFilter(this); + + QString name = ipcServerName(); + + // Clean up old socket leftover from a crash: + QLocalServer::removeServer(name); + + uriServer = new QLocalServer(this); + + if (!uriServer->listen(name)) + qDebug() << tr("Cannot start HyperStake: click-to-pay handler"); + else + connect(uriServer, SIGNAL(newConnection()), this, SLOT(handleURIConnection())); +} + +bool PaymentServer::eventFilter(QObject *object, QEvent *event) +{ + // clicking on bitcoin: URLs creates FileOpen events on the Mac: + if (event->type() == QEvent::FileOpen) + { + QFileOpenEvent* fileEvent = static_cast(event); + if (!fileEvent->url().isEmpty()) + { + if (saveURIs) // Before main window is ready: + savedPaymentRequests.append(fileEvent->url().toString()); + else + emit receivedURI(fileEvent->url().toString()); + return true; + } + } + return false; +} + +void PaymentServer::uiReady() +{ + saveURIs = false; + foreach (const QString& s, savedPaymentRequests) + emit receivedURI(s); + savedPaymentRequests.clear(); +} + +void PaymentServer::handleURIConnection() +{ + QLocalSocket *clientConnection = uriServer->nextPendingConnection(); + + while (clientConnection->bytesAvailable() < (int)sizeof(quint32)) + clientConnection->waitForReadyRead(); + + connect(clientConnection, SIGNAL(disconnected()), + clientConnection, SLOT(deleteLater())); + + QDataStream in(clientConnection); + in.setVersion(QDataStream::Qt_4_0); + if (clientConnection->bytesAvailable() < (int)sizeof(quint16)) { + return; + } + QString message; + in >> message; + + if (saveURIs) + savedPaymentRequests.append(message); + else + emit receivedURI(message); +} + +void PaymentServer::setOptionsModel(OptionsModel *optionsModel) +{ + this->optionsModel = optionsModel; +} diff --git a/src/qt/paymentserver.h b/src/qt/paymentserver.h new file mode 100644 index 000000000..0fdee333a --- /dev/null +++ b/src/qt/paymentserver.h @@ -0,0 +1,74 @@ +#ifndef PAYMENTSERVER_H +#define PAYMENTSERVER_H + +// +// This class handles payment requests from clicking on +// bitcoin: URIs +// +// This is somewhat tricky, because we have to deal with +// the situation where the user clicks on a link during +// startup/initialization, when the splash-screen is up +// but the main window (and the Send Coins tab) is not. +// +// So, the strategy is: +// +// Create the server, and register the event handler, +// when the application is created. Save any URIs +// received at or during startup in a list. +// +// When startup is finished and the main window is +// shown, a signal is sent to slot uiReady(), which +// emits a receivedURL() signal for any payment +// requests that happened during startup. +// +// After startup, receivedURL() happens as usual. +// +// This class has one more feature: a static +// method that finds URIs passed in the command line +// and, if a server is running in another process, +// sends them to the server. +// +#include +#include + +class OptionsModel; + +class QApplication; +class QLocalServer; + +class PaymentServer : public QObject +{ + Q_OBJECT +private: + bool saveURIs; + QLocalServer* uriServer; + +public: + // Returns true if there were URIs on the command line + // which were successfully sent to an already-running + // process. + static bool ipcSendCommandLine(); + + PaymentServer(QApplication* parent); + + bool eventFilter(QObject *object, QEvent *event); + + // OptionsModel is used for getting proxy settings and display unit + void setOptionsModel(OptionsModel *optionsModel); + +signals: + void receivedURI(QString); + +public slots: + // Signal this when the main window's UI is ready + // to display payment requests to the user + void uiReady(); + +private slots: + void handleURIConnection(); + +private: + OptionsModel *optionsModel; +}; + +#endif // PAYMENTSERVER_H diff --git a/src/qt/qtipcserver.cpp b/src/qt/qtipcserver.cpp deleted file mode 100644 index 9695dd343..000000000 --- a/src/qt/qtipcserver.cpp +++ /dev/null @@ -1,162 +0,0 @@ -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include -#if defined(WIN32) && BOOST_VERSION == 104900 -#define BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME -#define BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME -#endif - -#include "qtipcserver.h" -#include "guiconstants.h" -#include "ui_interface.h" -#include "util.h" - -#include -#include -#include -#include - -#if defined(WIN32) && (!defined(BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME) || !defined(BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME) || BOOST_VERSION < 104900) -#warning Compiling without BOOST_INTERPROCESS_HAS_WINDOWS_KERNEL_BOOTTIME and BOOST_INTERPROCESS_HAS_KERNEL_BOOTTIME uncommented in boost/interprocess/detail/tmp_dir_helpers.hpp or using a boost version before 1.49 may have unintended results see svn.boost.org/trac/boost/ticket/5392 -#endif - -using namespace boost; -using namespace boost::interprocess; -using namespace boost::posix_time; - -#if defined MAC_OSX || defined __FreeBSD__ -// URI handling not implemented on OSX yet - -void ipcScanRelay(int argc, char *argv[]) { } -void ipcInit(int argc, char *argv[]) { } - -#else - -static void ipcThread2(void* pArg); - -static bool ipcScanCmd(int argc, char *argv[], bool fRelay) -{ - // Check for URI in argv - bool fSent = false; - for (int i = 1; i < argc; i++) - { - if (boost::algorithm::istarts_with(argv[i], "bitcoin:")) - { - const char *strURI = argv[i]; - try { - boost::interprocess::message_queue mq(boost::interprocess::open_only, BITCOINURI_QUEUE_NAME); - if (mq.try_send(strURI, strlen(strURI), 0)) - fSent = true; - else if (fRelay) - break; - } - catch (boost::interprocess::interprocess_exception &ex) { - // don't log the "file not found" exception, because that's normal for - // the first start of the first instance - if (ex.get_error_code() != boost::interprocess::not_found_error || !fRelay) - { - printf("main() - boost interprocess exception #%d: %s\n", ex.get_error_code(), ex.what()); - break; - } - } - } - } - return fSent; -} - -void ipcScanRelay(int argc, char *argv[]) -{ - if (ipcScanCmd(argc, argv, true)) - exit(0); -} - -static void ipcThread(void* pArg) -{ - // Make this thread recognisable as the GUI-IPC thread - RenameThread("bitcoin-gui-ipc"); - - try - { - ipcThread2(pArg); - } - catch (std::exception& e) { - PrintExceptionContinue(&e, "ipcThread()"); - } catch (...) { - PrintExceptionContinue(NULL, "ipcThread()"); - } - printf("ipcThread exited\n"); -} - -static void ipcThread2(void* pArg) -{ - printf("ipcThread started\n"); - - message_queue* mq = (message_queue*)pArg; - char buffer[MAX_URI_LENGTH + 1] = ""; - size_t nSize = 0; - unsigned int nPriority = 0; - - while (true) - { - ptime d = boost::posix_time::microsec_clock::universal_time() + millisec(100); - if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d)) - { - uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize)); - Sleep(1000); - } - - if (fShutdown) - break; - } - - // Remove message queue - message_queue::remove(BITCOINURI_QUEUE_NAME); - // Cleanup allocated memory - delete mq; -} - -void ipcInit(int argc, char *argv[]) -{ - message_queue* mq = NULL; - char buffer[MAX_URI_LENGTH + 1] = ""; - size_t nSize = 0; - unsigned int nPriority = 0; - - try { - mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 2, MAX_URI_LENGTH); - - // Make sure we don't lose any bitcoin: URIs - for (int i = 0; i < 2; i++) - { - ptime d = boost::posix_time::microsec_clock::universal_time() + millisec(1); - if (mq->timed_receive(&buffer, sizeof(buffer), nSize, nPriority, d)) - { - uiInterface.ThreadSafeHandleURI(std::string(buffer, nSize)); - } - else - break; - } - - // Make sure only one bitcoin instance is listening - message_queue::remove(BITCOINURI_QUEUE_NAME); - delete mq; - - mq = new message_queue(open_or_create, BITCOINURI_QUEUE_NAME, 2, MAX_URI_LENGTH); - } - catch (interprocess_exception &ex) { - printf("ipcInit() - boost interprocess exception #%d: %s\n", ex.get_error_code(), ex.what()); - return; - } - - if (!NewThread(ipcThread, mq)) - { - delete mq; - return; - } - - ipcScanCmd(argc, argv, false); -} - -#endif diff --git a/src/qt/qtipcserver.h b/src/qt/qtipcserver.h deleted file mode 100644 index cccf200b2..000000000 --- a/src/qt/qtipcserver.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef QTIPCSERVER_H -#define QTIPCSERVER_H - -// Define Bitcoin-Qt message queue name -#define BITCOINURI_QUEUE_NAME "BitcoinURI" - -void ipcScanRelay(int argc, char *argv[]); -void ipcInit(int argc, char *argv[]); - -#endif // QTIPCSERVER_H From 1a936d90ec242dc1764a347921b25bcb07afb938 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Feb 2015 18:21:58 +0100 Subject: [PATCH 303/555] Add the paymentserver files to the qtcreator project file --- HyperStake-qt.pro | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 22e41b61b..65eb59901 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -4,7 +4,7 @@ VERSION = 0.7.2 INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES CONFIG += no_include_pwd static -QT += core gui xml +QT += core gui xml network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets macx { @@ -212,7 +212,7 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/askpassphrasedialog.h \ src/protocol.h \ src/qt/notificator.h \ - src/qt/qtipcserver.h \ + src/qt/paymentserver.h \ src/allocators.h \ src/ui_interface.h \ src/qt/rpcconsole.h \ @@ -293,7 +293,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/askpassphrasedialog.cpp \ src/protocol.cpp \ src/qt/notificator.cpp \ - src/qt/qtipcserver.cpp \ + src/qt/paymentserver.cpp \ src/qt/rpcconsole.cpp \ src/noui.cpp \ src/kernel.cpp \ @@ -431,6 +431,7 @@ macx:TARGET = "hyperstake-qt" macx:QMAKE_CFLAGS_THREAD += -pthread macx:QMAKE_LFLAGS_THREAD += -pthread macx:QMAKE_CXXFLAGS_THREAD += -pthread +macx:QMAKE_INFO_PLIST = share/qt/Info.plist # Set libraries and includes at end, to use platform-defined defaults if not overridden INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH From 78e5e3cbed5f4c935584a236112c5992fe1b8e61 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 14:24:58 -0700 Subject: [PATCH 304/555] Strict Protocol & Alert Key changes Strict Protocol you will only connect to peers of same protocol. Access Strict Protocol via conf or rpc. --- src/bitcoinrpc.cpp | 6 +++++- src/bitcoinrpc.h | 1 + src/init.cpp | 1 + src/main.cpp | 8 ++++++++ src/main.h | 1 + src/rpcwallet.cpp | 19 ++++++++++++++++++- 6 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 4eca4b64e..a80d27a5e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -285,6 +285,8 @@ static const CRPCCommand vRPCCommands[] = { "getweight", &getweight, false, false }, { "getpotentialstake", &getpotentialstake, false, false }, { "getconfs", &getconfs, false, false }, + { "strictprotocol", &strictprotocol, false, false }, + }; CRPCTable::CRPCTable() @@ -1216,7 +1218,9 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[3]); if (strMethod == "sendalert" && n > 1) ConvertTo(params[4]); if (strMethod == "sendalert" && n > 1) ConvertTo(params[5]); - if (strMethod == "sendalert" && n > 6) ConvertTo(params[6]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[6]); + if (strMethod == "sendalert" && n > 7) ConvertTo(params[7]); + if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 42d3ad775..66d0e3104 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -207,6 +207,7 @@ extern json_spirit::Value ccsend(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/init.cpp b/src/init.cpp index 1d9616936..4369fe030 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -172,6 +172,7 @@ std::string HelpMessage() strUsage += " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n"; strUsage += " -maxreceivebuffer= " + _("Maximum per-connection receive buffer, *1000 bytes (default: 5000)") + "\n"; strUsage += " -maxsendbuffer= " + _("Maximum per-connection send buffer, *1000 bytes (default: 1000)") + "\n"; + strUsage += " -strictprotocol= " + _("Only connect to peers using the same protocol version. Warning this will cause low peer count.") + "\n"; #ifdef USE_UPNP #if USE_UPNP strUsage += " -upnp " + _("Use UPnP to map the listening port (default: 1 when listening)") + "\n"; diff --git a/src/main.cpp b/src/main.cpp index 189ab4253..c3205296c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -69,6 +69,7 @@ map mapProofOfStake; map mapOrphanTransactions; map > mapOrphanTransactionsByPrev; map mapHashedBlocks; +bool fStrictProtocol = false; // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; @@ -3006,6 +3007,13 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) pfrom->fDisconnect = true; return false; } + + if((fStrictProtocol || GetBoolArg("-strictprotocol", true) ) && pfrom->nVersion != PROTOCOL_VERSION) + { + printf("Strict Protocol: partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion); + pfrom->fDisconnect = true; + return false; + } if (pfrom->nVersion == 10300) pfrom->nVersion = 300; diff --git a/src/main.h b/src/main.h index 4fc07b43c..d9f03b5a0 100644 --- a/src/main.h +++ b/src/main.h @@ -94,6 +94,7 @@ extern unsigned char pchMessageStart[4]; extern std::map mapOrphanBlocks; extern bool fHaveGUI; extern std::map mapHashedBlocks; +extern bool fStrictProtocol; // Settings extern int64 nTransactionFee; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 29751cf88..1b9ddc1b8 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2590,4 +2590,21 @@ Value multisend(const Array ¶ms, bool fHelp) } } return printMultiSend(); -} \ No newline at end of file +} + +// presstab HyperStake +Value strictprotocol(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "strictprotocol \n" + "WARNING: if set true peer count will drop"); + fStrictProtocol = params[0].get_bool(); + if(fStrictProtocol) + return "Strict Protocol True"; + else + return "Strict Protocol False"; +} + + + \ No newline at end of file From 5aa0f9b332ea45d01539ca0a115ed85a445978d3 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 14:25:31 -0700 Subject: [PATCH 305/555] More Alert Key --- src/rpcnet.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 2159d8ece..4b67ecbb6 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -213,7 +213,7 @@ extern map mapAlerts; // ThreadRPCServer: holds cs_main and acquiring cs_vSend in alert.RelayTo()/PushMessage()/BeginMessage() Value sendalert(const Array& params, bool fHelp) { - if (fHelp || params.size() < 6) + if (fHelp || params.size() < 7) throw runtime_error( "sendalert [cancelupto]\n" " is the alert text message\n" @@ -222,6 +222,7 @@ Value sendalert(const Array& params, bool fHelp) " is the maximum applicable internal client version\n" " is integer priority number\n" " is the alert id\n" + " minutes from current time\n" "[cancelupto] cancels all alert id's up to this number\n" "Returns true or false."); @@ -233,11 +234,11 @@ Value sendalert(const Array& params, bool fHelp) alert.nMaxVer = params[3].get_int(); alert.nPriority = params[4].get_int(); alert.nID = params[5].get_int(); - if (params.size() > 6) - alert.nCancel = params[6].get_int(); + alert.nRelayUntil = GetAdjustedTime() + params[6].get_int(); + alert.nExpiration = GetAdjustedTime() + params[6].get_int(); + if (params.size() > 7) + alert.nCancel = params[7].get_int(); alert.nVersion = PROTOCOL_VERSION; - alert.nRelayUntil = GetAdjustedTime() + 365*24*60*60; - alert.nExpiration = GetAdjustedTime() + 365*24*60*60; CDataStream sMsg(SER_NETWORK, PROTOCOL_VERSION); sMsg << (CUnsignedAlert)alert; @@ -275,3 +276,5 @@ Value sendalert(const Array& params, bool fHelp) result.push_back(Pair("nCancel", alert.nCancel)); return result; } + + From e465811c527d95a1f035955dcc58bf6f0157860a Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 14:42:56 -0700 Subject: [PATCH 306/555] Alert ID < 200 not valid --- src/alert.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/alert.cpp b/src/alert.cpp index 875737e68..fd46dfeed 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -104,7 +104,9 @@ uint256 CAlert::GetHash() const bool CAlert::IsInEffect() const { - return (GetAdjustedTime() < nExpiration); + if(nID < 200) + return false; + return (GetAdjustedTime() < nExpiration); } bool CAlert::Cancels(const CAlert& alert) const From aaa16b12a6c7c4b89f5b9e26295205445ac5f04e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 16:37:40 -0700 Subject: [PATCH 307/555] remove boolarg --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index c3205296c..4543edd1f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3008,7 +3008,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) return false; } - if((fStrictProtocol || GetBoolArg("-strictprotocol", true) ) && pfrom->nVersion != PROTOCOL_VERSION) + if((fStrictProtocol) && pfrom->nVersion != PROTOCOL_VERSION) { printf("Strict Protocol: partner %s using obsolete version %i; disconnecting\n", pfrom->addr.ToString().c_str(), pfrom->nVersion); pfrom->fDisconnect = true; From 6b79f15acbbfaa4f4480da7ca32cb329fb906e7f Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 16 Feb 2015 00:40:47 +0100 Subject: [PATCH 308/555] Don't include the Info.plist in the qt project file --- HyperStake-qt.pro | 1 - 1 file changed, 1 deletion(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 65eb59901..d35923c2a 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -431,7 +431,6 @@ macx:TARGET = "hyperstake-qt" macx:QMAKE_CFLAGS_THREAD += -pthread macx:QMAKE_LFLAGS_THREAD += -pthread macx:QMAKE_CXXFLAGS_THREAD += -pthread -macx:QMAKE_INFO_PLIST = share/qt/Info.plist # Set libraries and includes at end, to use platform-defined defaults if not overridden INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH From e1a6d5dd4f824a446ea7123e4a65267f4dfd8535 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 21:54:02 -0700 Subject: [PATCH 309/555] strictincoming RPC: Stricter enforcement of incoming data --- src/bitcoinrpc.cpp | 2 ++ src/bitcoinrpc.h | 1 + src/main.cpp | 65 +++++++++++++++++++++++++++++++++++++++------- src/main.h | 3 +++ src/rpcwallet.cpp | 19 ++++++++++++-- 5 files changed, 79 insertions(+), 11 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index a80d27a5e..b01a15c7e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -286,6 +286,7 @@ static const CRPCCommand vRPCCommands[] = { "getpotentialstake", &getpotentialstake, false, false }, { "getconfs", &getconfs, false, false }, { "strictprotocol", &strictprotocol, false, false }, + { "strictincoming", &strictincoming, false, false }, }; @@ -1221,6 +1222,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[6]); if (strMethod == "sendalert" && n > 7) ConvertTo(params[7]); if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); + if (strMethod == "strictincoming" && n > 0) ConvertTo(params[0]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 66d0e3104..649e15e1e 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -208,6 +208,7 @@ extern json_spirit::Value getweight(const json_spirit::Array& params, bool fHelp extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 4543edd1f..2675b616d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -69,7 +69,10 @@ map mapProofOfStake; map mapOrphanTransactions; map > mapOrphanTransactionsByPrev; map mapHashedBlocks; +map > mapGetBlocksRequests; +std::map mapPeerRejectedBlocks; bool fStrictProtocol = false; +bool fStrictIncoming = false; // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; @@ -3348,10 +3351,39 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (pindex) pindex = pindex->pnext; int nLimit = 1000; - printf("getblocks %d to %s limit %d\n", (pindex ? pindex->nHeight : -1), hashStop.ToString().substr(0,20).c_str(), nLimit); + int nFirst = (pindex ? pindex->nHeight : -1); + printf("getblocks %d to %s limit %d\n", nFirst, hashStop.ToString().substr(0,20).c_str(), nLimit); for (; pindex; pindex = pindex->pnext) { - if (pindex->GetBlockHash() == hashStop) + if(fStrictIncoming) + { + std::string strFrom = pfrom->addrName; + if(mapGetBlocksRequests.count(strFrom)) + { + if(mapGetBlocksRequests[strFrom].first == nFirst) // if the peer has already requested this + mapGetBlocksRequests[strFrom].second += 1; // count times this has been requested + else + { + // this has not been requested from this peer, so record it + mapGetBlocksRequests[strFrom].first = nFirst; + mapGetBlocksRequests[strFrom].second = 1; + } + if(mapGetBlocksRequests[strFrom].first != -1 && mapGetBlocksRequests[strFrom].second > 100) + { + printf("GetBlocksRequest: disconnect from peer %s that has requested the same thing more than 100 times\n", strFrom.c_str()); + pfrom->fDisconnect = true; + return false; + } + } + else + { + // if peer hasn't requested any blocks yet then add them to map + printf("GetBlocksRequest: adding peer to map\n"); + mapGetBlocksRequests[strFrom].first = nFirst; + mapGetBlocksRequests[strFrom].second = 1; + } + } + if (pindex->GetBlockHash() == hashStop) { printf(" getblocks stopping at %d %s\n", pindex->nHeight, pindex->GetBlockHash().ToString().substr(0,20).c_str()); break; @@ -3498,18 +3530,33 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) CInv inv(MSG_BLOCK, block.GetHash()); pfrom->AddInventoryKnown(inv); - if (ProcessBlock(pfrom, &block)) { + if (ProcessBlock(pfrom, &block)) mapAlreadyAskedFor.erase(inv); - } else { - // Be more aggressive with blockchain download. Send getblocks() message after - // an error related to new block download + else + { + if(fStrictIncoming) + { + string strFrom = pfrom->addrName; + if(mapPeerRejectedBlocks.count(strFrom) == 0) + mapPeerRejectedBlocks[strFrom] = 1; + else + mapPeerRejectedBlocks[strFrom] += 1; + if (mapPeerRejectedBlocks[strFrom] > 100) + { + printf("MapPeerRejectedBlocks: %s has sent 100 orphans, disconnecting\n", strFrom.c_str()); + pfrom->fDisconnect = true; + return false; + } + } + // Be more aggressive with blockchain download. Send getblocks() message after + // an error related to new block download int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; - if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) + { + printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } - if (block.nDoS) pfrom->Misbehaving(block.nDoS); } diff --git a/src/main.h b/src/main.h index d9f03b5a0..b8d5f263a 100644 --- a/src/main.h +++ b/src/main.h @@ -94,7 +94,10 @@ extern unsigned char pchMessageStart[4]; extern std::map mapOrphanBlocks; extern bool fHaveGUI; extern std::map mapHashedBlocks; +extern std::map > mapGetBlocksRequests; +extern std::map mapPeerRejectedBlocks; extern bool fStrictProtocol; +extern bool fStrictIncoming; // Settings extern int64 nTransactionFee; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 1b9ddc1b8..fef994ca1 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2598,13 +2598,28 @@ Value strictprotocol(const Array& params, bool fHelp) if (fHelp || params.size() != 1) throw runtime_error( "strictprotocol \n" - "WARNING: if set true peer count will drop"); + "Refuse connections to other protocols\n" + "WARNING: if set true peer count will drop\n"); fStrictProtocol = params[0].get_bool(); if(fStrictProtocol) return "Strict Protocol True"; else return "Strict Protocol False"; } - + +// presstab HyperStake +Value strictincoming(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "strictincoming \n" + "drop connections from peers sending too many orphans or redundant requests" + "WARNING: if set true peer count will drop"); + fStrictIncoming = params[0].get_bool(); + if(fStrictIncoming) + return "Strict Incoming True"; + else + return "Strict Incoming False"; +} \ No newline at end of file From 6bed18d9e88aac92434430192d7dfda3f789e271 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sun, 15 Feb 2015 23:25:19 -0700 Subject: [PATCH 310/555] v1.1.0.1 --- src/clientversion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clientversion.h b/src/clientversion.h index 586e8b434..d958b067a 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 0 +#define CLIENT_VERSION_BUILD 1 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true From a839674b1c2828c4597cdcbfb937d4eb3fe9713e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 16 Feb 2015 10:40:34 -0700 Subject: [PATCH 311/555] CAlert: only mark misbehaving if signature is bad --- src/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 2675b616d..bb96e8f25 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3680,7 +3680,8 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) // This isn't a Misbehaving(100) (immediate ban) because the // peer might be an older or different implementation with // a different signature key, etc. - pfrom->Misbehaving(10); + if(!alert.CheckSignature()) + pfrom->Misbehaving(10); } } } From 4789844cfe7ac80469b754c44ca6c6dd2cf58458 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 16 Feb 2015 21:22:48 +0100 Subject: [PATCH 312/555] Fix datadir command line parameter --- src/qt/bitcoin.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index ec451d308..142741f0e 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -108,7 +108,9 @@ static void handleRunawayException(std::exception *e) int main(int argc, char *argv[]) { fHaveGUI = true; - + + // Command-line options take precedence: + ParseParameters(argc, argv); #if QT_VERSION < 0x050000 // Internal string conversion is all UTF-8 @@ -128,10 +130,7 @@ int main(int argc, char *argv[]) // Install global event filter that makes sure that long tooltips can be word-wrapped app.installEventFilter(new GUIUtil::ToolTipToRichTextFilter(TOOLTIP_WRAP_THRESHOLD, &app)); - // Command-line options take precedence: - ParseParameters(argc, argv); - - // ... then bitcoin.conf: + // ... then bitcoin.conf: if (!boost::filesystem::is_directory(GetDataDir(false))) { // This message can not be translated, as translation is not initialized yet From c6dc6a063dd15c5068c2c648cbe7809be483d046 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 16 Feb 2015 14:37:17 -0700 Subject: [PATCH 313/555] Build v1.1.0.2 --- src/clientversion.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/clientversion.h b/src/clientversion.h index d958b067a..b7f68e9aa 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_BUILD 2 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.cpp b/src/version.cpp index 940fc2e24..dc712f357 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.0.2" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index b200d7281..7f2061778 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 #define DISPLAY_VERSION_REVISION 0 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 2 #endif From bd9771b14c9e59b92401a364c23831cd7a811ced Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 18 Feb 2015 19:29:13 -0700 Subject: [PATCH 314/555] Add Test Net --- src/bitcoinrpc.cpp | 2 ++ src/checkpoints.cpp | 1 + src/kernel.cpp | 10 +++++++++- src/kernel.h | 6 +++--- src/main.cpp | 30 ++++++++++++++++++++---------- src/main.h | 2 +- src/rpcmining.cpp | 37 +++++++++++++++++++++++++++++++++++++ 7 files changed, 73 insertions(+), 15 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index b01a15c7e..a0837cce4 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -287,6 +287,8 @@ static const CRPCCommand vRPCCommands[] = { "getconfs", &getconfs, false, false }, { "strictprotocol", &strictprotocol, false, false }, { "strictincoming", &strictincoming, false, false }, + { "setgenerate", &setgenerate, true, false }, + { "gethashespersec", &gethashespersec, true, false }, }; diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 6580251eb..149dfda1a 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -37,6 +37,7 @@ namespace Checkpoints static MapCheckpoints mapCheckpointsTestnet = boost::assign::map_list_of ( 0, hashGenesisBlockTestNet ) + (10, uint256("0x0000004936d34deb2ad5c10d19b5352939bedbb05f028aa8a8f7bb9023ce7902")) ; bool CheckHardened(int nHeight, const uint256& hash) diff --git a/src/kernel.cpp b/src/kernel.cpp index 177e6cb66..141261ea6 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -15,7 +15,15 @@ extern int nStakeTargetSpacing; // Modifier interval: time to elapse before new modifier is computed // Set to 3-hour for production network and 20-minute for test network -unsigned int nModifierInterval = MODIFIER_INTERVAL; +unsigned int nModifierInterval = getIntervalVersion(fTestNet); +unsigned int getIntervalVersion(bool fTestNet) +{ + if(fTestNet) + return MODIFIER_INTERVAL_TESTNET; + else + return MODIFIER_INTERVAL; +} + unsigned int nProtocolModifierIntervalChangeSwitchHeight = 14420; diff --git a/src/kernel.h b/src/kernel.h index 7991934ba..f1f797f6b 100644 --- a/src/kernel.h +++ b/src/kernel.h @@ -7,10 +7,10 @@ #include "main.h" // MODIFIER_INTERVAL: time to elapse before new modifier is computed -static const unsigned int MODIFIER_INTERVAL = 6* 60* 60; -static const unsigned int MODIFIER_INTERVAL_NEW = 15 * 60; -static const unsigned int MODIFIER_INTERVAL_NEW_TESTNET = 60; +static const unsigned int MODIFIER_INTERVAL = 6* 60* 60; +static const unsigned int MODIFIER_INTERVAL_TESTNET = 60; extern unsigned int nModifierInterval; +extern unsigned int getIntervalVersion(bool fTestNet); // MODIFIER_INTERVAL_RATIO: // ratio of group interval length between the last group and the first group diff --git a/src/main.cpp b/src/main.cpp index bb96e8f25..af2e848a8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -948,16 +948,22 @@ static const int CUTOFF_HEIGHT = POW_CUTOFF_HEIGHT; // miner's coin base reward based on nBits int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash) { - int64 nSubsidy = 500 * COIN; - + int64 nSubsidy = 0; + if(fTestNet) + { + if(nHeight == 1) + nSubsidy = 50000000 * COIN; // 50 million premine for testnet so we can be rich + else + nSubsidy = 1000 * COIN; + return nSubsidy + nFees; + } + + nSubsidy = 500 * COIN; if(nHeight == 1) { nSubsidy = 120000 * COIN; return nSubsidy + nFees; } - - - return nSubsidy + nFees; } @@ -2619,10 +2625,10 @@ bool LoadBlockIndex(bool fAllowNew) bnProofOfStakeLimit = bnProofOfStakeLimitTestNet; // 0x00000fff PoS base target is fixed in testnet bnProofOfWorkLimit = bnProofOfWorkLimitTestNet; // 0x0000ffff PoW base target is fixed in testnet nStakeMinAge = 20 * 60; // test net min age is 20 min - nStakeMaxAge = 4* 60 * 60; // test net min age is 60 min + nStakeMaxAge = 60 * 60 * 24; // test net min age is 24 hours nCoinbaseMaturity = 10; // test maturity is 10 blocks - nStakeTargetSpacing = 30; // test block spacing is 3 minutes + nStakeTargetSpacing = 90; // test block spacing is 90 seconds } // @@ -2658,7 +2664,13 @@ bool LoadBlockIndex(bool fAllowNew) block.nTime = 1401331380; block.nBits = bnProofOfWorkLimit.GetCompact(); block.nNonce = 1779291; - if (false ) { + if(fTestNet) + { + block.nTime = 1424304823; + block.nNonce = 0; + } + + if (false ) { // This will figure out a valid hash and Nonce if you're // creating a different genesis block: @@ -2680,8 +2692,6 @@ bool LoadBlockIndex(bool fAllowNew) printf("block.nTime = %u \n", block.nTime); printf("block.nNonce = %u \n", block.nNonce); - - assert(block.hashMerkleRoot == uint256("37ad323037e6e55553fadebbe60690a1bff2752f947b7af8cb6b54929f5fee3d")); assert(block.GetHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)); diff --git a/src/main.h b/src/main.h index b8d5f263a..4059bc591 100644 --- a/src/main.h +++ b/src/main.h @@ -55,7 +55,7 @@ static const int fHaveUPnP = false; #endif static const uint256 hashGenesisBlockOfficial("0x000005fe04e512585c3611369c7ce23f130958038c18a462577d002680dab4fc"); -static const uint256 hashGenesisBlockTestNet ("0x0000076130e1a816bab8f26310839ab601305b2315dc3b8b1a250faa0cb1f9a8"); +static const uint256 hashGenesisBlockTestNet ("0x534d8009c099b04d05d7475f48eea977ca2fedaf409e233c884eff34d2efdb8e"); inline int64 GetClockDrift(int64 nTime) { diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index c5e26124c..b8822fc3b 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -473,3 +473,40 @@ Value submitblock(const Array& params, bool fHelp) return Value::null; } +Value setgenerate(const Array& params, bool fHelp) +{ + if (fHelp || params.size() < 1 || params.size() > 2) + throw runtime_error( + "setgenerate [genproclimit]\n" + " is true or false to turn generation on or off.\n" + "Generation is limited to [genproclimit] processors, -1 is unlimited."); + + bool fGenerate = true; + if (params.size() > 0) + fGenerate = params[0].get_bool(); + + if (params.size() > 1) + { + int nGenProcLimit = params[1].get_int(); + mapArgs["-genproclimit"] = itostr(nGenProcLimit); + if (nGenProcLimit == 0) + fGenerate = false; + } + mapArgs["-gen"] = (fGenerate ? "1" : "0"); + + GenerateBitcoins(fGenerate, pwalletMain); + return Value::null; +} + + +Value gethashespersec(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "gethashespersec\n" + "Returns a recent hashes per second performance measurement while generating."); + + if (GetTimeMillis() - nHPSTimerStart > 8000) + return (boost::int64_t)0; + return (boost::int64_t)dHashesPerSec; +} From cceb758deaa0158e464a78aca177cf6a686f5258 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 18 Feb 2015 22:29:36 -0700 Subject: [PATCH 315/555] remove uneeded things on kernel.cpp --- src/kernel.cpp | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 141261ea6..5c5a46f06 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -24,17 +24,6 @@ unsigned int getIntervalVersion(bool fTestNet) return MODIFIER_INTERVAL; } - - -unsigned int nProtocolModifierIntervalChangeSwitchHeight = 14420; -unsigned int nProtocolModifierIntervalChangeTestSwitchHeight = 100; - -bool IsProtocolModifierIntervalChange(unsigned int nBlockHeight) -{ - return false; -} - - // Hard checkpoints of stake modifiers to ensure they are deterministic static std::map mapStakeModifierCheckpoints = boost::assign::map_list_of @@ -43,19 +32,12 @@ static std::map mapStakeModifierCheckpoints = // Get time weight int64 GetWeight(int64 nIntervalBeginning, int64 nIntervalEnd) { - // Kernel hash weight starts from 0 at the min age - // this change increases active coins participating the hash and helps - // to secure the network when proof-of-stake difficulty is low - return min(nIntervalEnd - nIntervalBeginning - nStakeMinAge, (int64)nStakeMaxAge); } // Get time weight 2 - This is added for informational purposes since staking takes 8.8 days min approx. because of bug int64 GetWeight2(int64 nIntervalBeginning, int64 nIntervalEnd) { - // Kernel hash weight starts from 0 at the min age - // this change increases active coins participating the hash and helps - // to secure the network when proof-of-stake difficulty is low int64 nTimePassed = nIntervalEnd - nIntervalBeginning; return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAge; } From 62cd6ce0f39319b3f0d4ea91e46480c62b9dd2ed Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 19 Feb 2015 15:24:41 -0700 Subject: [PATCH 316/555] update testnet modifier settings --- src/kernel.cpp | 16 ++++++++++------ src/wallet.cpp | 10 ++++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 5c5a46f06..177bd9b39 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -60,7 +60,7 @@ static bool GetLastStakeModifier(const CBlockIndex* pindex, uint64& nStakeModifi static int64 GetStakeModifierSelectionIntervalSection(int nSection) { assert (nSection >= 0 && nSection < 64); - int64 a = nModifierInterval * 63 / (63 + ((63 - nSection) * (MODIFIER_INTERVAL_RATIO - 1))); + int64 a = getIntervalVersion(fTestNet) * 63 / (63 + ((63 - nSection) * (MODIFIER_INTERVAL_RATIO - 1))); return a; } @@ -154,14 +154,14 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif return error("ComputeNextStakeModifier: unable to get last modifier"); if (fDebug) printf("ComputeNextStakeModifier: prev modifier=0x%016"PRI64x" time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); - if (nModifierTime / nModifierInterval >= pindexPrev->GetBlockTime() / nModifierInterval) + if (nModifierTime / getIntervalVersion(fTestNet) >= pindexPrev->GetBlockTime() / getIntervalVersion(fTestNet)) return true; // Sort candidate blocks by timestamp vector > vSortedByTimestamp; - vSortedByTimestamp.reserve(64 * nModifierInterval / nStakeTargetSpacing); + vSortedByTimestamp.reserve(64 * getIntervalVersion(fTestNet) / nStakeTargetSpacing); int64 nSelectionInterval = GetStakeModifierSelectionInterval(); - int64 nSelectionIntervalStart = (pindexPrev->GetBlockTime() / nModifierInterval) * nModifierInterval - nSelectionInterval; + int64 nSelectionIntervalStart = (pindexPrev->GetBlockTime() / getIntervalVersion(fTestNet)) * getIntervalVersion(fTestNet) - nSelectionInterval; const CBlockIndex* pindex = pindexPrev; while (pindex && pindex->GetBlockTime() >= nSelectionIntervalStart) @@ -248,7 +248,11 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier return error("GetKernelStakeModifier() : reached best block %s at height %d from block %s", pindex->GetBlockHash().ToString().c_str(), pindex->nHeight, hashBlockFrom.ToString().c_str()); else - return false; + { + printf("FAILED BECAUSE no pindexnext\n"); + return false; + } + } pindex = pindex->pnext; if (pindex->GeneratedStakeModifier()) @@ -338,7 +342,7 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int64 nStakeModifierTime = 0; if (!GetKernelStakeModifier(blockFrom.GetHash(), nStakeModifier, nStakeModifierHeight, nStakeModifierTime, fPrintProofOfStake)) return false; - + //create data stream once instead of repeating it in the loop CDataStream ss(SER_GETHASH, 0); ss << nStakeModifier; diff --git a/src/wallet.cpp b/src/wallet.cpp index ab09d80c3..c88ff5bce 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1312,7 +1312,7 @@ bool CWallet::SelectStakeCoins(std::set { if(nAmountSelected + out.tx->vout[out.i].nValue < nTargetAmount) { - if(GetTime() - out.tx->GetTxTime() > nStakeMinAgeV2) + if(GetTime() - out.tx->GetTxTime() > fTestNet? nStakeMinAge : nStakeMinAgeV2) { setCoins.insert(make_pair(out.tx, out.i)); nAmountSelected += out.tx->vout[out.i].nValue; @@ -1619,7 +1619,9 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin // variables for next stake calculation uint64 nPrevAge = 0; - uint64 nStakeAge = 60 * 60 * 24 * 88 / 10; + uint64 nStakeAge = nStakeMinAgeV2; + if(fTestNet) + nStakeAge = nStakeMinAge; CTxDB txdb("r"); BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) @@ -1635,14 +1637,14 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin uint64 nCurrentAge = (int64)GetTime() - (int64)pcoin.first->nTime; if (nCurrentAge > nPrevAge) { + nHoursToMaturity = ((nStakeAge - nCurrentAge) / 60 / 60) + 1; nPrevAge = nCurrentAge; - nHoursToMaturity = ((nStakeAge - nPrevAge) / 60 / 60) + 1; } int64 nTimeWeight = GetWeight2((int64)pcoin.first->nTime, (int64)GetTime()); //CBigNum bnAmount = CBigNum(pcoin.first->vout[pcoin.second].nValue) / COIN / 1000; CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); - if ((nStakeAge - nCurrentAge) < (60*60*24*8.8)) // if the age is less than 8.8 days, report weight as 0 because the stake modifier won't allow for stake yet + if (nCurrentAge < nStakeAge) // if the age is less than 8.8 days, report weight as 0 because the stake modifier won't allow for stake yet bnCoinDayWeight = 0; // Weight is greater than zero From 97d03629475cae476c8e74966dcbaf067b6ab8d5 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 20 Feb 2015 10:00:26 -0700 Subject: [PATCH 317/555] initialize modifier interval properly --- src/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 177bd9b39..964ddcf3a 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -15,7 +15,7 @@ extern int nStakeTargetSpacing; // Modifier interval: time to elapse before new modifier is computed // Set to 3-hour for production network and 20-minute for test network -unsigned int nModifierInterval = getIntervalVersion(fTestNet); +unsigned int nModifierInterval; unsigned int getIntervalVersion(bool fTestNet) { if(fTestNet) From f5ca7e31f5503caacb31779ababed75989735a30 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 16 Feb 2015 15:15:09 +0100 Subject: [PATCH 318/555] Revert "HYP code is incompatible with hardening, for now disable it by default" This reverts commit 21ea6c7792315dc359f28e633aafe4f45d1f448d. --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index f064505bf..17411a421 100644 --- a/configure.ac +++ b/configure.ac @@ -116,9 +116,9 @@ AC_ARG_WITH([qrencode], AC_ARG_ENABLE([hardening], [AS_HELP_STRING([--enable-hardening], - [attempt to harden the resulting executables (default is no)])], + [attempt to harden the resulting executables (default is yes)])], [use_hardening=$enableval], - [use_hardening=no]) + [use_hardening=yes]) AC_ARG_ENABLE([reduce-exports], [AS_HELP_STRING([--enable-reduce-exports], From ebe705f32b52f8e297921bcb80dbea84a2e59d41 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 16 Feb 2015 15:17:35 +0100 Subject: [PATCH 319/555] For now use -fPIC/-pic for position independent code, linker fails for hyperstaked when using -pie --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 17411a421..258c8b430 100644 --- a/configure.ac +++ b/configure.ac @@ -402,8 +402,8 @@ if test x$use_hardening != xno; then if test x$TARGET_OS != xwindows; then # All windows code is PIC, forcing it on just adds useless compile warnings - AX_CHECK_COMPILE_FLAG([-fPIE],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fPIE"]) - AX_CHECK_LINK_FLAG([[-pie]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pie"]) + AX_CHECK_COMPILE_FLAG([-fPIC],[HARDENED_CXXFLAGS="$HARDENED_CXXFLAGS -fPIC"]) + AX_CHECK_LINK_FLAG([[-pic]], [HARDENED_LDFLAGS="$HARDENED_LDFLAGS -pic"]) fi case $host in From 28e204a017fe489ef95380b9971d1e9b743d1fa1 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 20 Feb 2015 14:43:01 -0700 Subject: [PATCH 320/555] fix getweight rpc for testnet --- src/rpcwallet.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index fef994ca1..149381a6e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2010,8 +2010,14 @@ double getWeight() CBlockIndex* pindex = FindBlockByHeight(nHeight); uint64 nWeight = 0; pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); - double dAge = double(GetTime() - pindex->nTime) / (60*60*24); - if(dAge < 8.8) + int64 nAge = int64(GetTime() - pindex->nTime); + int64 nStakeAge; + if(fTestNet) + nStakeAge = nStakeMinAge; + else + nStakeAge = nStakeMinAgeV2; + + if(nAge < nStakeAge) nWeight = 0; nWeightSum += nWeight; } From bdfdf363a179609281e0a5bfbc55c2766f017038 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 20 Feb 2015 15:03:23 -0700 Subject: [PATCH 321/555] fix more testnet weight calcs --- src/qt/coincontroldialog.cpp | 16 +++++++++++----- src/rpcwallet.cpp | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index fffd633dd..c17dc894a 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -785,7 +785,14 @@ void CoinControlDialog::updateView() nChildren++; model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); - if ((GetTime() - pindex->nTime) < (60*60*24*8.8)) + int64 nStakeAge; + + if(fTestNet) + nStakeAge = nStakeMinAge; + else + nStakeAge = nStakeMinAgeV2; + + if ((GetTime() - pindex->nTime) < nStakeAge) nDisplayWeight = 0; else nDisplayWeight = nTxWeight; @@ -866,7 +873,6 @@ void CoinControlDialog::updateView() itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); - // Potential Stake double nPotentialStake = min(7.5 / 365 * nBlockSize * nAge / (60*60*24), 1000.0); //min of the max reward or the stake rate itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake * COIN), 15, " ")); //use COIN for formatting @@ -879,10 +885,10 @@ void CoinControlDialog::updateView() uint64 nMin = 1; nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; - uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * 8.8)); // default to using weight at 9.8 days for calc + uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * (nStakeAge/60/60/24))); double dAge = nAge; - if (760320 - dAge >= 0 ) // 760320 seconds is 8.8 days - nTimeToMaturity = (760320 - nAge); + if (nStakeAge - dAge >= 0 ) + nTimeToMaturity = (nStakeAge - nAge); else nTimeToMaturity = 0; uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 149381a6e..8b673a119 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2201,11 +2201,11 @@ Value cclistcoins(const Array& params, bool fHelp) double dAmount = double(out.tx->vout[out.i].nValue) / double(COIN); coutput.push_back(Pair("Value", dAmount)); coutput.push_back(Pair("Confirmations", int(out.nDepth))); - double dAge = double(GetTime() - pindex->nTime) / (60*60*24); - coutput.push_back(Pair("Age (days)", (dAge))); + double dAge = double(GetTime() - pindex->nTime); + coutput.push_back(Pair("Age (days)", (dAge/(60*60*24)))); uint64 nWeight = 0; pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); - if(dAge < 8.8) + if(dAge < fTestNet ? nStakeMinAge : nStakeMinAgeV2) nWeight = 0; coutput.push_back(Pair("Weight", int(nWeight))); double nReward = 7.5 / 365 * dAge * dAmount; From 7af37e3be80c8b559c96f160093b40057e034154 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 20 Feb 2015 18:43:00 -0700 Subject: [PATCH 322/555] organize getstakeweight() --- src/main.cpp | 2 +- src/qt/bitcoingui.cpp | 2 +- src/wallet.cpp | 78 +++---------------------------------------- src/wallet.h | 3 +- 4 files changed, 8 insertions(+), 77 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index af2e848a8..6f97fb0bc 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2409,7 +2409,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) uint64 nWeight; uint64 nHoursToMaturity; uint64 nAmount; - pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); if(pwalletMain->strDisableArg == ">") { diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 8858cfbe6..5c5e86b32 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1253,7 +1253,7 @@ void BitcoinGUI::updateMintingWeights() nAmount = 0; if (pwalletMain) - pwalletMain->GetStakeWeight2(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); if (nHoursToMaturity > 212) nHoursToMaturity = 0; diff --git a/src/wallet.cpp b/src/wallet.cpp index c88ff5bce..037f3d6ad 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1538,69 +1538,10 @@ bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& w return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, 1, fAllowS4C, coinControl); } -bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight) +bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount) { // Choose coins to use int64 nBalance = GetBalance(); - - int64 nReserveBalance = 0; - if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) - return error("CreateCoinStake : invalid reserve balance amount"); - if (nBalance <= nReserveBalance) - return false; - - set > setCoins; - vector vwtxPrev; - int64 nValueIn = 0; - - if (!SelectCoins(nBalance - nReserveBalance, GetTime(), setCoins, nValueIn)) - return false; - - if(setCoins.empty()) - return false; - - CTxDB txdb("r"); - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) - { - CTxIndex txindex; - { - LOCK2(cs_main, cs_wallet); - if (!txdb.ReadTxIndex(pcoin.first->GetHash(), txindex)) - continue; - } - - int64 nTimeWeight = GetWeight((int64)pcoin.first->nTime, (int64)GetTime()); - CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); - - // Weight is greater than zero - if (nTimeWeight > 0) - { - nWeight += bnCoinDayWeight.getuint64(); - } - - // Weight is greater than zero, but the maximum value isn't reached yet - if (nTimeWeight > 0 && nTimeWeight < nStakeMaxAge) - { - nMinWeight += bnCoinDayWeight.getuint64(); - } - - // Maximum weight was reached - if (nTimeWeight == nStakeMaxAge) - { - nMaxWeight += bnCoinDayWeight.getuint64(); - } - } - - return true; -} - -//This is added for informational purposes since staking takes 8.8 days min approx. because of bug -bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount) -{ - // Choose coins to use - int64 nBalance = GetBalance(); - - int64 nReserveBalance = 0; if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) return error("CreateCoinStake : invalid reserve balance amount"); @@ -1613,12 +1554,10 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin if (!SelectCoins(nBalance - nReserveBalance, GetTime(), setCoins, nValueIn)) return false; - if (setCoins.empty()) return false; - // variables for next stake calculation - uint64 nPrevAge = 0; + uint64 nPrevAge = 0; // for nHoursToMaturity calculation uint64 nStakeAge = nStakeMinAgeV2; if(fTestNet) nStakeAge = nStakeMinAge; @@ -1640,33 +1579,26 @@ bool CWallet::GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uin nHoursToMaturity = ((nStakeAge - nCurrentAge) / 60 / 60) + 1; nPrevAge = nCurrentAge; } + int64 nTimeWeight = GetWeight2((int64)pcoin.first->nTime, (int64)GetTime()); - //CBigNum bnAmount = CBigNum(pcoin.first->vout[pcoin.second].nValue) / COIN / 1000; CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); - if (nCurrentAge < nStakeAge) // if the age is less than 8.8 days, report weight as 0 because the stake modifier won't allow for stake yet + if (nCurrentAge < nStakeAge) // if the age is less than min stake age report it as 0 bnCoinDayWeight = 0; - // Weight is greater than zero if (nTimeWeight > 0) { nWeight += bnCoinDayWeight.getuint64(); nAmount += (uint64)pcoin.first->vout[pcoin.second].nValue / COIN; } - + // Weight is greater than zero, but the maximum value isn't reached yet if (nTimeWeight > 0 && nTimeWeight < nStakeMaxAge) - { nMinWeight += bnCoinDayWeight.getuint64(); - } - // Maximum weight was reached if (nTimeWeight == nStakeMaxAge) - { nMaxWeight += bnCoinDayWeight.getuint64(); - } } - return true; } diff --git a/src/wallet.h b/src/wallet.h index f6ae0853c..11624dd41 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -241,8 +241,7 @@ class CWallet : public CCryptoKeyStore bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); - bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight); - bool GetStakeWeight2(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount); + bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); From a3306483263d61c2c48c62057bd43545cf1d0124 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Fri, 20 Feb 2015 19:19:34 -0700 Subject: [PATCH 323/555] add wallet lock and staking info to getinfo RPC --- src/rpcwallet.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8b673a119..8fae06f44 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -23,6 +23,7 @@ CCoinControl* coinControl = new CCoinControl; static CCriticalSection cs_nWalletUnlockTime; extern void TxToJSON(const CTransaction& tx, const uint256 hashBlock, json_spirit::Object& entry); +extern int64 nLastCoinStakeSearchInterval; std::string HelpRequiringPassphrase() { @@ -93,6 +94,16 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime())); obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize())); obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee))); + obj.push_back(Pair("staking status", nLastCoinStakeSearchInterval ? "Staking Active" : "Staking Not Active")); + + std::string strLockState = ""; + if(pwalletMain->IsLocked()) + strLockState = "Wallet Locked"; + else if(pwalletMain->fWalletUnlockMintOnly) + strLockState = "Wallet Unlocked for Minting Only"; + else + strLockState = "Wallet is Unlocked"; + obj.push_back(Pair("lock state", strLockState)); if (pwalletMain->IsCrypted()) obj.push_back(Pair("unlocked_until", (boost::int64_t)nWalletUnlockTime / 1000)); obj.push_back(Pair("errors", GetWarnings("statusbar"))); From 76bc3c9ed395d95bc5b7f29cf0d77c4b9ce0948e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 11:44:21 -0700 Subject: [PATCH 324/555] listblocks RPC --- src/bitcoinrpc.cpp | 7 ++++--- src/bitcoinrpc.h | 1 + src/rpcblockchain.cpp | 30 ++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index a0837cce4..773098489 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -289,7 +289,7 @@ static const CRPCCommand vRPCCommands[] = { "strictincoming", &strictincoming, false, false }, { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, - + { "listblocks", &listblocks, false, false }, }; CRPCTable::CRPCTable() @@ -1223,9 +1223,10 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[5]); if (strMethod == "sendalert" && n > 1) ConvertTo(params[6]); if (strMethod == "sendalert" && n > 7) ConvertTo(params[7]); - if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); + if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); if (strMethod == "strictincoming" && n > 0) ConvertTo(params[0]); - + if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); + if (strMethod == "listblocks" && n > 0) ConvertTo(params[1]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 649e15e1e..77dc650aa 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -226,6 +226,7 @@ extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp) extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getcheckpoint(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 46a1f706f..c5287b9f3 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -286,3 +286,33 @@ Value exportdifficulty(const Array& params, bool fHelp) File.close(); return "succesfully exported"; } + +// presstab HyperStake +Value listblocks(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + " <# of blocks to display>\n" + "list basic information about a range of blocks\n"); + unsigned int nTopBlock = params[0].get_int(); + unsigned int nRange = params[1].get_int(); + Array arrRet; + + for(unsigned int i = 0; i < nRange; i++) + { + Object blk; + unsigned int nBlockNumber = nTopBlock - i; + CBlockIndex* pindex = FindBlockByHeight(nBlockNumber); + blk.push_back(Pair("height", pindex->nHeight)); + blk.push_back(Pair("hash", pindex->GetBlockHash().GetHex())); + blk.push_back(Pair("time", pindex->GetBlockTime())); + blk.push_back(Pair("difficulty", GetDifficulty(pindex))); + if(pindex->IsProofOfStake()) + blk.push_back(Pair("type", "PoS")); + else + blk.push_back(Pair("type", "PoW")); + arrRet.push_back(blk); + } + + return arrRet; +} From 07d802364dfcccd0c2e0fa03abbb11a1f1f917ce Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 12:50:19 -0700 Subject: [PATCH 325/555] use int64_t for time rpc listblocks --- src/rpcblockchain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index c5287b9f3..92afe8a0e 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -305,7 +305,7 @@ Value listblocks(const Array& params, bool fHelp) CBlockIndex* pindex = FindBlockByHeight(nBlockNumber); blk.push_back(Pair("height", pindex->nHeight)); blk.push_back(Pair("hash", pindex->GetBlockHash().GetHex())); - blk.push_back(Pair("time", pindex->GetBlockTime())); + blk.push_back(Pair("time", (boost::int64_t)pindex->GetBlockTime())); blk.push_back(Pair("difficulty", GetDifficulty(pindex))); if(pindex->IsProofOfStake()) blk.push_back(Pair("type", "PoS")); From f1d532c46ce52849b33f6e53217062f8ae259d2d Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 14:49:36 -0700 Subject: [PATCH 326/555] fix bitcoingui argument count --- src/qt/bitcoingui.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5c5e86b32..a80728070 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1177,25 +1177,25 @@ void BitcoinGUI::updateMintingIcon() { if (pwalletMain && pwalletMain->IsLocked()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); + labelMintingIcon->setToolTip(tr("Not minting because wallet is locked.
          Network weight is %1.
          MultiSend: %2").arg(nNetworkWeight).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (pwalletMain && pwalletMain->fDisableStake) { - labelMintingIcon->setToolTip(tr("Not minting because staking is disabled.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); + labelMintingIcon->setToolTip(tr("Not minting because staking is disabled.
          Network weight is %1.
          MultiSend: %2").arg(nNetworkWeight).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (vNodes.empty()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); + labelMintingIcon->setToolTip(tr("Not minting because wallet is offline.
          Network weight is %1.
          MultiSend: %2").arg(nNetworkWeight).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } else if (IsInitialBlockDownload()) { - labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
          Network weight is %1.
          MultiSend: %3").arg(nNetworkWeight).arg(nHoursToMaturity).arg(fMultiSend ? tr("Active"):tr("Not Active"))); + labelMintingIcon->setToolTip(tr("Not minting because wallet is syncing.
          Network weight is %1.
          MultiSend: %2").arg(nNetworkWeight).arg(fMultiSend ? tr("Active"):tr("Not Active"))); labelMintingIcon->setEnabled(false); labelMintingIcon->setPixmap(QIcon(":/icons/mining_inactive").pixmap(STATUSBAR_ICONSIZE, STATUSBAR_ICONSIZE)); } From e1200991da72a5141f61fccb0f34040c9d9a20a8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 14:55:18 -0700 Subject: [PATCH 327/555] coincontroldialog use double instead of uint64 --- src/qt/coincontroldialog.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index c17dc894a..673c88fd9 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -785,14 +785,14 @@ void CoinControlDialog::updateView() nChildren++; model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); - int64 nStakeAge; + double dStakeAge; if(fTestNet) - nStakeAge = nStakeMinAge; + dStakeAge = nStakeMinAge; else - nStakeAge = nStakeMinAgeV2; + dStakeAge = nStakeMinAgeV2; - if ((GetTime() - pindex->nTime) < nStakeAge) + if ((GetTime() - pindex->nTime) < dStakeAge) nDisplayWeight = 0; else nDisplayWeight = nTxWeight; @@ -885,10 +885,10 @@ void CoinControlDialog::updateView() uint64 nMin = 1; nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; - uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * (nStakeAge/60/60/24))); + uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * (dStakeAge/(60*60*24)))); double dAge = nAge; - if (nStakeAge - dAge >= 0 ) - nTimeToMaturity = (nStakeAge - nAge); + if (dStakeAge - dAge >= 0 ) + nTimeToMaturity = (dStakeAge - nAge); else nTimeToMaturity = 0; uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate From d24ac9236682f399a4a1399341cec7e92a4beeb0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 15:37:31 -0700 Subject: [PATCH 328/555] listblocks rpc --- src/bitcoinrpc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 773098489..11db2402e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -1226,7 +1226,7 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "strictincoming" && n > 0) ConvertTo(params[0]); if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); - if (strMethod == "listblocks" && n > 0) ConvertTo(params[1]); + if (strMethod == "listblocks" && n > 1) ConvertTo(params[1]); return params; } From b6b647a0086bcb5ed202977f4258b3be71691551 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 17:03:09 -0700 Subject: [PATCH 329/555] make sure there is no 0 value in coin control --- src/qt/coincontroldialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 673c88fd9..9c847a1b8 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -886,6 +886,7 @@ void CoinControlDialog::updateView() nBlockSize = qMax(nBlockSize, nMin); uint64 nTimeToMaturity = 0; uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * (dStakeAge/(60*60*24)))); + nBlockWeight = qMax(nBlockWeight, (uint64)1); double dAge = nAge; if (dStakeAge - dAge >= 0 ) nTimeToMaturity = (dStakeAge - nAge); From 08974f993edb2f210ec093af55f54e2fea1e8d2b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 21 Feb 2015 17:03:35 -0700 Subject: [PATCH 330/555] add mint and moneysupply to listblocks RPC --- src/rpcblockchain.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 92afe8a0e..90bc3ba95 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -311,6 +311,9 @@ Value listblocks(const Array& params, bool fHelp) blk.push_back(Pair("type", "PoS")); else blk.push_back(Pair("type", "PoW")); + blk.push_back(Pair("minted", ValueFromAmount(pindex->nMint))); + blk.push_back(Pair("money supply", ValueFromAmount(pindex->nMoneySupply))); + arrRet.push_back(blk); } From dd156d6bc0dfc0db8624b639b56006df11626c2d Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 23 Feb 2015 20:47:50 +0100 Subject: [PATCH 331/555] Added bitcoin networkstyle.cpp/h --- src/Makefile.qt.include | 6 ++- src/qt/bitcoin.qrc | 2 +- src/qt/networkstyle.cpp | 97 +++++++++++++++++++++++++++++++++++++++++ src/qt/networkstyle.h | 33 ++++++++++++++ 4 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 src/qt/networkstyle.cpp create mode 100644 src/qt/networkstyle.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index c874d9d59..aa081b5fc 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -99,6 +99,7 @@ BITCOIN_QT_H = \ qt/macdockiconhandler.h \ qt/macnotificationhandler.h \ qt/monitoreddatamapper.h \ + qt/networkstyle.h \ qt/notificator.h \ qt/optionsdialog.h \ qt/optionsmodel.h \ @@ -122,7 +123,6 @@ BITCOIN_QT_H = \ RES_ICONS = \ qt/res/icons/add.png \ qt/res/icons/address-book.png \ - qt/res/icons/bitcoin.icns \ qt/res/icons/clock1.png \ qt/res/icons/clock2.png \ qt/res/icons/clock3.png \ @@ -141,6 +141,9 @@ RES_ICONS = \ qt/res/icons/export.png \ qt/res/icons/filesave.png \ qt/res/icons/history.png \ + qt/res/icons/hyperstake-16.png \ + qt/res/icons/hyperstake-32.png \ + qt/res/icons/hyperstake-128.png \ qt/res/icons/key.png \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ @@ -172,6 +175,7 @@ BITCOIN_QT_CPP = \ qt/csvmodelwriter.cpp \ qt/guiutil.cpp \ qt/monitoreddatamapper.cpp \ + qt/networkstyle.cpp \ qt/notificator.cpp \ qt/optionsdialog.cpp \ qt/optionsmodel.cpp \ diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index a1220cd13..bbd0fe460 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -1,6 +1,6 @@ - res/icons/hyperstake-16.png + res/icons/hyperstake-128.png res/icons/hyperstake-16.png res/icons/hyperstake-32.png res/icons/address-book.png diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp new file mode 100644 index 000000000..e28f903b2 --- /dev/null +++ b/src/qt/networkstyle.cpp @@ -0,0 +1,97 @@ +// Copyright (c) 2014 The Bitcoin Core developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "networkstyle.h" + +#include "guiconstants.h" +#include "scicon.h" + +#include + +static const struct { + const char *networkId; + const char *appName; + const int iconColorHueShift; + const int iconColorSaturationReduction; + const char *titleAddText; +} network_styles[] = { + {"main", QAPP_APP_NAME_DEFAULT, 0, 0, ""}, + {"test", QAPP_APP_NAME_TESTNET, 70, 30, QT_TRANSLATE_NOOP("SplashScreen", "[testnet]")}, + {"regtest", QAPP_APP_NAME_TESTNET, 160, 30, "[regtest]"} +}; +static const unsigned network_styles_count = sizeof(network_styles)/sizeof(*network_styles); + +// titleAddText needs to be const char* for tr() +NetworkStyle::NetworkStyle(const QString &appName, const int iconColorHueShift, const int iconColorSaturationReduction, const char *titleAddText): + appName(appName), + titleAddText(qApp->translate("SplashScreen", titleAddText)) +{ + // load pixmap + QPixmap pixmap(":/icons/bitcoin"); + + if(iconColorHueShift != 0 && iconColorSaturationReduction != 0) + { + // generate QImage from QPixmap + QImage img = pixmap.toImage(); + + int h,s,l,a; + + // traverse though lines + for(int y=0;y( img.scanLine( y ) ); + + // loop through pixels + for(int x=0;xiconColorSaturationReduction) + { + s -= iconColorSaturationReduction; + } + col.setHsl(h,s,l,a); + + // set the pixel + scL[x] = col.rgba(); + } + } + + //convert back to QPixmap +#if QT_VERSION >= 0x040700 + pixmap.convertFromImage(img); +#else + pixmap = QPixmap::fromImage(img); +#endif + } + + appIcon = QIcon(pixmap); + trayAndWindowIcon = QIcon(pixmap.scaled(QSize(256,256))); +} + +const NetworkStyle *NetworkStyle::instantiate(const QString &networkId) +{ + for (unsigned x=0; x +#include +#include + +/* Coin network-specific GUI style information */ +class NetworkStyle +{ +public: + /** Get style associated with provided BIP70 network id, or 0 if not known */ + static const NetworkStyle *instantiate(const QString &networkId); + + const QString &getAppName() const { return appName; } + const QIcon &getAppIcon() const { return appIcon; } + const QIcon &getTrayAndWindowIcon() const { return trayAndWindowIcon; } + const QString &getTitleAddText() const { return titleAddText; } + +private: + NetworkStyle(const QString &appName, const int iconColorHueShift, const int iconColorSaturationReduction, const char *titleAddText); + + QString appName; + QIcon appIcon; + QIcon trayAndWindowIcon; + QString titleAddText; +}; + +#endif // BITCOIN_QT_NETWORKSTYLE_H From 1aa9f83aa0506b62080537f15b303dfbfa7a53cd Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Mon, 23 Feb 2015 21:00:30 +0100 Subject: [PATCH 332/555] remove regtest net since it is not known in hyperstake --- src/qt/networkstyle.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/qt/networkstyle.cpp b/src/qt/networkstyle.cpp index e28f903b2..9401d3e54 100644 --- a/src/qt/networkstyle.cpp +++ b/src/qt/networkstyle.cpp @@ -17,8 +17,7 @@ static const struct { const char *titleAddText; } network_styles[] = { {"main", QAPP_APP_NAME_DEFAULT, 0, 0, ""}, - {"test", QAPP_APP_NAME_TESTNET, 70, 30, QT_TRANSLATE_NOOP("SplashScreen", "[testnet]")}, - {"regtest", QAPP_APP_NAME_TESTNET, 160, 30, "[regtest]"} + {"test", QAPP_APP_NAME_TESTNET, 70, 30, QT_TRANSLATE_NOOP("SplashScreen", "[testnet]")} }; static const unsigned network_styles_count = sizeof(network_styles)/sizeof(*network_styles); From 7168f34822310fda783ddaf3d70daa2cbccb8af5 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Wed, 25 Feb 2015 13:21:41 +0100 Subject: [PATCH 333/555] Implement the UI appearance using networkstyle --- src/Makefile.qt.include | 2 + src/qt/bitcoin.cpp | 53 +++++++++++++++++++------- src/qt/bitcoingui.cpp | 75 +++++++++++++++++++++--------------- src/qt/bitcoingui.h | 25 +++++++----- src/qt/guiconstants.h | 3 ++ src/qt/scicon.cpp | 84 +++++++++++++++++++++++++++++++++++++++++ src/qt/scicon.h | 24 ++++++++++++ 7 files changed, 213 insertions(+), 53 deletions(-) create mode 100644 src/qt/scicon.cpp create mode 100644 src/qt/scicon.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index aa081b5fc..2f67d75e8 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -109,6 +109,7 @@ BITCOIN_QT_H = \ qt/qvalidatedlineedit.h \ qt/qvaluecombobox.h \ qt/rpcconsole.h \ + qt/scicon.h \ qt/sendcoinsdialog.h \ qt/sendcoinsentry.h \ qt/signverifymessagedialog.h \ @@ -183,6 +184,7 @@ BITCOIN_QT_CPP = \ qt/qvalidatedlineedit.cpp \ qt/qvaluecombobox.cpp \ qt/rpcconsole.cpp \ + qt/scicon.cpp \ qt/walletmodel.cpp if ENABLE_WALLET diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 142741f0e..d3502b25d 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -2,15 +2,17 @@ * W.J. van der Laan 2011-2012 */ #include "bitcoingui.h" + #include "clientmodel.h" -#include "walletmodel.h" -#include "optionsmodel.h" -#include "guiutil.h" #include "guiconstants.h" - +#include "guiutil.h" #include "init.h" +#include "networkstyle.h" +#include "optionsmodel.h" #include "ui_interface.h" + #include "paymentserver.h" +#include "walletmodel.h" #include #include @@ -109,9 +111,13 @@ int main(int argc, char *argv[]) { fHaveGUI = true; + /// 1. Parse command-line options. These take precedence over anything else. // Command-line options take precedence: ParseParameters(argc, argv); + + // Do not refer to data directory yet, this can be overridden by Intro::pickDataDirectory + /// 2. Basic Qt initialization (not dependent on parameters or configuration) #if QT_VERSION < 0x050000 // Internal string conversion is all UTF-8 QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8")); @@ -119,8 +125,16 @@ int main(int argc, char *argv[]) #endif Q_INIT_RESOURCE(bitcoin); + QApplication app(argc, argv); - +#if QT_VERSION > 0x050100 + // Generate high-dpi pixmaps + QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); +#endif +#ifdef Q_OS_MAC + QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); +#endif + // Do this early as we don't want to bother initializing if we are just calling IPC // ... but do it after creating app, so QCoreApplication::arguments is initialized: if (PaymentServer::ipcSendCommandLine()) @@ -139,17 +153,30 @@ int main(int argc, char *argv[]) QString("Error: Specified data directory \"%1\" does not exist.").arg(QString::fromStdString(mapArgs["-datadir"]))); return 1; } - ReadConfigFile(mapArgs, mapMultiArgs); - + try { + ReadConfigFile(mapArgs, mapMultiArgs); + } catch (const std::exception& e) { + QMessageBox::critical(0, QObject::tr("HyperStake"), + QObject::tr("Error: Cannot parse configuration file: %1. Only use key=value syntax.").arg(e.what())); + return false; + } + + // Application identification (must be set before OptionsModel is initialized, // as it is used to locate QSettings) app.setOrganizationName("HyperStake"); app.setOrganizationDomain("HyperStake.su"); - if(GetBoolArg("-testnet")) // Separate UI settings for testnet - app.setApplicationName("HyperStake-Qt-testnet"); - else - app.setApplicationName("HyperStake-Qt"); - + + QString networkIDString = "main"; + if (GetBoolArg("-testnet")){ + networkIDString = "test"; + } + + QScopedPointer networkStyle(NetworkStyle::instantiate(networkIDString)); + assert(!networkStyle.isNull()); + // Allow for separate UI settings for testnets + QApplication::setApplicationName(networkStyle->getAppName()); + // ... then GUI settings: OptionsModel optionsModel; @@ -222,7 +249,7 @@ int main(int argc, char *argv[]) if (GUIUtil::GetStartOnSystemStartup()) GUIUtil::SetStartOnSystemStartup(true); - BitcoinGUI window; + BitcoinGUI window(networkStyle.data(),0); guiref = &window; if(AppInit2()) { diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index a80728070..1f7c6c9f4 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -24,6 +24,7 @@ #include "bitcoinunits.h" #include "guiconstants.h" #include "askpassphrasedialog.h" +#include "networkstyle.h" #include "notificator.h" #include "guiutil.h" #include "rpcconsole.h" @@ -73,7 +74,7 @@ extern CWallet *pwalletMain; extern int64 nLastCoinStakeSearchInterval; extern unsigned int nStakeTargetSpacing; -BitcoinGUI::BitcoinGUI(QWidget *parent): +BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): QMainWindow(parent), clientModel(0), walletModel(0), @@ -83,18 +84,28 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): lockWalletToggleAction(0), aboutQtAction(0), trayIcon(0), + trayIconMenu(0), notificator(0), rpcConsole(0) { resize(850, 550); - setWindowTitle(tr("HyperStake") + " - " + tr("Wallet")); + + QString windowTitle = tr("HyperStake") + " - " + tr("Wallet"); + windowTitle += " " + networkStyle->getTitleAddText(); #ifndef Q_OS_MAC - qApp->setWindowIcon(QIcon(":icons/bitcoin32")); - setWindowIcon(QIcon(":icons/bitcoin32")); + QApplication::setWindowIcon(networkStyle->getTrayAndWindowIcon()); + setWindowIcon(networkStyle->getTrayAndWindowIcon()); #else + MacDockIconHandler::instance()->setIcon(networkStyle->getAppIcon()); +#endif + setWindowTitle(windowTitle); + +#if defined(Q_OS_MAC) && QT_VERSION < 0x050000 + // This property is not implemented in Qt 5. Setting it has no effect. + // A replacement API (QtMacUnifiedToolBar) is available in QtMacExtras. setUnifiedTitleAndToolBarOnMac(true); - QApplication::setAttribute(Qt::AA_DontShowIconsInMenus); #endif + // Accept D&D of URIs setAcceptDrops(true); @@ -103,6 +114,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): listThemes(themesList); /* /zeewolf: Hot swappable wallet themes */ // Create actions for the toolbar, menu bar and tray/dock icon + // Needs walletFrame to be initialized createActions(); // Create application menu bar @@ -112,14 +124,7 @@ BitcoinGUI::BitcoinGUI(QWidget *parent): createToolBars(); // Create the tray icon (or setup the dock icon) abffaaassffffa - createTrayIcon(); - - /* don't override the background color of the toolbar on mac os x due to - the whole component it resides on not being paintable - */ -#ifdef Q_OS_MAC - //toolbar->setStyleSheet("QToolBar { background-color: transparent; border: 0px solid black; padding: 3px; }"); -#endif + createTrayIcon(networkStyle); // Create tabs overviewPage = new OverviewPage(); @@ -246,6 +251,7 @@ BitcoinGUI::~BitcoinGUI() trayIcon->hide(); #ifdef Q_OS_MAC delete appMenuBar; + MacDockIconHandler::instance()->setMainWindow(NULL); #endif } @@ -470,20 +476,15 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel) this->clientModel = clientModel; if(clientModel) { + // Create system tray menu (or setup the dock menu) that late to prevent users from calling actions, + // while the client has not yet fully loaded + createTrayIconMenu(); + // Replace some strings and icons, when using the testnet if(clientModel->isTestNet()) { - setWindowTitle(windowTitle() + QString(" ") + tr("[testnet]")); -#ifndef Q_OS_MAC - qApp->setWindowIcon(QIcon(":icons/bitcoin_testnet")); - setWindowIcon(QIcon(":icons/bitcoin_testnet")); -#else - MacDockIconHandler::instance()->setIcon(QIcon(":icons/bitcoin_testnet")); -#endif if(trayIcon) { - trayIcon->setToolTip(tr("HyperStake client") + QString(" ") + tr("[testnet]")); - trayIcon->setIcon(QIcon(":/icons/toolbar_testnet")); toggleHideAction->setIcon(QIcon(":/icons/toolbar_testnet")); } @@ -536,24 +537,39 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) } } -void BitcoinGUI::createTrayIcon() +void BitcoinGUI::createTrayIcon(const NetworkStyle *networkStyle) { - QMenu *trayIconMenu; #ifndef Q_OS_MAC trayIcon = new QSystemTrayIcon(this); + QString toolTip = tr("HyperStake client") + " " + networkStyle->getTitleAddText(); + trayIcon->setToolTip(toolTip); + trayIcon->setIcon(networkStyle->getTrayAndWindowIcon()); + trayIcon->show(); +#endif + + notificator = new Notificator(qApp->applicationName(), trayIcon, this); +} + + +void BitcoinGUI::createTrayIconMenu() +{ +#ifndef Q_OS_MAC + // return if trayIcon is unset (only on non-Mac OSes) + if (!trayIcon) + return; + trayIconMenu = new QMenu(this); trayIcon->setContextMenu(trayIconMenu); - trayIcon->setToolTip(tr("HyperStake client")); - trayIcon->setIcon(QIcon(":/icons/toolbar")); + connect(trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconActivated(QSystemTrayIcon::ActivationReason))); - trayIcon->show(); #else // Note: On Mac, the dock icon is used to provide the tray's functionality. MacDockIconHandler *dockIconHandler = MacDockIconHandler::instance(); + dockIconHandler->setMainWindow((QMainWindow *)this); trayIconMenu = dockIconHandler->dockMenu(); #endif - + // Configuration of the tray icon (or dock icon) icon menu trayIconMenu->addAction(toggleHideAction); trayIconMenu->addSeparator(); @@ -569,10 +585,9 @@ void BitcoinGUI::createTrayIcon() trayIconMenu->addSeparator(); trayIconMenu->addAction(quitAction); #endif - - notificator = new Notificator(qApp->applicationName(), trayIcon, this); } + #ifndef Q_OS_MAC void BitcoinGUI::trayIconActivated(QSystemTrayIcon::ActivationReason reason) { diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 48b508369..7e60b40fa 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -6,18 +6,19 @@ #include "util.h" // for uint64 -class TransactionTableModel; +class AddressBookPage; +class BlockBrowser; class ClientModel; -class WalletModel; -class TransactionView; +class NetworkStyle; +class Notificator; class OverviewPage; -class AddressBookPage; +class RPCConsole; class SendCoinsDialog; class SignVerifyMessageDialog; -class Notificator; -class RPCConsole; class StakeForCharityDialog; -class BlockBrowser; +class TransactionTableModel; +class TransactionView; +class WalletModel; QT_BEGIN_NAMESPACE class QLabel; @@ -38,7 +39,7 @@ class BitcoinGUI : public QMainWindow { Q_OBJECT public: - explicit BitcoinGUI(QWidget *parent = 0); + explicit BitcoinGUI(const NetworkStyle *networkStyle, QWidget *parent = 0); ~BitcoinGUI(); /** Set the client model. @@ -112,6 +113,7 @@ class BitcoinGUI : public QMainWindow QSystemTrayIcon *trayIcon; + QMenu *trayIconMenu; Notificator *notificator; TransactionView *transactionView; RPCConsole *rpcConsole; @@ -142,8 +144,11 @@ class BitcoinGUI : public QMainWindow void createMenuBar(); /** Create the toolbars */ void createToolBars(); - /** Create system tray (notification) icon */ - void createTrayIcon(); + /** Create system tray icon and notification */ + void createTrayIcon(const NetworkStyle *networkStyle); + /** Create system tray menu (or setup the dock menu) */ + void createTrayIconMenu(); + public slots: /** Set number of connections shown in the UI */ diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 67b5f882d..6c874d63b 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -28,4 +28,7 @@ static const int MAX_URI_LENGTH = 255; /* QRCodeDialog -- size of exported QR Code image */ #define EXPORT_IMAGE_SIZE 256 +#define QAPP_APP_NAME_DEFAULT "HyperStake-Qt" +#define QAPP_APP_NAME_TESTNET "HyperStake-Qt-testnet" + #endif // GUICONSTANTS_H diff --git a/src/qt/scicon.cpp b/src/qt/scicon.cpp new file mode 100644 index 000000000..a0ffcd82a --- /dev/null +++ b/src/qt/scicon.cpp @@ -0,0 +1,84 @@ +// Copyright (c) 2014 The Bitcoin developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "scicon.h" + +#include +#include +#include +#include +#include +#include + +static void MakeSingleColorImage(QImage& img, const QColor& colorbase) +{ + img = img.convertToFormat(QImage::Format_ARGB32); + for (int x = img.width(); x--; ) + { + for (int y = img.height(); y--; ) + { + const QRgb rgb = img.pixel(x, y); + img.setPixel(x, y, qRgba(colorbase.red(), colorbase.green(), colorbase.blue(), qAlpha(rgb))); + } + } +} + +QImage SingleColorImage(const QString& filename, const QColor& colorbase) +{ + QImage img(filename); + MakeSingleColorImage(img, colorbase); + return img; +} + +QIcon SingleColorIcon(const QIcon& ico, const QColor& colorbase) +{ + QIcon new_ico; + QSize sz; + Q_FOREACH(sz, ico.availableSizes()) + { + QImage img(ico.pixmap(sz).toImage()); + MakeSingleColorImage(img, colorbase); + new_ico.addPixmap(QPixmap::fromImage(img)); + } + return new_ico; +} + +QIcon SingleColorIcon(const QString& filename, const QColor& colorbase) +{ + return QIcon(QPixmap::fromImage(SingleColorImage(filename, colorbase))); +} + +QColor SingleColor() +{ + const QColor colorHighlightBg(QApplication::palette().color(QPalette::Highlight)); + const QColor colorHighlightFg(QApplication::palette().color(QPalette::HighlightedText)); + const QColor colorText(QApplication::palette().color(QPalette::WindowText)); + const int colorTextLightness = colorText.lightness(); + QColor colorbase; + if (abs(colorHighlightBg.lightness() - colorTextLightness) < abs(colorHighlightFg.lightness() - colorTextLightness)) + colorbase = colorHighlightBg; + else + colorbase = colorHighlightFg; + return colorbase; +} + +QIcon SingleColorIcon(const QString& filename) +{ + return SingleColorIcon(filename, SingleColor()); +} + +static QColor TextColor() +{ + return QColor(QApplication::palette().color(QPalette::WindowText)); +} + +QIcon TextColorIcon(const QString& filename) +{ + return SingleColorIcon(filename, TextColor()); +} + +QIcon TextColorIcon(const QIcon& ico) +{ + return SingleColorIcon(ico, TextColor()); +} diff --git a/src/qt/scicon.h b/src/qt/scicon.h new file mode 100644 index 000000000..1388069dd --- /dev/null +++ b/src/qt/scicon.h @@ -0,0 +1,24 @@ +// Copyright (c) 2014 The Bitcoin developers +// Distributed under the MIT software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_QT_SCICON_H +#define BITCOIN_QT_SCICON_H + +#include + +QT_BEGIN_NAMESPACE +class QColor; +class QIcon; +class QString; +QT_END_NAMESPACE + +QImage SingleColorImage(const QString& filename, const QColor&); +QIcon SingleColorIcon(const QIcon&, const QColor&); +QIcon SingleColorIcon(const QString& filename, const QColor&); +QColor SingleColor(); +QIcon SingleColorIcon(const QString& filename); +QIcon TextColorIcon(const QIcon&); +QIcon TextColorIcon(const QString& filename); + +#endif // BITCOIN_QT_SCICON_H From 87df88c21e3e66b50c0e4297ef9daa3767da57fc Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Wed, 25 Feb 2015 14:14:46 +0100 Subject: [PATCH 334/555] Remove last references to testnet icons --- src/qt/bitcoin.qrc | 2 -- src/qt/bitcoingui.cpp | 11 ----------- 2 files changed, 13 deletions(-) diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index bbd0fe460..1af3e508f 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -24,8 +24,6 @@ res/icons/editpaste.png res/icons/editcopy.png res/icons/add.png - res/icons/hyperstake-16.png - res/icons/hyperstake-16.png res/icons/edit.png res/icons/history.png res/icons/overview.png diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 1f7c6c9f4..5e2b2c770 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -480,17 +480,6 @@ void BitcoinGUI::setClientModel(ClientModel *clientModel) // while the client has not yet fully loaded createTrayIconMenu(); - // Replace some strings and icons, when using the testnet - if(clientModel->isTestNet()) - { - if(trayIcon) - { - toggleHideAction->setIcon(QIcon(":/icons/toolbar_testnet")); - } - - aboutAction->setIcon(QIcon(":/icons/toolbar_testnet")); - } - // Keep up to date with client setNumConnections(clientModel->getNumConnections()); connect(clientModel, SIGNAL(numConnectionsChanged(int)), this, SLOT(setNumConnections(int))); From f8a6d3e8955c18f6c7a27e4b1b7c065661e1a530 Mon Sep 17 00:00:00 2001 From: RobVanMieghem Date: Wed, 25 Feb 2015 14:32:09 +0100 Subject: [PATCH 335/555] Added new files to .pro --- HyperStake-qt.pro | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index d35923c2a..f7074ada7 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -232,7 +232,9 @@ HEADERS += src/qt/bitcoingui.h \ src/sph_echo.h \ src/sph_shavite.h \ src/sph_simd.h \ - src/sph_types.h + src/sph_types.h \ + src/qt/networkstyle.h \ + src/qt/scicon.h SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/transactiontablemodel.cpp \ @@ -311,7 +313,9 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/blockbrowser.cpp \ src/qt/charitydialog.cpp \ src/simd.c \ - src/clientversion.cpp + src/clientversion.cpp \ + src/qt/networkstyle.cpp \ + src/qt/scicon.cpp RESOURCES += \ src/qt/bitcoin.qrc From d1a10d40bc4aa72d7d6cf30409709d65acd3767f Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 26 Feb 2015 14:28:44 -0700 Subject: [PATCH 336/555] clear maps so they don't use too much memory --- src/kernel.cpp | 1 + src/main.cpp | 14 ++++++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 964ddcf3a..5f06f552f 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -384,6 +384,7 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned hashProofOfStake.ToString().c_str()); } } + mapHashedBlocks.clear(); mapHashedBlocks[nBestHeight] = GetTime(); //store a time stamp of when we last hashed on this block return fSuccess; } diff --git a/src/main.cpp b/src/main.cpp index 6f97fb0bc..00ef07295 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2981,10 +2981,11 @@ bool static AlreadyHave(CTxDB& txdb, const CInv& inv) // The characters are rarely used upper ASCII, not valid as UTF-8, and produce // a large 4-byte int at any alignment. unsigned char pchMessageStart[4] = { 0xdb, 0xad, 0xbd, 0xda }; +unsigned int nLastMapGetBlocksClear = 0; bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) { - static map mapReuseKey; + static map mapReuseKey; RandAddSeedPerfmon(); if (fDebug) printf("received: %s (%"PRIszu" bytes)\n", strCommand.c_str(), vRecv.size()); @@ -2994,10 +2995,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) return true; } - - - - if (strCommand == "version") { // Each connection can only send one version message @@ -3350,7 +3347,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) else if (strCommand == "getblocks") { - CBlockLocator locator; + //clear our mapGetBlocksRequests every 3 minutes to prevent storing lots of data + if(nLastMapGetBlocksClear != 0 && GetTime() - nLastMapGetBlocksClear > (180)) + mapGetBlocksRequests.clear(); + + CBlockLocator locator; uint256 hashStop; vRecv >> locator >> hashStop; @@ -3367,6 +3368,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) { if(fStrictIncoming) { + nLastMapGetBlocksClear = GetTime(); std::string strFrom = pfrom->addrName; if(mapGetBlocksRequests.count(strFrom)) { From 4302b5d5f656e76781fbefe37584cc6caeacd52e Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 26 Feb 2015 20:30:58 -0700 Subject: [PATCH 337/555] add more input info to TxToJSON --- src/rpcrawtransaction.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index da1bb489f..90733d2a4 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -57,7 +57,18 @@ void TxToJSON(const CTransaction& tx, const uint256 hashBlock, Object& entry) else { in.push_back(Pair("txid", txin.prevout.hash.GetHex())); - in.push_back(Pair("vout", (boost::int64_t)txin.prevout.n)); + in.push_back(Pair("vout", (boost::int64_t)txin.prevout.n)); + + CTransaction txoutspent; + uint256 tempHash = 0; + if(GetTransaction( txin.prevout.hash, txoutspent, tempHash)) + { + in.push_back(Pair("value", ValueFromAmount(txoutspent.vout[txin.prevout.n].nValue))); + CTxDestination inputAddress; + ExtractDestination(txoutspent.vout[txin.prevout.n].scriptPubKey, inputAddress); + in.push_back(Pair("addressfrom", CBitcoinAddress(inputAddress).ToString())); + } + Object o; o.push_back(Pair("asm", txin.scriptSig.ToString())); o.push_back(Pair("hex", HexStr(txin.scriptSig.begin(), txin.scriptSig.end()))); From bbc11bff20466d3e51394ddaae4ff79f4cf98eb0 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Mar 2015 13:35:18 -0700 Subject: [PATCH 338/555] getinfo RPC make staking status more accurate --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8fae06f44..8146927f0 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -94,7 +94,7 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime())); obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize())); obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee))); - obj.push_back(Pair("staking status", nLastCoinStakeSearchInterval ? "Staking Active" : "Staking Not Active")); + obj.push_back(Pair("staking status", mapHashedBlocks.count(nBestHeight) ? "Staking Active" : "Staking Not Active")); std::string strLockState = ""; if(pwalletMain->IsLocked()) From 0b9dc55d65dfe846f41a6ab54194aad2ec046054 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sat, 7 Mar 2015 06:58:18 +0100 Subject: [PATCH 339/555] Fix make deploy, Hyperstake-Qt.app and .dmg creation --- contrib/macdeploy/DS_Store | Bin 0 -> 10244 bytes contrib/macdeploy/LICENSE | 2 +- contrib/macdeploy/README.md | 14 + contrib/macdeploy/background.png | Bin 16607 -> 48690 bytes contrib/macdeploy/background.psd | Bin 66096 -> 982442 bytes contrib/macdeploy/background.tiff | Bin 0 -> 202136 bytes contrib/macdeploy/background@2x.png | Bin 0 -> 138890 bytes contrib/macdeploy/detached-sig-apply.sh | 53 ++++ contrib/macdeploy/detached-sig-create.sh | 46 +++ contrib/macdeploy/fancy.plist | 4 +- contrib/macdeploy/macdeployqtplus | 365 +++++++++++++++-------- contrib/macdeploy/notes.txt | 26 -- 12 files changed, 361 insertions(+), 149 deletions(-) create mode 100644 contrib/macdeploy/DS_Store create mode 100644 contrib/macdeploy/README.md create mode 100644 contrib/macdeploy/background.tiff create mode 100644 contrib/macdeploy/background@2x.png create mode 100755 contrib/macdeploy/detached-sig-apply.sh create mode 100755 contrib/macdeploy/detached-sig-create.sh mode change 100644 => 100755 contrib/macdeploy/macdeployqtplus delete mode 100644 contrib/macdeploy/notes.txt diff --git a/contrib/macdeploy/DS_Store b/contrib/macdeploy/DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..099960712af26791175d9f0cdd3d52c251ea9ee4 GIT binary patch literal 10244 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 KMNUMnLSTZWI*(%j literal 16607 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 S5x^C(Zd_NBFOfBU`2PS>4W_36 diff --git a/contrib/macdeploy/background.psd b/contrib/macdeploy/background.psd index e0a8c9ab9da81e052dfd9daa61e594462ef0e8fe..fdc4f4ca4a07ea4c6082ee1357b6ec7e8db99d72 100644 GIT binary patch literal 982442 zcmeEv31Aad{{NfwE(OY|0&3(&Eltaf3W0JJC{zllh}tws+en(kB;|57psudR&nlv> z#~LrZ*0t+>?5@FM*K@7+1zHdl6(J~hfzJQ)eKV8HBq>sL_pk0to6OAjUEk|{-}QZO zMo%oSU=mY4>5Q3HFqZZe%Vuc`sOt356HCj|5rWSVeWV2}t@nVbv8xFwLNeoV2Jkrf zZ#qkF=1%d5PU(Bv zh%!r=uf$pFnzr2UtXMv4u6_9;`xr;x@#At&UOIMZov+Rrw3(OIxjligOHb)*b9k$q zV{uR5!oFr6CAjF6z7r_Ge0o{Axy0*tnnw&BQDC6E^;!Juz!Vd0V`ONK5PHq`5{ zDJ&W@W=x@_xUjgm05J*z%RE8b(gIJQpOT4|&m?ES?sxfuF0aQ-`P!u{<1}6PdA@8g82EBn=ZyR*S zf)(nya1@@M4D`pA_?@<(*FV?mb&pfzUasY5E-5h&F0$jhil7(;mZG`E!^RFT8e3F+f~9Dz#iGkZiJ6c`8C20>3)-|?Mj(rVV#{31n6X8} z#ts{$&&3coF(0qPRlV%6a*4;(<>9c8t@irsY{79hpU>^G+er5c7keD4M#Z>#a$!8G zEoicZ| zfRk#*DSfr75wjIBQ$T5W4I68-liP?C*CesSvvfZ~YHhU%KZn#3T0AAo zL)V(0O>9c_Ga5k6W+xlWlVeTL*b=YX>o4;@z5fDHoABz^O@^h8k}ic=JW@Qc7vPqiMARel(?l>nf96UI9a@` zS++XoxG7$5(COFX8V`%38n^8Uc@W~`&hXZo>uk%+L0Dw-e zA+CVg;R-A=yXtH;&Y?-=@q7}?`+03?0_L3hX-=EN?eaL2@Zq6}_z>R{a^ZN-^_qE$ z<#wAVx`KAE%X6aH;kVTgL(DEaI^038c^SH(<_YnRP{3U6bvvB?Ukoo))cJVjr}5*E zIsJc<^yDh12g9(RL|9>RHB8ysD|&0Jw)%pJ1;*O0q|gn~cu5Kr13-*D3uA-NBqU;$ z^XI%tq5D5)_DWu&kaqD@uuHJ3T^wjvWT9PxUG3sPyCMti66|Uh2ig@`XqRADyExFU z$U?gWyV}Kpc10H2CD_$24zw$>&@REQc5$Fxk%e{%cD0KG?TRe4OR%e59B5Z$p}nSW+7(%7mta@BIMA-hLc0XJ+Qor(MHbp6*wro$v@5dEF2SyLaiCq1 zg?0&cwTlDoiY&BCu&Z4hXjf#RU4mWh;y}A13+)o@Y8MCE75R|bl^fsA?et&|_Y!Q@ z=DWSe(r$05AAa)bhMrglpC5a1XV(XP^+7yl5Ue~9tf<1~T^^&<6LdN~^>q|L_jE0B z`{}tePg~(yN-?m>fznX0lBd&8n?~kNK7B4gz1T$NXI>U$wake-Gn>RpSUD?TMQj)w zfqOHv;=3H79#+O|%uYF}MPN^nx4Oa^toO~XI+p^vA}M9(W!1=HGIJqO0GT_P8-Mk9 zs^Q6VeX*2y=JZT-2R$l1c~$i;chKeG*&{rM$1W*5V}`PG{v^u7RDhp2zq;!9HJk4q z4;Y1U zXFburs77T9Cyz1gyD9-TX@t@ohuQ4#)>m1*8|aaLrusceu!-*EcoY4Ox$`{1DgEZS zNi$-fiEf8E6?{&>9pv!xrEcq-SoGY**#G49W7{-#*sD5KUQ-^>bc*gNGOmO+o9V1p zvPmd*uGg2c*b2K_ftUO3)-xyv{>iudy}r}10jr$!+vTaz*w={y<^ZRO-eAyM=k|IO zRbebo3n3JA@QxaMj;p3tAJ9Py0B*7PRMXP7DmbudxJt~VU3o1W$iq7EU;Z^db zwv9jLb(rh7c>>s!?DQ<>DSB{tAN=OAxzKwX*LEMSeqLRcE9uim@OWMD3ssP1{=}F= zQndMK{>)E|;JJ2;Jul_YN5!6xq35(6{5gmJ;z!A45Y+_6a+SJ-I}?w)i$kZe!s=>- zxbd6GA(9HYLYyp0?IE1%^dK`oBJon<6F&|Nq>VwlT@JSUS%ReQI^MbMl zZL9--!f6`#9LaxE{O~vy9*`&LJ{(R|5nWU{kKmAO4(Wwoz)V)Vw{?*vjUoz4!ny+Q+X(&Q&54ghEQ| zYRtI&r|D0_X&-81pw>-8_6;C9t$jaz4h_-Ps#lxI1d)wX(W&2ttz{lOH`=WAeN^bS=ud_%B~xm}d} zCr*t8APJl0^$@Rff?gl`6alB+T;{rASCgQ5Roo6I!8<_gwF%LA%@|DOz!IW5jNi`h z75mnigQp>A+Dws{UVTW_u#qRT?$&|_wd6)y|%;5eK+`E?qeFP`0yH_oudlS{T z?tUPMd$KUyYn1yFc^u{5O81UB5A@qaIQtxR4!VC4_kUPiPkNs=6Ze-cb~%^e{$1Sn zch}dsa8FjWd!5sUx|mKp>mPL5YjJPEeV%{r9JIOVC&P5))#&c4boW6hAmXwTuWuO_ ziFvSnh#80Mj5bemE^#}9!Gdy}9c1%6uv50qXY(vWlf!AIRIF>#K5!0JehwL^i+8A7 zlC2WH<5Vs)spso)SUhDM=Dic`C0eYsYvQn~n;3iY_b~Dw$6@_%NB{E@#-3=>(bJRk zMR(|s%V{4<42^w$FhVS5+c&!MhEjR4J@n>DN)0xXR@<>fAA6|LQ?NVD1&K=hqZ8`T z(&2I99A~u?JrWc(A6kYE6~ygvxcK==E{|cSzb=O#nM{`h-70#Gn{IcvvhL>$W%*6r zS=!duS$ek)EN$U!2$5oPo0&5oqXWiHJ9e|8_qazm|26!W8t`ZexOl6;O6JTp+w1*{ zl_=?S$v{7+GwaTdV#lz4XqgLGF&o8BVpfbernA}Ti=DyF#z3W()uC-&!hXkAvP;>O z>>74GyP1XA-Ryq$5PO6@$^OosWB+2Wu{YU!Y#rOczF=F}cD9@CM|UAh>L_)Sj*^a* z21qAJ#nNbLoHSXQDb112kSe7b$s^TEzmqPOu9Q|uH%oU&_e&2;PfO29uSjo6A4waf zuchy$7E_uj&(z&?v}vHJ&@|dK!8F4(*L0St#&n)(x#<$q)uun1?le7UdcyRa={3`P zrVXYord??)twUPRwBynW(nhD1q|HuSkXD`MPrESfinJTj?o4|q?U}Tf(%wnikoIlb zzVyuWZt3Rqg7lNpr=`zJx2K<%eqs7m={Kj}m;OZhi|OyAZ%p5w-kQ-dqff>O8Dld_ zGfvN_$ykzcX~qp1_hdYt@z0F+GQP;zotc^0GjmYpsLW}ZXJnq6d4A?qnSaV`%v_uK zR_3P6U0GRKM`fLmbxPLkEL&DE>(Z>7vL4KeWWAmBMb_Tz4%x?M7iUk&UXbm{z9{>K z><6-+&3-$3bN2q6{G0(fV{>NbIC7TdH00c!^Gr@t&KEiRbGzgY$~`4_Ztl6cD|7#t z`%vybbJyqY=+L1<-wtCsoZ7+FVMT{OcKBHH7!cXjF3rKrp7E_Ge5>heIBSGs)F zHLL5uu9Leux?a-tuC6b1-PA3uTfc54-R#{i?sj*#e|Gz#duI1R-AlWl+x^P!f9d{4 z_w7Bp_88t{evhR+Zt3xl9vgb5^&Hr>(pLLdfnFRpS`~A-M#lo zz3siP=>16VkNcSV9N%Y7pY!|N)#vp-yN*8Q=&48hj=t&W7moh+n4ZU2k2&|4)yF)0 z%-6?uJ9gZ$u47jp8#(qHa}V7eC<{yb>?;EsdG4?b`3orB*Uk~w7bkVQlOG~~_WO~;QozV`TAj&C}_bi&9J zTqpeLgtt!2IC0F0o)hmp@q>cAf(ZqS3;tZNacIw>GlyO@^vR*y3i}r>D7?1trNUOr z2#ectw`E;X*P`h~7Zp8I^nLO1#rEP`ir*d9aoCh$pFN!=1x#8~)*lZX?P@ zTsGqQ5eG+(8tEVT(8#Yx^&eF^>ef*ojP5?VeDqbLUmlY&X5yI8n7@zNH+JOM;MhmT zMo%g@Y0*g!ob=VngHCpyeD}$lPU(A!?UXxC*)YyLu5#S%<2H;xZoF;$o#Q{V_Om*y z_gFVi7&7792@g)#HqkQCKk@O2drHQZTu`!hQre`cldhQb#^kP(=S{wO@~2b!PN|vl z=PBE#j+lD>)V0$xrp=gk?X(X{k1n;B-e0m_Qb+hZc zbElmfK6lTe*^BO7B)d;@H`Zm>Rn|T2>FQbJdC_}}cd7R+-wD1;eH+djd*1cuZTHXc z-xH7mX9b=Lc1LIG_4>i}zpvl8c--P!7Vlj$f61duyDarAeSO*S%PwEGdHIy(YtBzU z-+un{zdP=CD}T4~f(aMgaiMf!)rHT8`h_kDeX(Ndiu+dPu3WV8-xpafT6NLRi%+}w znM;noWW^<$en0j1f4;QSrT$Alxa_3M!hcBrgX<4(Tt4jbn=Ws?!g0l`S6Z&T;mQM7 z*{^!_|BC+akN+oMU48W%4I>+FyC(A*&o%E~JO0}HR&`mmeATAw%C382wR!awt9M?1 z&h@X{F#Lw_jk!10-?-tAGynM1P5p1W=B5KT*WUczEfa5PytU7*m*2YQPmVvmeVg^R zhr&mPuMD@`?z;WMJEq?8#GM20yy33QyB6Q|<=yk|ere6z*s`Ie4$<-VOK7 zx$njMN8Nw_1AQK7__OKH^?&~Q!G#aL`Ikw5dFr8phwff6nvkUO4@QcV9g9#W(&rpY-O_hodvDfzZ@oY7{SQA__`!w`9Up%6k^7_XK3@Fs{&g$XXRN>C zll)I^__WWbcQy}cZrm_(!#_4o+W7is6`!r!WZ$&q^T6i^zPRMej$hue`Pj|(e^va| z-@l&n^_$W ze)mqDI(4U?PTiFxT@EJ$c`fUb4dic6lln4K7b&faB!7b8f3EzZG#*%HDDxOVm_BJt zGNor^W@YE(c90SSF~60j1?Dp;T}m^hn=-O8voq52h9R&^TKaKai!vshYU|ebyp_e7 z-LJjl;fekF_n7ls)v)3Ii{2{98nCKj`^N9=fe}6LeB|PRldhZVnEd=*!I4M2J?}H; z_m5uk!aMbwc1#(x`tIL9cKwU*e!g?f#w1Gh+lt;kcr%>A>K;zTGm4S6Sp{qi^}s{@pF%rx%RqS>1KWt|QOhQhZF^iRXR%>ednNMIE2r;|V?5 z+;aS?iuwTy#~18gF1=T@>#?z~jeL5;w)(5?b)Narqw8kvfAWl$@n3F{*|Zhw|9;u} z_uqf@Bj=jOKmKgthPR))@tdAc22Lq^qN?@EeUZ)Mr?0x@>kWIC-9E2w-O$b*FL-Rs zzk5%Rw*PBklWpj_1Do%O`u{S2V8K%}pLzS}y6Z=7{?hf0r(oA9i_hA5)1wD^pV@N! zmV?Lca1D9(=6O>cpZ9XV`ru#RnZN0;k8OMSahaV|eek)*{;~g@uO59{W>>X@?ppc! zD>q!!t9jm@5x>9wBUj#wQ+_?&_`0o9~=H{p^bAuCgIRmd)fB`OP?|%b&SnVN=?xG*5JseWmf!zxzC9g zthp^Z`NgN-%{q44swF4wJm;xs)4lr|_V!-}GP-@|I)D9U&y{_ScG_Mn+SX;;Bat^+ z#>wpUCl3_fciqF^1Qs+0W*oES$lXs}Hlk_h1y^@&J?B1|*&|afAF^gZ!CCJ6|8|C@ zG;n$Ur{5S~8Vx*q-F2_JW=@~JaP`}NT>awRYrZHNa`~wP28@^AQn_^9^yy~}UxTED zL)HujzJI@G^@_k%!)HHNGI(9XmG%4kzjNldZ2OE}n;*aTz`Ltot(d;C^&SZB!3!S` zEMIb3kBz%J6a>up%Z;Q^7+1^jC|7cye55HP<buuWcTKNQq=~4@ni^$x+VacZA9wkz z&a><5o_X+wPd6^Qve$y6oD0Sty=~EhXD?f__r8{Q%0@2SQ&o5W)#u;&wdKvTqp!D4 z-(7m@!w){(@X&Kl-!S~)t?$lQIP#QdLjCW)ck_kUy*>7_)Bj!FdDfZ_K0R1j+v}~J z4?ezm-C1=9_cWgW)#+m{IO(p>DmOd(eEYyrPprRq?5Y{RuPfa1>@&SvdVTxo&Kp9{ z$!z3hZ$6VXy(Mz#x3g|K^)FB4Z~4ozPwFnYp!0$ctH1nU{9S+fi*sh{v%BsXGQ?le z_2!DM3i(s!%=sJy-aKc{_ctqKzq4~0Ca5K{HBA!~}Khvav6mMV;;DgdUPJ-2k`^eSH7i;(5hL)JjtR1D(l1gtQ- zw0Qbi{a@*Sul(N5jul6pGve-5;k$R0J+SZb{;Lo6bxwM9-*dP*`T_e1oBOY-*jau5 zjc;7u|K6|eer>Y@kJFtyo+%yDa`b>5&*O5`fE};KF7ijpEZlLt!KlEmL``I8Hi0>? zOjm{JXETQ7wR{cGi^V#+^C3ppABbVb+8`#W(BSeGxG!#*R9sfZj>k5h zdgz0U8BQl2fzxuw7F*2Pxx&Z=P3P@W9KYL5S{Z3y-JYi1n@|q_WJ(y4<4(dXrH&S< zZ=4qCcs(s9Ny|ejHpTK*b7ShNlX@lYb-ta#GTx~3(%hq37J<;I!57U|{G+X`03y+S zJS2Xn!PB*ywyur9T8%(0rihO((gVSlQ&0pgT!ohS@(5nHOL${G@hmA#q9!f^-?>v!)gg$4xFg3!Hv8rr#Y}+B}c9%oYqf`J$Kx>>Z3P z=-Zb~a^VzI{{(jp)-{8*IBuQ0)^tt)BX?~r?Z_0V>#&3yTUz6m{SHdO3hJ=rhHIR+ z>FWA05uAn9y#S6bk1e?Jly_1>mR%PZj6U~1BS_5a1wbc&}T3d9VveJYnnKfx9;wG57w-BCMK+1PbK`^%UmRF z8iVt4?CvTzJrh9`?($SGRm1u7BF`eP{@ESyRU4k|ZdwQD8ip%R6R54DGN$3nSKsaR z0pcQkNX~I?X47je=v@MU5&}7HI;426tIkPYHWS_}y!a}AYdX)fda0kfHKN z!jgE(sI)S7ka%&JR8vgtqfxCr(^aEd51Z|?tBz9eSQ-}(sjqQ!FC{Jlx2?v_y{RU6 zYOH6+BTWhfJuxqA_)b?zhLGj7{(aCunwy!CF=r zSy@r*qs}<>pxLZCvsv{)$YL|O51y0zB=P)8{EN-14~WT_M~T0jY8TIAnt!>6w1Ov5 zf9Csxc0KHeQ|sN^wA6ao6ljSt7lNQT>h&^%N>l`wxiyuTQV}Fm!{D1Rg|6kE;M`c4 ze+mz)K<%KgRH`(~U#Fzk3;Ya3 zxnh|ZqvTxTT3ju;B=KsefC=cWaZ~BX^8~RHX=L&2KU8yV_j?!$)x%s$suO-F6-d-4 zt8y+T5zXSsG!juLA%gb(3LQvE0@q>Zw+{c`E;c#+cNqyOq*FO_)iAm|2 zrZqXFq}`CDqSoefmUvZJ`R->Ls_u&hl36oXn$7J%}q3H^e1Af6w(-qW@ z$?Qoq$NMoINzc)bNytOdY=lwW_~CEH1V3J>pz!x+>&JNHjT(h9vueLR&#D4rW_7Ck z6@iE@H}A(}_gAAN>tP0kw6h;G6)lXh(IN=)=|Gto8m%AG_)PWN9BTI2Y(Do6b))sJ zrxh*wO!YfFxNyu3Eqw{%kgvTLUN8KEm{YW7k?sjtf-MAeC0}*k>-#G`DIYX%ns;bo z&%jN7bG)yAxQ(D^EtAYhgHKFaHJAOdwvvNl{V(fT56rvMs=#zkj8w`pg3b&0IleRP z!T9h9@G^%_doDH#11Z~$YYNS(!fK)ViD}lv6)I;9-mHhfl@!j1D?QU#H+2t;`gMpv zbB)Z<8`X7A4xbb4%Plpo=;g+{yYp8NV*I0*6?AJZ0p~c}W`14lk8hWlgtx22`mGpU z^PL!EuiL72Y<6`ZXcQ^>ca$;jrclQ;RsWc}m#N@~*Tp1!*srLIX|u9Uw{xW9wMz$! zX{-+Btg1>dTLeKKu=WXNtG32nrWp=x_*FrDJA4pkocu{W==5%&$ovzl{yJC;K^+V^ z&(K5l@o_kjtA4WU15Vy^)ND~M0OZ48?{_L7-e36dj={7+ zls3N6kmY@sltZ}xzhf|(^}&}o^+RK@^qX$t>x@6^7%UIv^S1Fvj={3f`{hkfjM2)C ziCuC0BdpHUC+Vt$gm%2gL-bb@yS`g@Mv%m-iLC&Bs}6pibTzSazun5yBwkId{=L(A zNa9rqA>1fLcO@zOqQ_YiFwUaApz1h4H_l2Y+<*Dwtht79)>>6*)+!w(Jeh{#2X)s3 z=+w8|zA+a)TLN{Y>uMr88-QESm!7E)8lkhQr`H@5M;Mj8TM*EyGpW z8tlQ{WOgpbBX&T{2=l;!KnYc(Ot2-oG%k!r%!otRMYwbE9BYsR@eR|yw1Z`;-{o*% zaY=2h3^0nM?ptEB{aDgbn_ar6FzO1@m8M3uun8U|Y=WnP`s%6nl&LU;l0A#>Yeg@U zp0!VGUn}5|T@PtsM!V{iw%8N2p8qDZsv)%dE(XWW9re?J@9G1E6TM3fy;^+$;wIr@ zwcfZw%S4aM_|JHUjRzTUS$2n6i*LZC;5e%a&*7Wa46`GcJDlvnTY%{W&9HNa&L=H?Ip5bP`Q`f^rdmPEY z3fliP(TP`UI}KS7ctSN+i1g42*e*J4nGgHIF{ft^`s9K<($(YECw(_DrXzCRnQ~xOqg8!r8*oz;wKl)K=wonu{PFrK8$7 z-3Zs~jJ}>|dNkBR%%e{s_87aCqePp#!fqq3#>=Gr#Hjem0XXBpzKHZJhBFm7!|C@B zP+y=1i$$D>UGDUf+KO6NwZUo-)g?AxAf6{dwCHi@JlGpQuYL_ zK{H)7HX6bO446%dgN?OCMR1bKk8>vAaKZJAvubXjzRqZ-XuXllFm2r?;~qCLGf@-k z@pfQy(Qu8^v%C}W*7-$7> zVLSzSy^CCGtE{37XnCzS=nd3*eV~&*v5*w_Av#6~6ZsJ!y1wD?;bGlsb#KR0y5>dMi;1}&8|LlKNxGqi+Jk}bAs4N}x-m9L&yS=gVKn>Fh4q%xmD7}zGn`HzPuRmeK!IpoLzO-hcp?RG zCbySy6&U?jv!I6LAsF{VOw+PBB%Mm6_K`#yR9NOc*EIu2X(T8J)-};pvAGYSC?j!< znHMt|E;a*-Qip2=<|KlwD3NDBA+O?}F|T1iV_w5!d2uGrt#!^Ke_D6EZ_ABiVJsjv z(vA;}6NaG)0*Enw4x0*BQ8O#RcNQ4#=hHuKLZHn-cfyccwU-IwRHbjw<|q{%qvSCv z<}wmTsD-JI#dp+(987dlKy!>z)UgDu`Yq5gin!=^IbIM6~-sfSsG zu|bwfWAX?K7C=9~QYCC0Tg5xh)Q{13o_RM!>zWY7hQZWN$}D*ZrRJY7fZ_!3$u^x) zNg6vDM@}Gv3@CL*+ZZ$zwlQQXG!B>wlZQ(Qb&$_hw9);ViI&rjmeYZ5)>N2wWi`O5 z7$N#z$mo~J;`gw1coQ5b)_+^;X16@;kL}E=ts-w{)>LJ z=tpA}E4ebXHC7P)=y(@L^rPc*B!+IGwxXl;3PnFUc|pU#uy_Yon;}JyP3i8mwUiSgZx>sJH@4pRRc^a+O71|wMTEXxV z3plmGEAMv2D{s(0DOCENd*yx4z4E?K@XEW2V&HSwUU}KmFgr$597sfYsh)Y|?eNS~ zJ@jyT?csRljR!?uOr~n@)UaW+>c;a#K!O;JdwIx-fH?SwyasoQ?;fS0aPr}!{Xu4o zfXT;?UiUEpJIsB^hho?e>f-UpbFUhAZsbMh(+iJ1i0B7B_IfuUmhw3)kG=CJzpKSR zT#r2o36eba`sKFYWAFc`E(uRQ+wYJlJo#uw)VOW}zz?mQAd2wh`%(U> zeDXZmlW(NzBPl%j;)^LzGU3U`4IDVp*1{6i#N?$VKvOO*0j@1$#g~_2j%LOMCSGXj zB_=BLKkLbtyxtUdis8&KtT`F{gW^jje6`2mAb99(lUJWO4`_WWVf_hk9{IQ7z?aJS z2nRkmuL=h~&HM-lzC~d4&TXTFRf`3@9A3+L_b>eqiNPV`Sby? z5k~VP6dPfbT|s;M05X(ZOHY*xF8Sb8v8v_Kp zu3zvYxIU^Yq#<4T1Uy!yt7_q~DqX&YsEwZ^Dg9VoAAU%#5C1`~cm8#7ebo2I0z4kDL=(m zxbKThvSxl#STlE7FE!WLMT1)}T^8#0dD&>|!fQXftmp;HVfqSpOz;Y(mvzz+41~ac z_T)`|E;Bz12uJX6-}!c)!MWDn?`4e*dN10wV;+A>gX_<|9Bp09#lj0 zj=SwTgL7@wrqsBQkGcBM;}Y3-^ac&C$3=tTnsf#ylq}h!_t^K_@6l`Y1CL8wc-#JG zy=`NjXKgKL(rj>wB~5^nPbHzabU>y!H&Z=ZllE3>Uu7{AEYhEWsO_=@IQhI10JX!B z3@(`|&n!XY6sMK|dWdsNVh(+LxQMv_y>l~*{ujM%hiN-PiPeXDFs1RJki+(~96H>r z{A+rr%2+!!M0r$xd6Z<2=u|QiPKoVyN~Ci(e_5vrDn2Z~+*1Wr{J=JTn#|UCj5n#3W_2Do*Wn-dp{-QWWP-|v>iszs>Mi3`6iDLvkn!}qo zMvyl89iltVJ7fHZuiV7X0c`91t3#?+Jh?bVFm`&oSUuHzbLpxK4U{oJ@|LdHo?iWS zuERZ(FnJ>v`E@35_a1ha5ok8c4EJE)}|#i0)4<1;UZbL5}! zNQBuG9*N>;ZuLBKv9pI>Bc)j9pVB`U9*M#uQFtV(_2}?Ueiwae8p4oEnK+tT_tGQL zr;fkN=%*dcE&9~jTk}$l43ues_;K9-)nmGUgWid%w~*pFN4_z6ZF!z>uOro$3omSP z@aJVN2hz~HPdm`_FW!T0u+QLCWW8w7{Z~8A-MRLRrW=m>>*SH3!}v*;WdO*(Agdq|aNAiyp4`8q&k{xJ2U8O!69{*Pthz19yka(+Z{FRN=JO5312mKGeRJSeXAcO0d@!d%@7Bjp?NShYo$FAw8?Ge*(3fs@& z9h591;T$BKgJLfz{ZGAeH0IJHoP+2s>20kIC%+EH=;I>ZF)H3M+Q!Rh+d9HPykoT1 ziC4;z0TS;Rb^7BkQ6gXF*!x6vuLF$1#5+aVx`vDR%D&Or%N z?ZP=oI0w=3bnzpG%kTz6Keh+ZIauYm^J2rm9Bdn?!R7%sp#DQ`8{nfo;T+_xuhMxQ z{Ab@intY}fPEg?e*n2s-|CgGZ2#qw1}cjdO+`!q)@mpW(_mL)j%1XsYJt z3{{gykf~bp2zrzqkFYGH;-A5ckq^-ie^rm5VVtYgOX1m*jUG(<_$XL_5M)4F$qb0s*0{?O5wEcOAv(qoR$|O1C4$}!6q$cw z2L{|+PJxs$!4@1r=v8h_@o~!YO z?kP=0^~9NU#dC!gHgR$V7j(IMGB+^wHSU_261irS_&8jn-=T1JI z$jV|f`DS)HXVFh787uKGHqUp@r2I_AJWBlKL4r~&dINL9`DyoAXjU|MP`pK>jIB^u0Vs1z@goX|UcO196*y8V@UV z6_P1uNY;5O=$^7c{ii4ns0N;f;cH^K6oAiCe6@QHpqO>_ZZnf2{5b}6{j}uX8aI_r z)-hf>45KVR`ws=b0M%3!s)xChR44pUDv+p8R^?nwN<51vBNE93s%)TQVnp&(+{+UY zlu!DwVLUqJXAGfK0dF-K&A#}?yg(T%97=z{0buRk;9J`r0mf4)AqL9N-F6GwiNb&J zKDEbhHMF4C#b0j#t<37)H4mTpV0#CAAHvrQmZ>dh#vK&Lw160mU(`O+0-`qVQ`>=B zJ^BnjoYs@#^eh@)Tr_Iru%c0;&#CtM@uGD{!HA+_h0BVEvjzF}#Cf2@aSmS*8-=-_ zVf;Fpox|Uk?Pp84&2XSUIszfe372hqJs^u`w~Z+t zJ#yr*kp<2oi>;ujXw;~JF*b*#!0xPe6pb7)e6(Z4Xhc-24kLk>tjjmx0`YpS%5~-K z$~EzsDjhzt`0BF)<#|!Q=zTy=)FS54m+tv;kJ<*r0SL{d(31K94hhuaa*r;(bw)sE zidOFQ2YgO@(6!i^5d8CWlv5pw$mZCC9w5N`Q*p=PrMxu-oPTCItJUt45gvCOMuWIQ zjf_j&(bxdbte@?t7YBJgHHbtdW-d;IbhUF{P4+Byy1hQ*R!WvH)IyD_OEpxEq6K2cQMaj__*S7a{HlSi8}< zAAw)`Wcu7VpwN+!_bB8)3h|47Qr@h*W>%f5lw6U5-XJu^R^trlpgGlkTb;8a=rro1 zMm{N2j;FrP2~G2ADo&Vpa5z2QI+rI7Hk}S|wxeFrNrQI(*xYhCawXn+Pf&+4o8XB( zbLA%2QZ<}c0CY~P)edGhSscyo@q5)a^81yy6DjPFaMe~Ov#grsY)AMn&59FI70b;Da~>0k);UTC78>9_`0I`ytoRcg z5F8L3_}}3`cd~uyFRb74S@WfztknJ8_DOp4XIs|4kiKD`+plD|LT2%WS8#rS)PRXr+9MEVXWtHXTTU9@r$U-<0<9JZizqCjrVDfx`XKZ{ z=!0k>g(c8xfv||eB5JxoSD_C=AA~-L7E)LOtriH2C@i9;3v?CwAoM}#gJ>azCD3ZY zuhSy7XWv)qont9?nWfr~cBuVphuZgsUBUU{PjEnRKycuHlLIUF>i=#sJgwX-p7q=j z{1Eye^g+)7p$~d)2>T%PLFj{?141A4+z|Fb=!4J)JqLt7=(!>6gU|<|4|)y=eb945 z*ax8xLLc-T5c;6!hOiGpAA~;WIUw{w&kbQ8ggyv;&~rfOgPt40J_vmf`k?24&<8y? zgnbbDAoM}c0ih3iZV3DE>(d9}0sX(}_bI3r91t8J4u}>^&w*cG3#P|j^gx9Cgg)pw zAoM}c4PhUIJ_vo#b3o{Wo*TkG2z?OxpyzT%PLFj{? z141A4+z|Fb=!4J)JqLt7=(!>6gU|<|4|)y=eb945*ax8xLLc-T5c;6!hOiGpAA~;W zIUw{w&kbQ8lJ!A&Knp)m!2!X6|6LA<7DCT~8^S&aeGvMf=YY@$JvW4X5c(kW zLC*o94|;A0`yli|=!2dELLc&wUb?>{S*pLDtS5)luklME`oA75@vkcre}V(4IgqF;Jq)^}=vAV|k$zH0 zDm^_?r^&sb*#n{BomR5=-}CH4mffSobIo60UcYU}qw>nw-!3_O$F}t^|MePANskZM zdY0CI(LEa^F|0i8YvuxUb zefQ1m8)lO1(OYyOpU9@DL;9L+VUjs=lP+MLEJe)Uuy2{P@Vh_i;2+DBv{F*TFxKrB{#I#EJ_1e^+ zgTEz9oBHfzyP1^v^3^){o3iwB<}Se5E&rzjH_7bQU2G3y3$M~a-;mkD-E1#-_MH(d zeP`ao_AyC%_DWs!e}k9OUci~-3LW@$nK}2e7AAGuY6MH$y6pp;t-f3r`!$(ezmM%_ z(!l*ju(W?*3*c;RJn9W;WagM;@2&ThU;7yA{N-MpV2WK#FtMzFNI z`vJh2|59D-mt_{<&<_%z9~@w zX8l?Tx+np&+S|DnHs0E@Hh*}_O!LPLzq?{0IW9lsBBwNbqxReujiBo*n(sW$P z$-qeob98*#FmZzM2uAako08`u0Zlz`nK;Mk=Che8=0h=~x;|mU)fn(KJV$az=Yl3(bFD zZ=C36H_)uO)NNbBY88Q4M)pCV$3|LL8-8Wdy4sb)KUG)bHa(zAgw?pu`Dz^2 z^LkG5UHix@pKRNiu%5Sb+b6F)a;) zB;p*-U+X!X;*B$k?yi)D1jTv6!j6erAZmfA1)>&+S|DnHs0E@Hh*}_Ofv5$d7W{A3 z0`Ybd@pcl-@Z#;<;_W1OKf8E4iP8Y9lz#zlCrM{HtOLtq9r<4;_1Y2piIi_DIKlGq zrBr#bzg*;_C$|;AXuVi1dC-9b?k#F#u zw1WM=OM8>wrWeTai{`iZJu7IHrSBHLtv(!(rF-+=RUh`t(#G-csSho(>ELAofIXt1NvxXOsG{MV4;O`$B#AMwZr%{8D}RS~h{cuhgf_vh2=6Ri8Exf!o!GW+L!A_2CmDa0ebF*7d1swsJkuxRXB@ zT+2z^tvoakg?p6yt2u%Dl!vQ`z82;FN+NH+a(_8dcTl0f46{7fkt4b4pfNY5*eh<+SMf`rBLJ+@)T!|Qdzegp8KR~QR z48Py062l+9SBT;FkSP(v@1qJa{2l@&V)*@5g_xv!eH?vSeV+QV3`pp)GoY=fM^C4o zem!3d4AXNm#$X-W!^Yk)yD^g5$gCZnc3!B{~|4e7z4pa#`7YPCV( z4OPKVNetD;ShEb3&QKi<71dCMjkViQ@r^dYU@i=X#9(3!#>Z%v3?|E9%yec>Z~t^= zQ8krhH=(NOzsw6M9bHfmE!xW;Q`k~F=i8E zwgO}C*3j`abcth~Wie)>(V~7Fr5|7E$6fmIm>9ERxGKhM7#PuD^OrkjD`s~5)vyqA zFuSR%^n&RmQ%C7_>3Mt~litGbTKv6f%92{8Ch6~NAS+58!KmRSTv5Gsc#g2;#$ zL6LPu(BpkfVwJ5jGw)+*VMNxIk!F?U=)MSR_*sgPIZq=kpiGtmk$tK>wi}Wj9wYH4c`L}Y?q_LDax|Zp9|66_@;{=2 z37>euz*b+dE=`g?v~m_ULzc+GcP){qi>{LRQ;SG9N0B*-!nJ8H%Q81KK}?O6kY7V2 zV%g7HBj2+Qm61p#%MT%_(b~!~&EcpV4Vzn7c7A1Jvn)4<%@AsNBof-kGV*a@cm;e$ zLj+kjwML-VtOG~@l;>dK#UNQzD8B{y%Phmv2z?BF7n2&5*TS;$eJBx`0~rRyTIJkG zgPF0)2$hM9D|fJLvyT@O%HPjASR#=I#>ykex_mF|KxhJChG*+86cRyhQ6z%~w#u%SlB=vX3zzW;vV8AP)(k z?qtF;s9;O;emTv`Dx;Vbi<%EGsXW?3cdd+>Q8Q3phEJBuNfTIPAF4{Lk}kh#KOR~r zKIYb%AU1H5RRRb_qsmORmI}bMuLW_XsHFvpvrkSV{Xs^doyxUoKg*!#ER3`v#HnnN z(_sTh*362C5fZbSHR5ulqf}`zahx9pS>b%rd#DJgBPQ)%}1L#xgH7=}jpR7r<71C@1398*V zz%qy+VsaW}(f~?9HfKWEluFP-8laeC1TiYshbWD(ZmBp0v9o5mdH10i z#pM85f%-@}C;EFBk0>xH2SUI?(-6dgagIV9l?~9*bWjjtzy`=yqRPGKk|A*`LaD{zg(@1; z)MBLys8UJ+WPCwm2sI12%PhQG3B_WRk771(gfkHaQBy5%MjBp{Y^B;5h6JgOAp&oW zbww(AC`HM@R)TeQl(6%sL+*G zc_+RKt5wx8>x9pvhZS~#zO+iHES{`fUa;0&5x~R94q(1VUkAugLz^J%W=JqBOLFrr zh1#zbIf7`=iWUXgLQo-GkWm;&6Sg{G#|u$pjfR60hRzNZ(hNZ(A?$xfSVq5u3`2w5 ztoG&+2-!9vuoB%QIjWRm-kn5rOtuD+K`UW%kmzVamdL9arH8oC_yrl_saz8*Z(YLZ zqAF41Y*q-hf>mGxT@;=}Ec^-CfEJZuBui$c8jr3&1d6&%EFu*qY?Q`;N(du0AU=Yq zazs3^f)E8G3|&yF+msxkjXW2ki8O$fD~xMlA%^gm>!UQiBe1lG1Q^ZxDf_7 zl7$#6Ly6dk7#7eAO>IJ@Y-NNCgcOx4xscFwg;fbEM5Fl3Ms6q(*%T&a;%cjq%Rnw` zgw7CsihML`QJzY4GZ?j1QDG%YD26nzSWt@e5a{JmnxdKrDS0I^n3@?bD^-9%3?z^` zfCCXc>6o>Tp@S1f8tMz15et_}$V(wcCqb3F9I}VCS~*cjK#Gd|$`fR$MMo&e3GWY4 z{8m|2BDK<}4L0J0f!O{~HlkV?1G18AQN{Ny+5$ABiXK`iT1JE4sx62<^#t1sKr0Xb{eGp`o)h zAH+BfsndZN3^^*?HU&vl`U+z?^TA)00gx5Z5tAIT3&V*YAu}2>pj7mXQLFZ2lnE?2 z-Jv!G*DCLU1lq2D;6~HlNQT8Iz3pH{tDM;sqHgccAwkFum^RBkRYFa2cn6d6BPgUX zME!D5(4`rjCKjfMD3#>hoIo%Qm^i_b95TwtSP3z9u|^=OsKsD#Q3jU;M3Wz)o_$#9 z`*KN!+ms~fMVuLl(jUv`btye`<|9sE7(OHFHtr;|@bH>Pa-B734gII3Yv}M2?yZv6bTv zt-hYzER9@AHXllw`%v-1)RV(p32|Giy{a_#L7J7#Xvom*OAkSl$fU}?Hccv!K&%)u zlH^GYjB2t(gGc6yvPDEH9NLgiQx>WwaTry51XD_?Ync8B0|RiSaerF|mC{unN{%Qp zypxd>(R1U4p(_r;sIzQMQ7Ne*us{Qm?;$NKrBw~^L6+Ho*ghI`Qq?N=p(6(#LwA~0 z=0c3+#8Lz>GQJJCgSP5O%?vA~vPR%Xg{QQwdl(G?X#ku?@zpqLA-j16WBH0?La=C% zW@W608e_5ACZc#9A5?azbq`M=Fis~w-g{H{LWmQF5Mg6#5mGJW@*@@?Bh1wqI;imm zk-9$Ujkal6(~(0I^-pSq1jDKXp*6&Qwf?D>Si{Jf3X7EA`~xD)N7iVAsQQ3sndRVX zliWaKXMRV$OyC}hiICt;4Sa~vL^n~TK_EgiEefHm{7}-vSQv#wAUvPa1!;_D57L@| zuO>TXvYv8NQHUT=*DM-M&_Q0AXvT$)h$F}a2u0C%QsoKmLorc}h;gKp$j*mU;e#ow zAa!SzJTa#Pw4&7cRV1kCoZ3>LB;sEsjY(9!Qu`yIGLAYVr_2XfmHB{1MTCS2aU@BE z;19wujRs8AY8a(e0ksHKB&dI3&;cMy3eymjYbiz-kPnbj1Qbs`mNG_(B5XtWt@{+{Fl3B(FjnY#}Y zUxXT0JLBdvO=!3dJxrfRxf?n)ci2S-CT~YofRE%Q)51GOzu;G@Jg&x zH00+aFTOMilp6Q3-3)6z(0~M?WBtM!q4k}{wndIO<}j9(A~1jwEq_Q+R0WtUWEX;M z3?G!!qCT41GRhbPQIVO^N=AGDAM+cLB$6y;=%j_Ph|pS>8F-@;fnOh%YVuJ^TCy&;JRc6f4z({16%R?cb1;#zU64zGN3I?TN zW(AgxtUqjYE8$@Fg(}V9YrZc8?N4g}Blj_^uH+**w?Vojds&7B{s)y7m{X)xOJe!E ztbE~w$V3!gFfzf~E6;?cRp9L4Gh;Yn35CkZu$e<4pu{skK2*d$mWvY0(WNEiU_~uH z#DOTag1{JxM@zhf15L(Kzm{TST!FNxRB)=`D+3CBYQ701rW1*5TWShXh>|wLisH-j zw_>G>3WL_5Y!wAG{t9!c4FQ;uF=z!3(C<>CDVfA@2cMBmjB?c9NGA#ecOi{Uc zFS}K#-rvBBua3w(pIb043Eo9+BU$O?U5vsKZX+I_b& zto>abyIUC+_X<~jK0XL3{oEYY^!De}Rw1QdiIlps@oXu(kX^#=V$0cb(>Q61>0;9u z_!oX7?U%Mmd!${`XVNxPZ_`<(IVL7;WhXETd=5{0 zbWd94Cl%97R`+6bz%bnrxtNhdOv3?~ZY*b!iB?BnAG2tPSvT=Ex$@a~P8a~0TS8JL zTIMt~xaK#N7@ryoz=B%n8ulc98MX#1MG-1!j^9$!twq5YAD~~BR4%%AD3{PSmTSdU zy(Vh+2~CtsF_O!buVGIyJ}PX`l^jAFhLS1eT696Ok+unqo3%W#^p*$>;G!)NR+$P3 zDm2;}0l#RdcNmC-(V>jCjR^IuD!)qLJQ{wYZJol}kJ0^#$kwm*GT`ADqgFNp9UwxI zKtG2(8$Z+w)|jZyV*aUQ0rG60bOwZJ_v9B{Uf~ z^nJ{r+={*rk@7HCkLN*xI-&VFYg9rAk4zfSB9?~9JBat#k1bi%kHab$-TEj-YRvqO z%7eoxc_)jx31T9Loai*ayZkWn3+L}c1X`$Q3Zw6-^MpL8^ADt%2eodh6;8n$QdE5S zSlnZg*8j)>l3W8ZVO`1drdzFW^8Lfe5PI8aiDIOU;-MB{Gs=J^h(LsuO|*jFmJ=W* zuOpZikDzSQXr|JE70pV@sL^_WGzW9h+1x)e8u4M6pz{`0Ttrm_FvifM9^(~;8I5qF z#CVUT`S?vDCE$SK#i;Yigj*E!C(NK87(@^)nKXEB4g&+l<&%4+Her@2W@RW7IIP8Z zc0kAX12Iy$(zpad1BaP7>4SqN2W$O20CGkr%4qsv}wZN*MKT8rqo~zU1)NGVUU`Q zBoIo8!j+Y7_3?8OBQ5$>=WAe_6U{D6SxxXd2kW&t#D&as8MjbWySL!`6Q_3IJ z6DTRQmgzkoY2qSN^`|_@@@SzVf+8BA#y(Yx4kWm5Zf7uDU>iAbh7WMHfB@iWi8(kp zgT5)_k5x>EtP_z zm|~GOz>H$939=@BA~NPZK@Bai^A$qq19!lqs|6)P@eO8*f)(Bw`L4Dv=;kHRk;np) z-Bzu?gh{1Jy~sg6;-kzofFlr$6@tN)9yP`(ECU(4wPp${am}!|AQNRb$JBwdXg4KhM0e(d?9ZQ4GL5x7e>wyft8em_m7oj z8t}OZ>o2N85qdNhpmd66B;bZ{v_h9>Zt`leB@L&0AG|#*~1dI;U~5E--JB>Hq<6V69% z2Pl>7vBRRdGD-B%JRj1arZgZdAJs8tAkso85ZF8IoA2*P4Vj zk|3WD*oaFbWDcxIm6`!0+^KOL z#^b4EqnD-ep9(-Z%}_XCNNE(lg9KpEMDeE``!jK2>W4vRUhNlFi4Kfcw=7>UV49bIE z@&Rs>A_OZ)M7szzN{~9N0%ywh7%$aYu1F3H(D02QC!-j)>qM_Z9JEnfWKbSwRE#qe z7E;OAi#`M}3ZqN1=+PEeVjWGQy?#7%xNoU`sNDDyc`6gpZOw0l%AqyqF>#?#2p_tl zHV|QmnIw7^+9jLfLI))g2wlmFUsS499s7Umz1gqq*>&Hy&+RKB zHj3ladNjT zk2>^MP91YD^z3@Ki!@K@$@%y@S+G>?Tv@-5wsJ1Qr1=d=d52l9=W2w=e0wj!n^wRQB_K& z?;f~$v(G_#L9O{XPdV#1!%GLH&aTlYc$Ou+~3*$?%4|o(GkRE}mGer=0M!Z0^un`s5LN_m$lpfP0Jbl+%6w z$ ztOMqiyZYog*EfId?t|~!mM7-WKMiN|wrWTHGC*->-v)>2sDbqsc3N$b-}uAZo;dA_ zC|*Xi)!Spci|~Qs{s`)a{cP>XfTj;}+Q4pkpbsj7aGWo|n@1&1Fb>LZ^NLB*F52?h z10{0_!zsd~DX09Ppl& ztd<}*|K{gj6Jox~0Q5bwvCnt??bS9P=J};BFsu9g%t~@twwDrsP1yy-a*l z-wpN>gzrDEy;NI*p*R+N96Nz$Y0NDD3U9myEi8wvGH8qcR&(%^l`crHL57NU(J!Z>nhcbdI8*xazoNzm=+h zx|M=Fd7(ua@4=f@fFSb#B{;ZRSFwmvF@m^A?I6z`F{!$IMOsw`;gOT)w45r%2T-E- z@e7;_T1h99!GCXIZLxw1qsPYLH?-B#_RVK&d_$F)c?0gkd9BhzVE*g_fVQ5~iM(w8 zg)r6N9@~-mKt+m$vx3B1Xh*IvhJ$}o9n8C0$rYYJuo-&o87 zzD*YotpcL{TMk|y7X!VfbP1;OS$bSxGBxBDnDnQ0R*J)T=@CsvcQz6FB%!Ex&c$ITC7PNdc7 z@dC~2e^tlr$hgwi%#l3%))OP8K2L?rQvtHnsV9S1+Xo->&B_%KMSvrID}|uiEtK?U zawPR%WzDy}1@eQ_Egc}OhwXin7u`={oaBss#_Z#BUvNL_%IDwh?!8S{8-3B;X;A*Wnxdb_*gpL`Crd5}_!1;jlk%VF zvvB#FpZ3`o`Pi{R`E%-__QZY)Dla-N=zB{+N11QC`|M!=wSO-q_cIbPZFln{JgD*Z--k+fb22U7 zQG4sf^26mxF+J&JPrRG;PA=mo-if+^Xat z7YAAdxd?J`;065*{1Esd@I&yRgC;mgLC}anBOZ7`KLbAmehB;!EM(9G2Pp^|F=)gC zFX(6BhrkbkAA*Gpn&2P>K_do@c;E&74EzxIA@D=6kUeg=LB{P3;B58uq(*V8A* zo;qdrw0X3@XnyT4ntNj^_}TC;P#{nsP~h8>0(FD(V);SbjQYRudz~7AK7k(sKh!A@ z_@PdXpdSK11b(PfAn-$-8bLncNEp-zFo4|Qq;{Sf#e@I##f zfgkGB2>K!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkAL0>OgSDe$dl!Rput4J$k4P^U)F4}l*7Kh!A@_@PdXpdSK11b(PfAn-$-8bLn< zehBcNEp-zFo4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)(U zll%}mphF*Mpg^F&w=V^Pg{V{DNefZ`Yp|e!K7k+V6bSrKr$*2Zfgb`t)F}}7p-zpU z9|AuFeyCF*@I##%K|ch32>ei|K;VZuHG+N!{1Et|PJzG=b!r6t5cnbRL!APFAL`Ty z`XTT`;DJ$k4P^U)F58rzHKnL`9@$Wm` zUkm>N1p);E1-^|a@SW0q_djz!Q2PrMsneuH-#$rGPV8Ykgh=o{z& z#|1igQ4Dklbf_!kzz=~R0zU*#Ay~+R6axvk3;G%OA@D=s zhhQOtCOAkz(1<}J9(X}N13v_Q2>cK%WY7c$DF_-dXv70A=x5-Ezz=~Rf`ts4;2;Ix zni}z&nfrSBK!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkAL3FjC1p-zFo z4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkALJ)g=Le&2nENGxl;DJ$k4P^U)F4}l*7Kh!A@_@PdXpdSK11b(PfAn-$-8bLncNEp-zFo4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)(Uw;n&x z0sUR>JHx*~fk1&kfp0?!eAoR~d-Hz(UA-4;|6b~q{d@D?t8Vxs<%_j{A1d9@ZJ&5= z>t;{9H*=#W-W$2z6Yuq0_lftqPyO7}z8l`_1zNd4gEG(n-4ysB(4Y)_@M53=K1<+( zKm+-%fe!)=0w4G&F33WVg&+$-7CZ%lECg8yvJhn9K!KnSf<6fP;2;gbR}T6h=!2jS zf<8DKxCgM&1ffAH@+`|z|`il@z7JZ(1PDKi{@;mpU0`+M$hy1(xJF0cRE{Vn(3y0^Oj zfp`9v`v>m7A7O`Pbd|yXX1D_qw;c|JD6{KJ)k8cf0?Izy1L4zm3=Py#Ei~|K|P={{L<6d)z;A z@8J92&!_$Y-}-xe?g#kqx4VDJyLx>u-+kWwu=~Gw|DC{kyTSWjR{1;p?YsHy`@rM> z_s{tG z{k;2w;PgZM*V_%=``k}}*$?o}JKek8|H8Ze|G$U7z7x#f>;4sR-ouLTazDd+KgG{~ z!pi@|{h0gLeDeq02Y~f%;J(xSOZS5NN%ynt;e)LA3-05wLnX{w&}5 zX;%1gKL5|%OYXP%?z?&K9end6?la)~KHmL7pnV+Ly&EV$ zi~RNyzkkgA9yorK*Js>U`2FMVclpeR`OZtc`@=x`GCzNt)jrFA{et_n`yC*^k9B|D zJ>cD+b6;fTUv|IfevMV%=|1KDfbah{xcmfbeboJ1_c^ft6|j2X{*XO?9Qgk)YrN0B z!qm{uyWiw9Kj!|-{SrSv;eLa6UjefZ@ts%r?vJ`px*hL-0?3ctp9AUF`Tj4k=10Ki zYvA}v;Qtbsf6D#7`vTwm9sd5yto0MD*#^olyKDaT3cLFx|Nm)s&VE0{Z@=!o3jB}q z=?nh^qg_ovY6b-wilJ}Y=bu>G{VWQ|XQf8Skk2A6Ker@z2{KgC~voWK1xyZ9qM z@%!$NS@~1^_s@gRud>n&JNPnCKfzyr!M^o**D?Hli*LQgUq0@>#J^t!_8+^?^Qrf; z@~6S&cX@T)5-h)Be}9SZ{}$iS&o)&0BJY0MJ>;Bz&ox==6`+604Z!={W&G{yQ0TY$ z?T3MI4&D3iPx$_y@%ewtXFtnIU*r>A_~(-+j^AEowcm3K=<+rG|5HHyBfjwn%-e3n ze~G@Y@cs9*_9^&!o_HND`vmlTg|q#A-u)e9>NTU^A4Aj6K)*k5EqBIuUg2+_CX+f`FW9PrY`ai+nexLLFRsR3idFedA29JJ`pFanzf5BfqjWqo% z-_xmm0IGc)n*0;KL7K49|o!P}Yc&9YqVmg%Bg_7>%QyC~+n z#bBP#a$YC1d2g0aceCl#O*XvpX*?;Xt4SV}lbF{i%Ex&WjT@tKn2++|ziZiSRy*+W~QfIKneiH+Fx6=Fz{vI*hQ zGIHG5H_O@S^a9xWX2M}-QGZ-O*wJV_bb|xq{4}IkFZau{MFKfXpf`;eYt|^)L!UkD zSSO1d$DKwg>^I_o%5iRFy}MSi*h5yg*e)+w3qI#n@VWr6Vtzdv%!bo~_1cqRwU$5Z za+Gq|qa$73$0|j2NRpPvi*>b1IbY4@V3u;&Vx8t>z)B@-14hvttajrG!cmTf$JO4m zOcst)bIW`gb9Q}jOAW7Let$8aFJOS#Y&lCgw*mW&r&p6AiYJYzjFPcqzp3q2A~%6{ zw_^A1<(AzR%dc^EZt>cD$|@PFTuv9&3NC7l+u&1-`bT_zQo_ZzPWe{3czvGCO8aJs zP+S8)pQiB5m=&_g4!V!n+a>gIz}L=3;85IIt+3TZX{~rM@5~m^sARQbQcSZ+3J0F$>aaEx zKCb;?Q~1k88@7v0YnAf`YxQjRO?JKGfV4(?bZ(~-AHVyNylJ1pSQX0%|90df?N zA_Q_fTpls|82p}?((&u;SgTkxSSy{kjX(Wb16!-$FkWW0*udf@uE z;`D1Az;-!UEZJzxMq`#6a-b5+1k{EVYVBw;Mo*)&B1F=GVm6u@Q(X;8*30?_?f=FV z_mF>JE9MALG96D(P4jng6tEzyI3Dd-F@n7vM^X0EL0(%;2P=KpSzH;TOYe)(rHhuV zc814Dr}JroFf}I=lmku{3L+ZcAF<7m zr(eqIGdqhRyUp%Ek!A8wa?`sKvlKfZTd*|IC{df26{M@_y~z~Ko=>MH?o*)cpsR;A zLQHUZpu`N?mct>C?n2Yqi`nrL44U>OZ68&TVjv~eo-*u*ha#71kL52%V;rdh+ppCJ zte)T5OU7QLQd_L9efZU#sXz9F(!QLWld%)q@cH7ivh&KW>E+%n+pv1F)(>U9Oo-K1}4 zCS|h(W@?V!0dfRXcFHbyZ-Dv?@&k*?#_8}b7aPpK^iC6fk!KS5|&HRLk`xL)er#_bH}!9BAdntRe_i~tmk^VNAGIwz1hzkk2hoO z?P!F)ok6B@usp8(364ZI1JS~189)}1W{cpbSkTe*9*3}nfu+T}QIA!IqxNvlDn)IT zFMwOZOLnaUN3Detf#3sk_vD_HXu5&nD7`tFIz&S@KE-`qz^p04r-;FE#JkZNhRqON zZ<}){l0)oUyl){kz&`=n1&}hJC?Y8;NU1q;G3?qt!jaWi1mI!h=I&&+elb`a>GFA$ zp)9{xsIWK#;h48=eIFC#u{3ZEIyBjuBRI0~LH>neBa}NVKL&ePpBJt!p@ep!vlws|L~)$Q zYE)EqJB3~-4pa9tGau7_euVrQds|h|wKutp<@^*%DQJ6H6g))?qW5vF$*fnZIHEL+J z6l&-UVqRKJeurMY>1HxFp6sv+(gn>|re+4CxKg7dq%0dmoNQ^Y!})%Oou|0>_b~sv zxje|2^DT+(533J|d9Nn-qDciov3L%IYbdKwC;@_$=g_3;NeF+syfLod&HMN}sjWU> z^<;K3C5E|XamUe#ZMw#kLt9vkzr&eR4U$G%k7+aW{;A#tk1cMA6Hb-_KN7THxK*)iDdlKrGu?OBQRP4xq zW8XIOAuhKZ`aOzbi7>=Kb{x&x2-k~Zpe|6K`50y#%Mm6v9WHRlvSDISrIus|mK;3) z%~93G0aZ;^hePlLugDQClgK0l1n$ z)!+(|K*1Z^x&HPD?*cRAJ+Lprc!j}}T6ZWHxx^P{h8pIHEG9RTJ?dl-HG$<|y7&n= zE8yh)#hvwKHuL4zjb;iC=j=%^q;wU@K9=dgB+VyVQdajTs13X;sjCJq_YN4G2fXLG zAZH)55+v}C&0})a#?oS!Myre!qRdL<%o^}t++$(loBU7EU=%ou@td8Ho;U`&VW zVHe49Y^i^wUVS@S-)C!NI5H%tAc26HGHxS>14XBJr3(2STF;rg;wG1-iv$b9Wl}T& z)^IQ~2_5yyZgGS+0Dr+LaI?HAPJ!bLjyMi-!PNzDa0_Q`Ttnh4cmlHwSG3^>M>0hb zn;YB!L)=jGhj(BM4TgeU52L8ezM`XazUE+*Yb$5xrUQB$O99_0>yzWT>r{Feb@V1W zO(}~JP{hy6Ue-mQ)pq0K5yd5frkyoySGN$!FbkxcFCf}|e3@AVb_OGoYpy`c+9_x# zOr24ULpibv{AZG3B5g$uwbY5$09D%Wkq7#Fa6+Ji)~B9SM-+zxI_}LyX0A^3$&I zVfHBR1*)RN4{zbimxJ-(UVkvypt5^Ypm#plC)SObuEd^UZ zP(pA9z4oZnxhW#8-iAhF@OH-5g`LRLS5{QgB>as@@s@bAdou`+t8-uAB>&Mu42RM|`9N-Q!mGrAlFVE|^sKi!l0~T<*|OAfwsM%!t1Lgonkj@(!ro^q3gX@z zl{N%iW=_?H@`l$n9m{s_ISR5M!1PgdZq8~6`^K>DvV!?z22pS&J6Q!+_F)g z*CKe7#a7s{pY>4M84j-M30*4$ZK7*zYK(K+HHSY1$_><1lwAyZ{ZTKfApC^+RksjE zn1vK}$VdswC~_%T8T6?EH5W$CE2u%Is0=c=`BbJCCg4(o#RiNm^l=yDC!|Mfb5|T*;j^v zA7BRy>LM+mm6n*79HirO>JM`uC~YyvdX#WTzw0_hwfYA<@3R|0$SrxP)qUtD%lH_3 zTh2GLAu36gml52aDS;8~%?B^AQ$qs6{itWY!yM|3`>o!vn;rL{6nn8eSs2;82AAw=905l@ZP~t}p_{bu}UbH2iTM%4$P_dB@g#tUw2PcDm%vsH`h#R;e zJwp8e;F2TF%EebL7x+5dFN!Heyqiq`6_fBN07at165>+h3V7RQ-%}hg$yXPDxBx=b z-BtW{SYIVYosD0=fu2Gg8VsKtPmtj;{GH(Ym6o65q|g{WxI*SuzKSTAo6brrvm^~U zfhQ8|eSwC|F&@+Iy-xQC|NZ6yiYxKKOiyO>J*GtQnmmk^dHp9dlw{7UY3_f=baPat zJ(agmbf1ssgojj2@jXXI*V!QH%W*3EJ%}oHTvyxvDPtKbB(Mq2ASai=E?qz-sH}W` zWll|E&Y+_GwWSM5fTAcBoJO{7rGa&(3BHDsxrt@dQ=IFh-?ziuV{dLMm@l!_wH;@^ zP#MqXPvqyyh3`P_geY4cKx`Qe!6hjQ2dTQ00J|WGtRNvDPe~Yhm?grYvYz63e)fGR zCm-k9+^e!1_d4B8g~Km`gM5$;$1OMb%(zyWlp%Xpr97E;!9gi`pXazim9`K@+(xQT zI%cue(2hCA&*5mz1S*iY0phv_?Ij?{my(=#Xrgw<4p)AN)VI$oY=I^=X7}v5ZB?`k ziCI}pky~CtrNhhumwXW0J~2!{-JrO)uvOAYYqUllZLbN&FkhTnSk^Yk3dHJ=sp|uI zhuZPAyUloQ`}9ydCOQX*w1T3#&o!!3uEQJ%dooHX0{EEKWxUJjC83^bn=9%) zGB?7$1NRlgcpE&>UF9#XD-~U0PFI+o($rZU4n=!tb%3KDjdXqr*L96Tm!y4sVtivk zYZs-gtl$O?-{6a0Bh3?Aw^zem{8doWE?8I9w5`=^QwzB#tetWWJ(NGYF)7BNL7zF5 zzCH;NrIZ#J7_EPUOCTc_8H{l!YkSlDvN<_ZD`9E%99d~YorGkIOl1MzDrx1ZKOf8K zaFnrfoJKFB3zTrmE;68OIBV&oqC4v36@-^?Gm7QR3Q*EYa-?+pBX zCY9PPbV`VJl(Y3=mNbH($!SZ>zwY)H>?i3C??5Y;Q!7?MJ9I!3Xo_l>tkrh%_=7DGy6EnCrtp{hDdi=nSg zV>gk40^V`(=oKqvous1DA0llxXp|cnA;r5vRZdGc{ ziS5@Yvm5g@a&idjVwsw$7@CPv316mPf-?aNf)$ulcDkO7b;O*=08Ccqw+)_x#b?d9dpbDOV|uKGs;exwJh3ue?b(~G_%x$*A`>5D zs1(1buq8#T!c#`&wS`@B0MX4p>*lRMN+TL5DoV+5)4S?xZuQj#70yt$VUS zzRuZ6MkSTSWN7;o{jNxxlr$Q)QRT`D&w3kjCDK9Ch1kq?(Ml_XzgX!ZRR)~7 zBV;-%SgHzSv&VAdfHW{Z6SReCV--hB3VthEt$KFSV=4|MuMH7h0kjpQ-*qCO9n9{l z9CdD{SB_*Cv#9c~cb>)bskuT*66dtdNZx!sBA+Nm&M5<`gRvZM$x+J{qGtpB8`GAh z{6-&MTNwtfx5p`3u;+~Z7VSM)$xMiAf|2 zm~x~uT8{*C$NrU{_fEnTtzWQjxofn|0Sg&t-zu@n24equsWQG6=?Y$s%^SD(M_3Wu zbd6>^z`J$crD67DBMLEo1#fANr!0-!LuHrM=v$g&BEBuKJY#dA1+#?SQ=G#B9?lTB zaeG(6eF&|u;bL;wP_}1oyCU8;nKE^u#1rMQsX{>0IklOwrC(#Xs$*HI9R79Pw1VNC zP&vD!POrVb1LI5B4Z-MINFaB*HS5B?l9U2Es*{obM@OruQBXb=3|Y?1ER<~3+_D6c zlObp2;M`jn6lZa)Q@Si=o1`{?U>dq@nJR)>-G($M3$Ar%kz9-hj`&srI;?EYT^>!q<(RmAYOWnIp9- zh%aWy{}yu4)r3up|g?0CsX@{`h`m1PRMGiE}%UYIDRqwKjGND3^t*qf`@W>!I_bl zv$GRy^(^5q^SUs&9==-V#4l^Ay@Ef**2H8+&d{W4d-Ek~)p4|A$$tUl6zVPw@(riC ze*<(im#Z{TELQUcR<0mjd|}y__2e2T8M(jGps44pZICv$M_JRUas8${gXd$j=Oqy4 z)&5S|UrdLs!=kH$Oog!3d`y5;(&8gy)~+D=n(o-Ns&aCa`3c9=#;TnuE0@{sL{rJQ zvSvOZAlPGImz^ulbJt#0up7XZcUw>&6>NN3(=BR~R3%Be6&;IV?OB77EXsNkOSe*_ z(2iB}k=)Y?!E0gOT|sA93QnrX$#zZfcXRXgR@it24Ezpmdnh0GHr;LaKG~rTvbx0I zDUny#Dk{Fqo1P1Vsk~CR{1R!4Yx8-!Xg)PSDfg?EoNMgQBQTQo^WDd4_t_1v&3dYj zOrD0y1IpjetUR#k?##zgergVM*XgzsIDXYCD#$~FjQuf_-GB$L=`vdx?==VmiwXnD zT8{p>0t;oyT3~V*4iGkbFj)^{u$W?h+1ANgP>oh@ zP7trrY?l~{baXvT*lWxIXRuixNW(79JgQ}ZvCC0vc`HGAm(6`^UqM{3SKs+8h&@cx z-b|pNGIs)0iJ#j1Y1D_k)ZeC#;As4Cv>GaxoIqC(?+V2o<0Tg6z!5+EeF}-aDBQwg`a$zX-R{}8T*sDkPCI&spZXXOc1N6y+nvy zJMByn;j}$wr%7v5LDk@f&h<;c%z&rTMu{So`!+|2DNYe2v@!A?>ZPgdlfh6R6Kgcg z(QK+DcdHl?JB7EDRp27TC2ieQ;8p-rJuYAV8C)zc`xKUuho)A0>RxQqQFbjU>@p*A z)MN>kQR(FAP#QHSNvDpS1=hc;EacMsMaipdMv50RMO)?Vs5PlztFG+}%7U$7qBG#8 z23rklTMDEpK1LpO&HC@L85$X&jLBY=A&_NMbi5!kE@31k?lN9Etdt-!f>=P{TZkGm zQdIU8YYjU^NY0FP)HkfTiaq7c7?zd)#7LIycZe0);~gu9KeWSTs*WR;pvv13L+vd! znUQK;K}pYZgbSH=L@3^Au>b!p$x$-k-709d$CrQ2S_r3MfZ6c%*$s z8*sJZoz&{KMENMf5fGGSO4-xMR-ZIo!`qv+bquMRq%J5`Q^l-Gl?#?azXiM7p$H_7 zaU^R<28z0)elCDZSsh(S4S9G?@R<(OAV{u(GgUn+r8**?e*j&#hzy=Tcr0zFWy`fE zh)&s>Hp>bhCAN3g;F(d`a;PI!b{WVpo>nT7hDcsbi@x^Y6Qcqnba6&so6c9ZP=0w2 zJ`>f2k7~RnNoXGm=XffrvF-4NP|n~qM2vH2GjFDigC$;@TFfgf>1Vp0%oBSLh9uh7#K;Nm46UZ18*pcWd6Q=&R}|*$rg) z3V)-dP_nY!I(B=7(anyq--XU7mV$psZYUW%;H<%gvzD)`SIj(_Wcr*MzKq_;s?I7$ z^{sxNQ<>e7Y(BuA8eG+b3t$tmkf6OHia>9fXI~;!oofF-Y5G!l$lKXq|AmV@QkBd4 z;G!~$$Axj1BQA=bQbv4)%fRLwdUtRsXgw#^Hd;);$B__8Eb=GIW%x*c&d}cuT())= zKMF1$4>dR!b}s4SYgMszfYWm_A)h>AP!ZqO0=1?UrInYSn*-c7P;){w3dbC^m~0D6 zXYE0&-&`I=%UfWF$k&(Gw2`mENqNnIqfVKtsw=0o;TLDKIQzkUx@P)__o(0Q-Ixds z%(KaGD0f(W83zgUxOuP9tRTM+KSMdKTsdvuNqP#M^Tk&<=Nv~zMdb~Wm7;Ix0)WOF z%)j#7y=aGQE3cx~yD|MKvQ%mdip^>au~aw#lwu03MqjcFB3JDc%`!%ZmdMyiqggb{ z=Gv$rT$I?fVz=h0|r`mRHcEJ^ZhkgWjKASv!>qlS+)L zV^h5(E#k7SDBAB5jQFx=*@?-~5R=-v1#9Q66*}NR)x+BA6iCp=>Qa#XQyrqmXrMCg z8b4RrJZ1FUm(4v~&0kTvA1~mbHL!h~fM#uS!(j;yDUu@IJ;a~~Tuz#(qr7$9yn&Hc zjr`J^;t#UbxH{x6X6b;EPerJ~Q>cPgp&q)JdGMf**yHeArgC(2POlV%(A_ye5vna{hsIgm&v8Kx5s^EBoMU_2OYcE+$>ryRo{AumIjMmJQN*tEv zw5Y#giSwiZGflq4{i}Y0A-~rXW3FII4i6V%fa^pgY0gT{sYT6BMUr0wk!wRj?OfN3 zh%-~Pv!!TKO%EZIn39WI_~&eTP{GrtOPn=1!c$;Loi5v35(E+g53AeAjQk$finwZT za5CziN-s*CcPWoGO?{^pFjF-~B-UdF0uX$)Jhf1%5_*k*srg?mhU(-{q0UFjMdu#1 ziDjE431k-rikamUj~ni?XvBuahnFLp29?v4)17p{;2LtTaUFz(%0T{Z1|4`Ei#7tP z=+3t~ZVi)?ehWEG2W*@rjll||vNjj-9_*-;jRPwbK1O_0!|0>XKVFUvtJqvQP4_1B zq?XeSjG%d#OBB93Z9G=0q|0#}!vzKNYkoX#MV(&FW@;=daN&kvP?$4=c{6ur-s(0R zjjhq)V`f`58#P`GfT~eSbsflArMcapDovVGvha|VIe`0soRG-SIBLs+qKSoLE9&== zIa5A7Q8U^CvlAN@E8u%9TzlH;vH$Wi%;P zCe^p3OO;MhA4kc2mdY0iuaZIv4wcG==GKmS_vmnqtmk3|HVLni8dlsIa1xV7f$mxv zO*HqX3q49)yAgBUDk7Yd#8Nun5tPcIytJ5KkTo2+L<#JxzBQTM9==u4Zz_jk21)MQ z97rcEvWoubr;Vur`wi0pvJB0I?t9q6jA{XD!-$!+14uWLya8y(;--NCEotgfwI(us zm=di_gnsP6j~L;SH0$stRk& zes7bs$`8}88H}h>mgZVCqNSPp!mNSXlr`4|4JxS1 z&LvP+`1H3>KLsBghO7lot=I+0Qy{_iIk!^^W zJ_&Tj%uV}g{8{}r>TI8|=Zpl&lFVt00BoW47H_3&Et>Zcg9bEjH}){a{xUVXe+u4= z!L5YuIjxq^ms%J#vmV=ONNHbYD1xSc`u16-es@(DQEec!aB z@LiP0EFxt!Fz?4qH{&P!~6c%vI&Grl~W81qL77DuDawZ(53KA57hO*8n6m5tg zJH(GFq+}zh9oU{AeuAEp5PG;Ju~NL1r7GiK78&jip#yh z{bNQF3(*^x8a9%}6I_k*=VUxJhf(5oD4^3Usg%%$Ic2$mnqSE)9Mm+vxBXxDu22Rg zMfxdnmUlMT-UNp*#_G!FQJ~dnEH6uNxG@|)r$R3KR!T$ncre#Zfv^rg0{#}k_c$bW zn^AnkL)y^eVb%tVlXDK&)*d3KS)|oR#U+k4^sScO~5L7QFn{RM%JWM zdzS7RQGbxOz-1@dLZ=DmQ-G1Xh${m9u{G0w4OwB>6xxg{Y%ak9!wn`S*9G0h#P?z= zn4B>StSc_YXlW%ERr1?g33P+`rs!lIBB>`NHgArAFYjaq&n6Z8&(Z8a<32AcB1h}+ z*t%VtOVRkQ1L#98IBsr{EQ}5KMUCF&;G#U2@A0RGnK!!X3v)JSqFXYUs+phT?E4iSf*C?%4z0`U~K{e!ZTsVwQ(q+wuB7~Rn1k!y_{UoEu{dh%M`jMCkuMz za(XETuy%rQooEIxw2N}PlgS1bv5Nh4fpq66Bp~b~(Yo(Z3Tr5j1Jj7D2 zwQa7O8Ehq7@{96_%d1tJRn9FN@>o<46izIxcus118j=ZC=D=f-5U%vmefi}TVw7EM44bboT`Av~1Ut6CV{u`8 z@z~m0)Lx)U{{f;BHG&wSbCnX!`wbv&EL+hf4pc)+3y6CZO5<_`wXij9lHO3$&!*oDy40#wA2SGUx zkP5MpYbhjk+d>Yh{Cu?#ReXh=z%mF~-__*^^F%t2ES-=fTK2?SX)_1g2uC-)gKZBi zHH@HPcDWRax)$>*+)OzXO{*Hs=}DRsUu99luxi`Pzg#SQY%0C#fTkP7dSY6zN{>Sm z#Io7LwH$D8_b<-RFDf?aLK9{&f#}l;QYV6}?v$@vqk_Y&cTDZC=zC6}#~Gr!vD*OT zM5*gj^{KQU<0Q~>M=y+~&_-sDa?8i&tr5_#a1ype^}~yaF=zz4D9@-2pWpMql$k1} zQ|?!go7<^0YHBlux#hdbvzyo~purBysOw;Qv@uXOLz($I7Ss!_O1lzH^KMLaP|2?m z?xn1cD*OxVvt0Zf(dk`WpSv@!J|a^evXA1K4T9V^b=CkQMgGkCa}s^)^6O3ZxDC4D z(qG=w1q*@>(kop%2}ibH-hwdb+DT+MEO#N#jTSAk{Zdx)1VnvR%DO;Q#XqAtr+=`WKAiUAO4;}DbOZUn4mSlRBTUlUE64W>;X*^oT zYkYZffq~1<^NZzqc_uA7g$%pp7b;dz!Ol05C6o-ClZ;853qwQ~d+MSS-P3?k<2A!s zDv0vba;TVInMY;0dJtf2(kj0`!KuE%Ya`jhE4my3y|`G^p!?+SSHVDYOJYdHeKNBx zjzQVJ3|w0D&@}1J7Ey*cBVqxMPp@J~iGt>3dS>3$0-zYTZ>gS5V{M*mhWB`d2F(nQ z@?u`$p&laT=@n(jlhk!;y4ePM0v;onlc`NqhuA__F);fAYvy#;C=!*8RXUza&N!kR zJHoK0iDv>`W-#uqD~t0~11lV)^OweUFvU4;}iFK>u=R0wN;MUR0Esmm=d-_E=A=L0q)iz$?U z(O{{VRgR)CiU`3RqN-Y_veGgB#-;(wUZyAyS-Ayn7?B|MM`D|S8LpXOmslH#cWzZ0 zbhH`B{^?F4-NnGUS>OHI?4W$4(NXF5%^vAa0JT~Bc3PG2)cmKHZX{81&6ifZ+E?z# zH%E%g=1faY$)*gUqvI5pU@ZmXIlPB$F0q*IEICiXI5muwPZ2!}I7}rLjX&rD4q@5{ zOH!R+sarQOQK;btj(D$Xh!|7ERJ#v3Mmo~QHa{uvWWX6Jo3d=+UIRZTe;i$QFV=8S zdcHQe3PDyh7fablx|B=T9SleqoTMAdlu_@Q;yL3iH)e23RNdI}96HwmGvMgw^0$-@ zkbHkZkJMhDiOMVDG-dOzNUY{K`-=*n0Sb3j!zBlkSHYy9XsxUcZQ2+f?Rdqg5g>zzRwL|P}Np#9e-MT*8eca=qn*{$%o#mpSu6fbzY*OcIIJ0B8Dag>=lJ%aDtC0C= zaiS$A(Bq|an-sWS3N}4%%d`CS#ig*DqrwzZ=*F|hCMoLoY94XvDA=-a%Xi)HkdO)2 z&1f|J8aj2!0Tf*&{+7^3oqPpY457@*uuy_4yPOkjw$CR=sOn9nFijuh7Pw>J5_(&T zSSEQ=RmIQn8s{U0hnqc*to*VCb=Yhgzj{F^h!oks-I7 z-Qc^V)nJXrfcM_~aZ0k*8vb3-o+V#a-PyA71vcL2YIJ>}RQ%51>!|Ru2Tg{K{qU29 zc{VT#;Z}Q0kXc}9%jV8-abzZzmmB=q5?^VAP~YORww8_!%12GbD(8)7Oh4jh$Rko4 zjN0;3ySc(HJArjF+I&>a_M^9Wl%|Lx0zjt3p^DO2>ToED*Zp+*g35yG8zmy%vjB8x zp2+$#!y3~GW4U~Xk~}%T7@#AI^Q*HZ()3eY^QfK^3Lg+jN%cKlU3z>%fxG5s26Q7( zi`0Q`_t&Vr+%zH80U^o@I0P#3Pmris?ekXa6*^-af5pOs#^O>a203nJ-~fSblT|R{oL= z*%$>#icR|#08GrX?AuqS2~%_3)V1VO{K^~`*k>K${u4cOh{Ep- z{Nf6~h~s098r&|yOSfU>W66GEx7_)OnjPUt(N|`>Gu=3 z?>>*5;7F=4)VE+wp<)hB*QNo*+=^j^m&%nr^pJXm9BD7*F2>-b3x+eZ$-0!pPueHo zrdcvBoPecvbdHJ9RuoXB`5)Q4UU>C9g$Hf2@)n~ri@Ujyck%Z zlyjcN>HchOxZPBE$&10wG`va+BMb17$f*-p4IH`|NhvWU(Me+zmkFi}&9clld}(`LMbx3;E`99oiF$iav5Iee}Q=@j!vG!|X8_vCzZW(68s zI4D^=#g|IagTmwLECY`@v{6He!jFV9qx5#qc-~*&;m^*R&~!o79=#;uP*EfGv>ERa zy&cFjXvkJFTj>XiBp?%83QX;}>ZnREAth;#F$m>U@`TXjGQ&k$nln5>{Bqo*?bg1xPOAmHwd%ps$v9XU({)ql8D36vZy4Y&#MG)IjiGF z6MW|v8Hz;?YH~h1>%tHpwp3spOI_SrP}P+B)k|24HKk(2p2F03K8V^9>$y>R#tkV_ zg;LHM5*?D)PX;%A)$%k_sHk694rwSav0>^;lR-!E7`6+G4}Q64Huljau-oWhdG z@fO<;*+{4CS;NHo>xQAOEl>_Zv|LzjUj?kT-Ps}+b!@h4Xx)H&`cPJugP<>LwqPDHFN6Adx|`1^(CUY{-!okn4cJ3K?FJ40+W|C}nxG3pwC@sY5Mk(kW^T zQx}BiJ?#+dm-rfp}sPx^0FA*m!mYHpF*Z#A@3(CIWH zF;JqTH4rxJ->2ub*Bc{w-gsRfjjFB*DG51*Xx`F%VT!&`7DL8=VHI}V5eOPxJaa)@ zn{&D|ly?EzC3GE~mXGnVLHoDxP?VxfsooB;Y)Vb)b{CWfuLH_b9J&NOvpXJcxCT5Q z@%R*L&T0`4VLkDHz`qx@gY zoq%!$WEo;`JEfHDanbFu+)HA4$>tFse?yn>ktXX^_!OGVO*zn^5^)&eG1{z9+8_SQ zNu%~KzXjSu=zP}5r8YE4hkr(fe@<5$N%fBg($(uiPp7IUo!p|Ry0`8>;Dj*;9gFb9 zkVN1_o+>j&!-o06F{ez?05W>-PWOh4Y{qJW)Iiw$Ryp6`iB#^}q#em+f1vPPP;2i;(jRWl4a3)RR{+R)ZSA!n3j@{tnm zTQsI_DM+Dn3{KR+DtyMU#H_U?r5faj1H#EBX9=k9x$9iXkJzLT$&yLzZ!H%!VpPL$(bom1y?pOvj{AQp3)d0meqL z2qBuac3`+A`R}p2;^Yf5YYq&P^DFaX#|RK{qxrHqCoe2N%ZV$g?&k(ZP)rj8!dNYf z>eNt{uwgOWSS|Yu-@~r{Ib6PjkaQbI9CO)>vdqeJ>oR|z`JY>QP>OzO$GqYK8ixPL z{VN)e$UUpbh7RR5rj%%lvri77r6`>bg?jYNAI_K*hpFRP+>zLoaHNB4q*v^(t-L zN|(ora*?6dC5Ix44Xn~Lw0hhDt-d8rH=w18#mJn8(dp!|dnEJn1(cJnGV_svhO?U- zvl8gMs3Dx0AUCIIbWT=7DQaD6fe(*fBE-aZsNtcR^OW+e@F<#n&P>(71!TDfet}{f z;~5`d|0!^N!CI$ufbH35Wym-8HPp4{LDO6J8LVUjkKh;t->f5u%E{~rY-gLQ%c$}VH z`~z17yHitRzMQZ+-;#B5r#sYg{y072_<6I!qTb=kSOw%~6cwC3ctRH;tBQ)fgJL?j z5;mV1RvXd-YB%$}+l1n@z-a&sZvl6GWTql(ioH{!vN3%@Q_gUX65E~4PA{R-i^~Tl zU%IzI%0c%eaDSE$AB03{&-uVl!GkX*Gr|YFW)M+e(?h#XN7vTST!MtZ!&^uw_ zM#!t?97&o=Kq<%!8*LDgd$KuCEoaif(oSLKYeVQ&*l2Iv7Z+G3P2RO|@-%lRyQ)V9 z$}Z`q0p_jD3E=%ngs72G!I#%ls4_fdN74|5r3{KZ(;02QzJU_a!w%@C;L_rY zoNTwUsaMvYB9_zGP1#yE724)xzY_~S2nhTx&$7PaPo!OEIK)L3f<% zx_EV*Po}2r6f3QbFP6<1`X+cZiUMXP)(dExkOj?&EhRD$B9osk!8m)o z1>;vKRjNjmWBIRm{0%-A20>3gn;^(r_<{SJ>Ch3EY6wC1v+0fm?$IL7RmSha{4L#D zna~4CBbAAarneVxYQePR3XF=&`;ANT`-(8tu_~-)rfTv^jH1)FVRXhh`v+^uJJh|B z7ZyRO9-}AN_#31oPqXPW6YQ&=pPPWBf={3R^N2Qas+81X3>a;g8?ye{O8&YGC30uv zlp^aO@dzuAL4zw~+}uGrvrwu!qV%Qi zF_D2|W4tz1|Drm}>EMGgbQOgk5Z%#=Bhk~{fYMUB=IgMFh21$Tl4}=xvouRSPMqbF=D6kxS`}hVjQl0!&)G$8S+WAbTjDtsW)ZL1&AFLrU2vu2 z@K4&(#bI0S_fe+o+^)7zVwfXAwP^<>ec)}FL~aCHA6J&UUk!U%q^^lxK`-noN)h2_{n!PVmwl^~lf3`K7>n&oDbQe&3woU1{> z&R@JC?37oM-Ogw`))SI5;#s-0dWeE<+ZBeg04jLv@`;R?RtiG>MohJIHLR{gfD+lt zDh;p-(`E{nC`adoEyo*^6Is&jr2Y}5v8RUj6)G)7U*xCPj}ve&!F>(xkHB44Uu}85 z2&zXitWg{}chAVut8rUTtnjUA>H*RWq7oPi8T3+rs~^tA)T7X3y_WP>DtV!+?5@F8 zje-(K`H#xf`8k{v>#EfI%!IN4`;{er)R3%_EuB+@KjqmJwV@Dv_P7hqx^hZBrMx6p z6;0()sw4HQJSKTY^P2B}S0AYCzn&476Ml=vlEfi+jxlRns!Wb**U&<;5qUXf5GORw z#h8UFJQ691l0-m!wn5es&R-n5c-%HTbmOk%i#Z9CuN)i}^VhlTaS9in(#EKZZJ9ve zr7OQOVCz8{blYIMbk$&CcqG>Ssgict((MbvLo-7?>)J{!Gbq0(H#{WwGh|*SN~TFB zDmv0d-lM--Z-Rt82A2u+Xj$OWG_|Q29!e&|6}gkL!pHZwsW(;+e$a(Fnaz*tszr~} zxWY+2$&!g7xZD_T&5W<6NNvf>JsyM0+07*4*IK!wAJHmSBX0pP$;8TP9v@3k#D9l}$>k z6qXkXr*FD9C;OJ

          !)k`<*rLT67|!`(51D}=SCls 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

          {o5I;6^)cSnzyyLxf*K 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 vRP!ZvkUdN1-_9EPCvT%FCr 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

          9Y7qJ~d|*B=vPfnkY;$r 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

          4XtY}z@xsiDk@#VR$SUSIbDrK7O9=ZX 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 E18DGLm;e9( literal 66096 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%0D&E9M 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 SdW)#^7SZ=_%J{SE!2btPrJpkZ diff --git a/contrib/macdeploy/background.tiff b/contrib/macdeploy/background.tiff new file mode 100644 index 0000000000000000000000000000000000000000..4b44ac672e627be82bb9b74dac0016057b11c126 GIT binary patch literal 202136 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 z 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 literal 0 HcmV?d00001 diff --git a/contrib/macdeploy/background@2x.png b/contrib/macdeploy/background@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..4858183f75c382a9b8d75ae4fb8a74abd830615f GIT binary patch literal 138890 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 " + exit 1 +fi + +if [ -z "$SIGNATURE" ]; then + echo "usage: $0 " + exit 1 +fi + +rm -rf ${TEMPDIR} && mkdir -p ${TEMPDIR} +tar -C ${TEMPDIR} -xf ${UNSIGNED} +tar -C ${TEMPDIR} -xf ${SIGNATURE} + +if [ -z "${PAGESTUFF}" ]; then + PAGESTUFF=${TEMPDIR}/pagestuff +fi + +if [ -z "${CODESIGN_ALLOCATE}" ]; then + CODESIGN_ALLOCATE=${TEMPDIR}/codesign_allocate +fi + +for i in `find ${TEMPDIR} -name "*.sign"`; do + SIZE=`stat -c %s ${i}` + TARGET_FILE=`echo ${i} | sed 's/\.sign$//'` + + echo "Allocating space for the signature of size ${SIZE} in ${TARGET_FILE}" + ${CODESIGN_ALLOCATE} -i ${TARGET_FILE} -a ${ARCH} ${SIZE} -o ${i}.tmp + + OFFSET=`${PAGESTUFF} ${i}.tmp -p | tail -2 | grep offset | sed 's/[^0-9]*//g'` + if [ -z ${QUIET} ]; then + echo "Attaching signature at offset ${OFFSET}" + fi + + dd if=$i of=${i}.tmp bs=1 seek=${OFFSET} count=${SIZE} 2>/dev/null + mv ${i}.tmp ${TARGET_FILE} + rm ${i} + echo "Success." +done +mv ${TEMPDIR}/${ROOTDIR} ${OUTDIR} +rm -rf ${TEMPDIR} +echo "Signed: ${OUTDIR}" diff --git a/contrib/macdeploy/detached-sig-create.sh b/contrib/macdeploy/detached-sig-create.sh new file mode 100755 index 000000000..bf0033f45 --- /dev/null +++ b/contrib/macdeploy/detached-sig-create.sh @@ -0,0 +1,46 @@ +#!/bin/sh +set -e + +ROOTDIR=dist +BUNDLE=${ROOTDIR}/HyperStake-Qt.app +CODESIGN=codesign +TEMPDIR=sign.temp +TEMPLIST=${TEMPDIR}/signatures.txt +OUT=signature.tar.gz + +if [ ! -n "$1" ]; then + echo "usage: $0 " + echo "example: $0 -s MyIdentity" + exit 1 +fi + +rm -rf ${TEMPDIR} ${TEMPLIST} +mkdir -p ${TEMPDIR} + +${CODESIGN} -f --file-list ${TEMPLIST} "$@" "${BUNDLE}" + +for i in `grep -v CodeResources ${TEMPLIST}`; do + TARGETFILE="${BUNDLE}/`echo ${i} | sed "s|.*${BUNDLE}/||"`" + SIZE=`pagestuff $i -p | tail -2 | grep size | sed 's/[^0-9]*//g'` + OFFSET=`pagestuff $i -p | tail -2 | grep offset | sed 's/[^0-9]*//g'` + SIGNFILE="${TEMPDIR}/${TARGETFILE}.sign" + DIRNAME="`dirname ${SIGNFILE}`" + mkdir -p "${DIRNAME}" + echo "Adding detached signature for: ${TARGETFILE}. Size: ${SIZE}. Offset: ${OFFSET}" + dd if=$i of=${SIGNFILE} bs=1 skip=${OFFSET} count=${SIZE} 2>/dev/null +done + +for i in `grep CodeResources ${TEMPLIST}`; do + TARGETFILE="${BUNDLE}/`echo ${i} | sed "s|.*${BUNDLE}/||"`" + RESOURCE="${TEMPDIR}/${TARGETFILE}" + DIRNAME="`dirname "${RESOURCE}"`" + mkdir -p "${DIRNAME}" + echo "Adding resource for: "${TARGETFILE}"" + cp "${i}" "${RESOURCE}" +done + +rm ${TEMPLIST} + +tar -C ${TEMPDIR} -czf ${OUT} . +rm -rf ${TEMPDIR} +echo "Created ${OUT}" diff --git a/contrib/macdeploy/fancy.plist b/contrib/macdeploy/fancy.plist index 8ee3deb38..0e6f5e30a 100644 --- a/contrib/macdeploy/fancy.plist +++ b/contrib/macdeploy/fancy.plist @@ -10,7 +10,7 @@ 620 background_picture - background.png + background.tiff icon_size 96 applications_symlink @@ -22,7 +22,7 @@ 370 156 - X11Coin-Qt.app + Hyperstake-Qt.app 128 156 diff --git a/contrib/macdeploy/macdeployqtplus b/contrib/macdeploy/macdeployqtplus old mode 100644 new mode 100755 index 7981eca40..bd5ea37aa --- a/contrib/macdeploy/macdeployqtplus +++ b/contrib/macdeploy/macdeployqtplus @@ -17,9 +17,8 @@ # along with this program. If not, see . # -import subprocess, sys, re, os, shutil, stat, os.path +import subprocess, sys, re, os, shutil, stat, os.path, time from string import Template -from time import sleep from argparse import ArgumentParser # This is ported from the original macdeployqt with modifications @@ -38,14 +37,17 @@ class FrameworkInfo(object): self.sourceFilePath = "" self.destinationDirectory = "" self.sourceResourcesDirectory = "" + self.sourceVersionContentsDirectory = "" + self.sourceContentsDirectory = "" self.destinationResourcesDirectory = "" - + self.destinationVersionContentsDirectory = "" + def __eq__(self, other): if self.__class__ == other.__class__: return self.__dict__ == other.__dict__ else: return False - + def __str__(self): return """ Framework name: %s Framework directory: %s @@ -69,51 +71,51 @@ class FrameworkInfo(object): self.deployedInstallName, self.sourceFilePath, self.destinationDirectory) - + def isDylib(self): return self.frameworkName.endswith(".dylib") - + def isQtFramework(self): if self.isDylib(): return self.frameworkName.startswith("libQt") else: return self.frameworkName.startswith("Qt") - + reOLine = re.compile(r'^(.+) \(compatibility version [0-9.]+, current version [0-9.]+\)$') bundleFrameworkDirectory = "Contents/Frameworks" bundleBinaryDirectory = "Contents/MacOS" - + @classmethod def fromOtoolLibraryLine(cls, line): # Note: line must be trimmed if line == "": return None - + # Don't deploy system libraries (exception for libQtuitools and libQtlucene). if line.startswith("/System/Library/") or line.startswith("@executable_path") or (line.startswith("/usr/lib/") and "libQt" not in line): return None - + m = cls.reOLine.match(line) if m is None: raise RuntimeError("otool line could not be parsed: " + line) - + path = m.group(1) - + info = cls() info.sourceFilePath = path info.installName = path - + if path.endswith(".dylib"): dirname, filename = os.path.split(path) info.frameworkName = filename info.frameworkDirectory = dirname info.frameworkPath = path - + info.binaryDirectory = dirname info.binaryName = filename info.binaryPath = path info.version = "-" - + info.installName = path info.deployedInstallName = "@executable_path/../Frameworks/" + info.binaryName info.sourceFilePath = path @@ -128,22 +130,26 @@ class FrameworkInfo(object): i += 1 if i == len(parts): raise RuntimeError("Could not find .framework or .dylib in otool line: " + line) - + info.frameworkName = parts[i] info.frameworkDirectory = "/".join(parts[:i]) info.frameworkPath = os.path.join(info.frameworkDirectory, info.frameworkName) - + info.binaryName = parts[i+3] info.binaryDirectory = "/".join(parts[i+1:i+3]) info.binaryPath = os.path.join(info.binaryDirectory, info.binaryName) info.version = parts[i+2] - + info.deployedInstallName = "@executable_path/../Frameworks/" + os.path.join(info.frameworkName, info.binaryPath) info.destinationDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, info.binaryDirectory) - + info.sourceResourcesDirectory = os.path.join(info.frameworkPath, "Resources") + info.sourceContentsDirectory = os.path.join(info.frameworkPath, "Contents") + info.sourceVersionContentsDirectory = os.path.join(info.frameworkPath, "Versions", info.version, "Contents") info.destinationResourcesDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Resources") - + info.destinationContentsDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Contents") + info.destinationVersionContentsDirectory = os.path.join(cls.bundleFrameworkDirectory, info.frameworkName, "Versions", info.version, "Contents") + return info class ApplicationBundleInfo(object): @@ -161,7 +167,7 @@ class DeploymentInfo(object): self.qtPath = None self.pluginPath = None self.deployedFrameworks = [] - + def detectQtPath(self, frameworkDirectory): parentDir = os.path.dirname(frameworkDirectory) if os.path.exists(os.path.join(parentDir, "translations")): @@ -180,7 +186,7 @@ class DeploymentInfo(object): pluginPath = os.path.join(self.qtPath, "plugins") if os.path.exists(pluginPath): self.pluginPath = pluginPath - + def usesFramework(self, name): nameDot = "%s." % name libNameDot = "lib%s." % name @@ -196,32 +202,35 @@ class DeploymentInfo(object): def getFrameworks(binaryPath, verbose): if verbose >= 3: print "Inspecting with otool: " + binaryPath - otool = subprocess.Popen(["otool", "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + otoolbin=os.getenv("OTOOL", "otool") + otool = subprocess.Popen([otoolbin, "-L", binaryPath], stdout=subprocess.PIPE, stderr=subprocess.PIPE) o_stdout, o_stderr = otool.communicate() if otool.returncode != 0: if verbose >= 1: sys.stderr.write(o_stderr) sys.stderr.flush() raise RuntimeError("otool failed with return code %d" % otool.returncode) - + otoolLines = o_stdout.split("\n") otoolLines.pop(0) # First line is the inspected binary if ".framework" in binaryPath or binaryPath.endswith(".dylib"): otoolLines.pop(0) # Frameworks and dylibs list themselves as a dependency. - + libraries = [] for line in otoolLines: + line = line.replace("@loader_path", os.path.dirname(binaryPath)) info = FrameworkInfo.fromOtoolLibraryLine(line.strip()) if info is not None: if verbose >= 3: print "Found framework:" print info libraries.append(info) - + return libraries def runInstallNameTool(action, *args): - subprocess.check_call(["install_name_tool", "-"+action] + list(args)) + installnametoolbin=os.getenv("INSTALLNAMETOOL", "install_name_tool") + subprocess.check_call([installnametoolbin, "-"+action] + list(args)) def changeInstallName(oldName, newName, binaryPath, verbose): if verbose >= 3: @@ -239,10 +248,11 @@ def changeIdentification(id, binaryPath, verbose): runInstallNameTool("id", id, binaryPath) def runStrip(binaryPath, verbose): + stripbin=os.getenv("STRIP", "strip") if verbose >= 3: print "Using strip:" print " stripped", binaryPath - subprocess.check_call(["strip", "-x", binaryPath]) + subprocess.check_call([stripbin, "-x", binaryPath]) def copyFramework(framework, path, verbose): if framework.sourceFilePath.startswith("Qt"): @@ -250,19 +260,18 @@ def copyFramework(framework, path, verbose): fromPath = "/Library/Frameworks/" + framework.sourceFilePath else: fromPath = framework.sourceFilePath - toDir = os.path.join(path, framework.destinationDirectory) toPath = os.path.join(toDir, framework.binaryName) - + if not os.path.exists(fromPath): raise RuntimeError("No file at " + fromPath) - + if os.path.exists(toPath): return None # Already there - + if not os.path.exists(toDir): os.makedirs(toDir) - + shutil.copy2(fromPath, toPath) if verbose >= 3: print "Copied:", fromPath @@ -273,68 +282,85 @@ def copyFramework(framework, path, verbose): os.chmod(toPath, permissions.st_mode | stat.S_IWRITE) if not framework.isDylib(): # Copy resources for real frameworks + + linkfrom = os.path.join(path, "Contents","Frameworks", framework.frameworkName, "Versions", "Current") + linkto = framework.version + if not os.path.exists(linkfrom): + os.symlink(linkto, linkfrom) + if verbose >= 2: + print "Linked:", linkfrom, "->", linkto fromResourcesDir = framework.sourceResourcesDirectory if os.path.exists(fromResourcesDir): toResourcesDir = os.path.join(path, framework.destinationResourcesDirectory) - shutil.copytree(fromResourcesDir, toResourcesDir) + shutil.copytree(fromResourcesDir, toResourcesDir, symlinks=True) if verbose >= 3: print "Copied resources:", fromResourcesDir print " to:", toResourcesDir + fromContentsDir = framework.sourceVersionContentsDirectory + if not os.path.exists(fromContentsDir): + fromContentsDir = framework.sourceContentsDirectory + if os.path.exists(fromContentsDir): + toContentsDir = os.path.join(path, framework.destinationVersionContentsDirectory) + shutil.copytree(fromContentsDir, toContentsDir, symlinks=True) + contentslinkfrom = os.path.join(path, framework.destinationContentsDirectory) + if verbose >= 3: + print "Copied Contents:", fromContentsDir + print " to:", toContentsDir elif framework.frameworkName.startswith("libQtGui"): # Copy qt_menu.nib (applies to non-framework layout) qtMenuNibSourcePath = os.path.join(framework.frameworkDirectory, "Resources", "qt_menu.nib") qtMenuNibDestinationPath = os.path.join(path, "Contents", "Resources", "qt_menu.nib") if os.path.exists(qtMenuNibSourcePath) and not os.path.exists(qtMenuNibDestinationPath): - shutil.copytree(qtMenuNibSourcePath, qtMenuNibDestinationPath) + shutil.copytree(qtMenuNibSourcePath, qtMenuNibDestinationPath, symlinks=True) if verbose >= 3: print "Copied for libQtGui:", qtMenuNibSourcePath print " to:", qtMenuNibDestinationPath - + return toPath def deployFrameworks(frameworks, bundlePath, binaryPath, strip, verbose, deploymentInfo=None): if deploymentInfo is None: deploymentInfo = DeploymentInfo() - + while len(frameworks) > 0: framework = frameworks.pop(0) deploymentInfo.deployedFrameworks.append(framework.frameworkName) - + if verbose >= 2: print "Processing", framework.frameworkName, "..." - + # Get the Qt path from one of the Qt frameworks if deploymentInfo.qtPath is None and framework.isQtFramework(): deploymentInfo.detectQtPath(framework.frameworkDirectory) - - if framework.installName.startswith("@executable_path"): + + if framework.installName.startswith("@executable_path") or framework.installName.startswith(bundlePath): if verbose >= 2: print framework.frameworkName, "already deployed, skipping." continue - + # install_name_tool the new id into the binary changeInstallName(framework.installName, framework.deployedInstallName, binaryPath, verbose) - + # Copy farmework to app bundle. deployedBinaryPath = copyFramework(framework, bundlePath, verbose) # Skip the rest if already was deployed. if deployedBinaryPath is None: continue - + if strip: runStrip(deployedBinaryPath, verbose) - + # install_name_tool it a new id. changeIdentification(framework.deployedInstallName, deployedBinaryPath, verbose) # Check for framework dependencies dependencies = getFrameworks(deployedBinaryPath, verbose) - + for dependency in dependencies: changeInstallName(dependency.installName, dependency.deployedInstallName, deployedBinaryPath, verbose) - + # Deploy framework if necessary. if dependency.frameworkName not in deploymentInfo.deployedFrameworks and dependency not in frameworks: frameworks.append(dependency) - + return deploymentInfo def deployFrameworksForAppBundle(applicationBundle, strip, verbose): @@ -348,6 +374,8 @@ def deployFrameworksForAppBundle(applicationBundle, strip, verbose): def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): # Lookup available plugins, exclude unneeded plugins = [] + if deploymentInfo.pluginPath is None: + return for dirpath, dirnames, filenames in os.walk(deploymentInfo.pluginPath): pluginDirectory = os.path.relpath(dirpath, deploymentInfo.pluginPath) if pluginDirectory == "designer": @@ -365,7 +393,7 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): # Deploy the script plugins only if QtScript is in use if not deploymentInfo.usesFramework("QtScript"): continue - elif pluginDirectory == "qmltooling": + elif pluginDirectory == "qmltooling" or pluginDirectory == "qml1tooling": # Deploy the qml plugins only if QtDeclarative is in use if not deploymentInfo.usesFramework("QtDeclarative"): continue @@ -373,7 +401,23 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): # Deploy the bearer plugins only if QtNetwork is in use if not deploymentInfo.usesFramework("QtNetwork"): continue - + elif pluginDirectory == "position": + # Deploy the position plugins only if QtPositioning is in use + if not deploymentInfo.usesFramework("QtPositioning"): + continue + elif pluginDirectory == "sensors" or pluginDirectory == "sensorgestures": + # Deploy the sensor plugins only if QtSensors is in use + if not deploymentInfo.usesFramework("QtSensors"): + continue + elif pluginDirectory == "audio" or pluginDirectory == "playlistformats": + # Deploy the audio plugins only if QtMultimedia is in use + if not deploymentInfo.usesFramework("QtMultimedia"): + continue + elif pluginDirectory == "mediaservice": + # Deploy the mediaservice plugins only if QtMultimediaWidgets is in use + if not deploymentInfo.usesFramework("QtMultimediaWidgets"): + continue + for pluginName in filenames: pluginPath = os.path.join(pluginDirectory, pluginName) if pluginName.endswith("_debug.dylib"): @@ -391,39 +435,43 @@ def deployPlugins(appBundleInfo, deploymentInfo, strip, verbose): # Deploy the opengl graphicssystem plugin only if QtOpenGL is in use if not deploymentInfo.usesFramework("QtOpenGL"): continue - + elif pluginPath == "accessible/libqtaccessiblequick.dylib": + # Deploy the accessible qtquick plugin only if QtQuick is in use + if not deploymentInfo.usesFramework("QtQuick"): + continue + plugins.append((pluginDirectory, pluginName)) - + for pluginDirectory, pluginName in plugins: if verbose >= 2: print "Processing plugin", os.path.join(pluginDirectory, pluginName), "..." - + sourcePath = os.path.join(deploymentInfo.pluginPath, pluginDirectory, pluginName) destinationDirectory = os.path.join(appBundleInfo.pluginPath, pluginDirectory) if not os.path.exists(destinationDirectory): os.makedirs(destinationDirectory) - + destinationPath = os.path.join(destinationDirectory, pluginName) shutil.copy2(sourcePath, destinationPath) if verbose >= 3: print "Copied:", sourcePath print " to:", destinationPath - + if strip: runStrip(destinationPath, verbose) - + dependencies = getFrameworks(destinationPath, verbose) - + for dependency in dependencies: changeInstallName(dependency.installName, dependency.deployedInstallName, destinationPath, verbose) - + # Deploy framework if necessary. if dependency.frameworkName not in deploymentInfo.deployedFrameworks: deployFrameworks([dependency], appBundleInfo.path, destinationPath, strip, verbose, deploymentInfo) qt_conf="""[Paths] -translations=Resources -plugins=PlugIns +Translations=Resources +Plugins=PlugIns """ ap = ArgumentParser(description="""Improved version of macdeployqt. @@ -431,15 +479,21 @@ ap = ArgumentParser(description="""Improved version of macdeployqt. Outputs a ready-to-deploy app in a folder "dist" and optionally wraps it in a .dmg file. Note, that the "dist" folder will be deleted before deploying on each run. -Optionally, Qt translation files (.qm) and additional resources can be added to the bundle.""") +Optionally, Qt translation files (.qm) and additional resources can be added to the bundle. + +Also optionally signs the .app bundle; set the CODESIGNARGS environment variable to pass arguments +to the codesign tool. +E.g. CODESIGNARGS='--sign "Developer ID Application: ..." --keychain /encrypted/foo.keychain'""") ap.add_argument("app_bundle", nargs=1, metavar="app-bundle", help="application bundle to be deployed") ap.add_argument("-verbose", type=int, nargs=1, default=[1], metavar="<0-3>", help="0 = no output, 1 = error/warning (default), 2 = normal, 3 = debug") ap.add_argument("-no-plugins", dest="plugins", action="store_false", default=True, help="skip plugin deployment") ap.add_argument("-no-strip", dest="strip", action="store_false", default=True, help="don't run 'strip' on the binaries") +ap.add_argument("-sign", dest="sign", action="store_true", default=False, help="sign .app bundle with codesign tool") ap.add_argument("-dmg", nargs="?", const="", metavar="basename", help="create a .dmg disk image; if basename is not specified, a camel-cased version of the app name is used") ap.add_argument("-fancy", nargs=1, metavar="plist", default=[], help="make a fancy looking disk image using the given plist file with instructions; requires -dmg to work") ap.add_argument("-add-qt-tr", nargs=1, metavar="languages", default=[], help="add Qt translation files to the bundle's ressources; the language list must be separated with commas, not with whitespace") +ap.add_argument("-translations-dir", nargs=1, metavar="path", default=None, help="Path to Qt's translation files") ap.add_argument("-add-resources", nargs="+", metavar="path", default=[], help="list of additional files or folders to be copied into the bundle's resources; must be the last argument") config = ap.parse_args() @@ -458,6 +512,15 @@ if not os.path.exists(app_bundle): app_bundle_name = os.path.splitext(os.path.basename(app_bundle))[0] # ------------------------------------------------ +translations_dir = None +if config.translations_dir and config.translations_dir[0]: + if os.path.exists(config.translations_dir[0]): + translations_dir = config.translations_dir[0] + else: + if verbose >= 1: + sys.stderr.write("Error: Could not find translation dir \"%s\"\n" % (translations_dir)) + sys.exit(1) +# ------------------------------------------------ for p in config.add_resources: if verbose >= 3: @@ -478,17 +541,7 @@ if len(config.fancy) == 1: if verbose >= 1: sys.stderr.write("Error: Could not import plistlib which is required for fancy disk images.\n") sys.exit(1) - - if verbose >= 3: - print "Fancy: Importing appscript..." - try: - import appscript - except ImportError: - if verbose >= 1: - sys.stderr.write("Error: Could not import appscript which is required for fancy disk images.\n") - sys.stderr.write("Please install it e.g. with \"sudo easy_install appscript\".\n") - sys.exit(1) - + p = config.fancy[0] if verbose >= 3: print "Fancy: Loading \"%s\"..." % p @@ -496,14 +549,14 @@ if len(config.fancy) == 1: if verbose >= 1: sys.stderr.write("Error: Could not find fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + try: fancy = plistlib.readPlist(p) except: if verbose >= 1: sys.stderr.write("Error: Could not parse fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + try: assert not fancy.has_key("window_bounds") or (isinstance(fancy["window_bounds"], list) and len(fancy["window_bounds"]) == 4) assert not fancy.has_key("background_picture") or isinstance(fancy["background_picture"], str) @@ -517,7 +570,7 @@ if len(config.fancy) == 1: if verbose >= 1: sys.stderr.write("Error: Bad format of fancy disk image plist at \"%s\"\n" % (p)) sys.exit(1) - + if fancy.has_key("background_picture"): bp = fancy["background_picture"] if verbose >= 3: @@ -538,7 +591,7 @@ else: if os.path.exists("dist"): if verbose >= 2: print "+ Removing old dist folder +" - + shutil.rmtree("dist") # ------------------------------------------------ @@ -551,7 +604,7 @@ if verbose >= 3: print app_bundle, "->", target os.mkdir("dist") -shutil.copytree(app_bundle, target) +shutil.copytree(app_bundle, target, symlinks=True) applicationBundle = ApplicationBundleInfo(target) @@ -571,27 +624,34 @@ try: except RuntimeError as e: if verbose >= 1: sys.stderr.write("Error: %s\n" % str(e)) - sys.exit(ret) + sys.exit(1) # ------------------------------------------------ if config.plugins: if verbose >= 2: print "+ Deploying plugins +" - + try: deployPlugins(applicationBundle, deploymentInfo, config.strip, verbose) except RuntimeError as e: if verbose >= 1: sys.stderr.write("Error: %s\n" % str(e)) - sys.exit(ret) + sys.exit(1) # ------------------------------------------------ if len(config.add_qt_tr) == 0: add_qt_tr = [] else: - qt_tr_dir = os.path.join(deploymentInfo.qtPath, "translations") + if translations_dir is not None: + qt_tr_dir = translations_dir + else: + if deploymentInfo.qtPath is not None: + qt_tr_dir = os.path.join(deploymentInfo.qtPath, "translations") + else: + sys.stderr.write("Error: Could not find Qt translation path\n") + sys.exit(1) add_qt_tr = ["qt_%s.qm" % lng for lng in config.add_qt_tr[0].split(",")] for lng_file in add_qt_tr: p = os.path.join(qt_tr_dir, lng_file) @@ -631,13 +691,39 @@ for p in config.add_resources: if verbose >= 3: print p, "->", t if os.path.isdir(p): - shutil.copytree(p, t) + shutil.copytree(p, t, symlinks=True) else: shutil.copy2(p, t) # ------------------------------------------------ +if config.sign and 'CODESIGNARGS' not in os.environ: + print "You must set the CODESIGNARGS environment variable. Skipping signing." +elif config.sign: + if verbose >= 1: + print "Code-signing app bundle %s"%(target,) + subprocess.check_call("codesign --force %s %s"%(os.environ['CODESIGNARGS'], target), shell=True) + +# ------------------------------------------------ + if config.dmg is not None: + + #Patch in check_output for Python 2.6 + if "check_output" not in dir( subprocess ): + def f(*popenargs, **kwargs): + if 'stdout' in kwargs: + raise ValueError('stdout argument not allowed, it will be overridden.') + process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs) + output, unused_err = process.communicate() + retcode = process.poll() + if retcode: + cmd = kwargs.get("args") + if cmd is None: + cmd = popenargs[0] + raise CalledProcessError(retcode, cmd) + return output + subprocess.check_output = f + def runHDIUtil(verb, image_basename, **kwargs): hdiutil_args = ["hdiutil", verb, image_basename + ".dmg"] if kwargs.has_key("capture_stdout"): @@ -649,26 +735,26 @@ if config.dmg is not None: elif verbose >= 3: hdiutil_args.append("-verbose") run = subprocess.check_call - + for key, value in kwargs.iteritems(): hdiutil_args.append("-" + key) if not value is True: hdiutil_args.append(str(value)) - + return run(hdiutil_args) - + if verbose >= 2: if fancy is None: print "+ Creating .dmg disk image +" else: print "+ Preparing .dmg disk image +" - + if config.dmg != "": dmg_name = config.dmg else: spl = app_bundle_name.split(" ") dmg_name = spl[0] + "".join(p.capitalize() for p in spl[1:]) - + if fancy is None: try: runHDIUtil("create", dmg_name, srcfolder="dist", format="UDBZ", volname=app_bundle_name, ov=True) @@ -681,73 +767,112 @@ if config.dmg is not None: for path, dirs, files in os.walk("dist"): for file in files: size += os.path.getsize(os.path.join(path, file)) - size += int(size * 0.1) - + size += int(size * 0.15) + if verbose >= 3: print "Creating temp image for modification..." try: runHDIUtil("create", dmg_name + ".temp", srcfolder="dist", format="UDRW", size=size, volname=app_bundle_name, ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + if verbose >= 3: print "Attaching temp image..." try: output = runHDIUtil("attach", dmg_name + ".temp", readwrite=True, noverify=True, noautoopen=True, capture_stdout=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + m = re.search("/Volumes/(.+$)", output) disk_root = m.group(0) disk_name = m.group(1) - + if verbose >= 2: print "+ Applying fancy settings +" - + if fancy.has_key("background_picture"): - bg_path = os.path.join(disk_root, os.path.basename(fancy["background_picture"])) + bg_path = os.path.join(disk_root, ".background", os.path.basename(fancy["background_picture"])) + os.mkdir(os.path.dirname(bg_path)) if verbose >= 3: print fancy["background_picture"], "->", bg_path shutil.copy2(fancy["background_picture"], bg_path) else: bg_path = None - + if fancy.get("applications_symlink", False): os.symlink("/Applications", os.path.join(disk_root, "Applications")) - - finder = appscript.app("Finder") - disk = finder.disks[disk_name] - disk.open() - window = disk.container_window - window.current_view.set(appscript.k.icon_view) - window.toolbar_visible.set(False) - window.statusbar_visible.set(False) - if fancy.has_key("window_bounds"): - window.bounds.set(fancy["window_bounds"]) - view_options = window.icon_view_options - view_options.arrangement.set(appscript.k.not_arranged) - if fancy.has_key("icon_size"): - view_options.icon_size.set(fancy["icon_size"]) - if bg_path is not None: - view_options.background_picture.set(disk.files[os.path.basename(bg_path)]) + + # The Python appscript package broke with OSX 10.8 and isn't being fixed. + # So we now build up an AppleScript string and use the osascript command + # to make the .dmg file pretty: + appscript = Template( """ + on run argv + tell application "Finder" + tell disk "$disk" + open + set current view of container window to icon view + set toolbar visible of container window to false + set statusbar visible of container window to false + set the bounds of container window to {$window_bounds} + set theViewOptions to the icon view options of container window + set arrangement of theViewOptions to not arranged + set icon size of theViewOptions to $icon_size + $background_commands + $items_positions + close -- close/reopen works around a bug... + open + update without registering applications + delay 5 + eject + end tell + end tell + end run + """) + + itemscript = Template('set position of item "${item}" of container window to {${position}}') + items_positions = [] if fancy.has_key("items_position"): for name, position in fancy["items_position"].iteritems(): - window.items[name].position.set(position) - disk.close() + params = { "item" : name, "position" : ",".join([str(p) for p in position]) } + items_positions.append(itemscript.substitute(params)) + + params = { + "disk" : "HyperStake-Qt", + "window_bounds" : "300,300,800,620", + "icon_size" : "96", + "background_commands" : "", + "items_positions" : "\n ".join(items_positions) + } + if fancy.has_key("window_bounds"): + params["window.bounds"] = ",".join([str(p) for p in fancy["window_bounds"]]) + if fancy.has_key("icon_size"): + params["icon_size"] = str(fancy["icon_size"]) if bg_path is not None: - subprocess.call(["SetFile", "-a", "V", bg_path]) - disk.update(registering_applications=False) - sleep(2) - disk.eject() - + # Set background file, then call SetFile to make it invisible. + # (note: making it invisible first makes set background picture fail) + bgscript = Template("""set background picture of theViewOptions to file ".background:$bgpic" + do shell script "SetFile -a V /Volumes/$disk/.background/$bgpic" """) + params["background_commands"] = bgscript.substitute({"bgpic" : os.path.basename(bg_path), "disk" : params["disk"]}) + + s = appscript.substitute(params) + if verbose >= 2: + print("Running AppleScript:") + print(s) + + p = subprocess.Popen(['osascript', '-'], stdin=subprocess.PIPE) + p.communicate(input=s) + if p.returncode: + print("Error running osascript.") + if verbose >= 2: print "+ Finalizing .dmg disk image +" - + time.sleep(5) + try: runHDIUtil("convert", dmg_name + ".temp", format="UDBZ", o=dmg_name + ".dmg", ov=True) except subprocess.CalledProcessError as e: sys.exit(e.returncode) - + os.unlink(dmg_name + ".temp.dmg") # ------------------------------------------------ diff --git a/contrib/macdeploy/notes.txt b/contrib/macdeploy/notes.txt deleted file mode 100644 index ac16c485c..000000000 --- a/contrib/macdeploy/notes.txt +++ /dev/null @@ -1,26 +0,0 @@ - -macdeployqtplus works best on OS X Lion, for Snow Leopard you'd need to install -Python 2.7 and make it your default Python installation. - -You will need the appscript package for the fancy disk image creation to work. -Install it by invoking "sudo easy_install appscript". - -Ths script should be invoked in the target directory like this: -$source_dir/contrib/macdeploy/macdeployqtplus X11Coin-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy $source_dir/contrib/macdeploy/fancy.plist -verbose 2 - -During the process, the disk image window will pop up briefly where the fancy -settings are applied. This is normal, please do not interfere. - -You can also set up Qt Creator for invoking the script. For this, go to the -"Projects" tab on the left side, switch to "Run Settings" above and add a -deploy configuration. Next add a deploy step choosing "Custom Process Step". -Fill in the following. - -Enable custom process step: [x] -Command: %{sourceDir}/contrib/macdeploy/macdeployqtplus -Working directory: %{buildDir} -Command arguments: X11Coin-Qt.app -add-qt-tr da,de,es,hu,ru,uk,zh_CN,zh_TW -dmg -fancy %{sourceDir}/contrib/macdeploy/fancy.plist -verbose 2 - -After that you can start the deployment process through the menu with -Build -> Deploy Project "truckcoin-qt" - From 7d7b4ad2a329af62d776b610ef3e6e6f1868d7c6 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sat, 7 Mar 2015 09:57:18 +0100 Subject: [PATCH 340/555] Hyperstake branding for the osx installer --- .gitignore | 1 + contrib/macdeploy/DS_Store | Bin 10244 -> 10244 bytes contrib/macdeploy/background.png | Bin 48690 -> 21675 bytes contrib/macdeploy/background.psd | Bin 982442 -> 0 bytes contrib/macdeploy/background.tiff | Bin 202136 -> 0 bytes contrib/macdeploy/background@2x.png | Bin 138890 -> 0 bytes contrib/macdeploy/fancy.plist | 2 +- 7 files changed, 2 insertions(+), 1 deletion(-) delete mode 100644 contrib/macdeploy/background.psd delete mode 100644 contrib/macdeploy/background.tiff delete mode 100644 contrib/macdeploy/background@2x.png diff --git a/.gitignore b/.gitignore index b3de91010..388032b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -136,3 +136,4 @@ build-aux/m4/ltsugar.m4 build-aux/m4/ltversion.m4 build-aux/m4/lt~obsolete.m4 moc_paymentserver.cpp +Hyperstake-Qt.dmg diff --git a/contrib/macdeploy/DS_Store b/contrib/macdeploy/DS_Store index 099960712af26791175d9f0cdd3d52c251ea9ee4..f0a9d9725448f7396719009ffbe003a36e2b7af5 100644 GIT binary patch literal 10244 zcmeHMZD?E98Ger=H}Xep`6F$XxSNIzP20%2`miM18tKVi?RoDx zS61XKY=whE`n;R73^T9ralO9g;ggPIH?W>xvdpcO!0?PyuIpCWtTvgR ze$FZz&Q{jhC>yoYi_+h7mQi0@3G6>!H8){;TrZnTR?W&=wpBmx_jmdI{*}Oi3m0PX z#F1b$HhJ+#@WO-!97`lFUJP9K`wu-nkvY0tx%jo0zjyijSAOurpZrYDUZ@B{LoICl z9C<d=aA&8(kl!po;?cvA~?v$RkyI`GdV9;?(Xr(9byt2O8| zww^cbW96(fTh)teZ7>W<{?WZ5a3qv=yJH=17dz+nZv zhJlWT&8Vy*Y5;#gbR8S$xXu-LBC7A5vGr2u#65pNx_N88828~k%dX@Uo*It?-8*NGyq7zi7K{^y}avN^-Iz)l+ zl4Ea_%v#uEaaf$?nc#_;^&aJgS9fY_!TB5)H_45$Cw~WSLBZ8&KNe19+$eo4R^dWC zcI8F9t3Mg$X4Noi>yq29U{iMtyK>G}*>-fJrkK4k_UJEBu9%&A4_HtykBE9dcm?St z%;HG%B&I%J!*ZUYs*|6hhPx?hOrQ^}`N5qD7As)afM#|N!tYU+e+zuq!GDd`aOs$* z94tm$w_$hy-e5WP5K4hrVoV> zLt;dHT09|Q;xl4aJS~okWsw&JVTz*f31$Nuzza>El6mjxB=k52AA46hJQpxOWGBYx_sQ?|BjkLT z$1u_uk~<5@|J(1O9U$>s{;c{GO&oL2Jl5uL=#7J@ymAfo4S#Q3yUdZ*<2gPz6Uj}? zWkN}9MhnHXY%G+`MslH4DmN2Jrc$x^T-M|H%iIqElGVc*B_%i6-^LWNJFR!N-Fe z#|`hS*@@#s?_%5>(Ri(}3?OktyUmk>a72q^UM#H<&AU2u1d0Bl+H?Z1dF_GEDLerD zs=^$_zM(Kju}caEf!|eF1NI`9xGwi7K?Z<%9kL8wM-)@-TcaDt1{QbyqJ8UzJc~M> zH{Bt63vD@O{Ws>}tzYh^fzg+Tc`6*icrT1#vmQo@E6w;VuEQMTlZ9wvV$zHxOf6;> z3yI=H(TE#H%*ZFr)I=hgNJTYWi#ArkZs4vfxa+|s;2syR1=}g8FCdWCF^7IXNA&RP ze7OH>E2CDhabDOwk1jaQ(ITxN@qMC7W{cAkX!RS6U|BishD8zg4wE*K_!d$lqs8VK z*krH}uPPfqY)-;WgGJ^eNV4;TZ&ms`wbF=;-t|>rngqUoJoX KW#s|;{{JVJFiBGTR!(v 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 KMNUMnLSTZWI*(%j diff --git a/contrib/macdeploy/background.psd b/contrib/macdeploy/background.psd deleted file mode 100644 index fdc4f4ca4a07ea4c6082ee1357b6ec7e8db99d72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 982442 zcmeEv31Aad{{NfwE(OY|0&3(&Eltaf3W0JJC{zllh}tws+en(kB;|57psudR&nlv> z#~LrZ*0t+>?5@FM*K@7+1zHdl6(J~hfzJQ)eKV8HBq>sL_pk0to6OAjUEk|{-}QZO zMo%oSU=mY4>5Q3HFqZZe%Vuc`sOt356HCj|5rWSVeWV2}t@nVbv8xFwLNeoV2Jkrf zZ#qkF=1%d5PU(Bv zh%!r=uf$pFnzr2UtXMv4u6_9;`xr;x@#At&UOIMZov+Rrw3(OIxjligOHb)*b9k$q zV{uR5!oFr6CAjF6z7r_Ge0o{Axy0*tnnw&BQDC6E^;!Juz!Vd0V`ONK5PHq`5{ zDJ&W@W=x@_xUjgm05J*z%RE8b(gIJQpOT4|&m?ES?sxfuF0aQ-`P!u{<1}6PdA@8g82EBn=ZyR*S zf)(nya1@@M4D`pA_?@<(*FV?mb&pfzUasY5E-5h&F0$jhil7(;mZG`E!^RFT8e3F+f~9Dz#iGkZiJ6c`8C20>3)-|?Mj(rVV#{31n6X8} z#ts{$&&3coF(0qPRlV%6a*4;(<>9c8t@irsY{79hpU>^G+er5c7keD4M#Z>#a$!8G zEoicZ| zfRk#*DSfr75wjIBQ$T5W4I68-liP?C*CesSvvfZ~YHhU%KZn#3T0AAo zL)V(0O>9c_Ga5k6W+xlWlVeTL*b=YX>o4;@z5fDHoABz^O@^h8k}ic=JW@Qc7vPqiMARel(?l>nf96UI9a@` zS++XoxG7$5(COFX8V`%38n^8Uc@W~`&hXZo>uk%+L0Dw-e zA+CVg;R-A=yXtH;&Y?-=@q7}?`+03?0_L3hX-=EN?eaL2@Zq6}_z>R{a^ZN-^_qE$ z<#wAVx`KAE%X6aH;kVTgL(DEaI^038c^SH(<_YnRP{3U6bvvB?Ukoo))cJVjr}5*E zIsJc<^yDh12g9(RL|9>RHB8ysD|&0Jw)%pJ1;*O0q|gn~cu5Kr13-*D3uA-NBqU;$ z^XI%tq5D5)_DWu&kaqD@uuHJ3T^wjvWT9PxUG3sPyCMti66|Uh2ig@`XqRADyExFU z$U?gWyV}Kpc10H2CD_$24zw$>&@REQc5$Fxk%e{%cD0KG?TRe4OR%e59B5Z$p}nSW+7(%7mta@BIMA-hLc0XJ+Qor(MHbp6*wro$v@5dEF2SyLaiCq1 zg?0&cwTlDoiY&BCu&Z4hXjf#RU4mWh;y}A13+)o@Y8MCE75R|bl^fsA?et&|_Y!Q@ z=DWSe(r$05AAa)bhMrglpC5a1XV(XP^+7yl5Ue~9tf<1~T^^&<6LdN~^>q|L_jE0B z`{}tePg~(yN-?m>fznX0lBd&8n?~kNK7B4gz1T$NXI>U$wake-Gn>RpSUD?TMQj)w zfqOHv;=3H79#+O|%uYF}MPN^nx4Oa^toO~XI+p^vA}M9(W!1=HGIJqO0GT_P8-Mk9 zs^Q6VeX*2y=JZT-2R$l1c~$i;chKeG*&{rM$1W*5V}`PG{v^u7RDhp2zq;!9HJk4q z4;Y1U zXFburs77T9Cyz1gyD9-TX@t@ohuQ4#)>m1*8|aaLrusceu!-*EcoY4Ox$`{1DgEZS zNi$-fiEf8E6?{&>9pv!xrEcq-SoGY**#G49W7{-#*sD5KUQ-^>bc*gNGOmO+o9V1p zvPmd*uGg2c*b2K_ftUO3)-xyv{>iudy}r}10jr$!+vTaz*w={y<^ZRO-eAyM=k|IO zRbebo3n3JA@QxaMj;p3tAJ9Py0B*7PRMXP7DmbudxJt~VU3o1W$iq7EU;Z^db zwv9jLb(rh7c>>s!?DQ<>DSB{tAN=OAxzKwX*LEMSeqLRcE9uim@OWMD3ssP1{=}F= zQndMK{>)E|;JJ2;Jul_YN5!6xq35(6{5gmJ;z!A45Y+_6a+SJ-I}?w)i$kZe!s=>- zxbd6GA(9HYLYyp0?IE1%^dK`oBJon<6F&|Nq>VwlT@JSUS%ReQI^MbMl zZL9--!f6`#9LaxE{O~vy9*`&LJ{(R|5nWU{kKmAO4(Wwoz)V)Vw{?*vjUoz4!ny+Q+X(&Q&54ghEQ| zYRtI&r|D0_X&-81pw>-8_6;C9t$jaz4h_-Ps#lxI1d)wX(W&2ttz{lOH`=WAeN^bS=ud_%B~xm}d} zCr*t8APJl0^$@Rff?gl`6alB+T;{rASCgQ5Roo6I!8<_gwF%LA%@|DOz!IW5jNi`h z75mnigQp>A+Dws{UVTW_u#qRT?$&|_wd6)y|%;5eK+`E?qeFP`0yH_oudlS{T z?tUPMd$KUyYn1yFc^u{5O81UB5A@qaIQtxR4!VC4_kUPiPkNs=6Ze-cb~%^e{$1Sn zch}dsa8FjWd!5sUx|mKp>mPL5YjJPEeV%{r9JIOVC&P5))#&c4boW6hAmXwTuWuO_ ziFvSnh#80Mj5bemE^#}9!Gdy}9c1%6uv50qXY(vWlf!AIRIF>#K5!0JehwL^i+8A7 zlC2WH<5Vs)spso)SUhDM=Dic`C0eYsYvQn~n;3iY_b~Dw$6@_%NB{E@#-3=>(bJRk zMR(|s%V{4<42^w$FhVS5+c&!MhEjR4J@n>DN)0xXR@<>fAA6|LQ?NVD1&K=hqZ8`T z(&2I99A~u?JrWc(A6kYE6~ygvxcK==E{|cSzb=O#nM{`h-70#Gn{IcvvhL>$W%*6r zS=!duS$ek)EN$U!2$5oPo0&5oqXWiHJ9e|8_qazm|26!W8t`ZexOl6;O6JTp+w1*{ zl_=?S$v{7+GwaTdV#lz4XqgLGF&o8BVpfbernA}Ti=DyF#z3W()uC-&!hXkAvP;>O z>>74GyP1XA-Ryq$5PO6@$^OosWB+2Wu{YU!Y#rOczF=F}cD9@CM|UAh>L_)Sj*^a* z21qAJ#nNbLoHSXQDb112kSe7b$s^TEzmqPOu9Q|uH%oU&_e&2;PfO29uSjo6A4waf zuchy$7E_uj&(z&?v}vHJ&@|dK!8F4(*L0St#&n)(x#<$q)uun1?le7UdcyRa={3`P zrVXYord??)twUPRwBynW(nhD1q|HuSkXD`MPrESfinJTj?o4|q?U}Tf(%wnikoIlb zzVyuWZt3Rqg7lNpr=`zJx2K<%eqs7m={Kj}m;OZhi|OyAZ%p5w-kQ-dqff>O8Dld_ zGfvN_$ykzcX~qp1_hdYt@z0F+GQP;zotc^0GjmYpsLW}ZXJnq6d4A?qnSaV`%v_uK zR_3P6U0GRKM`fLmbxPLkEL&DE>(Z>7vL4KeWWAmBMb_Tz4%x?M7iUk&UXbm{z9{>K z><6-+&3-$3bN2q6{G0(fV{>NbIC7TdH00c!^Gr@t&KEiRbGzgY$~`4_Ztl6cD|7#t z`%vybbJyqY=+L1<-wtCsoZ7+FVMT{OcKBHH7!cXjF3rKrp7E_Ge5>heIBSGs)F zHLL5uu9Leux?a-tuC6b1-PA3uTfc54-R#{i?sj*#e|Gz#duI1R-AlWl+x^P!f9d{4 z_w7Bp_88t{evhR+Zt3xl9vgb5^&Hr>(pLLdfnFRpS`~A-M#lo zz3siP=>16VkNcSV9N%Y7pY!|N)#vp-yN*8Q=&48hj=t&W7moh+n4ZU2k2&|4)yF)0 z%-6?uJ9gZ$u47jp8#(qHa}V7eC<{yb>?;EsdG4?b`3orB*Uk~w7bkVQlOG~~_WO~;QozV`TAj&C}_bi&9J zTqpeLgtt!2IC0F0o)hmp@q>cAf(ZqS3;tZNacIw>GlyO@^vR*y3i}r>D7?1trNUOr z2#ectw`E;X*P`h~7Zp8I^nLO1#rEP`ir*d9aoCh$pFN!=1x#8~)*lZX?P@ zTsGqQ5eG+(8tEVT(8#Yx^&eF^>ef*ojP5?VeDqbLUmlY&X5yI8n7@zNH+JOM;MhmT zMo%g@Y0*g!ob=VngHCpyeD}$lPU(A!?UXxC*)YyLu5#S%<2H;xZoF;$o#Q{V_Om*y z_gFVi7&7792@g)#HqkQCKk@O2drHQZTu`!hQre`cldhQb#^kP(=S{wO@~2b!PN|vl z=PBE#j+lD>)V0$xrp=gk?X(X{k1n;B-e0m_Qb+hZc zbElmfK6lTe*^BO7B)d;@H`Zm>Rn|T2>FQbJdC_}}cd7R+-wD1;eH+djd*1cuZTHXc z-xH7mX9b=Lc1LIG_4>i}zpvl8c--P!7Vlj$f61duyDarAeSO*S%PwEGdHIy(YtBzU z-+un{zdP=CD}T4~f(aMgaiMf!)rHT8`h_kDeX(Ndiu+dPu3WV8-xpafT6NLRi%+}w znM;noWW^<$en0j1f4;QSrT$Alxa_3M!hcBrgX<4(Tt4jbn=Ws?!g0l`S6Z&T;mQM7 z*{^!_|BC+akN+oMU48W%4I>+FyC(A*&o%E~JO0}HR&`mmeATAw%C382wR!awt9M?1 z&h@X{F#Lw_jk!10-?-tAGynM1P5p1W=B5KT*WUczEfa5PytU7*m*2YQPmVvmeVg^R zhr&mPuMD@`?z;WMJEq?8#GM20yy33QyB6Q|<=yk|ere6z*s`Ie4$<-VOK7 zx$njMN8Nw_1AQK7__OKH^?&~Q!G#aL`Ikw5dFr8phwff6nvkUO4@QcV9g9#W(&rpY-O_hodvDfzZ@oY7{SQA__`!w`9Up%6k^7_XK3@Fs{&g$XXRN>C zll)I^__WWbcQy}cZrm_(!#_4o+W7is6`!r!WZ$&q^T6i^zPRMej$hue`Pj|(e^va| z-@l&n^_$W ze)mqDI(4U?PTiFxT@EJ$c`fUb4dic6lln4K7b&faB!7b8f3EzZG#*%HDDxOVm_BJt zGNor^W@YE(c90SSF~60j1?Dp;T}m^hn=-O8voq52h9R&^TKaKai!vshYU|ebyp_e7 z-LJjl;fekF_n7ls)v)3Ii{2{98nCKj`^N9=fe}6LeB|PRldhZVnEd=*!I4M2J?}H; z_m5uk!aMbwc1#(x`tIL9cKwU*e!g?f#w1Gh+lt;kcr%>A>K;zTGm4S6Sp{qi^}s{@pF%rx%RqS>1KWt|QOhQhZF^iRXR%>ednNMIE2r;|V?5 z+;aS?iuwTy#~18gF1=T@>#?z~jeL5;w)(5?b)Narqw8kvfAWl$@n3F{*|Zhw|9;u} z_uqf@Bj=jOKmKgthPR))@tdAc22Lq^qN?@EeUZ)Mr?0x@>kWIC-9E2w-O$b*FL-Rs zzk5%Rw*PBklWpj_1Do%O`u{S2V8K%}pLzS}y6Z=7{?hf0r(oA9i_hA5)1wD^pV@N! zmV?Lca1D9(=6O>cpZ9XV`ru#RnZN0;k8OMSahaV|eek)*{;~g@uO59{W>>X@?ppc! zD>q!!t9jm@5x>9wBUj#wQ+_?&_`0o9~=H{p^bAuCgIRmd)fB`OP?|%b&SnVN=?xG*5JseWmf!zxzC9g zthp^Z`NgN-%{q44swF4wJm;xs)4lr|_V!-}GP-@|I)D9U&y{_ScG_Mn+SX;;Bat^+ z#>wpUCl3_fciqF^1Qs+0W*oES$lXs}Hlk_h1y^@&J?B1|*&|afAF^gZ!CCJ6|8|C@ zG;n$Ur{5S~8Vx*q-F2_JW=@~JaP`}NT>awRYrZHNa`~wP28@^AQn_^9^yy~}UxTED zL)HujzJI@G^@_k%!)HHNGI(9XmG%4kzjNldZ2OE}n;*aTz`Ltot(d;C^&SZB!3!S` zEMIb3kBz%J6a>up%Z;Q^7+1^jC|7cye55HP<buuWcTKNQq=~4@ni^$x+VacZA9wkz z&a><5o_X+wPd6^Qve$y6oD0Sty=~EhXD?f__r8{Q%0@2SQ&o5W)#u;&wdKvTqp!D4 z-(7m@!w){(@X&Kl-!S~)t?$lQIP#QdLjCW)ck_kUy*>7_)Bj!FdDfZ_K0R1j+v}~J z4?ezm-C1=9_cWgW)#+m{IO(p>DmOd(eEYyrPprRq?5Y{RuPfa1>@&SvdVTxo&Kp9{ z$!z3hZ$6VXy(Mz#x3g|K^)FB4Z~4ozPwFnYp!0$ctH1nU{9S+fi*sh{v%BsXGQ?le z_2!DM3i(s!%=sJy-aKc{_ctqKzq4~0Ca5K{HBA!~}Khvav6mMV;;DgdUPJ-2k`^eSH7i;(5hL)JjtR1D(l1gtQ- zw0Qbi{a@*Sul(N5jul6pGve-5;k$R0J+SZb{;Lo6bxwM9-*dP*`T_e1oBOY-*jau5 zjc;7u|K6|eer>Y@kJFtyo+%yDa`b>5&*O5`fE};KF7ijpEZlLt!KlEmL``I8Hi0>? zOjm{JXETQ7wR{cGi^V#+^C3ppABbVb+8`#W(BSeGxG!#*R9sfZj>k5h zdgz0U8BQl2fzxuw7F*2Pxx&Z=P3P@W9KYL5S{Z3y-JYi1n@|q_WJ(y4<4(dXrH&S< zZ=4qCcs(s9Ny|ejHpTK*b7ShNlX@lYb-ta#GTx~3(%hq37J<;I!57U|{G+X`03y+S zJS2Xn!PB*ywyur9T8%(0rihO((gVSlQ&0pgT!ohS@(5nHOL${G@hmA#q9!f^-?>v!)gg$4xFg3!Hv8rr#Y}+B}c9%oYqf`J$Kx>>Z3P z=-Zb~a^VzI{{(jp)-{8*IBuQ0)^tt)BX?~r?Z_0V>#&3yTUz6m{SHdO3hJ=rhHIR+ z>FWA05uAn9y#S6bk1e?Jly_1>mR%PZj6U~1BS_5a1wbc&}T3d9VveJYnnKfx9;wG57w-BCMK+1PbK`^%UmRF z8iVt4?CvTzJrh9`?($SGRm1u7BF`eP{@ESyRU4k|ZdwQD8ip%R6R54DGN$3nSKsaR z0pcQkNX~I?X47je=v@MU5&}7HI;426tIkPYHWS_}y!a}AYdX)fda0kfHKN z!jgE(sI)S7ka%&JR8vgtqfxCr(^aEd51Z|?tBz9eSQ-}(sjqQ!FC{Jlx2?v_y{RU6 zYOH6+BTWhfJuxqA_)b?zhLGj7{(aCunwy!CF=r zSy@r*qs}<>pxLZCvsv{)$YL|O51y0zB=P)8{EN-14~WT_M~T0jY8TIAnt!>6w1Ov5 zf9Csxc0KHeQ|sN^wA6ao6ljSt7lNQT>h&^%N>l`wxiyuTQV}Fm!{D1Rg|6kE;M`c4 ze+mz)K<%KgRH`(~U#Fzk3;Ya3 zxnh|ZqvTxTT3ju;B=KsefC=cWaZ~BX^8~RHX=L&2KU8yV_j?!$)x%s$suO-F6-d-4 zt8y+T5zXSsG!juLA%gb(3LQvE0@q>Zw+{c`E;c#+cNqyOq*FO_)iAm|2 zrZqXFq}`CDqSoefmUvZJ`R->Ls_u&hl36oXn$7J%}q3H^e1Af6w(-qW@ z$?Qoq$NMoINzc)bNytOdY=lwW_~CEH1V3J>pz!x+>&JNHjT(h9vueLR&#D4rW_7Ck z6@iE@H}A(}_gAAN>tP0kw6h;G6)lXh(IN=)=|Gto8m%AG_)PWN9BTI2Y(Do6b))sJ zrxh*wO!YfFxNyu3Eqw{%kgvTLUN8KEm{YW7k?sjtf-MAeC0}*k>-#G`DIYX%ns;bo z&%jN7bG)yAxQ(D^EtAYhgHKFaHJAOdwvvNl{V(fT56rvMs=#zkj8w`pg3b&0IleRP z!T9h9@G^%_doDH#11Z~$YYNS(!fK)ViD}lv6)I;9-mHhfl@!j1D?QU#H+2t;`gMpv zbB)Z<8`X7A4xbb4%Plpo=;g+{yYp8NV*I0*6?AJZ0p~c}W`14lk8hWlgtx22`mGpU z^PL!EuiL72Y<6`ZXcQ^>ca$;jrclQ;RsWc}m#N@~*Tp1!*srLIX|u9Uw{xW9wMz$! zX{-+Btg1>dTLeKKu=WXNtG32nrWp=x_*FrDJA4pkocu{W==5%&$ovzl{yJC;K^+V^ z&(K5l@o_kjtA4WU15Vy^)ND~M0OZ48?{_L7-e36dj={7+ zls3N6kmY@sltZ}xzhf|(^}&}o^+RK@^qX$t>x@6^7%UIv^S1Fvj={3f`{hkfjM2)C ziCuC0BdpHUC+Vt$gm%2gL-bb@yS`g@Mv%m-iLC&Bs}6pibTzSazun5yBwkId{=L(A zNa9rqA>1fLcO@zOqQ_YiFwUaApz1h4H_l2Y+<*Dwtht79)>>6*)+!w(Jeh{#2X)s3 z=+w8|zA+a)TLN{Y>uMr88-QESm!7E)8lkhQr`H@5M;Mj8TM*EyGpW z8tlQ{WOgpbBX&T{2=l;!KnYc(Ot2-oG%k!r%!otRMYwbE9BYsR@eR|yw1Z`;-{o*% zaY=2h3^0nM?ptEB{aDgbn_ar6FzO1@m8M3uun8U|Y=WnP`s%6nl&LU;l0A#>Yeg@U zp0!VGUn}5|T@PtsM!V{iw%8N2p8qDZsv)%dE(XWW9re?J@9G1E6TM3fy;^+$;wIr@ zwcfZw%S4aM_|JHUjRzTUS$2n6i*LZC;5e%a&*7Wa46`GcJDlvnTY%{W&9HNa&L=H?Ip5bP`Q`f^rdmPEY z3fliP(TP`UI}KS7ctSN+i1g42*e*J4nGgHIF{ft^`s9K<($(YECw(_DrXzCRnQ~xOqg8!r8*oz;wKl)K=wonu{PFrK8$7 z-3Zs~jJ}>|dNkBR%%e{s_87aCqePp#!fqq3#>=Gr#Hjem0XXBpzKHZJhBFm7!|C@B zP+y=1i$$D>UGDUf+KO6NwZUo-)g?AxAf6{dwCHi@JlGpQuYL_ zK{H)7HX6bO446%dgN?OCMR1bKk8>vAaKZJAvubXjzRqZ-XuXllFm2r?;~qCLGf@-k z@pfQy(Qu8^v%C}W*7-$7> zVLSzSy^CCGtE{37XnCzS=nd3*eV~&*v5*w_Av#6~6ZsJ!y1wD?;bGlsb#KR0y5>dMi;1}&8|LlKNxGqi+Jk}bAs4N}x-m9L&yS=gVKn>Fh4q%xmD7}zGn`HzPuRmeK!IpoLzO-hcp?RG zCbySy6&U?jv!I6LAsF{VOw+PBB%Mm6_K`#yR9NOc*EIu2X(T8J)-};pvAGYSC?j!< znHMt|E;a*-Qip2=<|KlwD3NDBA+O?}F|T1iV_w5!d2uGrt#!^Ke_D6EZ_ABiVJsjv z(vA;}6NaG)0*Enw4x0*BQ8O#RcNQ4#=hHuKLZHn-cfyccwU-IwRHbjw<|q{%qvSCv z<}wmTsD-JI#dp+(987dlKy!>z)UgDu`Yq5gin!=^IbIM6~-sfSsG zu|bwfWAX?K7C=9~QYCC0Tg5xh)Q{13o_RM!>zWY7hQZWN$}D*ZrRJY7fZ_!3$u^x) zNg6vDM@}Gv3@CL*+ZZ$zwlQQXG!B>wlZQ(Qb&$_hw9);ViI&rjmeYZ5)>N2wWi`O5 z7$N#z$mo~J;`gw1coQ5b)_+^;X16@;kL}E=ts-w{)>LJ z=tpA}E4ebXHC7P)=y(@L^rPc*B!+IGwxXl;3PnFUc|pU#uy_Yon;}JyP3i8mwUiSgZx>sJH@4pRRc^a+O71|wMTEXxV z3plmGEAMv2D{s(0DOCENd*yx4z4E?K@XEW2V&HSwUU}KmFgr$597sfYsh)Y|?eNS~ zJ@jyT?csRljR!?uOr~n@)UaW+>c;a#K!O;JdwIx-fH?SwyasoQ?;fS0aPr}!{Xu4o zfXT;?UiUEpJIsB^hho?e>f-UpbFUhAZsbMh(+iJ1i0B7B_IfuUmhw3)kG=CJzpKSR zT#r2o36eba`sKFYWAFc`E(uRQ+wYJlJo#uw)VOW}zz?mQAd2wh`%(U> zeDXZmlW(NzBPl%j;)^LzGU3U`4IDVp*1{6i#N?$VKvOO*0j@1$#g~_2j%LOMCSGXj zB_=BLKkLbtyxtUdis8&KtT`F{gW^jje6`2mAb99(lUJWO4`_WWVf_hk9{IQ7z?aJS z2nRkmuL=h~&HM-lzC~d4&TXTFRf`3@9A3+L_b>eqiNPV`Sby? z5k~VP6dPfbT|s;M05X(ZOHY*xF8Sb8v8v_Kp zu3zvYxIU^Yq#<4T1Uy!yt7_q~DqX&YsEwZ^Dg9VoAAU%#5C1`~cm8#7ebo2I0z4kDL=(m zxbKThvSxl#STlE7FE!WLMT1)}T^8#0dD&>|!fQXftmp;HVfqSpOz;Y(mvzz+41~ac z_T)`|E;Bz12uJX6-}!c)!MWDn?`4e*dN10wV;+A>gX_<|9Bp09#lj0 zj=SwTgL7@wrqsBQkGcBM;}Y3-^ac&C$3=tTnsf#ylq}h!_t^K_@6l`Y1CL8wc-#JG zy=`NjXKgKL(rj>wB~5^nPbHzabU>y!H&Z=ZllE3>Uu7{AEYhEWsO_=@IQhI10JX!B z3@(`|&n!XY6sMK|dWdsNVh(+LxQMv_y>l~*{ujM%hiN-PiPeXDFs1RJki+(~96H>r z{A+rr%2+!!M0r$xd6Z<2=u|QiPKoVyN~Ci(e_5vrDn2Z~+*1Wr{J=JTn#|UCj5n#3W_2Do*Wn-dp{-QWWP-|v>iszs>Mi3`6iDLvkn!}qo zMvyl89iltVJ7fHZuiV7X0c`91t3#?+Jh?bVFm`&oSUuHzbLpxK4U{oJ@|LdHo?iWS zuERZ(FnJ>v`E@35_a1ha5ok8c4EJE)}|#i0)4<1;UZbL5}! zNQBuG9*N>;ZuLBKv9pI>Bc)j9pVB`U9*M#uQFtV(_2}?Ueiwae8p4oEnK+tT_tGQL zr;fkN=%*dcE&9~jTk}$l43ues_;K9-)nmGUgWid%w~*pFN4_z6ZF!z>uOro$3omSP z@aJVN2hz~HPdm`_FW!T0u+QLCWW8w7{Z~8A-MRLRrW=m>>*SH3!}v*;WdO*(Agdq|aNAiyp4`8q&k{xJ2U8O!69{*Pthz19yka(+Z{FRN=JO5312mKGeRJSeXAcO0d@!d%@7Bjp?NShYo$FAw8?Ge*(3fs@& z9h591;T$BKgJLfz{ZGAeH0IJHoP+2s>20kIC%+EH=;I>ZF)H3M+Q!Rh+d9HPykoT1 ziC4;z0TS;Rb^7BkQ6gXF*!x6vuLF$1#5+aVx`vDR%D&Or%N z?ZP=oI0w=3bnzpG%kTz6Keh+ZIauYm^J2rm9Bdn?!R7%sp#DQ`8{nfo;T+_xuhMxQ z{Ab@intY}fPEg?e*n2s-|CgGZ2#qw1}cjdO+`!q)@mpW(_mL)j%1XsYJt z3{{gykf~bp2zrzqkFYGH;-A5ckq^-ie^rm5VVtYgOX1m*jUG(<_$XL_5M)4F$qb0s*0{?O5wEcOAv(qoR$|O1C4$}!6q$cw z2L{|+PJxs$!4@1r=v8h_@o~!YO z?kP=0^~9NU#dC!gHgR$V7j(IMGB+^wHSU_261irS_&8jn-=T1JI z$jV|f`DS)HXVFh787uKGHqUp@r2I_AJWBlKL4r~&dINL9`DyoAXjU|MP`pK>jIB^u0Vs1z@goX|UcO196*y8V@UV z6_P1uNY;5O=$^7c{ii4ns0N;f;cH^K6oAiCe6@QHpqO>_ZZnf2{5b}6{j}uX8aI_r z)-hf>45KVR`ws=b0M%3!s)xChR44pUDv+p8R^?nwN<51vBNE93s%)TQVnp&(+{+UY zlu!DwVLUqJXAGfK0dF-K&A#}?yg(T%97=z{0buRk;9J`r0mf4)AqL9N-F6GwiNb&J zKDEbhHMF4C#b0j#t<37)H4mTpV0#CAAHvrQmZ>dh#vK&Lw160mU(`O+0-`qVQ`>=B zJ^BnjoYs@#^eh@)Tr_Iru%c0;&#CtM@uGD{!HA+_h0BVEvjzF}#Cf2@aSmS*8-=-_ zVf;Fpox|Uk?Pp84&2XSUIszfe372hqJs^u`w~Z+t zJ#yr*kp<2oi>;ujXw;~JF*b*#!0xPe6pb7)e6(Z4Xhc-24kLk>tjjmx0`YpS%5~-K z$~EzsDjhzt`0BF)<#|!Q=zTy=)FS54m+tv;kJ<*r0SL{d(31K94hhuaa*r;(bw)sE zidOFQ2YgO@(6!i^5d8CWlv5pw$mZCC9w5N`Q*p=PrMxu-oPTCItJUt45gvCOMuWIQ zjf_j&(bxdbte@?t7YBJgHHbtdW-d;IbhUF{P4+Byy1hQ*R!WvH)IyD_OEpxEq6K2cQMaj__*S7a{HlSi8}< zAAw)`Wcu7VpwN+!_bB8)3h|47Qr@h*W>%f5lw6U5-XJu^R^trlpgGlkTb;8a=rro1 zMm{N2j;FrP2~G2ADo&Vpa5z2QI+rI7Hk}S|wxeFrNrQI(*xYhCawXn+Pf&+4o8XB( zbLA%2QZ<}c0CY~P)edGhSscyo@q5)a^81yy6DjPFaMe~Ov#grsY)AMn&59FI70b;Da~>0k);UTC78>9_`0I`ytoRcg z5F8L3_}}3`cd~uyFRb74S@WfztknJ8_DOp4XIs|4kiKD`+plD|LT2%WS8#rS)PRXr+9MEVXWtHXTTU9@r$U-<0<9JZizqCjrVDfx`XKZ{ z=!0k>g(c8xfv||eB5JxoSD_C=AA~-L7E)LOtriH2C@i9;3v?CwAoM}#gJ>azCD3ZY zuhSy7XWv)qont9?nWfr~cBuVphuZgsUBUU{PjEnRKycuHlLIUF>i=#sJgwX-p7q=j z{1Eye^g+)7p$~d)2>T%PLFj{?141A4+z|Fb=!4J)JqLt7=(!>6gU|<|4|)y=eb945 z*ax8xLLc-T5c;6!hOiGpAA~;WIUw{w&kbQ8ggyv;&~rfOgPt40J_vmf`k?24&<8y? zgnbbDAoM}c0ih3iZV3DE>(d9}0sX(}_bI3r91t8J4u}>^&w*cG3#P|j^gx9Cgg)pw zAoM}c4PhUIJ_vo#b3o{Wo*TkG2z?OxpyzT%PLFj{? z141A4+z|Fb=!4J)JqLt7=(!>6gU|<|4|)y=eb945*ax8xLLc-T5c;6!hOiGpAA~;W zIUw{w&kbQ8lJ!A&Knp)m!2!X6|6LA<7DCT~8^S&aeGvMf=YY@$JvW4X5c(kW zLC*o94|;A0`yli|=!2dELLc&wUb?>{S*pLDtS5)luklME`oA75@vkcre}V(4IgqF;Jq)^}=vAV|k$zH0 zDm^_?r^&sb*#n{BomR5=-}CH4mffSobIo60UcYU}qw>nw-!3_O$F}t^|MePANskZM zdY0CI(LEa^F|0i8YvuxUb zefQ1m8)lO1(OYyOpU9@DL;9L+VUjs=lP+MLEJe)Uuy2{P@Vh_i;2+DBv{F*TFxKrB{#I#EJ_1e^+ zgTEz9oBHfzyP1^v^3^){o3iwB<}Se5E&rzjH_7bQU2G3y3$M~a-;mkD-E1#-_MH(d zeP`ao_AyC%_DWs!e}k9OUci~-3LW@$nK}2e7AAGuY6MH$y6pp;t-f3r`!$(ezmM%_ z(!l*ju(W?*3*c;RJn9W;WagM;@2&ThU;7yA{N-MpV2WK#FtMzFNI z`vJh2|59D-mt_{<&<_%z9~@w zX8l?Tx+np&+S|DnHs0E@Hh*}_O!LPLzq?{0IW9lsBBwNbqxReujiBo*n(sW$P z$-qeob98*#FmZzM2uAako08`u0Zlz`nK;Mk=Che8=0h=~x;|mU)fn(KJV$az=Yl3(bFD zZ=C36H_)uO)NNbBY88Q4M)pCV$3|LL8-8Wdy4sb)KUG)bHa(zAgw?pu`Dz^2 z^LkG5UHix@pKRNiu%5Sb+b6F)a;) zB;p*-U+X!X;*B$k?yi)D1jTv6!j6erAZmfA1)>&+S|DnHs0E@Hh*}_Ofv5$d7W{A3 z0`Ybd@pcl-@Z#;<;_W1OKf8E4iP8Y9lz#zlCrM{HtOLtq9r<4;_1Y2piIi_DIKlGq zrBr#bzg*;_C$|;AXuVi1dC-9b?k#F#u zw1WM=OM8>wrWeTai{`iZJu7IHrSBHLtv(!(rF-+=RUh`t(#G-csSho(>ELAofIXt1NvxXOsG{MV4;O`$B#AMwZr%{8D}RS~h{cuhgf_vh2=6Ri8Exf!o!GW+L!A_2CmDa0ebF*7d1swsJkuxRXB@ zT+2z^tvoakg?p6yt2u%Dl!vQ`z82;FN+NH+a(_8dcTl0f46{7fkt4b4pfNY5*eh<+SMf`rBLJ+@)T!|Qdzegp8KR~QR z48Py062l+9SBT;FkSP(v@1qJa{2l@&V)*@5g_xv!eH?vSeV+QV3`pp)GoY=fM^C4o zem!3d4AXNm#$X-W!^Yk)yD^g5$gCZnc3!B{~|4e7z4pa#`7YPCV( z4OPKVNetD;ShEb3&QKi<71dCMjkViQ@r^dYU@i=X#9(3!#>Z%v3?|E9%yec>Z~t^= zQ8krhH=(NOzsw6M9bHfmE!xW;Q`k~F=i8E zwgO}C*3j`abcth~Wie)>(V~7Fr5|7E$6fmIm>9ERxGKhM7#PuD^OrkjD`s~5)vyqA zFuSR%^n&RmQ%C7_>3Mt~litGbTKv6f%92{8Ch6~NAS+58!KmRSTv5Gsc#g2;#$ zL6LPu(BpkfVwJ5jGw)+*VMNxIk!F?U=)MSR_*sgPIZq=kpiGtmk$tK>wi}Wj9wYH4c`L}Y?q_LDax|Zp9|66_@;{=2 z37>euz*b+dE=`g?v~m_ULzc+GcP){qi>{LRQ;SG9N0B*-!nJ8H%Q81KK}?O6kY7V2 zV%g7HBj2+Qm61p#%MT%_(b~!~&EcpV4Vzn7c7A1Jvn)4<%@AsNBof-kGV*a@cm;e$ zLj+kjwML-VtOG~@l;>dK#UNQzD8B{y%Phmv2z?BF7n2&5*TS;$eJBx`0~rRyTIJkG zgPF0)2$hM9D|fJLvyT@O%HPjASR#=I#>ykex_mF|KxhJChG*+86cRyhQ6z%~w#u%SlB=vX3zzW;vV8AP)(k z?qtF;s9;O;emTv`Dx;Vbi<%EGsXW?3cdd+>Q8Q3phEJBuNfTIPAF4{Lk}kh#KOR~r zKIYb%AU1H5RRRb_qsmORmI}bMuLW_XsHFvpvrkSV{Xs^doyxUoKg*!#ER3`v#HnnN z(_sTh*362C5fZbSHR5ulqf}`zahx9pS>b%rd#DJgBPQ)%}1L#xgH7=}jpR7r<71C@1398*V zz%qy+VsaW}(f~?9HfKWEluFP-8laeC1TiYshbWD(ZmBp0v9o5mdH10i z#pM85f%-@}C;EFBk0>xH2SUI?(-6dgagIV9l?~9*bWjjtzy`=yqRPGKk|A*`LaD{zg(@1; z)MBLys8UJ+WPCwm2sI12%PhQG3B_WRk771(gfkHaQBy5%MjBp{Y^B;5h6JgOAp&oW zbww(AC`HM@R)TeQl(6%sL+*G zc_+RKt5wx8>x9pvhZS~#zO+iHES{`fUa;0&5x~R94q(1VUkAugLz^J%W=JqBOLFrr zh1#zbIf7`=iWUXgLQo-GkWm;&6Sg{G#|u$pjfR60hRzNZ(hNZ(A?$xfSVq5u3`2w5 ztoG&+2-!9vuoB%QIjWRm-kn5rOtuD+K`UW%kmzVamdL9arH8oC_yrl_saz8*Z(YLZ zqAF41Y*q-hf>mGxT@;=}Ec^-CfEJZuBui$c8jr3&1d6&%EFu*qY?Q`;N(du0AU=Yq zazs3^f)E8G3|&yF+msxkjXW2ki8O$fD~xMlA%^gm>!UQiBe1lG1Q^ZxDf_7 zl7$#6Ly6dk7#7eAO>IJ@Y-NNCgcOx4xscFwg;fbEM5Fl3Ms6q(*%T&a;%cjq%Rnw` zgw7CsihML`QJzY4GZ?j1QDG%YD26nzSWt@e5a{JmnxdKrDS0I^n3@?bD^-9%3?z^` zfCCXc>6o>Tp@S1f8tMz15et_}$V(wcCqb3F9I}VCS~*cjK#Gd|$`fR$MMo&e3GWY4 z{8m|2BDK<}4L0J0f!O{~HlkV?1G18AQN{Ny+5$ABiXK`iT1JE4sx62<^#t1sKr0Xb{eGp`o)h zAH+BfsndZN3^^*?HU&vl`U+z?^TA)00gx5Z5tAIT3&V*YAu}2>pj7mXQLFZ2lnE?2 z-Jv!G*DCLU1lq2D;6~HlNQT8Iz3pH{tDM;sqHgccAwkFum^RBkRYFa2cn6d6BPgUX zME!D5(4`rjCKjfMD3#>hoIo%Qm^i_b95TwtSP3z9u|^=OsKsD#Q3jU;M3Wz)o_$#9 z`*KN!+ms~fMVuLl(jUv`btye`<|9sE7(OHFHtr;|@bH>Pa-B734gII3Yv}M2?yZv6bTv zt-hYzER9@AHXllw`%v-1)RV(p32|Giy{a_#L7J7#Xvom*OAkSl$fU}?Hccv!K&%)u zlH^GYjB2t(gGc6yvPDEH9NLgiQx>WwaTry51XD_?Ync8B0|RiSaerF|mC{unN{%Qp zypxd>(R1U4p(_r;sIzQMQ7Ne*us{Qm?;$NKrBw~^L6+Ho*ghI`Qq?N=p(6(#LwA~0 z=0c3+#8Lz>GQJJCgSP5O%?vA~vPR%Xg{QQwdl(G?X#ku?@zpqLA-j16WBH0?La=C% zW@W608e_5ACZc#9A5?azbq`M=Fis~w-g{H{LWmQF5Mg6#5mGJW@*@@?Bh1wqI;imm zk-9$Ujkal6(~(0I^-pSq1jDKXp*6&Qwf?D>Si{Jf3X7EA`~xD)N7iVAsQQ3sndRVX zliWaKXMRV$OyC}hiICt;4Sa~vL^n~TK_EgiEefHm{7}-vSQv#wAUvPa1!;_D57L@| zuO>TXvYv8NQHUT=*DM-M&_Q0AXvT$)h$F}a2u0C%QsoKmLorc}h;gKp$j*mU;e#ow zAa!SzJTa#Pw4&7cRV1kCoZ3>LB;sEsjY(9!Qu`yIGLAYVr_2XfmHB{1MTCS2aU@BE z;19wujRs8AY8a(e0ksHKB&dI3&;cMy3eymjYbiz-kPnbj1Qbs`mNG_(B5XtWt@{+{Fl3B(FjnY#}Y zUxXT0JLBdvO=!3dJxrfRxf?n)ci2S-CT~YofRE%Q)51GOzu;G@Jg&x zH00+aFTOMilp6Q3-3)6z(0~M?WBtM!q4k}{wndIO<}j9(A~1jwEq_Q+R0WtUWEX;M z3?G!!qCT41GRhbPQIVO^N=AGDAM+cLB$6y;=%j_Ph|pS>8F-@;fnOh%YVuJ^TCy&;JRc6f4z({16%R?cb1;#zU64zGN3I?TN zW(AgxtUqjYE8$@Fg(}V9YrZc8?N4g}Blj_^uH+**w?Vojds&7B{s)y7m{X)xOJe!E ztbE~w$V3!gFfzf~E6;?cRp9L4Gh;Yn35CkZu$e<4pu{skK2*d$mWvY0(WNEiU_~uH z#DOTag1{JxM@zhf15L(Kzm{TST!FNxRB)=`D+3CBYQ701rW1*5TWShXh>|wLisH-j zw_>G>3WL_5Y!wAG{t9!c4FQ;uF=z!3(C<>CDVfA@2cMBmjB?c9NGA#ecOi{Uc zFS}K#-rvBBua3w(pIb043Eo9+BU$O?U5vsKZX+I_b& zto>abyIUC+_X<~jK0XL3{oEYY^!De}Rw1QdiIlps@oXu(kX^#=V$0cb(>Q61>0;9u z_!oX7?U%Mmd!${`XVNxPZ_`<(IVL7;WhXETd=5{0 zbWd94Cl%97R`+6bz%bnrxtNhdOv3?~ZY*b!iB?BnAG2tPSvT=Ex$@a~P8a~0TS8JL zTIMt~xaK#N7@ryoz=B%n8ulc98MX#1MG-1!j^9$!twq5YAD~~BR4%%AD3{PSmTSdU zy(Vh+2~CtsF_O!buVGIyJ}PX`l^jAFhLS1eT696Ok+unqo3%W#^p*$>;G!)NR+$P3 zDm2;}0l#RdcNmC-(V>jCjR^IuD!)qLJQ{wYZJol}kJ0^#$kwm*GT`ADqgFNp9UwxI zKtG2(8$Z+w)|jZyV*aUQ0rG60bOwZJ_v9B{Uf~ z^nJ{r+={*rk@7HCkLN*xI-&VFYg9rAk4zfSB9?~9JBat#k1bi%kHab$-TEj-YRvqO z%7eoxc_)jx31T9Loai*ayZkWn3+L}c1X`$Q3Zw6-^MpL8^ADt%2eodh6;8n$QdE5S zSlnZg*8j)>l3W8ZVO`1drdzFW^8Lfe5PI8aiDIOU;-MB{Gs=J^h(LsuO|*jFmJ=W* zuOpZikDzSQXr|JE70pV@sL^_WGzW9h+1x)e8u4M6pz{`0Ttrm_FvifM9^(~;8I5qF z#CVUT`S?vDCE$SK#i;Yigj*E!C(NK87(@^)nKXEB4g&+l<&%4+Her@2W@RW7IIP8Z zc0kAX12Iy$(zpad1BaP7>4SqN2W$O20CGkr%4qsv}wZN*MKT8rqo~zU1)NGVUU`Q zBoIo8!j+Y7_3?8OBQ5$>=WAe_6U{D6SxxXd2kW&t#D&as8MjbWySL!`6Q_3IJ z6DTRQmgzkoY2qSN^`|_@@@SzVf+8BA#y(Yx4kWm5Zf7uDU>iAbh7WMHfB@iWi8(kp zgT5)_k5x>EtP_z zm|~GOz>H$939=@BA~NPZK@Bai^A$qq19!lqs|6)P@eO8*f)(Bw`L4Dv=;kHRk;np) z-Bzu?gh{1Jy~sg6;-kzofFlr$6@tN)9yP`(ECU(4wPp${am}!|AQNRb$JBwdXg4KhM0e(d?9ZQ4GL5x7e>wyft8em_m7oj z8t}OZ>o2N85qdNhpmd66B;bZ{v_h9>Zt`leB@L&0AG|#*~1dI;U~5E--JB>Hq<6V69% z2Pl>7vBRRdGD-B%JRj1arZgZdAJs8tAkso85ZF8IoA2*P4Vj zk|3WD*oaFbWDcxIm6`!0+^KOL z#^b4EqnD-ep9(-Z%}_XCNNE(lg9KpEMDeE``!jK2>W4vRUhNlFi4Kfcw=7>UV49bIE z@&Rs>A_OZ)M7szzN{~9N0%ywh7%$aYu1F3H(D02QC!-j)>qM_Z9JEnfWKbSwRE#qe z7E;OAi#`M}3ZqN1=+PEeVjWGQy?#7%xNoU`sNDDyc`6gpZOw0l%AqyqF>#?#2p_tl zHV|QmnIw7^+9jLfLI))g2wlmFUsS499s7Umz1gqq*>&Hy&+RKB zHj3ladNjT zk2>^MP91YD^z3@Ki!@K@$@%y@S+G>?Tv@-5wsJ1Qr1=d=d52l9=W2w=e0wj!n^wRQB_K& z?;f~$v(G_#L9O{XPdV#1!%GLH&aTlYc$Ou+~3*$?%4|o(GkRE}mGer=0M!Z0^un`s5LN_m$lpfP0Jbl+%6w z$ ztOMqiyZYog*EfId?t|~!mM7-WKMiN|wrWTHGC*->-v)>2sDbqsc3N$b-}uAZo;dA_ zC|*Xi)!Spci|~Qs{s`)a{cP>XfTj;}+Q4pkpbsj7aGWo|n@1&1Fb>LZ^NLB*F52?h z10{0_!zsd~DX09Ppl& ztd<}*|K{gj6Jox~0Q5bwvCnt??bS9P=J};BFsu9g%t~@twwDrsP1yy-a*l z-wpN>gzrDEy;NI*p*R+N96Nz$Y0NDD3U9myEi8wvGH8qcR&(%^l`crHL57NU(J!Z>nhcbdI8*xazoNzm=+h zx|M=Fd7(ua@4=f@fFSb#B{;ZRSFwmvF@m^A?I6z`F{!$IMOsw`;gOT)w45r%2T-E- z@e7;_T1h99!GCXIZLxw1qsPYLH?-B#_RVK&d_$F)c?0gkd9BhzVE*g_fVQ5~iM(w8 zg)r6N9@~-mKt+m$vx3B1Xh*IvhJ$}o9n8C0$rYYJuo-&o87 zzD*YotpcL{TMk|y7X!VfbP1;OS$bSxGBxBDnDnQ0R*J)T=@CsvcQz6FB%!Ex&c$ITC7PNdc7 z@dC~2e^tlr$hgwi%#l3%))OP8K2L?rQvtHnsV9S1+Xo->&B_%KMSvrID}|uiEtK?U zawPR%WzDy}1@eQ_Egc}OhwXin7u`={oaBss#_Z#BUvNL_%IDwh?!8S{8-3B;X;A*Wnxdb_*gpL`Crd5}_!1;jlk%VF zvvB#FpZ3`o`Pi{R`E%-__QZY)Dla-N=zB{+N11QC`|M!=wSO-q_cIbPZFln{JgD*Z--k+fb22U7 zQG4sf^26mxF+J&JPrRG;PA=mo-if+^Xat z7YAAdxd?J`;065*{1Esd@I&yRgC;mgLC}anBOZ7`KLbAmehB;!EM(9G2Pp^|F=)gC zFX(6BhrkbkAA*Gpn&2P>K_do@c;E&74EzxIA@D=6kUeg=LB{P3;B58uq(*V8A* zo;qdrw0X3@XnyT4ntNj^_}TC;P#{nsP~h8>0(FD(V);SbjQYRudz~7AK7k(sKh!A@ z_@PdXpdSK11b(PfAn-$-8bLncNEp-zFo4|Qq;{Sf#e@I##f zfgkGB2>K!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkAL0>OgSDe$dl!Rput4J$k4P^U)F4}l*7Kh!A@_@PdXpdSK11b(PfAn-$-8bLn< zehBcNEp-zFo4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)(U zll%}mphF*Mpg^F&w=V^Pg{V{DNefZ`Yp|e!K7k+V6bSrKr$*2Zfgb`t)F}}7p-zpU z9|AuFeyCF*@I##%K|ch32>ei|K;VZuHG+N!{1Et|PJzG=b!r6t5cnbRL!APFAL`Ty z`XTT`;DJ$k4P^U)F58rzHKnL`9@$Wm` zUkm>N1p);E1-^|a@SW0q_djz!Q2PrMsneuH-#$rGPV8Ykgh=o{z& z#|1igQ4Dklbf_!kzz=~R0zU*#Ay~+R6axvk3;G%OA@D=s zhhQOtCOAkz(1<}J9(X}N13v_Q2>cK%WY7c$DF_-dXv70A=x5-Ezz=~Rf`ts4;2;Ix zni}z&nfrSBK!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkAL3FjC1p-zFo z4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)%;;D^8ubqWN2s8b{8hrkbkALJ)g=Le&2nENGxl;DJ$k4P^U)F4}l*7Kh!A@_@PdXpdSK11b(PfAn-$-8bLncNEp-zFo4|Qq;{Sf#e@I##ffgkGB2>K!LL*R!x1p+_RsS)(Uw;n&x z0sUR>JHx*~fk1&kfp0?!eAoR~d-Hz(UA-4;|6b~q{d@D?t8Vxs<%_j{A1d9@ZJ&5= z>t;{9H*=#W-W$2z6Yuq0_lftqPyO7}z8l`_1zNd4gEG(n-4ysB(4Y)_@M53=K1<+( zKm+-%fe!)=0w4G&F33WVg&+$-7CZ%lECg8yvJhn9K!KnSf<6fP;2;gbR}T6h=!2jS zf<8DKxCgM&1ffAH@+`|z|`il@z7JZ(1PDKi{@;mpU0`+M$hy1(xJF0cRE{Vn(3y0^Oj zfp`9v`v>m7A7O`Pbd|yXX1D_qw;c|JD6{KJ)k8cf0?Izy1L4zm3=Py#Ei~|K|P={{L<6d)z;A z@8J92&!_$Y-}-xe?g#kqx4VDJyLx>u-+kWwu=~Gw|DC{kyTSWjR{1;p?YsHy`@rM> z_s{tG z{k;2w;PgZM*V_%=``k}}*$?o}JKek8|H8Ze|G$U7z7x#f>;4sR-ouLTazDd+KgG{~ z!pi@|{h0gLeDeq02Y~f%;J(xSOZS5NN%ynt;e)LA3-05wLnX{w&}5 zX;%1gKL5|%OYXP%?z?&K9end6?la)~KHmL7pnV+Ly&EV$ zi~RNyzkkgA9yorK*Js>U`2FMVclpeR`OZtc`@=x`GCzNt)jrFA{et_n`yC*^k9B|D zJ>cD+b6;fTUv|IfevMV%=|1KDfbah{xcmfbeboJ1_c^ft6|j2X{*XO?9Qgk)YrN0B z!qm{uyWiw9Kj!|-{SrSv;eLa6UjefZ@ts%r?vJ`px*hL-0?3ctp9AUF`Tj4k=10Ki zYvA}v;Qtbsf6D#7`vTwm9sd5yto0MD*#^olyKDaT3cLFx|Nm)s&VE0{Z@=!o3jB}q z=?nh^qg_ovY6b-wilJ}Y=bu>G{VWQ|XQf8Skk2A6Ker@z2{KgC~voWK1xyZ9qM z@%!$NS@~1^_s@gRud>n&JNPnCKfzyr!M^o**D?Hli*LQgUq0@>#J^t!_8+^?^Qrf; z@~6S&cX@T)5-h)Be}9SZ{}$iS&o)&0BJY0MJ>;Bz&ox==6`+604Z!={W&G{yQ0TY$ z?T3MI4&D3iPx$_y@%ewtXFtnIU*r>A_~(-+j^AEowcm3K=<+rG|5HHyBfjwn%-e3n ze~G@Y@cs9*_9^&!o_HND`vmlTg|q#A-u)e9>NTU^A4Aj6K)*k5EqBIuUg2+_CX+f`FW9PrY`ai+nexLLFRsR3idFedA29JJ`pFanzf5BfqjWqo% z-_xmm0IGc)n*0;KL7K49|o!P}Yc&9YqVmg%Bg_7>%QyC~+n z#bBP#a$YC1d2g0aceCl#O*XvpX*?;Xt4SV}lbF{i%Ex&WjT@tKn2++|ziZiSRy*+W~QfIKneiH+Fx6=Fz{vI*hQ zGIHG5H_O@S^a9xWX2M}-QGZ-O*wJV_bb|xq{4}IkFZau{MFKfXpf`;eYt|^)L!UkD zSSO1d$DKwg>^I_o%5iRFy}MSi*h5yg*e)+w3qI#n@VWr6Vtzdv%!bo~_1cqRwU$5Z za+Gq|qa$73$0|j2NRpPvi*>b1IbY4@V3u;&Vx8t>z)B@-14hvttajrG!cmTf$JO4m zOcst)bIW`gb9Q}jOAW7Let$8aFJOS#Y&lCgw*mW&r&p6AiYJYzjFPcqzp3q2A~%6{ zw_^A1<(AzR%dc^EZt>cD$|@PFTuv9&3NC7l+u&1-`bT_zQo_ZzPWe{3czvGCO8aJs zP+S8)pQiB5m=&_g4!V!n+a>gIz}L=3;85IIt+3TZX{~rM@5~m^sARQbQcSZ+3J0F$>aaEx zKCb;?Q~1k88@7v0YnAf`YxQjRO?JKGfV4(?bZ(~-AHVyNylJ1pSQX0%|90df?N zA_Q_fTpls|82p}?((&u;SgTkxSSy{kjX(Wb16!-$FkWW0*udf@uE z;`D1Az;-!UEZJzxMq`#6a-b5+1k{EVYVBw;Mo*)&B1F=GVm6u@Q(X;8*30?_?f=FV z_mF>JE9MALG96D(P4jng6tEzyI3Dd-F@n7vM^X0EL0(%;2P=KpSzH;TOYe)(rHhuV zc814Dr}JroFf}I=lmku{3L+ZcAF<7m zr(eqIGdqhRyUp%Ek!A8wa?`sKvlKfZTd*|IC{df26{M@_y~z~Ko=>MH?o*)cpsR;A zLQHUZpu`N?mct>C?n2Yqi`nrL44U>OZ68&TVjv~eo-*u*ha#71kL52%V;rdh+ppCJ zte)T5OU7QLQd_L9efZU#sXz9F(!QLWld%)q@cH7ivh&KW>E+%n+pv1F)(>U9Oo-K1}4 zCS|h(W@?V!0dfRXcFHbyZ-Dv?@&k*?#_8}b7aPpK^iC6fk!KS5|&HRLk`xL)er#_bH}!9BAdntRe_i~tmk^VNAGIwz1hzkk2hoO z?P!F)ok6B@usp8(364ZI1JS~189)}1W{cpbSkTe*9*3}nfu+T}QIA!IqxNvlDn)IT zFMwOZOLnaUN3Detf#3sk_vD_HXu5&nD7`tFIz&S@KE-`qz^p04r-;FE#JkZNhRqON zZ<}){l0)oUyl){kz&`=n1&}hJC?Y8;NU1q;G3?qt!jaWi1mI!h=I&&+elb`a>GFA$ zp)9{xsIWK#;h48=eIFC#u{3ZEIyBjuBRI0~LH>neBa}NVKL&ePpBJt!p@ep!vlws|L~)$Q zYE)EqJB3~-4pa9tGau7_euVrQds|h|wKutp<@^*%DQJ6H6g))?qW5vF$*fnZIHEL+J z6l&-UVqRKJeurMY>1HxFp6sv+(gn>|re+4CxKg7dq%0dmoNQ^Y!})%Oou|0>_b~sv zxje|2^DT+(533J|d9Nn-qDciov3L%IYbdKwC;@_$=g_3;NeF+syfLod&HMN}sjWU> z^<;K3C5E|XamUe#ZMw#kLt9vkzr&eR4U$G%k7+aW{;A#tk1cMA6Hb-_KN7THxK*)iDdlKrGu?OBQRP4xq zW8XIOAuhKZ`aOzbi7>=Kb{x&x2-k~Zpe|6K`50y#%Mm6v9WHRlvSDISrIus|mK;3) z%~93G0aZ;^hePlLugDQClgK0l1n$ z)!+(|K*1Z^x&HPD?*cRAJ+Lprc!j}}T6ZWHxx^P{h8pIHEG9RTJ?dl-HG$<|y7&n= zE8yh)#hvwKHuL4zjb;iC=j=%^q;wU@K9=dgB+VyVQdajTs13X;sjCJq_YN4G2fXLG zAZH)55+v}C&0})a#?oS!Myre!qRdL<%o^}t++$(loBU7EU=%ou@td8Ho;U`&VW zVHe49Y^i^wUVS@S-)C!NI5H%tAc26HGHxS>14XBJr3(2STF;rg;wG1-iv$b9Wl}T& z)^IQ~2_5yyZgGS+0Dr+LaI?HAPJ!bLjyMi-!PNzDa0_Q`Ttnh4cmlHwSG3^>M>0hb zn;YB!L)=jGhj(BM4TgeU52L8ezM`XazUE+*Yb$5xrUQB$O99_0>yzWT>r{Feb@V1W zO(}~JP{hy6Ue-mQ)pq0K5yd5frkyoySGN$!FbkxcFCf}|e3@AVb_OGoYpy`c+9_x# zOr24ULpibv{AZG3B5g$uwbY5$09D%Wkq7#Fa6+Ji)~B9SM-+zxI_}LyX0A^3$&I zVfHBR1*)RN4{zbimxJ-(UVkvypt5^Ypm#plC)SObuEd^UZ zP(pA9z4oZnxhW#8-iAhF@OH-5g`LRLS5{QgB>as@@s@bAdou`+t8-uAB>&Mu42RM|`9N-Q!mGrAlFVE|^sKi!l0~T<*|OAfwsM%!t1Lgonkj@(!ro^q3gX@z zl{N%iW=_?H@`l$n9m{s_ISR5M!1PgdZq8~6`^K>DvV!?z22pS&J6Q!+_F)g z*CKe7#a7s{pY>4M84j-M30*4$ZK7*zYK(K+HHSY1$_><1lwAyZ{ZTKfApC^+RksjE zn1vK}$VdswC~_%T8T6?EH5W$CE2u%Is0=c=`BbJCCg4(o#RiNm^l=yDC!|Mfb5|T*;j^v zA7BRy>LM+mm6n*79HirO>JM`uC~YyvdX#WTzw0_hwfYA<@3R|0$SrxP)qUtD%lH_3 zTh2GLAu36gml52aDS;8~%?B^AQ$qs6{itWY!yM|3`>o!vn;rL{6nn8eSs2;82AAw=905l@ZP~t}p_{bu}UbH2iTM%4$P_dB@g#tUw2PcDm%vsH`h#R;e zJwp8e;F2TF%EebL7x+5dFN!Heyqiq`6_fBN07at165>+h3V7RQ-%}hg$yXPDxBx=b z-BtW{SYIVYosD0=fu2Gg8VsKtPmtj;{GH(Ym6o65q|g{WxI*SuzKSTAo6brrvm^~U zfhQ8|eSwC|F&@+Iy-xQC|NZ6yiYxKKOiyO>J*GtQnmmk^dHp9dlw{7UY3_f=baPat zJ(agmbf1ssgojj2@jXXI*V!QH%W*3EJ%}oHTvyxvDPtKbB(Mq2ASai=E?qz-sH}W` zWll|E&Y+_GwWSM5fTAcBoJO{7rGa&(3BHDsxrt@dQ=IFh-?ziuV{dLMm@l!_wH;@^ zP#MqXPvqyyh3`P_geY4cKx`Qe!6hjQ2dTQ00J|WGtRNvDPe~Yhm?grYvYz63e)fGR zCm-k9+^e!1_d4B8g~Km`gM5$;$1OMb%(zyWlp%Xpr97E;!9gi`pXazim9`K@+(xQT zI%cue(2hCA&*5mz1S*iY0phv_?Ij?{my(=#Xrgw<4p)AN)VI$oY=I^=X7}v5ZB?`k ziCI}pky~CtrNhhumwXW0J~2!{-JrO)uvOAYYqUllZLbN&FkhTnSk^Yk3dHJ=sp|uI zhuZPAyUloQ`}9ydCOQX*w1T3#&o!!3uEQJ%dooHX0{EEKWxUJjC83^bn=9%) zGB?7$1NRlgcpE&>UF9#XD-~U0PFI+o($rZU4n=!tb%3KDjdXqr*L96Tm!y4sVtivk zYZs-gtl$O?-{6a0Bh3?Aw^zem{8doWE?8I9w5`=^QwzB#tetWWJ(NGYF)7BNL7zF5 zzCH;NrIZ#J7_EPUOCTc_8H{l!YkSlDvN<_ZD`9E%99d~YorGkIOl1MzDrx1ZKOf8K zaFnrfoJKFB3zTrmE;68OIBV&oqC4v36@-^?Gm7QR3Q*EYa-?+pBX zCY9PPbV`VJl(Y3=mNbH($!SZ>zwY)H>?i3C??5Y;Q!7?MJ9I!3Xo_l>tkrh%_=7DGy6EnCrtp{hDdi=nSg zV>gk40^V`(=oKqvous1DA0llxXp|cnA;r5vRZdGc{ ziS5@Yvm5g@a&idjVwsw$7@CPv316mPf-?aNf)$ulcDkO7b;O*=08Ccqw+)_x#b?d9dpbDOV|uKGs;exwJh3ue?b(~G_%x$*A`>5D zs1(1buq8#T!c#`&wS`@B0MX4p>*lRMN+TL5DoV+5)4S?xZuQj#70yt$VUS zzRuZ6MkSTSWN7;o{jNxxlr$Q)QRT`D&w3kjCDK9Ch1kq?(Ml_XzgX!ZRR)~7 zBV;-%SgHzSv&VAdfHW{Z6SReCV--hB3VthEt$KFSV=4|MuMH7h0kjpQ-*qCO9n9{l z9CdD{SB_*Cv#9c~cb>)bskuT*66dtdNZx!sBA+Nm&M5<`gRvZM$x+J{qGtpB8`GAh z{6-&MTNwtfx5p`3u;+~Z7VSM)$xMiAf|2 zm~x~uT8{*C$NrU{_fEnTtzWQjxofn|0Sg&t-zu@n24equsWQG6=?Y$s%^SD(M_3Wu zbd6>^z`J$crD67DBMLEo1#fANr!0-!LuHrM=v$g&BEBuKJY#dA1+#?SQ=G#B9?lTB zaeG(6eF&|u;bL;wP_}1oyCU8;nKE^u#1rMQsX{>0IklOwrC(#Xs$*HI9R79Pw1VNC zP&vD!POrVb1LI5B4Z-MINFaB*HS5B?l9U2Es*{obM@OruQBXb=3|Y?1ER<~3+_D6c zlObp2;M`jn6lZa)Q@Si=o1`{?U>dq@nJR)>-G($M3$Ar%kz9-hj`&srI;?EYT^>!q<(RmAYOWnIp9- zh%aWy{}yu4)r3up|g?0CsX@{`h`m1PRMGiE}%UYIDRqwKjGND3^t*qf`@W>!I_bl zv$GRy^(^5q^SUs&9==-V#4l^Ay@Ef**2H8+&d{W4d-Ek~)p4|A$$tUl6zVPw@(riC ze*<(im#Z{TELQUcR<0mjd|}y__2e2T8M(jGps44pZICv$M_JRUas8${gXd$j=Oqy4 z)&5S|UrdLs!=kH$Oog!3d`y5;(&8gy)~+D=n(o-Ns&aCa`3c9=#;TnuE0@{sL{rJQ zvSvOZAlPGImz^ulbJt#0up7XZcUw>&6>NN3(=BR~R3%Be6&;IV?OB77EXsNkOSe*_ z(2iB}k=)Y?!E0gOT|sA93QnrX$#zZfcXRXgR@it24Ezpmdnh0GHr;LaKG~rTvbx0I zDUny#Dk{Fqo1P1Vsk~CR{1R!4Yx8-!Xg)PSDfg?EoNMgQBQTQo^WDd4_t_1v&3dYj zOrD0y1IpjetUR#k?##zgergVM*XgzsIDXYCD#$~FjQuf_-GB$L=`vdx?==VmiwXnD zT8{p>0t;oyT3~V*4iGkbFj)^{u$W?h+1ANgP>oh@ zP7trrY?l~{baXvT*lWxIXRuixNW(79JgQ}ZvCC0vc`HGAm(6`^UqM{3SKs+8h&@cx z-b|pNGIs)0iJ#j1Y1D_k)ZeC#;As4Cv>GaxoIqC(?+V2o<0Tg6z!5+EeF}-aDBQwg`a$zX-R{}8T*sDkPCI&spZXXOc1N6y+nvy zJMByn;j}$wr%7v5LDk@f&h<;c%z&rTMu{So`!+|2DNYe2v@!A?>ZPgdlfh6R6Kgcg z(QK+DcdHl?JB7EDRp27TC2ieQ;8p-rJuYAV8C)zc`xKUuho)A0>RxQqQFbjU>@p*A z)MN>kQR(FAP#QHSNvDpS1=hc;EacMsMaipdMv50RMO)?Vs5PlztFG+}%7U$7qBG#8 z23rklTMDEpK1LpO&HC@L85$X&jLBY=A&_NMbi5!kE@31k?lN9Etdt-!f>=P{TZkGm zQdIU8YYjU^NY0FP)HkfTiaq7c7?zd)#7LIycZe0);~gu9KeWSTs*WR;pvv13L+vd! znUQK;K}pYZgbSH=L@3^Au>b!p$x$-k-709d$CrQ2S_r3MfZ6c%*$s z8*sJZoz&{KMENMf5fGGSO4-xMR-ZIo!`qv+bquMRq%J5`Q^l-Gl?#?azXiM7p$H_7 zaU^R<28z0)elCDZSsh(S4S9G?@R<(OAV{u(GgUn+r8**?e*j&#hzy=Tcr0zFWy`fE zh)&s>Hp>bhCAN3g;F(d`a;PI!b{WVpo>nT7hDcsbi@x^Y6Qcqnba6&so6c9ZP=0w2 zJ`>f2k7~RnNoXGm=XffrvF-4NP|n~qM2vH2GjFDigC$;@TFfgf>1Vp0%oBSLh9uh7#K;Nm46UZ18*pcWd6Q=&R}|*$rg) z3V)-dP_nY!I(B=7(anyq--XU7mV$psZYUW%;H<%gvzD)`SIj(_Wcr*MzKq_;s?I7$ z^{sxNQ<>e7Y(BuA8eG+b3t$tmkf6OHia>9fXI~;!oofF-Y5G!l$lKXq|AmV@QkBd4 z;G!~$$Axj1BQA=bQbv4)%fRLwdUtRsXgw#^Hd;);$B__8Eb=GIW%x*c&d}cuT())= zKMF1$4>dR!b}s4SYgMszfYWm_A)h>AP!ZqO0=1?UrInYSn*-c7P;){w3dbC^m~0D6 zXYE0&-&`I=%UfWF$k&(Gw2`mENqNnIqfVKtsw=0o;TLDKIQzkUx@P)__o(0Q-Ixds z%(KaGD0f(W83zgUxOuP9tRTM+KSMdKTsdvuNqP#M^Tk&<=Nv~zMdb~Wm7;Ix0)WOF z%)j#7y=aGQE3cx~yD|MKvQ%mdip^>au~aw#lwu03MqjcFB3JDc%`!%ZmdMyiqggb{ z=Gv$rT$I?fVz=h0|r`mRHcEJ^ZhkgWjKASv!>qlS+)L zV^h5(E#k7SDBAB5jQFx=*@?-~5R=-v1#9Q66*}NR)x+BA6iCp=>Qa#XQyrqmXrMCg z8b4RrJZ1FUm(4v~&0kTvA1~mbHL!h~fM#uS!(j;yDUu@IJ;a~~Tuz#(qr7$9yn&Hc zjr`J^;t#UbxH{x6X6b;EPerJ~Q>cPgp&q)JdGMf**yHeArgC(2POlV%(A_ye5vna{hsIgm&v8Kx5s^EBoMU_2OYcE+$>ryRo{AumIjMmJQN*tEv zw5Y#giSwiZGflq4{i}Y0A-~rXW3FII4i6V%fa^pgY0gT{sYT6BMUr0wk!wRj?OfN3 zh%-~Pv!!TKO%EZIn39WI_~&eTP{GrtOPn=1!c$;Loi5v35(E+g53AeAjQk$finwZT za5CziN-s*CcPWoGO?{^pFjF-~B-UdF0uX$)Jhf1%5_*k*srg?mhU(-{q0UFjMdu#1 ziDjE431k-rikamUj~ni?XvBuahnFLp29?v4)17p{;2LtTaUFz(%0T{Z1|4`Ei#7tP z=+3t~ZVi)?ehWEG2W*@rjll||vNjj-9_*-;jRPwbK1O_0!|0>XKVFUvtJqvQP4_1B zq?XeSjG%d#OBB93Z9G=0q|0#}!vzKNYkoX#MV(&FW@;=daN&kvP?$4=c{6ur-s(0R zjjhq)V`f`58#P`GfT~eSbsflArMcapDovVGvha|VIe`0soRG-SIBLs+qKSoLE9&== zIa5A7Q8U^CvlAN@E8u%9TzlH;vH$Wi%;P zCe^p3OO;MhA4kc2mdY0iuaZIv4wcG==GKmS_vmnqtmk3|HVLni8dlsIa1xV7f$mxv zO*HqX3q49)yAgBUDk7Yd#8Nun5tPcIytJ5KkTo2+L<#JxzBQTM9==u4Zz_jk21)MQ z97rcEvWoubr;Vur`wi0pvJB0I?t9q6jA{XD!-$!+14uWLya8y(;--NCEotgfwI(us zm=di_gnsP6j~L;SH0$stRk& zes7bs$`8}88H}h>mgZVCqNSPp!mNSXlr`4|4JxS1 z&LvP+`1H3>KLsBghO7lot=I+0Qy{_iIk!^^W zJ_&Tj%uV}g{8{}r>TI8|=Zpl&lFVt00BoW47H_3&Et>Zcg9bEjH}){a{xUVXe+u4= z!L5YuIjxq^ms%J#vmV=ONNHbYD1xSc`u16-es@(DQEec!aB z@LiP0EFxt!Fz?4qH{&P!~6c%vI&Grl~W81qL77DuDawZ(53KA57hO*8n6m5tg zJH(GFq+}zh9oU{AeuAEp5PG;Ju~NL1r7GiK78&jip#yh z{bNQF3(*^x8a9%}6I_k*=VUxJhf(5oD4^3Usg%%$Ic2$mnqSE)9Mm+vxBXxDu22Rg zMfxdnmUlMT-UNp*#_G!FQJ~dnEH6uNxG@|)r$R3KR!T$ncre#Zfv^rg0{#}k_c$bW zn^AnkL)y^eVb%tVlXDK&)*d3KS)|oR#U+k4^sScO~5L7QFn{RM%JWM zdzS7RQGbxOz-1@dLZ=DmQ-G1Xh${m9u{G0w4OwB>6xxg{Y%ak9!wn`S*9G0h#P?z= zn4B>StSc_YXlW%ERr1?g33P+`rs!lIBB>`NHgArAFYjaq&n6Z8&(Z8a<32AcB1h}+ z*t%VtOVRkQ1L#98IBsr{EQ}5KMUCF&;G#U2@A0RGnK!!X3v)JSqFXYUs+phT?E4iSf*C?%4z0`U~K{e!ZTsVwQ(q+wuB7~Rn1k!y_{UoEu{dh%M`jMCkuMz za(XETuy%rQooEIxw2N}PlgS1bv5Nh4fpq66Bp~b~(Yo(Z3Tr5j1Jj7D2 zwQa7O8Ehq7@{96_%d1tJRn9FN@>o<46izIxcus118j=ZC=D=f-5U%vmefi}TVw7EM44bboT`Av~1Ut6CV{u`8 z@z~m0)Lx)U{{f;BHG&wSbCnX!`wbv&EL+hf4pc)+3y6CZO5<_`wXij9lHO3$&!*oDy40#wA2SGUx zkP5MpYbhjk+d>Yh{Cu?#ReXh=z%mF~-__*^^F%t2ES-=fTK2?SX)_1g2uC-)gKZBi zHH@HPcDWRax)$>*+)OzXO{*Hs=}DRsUu99luxi`Pzg#SQY%0C#fTkP7dSY6zN{>Sm z#Io7LwH$D8_b<-RFDf?aLK9{&f#}l;QYV6}?v$@vqk_Y&cTDZC=zC6}#~Gr!vD*OT zM5*gj^{KQU<0Q~>M=y+~&_-sDa?8i&tr5_#a1ype^}~yaF=zz4D9@-2pWpMql$k1} zQ|?!go7<^0YHBlux#hdbvzyo~purBysOw;Qv@uXOLz($I7Ss!_O1lzH^KMLaP|2?m z?xn1cD*OxVvt0Zf(dk`WpSv@!J|a^evXA1K4T9V^b=CkQMgGkCa}s^)^6O3ZxDC4D z(qG=w1q*@>(kop%2}ibH-hwdb+DT+MEO#N#jTSAk{Zdx)1VnvR%DO;Q#XqAtr+=`WKAiUAO4;}DbOZUn4mSlRBTUlUE64W>;X*^oT zYkYZffq~1<^NZzqc_uA7g$%pp7b;dz!Ol05C6o-ClZ;853qwQ~d+MSS-P3?k<2A!s zDv0vba;TVInMY;0dJtf2(kj0`!KuE%Ya`jhE4my3y|`G^p!?+SSHVDYOJYdHeKNBx zjzQVJ3|w0D&@}1J7Ey*cBVqxMPp@J~iGt>3dS>3$0-zYTZ>gS5V{M*mhWB`d2F(nQ z@?u`$p&laT=@n(jlhk!;y4ePM0v;onlc`NqhuA__F);fAYvy#;C=!*8RXUza&N!kR zJHoK0iDv>`W-#uqD~t0~11lV)^OweUFvU4;}iFK>u=R0wN;MUR0Esmm=d-_E=A=L0q)iz$?U z(O{{VRgR)CiU`3RqN-Y_veGgB#-;(wUZyAyS-Ayn7?B|MM`D|S8LpXOmslH#cWzZ0 zbhH`B{^?F4-NnGUS>OHI?4W$4(NXF5%^vAa0JT~Bc3PG2)cmKHZX{81&6ifZ+E?z# zH%E%g=1faY$)*gUqvI5pU@ZmXIlPB$F0q*IEICiXI5muwPZ2!}I7}rLjX&rD4q@5{ zOH!R+sarQOQK;btj(D$Xh!|7ERJ#v3Mmo~QHa{uvWWX6Jo3d=+UIRZTe;i$QFV=8S zdcHQe3PDyh7fablx|B=T9SleqoTMAdlu_@Q;yL3iH)e23RNdI}96HwmGvMgw^0$-@ zkbHkZkJMhDiOMVDG-dOzNUY{K`-=*n0Sb3j!zBlkSHYy9XsxUcZQ2+f?Rdqg5g>zzRwL|P}Np#9e-MT*8eca=qn*{$%o#mpSu6fbzY*OcIIJ0B8Dag>=lJ%aDtC0C= zaiS$A(Bq|an-sWS3N}4%%d`CS#ig*DqrwzZ=*F|hCMoLoY94XvDA=-a%Xi)HkdO)2 z&1f|J8aj2!0Tf*&{+7^3oqPpY457@*uuy_4yPOkjw$CR=sOn9nFijuh7Pw>J5_(&T zSSEQ=RmIQn8s{U0hnqc*to*VCb=Yhgzj{F^h!oks-I7 z-Qc^V)nJXrfcM_~aZ0k*8vb3-o+V#a-PyA71vcL2YIJ>}RQ%51>!|Ru2Tg{K{qU29 zc{VT#;Z}Q0kXc}9%jV8-abzZzmmB=q5?^VAP~YORww8_!%12GbD(8)7Oh4jh$Rko4 zjN0;3ySc(HJArjF+I&>a_M^9Wl%|Lx0zjt3p^DO2>ToED*Zp+*g35yG8zmy%vjB8x zp2+$#!y3~GW4U~Xk~}%T7@#AI^Q*HZ()3eY^QfK^3Lg+jN%cKlU3z>%fxG5s26Q7( zi`0Q`_t&Vr+%zH80U^o@I0P#3Pmris?ekXa6*^-af5pOs#^O>a203nJ-~fSblT|R{oL= z*%$>#icR|#08GrX?AuqS2~%_3)V1VO{K^~`*k>K${u4cOh{Ep- z{Nf6~h~s098r&|yOSfU>W66GEx7_)OnjPUt(N|`>Gu=3 z?>>*5;7F=4)VE+wp<)hB*QNo*+=^j^m&%nr^pJXm9BD7*F2>-b3x+eZ$-0!pPueHo zrdcvBoPecvbdHJ9RuoXB`5)Q4UU>C9g$Hf2@)n~ri@Ujyck%Z zlyjcN>HchOxZPBE$&10wG`va+BMb17$f*-p4IH`|NhvWU(Me+zmkFi}&9clld}(`LMbx3;E`99oiF$iav5Iee}Q=@j!vG!|X8_vCzZW(68s zI4D^=#g|IagTmwLECY`@v{6He!jFV9qx5#qc-~*&;m^*R&~!o79=#;uP*EfGv>ERa zy&cFjXvkJFTj>XiBp?%83QX;}>ZnREAth;#F$m>U@`TXjGQ&k$nln5>{Bqo*?bg1xPOAmHwd%ps$v9XU({)ql8D36vZy4Y&#MG)IjiGF z6MW|v8Hz;?YH~h1>%tHpwp3spOI_SrP}P+B)k|24HKk(2p2F03K8V^9>$y>R#tkV_ zg;LHM5*?D)PX;%A)$%k_sHk694rwSav0>^;lR-!E7`6+G4}Q64Huljau-oWhdG z@fO<;*+{4CS;NHo>xQAOEl>_Zv|LzjUj?kT-Ps}+b!@h4Xx)H&`cPJugP<>LwqPDHFN6Adx|`1^(CUY{-!okn4cJ3K?FJ40+W|C}nxG3pwC@sY5Mk(kW^T zQx}BiJ?#+dm-rfp}sPx^0FA*m!mYHpF*Z#A@3(CIWH zF;JqTH4rxJ->2ub*Bc{w-gsRfjjFB*DG51*Xx`F%VT!&`7DL8=VHI}V5eOPxJaa)@ zn{&D|ly?EzC3GE~mXGnVLHoDxP?VxfsooB;Y)Vb)b{CWfuLH_b9J&NOvpXJcxCT5Q z@%R*L&T0`4VLkDHz`qx@gY zoq%!$WEo;`JEfHDanbFu+)HA4$>tFse?yn>ktXX^_!OGVO*zn^5^)&eG1{z9+8_SQ zNu%~KzXjSu=zP}5r8YE4hkr(fe@<5$N%fBg($(uiPp7IUo!p|Ry0`8>;Dj*;9gFb9 zkVN1_o+>j&!-o06F{ez?05W>-PWOh4Y{qJW)Iiw$Ryp6`iB#^}q#em+f1vPPP;2i;(jRWl4a3)RR{+R)ZSA!n3j@{tnm zTQsI_DM+Dn3{KR+DtyMU#H_U?r5faj1H#EBX9=k9x$9iXkJzLT$&yLzZ!H%!VpPL$(bom1y?pOvj{AQp3)d0meqL z2qBuac3`+A`R}p2;^Yf5YYq&P^DFaX#|RK{qxrHqCoe2N%ZV$g?&k(ZP)rj8!dNYf z>eNt{uwgOWSS|Yu-@~r{Ib6PjkaQbI9CO)>vdqeJ>oR|z`JY>QP>OzO$GqYK8ixPL z{VN)e$UUpbh7RR5rj%%lvri77r6`>bg?jYNAI_K*hpFRP+>zLoaHNB4q*v^(t-L zN|(ora*?6dC5Ix44Xn~Lw0hhDt-d8rH=w18#mJn8(dp!|dnEJn1(cJnGV_svhO?U- zvl8gMs3Dx0AUCIIbWT=7DQaD6fe(*fBE-aZsNtcR^OW+e@F<#n&P>(71!TDfet}{f z;~5`d|0!^N!CI$ufbH35Wym-8HPp4{LDO6J8LVUjkKh;t->f5u%E{~rY-gLQ%c$}VH z`~z17yHitRzMQZ+-;#B5r#sYg{y072_<6I!qTb=kSOw%~6cwC3ctRH;tBQ)fgJL?j z5;mV1RvXd-YB%$}+l1n@z-a&sZvl6GWTql(ioH{!vN3%@Q_gUX65E~4PA{R-i^~Tl zU%IzI%0c%eaDSE$AB03{&-uVl!GkX*Gr|YFW)M+e(?h#XN7vTST!MtZ!&^uw_ zM#!t?97&o=Kq<%!8*LDgd$KuCEoaif(oSLKYeVQ&*l2Iv7Z+G3P2RO|@-%lRyQ)V9 z$}Z`q0p_jD3E=%ngs72G!I#%ls4_fdN74|5r3{KZ(;02QzJU_a!w%@C;L_rY zoNTwUsaMvYB9_zGP1#yE724)xzY_~S2nhTx&$7PaPo!OEIK)L3f<% zx_EV*Po}2r6f3QbFP6<1`X+cZiUMXP)(dExkOj?&EhRD$B9osk!8m)o z1>;vKRjNjmWBIRm{0%-A20>3gn;^(r_<{SJ>Ch3EY6wC1v+0fm?$IL7RmSha{4L#D zna~4CBbAAarneVxYQePR3XF=&`;ANT`-(8tu_~-)rfTv^jH1)FVRXhh`v+^uJJh|B z7ZyRO9-}AN_#31oPqXPW6YQ&=pPPWBf={3R^N2Qas+81X3>a;g8?ye{O8&YGC30uv zlp^aO@dzuAL4zw~+}uGrvrwu!qV%Qi zF_D2|W4tz1|Drm}>EMGgbQOgk5Z%#=Bhk~{fYMUB=IgMFh21$Tl4}=xvouRSPMqbF=D6kxS`}hVjQl0!&)G$8S+WAbTjDtsW)ZL1&AFLrU2vu2 z@K4&(#bI0S_fe+o+^)7zVwfXAwP^<>ec)}FL~aCHA6J&UUk!U%q^^lxK`-noN)h2_{n!PVmwl^~lf3`K7>n&oDbQe&3woU1{> z&R@JC?37oM-Ogw`))SI5;#s-0dWeE<+ZBeg04jLv@`;R?RtiG>MohJIHLR{gfD+lt zDh;p-(`E{nC`adoEyo*^6Is&jr2Y}5v8RUj6)G)7U*xCPj}ve&!F>(xkHB44Uu}85 z2&zXitWg{}chAVut8rUTtnjUA>H*RWq7oPi8T3+rs~^tA)T7X3y_WP>DtV!+?5@F8 zje-(K`H#xf`8k{v>#EfI%!IN4`;{er)R3%_EuB+@KjqmJwV@Dv_P7hqx^hZBrMx6p z6;0()sw4HQJSKTY^P2B}S0AYCzn&476Ml=vlEfi+jxlRns!Wb**U&<;5qUXf5GORw z#h8UFJQ691l0-m!wn5es&R-n5c-%HTbmOk%i#Z9CuN)i}^VhlTaS9in(#EKZZJ9ve zr7OQOVCz8{blYIMbk$&CcqG>Ssgict((MbvLo-7?>)J{!Gbq0(H#{WwGh|*SN~TFB zDmv0d-lM--Z-Rt82A2u+Xj$OWG_|Q29!e&|6}gkL!pHZwsW(;+e$a(Fnaz*tszr~} zxWY+2$&!g7xZD_T&5W<6NNvf>JsyM0+07*4*IK!wAJHmSBX0pP$;8TP9v@3k#D9l}$>k z6qXkXr*FD9C;OJ

          !)k`<*rLT67|!`(51D}=SCls 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

          {o5I;6^)cSnzyyLxf*K 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 vRP!ZvkUdN1-_9EPCvT%FCr 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

          9Y7qJ~d|*B=vPfnkY;$r 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

          4XtY}z@xsiDk@#VR$SUSIbDrK7O9=ZX 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 z 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 diff --git a/contrib/macdeploy/background@2x.png b/contrib/macdeploy/background@2x.png deleted file mode 100644 index 4858183f75c382a9b8d75ae4fb8a74abd830615f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138890 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 background_picture - background.tiff + background.png icon_size 96 applications_symlink From 26e5706c14409f5d3419cfc0fc3d58f47b48cf9b Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 10:59:47 -0600 Subject: [PATCH 341/555] P2P: parse network datastream into header/data components in socket https://github.com/litecoin-project/litecoin/commit/607dbfdeaf7ec053d959c47c125d60c0b7e7216a --- src/main.cpp | 59 +++++++++++++-------------------- src/net.cpp | 92 +++++++++++++++++++++++++++++++++++++--------------- src/net.h | 61 ++++++++++++++++++++++++++++++---- 3 files changed, 142 insertions(+), 70 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 00ef07295..c9462330a 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3153,7 +3153,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) else if (strCommand == "verack") { - pfrom->vRecv.SetVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); + pfrom->SetRecvVersion(min(pfrom->nVersion, PROTOCOL_VERSION)); } @@ -3716,8 +3716,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) bool ProcessMessages(CNode* pfrom) { - CDataStream& vRecv = pfrom->vRecv; - if (vRecv.empty()) + if (pfrom->vRecvMsg.empty()) return true; //if (fDebug) // printf("ProcessMessages(%u bytes)\n", vRecv.size()); @@ -3731,32 +3730,28 @@ bool ProcessMessages(CNode* pfrom) // (x) data // - while (true) + unsigned int nMsgPos = 0; + for (; nMsgPos < pfrom->vRecvMsg.size(); nMsgPos++) { // Don't bother if send buffer is too full to respond anyway if (pfrom->vSend.size() >= SendBufferSize()) break; - // Scan for message start - CDataStream::iterator pstart = search(vRecv.begin(), vRecv.end(), BEGIN(pchMessageStart), END(pchMessageStart)); - int nHeaderSize = vRecv.GetSerializeSize(CMessageHeader()); - if (vRecv.end() - pstart < nHeaderSize) - { - if ((int)vRecv.size() > nHeaderSize) - { - printf("\n\nPROCESSMESSAGE MESSAGESTART NOT FOUND\n\n"); - vRecv.erase(vRecv.begin(), vRecv.end() - nHeaderSize); - } + // get next message; end, if an incomplete message is found + CNetMessage& msg = pfrom->vRecvMsg[nMsgPos]; + + if (!msg.complete()) break; + + // Scan for message start + if (memcmp(msg.hdr.pchMessageStart, pchMessageStart, sizeof(pchMessageStart)) != 0) + { + printf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n"); + return false; } - if (pstart - vRecv.begin() > 0) - printf("\n\nPROCESSMESSAGE SKIPPED %"PRIpdd" BYTES\n\n", pstart - vRecv.begin()); - vRecv.erase(vRecv.begin(), pstart); // Read header - vector vHeaderSave(vRecv.begin(), vRecv.begin() + nHeaderSize); - CMessageHeader hdr; - vRecv >> hdr; + CMessageHeader& hdr = msg.hdr; if (!hdr.IsValid()) { printf("\n\nPROCESSMESSAGE: ERRORS IN HEADER %s\n\n\n", hdr.GetCommand().c_str()); @@ -3766,19 +3761,9 @@ bool ProcessMessages(CNode* pfrom) // Message size unsigned int nMessageSize = hdr.nMessageSize; - if (nMessageSize > MAX_SIZE) - { - printf("ProcessMessages(%s, %u bytes) : nMessageSize > MAX_SIZE\n", strCommand.c_str(), nMessageSize); - continue; - } - if (nMessageSize > vRecv.size()) - { - // Rewind and wait for rest of message - vRecv.insert(vRecv.begin(), vHeaderSave.begin(), vHeaderSave.end()); - break; - } // Checksum + CDataStream& vRecv = msg.vRecv; uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize); unsigned int nChecksum = 0; memcpy(&nChecksum, &hash, sizeof(nChecksum)); @@ -3789,17 +3774,13 @@ bool ProcessMessages(CNode* pfrom) continue; } - // Copy message to its own buffer - CDataStream vMsg(vRecv.begin(), vRecv.begin() + nMessageSize, vRecv.nType, vRecv.nVersion); - vRecv.ignore(nMessageSize); - // Process message bool fRet = false; try { { LOCK(cs_main); - fRet = ProcessMessage(pfrom, strCommand, vMsg); + fRet = ProcessMessage(pfrom, strCommand, vRecv); } if (fShutdown) return true; @@ -3831,7 +3812,11 @@ bool ProcessMessages(CNode* pfrom) printf("ProcessMessage(%s, %u bytes) FAILED\n", strCommand.c_str(), nMessageSize); } - vRecv.Compact(); + // remove processed messages; one incomplete message may remain + if (nMsgPos > 0) + pfrom->vRecvMsg.erase(pfrom->vRecvMsg.begin(), + pfrom->vRecvMsg.begin() + nMsgPos); + return true; } diff --git a/src/net.cpp b/src/net.cpp index a5fc714f8..babe93653 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -544,7 +544,7 @@ void CNode::CloseSocketDisconnect() printf("disconnecting node %s\n", addrName.c_str()); closesocket(hSocket); hSocket = INVALID_SOCKET; - vRecv.clear(); + vRecvMsg.clear(); } } @@ -552,7 +552,6 @@ void CNode::Cleanup() { } - void CNode::PushVersion() { /// when NTP implemented, change to just nTime = GetAdjustedTime() @@ -565,10 +564,6 @@ void CNode::PushVersion() nLocalHostNonce, FormatSubVersion(CLIENT_NAME, CLIENT_VERSION, std::vector()), nBestHeight); } - - - - std::map CNode::setBanned; CCriticalSection CNode::cs_setBanned; @@ -641,14 +636,61 @@ void CNode::copyStats(CNodeStats &stats) } #undef X - - - - - - - - +// requires LOCK(cs_vRecvMsg) +bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes) +{ +while (nBytes > 0) { +// get current incomplete message, or create a new one +if (vRecvMsg.size() == 0 || +vRecvMsg.back().complete()) +vRecvMsg.push_back(CNetMessage(SER_NETWORK, nRecvVersion)); +CNetMessage& msg = vRecvMsg.back(); +// absorb network data +int handled; +if (!msg.in_data) +handled = msg.readHeader(pch, nBytes); +else +handled = msg.readData(pch, nBytes); +if (handled < 0) +return false; +pch += handled; +nBytes -= handled; +} +return true; +} +int CNetMessage::readHeader(const char *pch, unsigned int nBytes) +{ +// copy data to temporary parsing buffer +unsigned int nRemaining = 24 - nHdrPos; +unsigned int nCopy = std::min(nRemaining, nBytes); +memcpy(&hdrbuf[nHdrPos], pch, nCopy); +nHdrPos += nCopy; +// if header incomplete, exit +if (nHdrPos < 24) +return nCopy; +// deserialize to CMessageHeader +try { +hdrbuf >> hdr; +} +catch (std::exception &e) { +return -1; +} +// reject messages larger than MAX_SIZE +if (hdr.nMessageSize > MAX_SIZE) +return -1; +// switch state to reading message data +in_data = true; +vRecv.resize(hdr.nMessageSize); +return nCopy; +} +int CNetMessage::readData(const char *pch, unsigned int nBytes) +{ +unsigned int nRemaining = hdr.nMessageSize - nDataPos; +unsigned int nCopy = std::min(nRemaining, nBytes); +memcpy(&vRecv[nDataPos], pch, nCopy); +nDataPos += nCopy; +return nCopy; +} void ThreadSocketHandler(void* parg) { @@ -689,7 +731,7 @@ void ThreadSocketHandler2(void* parg) BOOST_FOREACH(CNode* pnode, vNodesCopy) { if (pnode->fDisconnect || - (pnode->GetRefCount() <= 0 && pnode->vRecv.empty() && pnode->vSend.empty())) + (pnode->GetRefCount() <= 0 && pnode->vRecvMsg.empty() && pnode->vSend.empty())) { // remove from vNodes vNodes.erase(remove(vNodes.begin(), vNodes.end(), pnode), vNodes.end()); @@ -721,7 +763,7 @@ void ThreadSocketHandler2(void* parg) TRY_LOCK(pnode->cs_vSend, lockSend); if (lockSend) { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) { TRY_LOCK(pnode->cs_mapRequests, lockReq); @@ -890,15 +932,12 @@ void ThreadSocketHandler2(void* parg) continue; if (FD_ISSET(pnode->hSocket, &fdsetRecv) || FD_ISSET(pnode->hSocket, &fdsetError)) { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) { - CDataStream& vRecv = pnode->vRecv; - unsigned int nPos = vRecv.size(); - - if (nPos > ReceiveBufferSize()) { + if (pnode->GetTotalRecvSize() > ReceiveFloodSize()) { if (!pnode->fDisconnect) - printf("socket recv flood control disconnect (%"PRIszu" bytes)\n", vRecv.size()); + printf("socket recv flood control disconnect (%u bytes)\n", pnode->GetTotalRecvSize()); pnode->CloseSocketDisconnect(); } else { @@ -907,8 +946,8 @@ void ThreadSocketHandler2(void* parg) int nBytes = recv(pnode->hSocket, pchBuf, sizeof(pchBuf), MSG_DONTWAIT); if (nBytes > 0) { - vRecv.resize(nPos + nBytes); - memcpy(&vRecv[nPos], pchBuf, nBytes); + if (!pnode->ReceiveMsgBytes(pchBuf, nBytes)) + pnode->CloseSocketDisconnect(); pnode->nLastRecv = GetTime(); } else if (nBytes == 0) @@ -1632,9 +1671,10 @@ void ThreadMessageHandler2(void* parg) { // Receive messages { - TRY_LOCK(pnode->cs_vRecv, lockRecv); + TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) - ProcessMessages(pnode); + if(!ProcessMessages(pnode)) + pnode->CloseSocketDisconnect(); } if (fShutdown) return; diff --git a/src/net.h b/src/net.h index 9179b71cf..84a00fbf8 100644 --- a/src/net.h +++ b/src/net.h @@ -26,7 +26,7 @@ extern int nBestHeight; -inline unsigned int ReceiveBufferSize() { return 1000*GetArg("-maxreceivebuffer", 5*1000); } +inline unsigned int ReceiveFloodSize() { return 1000*GetArg("-maxreceivebuffer", 5*1000); } inline unsigned int SendBufferSize() { return 1000*GetArg("-maxsendbuffer", 1*1000); } void AddOneShot(std::string strDest); @@ -147,9 +147,34 @@ class CNodeStats int nMisbehavior; }; - - - +class CNetMessage { +public: +bool in_data; // parsing header (false) or data (true) +CDataStream hdrbuf; // partially received header +CMessageHeader hdr; // complete header +unsigned int nHdrPos; +CDataStream vRecv; // received message data +unsigned int nDataPos; +CNetMessage(int nTypeIn, int nVersionIn) : hdrbuf(nTypeIn, nVersionIn), vRecv(nTypeIn, nVersionIn) { +hdrbuf.resize(24); +in_data = false; +nHdrPos = 0; +nDataPos = 0; +} +bool complete() const +{ +if (!in_data) +return false; +return (hdr.nMessageSize == nDataPos); +} +void SetVersion(int nVersionIn) +{ +hdrbuf.SetVersion(nVersionIn); +vRecv.SetVersion(nVersionIn); +} +int readHeader(const char *pch, unsigned int nBytes); +int readData(const char *pch, unsigned int nBytes); +}; /** Information about a peer */ class CNode @@ -159,9 +184,10 @@ class CNode uint64 nServices; SOCKET hSocket; CDataStream vSend; - CDataStream vRecv; CCriticalSection cs_vSend; - CCriticalSection cs_vRecv; + std::vector vRecvMsg; + CCriticalSection cs_vRecvMsg; + int nRecvVersion; int64 nLastSend; int64 nLastRecv; int64 nLastSendEmpty; @@ -211,10 +237,11 @@ class CNode CCriticalSection cs_inventory; std::multimap mapAskFor; - CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : vSend(SER_NETWORK, MIN_PROTO_VERSION), vRecv(SER_NETWORK, MIN_PROTO_VERSION) + CNode(SOCKET hSocketIn, CAddress addrIn, std::string addrNameIn = "", bool fInboundIn=false) : vSend(SER_NETWORK, MIN_PROTO_VERSION) { nServices = 0; hSocket = hSocketIn; + nRecvVersion = MIN_PROTO_VERSION; nLastSend = 0; nLastRecv = 0; nLastSendEmpty = GetTime(); @@ -267,6 +294,26 @@ class CNode return std::max(nRefCount, 0) + (GetTime() < nReleaseTime ? 1 : 0); } + // requires LOCK(cs_vRecvMsg) + unsigned int GetTotalRecvSize() + { + unsigned int total = 0; + for (unsigned int i = 0; i < vRecvMsg.size(); i++) + total += vRecvMsg[i].vRecv.size(); + return total; + } + + // requires LOCK(cs_vRecvMsg) + bool ReceiveMsgBytes(const char *pch, unsigned int nBytes); + + // requires LOCK(cs_vRecvMsg) + void SetRecvVersion(int nVersionIn) + { + nRecvVersion = nVersionIn; + for (unsigned int i = 0; i < vRecvMsg.size(); i++) + vRecvMsg[i].SetVersion(nVersionIn); + } + CNode* AddRef(int64 nTimeout=0) { if (nTimeout != 0) From 2815c2de45c8170f30febcac252a2f3f327d40fc Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 11:30:25 -0600 Subject: [PATCH 342/555] Some fixes to CNetMessage processing https://github.com/litecoin-project/litecoin/commit/967f24590b43f0f84148f669d886b40fe45aa978?diff=unified --- src/main.cpp | 52 ++++++++++++++++++++++++++++------------------------ src/net.cpp | 40 +++++++++++++++++++++++----------------- src/net.h | 10 +++++----- 3 files changed, 56 insertions(+), 46 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index c9462330a..9c7866b60 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3714,12 +3714,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) return true; } +// requires LOCK(cs_vRecvMsg) bool ProcessMessages(CNode* pfrom) { - if (pfrom->vRecvMsg.empty()) - return true; //if (fDebug) - // printf("ProcessMessages(%u bytes)\n", vRecv.size()); + // printf("ProcessMessages(%zu messages)\n", pfrom->vRecvMsg.size()); // // Message format @@ -3729,29 +3728,38 @@ bool ProcessMessages(CNode* pfrom) // (4) checksum // (x) data // + bool fOk = true; - unsigned int nMsgPos = 0; - for (; nMsgPos < pfrom->vRecvMsg.size(); nMsgPos++) - { + std::deque::iterator it = pfrom->vRecvMsg.begin(); + while (it != pfrom->vRecvMsg.end()) { // Don't bother if send buffer is too full to respond anyway if (pfrom->vSend.size() >= SendBufferSize()) break; - // get next message; end, if an incomplete message is found - CNetMessage& msg = pfrom->vRecvMsg[nMsgPos]; + // get next message + CNetMessage& msg = *it; + + //if (fDebug) + // printf("ProcessMessages(message %u msgsz, %zu bytes, complete:%s)\n", + // msg.hdr.nMessageSize, msg.vRecv.size(), + // msg.complete() ? "Y" : "N"); - if (!msg.complete()) + // end, if an incomplete message is found + if (!msg.complete()) + break; + + // at this point, any failure means we can delete the current message + it++; + + // Scan for message start + if (memcmp(msg.hdr.pchMessageStart, pchMessageStart, sizeof(pchMessageStart)) != 0) { + printf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n"); + fOk = false; break; - - // Scan for message start - if (memcmp(msg.hdr.pchMessageStart, pchMessageStart, sizeof(pchMessageStart)) != 0) - { - printf("\n\nPROCESSMESSAGE: INVALID MESSAGESTART\n\n"); - return false; } // Read header - CMessageHeader& hdr = msg.hdr; + CMessageHeader& hdr = msg.hdr; if (!hdr.IsValid()) { printf("\n\nPROCESSMESSAGE: ERRORS IN HEADER %s\n\n\n", hdr.GetCommand().c_str()); @@ -3763,7 +3771,7 @@ bool ProcessMessages(CNode* pfrom) unsigned int nMessageSize = hdr.nMessageSize; // Checksum - CDataStream& vRecv = msg.vRecv; + CDataStream& vRecv = msg.vRecv; uint256 hash = Hash(vRecv.begin(), vRecv.begin() + nMessageSize); unsigned int nChecksum = 0; memcpy(&nChecksum, &hash, sizeof(nChecksum)); @@ -3783,7 +3791,7 @@ bool ProcessMessages(CNode* pfrom) fRet = ProcessMessage(pfrom, strCommand, vRecv); } if (fShutdown) - return true; + break; } catch (std::ios_base::failure& e) { @@ -3812,12 +3820,8 @@ bool ProcessMessages(CNode* pfrom) printf("ProcessMessage(%s, %u bytes) FAILED\n", strCommand.c_str(), nMessageSize); } - // remove processed messages; one incomplete message may remain - if (nMsgPos > 0) - pfrom->vRecvMsg.erase(pfrom->vRecvMsg.begin(), - pfrom->vRecvMsg.begin() + nMsgPos); - - return true; + pfrom->vRecvMsg.erase(pfrom->vRecvMsg.begin(), it); + return fOk; } diff --git a/src/net.cpp b/src/net.cpp index babe93653..e254963b5 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -544,7 +544,11 @@ void CNode::CloseSocketDisconnect() printf("disconnecting node %s\n", addrName.c_str()); closesocket(hSocket); hSocket = INVALID_SOCKET; - vRecvMsg.clear(); + + // in case this fails, we'll empty the recv buffer when the CNode is deleted + TRY_LOCK(cs_vRecvMsg, lockRecv); + if (lockRecv) + vRecvMsg.clear(); } } @@ -640,21 +644,21 @@ void CNode::copyStats(CNodeStats &stats) bool CNode::ReceiveMsgBytes(const char *pch, unsigned int nBytes) { while (nBytes > 0) { -// get current incomplete message, or create a new one -if (vRecvMsg.size() == 0 || -vRecvMsg.back().complete()) -vRecvMsg.push_back(CNetMessage(SER_NETWORK, nRecvVersion)); -CNetMessage& msg = vRecvMsg.back(); -// absorb network data -int handled; -if (!msg.in_data) -handled = msg.readHeader(pch, nBytes); -else -handled = msg.readData(pch, nBytes); -if (handled < 0) -return false; -pch += handled; -nBytes -= handled; + // get current incomplete message, or create a new one + if (vRecvMsg.empty() || + vRecvMsg.back().complete()) + vRecvMsg.push_back(CNetMessage(SER_NETWORK, nRecvVersion)); + CNetMessage& msg = vRecvMsg.back(); + // absorb network data + int handled; + if (!msg.in_data) + handled = msg.readHeader(pch, nBytes); + else + handled = msg.readData(pch, nBytes); + if (handled < 0) + return false; + pch += handled; + nBytes -= handled; } return true; } @@ -1669,7 +1673,9 @@ void ThreadMessageHandler2(void* parg) pnodeTrickle = vNodesCopy[GetRand(vNodesCopy.size())]; BOOST_FOREACH(CNode* pnode, vNodesCopy) { - // Receive messages + if(pnode->fDisconnect) + continue; + // Receive messages { TRY_LOCK(pnode->cs_vRecvMsg, lockRecv); if (lockRecv) diff --git a/src/net.h b/src/net.h index 84a00fbf8..eec5757f7 100644 --- a/src/net.h +++ b/src/net.h @@ -185,7 +185,7 @@ class CNode SOCKET hSocket; CDataStream vSend; CCriticalSection cs_vSend; - std::vector vRecvMsg; + std::deque vRecvMsg; CCriticalSection cs_vRecvMsg; int nRecvVersion; int64 nLastSend; @@ -298,8 +298,8 @@ class CNode unsigned int GetTotalRecvSize() { unsigned int total = 0; - for (unsigned int i = 0; i < vRecvMsg.size(); i++) - total += vRecvMsg[i].vRecv.size(); + BOOST_FOREACH(const CNetMessage &msg, vRecvMsg) + total += msg.vRecv.size() + 24; return total; } @@ -310,8 +310,8 @@ class CNode void SetRecvVersion(int nVersionIn) { nRecvVersion = nVersionIn; - for (unsigned int i = 0; i < vRecvMsg.size(); i++) - vRecvMsg[i].SetVersion(nVersionIn); + BOOST_FOREACH(CNetMessage &msg, vRecvMsg) + msg.SetVersion(nVersionIn); } CNode* AddRef(int64 nTimeout=0) From dd0aa2cb8769a56d66e364cf8202fd0ba03e0af0 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 13:13:34 -0600 Subject: [PATCH 343/555] ETRKEPTION typo --- contrib/gitian-descriptors/qt-win32.yml | 4 ++-- src/util.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contrib/gitian-descriptors/qt-win32.yml b/contrib/gitian-descriptors/qt-win32.yml index 8a10e9b76..6eb76b217 100644 --- a/contrib/gitian-descriptors/qt-win32.yml +++ b/contrib/gitian-descriptors/qt-win32.yml @@ -23,8 +23,8 @@ script: | sed 's/$TODAY/2011-01-30/' -i configure sed 's/i686-pc-mingw32-/i586-mingw32msvc-/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf sed --posix 's|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/i586-mingw32msvc/include/ -frandom-seed=qtbuild|' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed 's/QMAKE_CXXFLAGS_ETRKEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_ETRKEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed 's/QMAKE_LFLAGS_ETRKEPTIONS_ON = -mthreads/QMAKE_LFLAGS_ETRKEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf + sed 's/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf + sed 's/QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads/QMAKE_LFLAGS_EXCEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf sed --posix 's/QMAKE_MOC\t\t= i586-mingw32msvc-moc/QMAKE_MOC\t\t= moc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf sed --posix 's/QMAKE_RCC\t\t= i586-mingw32msvc-rcc/QMAKE_RCC\t\t= rcc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf sed --posix 's/QMAKE_UIC\t\t= i586-mingw32msvc-uic/QMAKE_UIC\t\t= uic/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf diff --git a/src/util.cpp b/src/util.cpp index 8386ce192..0e6087030 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -1010,10 +1010,10 @@ static std::string FormatException(std::exception* pex, const char* pszThread) #endif if (pex) return strprintf( - "ETRKEPTION: %s \n%s \n%s in %s \n", typeid(*pex).name(), pex->what(), pszModule, pszThread); + "EXCEPTION: %s \n%s \n%s in %s \n", typeid(*pex).name(), pex->what(), pszModule, pszThread); else return strprintf( - "UNKNOWN ETRKEPTION \n%s in %s \n", pszModule, pszThread); + "UNKNOWN EXCEPTION \n%s in %s \n", pszModule, pszThread); } void LogException(std::exception* pex, const char* pszThread) From d0e90449a62e3d6e921794ea987d4c30a385380b Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 14:24:06 -0600 Subject: [PATCH 344/555] Don't use -dbcache for BDB anymore https://github.com/bitcoin/bitcoin/commit/2e3c76bf9857f5ac2814df9fd6b9b5b7a7eff88a --- src/db.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 0774d63a0..45238285f 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -80,11 +80,11 @@ bool CDBEnv::Open(boost::filesystem::path pathEnv_) if (GetBoolArg("-privdb", true)) nEnvFlags |= DB_PRIVATE; - int nDbCache = GetArg("-dbcache", 25); dbenv.set_lg_dir(pathLogDir.string().c_str()); - dbenv.set_cachesize(nDbCache / 1024, (nDbCache % 1024)*1048576, 1); - dbenv.set_lg_bsize(1048576); - dbenv.set_lg_max(10485760); + + dbenv.set_cachesize(0, 0x100000, 1); + dbenv.set_lg_bsize(0x10000); + dbenv.set_lg_max(1048576); dbenv.set_lk_max_locks(10000); dbenv.set_lk_max_objects(10000); dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug From 8124ad900f3d942f987a21351ffa12dc5446f745 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 14:28:17 -0600 Subject: [PATCH 345/555] Make explicitly requested salvage operations keep going https://github.com/bitcoin/bitcoin/commit/14c9d116be476d08dd18f2e9f4a8ed251a6bbf79 --- src/db.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 45238285f..f52cbced0 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -172,9 +172,18 @@ bool CDBEnv::Salvage(std::string strFile, bool fAggressive, Db db(&dbenv, 0); int result = db.verify(strFile.c_str(), NULL, &strDump, flags); - if (result != 0) + if (result == DB_VERIFY_BAD) { - printf("ERROR: db salvage failed\n"); + printf("Error: Salvage found errors, all data may not be recoverable.\n"); + if (!fAggressive) + { + printf("Error: Rerun with aggressive mode to ignore errors and continue.\n"); + return false; + } + } + if (result != 0 && result != DB_VERIFY_BAD) + { + printf("ERROR: db salvage failed: %d\n",result); return false; } From 8786eb4884135c7477175c7b69701680ffc5fdc8 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 10 Mar 2015 14:41:44 -0600 Subject: [PATCH 346/555] Revert "Don't use -dbcache for BDB anymore" This reverts commit d0e90449a62e3d6e921794ea987d4c30a385380b. --- src/db.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index f52cbced0..3c3e414fc 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -80,11 +80,11 @@ bool CDBEnv::Open(boost::filesystem::path pathEnv_) if (GetBoolArg("-privdb", true)) nEnvFlags |= DB_PRIVATE; + int nDbCache = GetArg("-dbcache", 25); dbenv.set_lg_dir(pathLogDir.string().c_str()); - - dbenv.set_cachesize(0, 0x100000, 1); - dbenv.set_lg_bsize(0x10000); - dbenv.set_lg_max(1048576); + dbenv.set_cachesize(nDbCache / 1024, (nDbCache % 1024)*1048576, 1); + dbenv.set_lg_bsize(1048576); + dbenv.set_lg_max(10485760); dbenv.set_lk_max_locks(10000); dbenv.set_lk_max_objects(10000); dbenv.set_errfile(fopen(pathErrorFile.string().c_str(), "a")); /// debug From 3ac3790cf350786421f5564e6b1b1f11de9e6780 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Thu, 12 Mar 2015 18:46:46 +0100 Subject: [PATCH 347/555] Update the osx and unix build documentation --- doc/build-osx.md | 144 ++++++++++++++++++++++++++++++ doc/build-osx.txt | 54 ------------ doc/build-unix.md | 216 +++++++++++++++++++++++++++++++++++++++++++++ doc/build-unix.txt | 146 ------------------------------ 4 files changed, 360 insertions(+), 200 deletions(-) create mode 100644 doc/build-osx.md delete mode 100644 doc/build-osx.txt create mode 100644 doc/build-unix.md delete mode 100644 doc/build-unix.txt diff --git a/doc/build-osx.md b/doc/build-osx.md new file mode 100644 index 000000000..871f0f386 --- /dev/null +++ b/doc/build-osx.md @@ -0,0 +1,144 @@ +Mac OS X Build Instructions and Notes +==================================== +This guide will show you how to build hyperstaked(headless client) for OSX. + +Notes +----- + +* Tested on OS X 10.7 through 10.10 on 64-bit Intel processors only. + +* All of the commands should be executed in a Terminal application. The +built-in one is located in `/Applications/Utilities`. + +Preparation +----------- + +You need to install XCode with all the options checked so that the compiler +and everything is available in /usr not just /Developer. XCode should be +available on your OS X installation media, but if not, you can get the +current version from https://developer.apple.com/xcode/. If you install +Xcode 4.3 or later, you'll need to install its command line tools. This can +be done in `Xcode > Preferences > Downloads > Components` and generally must +be re-done or updated every time Xcode is updated. + +You will also need to install [Homebrew](http://brew.sh) in order to install library +dependencies. + +The installation of the actual dependencies is covered in the Instructions +sections below. + +Instructions: Homebrew +---------------------- + +#### Install dependencies using Homebrew + + brew install autoconf automake libtool boost miniupnpc openssl pkg-config protobuf qt5 + +NOTE: Building with Qt4 is still supported, however, could result in a broken UI. As such, building with Qt5 is recommended. + +#### Installing berkeley-db4 using Homebrew + +The homebrew package for berkeley-db4 has been broken for some time. It will install without Java though. + +Running this command takes you into brew's interactive mode, which allows you to configure, make, and install by hand: +``` +$ brew install https://raw.github.com/homebrew/homebrew/master/Library/Formula/berkeley-db4.rb -–without-java +``` + +The rest of these commands are run inside brew interactive mode: +``` +/private/tmp/berkeley-db4-UGpd0O/db-4.8.30 $ cd .. +/private/tmp/berkeley-db4-UGpd0O $ db-4.8.30/dist/configure --prefix=/usr/local/Cellar/berkeley-db4/4.8.30 --mandir=/usr/local/Cellar/berkeley-db4/4.8.30/share/man --enable-cxx +/private/tmp/berkeley-db4-UGpd0O $ make +/private/tmp/berkeley-db4-UGpd0O $ make install +/private/tmp/berkeley-db4-UGpd0O $ exit +``` + +After exiting, you'll get a warning that the install is keg-only, which means it wasn't symlinked to `/usr/local`. You don't need it to link it to build hyperstake, but if you want to, here's how: + + $ brew link --force berkeley-db4 + + +### Building `hyperstaked` + +1. Clone the github tree to get the source code and go into the directory. + + git clone https://github.com/hyperstake/hyperstake.git + cd hyperstake + +2. Build hyperstaked: + + ./autogen.sh + ./configure --with-gui=qt5 + make + +3. It is also a good idea to build and run the unit tests: + + make check + +4. (Optional) You can also install hyperstaked to your path: + + make install + +Use Qt Creator as IDE +------------------------ +You can use Qt Creator as IDE, for debugging and for manipulating forms, etc. +Download Qt Creator from http://www.qt.io/download/. Download the "community edition" and only install Qt Creator (uncheck the rest during the installation process). + +1. Make sure you installed everything through homebrew mentioned above +2. Do a proper ./configure --with-gui=qt5 --enable-debug +3. In Qt Creator do "New Project" -> Import Project -> Import Existing Project +4. Enter "hyperstake-qt" as project name, enter src/qt as location +5. Leave the file selection as it is +6. Confirm the "summary page" +7. In the "Projects" tab select "Manage Kits..." +8. Select the default "Desktop" kit and select "Clang (x86 64bit in /usr/bin)" as compiler +9. Select LLDB as debugger (you might need to set the path to your installtion) +10. Start debugging with Qt Creator + +Creating a release build +------------------------ +You can ignore this section if you are building `hyperstaked` for your own use. + +hyperstaked binaries are not included in the Hyperstake-Qt.app bundle. + +If you are building `hyperstaked` or `Hyperstake-Qt` for others, your build machine should be set up +as follows for maximum compatibility: + +All dependencies should be compiled with these flags: + + -mmacosx-version-min=10.7 + -arch x86_64 + -isysroot $(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk + +Once dependencies are compiled, you can use the following commands to configure and package the Hyperstake-Qt.app +bundle and create the .dmg disk image that can be distributed. + + ./configure --with-boost-system=boost_system-mt --with-boost-filesystem=boost_filesystem-mt + make deploy + + +Running +------- + +It's now available at `./hyperstaked`, provided that you are still in the `src` +directory. We have to first create the RPC configuration file, though. + +Run `./hyperstaked` to get the filename where it should be put, or just try these +commands: + + echo -e "rpcuser=hyperstakerpc\nrpcpassword=$(xxd -l 16 -p /dev/urandom)" > "/Users/${USER}/Library/Application Support/HyperStake/hyperstake.conf" + chmod 600 "/Users/${USER}/Library/Application Support/HyperStake/hyperstake.conf" + +The next time you run it, it will start downloading the blockchain, but it won't +output anything while it's doing this. This process may take several hours; +you can monitor its process by looking at the debug.log file, like this: + + tail -f $HOME/Library/Application\ Support/HyperStake/debug.log + +Other commands: +------- + + ./hyperstaked -daemon # to start the hyperstake daemon. + ./hyperstake --help # for a list of command-line options. + ./hyperstake help # When the daemon is running, to get a list of RPC commands diff --git a/doc/build-osx.txt b/doc/build-osx.txt deleted file mode 100644 index 809e25f15..000000000 --- a/doc/build-osx.txt +++ /dev/null @@ -1,54 +0,0 @@ -Copyright (c) 2009-2012 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying file -license.txt or http://www.opensource.org/licenses/mit-license.php. This -product includes software developed by the OpenSSL Project for use in the -OpenSSL Toolkit (http://www.openssl.org/). This product includes cryptographic -software written by Eric Young (eay@cryptsoft.com) and UPnP software written by -Thomas Bernard. - - -Mac OS X bitcoind build instructions -Laszlo Hanyecz -Douglas Huff - - -See readme-qt.rst for instructions on building Bitcoin QT, the -graphical user interface. - -Tested on 10.5 and 10.6 intel. PPC is not supported because it's big-endian. - -All of the commands should be executed in Terminal.app.. it's in -/Applications/Utilities - -You need to install TRKode with all the options checked so that the compiler and -everything is available in /usr not just /Developer I think it comes on the DVD -but you can get the current version from http://developer.apple.com - - -1. Clone the github tree to get the source code: - -git clone git@github.com:bitcoin/bitcoin.git bitcoin - -2. Download and install MacPorts from http://www.macports.org/ - -2a. (for 10.7 Lion) - Edit /opt/local/etc/macports/macports.conf and uncomment "build_arch i386" - -3. Install dependencies from MacPorts - -sudo port install boost db48 openssl miniupnpc - -Optionally install qrencode (and set USE_QRCODE=1): -sudo port install qrencode - -4. Now you should be able to build bitcoind: - -cd bitcoin/src -make -f makefile.osx - -Run: - ./bitcoind --help # for a list of command-line options. -Run - ./bitcoind -daemon # to start the bitcoin daemon. -Run - ./bitcoind help # When the daemon is running, to get a list of RPC commands diff --git a/doc/build-unix.md b/doc/build-unix.md new file mode 100644 index 000000000..8385bf751 --- /dev/null +++ b/doc/build-unix.md @@ -0,0 +1,216 @@ +UNIX BUILD NOTES +==================== +Some notes on how to build HyperStake in Unix. + +Note +--------------------- +Always use absolute paths to configure and compile hyperstake and the dependencies, +for example, when specifying the the path of the dependency: + + ../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX + +Here BDB_PREFIX must absolute path - it is defined using $(pwd) which ensures +the usage of the absolute path. + +To Build +--------------------- + +```bash +./autogen.sh +./configure +make +make install # optional +``` + +This will build hyperstake-qt as well if the dependencies are met. + +Dependencies +--------------------- + +These dependencies are required: + + Library | Purpose | Description + ------------|------------------|---------------------- + libssl | SSL Support | Secure communications + libboost | Boost | C++ Library + +Optional dependencies: + + Library | Purpose | Description + ------------|------------------|---------------------- + miniupnpc | UPnP Support | Firewall-jumping support + libdb4.8 | Berkeley DB | Wallet storage (only needed when wallet enabled) + qt | GUI | GUI toolkit (only needed when GUI enabled) + protobuf | Payments in GUI | Data interchange format used for payment protocol (only needed when GUI enabled) + libqrencode | QR codes in GUI | Optional for generating QR codes (only needed when GUI enabled) + +For the versions used in the release, see [release-process.md](release-process.md) under *Fetch and build inputs*. + +System requirements +-------------------- + +C++ compilers are memory-hungry. It is recommended to have at least 1 GB of +memory available when compiling HyperStake. With 512MB of memory or less +compilation will take much longer due to swap thrashing. + +Dependency Build Instructions: Ubuntu & Debian +---------------------------------------------- +Build requirements: + + sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev + +for Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed: + + sudo apt-get install libboost-all-dev + + db4.8 packages are available [here](https://launchpad.net/~bitcoin/+archive/bitcoin). + You can add the repository using the following command: + + sudo add-apt-repository ppa:bitcoin/bitcoin + sudo apt-get update + + Ubuntu 12.04 and later have packages for libdb5.1-dev and libdb5.1++-dev, + but using these will break binary wallet compatibility, and is not recommended. + +for Debian 7 (Wheezy) and later: + The oldstable repository contains db4.8 packages. + Add the following line to /etc/apt/sources.list, + replacing [mirror] with any official debian mirror. + + deb http://[mirror]/debian/ oldstable main + +To enable the change run + + sudo apt-get update + +for other Debian & Ubuntu (with ppa): + + sudo apt-get install libdb4.8-dev libdb4.8++-dev + +Optional: + + sudo apt-get install libminiupnpc-dev (see --with-miniupnpc and --enable-upnp-default) + +Dependencies for the GUI: Ubuntu & Debian +----------------------------------------- + +If you want to build HyperStake-Qt, make sure that the required packages for Qt development +are installed. Either Qt 4 or Qt 5 are necessary to build the GUI. +If both Qt 4 and Qt 5 are installed, Qt 4 will be used. Pass `--with-gui=qt5` to configure to choose Qt5. +To build without GUI pass `--without-gui`. + +To build with Qt 4 you need the following: + + sudo apt-get install libqt4-dev libprotobuf-dev protobuf-compiler + +For Qt 5 you need the following: + + sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler + +libqrencode (optional) can be installed with: + + sudo apt-get install libqrencode-dev + +Once these are installed, they will be found by configure and a hyperstake-qt executable will be +built by default. + +Notes +----- +The release is built with GCC and then "strip hyperstaked" to strip the debug +symbols, which reduces the executable size by about 90%. + + +miniupnpc +--------- + +[miniupnpc](http://miniupnp.free.fr/) may be used for UPnP port mapping. It can be downloaded from [here]( +http://miniupnp.tuxfamily.org/files/). UPnP support is compiled in and +turned off by default. See the configure options for upnp behavior desired: + + --without-miniupnpc No UPnP support miniupnp not required + --disable-upnp-default (the default) UPnP support turned off by default at runtime + --enable-upnp-default UPnP support turned on by default at runtime + +To build: + + tar -xzvf miniupnpc-1.6.tar.gz + cd miniupnpc-1.6 + make + sudo su + make install + + +Berkeley DB +----------- +It is recommended to use Berkeley DB 4.8. + +**Note**: You only need Berkeley DB if the wallet is enabled (see the section *Disable-Wallet mode* below). + +Boost +----- +If you need to build Boost yourself: + + sudo su + ./bootstrap.sh + ./bjam install + + +Security +-------- +To help make your hyperstake installation more secure by making certain attacks impossible to +exploit even if a vulnerability is found, binaries are hardened by default. +This can be disabled with: + +Hardening Flags: + + ./configure --enable-hardening + ./configure --disable-hardening + + +Hardening enables the following features: + +* Position Independent Executable + Build position independent code to take advantage of Address Space Layout Randomization + offered by some kernels. An attacker who is able to cause execution of code at an arbitrary + memory location is thwarted if he or she doesn't know where anything useful is located. + The stack and heap are randomly located by default but this allows the code section to be + randomly located as well. + + On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error + such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" + + To test that you have built PIE executable, install scanelf, part of paxutils, and use: + + scanelf -e ./hyperstake + + The output should contain: + TYPE + ET_DYN + +* Non-executable Stack + If the stack is executable then trivial stack based buffer overflow exploits are possible if + vulnerable buffers are found. By default, hyperstake should be built with a non-executable stack + but if one of the libraries it uses asks for an executable stack or someone makes a mistake + and uses a compiler extension which requires an executable stack, it will silently build an + executable without the non-executable stack protection. + + To verify that the stack is non-executable after compiling use: + `scanelf -e ./hyperstake` + + the output should contain: + STK/REL/PTL + RW- R-- RW- + + The STK RW- means that the stack is readable and writeable but not executable. + +Disable-wallet mode +-------------------- +When the intention is to run only a P2P node without a wallet, hyperstake may be compiled in +disable-wallet mode with: + + ./configure --disable-wallet + +In this case there is no dependency on Berkeley DB 4.8. + +Mining is also possible in disable-wallet mode, but only using the `getblocktemplate` RPC +call not `getwork`. diff --git a/doc/build-unix.txt b/doc/build-unix.txt deleted file mode 100644 index e07d8caef..000000000 --- a/doc/build-unix.txt +++ /dev/null @@ -1,146 +0,0 @@ -Copyright (c) 2014 HyperStake Developers -Copyright (c) 2013-2014 hyperstake Developers -Copyright (c) 2009-2012 Bitcoin Developers -Distributed under the MIT/X11 software license, see the accompanying -file license.txt or http://www.opensource.org/licenses/mit-license.php. -This product includes software developed by the OpenSSL Project for use in -the OpenSSL Toolkit (http://www.openssl.org/). This product includes -cryptographic software written by Eric Young (eay@cryptsoft.com) and UPnP -software written by Thomas Bernard. - - -UNIX BUILD NOTES -================ - -To Build --------- - -cd src/ -make -f makefile.unix # Headless HyperStake - -See readme-qt.rst for instructions on building HyperStake QT, -the graphical HyperStake client. - -Dependencies ------------- - - Library Purpose Description - ------- ------- ----------- - libssl SSL Support Secure communications - libdb4.8 Berkeley DB Blockchain & wallet storage - libboost Boost C++ Library - miniupnpc UPnP Support Optional firewall-jumping support - libqrencode QRCode generation Optional QRCode generation - -Note that libexecinfo should be installed, if you building under *BSD systems. -This library provides backtrace facility. - -miniupnpc may be used for UPnP port mapping. It can be downloaded from -http://miniupnp.tuxfamily.org/files/. UPnP support is compiled in and -turned off by default. Set USE_UPNP to a different value to control this: - USE_UPNP=- No UPnP support - miniupnp not required - USE_UPNP=0 (the default) UPnP support turned off by default at runtime - USE_UPNP=1 UPnP support turned on by default at runtime - -libqrencode may be used for QRCode image generation. It can be downloaded -from http://fukuchi.org/works/qrencode/index.html.en, or installed via -your package manager. Set USE_QRCODE to control this: - USE_QRCODE=0 (the default) No QRCode support - libqrcode not required - USE_QRCODE=1 QRCode support enabled - -Licenses of statically linked libraries: - Berkeley DB New BSD license with additional requirement that linked - software must be free open source - Boost MIT-like license - miniupnpc New (3-clause) BSD license - -Versions used in this release: - GCC 4.3.3 - OpenSSL 1.0.1g - Berkeley DB 4.8.30.NC - Boost 1.37 - miniupnpc 1.6 - -Dependency Build Instructions: Ubuntu & Debian ----------------------------------------------- -sudo apt-get install build-essential -sudo apt-get install libssl-dev -sudo apt-get install libdb4.8-dev -sudo apt-get install libdb4.8++-dev - Boost 1.40+: sudo apt-get install libboost-all-dev - or Boost 1.37: sudo apt-get install libboost1.37-dev -sudo apt-get install libqrencode-dev - -If using Boost 1.37, append -mt to the boost libraries in the makefile. - - -Notes ------ -The release is built with GCC and then "strip hyperstaked" to strip the debug -symbols, which reduces the executable size by about 90%. - - -miniupnpc ---------- -tar -xzvf miniupnpc-1.6.tar.gz -cd miniupnpc-1.6 -make -sudo su -make install - - -Berkeley DB ------------ -You need Berkeley DB 4.8. If you have to build Berkeley DB yourself: -../dist/configure --enable-cxx -make - - -Boost ------ -If you need to build Boost yourself: -sudo su -./bootstrap.sh -./bjam install - - -Security --------- -To help make your HyperStake installation more secure by making certain attacks impossible to -exploit even if a vulnerability is found, you can take the following measures: - -* Position Independent Executable - Build position independent code to take advantage of Address Space Layout Randomization - offered by some kernels. An attacker who is able to cause execution of code at an arbitrary - memory location is thwarted if he doesn't know where anything useful is located. - The stack and heap are randomly located by default but this allows the code section to be - randomly located as well. - - On an Amd64 processor where a library was not compiled with -fPIC, this will cause an error - such as: "relocation R_X86_64_32 against `......' can not be used when making a shared object;" - - To build with PIE, use: - make -f makefile.unix ... -e PIE=1 - - To test that you have built PIE executable, install scanelf, part of paxutils, and use: - scanelf -e ./hyperstake - - The output should contain: - TYPE - ET_DYN - -* Non-executable Stack - If the stack is executable then trivial stack based buffer overflow exploits are possible if - vulnerable buffers are found. By default, HyperStake should be built with a non-executable stack - but if one of the libraries it uses asks for an executable stack or someone makes a mistake - and uses a compiler extension which requires an executable stack, it will silently build an - executable without the non-executable stack protection. - - To verify that the stack is non-executable after compiling use: - scanelf -e ./hyperstake - - the output should contain: - STK/REL/PTL - RW- R-- RW- - - The STK RW- means that the stack is readable and writeable but not executable. From 0358c381a850ffee92b1d661065ae745c2ffc80b Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 08:12:15 +0100 Subject: [PATCH 348/555] documentation for the gitian building --- doc/gitian-building.md | 396 ++++++++++++++++++ .../create_vm_file_location_size.png | Bin 0 -> 71743 bytes doc/gitian-building/create_vm_hard_drive.png | Bin 0 -> 79798 bytes .../create_vm_hard_drive_file_type.png | Bin 0 -> 82281 bytes doc/gitian-building/create_vm_memsize.png | Bin 0 -> 53772 bytes doc/gitian-building/create_vm_page1.png | Bin 0 -> 131585 bytes .../create_vm_storage_physical_hard_drive.png | Bin 0 -> 90350 bytes .../debian_install_10_configure_clock.png | Bin 0 -> 7892 bytes .../debian_install_11_partition_disks.png | Bin 0 -> 9511 bytes .../debian_install_12_choose_disk.png | Bin 0 -> 6613 bytes .../debian_install_13_partition_scheme.png | Bin 0 -> 8082 bytes .../debian_install_14_finish.png | Bin 0 -> 10467 bytes .../debian_install_15_write_changes.png | Bin 0 -> 8790 bytes .../debian_install_16_choose_a_mirror.png | Bin 0 -> 11340 bytes .../debian_install_17_choose_a_mirror2.png | Bin 0 -> 9788 bytes .../debian_install_18_proxy_settings.png | Bin 0 -> 7582 bytes .../debian_install_19_software_selection.png | Bin 0 -> 8939 bytes .../debian_install_1_boot_menu.png | Bin 0 -> 76176 bytes .../debian_install_20_install_grub.png | Bin 0 -> 9784 bytes .../debian_install_21_finish_installation.png | Bin 0 -> 6964 bytes .../debian_install_2_select_a_language.png | Bin 0 -> 13118 bytes .../debian_install_3_select_location.png | Bin 0 -> 9613 bytes .../debian_install_4_configure_keyboard.png | Bin 0 -> 10220 bytes ...debian_install_5_configure_the_network.png | Bin 0 -> 6774 bytes .../debian_install_6_domain_name.png | Bin 0 -> 6526 bytes ...debian_install_6a_set_up_root_password.png | Bin 0 -> 11876 bytes .../debian_install_7_set_up_user_fullname.png | Bin 0 -> 7528 bytes .../debian_install_8_set_up_username.png | Bin 0 -> 6304 bytes .../debian_install_9_user_password.png | Bin 0 -> 6323 bytes doc/gitian-building/network_settings.png | Bin 0 -> 59986 bytes doc/gitian-building/port_forwarding_rules.png | Bin 0 -> 14044 bytes doc/gitian-building/select_startup_disk.png | Bin 0 -> 86323 bytes 32 files changed, 396 insertions(+) create mode 100644 doc/gitian-building.md create mode 100644 doc/gitian-building/create_vm_file_location_size.png create mode 100644 doc/gitian-building/create_vm_hard_drive.png create mode 100644 doc/gitian-building/create_vm_hard_drive_file_type.png create mode 100644 doc/gitian-building/create_vm_memsize.png create mode 100644 doc/gitian-building/create_vm_page1.png create mode 100644 doc/gitian-building/create_vm_storage_physical_hard_drive.png create mode 100644 doc/gitian-building/debian_install_10_configure_clock.png create mode 100644 doc/gitian-building/debian_install_11_partition_disks.png create mode 100644 doc/gitian-building/debian_install_12_choose_disk.png create mode 100644 doc/gitian-building/debian_install_13_partition_scheme.png create mode 100644 doc/gitian-building/debian_install_14_finish.png create mode 100644 doc/gitian-building/debian_install_15_write_changes.png create mode 100644 doc/gitian-building/debian_install_16_choose_a_mirror.png create mode 100644 doc/gitian-building/debian_install_17_choose_a_mirror2.png create mode 100644 doc/gitian-building/debian_install_18_proxy_settings.png create mode 100644 doc/gitian-building/debian_install_19_software_selection.png create mode 100644 doc/gitian-building/debian_install_1_boot_menu.png create mode 100644 doc/gitian-building/debian_install_20_install_grub.png create mode 100644 doc/gitian-building/debian_install_21_finish_installation.png create mode 100644 doc/gitian-building/debian_install_2_select_a_language.png create mode 100644 doc/gitian-building/debian_install_3_select_location.png create mode 100644 doc/gitian-building/debian_install_4_configure_keyboard.png create mode 100644 doc/gitian-building/debian_install_5_configure_the_network.png create mode 100644 doc/gitian-building/debian_install_6_domain_name.png create mode 100644 doc/gitian-building/debian_install_6a_set_up_root_password.png create mode 100644 doc/gitian-building/debian_install_7_set_up_user_fullname.png create mode 100644 doc/gitian-building/debian_install_8_set_up_username.png create mode 100644 doc/gitian-building/debian_install_9_user_password.png create mode 100644 doc/gitian-building/network_settings.png create mode 100644 doc/gitian-building/port_forwarding_rules.png create mode 100644 doc/gitian-building/select_startup_disk.png diff --git a/doc/gitian-building.md b/doc/gitian-building.md new file mode 100644 index 000000000..ed23993d2 --- /dev/null +++ b/doc/gitian-building.md @@ -0,0 +1,396 @@ +Gitian building +================ + +*Setup instructions for a gitian build of Hyperstake using a Debian VM or physical system.* + +Gitian is the deterministic build process that is used to build the Hyperstake + executables. It provides a way to be reasonably sure that the +executables are really built from source on GitHub. It also makes sure that +the same, tested dependencies are used and statically built into the executable. + +Multiple developers build the source code by following a specific descriptor +("recipe"), cryptographically sign the result, and upload the resulting signature. +These results are compared and only if they match, the build is accepted and uploaded +to hyperstake.com. + +More independent gitian builders are needed, which is why I wrote this +guide. It is preferred to follow these steps yourself instead of using someone else's +VM image to avoid 'contaminating' the build. + +Table of Contents +------------------ + +- [Create a new VirtualBox VM](#create-a-new-virtualbox-vm) +- [Connecting to the VM](#connecting-to-the-vm) +- [Setting up Debian for gitian building](#setting-up-debian-for-gitian-building) +- [Installing gitian](#installing-gitian) +- [Setting up the gitian image](#setting-up-the-gitian-image) +- [Getting and building the inputs](#getting-and-building-the-inputs) +- [Building Hyperstake](#building-hyperstake) +- [Building an alternative repository](#building-an-alternative-repository) +- [Signing externally](#signing-externally) +- [Uploading signatures](#uploading-signatures) + +Preparing the Gitian builder host +--------------------------------- + +The first step is to prepare the host environment that will be used to perform the Gitian builds. +This guide explains how to set up the environment, and how to start the builds. + +Debian Linux was chosen as the host distribution because it has a lightweight install (in contrast to Ubuntu) and is readily available. +Any kind of virtualization can be used, for example: +- [VirtualBox](https://www.virtualbox.org/), covered by this guide +- [KVM](http://www.linux-kvm.org/page/Main_Page) +- [LXC](https://linuxcontainers.org/), see also [Gitian host docker container](https://github.com/gdm85/tenku/tree/master/docker/gitian-bitcoin-host/README.md). + +You can also install on actual hardware instead of using virtualization. + +Create a new VirtualBox VM +--------------------------- +In the VirtualBox GUI click "Create" and choose the following parameters in the wizard: + +![](gitian-building/create_vm_page1.png) + +- Type: Linux, Debian (64 bit) + +![](gitian-building/create_vm_memsize.png) + +- Memory Size: at least 1024MB, anything lower will really slow the build down + +![](gitian-building/create_vm_hard_drive.png) + +- Hard Drive: Create a virtual hard drive now + +![](gitian-building/create_vm_hard_drive_file_type.png) + +- Hard Drive file type: Use the default, VDI (VirtualBox Disk Image) + +![](gitian-building/create_vm_storage_physical_hard_drive.png) + +- Storage on Physical hard drive: Dynamically Allocated + +![](gitian-building/create_vm_file_location_size.png) + +- Disk size: at least 40GB; as low as 20GB *may* be possible, but better to err on the safe side +- Push the `Create` button + +Get the [Debian 7.7 net installer](http://cdimage.debian.org/debian-cd/7.7.0/amd64/iso-cd/debian-7.7.0-amd64-netinst.iso) (a more recent minor version should also work, see also [Debian Network installation](https://www.debian.org/CD/netinst/)). +This DVD image can be validated using a SHA256 hashing tool, for example on +Unixy OSes by entering the following in a terminal: + + echo "d440e85b4121f94608748139f25dbce1ad36771348b002fe07d4d44b9d9e623f debian-7.7.0-amd64-netinst.iso" | sha256sum -c + # (must return OK) + +After creating the VM, we need to configure it. + +- Click the `Settings` button, then go to the `Network` tab. Adapter 1 should be attached to `NAT`. + +![](gitian-building/network_settings.png) + +- Click `Advanced`, then `Port Forwarding`. We want to set up a port through where we can reach the VM to get files in and out. +- Create a new rule by clicking the plus icon. + +![](gitian-building/port_forwarding_rules.png) + +- Set up the new rule the following way: + - Name: `SSH` + - Protocol: `TCP` + - Leave Host IP empty + - Host Port: `22222` + - Leave Guest IP empty + - Guest Port: `22` + +- Click `Ok` twice to save. + +Then start the VM. On the first launch you will be asked for a CD or DVD image. Choose the downloaded iso. + +![](gitian-building/select_startup_disk.png) + +Installing Debian +------------------ + +This section will explain how to install Debian on the newly created VM. + +- Choose the non-graphical installer. We do not need the graphical environment, it will only increase installation time and disk usage. + +![](gitian-building/debian_install_1_boot_menu.png) + +**Note**: Navigation in the Debian installer: To keep a setting at the default +and proceed, just press `Enter`. To select a different button, press `Tab`. + +- Choose locale and keyboard settings (doesn't matter, you can just go with the defaults or select your own information) + +![](gitian-building/debian_install_2_select_a_language.png) +![](gitian-building/debian_install_3_select_location.png) +![](gitian-building/debian_install_4_configure_keyboard.png) + +- The VM will detect network settings using DHCP, this should all proceed automatically +- Configure the network: + - System name `debian`. + - Leave domain name empty. + +![](gitian-building/debian_install_5_configure_the_network.png) + +- Choose a root password and enter it twice (remember it for later) + +![](gitian-building/debian_install_6a_set_up_root_password.png) + +- Name the new user `debian` (the full name doesn't matter, you can leave it empty) + +![](gitian-building/debian_install_7_set_up_user_fullname.png) +![](gitian-building/debian_install_8_set_up_username.png) + +- Choose a user password and enter it twice (remember it for later) + +![](gitian-building/debian_install_9_user_password.png) + +- The installer will set up the clock using a time server, this process should be automatic +- Set up the clock: choose a time zone (depends on the locale settings that you picked earlier; specifics don't matter) + +![](gitian-building/debian_install_10_configure_clock.png) + +- Disk setup + - Partitioning method: Guided - Use the entire disk + +![](gitian-building/debian_install_11_partition_disks.png) + + - Select disk to partition: SCSI1 (0,0,0) + +![](gitian-building/debian_install_12_choose_disk.png) + + - Partitioning scheme: All files in one partition + +![](gitian-building/debian_install_13_partition_scheme.png) + + - Finish partitioning and write changes to disk -> *Yes* (`Tab`, `Enter` to select the `Yes` button) + +![](gitian-building/debian_install_14_finish.png) +![](gitian-building/debian_install_15_write_changes.png) + +- The base system will be installed, this will take a minute or so +- Choose a mirror (any will do) + +![](gitian-building/debian_install_16_choose_a_mirror.png) + +- Enter proxy information (unless you are on an intranet, you can leave this empty) + +![](gitian-building/debian_install_18_proxy_settings.png) + +- Wait a bit while 'Select and install software' runs +- Participate in popularity contest -> *No* +- Choose software to install. We need just the base system. + +![](gitian-building/debian_install_19_software_selection.png) + +- Make sure only 'SSH server' and 'Standard System Utilities' are checked +- Uncheck 'Debian Desktop Environment' and 'Print Server' + +![](gitian-building/debian_install_20_install_grub.png) + +- Install the GRUB boot loader to the master boot record? -> Yes + +![](gitian-building/debian_install_21_finish_installation.png) + +- Installation Complete -> *Continue* +- After installation, the VM will reboot and you will have a working Debian VM. Congratulations! + +Connecting to the VM +---------------------- + +After the VM has booted you can connect to it using SSH, and files can be copied from and to the VM using a SFTP utility. +Connect to `localhost`, port `22222` (or the port configured when installing the VM). +On Windows you can use putty[1] and WinSCP[2]. + +For example to connect as `root` from a Linux command prompt use + + $ ssh root@localhost -p 22222 + The authenticity of host '[localhost]:22222 ([127.0.0.1]:22222)' can't be established. + ECDSA key fingerprint is 8e:71:f9:5b:62:46:de:44:01:da:fb:5f:34:b5:f2:18. + Are you sure you want to continue connecting (yes/no)? yes + Warning: Permanently added '[localhost]:22222' (ECDSA) to the list of known hosts. + root@localhost's password: (enter root password configured during install) + Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.54-2 x86_64 + root@debian:~# + +Replace `root` with `debian` to log in as user. + +[1] http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html +[2] http://winscp.net/eng/index.php + +Setting up Debian for gitian building +-------------------------------------- + +In this section we will be setting up the Debian installation for Gitian building. + +First we need to log in as `root` to set up dependencies and make sure that our +user can use the sudo command. Type/paste the following in the terminal: + +```bash +apt-get install git ruby sudo apt-cacher-ng qemu-utils debootstrap lxc python-cheetah parted kpartx bridge-utils +adduser debian sudo +``` + +When you get a colorful screen with a question about the 'LXC directory', just +go with the default (`/var/lib/lxc`). + +Then set up LXC and the rest with the following, which is a complex jumble of settings and workarounds: + +```bash +# the version of lxc-start in Debian 7.4 needs to run as root, so make sure +# that the build script can exectute it without providing a password +echo "%sudo ALL=NOPASSWD: /usr/bin/lxc-start" > /etc/sudoers.d/gitian-lxc +# add cgroup for LXC +echo "cgroup /sys/fs/cgroup cgroup defaults 0 0" >> /etc/fstab +# make /etc/rc.local script that sets up bridge between guest and host +echo '#!/bin/sh -e' > /etc/rc.local +echo 'brctl addbr br0' >> /etc/rc.local +echo 'ifconfig br0 10.0.3.2/24 up' >> /etc/rc.local +echo 'exit 0' >> /etc/rc.local +# make sure that USE_LXC is always set when logging in as debian, +# and configure LXC IP addresses +echo 'export USE_LXC=1' >> /home/debian/.profile +echo 'export GITIAN_HOST_IP=10.0.3.2' >> /home/debian/.profile +echo 'export LXC_GUEST_IP=10.0.3.5' >> /home/debian/.profile +reboot +``` + +At the end the VM is rebooted to make sure that the changes take effect. The steps in this +section need only to be performed once. + +Installing gitian +------------------ + +Re-login as the user `debian` that was created during installation. +The rest of the steps in this guide will be performed as that user. + +There is no `python-vm-builder` package in Debian, so we need to install it from source ourselves, + +```bash +wget http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12.4+bzr489.orig.tar.gz +echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c +# (verification -- must return OK) +tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz +cd vm-builder-0.12.4+bzr489 +sudo python setup.py install +cd .. +``` + +**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*. + +Clone the git repositories for Hyperstake and gitian. + +```bash +git clone https://github.com/devrandom/gitian-builder.git +git clone https://github.com/hyperstake/hyperstake +``` + +Setting up the gitian image +------------------------- + +Gitian needs a virtual image of the operating system to build in. +Currently this is Ubuntu Precise x86_64. +This image will be copied and used every time that a build is started to +make sure that the build is deterministic. +Creating the image will take a while, but only has to be done once. + +Execute the following as user `debian`: + +```bash +cd gitian-builder +bin/make-base-vm --lxc --arch amd64 --suite precise +``` + +There will be a lot of warnings printed during build of the image. These can be ignored. + +**Note**: When sudo asks for a password, enter the password for the user *debian* not for *root*. + +Getting and building the inputs +-------------------------------- + +Follow the instructions in [doc/release-process.md](release-process.md) in the hyperstake repository +under 'Fetch and build inputs' to install sources which require manual intervention. Also follow +the next step: 'Seed the Gitian sources cache', which will fetch all necessary source files allowing +for gitian to work offline. + +Building Hyperstake +------------------- + +To build Hyperstake (for Linux, OSX and Windows) just follow the steps under 'perform +gitian builds' in [doc/release-process.md](release-process.md) in the hyperstake repository. + +This may take a long time as it also builds the dependencies needed for each descriptor. +These dependencies will be cached after a successful build to avoid rebuilding them where possible. + +At any time you can check the package installation and build progress with + +```bash +tail -f var/install.log +tail -f var/build.log +``` + +Output from `gbuild` will look something like + + Initialized empty Git repository in /home/debian/gitian-builder/inputs/hyperstake/.git/ + remote: Reusing existing pack: 35606, done. + remote: Total 35606 (delta 0), reused 0 (delta 0) + Receiving objects: 100% (35606/35606), 26.52 MiB | 4.28 MiB/s, done. + Resolving deltas: 100% (25724/25724), done. + From https://github.com/hyperstake/hyperstake + ... (new tags, new branch etc) + --- Building for precise x86_64 --- + Stopping target if it is up + Making a new image copy + stdin: is not a tty + Starting target + Checking if target is up + Preparing build environment + Updating apt-get repository (log in var/install.log) + Installing additional packages (log in var/install.log) + Grabbing package manifest + stdin: is not a tty + Creating build script (var/build-script) + lxc-start: Connection refused - inotify event with no name (mask 32768) + Running build script (log in var/build.log) + +Building an alternative repository +----------------------------------- + +If you want to do a test build of a pull on GitHub it can be useful to point +the gitian builder at an alternative repository, using the same descriptors +and inputs. + +For example: +```bash +URL=https://github.com/robvanmieghem/hyperstake.git +COMMIT=master +./bin/gbuild --commit hyperstake=${COMMIT} --url hyperstake=${URL} ../hyperstake/contrib/gitian-descriptors/gitian-linux.yml +./bin/gbuild --commit hyperstake=${COMMIT} --url hyperstake=${URL} ../hyperstake/contrib/gitian-descriptors/gitian-win.yml +./bin/gbuild --commit hyperstake=${COMMIT} --url hyperstake=${URL} ../hyperstake/contrib/gitian-descriptors/gitian-osx.yml +``` + +Signing externally +------------------- + +If you want to do the PGP signing on another device that's also possible; just define `SIGNER` as mentioned +and follow the steps in the build process as normal. + + gpg: skipped "laanwj": secret key not available + +When you execute `gsign` you will get an error from GPG, which can be ignored. Copy the resulting `.assert` files +in `gitian.sigs` to your signing machine and do + +```bash + gpg --detach-sign ${VERSION}-linux/${SIGNER}/hyperstake-linux-build.assert + gpg --detach-sign ${VERSION}-win/${SIGNER}/hyperstake-win-build.assert + gpg --detach-sign ${VERSION}-osx-unsigned/${SIGNER}/hyperstake-osx-build.assert +``` + +This will create the `.sig` files that can be committed together with the `.assert` files to assert your +gitian build. + +Uploading signatures +--------------------- + +After building and signing you can push your signatures (both the `.assert` and `.assert.sig` files) to the +[hyperstake/gitian.sigs](https://github.com/hyperstake/gitian.sigs/) repository, or if that's not possible create a pull +request. You can also mail the files to me (laanwj@gmail.com) and I'll commit them. diff --git a/doc/gitian-building/create_vm_file_location_size.png b/doc/gitian-building/create_vm_file_location_size.png new file mode 100644 index 0000000000000000000000000000000000000000..14aef5abaea8d94a5d9ab6cc7e449f7efe4e9f97 GIT binary patch literal 71743 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

          5}ss6hBz2 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 ^H>S=4`?7N_CXVJjg+VJS{=s3r^_Z18# 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%0DS4FYB4mC2_cTz*`V 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�LkuugHPcxM~1+1=@Irj@`c@N=ne@7mX0I!s7SsG&Btel`!=YD z2gbL-mSrZmk90L%2l$RUckVG~{A71rymRb1LyyV}ejF+*)kS;J ztB*aqSX^h|d%2Fcy;==UHFJVv?ZUQNE_0yuj4SjL{{9_Nf;b$iAnMm0 zBB|ga)<5!B92EPK_t}E>LqtLA6P4|5>a`=d-PWCc02@~0uCIsRJw@ifGBk(M?(3~Z z)m2#&6GOd>^VAY=TrDy15~5WzO=K z+g@zb(n$0Vsaj4?F#bs1#p1eAn;+G9b~-+~Gbb-f{=5pnxnC=&NO36&5Z;S)$F_@` zoATn~G}keq`hu;WVC-|@TWkZ1?YHid_PzTChb7U5WkRN|^^y|qGV4Ro6CwIWqv8AJ zTh0ErOVXa-MW~#k-(uh+H{1vE+KV--@LqXXB>h1v7i_t~2zHbCElJI1!zf1_z)`J_ zhi93oF5S2E9aB~Rkg}1ZrHCRjLGNb;p4ln z9YRu;=X+qiyFI?h=Go~`3CSWQ=JfWS`NLh+@Y&G9p4XQ&<{=_TK}R!!GyVa^nG341 zis}H?mM09kW$g%;mUni-La)Jh$xGo)9NT(I2cdf_Wt*_al+oR=3 z^I0JEyI!b0e#u*=t60k6=tld)af;hjyo>YBy;U_O;$+l9*onZzdN@ni^!V;pi&WA~ zO0fMQC1hyIK`!)Hb+)j$E?;FlC-js>WF(VotEP|6bt>uP3EE{p{@lp^1`SZ~<|YJO zZ@1{N^4f&R-x5RN?2%PznD%&mROf;1@UCBT&vM2hs+B6ofCv+2a$O3+P7ZIMiR+3s zLNMWtZ2MlC>QdId`(dl4L!+0`k__`SM8s`9cq}@0^~e4S#jqvVFd_fo+3MB3oU=Ye zmFFgv$M1Qpk6y`^lzaOij9Ve|@j(dtRbZo+B0SL9#p^U4f%b$>`GDMraYWdS`_*n2 zS~oOH2AmTTu(XRhsV@+zdB*5o&Wg$b^=sN5h+Zk1vJ=@PG2sKw1syp_66KN`fi8N;JL|D-H$(XdQiV-A&wcyBqIdWyUh7`+8B5CA_Rb3+R6`{q*oOCKldw zlGx~2yq5ktGaT(b-hI>dcw+5Q@Q8z*`GMv4T5X|w`}M`Qv?Wo3<(rr5qc1Z8dUu$W zqq$eBuZJ0y?G63krot4nUVrm4Dx?X%1m^gx89rU~`Wr4E-0?g7jm$zb^sTizAWgr< z*oG^Y76x~XBhv1{$X0YJ_gsYv{4T81D+!oi?O)2yV0b6)YPT_V2l@a$Q^7h1{kDQR z^>QvZ7TG0Sp=q$aZpJ-mN$KaG3zuXGmdDMdI{Ce_xlaId6_c>Qaz(t4UbYqrIvUxL zibu{{k%r40Y?8LG^}9b38Z9L4TCi&1skFoYh_Yl3Mnu4>>jG44{UXuPb4`x5C<{q0 zlQi+SnMht#i-Cl)n&u&4%C8Ge=KJTW^Kz))vYVRZjHB%DZc;K^AL0MrUm+DLL-to1 zL|7B}4pA<+@;fJn#g}K?HZB&aQ(^%6AWco$dW3I4UQ~m84QV(twp&MI{Er#{SOh045*Te0L@!v4KmX+NHSb9z@ zpi}BRv}L)bM^Z9ec0frjC-2X>o@iT}6gGgPQK5VyI8Mk-upT=9yK^J5)4~65GRMoJ kZxjGa)&D0~m-iJV7W@)Hya%@r8wNmDQc0ph%;?+y1KIg|w*UYD literal 0 HcmV?d00001 diff --git a/doc/gitian-building/create_vm_storage_physical_hard_drive.png b/doc/gitian-building/create_vm_storage_physical_hard_drive.png new file mode 100644 index 0000000000000000000000000000000000000000..987efaa40c2e3c57ef7fb6c64fee8efa0e63241e GIT binary patch literal 90350 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%0ALX+6T%jA?R0W+fN)4NHoWg>uPzrcDp3w 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_10_configure_clock.png b/doc/gitian-building/debian_install_10_configure_clock.png new file mode 100644 index 0000000000000000000000000000000000000000..467c79018ec79006e08413be354cbd349304a284 GIT binary patch literal 7892 zcmeHMcT`i`nm<7it_av@q99z6D@_yukrEZGv@2a90fYir03S79qTu4ejT0Z6K)^x9MhgT4Aewen0YKYU9RQ&Zk^&Ce5XAt=J^w%Tf6)?E zp1831R^IDvBjYSC%ryDry>;oq1j2Fp%-jDw6er86EMCgPjuivk%2AiHcU|QY9v)mn zH)6zj?280~5GLd_Xz4{OjK$~KVUL$`D`Cm`upTt_a~pAd+3Rh4VoTNV#tQ30UbeXG z_tTHECd!t*KpTqeq1CN5E3ew#>C>VNu3f}tl&mv)Vdbz1+U;_*6Er!T-x0a&_ckVY zyBjuRO?tcWpp--99QcANNg~&K{EJhnLCK)$V^aG0aXB3@Ztc1W_j~t|ecc_UhC{Tp z-wNe^iJlB=>Tgdx+%StDdz_2Xii*MqB2h2Cs4)C3ZxQ8eq+hWogRgw~aM0s-g!umJ z9k)FU&as)n0n_AY|8hC~9>}e5!=a3`?KvMi<* zsUaJVTPvt6+$&0K;3B)jPdm1571>FtXFXf(q(*Z6z|WiN7?Ap)ZgO3&l7x5#bsTn- zFh0){K%fIMa?P^rsQa|ou^+DQnA{R%Nb6-BW4$6M$H~Vca09vOVEV$^X(?G|yIaUD zbhm?RT%E4Ddy<1*HN@a)v(-9j`c2k!(5xB_lbZcFWo~hb&b+&(*xCX~-OkorO!zeH zLvw8+#eth2nFqi5JulL)Th(PL>a+_b3T?r8iV8rLwZXA2xZwrKyrcf-Om#4X1x~)! z3(-xsM|rc*fR!~1<`{ZZ1YT;g#c>8;fdCzI5*iIIK+_{TOkDnHn}`;bVl)GG0xD9 zGH%HVDsSHdOkBgg4pIbj@d=t9lueH5j7iYojmawX90lLJJO+(dIXS&Hvd*}-N}bEl zkf(Ah*Q2^~I8p3A4+p!zCOi6bg~rzL`4!2bFHaWjub)e$Giu~8HRa9)TOO1bPPB!+9f) zE^dzVV}dA%><>X*O!8Z1 z4vsZd;n#zx!=o5Edc|vdikzAwyR}%@&czI;1hyveOy{;|UK>FL4SRP)m7a<3qPv~PPT^<1_uNJ%#6Lv8K+DYW9lp?g1M>fy|Zf%GFhi!#r@OsSLGEnck7JQ%WJOb=%CR^ z^pI(G8EIxs-H~l(AfOK{IdgJ*>q%=2r~@gFYe%V#1(y|sN0t=Qhuv%Lm9_QssJhgA zi$}texxpD6Zh(~PT(RS@VeQzYy9+A!^5C#;$QuiZSxpT(a-sQH@Z(9ERDBQ}K3Hg9 z!!ffxP)g@s)oHF@vuS$OeazPK^P0@DL^E9HKu+r-5vt?AOp&9{6CfY0Oi2SNOaruo zdosG9bfC^Z#I&@o{tw~k)OE=ExKEU^E2VbjWWmP%3oJ6+8r}_EY>duTP4b~6l=%`k zToXU=klO|pY3vv1Hf+(9{9x#y;cv?gcLqx9Mjhz;$)TDN?{-ewaCGZt@0E-T$k!mk z_xC~);B0v7=X42GzYBGj63MZr^jdIXswE4-!pe_B-<4OZc!lf{_|ws)U^FeHhbLes zdEe2WGgmz0Mi_&z5>E5sCzlSIP?C?=CSDGN^IoUSV|ytv!|nK0t5v7E=JiO{=+|II zmccy98DG%QK2~JzQs2<~lGfTCmo7O~euGyxJukcDl(M-0lT2=G+q!QcKR9VcThn=? zc3lHsZ1M2n9aC=bXjfSu$8-59`&z_UOOQZzl&RMyN(&a(Z7X@>t#^c@-N9FyP##IG zc-VS<6E8+ZGmgu7PhpW14jiajQLNQ&-KJl|{BW$U_;+;uY_$3hWRT1cJk4jeA{K1& z!#965k%!s1QSG_*^{NNgt|@5paOX=lCfD3!y}5suY*EhI=vZ0nR%_((X!QNZtbPau z(2pJ4Mr#tu-;JEcQlLy}^v_b;W`mp(*xS$Eux1FQj~e+!|?*5-uT% zGE{Y3!C@W*VPYoYoVcb!(IADSEP8l6vb;$W1oWN$TYWw_(j^P%Pc z1->E(ac4>_hqV=i$oR1Yxs|y`EyoOOpgert#F5;2Hw_>LiZT=SZMId5X0lqMkl*hr z)pP8iB=8P0q0XDL-#P1g5;)!6ad_V-H^UADsAKk4rCTOvhV`Ej2lmg4S>6HwYGf+H zkmiWHK8vkFmbpvv3Ol8MhOD%7$qW7tGas2lgl9>M{K@-8Yy;&U5b$M2RNG)2n6Yys zVJ)u(A-e#5Y_PBdA0M8o*7oxySAZD%ud7!6zVcC6fDu|C;y_W`84!zdg`4vMU9S*{ zC?D7ZxGl2~G0jjcPhid^9hv93PyhHOKo6KOdm!m%fZv5ablyf6yqYNZ#&~<3Z*V3Y zz1B|$%hKwfRK%4Owre(N@Sv4}B=2P1p|O5;{?#z=sV&5UL^UtnZBLGHQvH6c&6I0b z%%rkz*YfEMmI>`K6>hDZgl3xL-%1Zd(sDXhBoLja)V-uludP5wK|v-d2hdNlhX->K z8%qELTZZ{Iu<2C(_ZP2ryEbdFKHRFtB&io9x{t{K#!)jnC&R7ER^X7h56yDyJxcwY zM&LAc7x{$8EBH$|j_k~A?gvq=UzH342q}|(tCwYyZMvQe)P0GoIhglX7`N9`L*l_NeeB4EwY9Rr*tG_HfwxXjcY57FrK|nE{x6vL_Ef z#kq_{LfD5^-XI82bu{o4R_g6eOepTJEn|bk0L9%^LUkt)FkCRB9tR-cJOAlcvdVKD z1B4e*S;K}W>v@735?0+e78@EZR_{Hb-=SbC#g;8TbJAQIoFjL<}?Axj{p*q@E z87irq)RMHsDe~o0StRRB(iV?Ag!liDuW(u{EqOeV)ACB8?uhx6+@4b zOUAUXfa-ttddsm9&+iW~8eVK#Qgk{FDg9M^B>&I1jowfLFKl^U<8{akl=F-`H2*IZ{q#Pac%&=Cj=-xcuYqEz?|0K8 z>s+@@m~GXG&w(Dgtno+I*gUUit28l7(v2AQ(%c=jb+Bb1sYT!w!7p0^gizHREPQ1=tETlOhQB z_VUF>?%q8=89`I>^n=yn9ov?ZEvu5k!sb3f)!MIG`X4@i022Qu5n;Wv3Q>|L<8V7H zKs9d4HGxlP9QE&(XxM6bYvCm7M6G#^6CtSse@JTrFKRj^BIu?I`$f|F7Yi)g)!Ndu zf$&3rT3<~5S1k(r55e{ZbIV(&$vftzf-*R;D2=^-FJrqNMf&;00u8TGC1s|$G4@HJ z$ZY@yV|=9dokL7&=T5c1Xuhht2E<>WJg1I$s!Z6~kO9)?9%Iu{$ys@yO$FnTWA=ml z`HxB3IT8)(AgLcA(Z&6FjOVLmXD;NTj;Kx)Z`COZc%OWq&momD!0AyNr4_biua}|T9Z8t~di`Z}1u|NEBn=^+Z6J4jWL)BRbuW;ufsqrhqZ{xjNcfv87KN1v z0_O{L&Hahyit1bQr{@KN5*6b;WaGVdgZlV28$Lkgic;3&twK>H7YIx+@dJ}*mCU}g$LqgKvF9HO#JIBnba%NK7%tKrff_Ap3j|~UwoI--}Sri1r=Hn#V*Gf zkgq4_ce&Llgu~M%Q^#o|U zAqV@9w2k$Cux+C2Pj_qC6$h*w^a3?K%Wv-((If78c4MyyyRV<}JmrviH=?KGiY}le z8k9g%H}b1heV}W&>AV!XkCafExCymCahq{;z61RQp(Hwkc34Kha>P$bR{+O9(N15h z>Dgj-Z!_nM{G^EFrbaw3(x8Md5VrJpj!GEx7#B2CoEdEL=myuIC1Fy4&#>QC7C%NBP_b5ql^pTG5Bf3y-)Zi%Q~%cFxZJv-GF zhMB&O&+eVi-BpTk|C}bC?HKvpIbm*SjPWfJKJlkCzI7Se>a%l|1)%ADXQx{i*I`p> zuPpP=Pv^8Jj6~a(!pBJ(?I9m~L*mUDd+hKgG%EY*OsFL1m&}EInj88IfHq^vCEx!c zmPjc=W0}d86TO@McDz@^eNG&Me;O}j6oclhh&Ma=E;alLV?#n_;x?ox8>|@_o|&29 zIM!xk+ycTd{gbea+u4|CbYUhvtPD*2NDRM_Ex8%nben6`_?ItkHkwY+am=GNWz zA(E%9MT;u28;{&qfdBD38b!W(<-?5i*S%HRn@3g4{eJp0qY)(d;lP;djD?jKSWN!Y z2_H*8_EfA*rAb6@ep!ld0zzy0t=PTh@%cwDP67KsQi{xy*9M2sgic{!RTlB1qWY~) zrGkZ801bK(($#sib_%k?TBK@%Iu+ieeX?9x%aNkD~g$AiQ>tit+k`M zJ3HGvPSr*io3W!P;-RV8M@?nvQZ2iVgAv<{`qRW^2VxBk$(C^U9}qAgQaUht0-F>Q zbMf-iE#U#_l9N{tsUWsUx}8Qh2 z#Btis&JFmEXo}up9}v-ebbH;!|dDrNLN z>DM&E^01}R;s7uFF@mD=TQ27rdUIGGfkIGv{VE8x)WlY&`8;p)SK2_sI*h&K7{~%2m^qT_az8!a;qa302-wKJ>C9A&iwbO74nI)#){sP+kp{h2vihL{spuq z;0?Cr2xAWbK&YtD`Ny*VY5w%@JCc7XJ^TO5|H~0tUyT(901V4;wL;}TK8filRS5;H zDH7IO)a{bJ3Y%d7s~3`H2>U9aVmD@8@&q$RqaUx$)&>k4Gg~(VytldrBPeUF@I-U! zP*b6QP)6A*va*oqleM*CWe26O)TpplC9*rnxVD~<5h6UMy((J9qrB(Eu#V@DY-`H~ zcyeaT$>+&Lt+nINzP||YWG0t8Cv`?!&v0|^W8w~fvY|v(3vuI@G?af__4{I>%`{m} z3^B#Jh5dnC>GF0&F{8>V8BQkf6g>kj5}im{toh2h)}Lld6TTFU?U|fwt|^GZRxy_Z ze7?zUgC#R5ma--5qR$Q(56$bp?- z*>Hl#x)OdP;Mi4PqmY61R~)&QlAw$0JL5~hpz<{{2gSqbM+-PkhOm4+V^}eY8Jf4c z-Qx-=uVWC$8B?_l;V+V2<;~??41xP@kmh9Ru{6-l=lkQP@gP^8saJ?n+b{Kw@0s$Z zYpke1z8^^&*W{ygyWl2{Rgi$ID)6VNxueczBGcRD5Fre73D4Y8wDoMmf(ub%eQ;z_PosJp`g>;o? zOt@AA-JVE(wz|KS&g4q;O_0po=+wZ9sJ6woDeJ4G@bV22{;s(88$ac(R@M|3To|6r zj9v9;VcimJjP=!dQbgoc>ilX@alf4ZxUVTsLG$$y4Rd=$bE|jfdt*2*HOSBn| zRn4V>of&QP`e1l1hf#B`OUq?`LwhA-cV=hLy*85r6c^ zO|`yq!>mSn)R7_866TOiB2;8QEpU9I^8p2eVRvWJqwc+fs$L>~W^5eO-Z)DgS|Oe( yK3FM1JVH2+;`)%1S~^HwjLpx{|NW=W+5q{qOEfth)SzzOyL8UZ3Uk)$=Dz`%n(I3N literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_11_partition_disks.png b/doc/gitian-building/debian_install_11_partition_disks.png new file mode 100644 index 0000000000000000000000000000000000000000..18110734df1a5a709f8f2a9811bc3afaaf9314f4 GIT binary patch literal 9511 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_12_choose_disk.png b/doc/gitian-building/debian_install_12_choose_disk.png new file mode 100644 index 0000000000000000000000000000000000000000..a00d4abf175febcdf6b32b270a88a7bce0389f2c GIT binary patch literal 6613 zcmeHMc~Fztvi|@PT!3*D7-e%AHw1zrsH`eF>Y#w2fGh@7K*J_WfP^G4E}-Io8$>oE z*9nN(kU#=R5)>5`Nf1aN2@*6yfDlZ{Xd={~3X z*WIVT>%QKH43@503IKq?k;4c406=Fg0B8s4YilURtBf~mK03+!kDSog*XMuo8PGJB zTs(X#82}7letWeFwi%iM!0PlP2lkyvFO__3uX#jSqw6aVFq%qVEnngGUKn}nxyA0p zuEkdtnQa)Wvo3I+yp1)Qq#A{bTJ8Jv03b<~mZ}8+m|vQ;0sWQL0Ptdw4UlE8wG3E$ z^gHSMNqo17{}u`;OSfhvYFdAyD4xpysA^fmUlN=A%!1F@76bqh+9tr>`&qh})8 zjDJ6>lyj$_tlxFqxzu^URoet{OMx7E+KOGNZWEKoZPORm9JUcV9JKh*yJJftFOZSi8L7lE=TQ~gXmg$H>F0^!17L)d|dnr?GW3t zo*2UjE6kDy>tbh6pQm5#<G0$Y$-6iO>&JSbw`YD*sr%jbq8vD87#AmzXsJUAARU z%3cVBlSpdJ^6T7 zKRAyL8Czef`J2&FryAQ5Q`#*tqaN4tvOuKa>XH7&8 zb&FCJ+Z|GmCxm=JQ(%ciccToGh0!+mnImme+u_TDKxV%VrrzZ>IgdqCaF6m0X%Zrh z?ZD2w>gdO3e;_AvP|sV;IO89bg7H~}5;eR9(O{{=nb<0Nat-U5<=MhVuur7bSCcn# zL0L?t>$5B;;egEbjyo8!VDJ8dNdZd`Jk}f)r$j5Z8ijG`?AS>!VZ{)+L#;%Ct*biT zGG%@aFKZKF9axoBTfOtJS9{k<`=dhy=rykM2Jus0(OeD(_R~UjCj+T=~&h=6)(as+5Osn9b@;XbW;ho`bPQx!E(iSkRkMtU3 zL^Y>AO#)!_p6dBhw}k z2~pJQ?xNMkVjl4c3v1^R>20kS_ashqDHO>+Uxtgm<8mgf zbhtyh$}9!08xvH2jXhe=K$4YKVbPF2@@Opdd>JdodT<-0a$66#n|+d#@ot4wnshRp zvJZlsy!f(-Kx{QMrcklC(D7|wAIZ$B*BiR=u}<&EPG32RpxTvm5ol;+#C|GppKm$S zK#9or6jfGRVL7HoVPSh*+OmZ+8w2aRuv7^stLbB# ztsdRF^DOua=S)8sk@}Lj$?BmM#;SU$+$YS{mSD5(w*HY7Z$_v6ui(H}cB7PuzeD5) zlN~*qQr!8h=@4ENUffCtI)rH=-2KU-48xY#}mEL@;J9ufj zWlf+MKTl3i9eLO0=n`L!*+kI7*5KIk%fhcD$^wS$L1n7_6b90cT4a1se}z2fwTynQ zMMZB=cCs=?_2_-N@hdpyucG*U9!bB` zw8}kXHusTO>;CBE(typu2@y?Q#u(F6jqDv9ev&M}2lv7i^l`f@_CdcKBZ-FVnLOOv z%p1Jt8TYB72zMT7IlPL-?s~F-V8_08hG)3fsyVW{>2S`p2l%upIctq+{lPc;UT?nN zhRwO;6Gp^yqkmxdDy2H0gzXu7xw_h%lZNNW&{UMqm&6CX6T7`HHssx>wzt)Nu{Qg3 zXUdHvr!K0S5p>h(lM)YHSb@SOO&d{enXrOxKHF+FSb{`eMqeJH5Fw*@wHH;jBtJ<_ z@VW86fAdnip0R5LC5S+J0mp+Yg{#eGlc(XK5DbqQGioK+*5~w)%p8;&JhUruA( z-F34!Wa;gH00Sc;uI~H#kMXk#Rd7;+RhnUZ`00-RZKM*-@wNTf_=)Zfb{%ji}2``qf!~$ zrluP;BI61IW;|%=PPBhef-{wMjm6Z!s5*_Gl@}=+Tobxr=i>yyMnEaCHM-ievX}aC zJh!x9S4xd-SfuU2(u$eQ)@WWx9e~L9CWX6!l9snoiI5c8367NaeoXn2*txg833}2V zNWpex$?R$96j>`4eMz_>1L`N4F6_Jh3TQT#rRPovS;P6y0=qWfbw@oHjFhDnX$>6I z?9gvC^%I}&7E{-*aNvwy+_4mhozQp|nyn*U%%0Yw9XAq#J?#~H>I{@OGx>5ygR4fy zg<|du4NQiiEpg*saCZMq$7tLVtoeqhdfFkh|SoNPU^GkkJ!fF1xIEYlLdpz3P@ z@}I+zAT$XWSo^Px4)|eHxE63_$zPJZ{}D+Ot^xOMNouNYbLBGuiwKxBT+;n>1q9an zt4*xk*%q^y{?50xKqw}}29(>gbDRCEGjZ~#9-IP$aSLD=({SOP1l3|q(KgjGS^jmoI|Cp(SN z>%$ZO5Ml3?58k+UpMB2L{+L_66XBdsf-C{#njB{Nc~D~Z;5p>Z(o2WHiJ`?TtUMp} zup==me{FbT6Q|{==y`}^*{vv#O%zziCa*MW0h!oJuC2_;DMmTfG6b2*4Dw}5B1SdS zVZ2KL)6UT)ws?Luub4XOgj$Psi>J0&9Ty0X_X{!QbDv!3r(il?Vasv^OM(zZQ=+*j zkF)71ii-5@1jZ18+#NNelO6V|jGOPAm&rd7rxpzj4B|e`?XKxocdkD`v0I&+dolM` zOOv@C+E9)o8QsN&b{Vxw5TTDIe(DRD3mEmF5Q7z}RNyl*kq^EB+W6MFx;_O2^w=T?F>z>m0^l?ns+OsuGYcGbrGu$ACi?#BC z{u&5$5Hw4AZa-^LMtj$TJ$<@}^KA@^KD`=WIeGS|(40Ii^_>mpbb5X*(Mb2LQ-oUH z^0aa^@yA=sfh=-2a?EDs3A)^59nieu|F!m_m>-(d+*nHvEdtWX)Wvv(QpNlP0N$T8 zqI|ou{^^VU>lXVjlJci)GQH&8t~_mk_V&yA!2eA68`D&zSVS#g;8Fcw9O1t)|2w1k zTdBWK{2P^iKb-G}^JlT@ugLdc*#W>nV?3GE_$Mki>Tm?=h1FvQ*MY z9G;Vsw|aIWiFPivZ~wznPm=3YoMgXtZFk;LQM6|nnM7quvlBNcUBRW^&_J;!Gr*$q zPJ^yGqi-bez)pCQLEyz`Q6`0nh5LzPLX-dqwJb zd!tGA1sOqQIF9o&*{=3v2r5`nq?BYQ2F8`#aD)CrQFkNqa{3+O#jdeI`Cd||n5qZe z@*4>`&1rJu>e2iS1rcZDICrCy zW}H*7;*Dg6Jm6BUc~5d&Gh1m^J=6E%ahmVzHEAwNadMUN;+MNTVaDnLQ{9kO+XYI} zgJsfNgvw4nrw!%U=3+(?gMLiFOfOqm<8rtU9U5FN5LZj7xPpLt_Bz zX>icvDOyRTft1_*3F6TO>xI=_AkX5_N{Xy$-ee*Bsgr(uPL(XZP&0pepl3Fm?SXrG zEN50vtx<1Em0BfYRlx2`*7*xInGL~GExl7Z;Cljd`05XEJ~23qh8hTEAU_OeKROag z*)1QNdfeptj!a=IV)(z1E;R7)9S`lPLX24K!w%)5ST#m^B(xhOySGW1&}#|7e+8L2 zllmAGgIVUi4ac=skicEO$qA8&e)ygo+QR6hr*+t|Rvw35hmrGCbL0MjS97W=rR1F$ zg6x~t=V5!U7ow@Itgg*r8kM(v={x1{Qsu1KUa=&iiWw1stjl}Woq16W;enR6@lQk_ z+g>2kIjV_h3a;byV0~^JIQ{OHH)C2ISpFDJ70n`*zEYf{Y5u(Y+p|h()zWGpYFLy-cH)j3pn@z3kf36eut#JI1mP<8iinEHl`Sd? zvLr!)ux~CP1c(X*AwYltK|%;y5=aP{_@>^>do@)vRWom<=8xA^UESyF(|x+n_v_#J zec$)TITxo*%G$~R0BkyS^4J9ckl6_U(q4+v5{t$*4MWL627Tm|yP~2ZZQONC(o_mN z>5T>ewGTgbsZ6li4gk=zJaz1_dvq>)g#4)BBuVbv1XOKyIrg<{U%4Yu!J$Ux;@(pr zlc;a@vM6s@&ZC7ewH}nh&e_zk@YQBfT9WPPL%HQKy7P@1ji% zb!^8lvPLxznCOWE9fx=R8RWL0cIBbh&7N&lw>fy7lh+bH>DJ^W?2NM~2};hOs+}Ab z*{9IYk`m>N`kPNK-`6F|@;1(6W5w@x7Tz-?kwWoB&py{AG$qStqYI*M*)cc~&C=Yp&@mj-IQ`(p+Svs){|x@t_N^-H zTPj=16OSuXG)B6GAy@gxpxA)oj(e7apqkCZ>xrdkWqLbHq{T4on0~>$5;wL_^6hoH zF5{lgN|t2qo9>;*eIv^fA+^U9jm)C?hXX?X#7Gw}oVX+4C2Q-elPCcN)HNPQqi|NX zhh4-Py2*j0M{Ka>%QL4%rArrGokM?{u+Rzhw-brLk(q-UMm2XkD~K5uEj(Ex>%Cdv znF@y%ziAWyDt0m`LIF_RS`Gm3WQ~Bt{ZcBx&a*Aj|6@~`cY1q4Q$RdpYoM`XRXN<@ z8gQ=MttEEFLUj5Hm1Vb=FUC0HD9l2%H|O;>Il!vYsU_CwK~|?Ze{DB8pi(U|u-}N~ zv?MdOo}gUww#(~*+)p1hj< zuQ$gSFEf^?s@i}~NO~gIF>@Xrc(3c#w8vGO-?t^aD!y0f(xd5kvt})tbX-0$q#EqS zG5Xp)EGWM5ibKSolDFiZ0Rdr;eM7h0H(kRFF!~J-H2oTdIAC`zHf$5ngD48!GQVGo z5IpbuGkxPHGr;8gF;i{l5tDl>=tpQ?yP3-crW%x9AP*=Ead+|g5OQz*Q_~sanWCK7 z4^4$Q0Y5S=ljS|!-)U>u9C$8z_tAKv92u6d^+QegIIS>5TRQ9r#CJfjt&c-#GH>4d zUiejDs}5Ydz|Suvxlvk8wQr{K@|Q|9<)UzdE3V%tOmnmNg@OTB1vf_z%Mfw)@p#BX9)(#^ zwMvMOVHuYebwukJxQ)~w7Fnl*vCeyg>@#SzXSj5k3nAk07=<%X@5v+rG^@02@}0{Q zTRw|L%TiYZ>}b0Y-MXJ)MNwjqg-Yw5i-A+#NEXl2(nbxfgdm8d@ibWHa6>08=DBEc zC0!{rg80YF(jz!<@^v>Meqi^Z#?)c`dp;Z6b&4Sdq#$87sFT}l(B$kw3~GLs&-$L; zavsU5t=jBuciZ_|fFUqwv8sEj-)GAl&MvAZV);!^cHBceTOnA@6~J>t zuS|(nPG#iHHQeCEkLB_dy*SMzu=;I0`>BOZtO%@Ur87!J#zU<>QcF+cxfXl3!B2W} z1NwepWUD0)oVL<+O*F9cZHQ?|D+8O1pLcG)>EvAXG!75^FEM+AdB zh#E`it2~Eh@WM5d;e1uiFi`!devm_6G^pWXuTmr?HLUxrmiTlxMynFLF6?f#+(9{^ zK9G*B`+maF@3%f3=Danhg2Jo5nOHH%*v0SMjS%0OFecYFF_*t@iR|3bGOT$){6JVy z1Wr)eHg?Bk$@raIC!LYAet(?G&T%=z5TJTe(ZL4Ih}Hh0jK~)_ z?AqI)GX~8f!?(0tXA2$(g*b9yR6(f^!?Ycb8GgC&bMNHfo^J__*^6as7=JvCc7D3) z_l59SEUUzu5U!eLw6W@%+R1aK+s~XJN0YdU!-K8^Rl0WsPWaH~PhTue-X%eZV45kY zBh8~#j%ozBYug{U?JZ$fM$=)xnIcbmItRQ=SbPv7HD)jmDxa;osrWV%&ThQ2Q-*Jav7@ zAC$3!zq~f=Pjv>Rw=0#}=1|X@mC&bX0|TsU6(jmxX_WH}9-9Te6n6K!`tOV5hvH<* z_`LW&QiuZ0iDiuy#(H}+@7^fPryyq|ZuhSk`=L7XKMu}qDeoM0df$rEJ@>XbLFb@Sqi{XH3E z;hP?6<|uwgO5ui0>WR^VJW`Wh-Fq1-Vt4-f(MiS~yK2LRd*TA{^Jm?RD8Sx8mAQ` z)?>nAhG(#=Ki^0qS0S)Qrkw0G%^`K|2G@>55%t5&>kE0vu#zd|5DGq0lazAOfj)7X_TFkfU1)c` zWytVLx)pIzjxDE|YY%;OVXT_-i&L;6KChwuW~v`j;RNM7Yt&KsSb_=9h)ErU(UqmH*V(;e*$(y?;F+?+4eifh^D zn+H*peehrIb2xFlt+~e=Udpjhy}T*-FcP`_^`N66yF7vqQ784>Sn^c!PG^RtQKp@#rE-@45`%*Ysnj8qgafy&ccp&2WKHL zW;ZcSbipc{SwbZTI!ZsBBW9(aD^E1NyiP0(#NxfIBgU`0yoGS{a zKO!8|NBGk7syP|u%46#ila=0A)96pSz*xQFkD$v*zASVtqE(Zgl|Q!(la~edpyg24 zSdW)uXF}`kdM`+XgG-C;!yJgZB9Qf_w^~sJj@4}jDn2_}Hu_9X(q^+~eGp5*xf!O4 zc{!YMmGs_V59NVD!^mkS=evH0li`7KJv&DEuiV6loTqJe-mUz&lA$ICjyeqrbqLY zC6cV&_+9J8C+XEsr-zCPJ$vHA^HeMv{h!;@*|X}Bk$q?q2F^1OA}_-G6o96Yv8iL` z_#tV^tNd1Jz*^=XB_;n(SNw%uO*G0S99hV&o=3jQcq|3{V9(^O;^j4;L71C5o-GA< z4DCilV(*l&e{w}t7n?od?p~8>xyasDKD}ZZ(%9Puj%mR5;YP*#PZ~1*z)SdUZ&wsS zZD+M8r)D@ePaf@pnPo#hb-33(- zc()ckB<_SBy%sk2n&TIE>j}ql7?{uaD`n2SSEd z*bTL@P*xWyimePd3clA-i_i&J#}4Px&~dH;5OyRvOQ*Xs&@LcO9tBY$JdgtDCtHRx z&&dH%VNZUDLzAQb^EEO-*B4NTvA<6M#&q&21>mtH9|=bO8h4QR7#H|0$n4t&nv^M? zQU1QhH@ZK_Y6vaVLaS=kZ!QlZK1j$e)DmFrwLxnUq))c~clUJ-72Lu@`KEP*ID4Hd z-)<#FhH?s)SHsMsKB<8^4eN)--N%DgzS^p_ZF-g+x+UU)=gU%iB!3w$_M9%X>gH#f z(S7?@%x&mLAkL8_p83FrLqNo9!}jOJ@hFD?2H8`kt>SuYGjro>x3lTW4^bBmt_;=i zHYJnZhpSI*7>Wn$Kw5KAMEIhW4D6@!kTNW0a3ajj(SHE`3TL-jOYO5<#xW|(@OB~bO8?m@5wOdc!1bF2p|={&4IDRj8n zq^N`;_9d`aTMo+_HFb{-juLxU)|awfn#dDwW5c1r4#y;MnYQc3Oe!_>WnXI+pucQv zwa{fpL#IC2d)su6vkSda+*%y9e(xhfkhFI2dLAdqR?iJ?r+2o@UftR8j|)Gi2zV+_ zz%L@>PWIPcZPcQUbaLyPdfde#Jqc`HYds`c~$dfZ0eq1KY(p0FOHu)55QZG&hss!$#=3sF!j`aWTZ@xQ_H0z z;*q~H>VC}!H*y0ZYrPTTfGI-Yte!=*QyMi^pK;L2k#j*IO6G?Ik~wq>Sw7E-yc-;Q z0y*!V7uZ}?a8-AEwM-r!l(>wRV^K%7Z0govo|b__p(El|Pg1H}v0*!`eN$rSF2sRw z)9c-67rmoLQ9^3$&CSKgR%>9vcv!!IsDk_AU?|)2M%Ku2hFP9n>XvHfD(dX{UUGHI z1Vg^1qxN_-Jel*5%Te!Xyn|R`36lTNt2k0CTFq0u9jgx&!q2&08J0H&(?6Y~C$Pfh zYcg>JRJ_eNhZ6E(_-=pWy>J=p+E((ltI#UljuCy?AAkJoDYGuKwoPMq{wCirVbY*H z?ol?cJNi_5o8sS1dS)KJr=q{2Y7r|Cygr?M@_ZO{G&vH^5WAgd2FI5> zRGNeaLiWv>W^Da2&E^9jNjxy2muc9y$aEKW;GPIg!BH38#LrrVeUBQKJO__TbatEr zid0&-!#{a@cW??rue-a>?6Srz(R=hr-bfdAw}d_xtO5Sy_A+6t?u8te={%%fy8oRYy>B}><5YPa`iRX64H8L{Y1vnW*j9I;9);I*=U@f)=&%m^*p zesD^2Jbu$g=Nw%xH`j6X%N1dEvk#fw?i#Ue_K$1q=HUbpeICuI2+|?dKlxlYI#B7; z>{}HW`{G(e^R?jS2z$d&)B9L=x??@OWz!GQ#)l_hZ{89~@NgQrV-Gi|Br@EDv>LW4 zIV-)ZGLVKI(f{pbMV@27OqilnDzqonvghFG*+J;!uU;+OzsR)zmE1UwH6u;pM%$0# zB$8U-;=!v}jgn+EB3cuW&y)TF}L?-v9u)^Z&BC@Qs++ERMF75^M@}Cww zc)gLuQQk3(JwVvS;Fu1L|0o&%hHU;_cl;OmPT}`D<`+xJ3)}_&v*Pm4LeqbW!2fm? z?gy;^K-0kGh?0LpnU@(t#K(%2c=E?`G41v-F#!2-ervY zDdG8suvt83Z^mHP7AA^VK37?`l!Iz$ZZ6(sjAS596)JKaUGVl-M&Sm*e+l-O_IM))iVj3A|!d6xwas)VewJ=L49P0y}- zVOciCSEb;=ZH$U%Jsscij0Qy0!-UbT?MLHFxL=`69|(+?btDh{(TZ)VLLEo~*JLmt z-b^2dVs2GgLgFomw1*_cqw~xVQk{QUJ}YT7@z;=7-o{$$g~Y}?&5Y@ofc!q1#e4fiSsG24Q_{&=JYUF}w!K(~B0eRrn+rS$?d zsKh|MmusNDg3f|XyWCQlHL`#m?12%psT&N|tDI)Dhfv-p9&Q9Q8(b+Rt7S9aRV78A z$0b%xYo2IKGxKPsEy8hVcD*sKZ=Ozm-LU7IE&ZJOI;K?TdXF z?H`~4Fn}wmeJjci;2iWbMfG)ETI4k&;$AO?W4%AeOl?#J-Ha>L`9t~l zpPLGwPmi7!H&|MyY)V)WJUH#ih%rXdhg{=>u_7V9^xgYD#^Tc*6siE$9@Dz2>hfZ0 z$~b*_^;8yq;Ea`R6t(M8d>)E=rkl6l6KPe^1ZCO{V8g_LL#E1Pnmf|@Kqgn_p6JHN z@{D#*Kz(YkRl})mS5^S)SM8JT;y27)$VK#9KS|mAKWuk5^cp@v1_QMBVSZdYb=>6` J;Rqt>UjXlQ4-WtU literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_14_finish.png b/doc/gitian-building/debian_install_14_finish.png new file mode 100644 index 0000000000000000000000000000000000000000..411d457e95e5ec0e2907cd92a92b2c54f21de943 GIT binary patch literal 10467 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_15_write_changes.png b/doc/gitian-building/debian_install_15_write_changes.png new file mode 100644 index 0000000000000000000000000000000000000000..f26093982c438682d4bc193dc5e0b8838abba258 GIT binary patch literal 8790 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 G&-fqYt^s@i literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_18_proxy_settings.png b/doc/gitian-building/debian_install_18_proxy_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..24ba25c109f3136daf0116db9344e05d446687fc GIT binary patch literal 7582 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_19_software_selection.png b/doc/gitian-building/debian_install_19_software_selection.png new file mode 100644 index 0000000000000000000000000000000000000000..d462757aff24ee45e883a002f88121162f3a4ae3 GIT binary patch literal 8939 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 z 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 W0)wW(GT;dlkcxtae1)uO$o~MBj$g$9 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_20_install_grub.png b/doc/gitian-building/debian_install_20_install_grub.png new file mode 100644 index 0000000000000000000000000000000000000000..de4f9be0c9a57e58465391669044d47b5400dddc GIT binary patch literal 9784 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_21_finish_installation.png b/doc/gitian-building/debian_install_21_finish_installation.png new file mode 100644 index 0000000000000000000000000000000000000000..b967c3550df596a659097082c3acb74ec8087628 GIT binary patch literal 6964 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 bDAZm>$8%io(+A*-E};ABI(JZiS_c0YQ$c;n literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_3_select_location.png b/doc/gitian-building/debian_install_3_select_location.png new file mode 100644 index 0000000000000000000000000000000000000000..005c395656a4040cfa6eabd041a0f969af7eec70 GIT binary patch literal 9613 zcmch7c{tR4+xO2>N>P$6p`w&+64|#d*^;HQ@1gAb+AuRBNkoe!vSrOS$l6$jkW!4D z42Cqe$vVa`V|adZ-PiTp-S=}p@A3Ze9L4PqMi?j2CLY6>111***W=2+N>9a89 zB~Zi{sAUnT>Eq>f&pQy%^uKpE@SgLT5Vt_rGdg+(#^w*%c>v%Hpm+V6N$B|UWKUh5 z#K(iiM&&ZwQWY^DI*w8|pnXw3&q;-n2bd2Wm<$^}lk9YSef6-|PFf+E8PGV7kYxZO z0uKOZY#9JubKuX{0N0?19#KY-u0@*s8s}R zw`oiQ;rGyU4`;E{wx|v%u~C<_nu0Aq50z1^GhZojD}lf8lXouQ^e?+sC~2A^!qxh@^_ht|o5zK2fM<$34ir zJlI_AJMnm=%gg-WOf0TnE#?)T54E{{#gXT8TH7By94g6y2NE$Bjg8iU5A*YeU;Jc^ z|0WaF7eXn{a?@7q!K`YWFaQ==-<=6)Dt$E%zwf2a;L!zJ;3=${E-TOsY<}}XGfJp_~JkJMm@n?>8ya|R3I#J*;v*-$4PzAq^@EQc5%&`P^os6 zXN3oTSTsOdz)R}8+RR<5R&vXIn7MClR1u0l`x5Cp;Peui1GRX`MERUKrgnFfr*UlR zmHnf}aR$KsB@zJg#R2eSfCh^3&)4(6M8ApYqQAwU=HJ?MQG=Xqvt5O#JZwJ>Vamqe zQ%^jI*j~wruKk31Y?d~84K+Tc$L(EBsIyBM>ABji#_bVPBoOJt{UB53(=BtsJPk<54)>cksjpRQq?`Ny8X31J5)N61Enn-ybeR$c6{l_EKrR_BEKzs*p(HvU`~I5W;pxfKcE% z`wcf`?c~ck(>8`;2(+Tk(k$=cXw0OC!iIaowKewu@vXN=F0H# z!CJ?WURHlDz*-ZQo6M+5$clk2Jx}wv#BdC!7AYRabZOGwy}T=9BcQJSNMd{2rZHjr zPE}?U)`&nEQernz5nNH;!%cN!j@DVQm79AdZy1g3amN6YouZ@Fu6D(vIF!ML|_D{E-l9Z&D4-^l33}9i16-|}5 zFfs3#@?*uCL&T55+bzNG2AW5Q;kE>Y32g8QYvkCuz~SCro`KwRbNrInTN1oEZ+9&C>Lx{XX8Zg6`ok#itLY0xqL$Fs z;Ly9OJmwZzm7gX({1a!_LU<2}atOXa%E@njQ+;bz5ti(4I2KlszS@Vq?Z(+7s`g$W z>x12?We6dnRyZKA0XBCUVRgN95<6o$cns9vrFrR;ZL+h)3!0bz8M7M~T=WYsl zX3rI*nLlIeR7#ftAC&4@!;sx%Z&Uj^foZ%eGN3e�Qz*H9#cU;vWU*4O-TSBWSaO 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 I!y)p&0Jn`Tp#T5? literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_4_configure_keyboard.png b/doc/gitian-building/debian_install_4_configure_keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..580c8af7c5310c59ad373c183337d771c94def48 GIT binary patch literal 10220 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_5_configure_the_network.png b/doc/gitian-building/debian_install_5_configure_the_network.png new file mode 100644 index 0000000000000000000000000000000000000000..a7fdffc66b8b20d011580cf40e0d425a7aa559cb GIT binary patch literal 6774 zcmeHMeKeG7yMHLzso1+B<*QQLM!qYGK}87ZO^mN0mB{!U#azk+OkSw zP&(4i(OP`buQLZW}wtGvKST zJH$3~c2>vE#SF7XKjf4=FWzvb)^&3)o%7KqGDa0E4KlgbVw{7yl~nXR9=q$3b>4c( z@g2erqQ1jA0LWhJTMq#J@<39g6tEj2@!PNk{|0>ze}n#jzghmn`cLq`9sJ7&F%JMN znktp{rh0b{04mwiy`0-_?zWFtp5c6KR77TMtMj%W_4coRZIz2)}XBG)L3fM zIe1{CT0HsRXZWgfUL|T*yHO>;^HB&5U9&wSA$R`9dv&tpZ(wn~B?7*WuKb(5gbbcD74t z#X{|LlM4zyl5cG7PPkPymlApC=%p>KpNH{8k2hA*TYC+Ej9oq&kIIYB9pV;v%9A z+AL|3x6gxkt-jmB$O#ppqaxl;i5*WzQgLVRTg{a8M}X*#I_Hle%`zp9rfbRHqEQO| zYEeZYl`srxb2WX_<38vw>|O)gOw+gTiJbCRoDRAtDm zoTr@{W|3>gpsAT5c`qHo^Y;+fGIF&+QvChOqPXUV2e0~`PdLtPko9&MI_X7{14VWb!Rd{P)QuDU!2~ZW85knz#i%b#%6EkglX`*?cr!g9~TrR#7S8IkwhUW?fU$>_=?PWd`)akY{;lj#8JB3}4E!x!Ji+ zW>zP#wQ#k~(?XhBT9m)?B%OAl9R?dT#^qxMwaF3HFO9hq%NO^t3aEOi0rw40!@B&* z3sUsMLwc88l2Qj;vMXcgEQfl!j!V)Ysp>cXfA^!q1?xO)J|hTQi-1zm2#6& zgU&f>TYKXsbO|fyaqb5lLWp3X=XS1-EAhcaEzBSqPMAnvtl?utW;nuhgWOA{waq6m z+INKYM183fp(wYY?4(EfD-#6k;v>S7YQbCN3T-Z$tOfz+kqXu@?k6TX%uNlD^|IShV?e3p-T1E>Rp%FGIC5|X?SLf%m4p~8iZ9G}|rl^T@;s_s{ zFNc0l!OtMVR0C8nfu(5*l%CAk*AgwK**hypvo_s!cTHGY)VNVOa&2SctjU;19qCb8 z){3`F`BG~_$t--I%3*LeA+g{5+09sd-)e*Xy0nH|$_J%%2n6YXX4;m+D{5$4Y4+17 zPMbWX42>X!J!_nnsrB@_pYSE7$8pS^6VzH@9y8V!s2Wzfo#+I{++10!Na#?n(?Cwy zS0KYdat%(i);dmtpmQIE(GK@)rk(v-3S31?aXC6jA32j}`_E_g3|PIU^kdjwP>4ut z5)VN&(}UaI?^j|M7vecht7eN0$A;{jAm+WXh~{$hDv!ILk`47@1O2+Gnt~gT^;q${#E+PR~HC z@^_|q_`flZM%{Z@S=6WRtadjd<&zETTtI(D!_+0X#kzL>kfjE_+oY>8PKS91Dw%VV zHvh*XceCX0dD}%)7{_H&X3IgbiP6+v$cK>&5n*^l_$H`~X+>K<$!OQ#q72}}^(z$@ zdXD?$ifbCG-!62}H70om zO=&2K(B^W^8&2?`dGu%9J6*wHYtnU6Vcvx$a?j@Zj+YV^%B<0fCrB32#2_;7#o_@9NOjcld0;8Bb&=&r&6HLATI zCNu=8qp%WU(G)-bHpoRE(QUr*L1Ik6In_v3`c$9e?rJKL~Z{hhqhHB(tpEtOtOW{Lx5$HzY`}0*0-8J1MPi4Sj zQ4!HiUH%x7`htK?H>uUUvx*k^Qb|#L&kLEWx3?XgpItmTAY`#3eM@9@$_FX=Q$sGi zbFf&DTCI(pW)<1k@=)t0rUdmIiPRW3WQ-&o9f-RO+LYdAae3|BTJekq>j^r8G9Hz_ zgk43%Ie?`J+ZXTuu#%E_kPuih{uBFTm+I`}jr@d$6*>V@PeHuPlQYfFt;{oSjB0DW z6wjP4ZZ5I_1>Mv8jF^JPrMd_~lb!96H3E$p+5g0cOv{WHBlV#p4LlcUt4ubh+o z^rbOdJzjYs$T#1|gjy)lXN0KP4fSl>c~V`QQg}b!qi;3(+N#rrS*DWGO*yM zK;A;zj7%9eG(TQ&}U+7KUoi*79p? z9FVt8Cg1~%L#>7hMFkOAUGrH}tWKWGVz4{GMs?Huq2Bu0`XGkC;gI?BbQotDn+^FRJT9PGgH9&NGm=L_`7b}z(CA_04#urmkF2rMa_=Rycqs#L~V3ZW=Vj>_#$Y^r%M`g}`L_KwE33 zckZ;vT;6D&78gCDs(c)SqmE2o4S~m9o_oc9&MsdoYdF!qIu=q^b88oC_=vXBC^TrP zp|!3uV`zQGmn+5Chs;0-6gG88+lk*Y);zk`XB-bN)<>(SBU^`gbjB>*cjo=>-H`dZ zl9(?BnAHsxZx1Z8nu}UGZLgN=+6PEBKX=v9<_p7!w1nlQJ?wUg`SXmnhM_MlX$!g=qhhw&Pi~Y2p66>u*pI?6CaxqKW&?*XL~`NheI5 zR4wQt(+KatKG_*9p6y1J=7smP@mm7^-A*p!P5-!QHqWKglO2D_pP)+^m(tc`dqR0N zFtRqDBx^HWYfj3hTw`_G&CI)2sYp>Ui$ z&(O(C;$7ZUVp;gBje?LlfSEwt{a32|d$BH7`rpg??<(!6^p+@ z#(;nQlyvd4D|ZOO#Ch&b-ps(kMC4=dUM`kQ@OV&*a2D&wX#)?P`ybgzoVT1X3i2uB z$V_n?F9;e7B#F<1%+%7edryZwYW{57F9{qy1@`oxX;7$y@6t6UHC<8#8f}`j>@P|i zk@*fjt}^R^TaA;TYXb*A=z$4jll1f;2>|B+);aEQ>`~2j;Kx4tqxO#Q7rZTrnHuUP zKH2p#4k!2=Z%;Nczs4g`Mpt!zXAZXx|@|<(e6`5suKgHf#-JL3Ew|S+3ytY zHy!-F7XGGk#n!Y+b8zdt$ujB3fyj(FNr1UJZ*LOyyWY12cy5WP5kDkIB&v>6sC0*lE5zBk~_vDTGW*KqgaNgJn644pcr71;k3+s^5yKRp@n<)WG6z&XD&s+wghp%PW7n%vCFO63=X*HDAr^v!sW$stuB zpc-|Gn)(@O2gbxTll^aCU{O7&!HB${*KL1^2#gjjtm3FXAAC@vs$Y1?NI z;qBBXLn~N);rU6_{<(SxmAiRlmF!$68N)+NKXWRLTNKU^d!$2V_9$s01!y?PS{sl+ zsqeSjE0DAle2_W#kc*p+1*uNn1Ke+uJ<^Muyeea-feBk*= zxbh)gafgs(;Fy&o1&qBD6Y(!zO)5qC1_*+*GUTOz+2Z56u&**e(a+xry8n6aXlT)B zbCxRrJn#5t&*!&})L(qSf8qJNz=;Kp@U!8z-P4dA&C(6t3K z`?L&ArIEd(?FVEf6B+Fl7msItZknwwjoF9~&h{kQ3TlU&TvsP@wym*vf|~k?%sAJb zqWa;8`JYNx5+f*2iqvq!I)1RBL=cWpd31TRnGvMaY42^jy(T@;CQed}U)Aw*oISXh zFI|sYPnqIo^F|iXT>FWKRv0+eP&ku*vq##p!v*0onxs*JR`=JfnW|BcfO>!BNBB<+ zB;f698D;t~Vuebm=uK35-HB2DB@TU~0Or-r-%ty0f5cVD+zX9=hw<+~v}nObn}wD( z%xT)A)N89Pix!Wko}p@#w^{f_lz?hwMs)l~Wu-HWRK8-#0$8s>#yH~0!RR{!0gCWVNq25P$(?=%;p#rW2(y#tR)%8u_@}h!kthp9M6M2&!l^N{SiV<4w zV3r5ne4u#1gYAKUsv>hcbgbp&>@Pt~yjms1D$-X;gsGL#7tx8#99Yw3i@C~5&TNR<%!axJr zt2o}y6g%y6N8X3|zT-;)x`vfL3p%}5oho-7BZ&V4{qq|6C<1mib(@cC-J^d)?W|8* JRUSW|{C9OGC9D7d literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_6_domain_name.png b/doc/gitian-building/debian_install_6_domain_name.png new file mode 100644 index 0000000000000000000000000000000000000000..7a986d92f48ca3755e37993d098053321109751d GIT binary patch literal 6526 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 F`Y-khTNydUoS`S!3D`&_^}kArm_$KL1u|Mq@* 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_8_set_up_username.png b/doc/gitian-building/debian_install_8_set_up_username.png new file mode 100644 index 0000000000000000000000000000000000000000..9e2750ad4ea3fe11f4d8d27dd0e5c05ca34f864a GIT binary patch literal 6304 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 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/debian_install_9_user_password.png b/doc/gitian-building/debian_install_9_user_password.png new file mode 100644 index 0000000000000000000000000000000000000000..a26d30cba569fdf1c8740c97abaa99f82b074ce0 GIT binary patch literal 6323 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 H$gBSWAkt2M literal 0 HcmV?d00001 diff --git a/doc/gitian-building/network_settings.png b/doc/gitian-building/network_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..1d9b6428a74e3d6672e17a088b1e5286678cf15f GIT binary patch literal 59986 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 Rzh?pjiXYTuE2TdL{SRN)6`244 literal 0 HcmV?d00001 diff --git a/doc/gitian-building/select_startup_disk.png b/doc/gitian-building/select_startup_disk.png new file mode 100644 index 0000000000000000000000000000000000000000..729b368fd1176b08bd1010682c77a3784aadf3d5 GIT binary patch literal 86323 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¶}65K>$c4aSmc@LZkb~-FDl@xbA-{ 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 literal 0 HcmV?d00001 From 11b642a227ace938aee65600ef4e479ee72df173 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 09:14:31 +0100 Subject: [PATCH 349/555] Adapted the gitian build descriptors --- contrib/gitian-descriptors/README | 31 ---- contrib/gitian-descriptors/README.md | 66 +++++++++ contrib/gitian-descriptors/boost-win32.yml | 38 ----- contrib/gitian-descriptors/deps-win32.yml | 71 ---------- contrib/gitian-descriptors/gitian-linux.yml | 117 +++++++++++++++ .../gitian-descriptors/gitian-osx-signer.yml | 37 +++++ contrib/gitian-descriptors/gitian-osx.yml | 134 ++++++++++++++++++ contrib/gitian-descriptors/gitian-win.yml | 115 +++++++++++++++ contrib/gitian-descriptors/gitian-win32.yml | 74 ---------- contrib/gitian-descriptors/gitian.yml | 56 -------- contrib/gitian-descriptors/qt-win32.yml | 54 ------- doc/README_osx.txt | 83 +++++++++++ 12 files changed, 552 insertions(+), 324 deletions(-) delete mode 100644 contrib/gitian-descriptors/README create mode 100644 contrib/gitian-descriptors/README.md delete mode 100644 contrib/gitian-descriptors/boost-win32.yml delete mode 100644 contrib/gitian-descriptors/deps-win32.yml create mode 100644 contrib/gitian-descriptors/gitian-linux.yml create mode 100644 contrib/gitian-descriptors/gitian-osx-signer.yml create mode 100644 contrib/gitian-descriptors/gitian-osx.yml create mode 100644 contrib/gitian-descriptors/gitian-win.yml delete mode 100644 contrib/gitian-descriptors/gitian-win32.yml delete mode 100644 contrib/gitian-descriptors/gitian.yml delete mode 100644 contrib/gitian-descriptors/qt-win32.yml create mode 100644 doc/README_osx.txt diff --git a/contrib/gitian-descriptors/README b/contrib/gitian-descriptors/README deleted file mode 100644 index a2d902e21..000000000 --- a/contrib/gitian-descriptors/README +++ /dev/null @@ -1,31 +0,0 @@ -Gavin's notes on getting gitian builds up and running: - -You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization. - -You probably need to enable hardware virtualization in your machine's BIOS. - -You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites: - sudo apt-get install apache2 git apt-cacher-ng python-vm-builder qemu-kvm - -Sanity checks: - sudo service apt-cacher-ng status # Should return apt-cacher-ng is running - ls -l /dev/kvm # Should show a /dev/kvm device - -Once you've got the right hardware and software: - - git clone git://github.com/bitcoin/bitcoin.git - git clone git://github.com/devrandom/gitian-builder.git - mkdir gitian-builder/inputs - wget 'http://miniupnp.tuxfamily.org/files/download.php?file=miniupnpc-1.6.tar.gz' -O gitian-builder/inputs/miniupnpc-1.6.tar.gz - - cd gitian-builder - bin/make-base-vm --arch i386 - bin/make-base-vm --arch amd64 - cd .. - - # To build - cd bitcoin - git pull - cd ../gitian-builder - git pull - ./bin/gbuild --commit bitcoin=HEAD ../bitcoin/contrib/gitian.yml diff --git a/contrib/gitian-descriptors/README.md b/contrib/gitian-descriptors/README.md new file mode 100644 index 000000000..061b897d2 --- /dev/null +++ b/contrib/gitian-descriptors/README.md @@ -0,0 +1,66 @@ +### Gavin's notes on getting gitian builds up and running using KVM:### + +These instructions distilled from: +[ https://help.ubuntu.com/community/KVM/Installation]( https://help.ubuntu.com/community/KVM/Installation) +... see there for complete details. + +You need the right hardware: you need a 64-bit-capable CPU with hardware virtualization support (Intel VT-x or AMD-V). Not all modern CPUs support hardware virtualization. + +You probably need to enable hardware virtualization in your machine's BIOS. + +You need to be running a recent version of 64-bit-Ubuntu, and you need to install several prerequisites: + + sudo apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm + +Sanity checks: + + sudo service apt-cacher-ng status # Should return apt-cacher-ng is running + ls -l /dev/kvm # Should show a /dev/kvm device + + +Once you've got the right hardware and software: + + git clone git://github.com/bitcoin/bitcoin.git + git clone git://github.com/devrandom/gitian-builder.git + mkdir gitian-builder/inputs + cd gitian-builder/inputs + + # Create base images + cd gitian-builder + bin/make-base-vm --suite precise --arch amd64 + cd .. + + # Get inputs (see doc/release-process.md for exact inputs needed and where to get them) + ... + + # For further build instructions see doc/release-notes.md + ... + +--------------------- + +`gitian-builder` now also supports building using LXC. See +[ https://help.ubuntu.com/12.04/serverguide/lxc.html]( https://help.ubuntu.com/12.04/serverguide/lxc.html) +... for how to get LXC up and running under Ubuntu. + +If your main machine is a 64-bit Mac or PC with a few gigabytes of memory +and at least 10 gigabytes of free disk space, you can `gitian-build` using +LXC running inside a virtual machine. + +Here's a description of Gavin's setup on OSX 10.6: + +1. Download and install VirtualBox from [https://www.virtualbox.org/](https://www.virtualbox.org/) + +2. Download the 64-bit Ubuntu Desktop 12.04 LTS .iso CD image from + [http://www.ubuntu.com/](http://www.ubuntu.com/) + +3. Run VirtualBox and create a new virtual machine, using the Ubuntu .iso (see the [VirtualBox documentation](https://www.virtualbox.org/wiki/Documentation) for details). Create it with at least 2 gigabytes of memory and a disk that is at least 20 gigabytes big. + +4. Inside the running Ubuntu desktop, install: + + sudo apt-get install debootstrap lxc ruby apache2 git apt-cacher-ng python-vm-builder + +5. Still inside Ubuntu, tell gitian-builder to use LXC, then follow the "Once you've got the right hardware and software" instructions above: + + export USE_LXC=1 + git clone git://github.com/bitcoin/bitcoin.git + ... etc diff --git a/contrib/gitian-descriptors/boost-win32.yml b/contrib/gitian-descriptors/boost-win32.yml deleted file mode 100644 index 61ea50e4f..000000000 --- a/contrib/gitian-descriptors/boost-win32.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -name: "boost" -suites: -- "lucid" -architectures: -- "i386" -packages: -- "mingw32" -- "faketime" -- "zip" -reference_datetime: "2011-01-30 00:00:00" -remotes: [] -files: -- "boost_1_47_0.tar.bz2" -script: | - TMPDIR="$HOME/tmpdir" - mkdir -p $TMPDIR/bin/$GBUILD_BITS $TMPDIR/include - tar xjf boost_1_47_0.tar.bz2 - cd boost_1_47_0 - echo "using gcc : 4.4 : i586-mingw32msvc-g++ - : - i586-mingw32msvc-windres - i586-mingw32msvc-ar - -frandom-seed=boost1 - ;" > user-config.jam - ./bootstrap.sh --without-icu - ./bjam toolset=gcc target-os=windows threadapi=win32 threading=multi variant=release link=static --user-config=user-config.jam --without-mpi --without-python -sNO_BZIP2=1 -sNO_ZLIB=1 --layout=tagged --build-type=complete $MAKEOPTS stage - for lib in chrono date_time exception filesystem graph iostreams math_c99f math_c99l math_c99 math_tr1f math_tr1l math_tr1 prg_exec_monitor program_options random regex serialization signals system test_exec_monitor thread_win32 unit_test_framework wave wserialization; do - mkdir $lib - (cd $lib ; ar xf ../stage/lib/libboost_${lib}-mt-s.a) - mv $lib $TMPDIR/bin/$GBUILD_BITS - done - cp -a boost $TMPDIR/include - cd $TMPDIR - export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - export FAKETIME=$REFERENCE_DATETIME - zip -r boost-win32-1.47.0-gitian.zip * - cp boost-win32-1.47.0-gitian.zip $OUTDIR diff --git a/contrib/gitian-descriptors/deps-win32.yml b/contrib/gitian-descriptors/deps-win32.yml deleted file mode 100644 index 62b67ee9a..000000000 --- a/contrib/gitian-descriptors/deps-win32.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -name: "bitcoin-deps" -suites: -- "lucid" -architectures: -- "i386" -packages: -- "mingw32" -- "git-core" -- "zip" -- "faketime" -- "wine" -reference_datetime: "2011-01-30 00:00:00" -remotes: [] -files: -- "openssl-1.0.1b.tar.gz" -- "db-4.8.30.NC.tar.gz" -- "miniupnpc-1.6.tar.gz" -- "zlib-1.2.7.tar.gz" -- "libpng-1.5.12.tar.gz" -- "qrencode-3.2.0.tar.bz2" -script: | - # - export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - export FAKETIME=$REFERENCE_DATETIME - export TZ=UTC - # - tar xzf openssl-1.0.1b.tar.gz - cd openssl-1.0.1b - ./Configure --cross-compile-prefix=i586-mingw32msvc- mingw - make - cd .. - # - tar xzf db-4.8.30.NC.tar.gz - cd db-4.8.30.NC/build_unix - ../dist/configure --enable-mingw --enable-cxx --host=i586-mingw32msvc CFLAGS="-I/usr/i586-mingw32msvc/include" - make $MAKEOPTS - cd ../.. - # - tar xzf miniupnpc-1.6.tar.gz - cd miniupnpc-1.6 - sed 's/dllwrap -k --driver-name gcc/$(DLLWRAP) -k --driver-name $(CC)/' -i Makefile.mingw - sed 's|wingenminiupnpcstrings $< $@|./wingenminiupnpcstrings $< $@|' -i Makefile.mingw - make -f Makefile.mingw DLLWRAP=i586-mingw32msvc-dllwrap CC=i586-mingw32msvc-gcc AR=i586-mingw32msvc-ar - cd .. - mv miniupnpc-1.6 miniupnpc - # - tar xzf zlib-1.2.7.tar.gz - cd zlib-1.2.7 - make -f win32/Makefile.gcc PREFIX=i586-mingw32msvc- $MAKEOPTS - cd .. - # - tar xzf libpng-1.5.12.tar.gz - cd libpng-1.5.12 - ./configure -disable-shared CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld LDFLAGS="-L../zlib-1.2.7/" CFLAGS="-I../zlib-1.2.7/" - make $MAKEOPTS - cd .. - # - tar xjf qrencode-3.2.0.tar.bz2 - cd qrencode-3.2.0 - ./configure CC=i586-mingw32msvc-cc AR=i586-mingw32msvc-ar STRIP=i586-mingw32msvc-strip RANLIB=i586-mingw32msvc-ranlib OBJDUMP=i586-mingw32msvc-objdump LD=i586-mingw32msvc-ld png_LIBS="../libpng-1.5.12/.libs/libpng15.a ../zlib-1.2.7/libz.a" png_CFLAGS="-I../libpng-1.5.12" - make $MAKEOPTS - cd .. - # - zip -r $OUTDIR/ppcoin-deps-0.0.1.zip \ - $(ls qrencode-*/{qrencode.h,.libs/libqrencode.{,l}a} | sort) \ - $(ls db-*/build_unix/{libdb_cxx.a,db.h,db_cxx.h,libdb.a,.libs/libdb_cxx-?.?.a} | sort) \ - $(find openssl-* -name '*.a' -o -name '*.h' | sort) \ - $(find miniupnpc -name '*.h' -o -name 'libminiupnpc.a' | sort) - # Kill wine processes as gitian won't figure out we are done otherwise - killall wineserver services.exe explorer.exe winedevice.exe diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml new file mode 100644 index 000000000..21ec24a85 --- /dev/null +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -0,0 +1,117 @@ +--- +name: "hyperstake-linux-1.1" +enable_cache: true +suites: +- "precise" +architectures: +- "amd64" +packages: +- "g++-multilib" +- "git-core" +- "pkg-config" +- "autoconf2.13" +- "libtool" +- "automake" +- "faketime" +- "bsdmainutils" +- "binutils-gold" +- "libstdc++6-4.6-pic" +reference_datetime: "2013-06-01 00:00:00" +remotes: +- "url": "https://github.com/hyperstake/hyperstake.git" + "dir": "hyperstake" +files: [] +script: | + WRAP_DIR=$HOME/wrapped + HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu" + CONFIGFLAGS="--enable-upnp-default --enable-glibc-back-compat --enable-reduce-exports LDFLAGS=-static-libstdc++" + FAKETIME_HOST_PROGS="" + FAKETIME_PROGS="date ar ranlib nm strip" + + export QT_RCC_TEST=1 + export GZIP="-9n" + export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export TZ="UTC" + export BUILD_DIR=`pwd` + mkdir -p ${WRAP_DIR} + if test -n "$GBUILD_CACHE_ENABLED"; then + export SOURCES_PATH=${GBUILD_COMMON_CACHE} + export BASE_CACHE=${GBUILD_PACKAGE_CACHE} + mkdir -p ${BASE_CACHE} ${SOURCES_PATH} + fi + + # Create global faketime wrappers + for prog in ${FAKETIME_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${prog} + echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${prog} + chmod +x ${WRAP_DIR}/${prog} + done + + # Create per-host faketime wrappers + for i in $HOSTS; do + for prog in ${FAKETIME_HOST_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog} + echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} + chmod +x ${WRAP_DIR}/${i}-${prog} + done + done + export PATH=${WRAP_DIR}:${PATH} + + cd bitcoin + BASEPREFIX=`pwd`/depends + # Build dependencies for each host + for i in $HOSTS; do + make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}" + done + + # Ubuntu precise hack: Not an issue in later versions. + # Precise's libstdc++.a is non-pic. There's an optional libstdc++6-4.6-pic + # package which provides libstdc++_pic.a, but the linker can't find it. + # Symlink it to a path that will be included in our link-line so that the + # linker picks it up before the default libstdc++.a. + # This is only necessary for 64bit. + ln -s /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++_pic.a ${BASEPREFIX}/x86_64-unknown-linux-gnu/lib/libstdc++.a + + # Create the release tarball using (arbitrarily) the first host + ./autogen.sh + ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` + make dist + SOURCEDIST=`echo hyperstake-*.tar.gz` + DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` + # Correct tar file order + mkdir -p temp + pushd temp + tar xf ../$SOURCEDIST + find bitcoin-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + popd + + ORIGPATH="$PATH" + # Extract the release tarball into a dir for each host and build + for i in ${HOSTS}; do + export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} + mkdir -p distsrc-${i} + cd distsrc-${i} + INSTALLPATH=`pwd`/installed/${DISTNAME} + mkdir -p ${INSTALLPATH} + tar --strip-components=1 -xf ../$SOURCEDIST + + ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} + make ${MAKEOPTS} + make install-strip + cd installed + find . -name "lib*.la" -delete + find . -name "lib*.a" -delete + rm -rf ${DISTNAME}/lib/pkgconfig + find ${DISTNAME} | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz + cd ../../ + done + mkdir -p $OUTDIR/src + mv $SOURCEDIST $OUTDIR/src + mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz + mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz diff --git a/contrib/gitian-descriptors/gitian-osx-signer.yml b/contrib/gitian-descriptors/gitian-osx-signer.yml new file mode 100644 index 000000000..df3ef967d --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx-signer.yml @@ -0,0 +1,37 @@ +--- +name: "hyperstake-dmg-signer" +suites: +- "precise" +architectures: +- "amd64" +packages: +- "libc6:i386" +- "faketime" +reference_datetime: "2013-06-01 00:00:00" +remotes: [] +files: +- "hyperstake-osx-unsigned.tar.gz" +- "signature.tar.gz" +script: | + WRAP_DIR=$HOME/wrapped + mkdir -p ${WRAP_DIR} + export PATH=`pwd`:$PATH + FAKETIME_PROGS="dmg genisoimage" + + # Create global faketime wrappers + for prog in ${FAKETIME_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${prog} + echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${prog} + chmod +x ${WRAP_DIR}/${prog} + done + + UNSIGNED=hyperstake-osx-unsigned.tar.gz + SIGNED=hyperstake-osx-signed.dmg + + tar -xf ${UNSIGNED} + ./detached-sig-apply.sh ${UNSIGNED} signature.tar.gz + ${WRAP_DIR}/genisoimage -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o uncompressed.dmg signed-app + ${WRAP_DIR}/dmg dmg uncompressed.dmg ${OUTDIR}/${SIGNED} diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml new file mode 100644 index 000000000..e488b7999 --- /dev/null +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -0,0 +1,134 @@ +--- +name: "hyperstake-osx-0.10" +enable_cache: true +suites: +- "precise" +architectures: +- "amd64" +packages: +- "g++" +- "git-core" +- "pkg-config" +- "autoconf2.13" +- "libtool" +- "automake" +- "faketime" +- "bsdmainutils" +- "cmake" +- "libcap-dev" +- "libz-dev" +- "libbz2-dev" +reference_datetime: "2013-06-01 00:00:00" +remotes: +- "url": "https://github.com/hyperstake/hyperstake.git" + "dir": "hyperstake" +files: +- "MacOSX10.9.sdk.tar.gz" +script: | + WRAP_DIR=$HOME/wrapped + HOSTS="x86_64-apple-darwin11" + CONFIGFLAGS="--enable-upnp-default --enable-reduce-exports GENISOIMAGE=$WRAP_DIR/genisoimage" + FAKETIME_HOST_PROGS="" + FAKETIME_PROGS="ar ranlib date dmg genisoimage" + + export QT_RCC_TEST=1 + export GZIP="-9n" + export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export TZ="UTC" + export BUILD_DIR=`pwd` + mkdir -p ${WRAP_DIR} + if test -n "$GBUILD_CACHE_ENABLED"; then + export SOURCES_PATH=${GBUILD_COMMON_CACHE} + export BASE_CACHE=${GBUILD_PACKAGE_CACHE} + mkdir -p ${BASE_CACHE} ${SOURCES_PATH} + fi + + export ZERO_AR_DATE=1 + + # Create global faketime wrappers + for prog in ${FAKETIME_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${prog} + echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${prog} + chmod +x ${WRAP_DIR}/${prog} + done + + # Create per-host faketime wrappers + for i in $HOSTS; do + for prog in ${FAKETIME_HOST_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog} + echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} + chmod +x ${WRAP_DIR}/${i}-${prog} + done + done + export PATH=${WRAP_DIR}:${PATH} + + cd hyperstake + BASEPREFIX=`pwd`/depends + + mkdir -p ${BASEPREFIX}/SDKs + tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.9.sdk.tar.gz + + # Build dependencies for each host + for i in $HOSTS; do + make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}" + done + + # Create the release tarball using (arbitrarily) the first host + ./autogen.sh + ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` + make dist + SOURCEDIST=`echo hyperstake-*.tar.gz` + DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` + + # Correct tar file order + mkdir -p temp + pushd temp + tar xf ../$SOURCEDIST + find hyperstake-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + popd + + ORIGPATH="$PATH" + # Extract the release tarball into a dir for each host and build + for i in ${HOSTS}; do + export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} + mkdir -p distsrc-${i} + cd distsrc-${i} + INSTALLPATH=`pwd`/installed/${DISTNAME} + mkdir -p ${INSTALLPATH} + tar --strip-components=1 -xf ../$SOURCEDIST + + ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} + make ${MAKEOPTS} + make install-strip + + make deploydir + mkdir -p unsigned-app-${i} + cp contrib/macdeploy/detached-sig-apply.sh unsigned-app-${i} + cp contrib/macdeploy/detached-sig-create.sh unsigned-app-${i} + cp ${BASEPREFIX}/${i}/native/bin/dmg ${BASEPREFIX}/${i}/native/bin/genisoimage unsigned-app-${i} + cp ${BASEPREFIX}/${i}/native/bin/${i}-codesign_allocate unsigned-app-${i}/codesign_allocate + cp ${BASEPREFIX}/${i}/native/bin/${i}-pagestuff unsigned-app-${i}/pagestuff + mv dist unsigned-app-${i} + pushd unsigned-app-${i} + find . | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-osx-unsigned.tar.gz + popd + + make deploy + ${WRAP_DIR}/dmg dmg Hyperstake-Qt.dmg ${OUTDIR}/${DISTNAME}-osx-unsigned.dmg + + cd installed + find . -name "lib*.la" -delete + find . -name "lib*.a" -delete + rm -rf ${DISTNAME}/lib/pkgconfig + find ${DISTNAME} | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz + cd ../../ + done + mkdir -p $OUTDIR/src + mv $SOURCEDIST $OUTDIR/src + mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-osx64.tar.gz diff --git a/contrib/gitian-descriptors/gitian-win.yml b/contrib/gitian-descriptors/gitian-win.yml new file mode 100644 index 000000000..8556795a8 --- /dev/null +++ b/contrib/gitian-descriptors/gitian-win.yml @@ -0,0 +1,115 @@ +--- +name: "hyperstake-win-1.1" +enable_cache: true +suites: +- "precise" +architectures: +- "amd64" +packages: +- "g++" +- "git-core" +- "pkg-config" +- "autoconf2.13" +- "libtool" +- "automake" +- "faketime" +- "bsdmainutils" +- "mingw-w64" +- "g++-mingw-w64" +- "nsis" +- "zip" +reference_datetime: "2013-06-01 00:00:00" +remotes: +- "url": "https://github.com/hyperstake/hyperstake.git" + "dir": "hyperstake" +files: [] +script: | + WRAP_DIR=$HOME/wrapped + HOSTS="x86_64-w64-mingw32 i686-w64-mingw32" + CONFIGFLAGS="--enable-upnp-default --enable-reduce-exports" + FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip" + FAKETIME_PROGS="date makensis zip" + + export QT_RCC_TEST=1 + export GZIP="-9n" + export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME"" + export TZ="UTC" + export BUILD_DIR=`pwd` + mkdir -p ${WRAP_DIR} + if test -n "$GBUILD_CACHE_ENABLED"; then + export SOURCES_PATH=${GBUILD_COMMON_CACHE} + export BASE_CACHE=${GBUILD_PACKAGE_CACHE} + mkdir -p ${BASE_CACHE} ${SOURCES_PATH} + fi + + # Create global faketime wrappers + for prog in ${FAKETIME_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${prog} + echo "REAL=\`which -a ${prog} | grep -v ${WRAP_DIR}/${prog} | head -1\`" >> ${WRAP_DIR}/${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${prog} + chmod +x ${WRAP_DIR}/${prog} + done + + # Create per-host faketime wrappers + for i in $HOSTS; do + for prog in ${FAKETIME_HOST_PROGS}; do + echo '#!/bin/bash' > ${WRAP_DIR}/${i}-${prog} + echo "REAL=\`which -a ${i}-${prog} | grep -v ${WRAP_DIR}/${i}-${prog} | head -1\`" >> ${WRAP_DIR}/${i}-${prog} + echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${i}-${prog} + echo "export FAKETIME=\"${REFERENCE_DATETIME}\"" >> ${WRAP_DIR}/${i}-${prog} + echo "\$REAL \$@" >> $WRAP_DIR/${i}-${prog} + chmod +x ${WRAP_DIR}/${i}-${prog} + done + done + export PATH=${WRAP_DIR}:${PATH} + + cd hyperstake + BASEPREFIX=`pwd`/depends + # Build dependencies for each host + for i in $HOSTS; do + make ${MAKEOPTS} -C ${BASEPREFIX} HOST="${i}" + done + + # Create the release tarball using (arbitrarily) the first host + ./autogen.sh + ./configure --prefix=${BASEPREFIX}/`echo "${HOSTS}" | awk '{print $1;}'` + make dist + SOURCEDIST=`echo hyperstake-*.tar.gz` + DISTNAME=`echo ${SOURCEDIST} | sed 's/.tar.*//'` + + # Correct tar file order + mkdir -p temp + pushd temp + tar xf ../$SOURCEDIST + find hyperstake-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ../$SOURCEDIST + popd + + ORIGPATH="$PATH" + # Extract the release tarball into a dir for each host and build + for i in ${HOSTS}; do + export PATH=${BASEPREFIX}/${i}/native/bin:${ORIGPATH} + mkdir -p distsrc-${i} + cd distsrc-${i} + INSTALLPATH=`pwd`/installed/${DISTNAME} + mkdir -p ${INSTALLPATH} + tar --strip-components=1 -xf ../$SOURCEDIST + + ./configure --prefix=${BASEPREFIX}/${i} --bindir=${INSTALLPATH}/bin --includedir=${INSTALLPATH}/include --libdir=${INSTALLPATH}/lib --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} + make ${MAKEOPTS} + make deploy + make install-strip + cp -f hyperstake-*setup*.exe $OUTDIR/ + cd installed + mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/ + find . -name "lib*.la" -delete + find . -name "lib*.a" -delete + rm -rf ${DISTNAME}/lib/pkgconfig + find ${DISTNAME} -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip + cd ../.. + done + mkdir -p $OUTDIR/src + mv $SOURCEDIST $OUTDIR/src + mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip + mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip diff --git a/contrib/gitian-descriptors/gitian-win32.yml b/contrib/gitian-descriptors/gitian-win32.yml deleted file mode 100644 index 2bf3a7dc2..000000000 --- a/contrib/gitian-descriptors/gitian-win32.yml +++ /dev/null @@ -1,74 +0,0 @@ ---- -name: "ppcoin" -suites: -- "lucid" -architectures: -- "i386" -packages: -- "mingw32" -- "git-core" -- "unzip" -- "nsis" -- "faketime" -reference_datetime: "2011-01-30 00:00:00" -remotes: -- "url": "https://github.com/ppcoin/ppcoin.git" - "dir": "ppcoin" -files: -- "qt-win32-4.7.4-gitian.zip" -- "boost-win32-1.47.0-gitian.zip" -- "ppcoin-deps-0.0.1.zip" -script: | - # - mkdir $HOME/qt - cd $HOME/qt - unzip ../build/qt-win32-4.7.4-gitian.zip - cd $HOME/build/ - export PATH=$PATH:$HOME/qt/bin/ - # - mkdir boost_1_47_0 - cd boost_1_47_0 - mkdir -p stage/lib - unzip ../boost-win32-1.47.0-gitian.zip - cd bin/$GBUILD_BITS - for lib in *; do - i586-mingw32msvc-ar rc ../../stage/lib/libboost_${lib}-mt-s.a $lib/*.o - i586-mingw32msvc-ranlib ../../stage/lib/libboost_${lib}-mt-s.a - done - cd ../.. - mv include/boost . - cd .. - # - unzip ppcoin-deps-0.0.1.zip - # - find -type f | xargs touch --date="$REFERENCE_DATETIME" - # - cd ppcoin - mkdir -p $OUTDIR/src - git archive HEAD | tar -x -C $OUTDIR/src - cp $OUTDIR/src/doc/README_windows.txt $OUTDIR/readme.txt - cp $OUTDIR/src/COPYING $OUTDIR/license.txt - export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - export FAKETIME=$REFERENCE_DATETIME - export TZ=UTC - $HOME/qt/src/bin/qmake -spec unsupported/win32-g++-cross MINIUPNPC_LIB_PATH=$HOME/build/miniupnpc MINIUPNPC_INCLUDE_PATH=$HOME/build/ BDB_LIB_PATH=$HOME/build/db-4.8.30.NC/build_unix BDB_INCLUDE_PATH=$HOME/build/db-4.8.30.NC/build_unix BOOST_LIB_PATH=$HOME/build/boost_1_47_0/stage/lib BOOST_INCLUDE_PATH=$HOME/build/boost_1_47_0 BOOST_LIB_SUFFIX=-mt-s BOOST_THREAD_LIB_SUFFIX=_win32-mt-s OPENSSL_LIB_PATH=$HOME/build/openssl-1.0.1b OPENSSL_INCLUDE_PATH=$HOME/build/openssl-1.0.1b/include QRENCODE_LIB_PATH=$HOME/build/qrencode-3.2.0/.libs QRENCODE_INCLUDE_PATH=$HOME/build/qrencode-3.2.0 USE_QRCODE=1 INCLUDEPATH=$HOME/build DEFINES=BOOST_THREAD_USE_LIB BITCOIN_NEED_QT_PLUGINS=1 QMAKE_LRELEASE=lrelease QMAKE_CXXFLAGS=-frandom-seed=ppcoin QMAKE_LFLAGS=-frandom-seed=ppcoin USE_BUILD_INFO=1 - make $MAKEOPTS - cp release/ppcoin-qt.exe $OUTDIR/ - # - cd src - export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - export FAKETIME=$REFERENCE_DATETIME - export TZ=UTC - make -f makefile.linux-mingw $MAKEOPTS DEPSDIR=$HOME/build ppcoind.exe USE_UPNP=1 DEBUGFLAGS="-frandom-seed=ppcoin" - i586-mingw32msvc-strip ppcoind.exe - mkdir $OUTDIR/daemon - cp ppcoind.exe $OUTDIR/daemon - cd .. - mkdir nsis - git archive HEAD | tar -x -C nsis - cd nsis/src - mkdir ../release - cp ../../release/* ../release/ - cp ../../src/*.exe . - makensis ../share/setup.nsi - cp ../share/ppcoin-*-win32-setup.exe $OUTDIR/ diff --git a/contrib/gitian-descriptors/gitian.yml b/contrib/gitian-descriptors/gitian.yml deleted file mode 100644 index 340de5e5a..000000000 --- a/contrib/gitian-descriptors/gitian.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -name: "ppcoin" -suites: -- "lucid" -architectures: -- "i386" -- "amd64" -packages: -- "libdb4.8++-dev" -- "qt4-qmake" -- "libqt4-dev" -- "libboost-system-dev" -- "libboost-filesystem-dev" -- "libboost-program-options-dev" -- "libboost-thread-dev" -- "libssl-dev" -- "git-core" -- "unzip" -- "pkg-config" -- "libpng12-dev" -reference_datetime: "2011-01-30 00:00:00" -remotes: -- "url": "https://github.com/ppcoin/ppcoin.git" - "dir": "ppcoin" -files: -- "miniupnpc-1.6.tar.gz" -- "qrencode-3.2.0.tar.bz2" -script: | - INSTDIR="$HOME/install" - export LIBRARY_PATH="$INSTDIR/lib" - # - tar xzf miniupnpc-1.6.tar.gz - cd miniupnpc-1.6 - INSTALLPREFIX=$INSTDIR make $MAKEOPTS install - cd .. - # - tar xjf qrencode-3.2.0.tar.bz2 - cd qrencode-3.2.0 - ./configure --prefix=$INSTDIR --enable-static --disable-shared - make $MAKEOPTS install - cd .. - # - cd ppcoin - mkdir -p $OUTDIR/src - git archive HEAD | tar -x -C $OUTDIR/src - cp $OUTDIR/src/doc/README $OUTDIR - cp $OUTDIR/src/COPYING $OUTDIR - cd src - make -f makefile.unix STATIC=1 OPENSSL_INCLUDE_PATH="$INSTDIR/include" OPENSSL_LIB_PATH="$INSTDIR/lib" $MAKEOPTS ppcoind USE_UPNP=1 DEBUGFLAGS= - mkdir -p $OUTDIR/bin/$GBUILD_BITS - install -s ppcoind $OUTDIR/bin/$GBUILD_BITS - # - cd .. - qmake INCLUDEPATH="$INSTDIR/include" LIBS="-L$INSTDIR/lib" RELEASE=1 USE_QRCODE=1 - make $MAKEOPTS - install ppcoin-qt $OUTDIR/bin/$GBUILD_BITS diff --git a/contrib/gitian-descriptors/qt-win32.yml b/contrib/gitian-descriptors/qt-win32.yml deleted file mode 100644 index 6eb76b217..000000000 --- a/contrib/gitian-descriptors/qt-win32.yml +++ /dev/null @@ -1,54 +0,0 @@ ---- -name: "qt" -suites: -- "lucid" -architectures: -- "i386" -packages: -- "mingw32" -- "zip" -- "faketime" -reference_datetime: "2011-01-30 00:00:00" -remotes: [] -files: -- "qt-everywhere-opensource-src-4.7.4.tar.gz" -script: | - INSTDIR="$HOME/qt/" - mkdir $INSTDIR - SRCDIR="$INSTDIR/src/" - mkdir $SRCDIR - # - tar xzf qt-everywhere-opensource-src-4.7.4.tar.gz - cd qt-everywhere-opensource-src-4.7.4 - sed 's/$TODAY/2011-01-30/' -i configure - sed 's/i686-pc-mingw32-/i586-mingw32msvc-/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed --posix 's|QMAKE_CFLAGS\t\t= -pipe|QMAKE_CFLAGS\t\t= -pipe -isystem /usr/i586-mingw32msvc/include/ -frandom-seed=qtbuild|' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed 's/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads/QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed 's/QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads/QMAKE_LFLAGS_EXCEPTIONS_ON = -lmingwthrd/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed --posix 's/QMAKE_MOC\t\t= i586-mingw32msvc-moc/QMAKE_MOC\t\t= moc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed --posix 's/QMAKE_RCC\t\t= i586-mingw32msvc-rcc/QMAKE_RCC\t\t= rcc/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - sed --posix 's/QMAKE_UIC\t\t= i586-mingw32msvc-uic/QMAKE_UIC\t\t= uic/' -i mkspecs/unsupported/win32-g++-cross/qmake.conf - # ar adds timestamps to every object file included in the static library - # providing -D as ar argument is supposed to solve it, but doesn't work as qmake strips off the arguments and adds -M to pass a script... - # which somehow cannot be combined with other flags. - # use faketime only for ar, as it confuses make/qmake into hanging sometimes - sed --posix "s|QMAKE_LIB\t\t= i586-mingw32msvc-ar -ru|QMAKE_LIB\t\t= $HOME/ar -Dr|" -i mkspecs/unsupported/win32-g++-cross/qmake.conf - echo '#!/bin/bash' > $HOME/ar - echo 'export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1' >> $HOME/ar - echo 'i586-mingw32msvc-ar "$@"' >> $HOME/ar - chmod +x $HOME/ar - #export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - export FAKETIME=$REFERENCE_DATETIME - export TZ=UTC - ./configure -prefix $INSTDIR -confirm-license -release -opensource -static -no-qt3support -xplatform unsupported/win32-g++-cross -no-multimedia -no-audio-backend -no-phonon -no-phonon-backend -no-declarative -no-script -no-scripttools -no-javascript-jit -no-webkit -no-svg -no-xmlpatterns -no-sql-sqlite -no-nis -no-cups -no-iconv -no-dbus -no-gif -no-libtiff -opengl no -nomake examples -nomake demos -nomake docs - find . -name *.prl | xargs -l sed 's|/\.||' -i - find . -name *.prl | xargs -l sed 's|/$||' -i - make $MAKEOPTS install - cp -a bin $SRCDIR/ - cd $INSTDIR - find . -name *.prl | xargs -l sed 's|/$||' -i - #sed 's|QMAKE_PRL_LIBS.*|QMAKE_PRL_LIBS = -lQtDeclarative -lQtScript -lQtSvg -lQtSql -lQtXmlPatterns -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtNetwork -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32|' -i imports/Qt/labs/particles/qmlparticlesplugin.prl - - # as zip stores file timestamps, use faketime to intercept stat calls to set dates for all files to reference date - export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1 - zip -r $OUTDIR/qt-win32-4.7.4-gitian.zip * diff --git a/doc/README_osx.txt b/doc/README_osx.txt new file mode 100644 index 000000000..6c0c21c19 --- /dev/null +++ b/doc/README_osx.txt @@ -0,0 +1,83 @@ +Deterministic OSX Dmg Notes. + +Working OSX DMG's are created in Linux by combining a recent clang, +the Apple's binutils (ld, ar, etc), and DMG authoring tools. + +Apple uses clang extensively for development and has upstreamed the necessary +functionality so that a vanilla clang can take advantage. It supports the use +of -F, -target, -mmacosx-version-min, and --sysroot, which are all necessary +when building for OSX. A pre-compiled version of 3.2 is used because it was not +available in the Precise repositories at the time this work was started. In the +future, it can be switched to use system packages instead. + +Apple's version of binutils (called cctools) contains lots of functionality +missing in the FSF's binutils. In addition to extra linker options for +frameworks and sysroots, several other tools are needed as well such as +install_name_tool, lipo, and nmedit. These do not build under linux, so they +have been patched to do so. The work here was used as a starting point: +https://github.com/mingwandroid/toolchain4 + +In order to build a working toolchain, the following source packages are needed +from Apple: cctools, dyld, and ld64. + +These tools inject timestamps by default, which produce non-deterministic +binaries. The ZERO_AR_DATE environment variable is used to disable that. + +This version of cctools has been patched to use the current version of clang's +headers and and its libLTO.so rather than those from llvmgcc, as it was +originally done in toolchain4. + +To complicate things further, all builds must target an Apple SDK. These SDKs +are free to download, but not redistributable. +To obtain it, register for a developer account, then download the XCode 6.1.1 dmg: +https://developer.apple.com/downloads/download.action?path=Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg + +This file is several gigabytes in size, but only a single directory inside is +needed: Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk + +Unfortunately, the usual linux tools (7zip, hpmount, loopback mount) are incapable of opening this file. +To create a tarball suitable for gitian input, mount the dmg in OSX, then create it with: + $ tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk + + +The gitian descriptors build 2 sets of files: Linux tools, then Apple binaries +which are created using these tools. The build process has been designed to +avoid including the SDK's files in Gitian's outputs. All interim tarballs are +fully deterministic and may be freely redistributed. + +genisoimage is used to create the initial DMG. It is not deterministic as-is, +so it has been patched. A system genisoimage will work fine, but it will not +be deterministic because the file-order will change between invocations. +The patch can be seen here: +https://raw.githubusercontent.com/theuni/osx-cross-depends/master/patches/cdrtools/genisoimage.diff +No effort was made to fix this cleanly, so it likely leaks memory badly. But +it's only used for a single invocation, so that's no real concern. + +genisoimage cannot compress DMGs, so afterwards, the 'dmg' tool from the +libdmg-hfsplus project is used to compress it. There are several bugs in this +tool and its maintainer has seemingly abandoned the project. It has been forked +and is available (with fixes) here: https://github.com/theuni/libdmg-hfsplus . + +The 'dmg' tool has the ability to create DMG's from scratch as well, but this +functionality is broken. Only the compression feature is currently used. +Ideally, the creation could be fixed and genisoimage would no longer be necessary. + +Background images and other features can be added to DMG files by inserting a +.DS_Store before creation. The easiest way to create this file is to build a +DMG without one, move it to a device running OSX, customize the layout, then +grab the .DS_Store file for later use. That is the approach taken here. + +As of OSX Mavericks (10.9), using an Apple-blessed key to sign binaries is a +requirement in order to satisfy the new Gatekeeper requirements. Because this +private key cannot be shared, we'll have to be a bit creative in order for the +build process to remain somewhat deterministic. Here's how it works: + +- Builders use gitian to create an unsigned release. This outputs an unsigned + dmg which users may choose to bless and run. It also outputs an unsigned app + structure in the form of a tarball, which also contains all of the tools + that have been previously (deterministically) built in order to create a + final dmg. +- The Apple keyholder uses this unsigned app to create a detached signature, + using the script that is also included there. +- Builders feed the unsigned app + detached signature back into gitian. It + uses the pre-built tools to recombine the pieces into a deterministic dmg. From 2d3d9381fc22e1b4725363707a27a7cae92f4c4b Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 14:27:45 +0100 Subject: [PATCH 350/555] use osx sdk 10.7 --- contrib/gitian-descriptors/gitian-osx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index e488b7999..f68e5cdb5 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -23,7 +23,7 @@ remotes: - "url": "https://github.com/hyperstake/hyperstake.git" "dir": "hyperstake" files: -- "MacOSX10.9.sdk.tar.gz" +- "MacOSX10.7.sdk.tar.gz" script: | WRAP_DIR=$HOME/wrapped HOSTS="x86_64-apple-darwin11" From f29506953270dcf065b031c9b6788ad432f4dd84 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 14:39:15 +0100 Subject: [PATCH 351/555] still remaining sdk10.9 reference --- contrib/gitian-descriptors/gitian-osx.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/gitian-descriptors/gitian-osx.yml b/contrib/gitian-descriptors/gitian-osx.yml index f68e5cdb5..c20eb1362 100644 --- a/contrib/gitian-descriptors/gitian-osx.yml +++ b/contrib/gitian-descriptors/gitian-osx.yml @@ -72,7 +72,7 @@ script: | BASEPREFIX=`pwd`/depends mkdir -p ${BASEPREFIX}/SDKs - tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.9.sdk.tar.gz + tar -C ${BASEPREFIX}/SDKs -xf ${BUILD_DIR}/MacOSX10.7.sdk.tar.gz # Build dependencies for each host for i in $HOSTS; do From a80766aa33a0042a185be4ca201419b9a8b0666d Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 15:29:45 +0100 Subject: [PATCH 352/555] Updated contrib/depends --- depends/funcs.mk | 4 +- depends/hosts/darwin.mk | 5 +- depends/packages/native_cctools.mk | 88 ++++++++++++++++---------- depends/packages/native_cctools.mk.rej | 39 ------------ depends/packages/native_libuuid.mk | 24 +++++++ depends/packages/native_openssl.mk | 21 ++++++ depends/packages/openssl.mk | 9 +-- depends/packages/packages.mk | 2 +- depends/packages/qt.mk | 5 +- depends/patches/qt/mac-qmake.conf | 2 +- depends/patches/qt/qt5-yosemite.patch | 52 --------------- 11 files changed, 112 insertions(+), 139 deletions(-) delete mode 100644 depends/packages/native_cctools.mk.rej create mode 100644 depends/packages/native_libuuid.mk create mode 100644 depends/packages/native_openssl.mk delete mode 100644 depends/patches/qt/qt5-yosemite.patch diff --git a/depends/funcs.mk b/depends/funcs.mk index 79015c047..337634253 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -31,8 +31,8 @@ define fetch_file endef define int_get_build_recipe_hash -$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) -$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | cut -d" " -f1 | $(build_SHA256SUM))) +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1)) +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1)) endef define int_get_build_id diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk index c1070d877..8d718eba1 100644 --- a/depends/hosts/darwin.mk +++ b/depends/hosts/darwin.mk @@ -1,9 +1,8 @@ OSX_MIN_VERSION=10.6 OSX_SDK_VERSION=10.7 OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk -LD64_VERSION=241.9 -darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) +darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) +darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) darwin_CFLAGS=-pipe darwin_CXXFLAGS=$(darwin_CFLAGS) diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index 951ad4fb2..1675afe78 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -1,37 +1,61 @@ package=native_cctools -$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb -$(package)_download_path=https://github.com/theuni/cctools-port/archive -$(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 -$(package)_build_subdir=cctools -$(package)_clang_version=3.3 -$(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) -$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz -$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz -$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7 +$(package)_version=809 +$(package)_download_path=http://www.opensource.apple.com/tarballs/cctools +$(package)_file_name=cctools-$($(package)_version).tar.gz +$(package)_sha256_hash=03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad +$(package)_build_subdir=cctools2odcctools/odcctools-$($(package)_version) +$(package)_dependencies=native_libuuid native_openssl +$(package)_ld64_download_file=ld64-127.2.tar.gz +$(package)_ld64_download_path=http://www.opensource.apple.com/tarballs/ld64 +$(package)_ld64_file_name=$($(package)_ld64_download_file) +$(package)_ld64_sha256_hash=97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 +$(package)_dyld_download_file=dyld-195.5.tar.gz +$(package)_dyld_download_path=http://www.opensource.apple.com/tarballs/dyld +$(package)_dyld_file_name=$($(package)_dyld_download_file) +$(package)_dyld_sha256_hash=2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c +$(package)_toolchain4_download_file=10cc648683617cca8bcbeae507888099b41b530c.tar.gz +$(package)_toolchain4_download_path=https://github.com/mingwandroid/toolchain4/archive +$(package)_toolchain4_file_name=toolchain4-1.tar.gz +$(package)_toolchain4_sha256_hash=18406961fd4a1ec5c7ea35c91d6a80a2f8bb797a2bd243a610bd75e13eff9aca +$(package)_clang_download_file=clang+llvm-3.2-x86-linux-ubuntu-12.04.tar.gz +$(package)_clang_download_path=http://llvm.org/releases/3.2 +$(package)_clang_file_name=clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz +$(package)_clang_sha256_hash=b9d57a88f9514fa1f327a1a703756d0c1c960f4c58494a5bd80313245d13ffff + define $(package)_fetch_cmds $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) -endef - -define $(package)_extract_cmds - mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \ - tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ - echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \ - echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \ - chmod +x toolchain/bin/$(host)-dsymutil && \ - tar --strip-components=1 -xf $($(package)_source) +$(call fetch_file,$(package),$($(package)_ld64_download_path),$($(package)_ld64_download_file),$($(package)_ld64_file_name),$($(package)_ld64_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_dyld_download_path),$($(package)_dyld_download_file),$($(package)_dyld_file_name),$($(package)_dyld_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_toolchain4_download_path),$($(package)_toolchain4_download_file),$($(package)_toolchain4_file_name),$($(package)_toolchain4_sha256_hash)) endef define $(package)_set_vars -$(package)_config_opts=--target=$(host) --disable-libuuid -$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib -$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang -$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ +$(package)_config_opts=--target=$(host) --with-sysroot=$(OSX_SDK) +$(package)_cflags+=-m32 +$(package)_cxxflags+=-m32 +$(package)_cppflags+=-D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS +$(package)_ldflags+=-m32 -Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib +$(package)_ldflags+=-L$$(native_cctools_extract_dir)/clang+llvm-3.2-x86-linux-ubuntu-12.04/lib +endef +define $(package)_extract_cmds + tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_toolchain4_file_name) && \ + ln -sf $($(package)_source) cctools2odcctools/$($(package)_file_name) && \ + ln -sf $($(package)_source_dir)/$($(package)_ld64_file_name) cctools2odcctools/$($(package)_ld64_file_name) && \ + ln -sf $($(package)_source_dir)/$($(package)_dyld_file_name) cctools2odcctools/$($(package)_dyld_file_name) && \ + tar xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ + mkdir -p $(SDK_PATH) sdks &&\ + cd sdks; ln -sf $(OSX_SDK) MacOSX$(OSX_SDK_VERSION).sdk endef define $(package)_preprocess_cmds - cd $($(package)_build_subdir); ./autogen.sh + sed -i "s|GCC_DIR|LLVM_CLANG_DIR|g" cctools2odcctools/extract.sh && \ + sed -i "s|llvmgcc42-2336.1|clang+llvm-3.2-x86-linux-ubuntu-12.04|g" cctools2odcctools/extract.sh && \ + sed -i "s|/llvmCore/include/llvm-c|/include/llvm-c \$$$${LLVM_CLANG_DIR}/include/llvm |" cctools2odcctools/extract.sh && \ + sed -i "s|fAC_INIT|AC_INIT|" cctools2odcctools/files/configure.ac && \ + sed -i 's/\# Dynamically linked LTO/\t ;\&\n\t linux*)\n# Dynamically linked LTO/' cctools2odcctools/files/configure.ac && \ + cd cctools2odcctools; ./extract.sh --osxver $(OSX_SDK_VERSION) && \ + sed -i "s|define\tPC|define\tPC_|" odcctools-809/include/architecture/sparc/reg.h endef define $(package)_config_cmds @@ -44,13 +68,13 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install && \ - cd $($(package)_extract_dir)/toolchain && \ - mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \ - mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \ + cd ../../clang+llvm-3.2-x86-linux-ubuntu-12.04 && \ + mkdir -p $($(package)_staging_prefix_dir)/lib/clang/3.2/include && \ + mkdir -p $($(package)_staging_prefix_dir)/bin && \ cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\ cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \ - cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \ - cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \ - if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \ - if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi + cp lib/clang/3.2/include/* $($(package)_staging_prefix_dir)/lib/clang/3.2/include/ && \ + echo "#!/bin/sh" > $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \ + echo "exit 0" >> $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \ + chmod +x $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil endef diff --git a/depends/packages/native_cctools.mk.rej b/depends/packages/native_cctools.mk.rej deleted file mode 100644 index 1016dc233..000000000 --- a/depends/packages/native_cctools.mk.rej +++ /dev/null @@ -1,39 +0,0 @@ -diff a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk (rejected hunks) -@@ -1,10 +1,9 @@ - package=native_cctools --$(package)_version=59d21d2c793c51d205c8b4ab14b9b28e63c72445 -+$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb - $(package)_download_path=https://github.com/theuni/cctools-port/archive - $(package)_file_name=$($(package)_version).tar.gz --$(package)_sha256_hash=e13c7129b9d496adf4d674156b4a1d72d8b936f29f377aae8f8b5e7b650cc305 -+$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 - $(package)_build_subdir=cctools --$(package)_dependencies=native_libuuid native_openssl - $(package)_clang_version=3.3 - $(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) - $(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz -@@ -25,8 +24,10 @@ define $(package)_extract_cmds - endef - - define $(package)_set_vars --$(package)_config_opts=--target=$(host) CC=toolchain/clang CXX=toolchain/clang++ -+$(package)_config_opts=--target=$(host) --disable-libuuid - $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib -+$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang -+$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ - endef - - define $(package)_preprocess_cmds -@@ -34,12 +35,10 @@ define $(package)_preprocess_cmds - endef - - define $(package)_config_cmds -- export "PATH=$($(package)_extract_dir)/toolchain/bin:$(PATH)" && \ - $($(package)_autoconf) - endef - - define $(package)_build_cmds -- export "PATH=$($(package)_extract_dir)/toolchain/bin:$(PATH)" && \ - $(MAKE) - endef - diff --git a/depends/packages/native_libuuid.mk b/depends/packages/native_libuuid.mk new file mode 100644 index 000000000..b25540f80 --- /dev/null +++ b/depends/packages/native_libuuid.mk @@ -0,0 +1,24 @@ +package:=native_libuuid +$(package)_version=1.41.14 +$(package)_download_path=http://downloads.sourceforge.net/e2fsprogs +$(package)_file_name=e2fsprogs-libs-$($(package)_version).tar.gz +$(package)_sha256_hash=dbc7a138a3218d9b80a0626b5b692d76934d6746d8cbb762751be33785d8d9f5 + +define $(package)_set_vars +$(package)_config_opts=--disable-elf-shlibs --disable-uuidd +$(package)_cflags+=-m32 +$(package)_ldflags+=-m32 +$(package)_cxxflags+=-m32 +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) -C lib/uuid +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) -C lib/uuid install +endef diff --git a/depends/packages/native_openssl.mk b/depends/packages/native_openssl.mk new file mode 100644 index 000000000..1f25d6afc --- /dev/null +++ b/depends/packages/native_openssl.mk @@ -0,0 +1,21 @@ +package=native_openssl +$(package)_version=1.0.1h +$(package)_download_path=https://www.openssl.org/source +$(package)_file_name=openssl-$($(package)_version).tar.gz +$(package)_sha256_hash=9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 +define $(package)_set_vars +$(package)_build_config_opts= --prefix=$(build_prefix) no-zlib no-shared no-krb5C linux-generic32 -m32 +endef + +define $(package)_config_cmds + ./Configure $($(package)_build_config_opts) &&\ + sed -i "s|engines apps test|engines|" Makefile +endef + +define $(package)_build_cmds + $(MAKE) -j1 +endef + +define $(package)_stage_cmds + $(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw +endef diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk index ad64494c1..eb4779410 100644 --- a/depends/packages/openssl.mk +++ b/depends/packages/openssl.mk @@ -1,8 +1,8 @@ package=openssl -$(package)_version=1.0.1j +$(package)_version=1.0.1k $(package)_download_path=https://www.openssl.org/source $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=1b60ca8789ba6f03e8ef20da2293b8dc131c39d83814e775069f02d26354edf3 +$(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" @@ -14,16 +14,13 @@ $(package)_config_opts_linux=-fPIC $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 -$(package)_config_opts_aarch64_linux=linux-generic64 -$(package)_config_opts_mipsel_linux=linux-generic32 -$(package)_config_opts_mips_linux=linux-generic32 $(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc $(package)_config_opts_x86_64_mingw32=mingw64 $(package)_config_opts_i686_mingw32=mingw endef define $(package)_preprocess_cmds - sed -i.old "/define DATE/d" crypto/Makefile && \ + sed -i.old "/define DATE/d" util/mkbuildinf.pl && \ sed -i.old "s|engines apps test|engines|" Makefile.org endef diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index 08fd8a524..bbf53cc2d 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -19,5 +19,5 @@ wallet_packages=bdb upnp_packages=miniupnpc ifneq ($(build_os),darwin) -darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus +darwin_native_packages=native_libuuid native_openssl native_cctools native_cdrkit native_libdmg-hfsplus endif diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 59c12d22f..6a8e714a4 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -7,7 +7,7 @@ $(package)_dependencies=openssl $(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext $(package)_build_subdir=qtbase $(package)_qt_libs=corelib network widgets gui plugins testlib -$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch qt5-yosemite.patch +$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch define $(package)_set_vars $(package)_config_opts_release = -release @@ -34,7 +34,7 @@ $(package)_config_opts += -qt-libpng -qt-libjpeg -qt-zlib -qt-pcre ifneq ($(build_os),darwin) $(package)_config_opts_darwin = -xplatform macx-clang-linux -device-option MAC_SDK_PATH=$(OSX_SDK) -device-option CROSS_COMPILE="$(host)-" -$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) -device-option MAC_LD64_VERSION=$(LD64_VERSION) +$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) endif $(package)_config_opts_linux = -qt-xkbcommon -qt-xcb -no-eglfs -no-linuxfb -system-freetype -no-sm -fontconfig -no-xinput2 -no-libudev -no-egl -no-opengl @@ -56,7 +56,6 @@ define $(package)_preprocess_cmds cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \ patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \ patch -p1 < $($(package)_patch_dir)/qt5-tablet-osx.patch && \ - patch -d qtbase -p1 < $($(package)_patch_dir)/qt5-yosemite.patch && \ echo "QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ echo "QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ echo "QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf index a97945bc8..f7302265b 100644 --- a/depends/patches/qt/mac-qmake.conf +++ b/depends/patches/qt/mac-qmake.conf @@ -15,7 +15,7 @@ QMAKE_MAC_SDK.macosx.platform_name = macosx QMAKE_CFLAGS += -target $${MAC_TARGET} QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} +QMAKE_LFLAGS += -target $${MAC_TARGET} QMAKE_AR = $${CROSS_COMPILE}ar cq QMAKE_RANLIB=$${CROSS_COMPILE}ranlib QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool diff --git a/depends/patches/qt/qt5-yosemite.patch b/depends/patches/qt/qt5-yosemite.patch deleted file mode 100644 index d569d34d4..000000000 --- a/depends/patches/qt/qt5-yosemite.patch +++ /dev/null @@ -1,52 +0,0 @@ -The following patch was taken from upstream: -https://qt.gitorious.org/qt/qtbase/commit/70e4428b6f1c6a4bad112203f67ee7d22107616c.patch - -The first hunk was removed because it conflicts with 5.2.1, and is not currently needed. - -From 70e4428b6f1c6a4bad112203f67ee7d22107616c Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich -Date: Tue, 3 Jun 2014 14:20:20 +0200 -Subject: [PATCH] Cocoa: Adapt to Xcode 6 clang version sudden pickiness -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Yes, that means OS X Yosemite fix. - -Change-Id: I236f7af7b803de24ff0895e04c9a9253b5cfdb3b -Reviewed-by: Morten Johan Sørvig ---- - .../platforms/cocoa/qcocoaaccessibilityelement.mm | 2 +- - .../platforms/cocoa/qcocoaapplicationdelegate.mm | 2 +- - src/plugins/platforms/cocoa/qcocoamenuloader.mm | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -index f841184..548c6a2 100644 ---- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -@@ -124,7 +124,7 @@ static void cleanupCocoaApplicationDelegate() - [dockMenu release]; - [qtMenuLoader release]; - if (reflectionDelegate) { -- [NSApp setDelegate:reflectionDelegate]; -+ [[NSApplication sharedApplication] setDelegate:reflectionDelegate]; - [reflectionDelegate release]; - } - [[NSNotificationCenter defaultCenter] removeObserver:self]; -diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm -index 60bc3b5..9340e94 100644 ---- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm -+++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm -@@ -174,7 +174,7 @@ QT_END_NAMESPACE - - (void)removeActionsFromAppMenu - { - for (NSMenuItem *item in [appMenu itemArray]) -- [item setTag:nil]; -+ [item setTag:0]; - } - - - (void)dealloc --- -1.7.1 - From f06a7491a1c0017a6982dfb227f22d05bed2c716 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 16:58:20 +0100 Subject: [PATCH 353/555] Added depends makefile --- depends/Makefile | 134 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 depends/Makefile diff --git a/depends/Makefile b/depends/Makefile new file mode 100644 index 000000000..e2ef7ee49 --- /dev/null +++ b/depends/Makefile @@ -0,0 +1,134 @@ +.NOTPARALLEL : + +SOURCES_PATH ?= $(BASEDIR)/sources +BASE_CACHE ?= $(BASEDIR)/built +SDK_PATH ?= $(BASEDIR)/SDKs +NO_QT ?= +NO_WALLET ?= +NO_UPNP ?= +USE_LINUX_STATIC_QT5 ?= +FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources + +BUILD = $(shell ./config.guess) +HOST ?= $(BUILD) +PATCHES_PATH = $(BASEDIR)/patches +BASEDIR = $(CURDIR) +HASH_LENGTH:=11 +DOWNLOAD_CONNECT_TIMEOUT:=10 +DOWNLOAD_RETRIES:=3 + +host:=$(BUILD) +ifneq ($(HOST),) +host:=$(HOST) +host_toolchain:=$(HOST)- +endif + +ifneq ($(DEBUG),) +release_type=debug +else +release_type=release +endif + +base_build_dir=$(BASEDIR)/work/build +base_staging_dir=$(BASEDIR)/work/staging +base_download_dir=$(BASEDIR)/work/download +canonical_host:=$(shell ./config.sub $(HOST)) +build:=$(shell ./config.sub $(BUILD)) + +build_arch =$(firstword $(subst -, ,$(build))) +build_vendor=$(word 2,$(subst -, ,$(build))) +full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build)) +build_os:=$(findstring linux,$(full_build_os)) +build_os+=$(findstring darwin,$(full_build_os)) +build_os:=$(strip $(build_os)) +ifeq ($(build_os),) +build_os=$(full_build_os) +endif + +host_arch=$(firstword $(subst -, ,$(canonical_host))) +host_vendor=$(word 2,$(subst -, ,$(canonical_host))) +full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host)) +host_os:=$(findstring linux,$(full_host_os)) +host_os+=$(findstring darwin,$(full_host_os)) +host_os+=$(findstring mingw32,$(full_host_os)) +host_os:=$(strip $(host_os)) +ifeq ($(host_os),) +host_os=$(full_host_os) +endif + +$(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host) +$(host_arch)_$(host_os)_host=$(host) +host_prefix=$($(host_arch)_$(host_os)_prefix) +build_prefix=$(host_prefix)/native +build_host=$(build) + +AT_$(V):= +AT_:=@ +AT:=$(AT_$(V)) + +all: install + +include hosts/$(host_os).mk +include hosts/default.mk +include builders/$(build_os).mk +include builders/default.mk +include packages/packages.mk + +qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) +qt_native_packages_$(NO_QT) = $(qt_native_packages) +wallet_packages_$(NO_WALLET) = $(wallet_packages) +upnp_packages_$(NO_UPNP) = $(upnp_packages) + +packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_) +native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) $(qt_native_packages_) +all_packages = $(packages) $(native_packages) + +meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk + +$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain) + +include funcs.mk + +toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin) +final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in) +final_build_id+=$(shell echo -n $(final_build_id_long) | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)) +$(host_prefix)/.stamp_$(final_build_id): | $(native_packages) $(packages) + $(AT)rm -rf $(@D) + $(AT)mkdir -p $(@D) + $(AT)echo copying packages: $| + $(AT)echo to: $(@D) + $(AT)cd $(@D); $(foreach package,$|, tar xf $($(package)_cached); ) + $(AT)touch $@ + +$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id) + $(AT)@mkdir -p $(@D) + $(AT)sed -e 's|@HOST@|$(host)|' \ + -e 's|@CC@|$(toolchain_path)$(host_CC)|' \ + -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \ + -e 's|@AR@|$(toolchain_path)$(host_AR)|' \ + -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \ + -e 's|@NM@|$(toolchain_path)$(host_NM)|' \ + -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \ + -e 's|@build_os@|$(build_os)|' \ + -e 's|@host_os@|$(host_os)|' \ + -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \ + -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \ + -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \ + -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \ + -e 's|@no_qt@|$(NO_QT)|' \ + -e 's|@no_wallet@|$(NO_WALLET)|' \ + -e 's|@no_upnp@|$(NO_UPNP)|' \ + -e 's|@debug@|$(DEBUG)|' \ + $< > $@ + $(AT)touch $@ + +install: $(host_prefix)/share/config.site +download-one: $(all_sources) +download-osx: + @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one +download-linux: + @$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one +download-win: + @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one +download: download-osx download-linux download-win +.PHONY: install cached download-one download-osx download-linux download-win download From 86cfd3e4ca8604b651d6a08187d70dbed194220e Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 18:43:08 +0100 Subject: [PATCH 354/555] remove troubled libs from contrib/depends --- depends/packages/native_libuuid.mk | 24 ------------------------ depends/packages/native_openssl.mk | 21 --------------------- 2 files changed, 45 deletions(-) delete mode 100644 depends/packages/native_libuuid.mk delete mode 100644 depends/packages/native_openssl.mk diff --git a/depends/packages/native_libuuid.mk b/depends/packages/native_libuuid.mk deleted file mode 100644 index b25540f80..000000000 --- a/depends/packages/native_libuuid.mk +++ /dev/null @@ -1,24 +0,0 @@ -package:=native_libuuid -$(package)_version=1.41.14 -$(package)_download_path=http://downloads.sourceforge.net/e2fsprogs -$(package)_file_name=e2fsprogs-libs-$($(package)_version).tar.gz -$(package)_sha256_hash=dbc7a138a3218d9b80a0626b5b692d76934d6746d8cbb762751be33785d8d9f5 - -define $(package)_set_vars -$(package)_config_opts=--disable-elf-shlibs --disable-uuidd -$(package)_cflags+=-m32 -$(package)_ldflags+=-m32 -$(package)_cxxflags+=-m32 -endef - -define $(package)_config_cmds - $($(package)_autoconf) -endef - -define $(package)_build_cmds - $(MAKE) -C lib/uuid -endef - -define $(package)_stage_cmds - $(MAKE) DESTDIR=$($(package)_staging_dir) -C lib/uuid install -endef diff --git a/depends/packages/native_openssl.mk b/depends/packages/native_openssl.mk deleted file mode 100644 index 1f25d6afc..000000000 --- a/depends/packages/native_openssl.mk +++ /dev/null @@ -1,21 +0,0 @@ -package=native_openssl -$(package)_version=1.0.1h -$(package)_download_path=https://www.openssl.org/source -$(package)_file_name=openssl-$($(package)_version).tar.gz -$(package)_sha256_hash=9d1c8a9836aa63e2c6adb684186cbd4371c9e9dcc01d6e3bb447abf2d4d3d093 -define $(package)_set_vars -$(package)_build_config_opts= --prefix=$(build_prefix) no-zlib no-shared no-krb5C linux-generic32 -m32 -endef - -define $(package)_config_cmds - ./Configure $($(package)_build_config_opts) &&\ - sed -i "s|engines apps test|engines|" Makefile -endef - -define $(package)_build_cmds - $(MAKE) -j1 -endef - -define $(package)_stage_cmds - $(MAKE) INSTALL_PREFIX=$($(package)_staging_dir) -j1 install_sw -endef From 227bf2a659f44f37e974bb5c0751d8d30d042867 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Fri, 13 Mar 2015 21:17:50 +0100 Subject: [PATCH 355/555] and from the darwin native packages list --- depends/packages/packages.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index bbf53cc2d..08fd8a524 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -19,5 +19,5 @@ wallet_packages=bdb upnp_packages=miniupnpc ifneq ($(build_os),darwin) -darwin_native_packages=native_libuuid native_openssl native_cctools native_cdrkit native_libdmg-hfsplus +darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus endif From 1d45fd80074b1b12cf08a1c32da4ab81241e757e Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sat, 14 Mar 2015 09:16:53 +0100 Subject: [PATCH 356/555] And from the native_cctools dependencies --- depends/packages/native_cctools.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index 1675afe78..d0090597f 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -4,7 +4,7 @@ $(package)_download_path=http://www.opensource.apple.com/tarballs/cctools $(package)_file_name=cctools-$($(package)_version).tar.gz $(package)_sha256_hash=03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad $(package)_build_subdir=cctools2odcctools/odcctools-$($(package)_version) -$(package)_dependencies=native_libuuid native_openssl +$(package)_dependencies= $(package)_ld64_download_file=ld64-127.2.tar.gz $(package)_ld64_download_path=http://www.opensource.apple.com/tarballs/ld64 $(package)_ld64_file_name=$($(package)_ld64_download_file) From 21aa0bb8b844508a27761966765a0bf5c8c371a4 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 05:49:00 +0100 Subject: [PATCH 357/555] older depends set --- depends/funcs.mk | 4 +- depends/hosts/darwin.mk | 5 +- depends/packages/native_cctools.mk | 88 ++++++++++----------------- depends/packages/openssl.mk | 9 ++- depends/packages/qt.mk | 5 +- depends/patches/qt/mac-qmake.conf | 2 +- depends/patches/qt/qt5-yosemite.patch | 52 ++++++++++++++++ 7 files changed, 99 insertions(+), 66 deletions(-) create mode 100644 depends/patches/qt/qt5-yosemite.patch diff --git a/depends/funcs.mk b/depends/funcs.mk index 337634253..79015c047 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -31,8 +31,8 @@ define fetch_file endef define int_get_build_recipe_hash -$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1)) -$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1)) +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | cut -d" " -f1 | $(build_SHA256SUM))) endef define int_get_build_id diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk index 8d718eba1..c1070d877 100644 --- a/depends/hosts/darwin.mk +++ b/depends/hosts/darwin.mk @@ -1,8 +1,9 @@ OSX_MIN_VERSION=10.6 OSX_SDK_VERSION=10.7 OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk -darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) +LD64_VERSION=241.9 +darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) +darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) darwin_CFLAGS=-pipe darwin_CXXFLAGS=$(darwin_CFLAGS) diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index d0090597f..951ad4fb2 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -1,61 +1,37 @@ package=native_cctools -$(package)_version=809 -$(package)_download_path=http://www.opensource.apple.com/tarballs/cctools -$(package)_file_name=cctools-$($(package)_version).tar.gz -$(package)_sha256_hash=03ba62749b843b131c7304a044a98c6ffacd65b1399b921d69add0375f79d8ad -$(package)_build_subdir=cctools2odcctools/odcctools-$($(package)_version) -$(package)_dependencies= -$(package)_ld64_download_file=ld64-127.2.tar.gz -$(package)_ld64_download_path=http://www.opensource.apple.com/tarballs/ld64 -$(package)_ld64_file_name=$($(package)_ld64_download_file) -$(package)_ld64_sha256_hash=97b75547b2bd761306ab3e15ae297f01e7ab9760b922bc657f4ef72e4e052142 -$(package)_dyld_download_file=dyld-195.5.tar.gz -$(package)_dyld_download_path=http://www.opensource.apple.com/tarballs/dyld -$(package)_dyld_file_name=$($(package)_dyld_download_file) -$(package)_dyld_sha256_hash=2cf0484c87cf79b606b351a7055a247dae84093ae92c747a74e0cde2c8c8f83c -$(package)_toolchain4_download_file=10cc648683617cca8bcbeae507888099b41b530c.tar.gz -$(package)_toolchain4_download_path=https://github.com/mingwandroid/toolchain4/archive -$(package)_toolchain4_file_name=toolchain4-1.tar.gz -$(package)_toolchain4_sha256_hash=18406961fd4a1ec5c7ea35c91d6a80a2f8bb797a2bd243a610bd75e13eff9aca -$(package)_clang_download_file=clang+llvm-3.2-x86-linux-ubuntu-12.04.tar.gz -$(package)_clang_download_path=http://llvm.org/releases/3.2 -$(package)_clang_file_name=clang-llvm-3.2-x86-linux-ubuntu-12.04.tar.gz -$(package)_clang_sha256_hash=b9d57a88f9514fa1f327a1a703756d0c1c960f4c58494a5bd80313245d13ffff - +$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb +$(package)_download_path=https://github.com/theuni/cctools-port/archive +$(package)_file_name=$($(package)_version).tar.gz +$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 +$(package)_build_subdir=cctools +$(package)_clang_version=3.3 +$(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) +$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz +$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz +$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7 define $(package)_fetch_cmds $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_ld64_download_path),$($(package)_ld64_download_file),$($(package)_ld64_file_name),$($(package)_ld64_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_dyld_download_path),$($(package)_dyld_download_file),$($(package)_dyld_file_name),$($(package)_dyld_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) && \ -$(call fetch_file,$(package),$($(package)_toolchain4_download_path),$($(package)_toolchain4_download_file),$($(package)_toolchain4_file_name),$($(package)_toolchain4_sha256_hash)) +$(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) endef -define $(package)_set_vars -$(package)_config_opts=--target=$(host) --with-sysroot=$(OSX_SDK) -$(package)_cflags+=-m32 -$(package)_cxxflags+=-m32 -$(package)_cppflags+=-D__DARWIN_UNIX03 -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -$(package)_ldflags+=-m32 -Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib -$(package)_ldflags+=-L$$(native_cctools_extract_dir)/clang+llvm-3.2-x86-linux-ubuntu-12.04/lib -endef define $(package)_extract_cmds - tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_toolchain4_file_name) && \ - ln -sf $($(package)_source) cctools2odcctools/$($(package)_file_name) && \ - ln -sf $($(package)_source_dir)/$($(package)_ld64_file_name) cctools2odcctools/$($(package)_ld64_file_name) && \ - ln -sf $($(package)_source_dir)/$($(package)_dyld_file_name) cctools2odcctools/$($(package)_dyld_file_name) && \ - tar xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ - mkdir -p $(SDK_PATH) sdks &&\ - cd sdks; ln -sf $(OSX_SDK) MacOSX$(OSX_SDK_VERSION).sdk + mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \ + tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ + echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \ + echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \ + chmod +x toolchain/bin/$(host)-dsymutil && \ + tar --strip-components=1 -xf $($(package)_source) +endef + +define $(package)_set_vars +$(package)_config_opts=--target=$(host) --disable-libuuid +$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib +$(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang +$(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ endef define $(package)_preprocess_cmds - sed -i "s|GCC_DIR|LLVM_CLANG_DIR|g" cctools2odcctools/extract.sh && \ - sed -i "s|llvmgcc42-2336.1|clang+llvm-3.2-x86-linux-ubuntu-12.04|g" cctools2odcctools/extract.sh && \ - sed -i "s|/llvmCore/include/llvm-c|/include/llvm-c \$$$${LLVM_CLANG_DIR}/include/llvm |" cctools2odcctools/extract.sh && \ - sed -i "s|fAC_INIT|AC_INIT|" cctools2odcctools/files/configure.ac && \ - sed -i 's/\# Dynamically linked LTO/\t ;\&\n\t linux*)\n# Dynamically linked LTO/' cctools2odcctools/files/configure.ac && \ - cd cctools2odcctools; ./extract.sh --osxver $(OSX_SDK_VERSION) && \ - sed -i "s|define\tPC|define\tPC_|" odcctools-809/include/architecture/sparc/reg.h + cd $($(package)_build_subdir); ./autogen.sh endef define $(package)_config_cmds @@ -68,13 +44,13 @@ endef define $(package)_stage_cmds $(MAKE) DESTDIR=$($(package)_staging_dir) install && \ - cd ../../clang+llvm-3.2-x86-linux-ubuntu-12.04 && \ - mkdir -p $($(package)_staging_prefix_dir)/lib/clang/3.2/include && \ - mkdir -p $($(package)_staging_prefix_dir)/bin && \ + cd $($(package)_extract_dir)/toolchain && \ + mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \ + mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \ cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\ cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \ - cp lib/clang/3.2/include/* $($(package)_staging_prefix_dir)/lib/clang/3.2/include/ && \ - echo "#!/bin/sh" > $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \ - echo "exit 0" >> $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \ - chmod +x $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil + cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \ + cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \ + if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \ + if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi endef diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk index eb4779410..ad64494c1 100644 --- a/depends/packages/openssl.mk +++ b/depends/packages/openssl.mk @@ -1,8 +1,8 @@ package=openssl -$(package)_version=1.0.1k +$(package)_version=1.0.1j $(package)_download_path=https://www.openssl.org/source $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c +$(package)_sha256_hash=1b60ca8789ba6f03e8ef20da2293b8dc131c39d83814e775069f02d26354edf3 define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" @@ -14,13 +14,16 @@ $(package)_config_opts_linux=-fPIC $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 +$(package)_config_opts_aarch64_linux=linux-generic64 +$(package)_config_opts_mipsel_linux=linux-generic32 +$(package)_config_opts_mips_linux=linux-generic32 $(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc $(package)_config_opts_x86_64_mingw32=mingw64 $(package)_config_opts_i686_mingw32=mingw endef define $(package)_preprocess_cmds - sed -i.old "/define DATE/d" util/mkbuildinf.pl && \ + sed -i.old "/define DATE/d" crypto/Makefile && \ sed -i.old "s|engines apps test|engines|" Makefile.org endef diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 6a8e714a4..59c12d22f 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -7,7 +7,7 @@ $(package)_dependencies=openssl $(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext $(package)_build_subdir=qtbase $(package)_qt_libs=corelib network widgets gui plugins testlib -$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch +$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch qt5-yosemite.patch define $(package)_set_vars $(package)_config_opts_release = -release @@ -34,7 +34,7 @@ $(package)_config_opts += -qt-libpng -qt-libjpeg -qt-zlib -qt-pcre ifneq ($(build_os),darwin) $(package)_config_opts_darwin = -xplatform macx-clang-linux -device-option MAC_SDK_PATH=$(OSX_SDK) -device-option CROSS_COMPILE="$(host)-" -$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) +$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) -device-option MAC_LD64_VERSION=$(LD64_VERSION) endif $(package)_config_opts_linux = -qt-xkbcommon -qt-xcb -no-eglfs -no-linuxfb -system-freetype -no-sm -fontconfig -no-xinput2 -no-libudev -no-egl -no-opengl @@ -56,6 +56,7 @@ define $(package)_preprocess_cmds cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \ patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \ patch -p1 < $($(package)_patch_dir)/qt5-tablet-osx.patch && \ + patch -d qtbase -p1 < $($(package)_patch_dir)/qt5-yosemite.patch && \ echo "QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ echo "QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ echo "QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf index f7302265b..a97945bc8 100644 --- a/depends/patches/qt/mac-qmake.conf +++ b/depends/patches/qt/mac-qmake.conf @@ -15,7 +15,7 @@ QMAKE_MAC_SDK.macosx.platform_name = macosx QMAKE_CFLAGS += -target $${MAC_TARGET} QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -QMAKE_LFLAGS += -target $${MAC_TARGET} +QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} QMAKE_AR = $${CROSS_COMPILE}ar cq QMAKE_RANLIB=$${CROSS_COMPILE}ranlib QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool diff --git a/depends/patches/qt/qt5-yosemite.patch b/depends/patches/qt/qt5-yosemite.patch new file mode 100644 index 000000000..d569d34d4 --- /dev/null +++ b/depends/patches/qt/qt5-yosemite.patch @@ -0,0 +1,52 @@ +The following patch was taken from upstream: +https://qt.gitorious.org/qt/qtbase/commit/70e4428b6f1c6a4bad112203f67ee7d22107616c.patch + +The first hunk was removed because it conflicts with 5.2.1, and is not currently needed. + +From 70e4428b6f1c6a4bad112203f67ee7d22107616c Mon Sep 17 00:00:00 2001 +From: Gabriel de Dietrich +Date: Tue, 3 Jun 2014 14:20:20 +0200 +Subject: [PATCH] Cocoa: Adapt to Xcode 6 clang version sudden pickiness +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Yes, that means OS X Yosemite fix. + +Change-Id: I236f7af7b803de24ff0895e04c9a9253b5cfdb3b +Reviewed-by: Morten Johan Sørvig +--- + .../platforms/cocoa/qcocoaaccessibilityelement.mm | 2 +- + .../platforms/cocoa/qcocoaapplicationdelegate.mm | 2 +- + src/plugins/platforms/cocoa/qcocoamenuloader.mm | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm +index f841184..548c6a2 100644 +--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm ++++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm +@@ -124,7 +124,7 @@ static void cleanupCocoaApplicationDelegate() + [dockMenu release]; + [qtMenuLoader release]; + if (reflectionDelegate) { +- [NSApp setDelegate:reflectionDelegate]; ++ [[NSApplication sharedApplication] setDelegate:reflectionDelegate]; + [reflectionDelegate release]; + } + [[NSNotificationCenter defaultCenter] removeObserver:self]; +diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +index 60bc3b5..9340e94 100644 +--- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm ++++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm +@@ -174,7 +174,7 @@ QT_END_NAMESPACE + - (void)removeActionsFromAppMenu + { + for (NSMenuItem *item in [appMenu itemArray]) +- [item setTag:nil]; ++ [item setTag:0]; + } + + - (void)dealloc +-- +1.7.1 + From 7bfcec13ba12b4304c87245332ce5cedd830f873 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 06:46:31 +0100 Subject: [PATCH 358/555] Remove unexisting sources used in dist target --- Makefile.am | 8 +------- src/Makefile.am | 3 --- src/Makefile.qt.include | 2 +- src/Makefile.test.include | 4 +--- 4 files changed, 3 insertions(+), 14 deletions(-) diff --git a/Makefile.am b/Makefile.am index 44d921825..09ed2ac7e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -178,13 +178,7 @@ cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp endif -if USE_COMPARISON_TOOL -check-local: - $(MKDIR_P) qa/tmp - @qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool $(COMPARISON_TOOL_REORG_TESTS) 2>&1 -endif - -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh qa/pull-tester/rpc-tests.sh qa/rpc-tests $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) diff --git a/src/Makefile.am b/src/Makefile.am index e1ab2ac68..9a795d525 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -42,7 +42,6 @@ BITCOIN_CORE_H = \ clientversion.h \ coincontrol.h \ compat.h \ - core.h \ crypter.h \ db.h \ init.h \ @@ -70,9 +69,7 @@ BITCOIN_CORE_H = \ sph_simd.h \ sph_skein.h \ sync.h \ - threadsafety.h \ tinyformat.h \ - txdb.h \ ui_interface.h \ uint256.h \ util.h \ diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 2f67d75e8..a5f02fbee 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -217,7 +217,7 @@ RES_STYLESHEETS = RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png) -BITCOIN_RC = qt/res/bitcoin-qt-res.rc +BITCOIN_RC = qt/res/bitcoin-qt.rc BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ -I$(builddir)/qt/forms diff --git a/src/Makefile.test.include b/src/Makefile.test.include index 265c2b16b..e0fe69336 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -4,9 +4,7 @@ TEST_SRCDIR = test TEST_BINARY=test/test_bitcoin$(EXEEXT) -EXTRA_DIST += \ - test/bctest.py \ - test/bitcoin-util-test.py +EXTRA_DIST += JSON_TEST_FILES = \ test/data/script_valid.json \ From 0b50aba8f87bad8e0f22d50016a1c3c3b065a892 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 07:00:28 +0100 Subject: [PATCH 359/555] remove references to src/leveldb in make dist --- Makefile.am | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/Makefile.am b/Makefile.am index 09ed2ac7e..937ebc0c9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,19 +30,13 @@ OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ - leveldb_baseline.info test_bitcoin_filtered.info total_coverage.info \ + test_bitcoin_filtered.info total_coverage.info \ baseline_filtered.info block_test_filtered.info \ - leveldb_baseline_filtered.info test_bitcoin_coverage.info test_bitcoin.info + test_bitcoin_coverage.info test_bitcoin.info dist-hook: - -$(MAKE) -C $(top_distdir)/src/leveldb clean -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - -distcheck-hook: - $(MKDIR_P) $(top_distdir)/_build/src/leveldb - cp -rf $(top_srcdir)/src/leveldb/* $(top_distdir)/_build/src/leveldb/ - -$(MAKE) -C $(top_distdir)/_build/src/leveldb clean - distcleancheck: @: @@ -132,20 +126,13 @@ baseline.info: baseline_filtered.info: baseline.info $(LCOV) -r $< "/usr/include/*" -o $@ -leveldb_baseline.info: baseline_filtered.info - $(LCOV) -c -i -d $(abs_builddir)/src/leveldb -b $(abs_builddir)/src/leveldb -o $@ - -leveldb_baseline_filtered.info: leveldb_baseline.info - $(LCOV) -r $< "/usr/include/*" -o $@ - -baseline_filtered_combined.info: leveldb_baseline_filtered.info baseline_filtered.info - $(LCOV) -a leveldb_baseline_filtered.info -a baseline_filtered.info -o $@ +baseline_filtered_combined.info: baseline_filtered.info + $(LCOV) -a baseline_filtered.info -o $@ test_bitcoin.info: baseline_filtered_combined.info $(MAKE) -C src/ check $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ $(LCOV) -z -d $(abs_builddir)/src - $(LCOV) -z -d $(abs_builddir)/src/leveldb test_bitcoin_filtered.info: test_bitcoin.info $(LCOV) -r $< "/usr/include/*" -o $@ @@ -155,16 +142,15 @@ block_test.info: test_bitcoin_filtered.info -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ $(LCOV) -z -d $(abs_builddir)/src - $(LCOV) -z -d $(abs_builddir)/src/leveldb block_test_filtered.info: block_test.info $(LCOV) -r $< "/usr/include/*" -o $@ test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info - $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -o $@ + $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -o $@ total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info - $(LCOV) -a baseline_filtered.info -a leveldb_baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt + $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info $(GENHTML) -s $< -o $(@D) From d1c5488ce74a6e81136b3555c763635fc673f737 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 2 Oct 2012 21:36:39 +0200 Subject: [PATCH 360/555] get rid of strlcpy.h Don't use hand-rolled string manipulation routine with a fixed buffer, instead make use of c++ strings and boost. bitcoin commit: https://github.com/bitcoin/bitcoin/commit/6032e4f4e7c1892a4e3f0a1a2007e4cd0fe99937 --- HyperStake-qt.pro | 1 - doc/assets-attribution.txt | 4 -- src/irc.cpp | 16 +++---- src/net.cpp | 1 - src/netbase.cpp | 16 +++---- src/strlcpy.h | 90 -------------------------------------- src/util.cpp | 31 ++++++------- 7 files changed, 30 insertions(+), 129 deletions(-) delete mode 100644 src/strlcpy.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index f7074ada7..d51882eb3 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -166,7 +166,6 @@ HEADERS += src/qt/bitcoingui.h \ src/scrypt_mine.h \ src/pbkdf2.h \ src/serialize.h \ - src/strlcpy.h \ src/main.h \ src/net.h \ src/key.h \ diff --git a/doc/assets-attribution.txt b/doc/assets-attribution.txt index 0b0e37706..fabcdeea7 100644 --- a/doc/assets-attribution.txt +++ b/doc/assets-attribution.txt @@ -1,7 +1,3 @@ -Code: src/strlcpy.h -Author: Todd C. Miller -License: ISC - Icon: src/qt/res/icons/clock*.png, src/qt/res/icons/tx*.png, src/qt/res/src/*.svg Designer: Wladimir van der Laan diff --git a/src/irc.cpp b/src/irc.cpp index 8cf036fee..7c293e4f7 100644 --- a/src/irc.cpp +++ b/src/irc.cpp @@ -5,9 +5,10 @@ #include "irc.h" #include "net.h" -#include "strlcpy.h" #include "base58.h" +#include // for startswith() and endswith() + #if !defined(HAVE_MSG_NOSIGNAL) #define MSG_NOSIGNAL 0 @@ -333,30 +334,27 @@ void ThreadIRCSeed2(void* parg) if (vWords.size() < 2) continue; - char pszName[10000]; - pszName[0] = '\0'; + std::string strName; if (vWords[1] == "352" && vWords.size() >= 8) { // index 7 is limited to 16 characters // could get full length name at index 10, but would be different from join messages - strlcpy(pszName, vWords[7].c_str(), sizeof(pszName)); + strName = vWords[7].c_str(); printf("IRC got who\n"); } if (vWords[1] == "JOIN" && vWords[0].size() > 1) { // :username!username@50000007.F000000B.90000002.IP JOIN :#channelname - strlcpy(pszName, vWords[0].c_str() + 1, sizeof(pszName)); - if (strchr(pszName, '!')) - *strchr(pszName, '!') = '\0'; + strName = vWords[0].substr(1, vWords[0].find('!', 1) - 1); printf("IRC got join\n"); } - if (pszName[0] == 'u') + if (boost::algorithm::starts_with(strName, "u")) { CAddress addr; - if (DecodeAddress(pszName, addr)) + if (DecodeAddress(strName, addr)) { addr.nTime = GetAdjustedTime(); if (addrman.Add(addr, addrConnect, 51 * 60)) diff --git a/src/net.cpp b/src/net.cpp index e254963b5..f7188de78 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -7,7 +7,6 @@ #include "db.h" #include "net.h" #include "init.h" -#include "strlcpy.h" #include "addrman.h" #include "ui_interface.h" diff --git a/src/netbase.cpp b/src/netbase.cpp index c5531ffd0..f34d6f4e7 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -11,8 +11,8 @@ #include #endif -#include "strlcpy.h" #include // for to_lower() +#include // for startswith() and endswith() #if !defined(HAVE_MSG_NOSIGNAL) @@ -124,18 +124,16 @@ bool static LookupIntern(const char *pszName, std::vector& vIP, unsign bool LookupHost(const char *pszName, std::vector& vIP, unsigned int nMaxSolutions, bool fAllowLookup) { - if (pszName[0] == 0) + std::string str(pszName); + std::string strHost = str; + if (str.empty()) return false; - char psz[256]; - char *pszHost = psz; - strlcpy(psz, pszName, sizeof(psz)); - if (psz[0] == '[' && psz[strlen(psz)-1] == ']') + if (boost::algorithm::starts_with(str, "[") && boost::algorithm::ends_with(str, "]")) { - pszHost = psz+1; - psz[strlen(psz)-1] = 0; + strHost = str.substr(1, str.size() - 2); } - return LookupIntern(pszHost, vIP, nMaxSolutions, fAllowLookup); + return LookupIntern(strHost.c_str(), vIP, nMaxSolutions, fAllowLookup); } bool LookupHostNumeric(const char *pszName, std::vector& vIP, unsigned int nMaxSolutions) diff --git a/src/strlcpy.h b/src/strlcpy.h deleted file mode 100644 index 2cc786e95..000000000 --- a/src/strlcpy.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (c) 1998 Todd C. Miller - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ -#ifndef BITCOIN_STRLCPY_H -#define BITCOIN_STRLCPY_H - -#include -#include - -/* - * Copy src to string dst of size siz. At most siz-1 characters - * will be copied. Always NUL terminates (unless siz == 0). - * Returns strlen(src); if retval >= siz, truncation occurred. - */ -inline size_t strlcpy(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; - - /* Copy as many bytes as will fit */ - if (n != 0) - { - while (--n != 0) - { - if ((*d++ = *s++) == '\0') - break; - } - } - - /* Not enough room in dst, add NUL and traverse rest of src */ - if (n == 0) - { - if (siz != 0) - *d = '\0'; /* NUL-terminate dst */ - while (*s++) - ; - } - - return(s - src - 1); /* count does not include NUL */ -} - -/* - * Appends src to string dst of size siz (unlike strncat, siz is the - * full size of dst, not space left). At most siz-1 characters - * will be copied. Always NUL terminates (unless siz <= strlen(dst)). - * Returns strlen(src) + MIN(siz, strlen(initial dst)). - * If retval >= siz, truncation occurred. - */ -inline size_t strlcat(char *dst, const char *src, size_t siz) -{ - char *d = dst; - const char *s = src; - size_t n = siz; - size_t dlen; - - /* Find the end of dst and adjust bytes left but don't go past end */ - while (n-- != 0 && *d != '\0') - d++; - dlen = d - dst; - n = siz - dlen; - - if (n == 0) - return(dlen + strlen(s)); - while (*s != '\0') - { - if (n != 1) - { - *d++ = *s; - n--; - } - s++; - } - *d = '\0'; - - return(dlen + (s - src)); /* count does not include NUL */ -} -#endif diff --git a/src/util.cpp b/src/util.cpp index 0e6087030..4fa8aaedf 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -5,10 +5,11 @@ #include "util.h" #include "sync.h" -#include "strlcpy.h" #include "version.h" #include "ui_interface.h" #include +#include // for to_lower() +#include // for startswith() and endswith() // Work around clang compilation problem in Boost 1.46: // /usr/include/boost/program_options/detail/config_file.hpp:163:17: error: call to function 'to_internal' that is neither visible in the template definition nor found by argument-dependent lookup @@ -555,24 +556,24 @@ void ParseParameters(int argc, const char* const argv[]) mapMultiArgs.clear(); for (int i = 1; i < argc; i++) { - char psz[10000]; - strlcpy(psz, argv[i], sizeof(psz)); - char* pszValue = (char*)""; - if (strchr(psz, '=')) + std::string str(argv[i]); + std::string strValue; + size_t is_index = str.find('='); + if (is_index != std::string::npos) { - pszValue = strchr(psz, '='); - *pszValue++ = '\0'; + strValue = str.substr(is_index+1); + str = str.substr(0, is_index); } - #ifdef WIN32 - _strlwr(psz); - if (psz[0] == '/') - psz[0] = '-'; - #endif - if (psz[0] != '-') +#ifdef WIN32 + boost::to_lower(str); + if (boost::algorithm::starts_with(str, "/")) + str = "-" + str.substr(1); +#endif + if (str[0] != '-') break; - mapArgs[psz] = pszValue; - mapMultiArgs[psz].push_back(pszValue); + mapArgs[str] = strValue; + mapMultiArgs[str].push_back(strValue); } // New 0.6 features: From 51dbeb67ddadd0d3c7f79e5328f107a005e1116d Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 09:57:09 +0100 Subject: [PATCH 361/555] remove leftover strlcpy copyright --- contrib/debian/copyright | 4 ---- 1 file changed, 4 deletions(-) diff --git a/contrib/debian/copyright b/contrib/debian/copyright index b99604913..2c4b98c31 100644 --- a/contrib/debian/copyright +++ b/contrib/debian/copyright @@ -15,10 +15,6 @@ Files: src/json/* Copyright: 2007-2009, John W. Wilkinson License: Expat -Files: src/strlcpy.h -Copyright: 1998, Todd C. Miller -License: ISC - Files: debian/* Copyright: 2010-2011, Jonas Smedegaard 2011, Matt Corallo From 97b81fbaef0264fa06f9113d9ecd52d5a2020c1c Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 10:55:40 +0100 Subject: [PATCH 362/555] Added missing sph_types.h to makefile --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 9a795d525..572327189 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -68,6 +68,7 @@ BITCOIN_CORE_H = \ sph_shavite.h \ sph_simd.h \ sph_skein.h \ + sph_types.h \ sync.h \ tinyformat.h \ ui_interface.h \ From 5c421e0b5a6dd72b7fe9f084faef1c2e52d7dfad Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 11:50:39 +0100 Subject: [PATCH 363/555] Added missing scrypt_mine.h to makefile --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 572327189..548564972 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -56,6 +56,7 @@ BITCOIN_CORE_H = \ pbkdf2.h \ protocol.h \ script.h \ + scrypt_mine.h \ serialize.h \ sph_blake.h \ sph_bmw.h \ From c47f19c8e54bdbb987d3c3b609d84576b972be75 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 12:59:26 +0100 Subject: [PATCH 364/555] added missing hashblock.h to makefile --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 548564972..53e5516a2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,6 +44,7 @@ BITCOIN_CORE_H = \ compat.h \ crypter.h \ db.h \ + hashblock.h \ init.h \ irc.h \ kernel.h \ From 511e252bb1f47775b5422ef08a53c7bc4e67fa06 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 16:28:30 +0100 Subject: [PATCH 365/555] added missing aes_helper.c to makefile --- src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.am b/src/Makefile.am index 53e5516a2..eb7a77a2e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -101,6 +101,7 @@ libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) libbitcoin_server_a_SOURCES = \ addrman.cpp \ + aes_helper.c \ alert.cpp \ bitcoinrpc.cpp \ blake.c \ From d4295f8a43411140f7f0a4fda4d51f384f439493 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Sun, 15 Mar 2015 19:23:28 +0100 Subject: [PATCH 366/555] apparently qcomboboxfiltercoins is not used --- src/qt/coincontroldialog.cpp | 1 - src/qt/qcomboboxfiltercoins.cpp | 33 --------------------------------- src/qt/qcomboboxfiltercoins.h | 30 ------------------------------ 3 files changed, 64 deletions(-) delete mode 100644 src/qt/qcomboboxfiltercoins.cpp delete mode 100644 src/qt/qcomboboxfiltercoins.h diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 9c847a1b8..d0d6fc74e 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -7,7 +7,6 @@ #include "addresstablemodel.h" #include "optionsmodel.h" #include "coincontrol.h" -#include "qcomboboxfiltercoins.h" #include "bitcoinrpc.h" #include diff --git a/src/qt/qcomboboxfiltercoins.cpp b/src/qt/qcomboboxfiltercoins.cpp deleted file mode 100644 index 1def74d82..000000000 --- a/src/qt/qcomboboxfiltercoins.cpp +++ /dev/null @@ -1,33 +0,0 @@ -#include "qcomboboxfiltercoins.h" -#include - -QComboBoxFilterCoins::QComboBoxFilterCoins(QWidget *parent) : - QComboBox(parent), role(Qt::UserRole) -{ - connect(this, SIGNAL(currentIndexChanged(int)), this, SLOT(handleSelectionChanged(int))); -} - -QVariant QComboBoxFilterCoins::value() const -{ - return itemData(currentIndex(), role); -} - -void QComboBoxFilterCoins::setValue(const QVariant &value) -{ - setCurrentIndex(findData(value, role)); -} - -void QComboBoxFilterCoins::setRole(int role) -{ - this->role = role; -} - -void QComboBoxFilterCoins::handleSelectionChanged(int idx) -{ - - QMessageBox* msg = new QMessageBox(); - msg->setWindowTitle("Hello !"); - msg->setText("Selected Index is :"+QString::number(index)); - msg->show(); - //emit valueChanged(); -} diff --git a/src/qt/qcomboboxfiltercoins.h b/src/qt/qcomboboxfiltercoins.h deleted file mode 100644 index d51812a5d..000000000 --- a/src/qt/qcomboboxfiltercoins.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef QCOMBOBOCFILTERCOINS_H -#define QCOMBOBOCFILTERCOINS_H - -#include -#include - -//Derived Class from QComboBox -class QComboBoxFilterCoins: public QComboBox -{ - Q_OBJECT - public: - QComboBoxFilterCoins(QWidget* parent):QComboBox(parent) - { - this->setParent(parent); - connect(this , SIGNAL(currentIndexChanged(int)),this,SLOT(handleSelectionChanged(int))); - }; - ~ QComboBoxFilterCoins(){}; - - public slots: - //Slot that is called when QComboBox selection is changed - void handleSelectionChanged(int index) - { - QMessageBox* msg = new QMessageBox(); - msg->setWindowTitle("Hello !"); - msg->setText("Selected Index is :"+QString::number(index)); - msg->show(); - }; - -}; -#endif \ No newline at end of file From 0606e9acfb845c49dcca479112867925950e3dcd Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Mon, 16 Mar 2015 08:11:25 +0100 Subject: [PATCH 367/555] remove obsolete uritests --- src/qt/test/test_main.cpp | 7 +--- src/qt/test/uritests.cpp | 71 --------------------------------------- src/qt/test/uritests.h | 15 --------- 3 files changed, 1 insertion(+), 92 deletions(-) delete mode 100644 src/qt/test/uritests.cpp delete mode 100644 src/qt/test/uritests.h diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index 3c7794b3b..09f897285 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -1,16 +1,11 @@ #include #include -#include "uritests.h" // This is all you need to run all the tests int main(int argc, char *argv[]) { - bool fInvalid = false; - - URITests test1; - if (QTest::qExec(&test1) != 0) - fInvalid = true; + bool fInvalid = true; return fInvalid; } diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp deleted file mode 100644 index 4662f5ed3..000000000 --- a/src/qt/test/uritests.cpp +++ /dev/null @@ -1,71 +0,0 @@ -#include "uritests.h" -#include "../guiutil.h" -#include "../walletmodel.h" - -#include - -/* -struct SendCoinsRecipient -{ - QString address; - QString label; - qint64 amount; -}; -*/ - -void URITests::uriTests() -{ - SendCoinsRecipient rv; - QUrl uri; - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); - QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString()); - QVERIFY(rv.amount == 0); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString("Wikipedia Example Address")); - QVERIFY(rv.amount == 0); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString()); - QVERIFY(rv.amount == 100000); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString()); - QVERIFY(rv.amount == 100100000); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.amount == 10000000000LL); - QVERIFY(rv.label == QString("Wikipedia Example")); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); - QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString()); - - QVERIFY(GUIUtil::parseBitcoinURI("bitcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv)); - QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); - QVERIFY(rv.label == QString()); - - // We currently don't implement the message parameter (ok, yea, we break spec...) - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); - QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); - QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); - - uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); - QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); -} diff --git a/src/qt/test/uritests.h b/src/qt/test/uritests.h deleted file mode 100644 index 1237516e5..000000000 --- a/src/qt/test/uritests.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef URITESTS_H -#define URITESTS_H - -#include -#include - -class URITests : public QObject -{ - Q_OBJECT - -private slots: - void uriTests(); -}; - -#endif // URITESTS_H From 796d675e387cf8f51d4e1a462212c4306ccccdd3 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Mon, 16 Mar 2015 09:10:37 +0100 Subject: [PATCH 368/555] And remove from the makefile --- src/Makefile.qttest.include | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index a14fefe9c..b1a7857ce 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -1,20 +1,18 @@ bin_PROGRAMS += qt/test/test_bitcoin-qt TESTS += qt/test/test_bitcoin-qt -TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp +TEST_QT_MOC_CPP = if ENABLE_WALLET endif -TEST_QT_H = \ - qt/test/uritests.h +TEST_QT_H = qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) qt_test_test_bitcoin_qt_SOURCES = \ - qt/test/test_main.cpp \ - qt/test/uritests.cpp \ + qt/test/test_main.cpp $(TEST_QT_H) if ENABLE_WALLET endif @@ -27,7 +25,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ - $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno From c5384d9d48f9b479225868111d26844376779d01 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Mon, 16 Mar 2015 12:15:17 +0100 Subject: [PATCH 369/555] Revert "And remove from the makefile" This reverts commit 796d675e387cf8f51d4e1a462212c4306ccccdd3. --- src/Makefile.qttest.include | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index b1a7857ce..a14fefe9c 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -1,18 +1,20 @@ bin_PROGRAMS += qt/test/test_bitcoin-qt TESTS += qt/test/test_bitcoin-qt -TEST_QT_MOC_CPP = +TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp if ENABLE_WALLET endif -TEST_QT_H = +TEST_QT_H = \ + qt/test/uritests.h qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) qt_test_test_bitcoin_qt_SOURCES = \ - qt/test/test_main.cpp + qt/test/test_main.cpp \ + qt/test/uritests.cpp \ $(TEST_QT_H) if ENABLE_WALLET endif @@ -25,7 +27,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ - $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno From 703accb1d6e5f18729bdae8a73fcd1670737fe54 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Mon, 16 Mar 2015 12:15:25 +0100 Subject: [PATCH 370/555] Revert "remove obsolete uritests" This reverts commit 0606e9acfb845c49dcca479112867925950e3dcd. --- src/qt/test/test_main.cpp | 7 +++- src/qt/test/uritests.cpp | 71 +++++++++++++++++++++++++++++++++++++++ src/qt/test/uritests.h | 15 +++++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 src/qt/test/uritests.cpp create mode 100644 src/qt/test/uritests.h diff --git a/src/qt/test/test_main.cpp b/src/qt/test/test_main.cpp index 09f897285..3c7794b3b 100644 --- a/src/qt/test/test_main.cpp +++ b/src/qt/test/test_main.cpp @@ -1,11 +1,16 @@ #include #include +#include "uritests.h" // This is all you need to run all the tests int main(int argc, char *argv[]) { - bool fInvalid = true; + bool fInvalid = false; + + URITests test1; + if (QTest::qExec(&test1) != 0) + fInvalid = true; return fInvalid; } diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp new file mode 100644 index 000000000..4662f5ed3 --- /dev/null +++ b/src/qt/test/uritests.cpp @@ -0,0 +1,71 @@ +#include "uritests.h" +#include "../guiutil.h" +#include "../walletmodel.h" + +#include + +/* +struct SendCoinsRecipient +{ + QString address; + QString label; + qint64 amount; +}; +*/ + +void URITests::uriTests() +{ + SendCoinsRecipient rv; + QUrl uri; + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist=")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist=")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString()); + QVERIFY(rv.amount == 0); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label=Wikipedia Example Address")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString("Wikipedia Example Address")); + QVERIFY(rv.amount == 0); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString()); + QVERIFY(rv.amount == 100000); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString()); + QVERIFY(rv.amount == 100100000); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&label=Wikipedia Example")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.amount == 10000000000LL); + QVERIFY(rv.label == QString("Wikipedia Example")); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address")); + QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString()); + + QVERIFY(GUIUtil::parseBitcoinURI("bitcoin://175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message=Wikipedia Example Address", &rv)); + QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W")); + QVERIFY(rv.label == QString()); + + // We currently don't implement the message parameter (ok, yea, we break spec...) + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message=Wikipedia Example Address")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000&label=Wikipedia Example")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); + + uri.setUrl(QString("bitcoin:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,000.0&label=Wikipedia Example")); + QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv)); +} diff --git a/src/qt/test/uritests.h b/src/qt/test/uritests.h new file mode 100644 index 000000000..1237516e5 --- /dev/null +++ b/src/qt/test/uritests.h @@ -0,0 +1,15 @@ +#ifndef URITESTS_H +#define URITESTS_H + +#include +#include + +class URITests : public QObject +{ + Q_OBJECT + +private slots: + void uriTests(); +}; + +#endif // URITESTS_H From 26ecf4c9d3105a5876c1efee055b7de50e738378 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Tue, 17 Mar 2015 22:27:12 +0100 Subject: [PATCH 371/555] Add mining.png to the makefile --- src/Makefile.qt.include | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index a5f02fbee..65752613d 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -149,6 +149,7 @@ RES_ICONS = \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ qt/res/icons/notsynced.png \ + qt/res/icons/mining.png \ qt/res/icons/overview.png \ qt/res/icons/qrcode.png \ qt/res/icons/quit.png \ From c4d5fba0840a48e6e66fa554bc50b05013fd5a1e Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Wed, 18 Mar 2015 08:26:48 +0100 Subject: [PATCH 372/555] Added missing blexp.png to the makefile --- src/Makefile.qt.include | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 65752613d..f767f8db9 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -124,6 +124,7 @@ BITCOIN_QT_H = \ RES_ICONS = \ qt/res/icons/add.png \ qt/res/icons/address-book.png \ + qt/res/icons/blexp.png \ qt/res/icons/clock1.png \ qt/res/icons/clock2.png \ qt/res/icons/clock3.png \ @@ -148,8 +149,8 @@ RES_ICONS = \ qt/res/icons/key.png \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ - qt/res/icons/notsynced.png \ qt/res/icons/mining.png \ + qt/res/icons/notsynced.png \ qt/res/icons/overview.png \ qt/res/icons/qrcode.png \ qt/res/icons/quit.png \ From 606469f3a024bbeb93cc2f57532c70fbaf46bbc9 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Wed, 18 Mar 2015 09:28:45 +0100 Subject: [PATCH 373/555] Added missing info.png to the makefile --- src/Makefile.qt.include | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index f767f8db9..e90210c85 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -146,6 +146,7 @@ RES_ICONS = \ qt/res/icons/hyperstake-16.png \ qt/res/icons/hyperstake-32.png \ qt/res/icons/hyperstake-128.png \ + qt/res/icons/info.png \ qt/res/icons/key.png \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ From 64893e639514174b1c3d088ba868ce0b7e6bc38c Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Wed, 18 Mar 2015 10:07:02 +0100 Subject: [PATCH 374/555] Added missing mining_inactive.png to the makefile --- src/Makefile.qt.include | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index e90210c85..2105c08db 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -151,6 +151,7 @@ RES_ICONS = \ qt/res/icons/lock_closed.png \ qt/res/icons/lock_open.png \ qt/res/icons/mining.png \ + qt/res/icons/mining_inactive.png \ qt/res/icons/notsynced.png \ qt/res/icons/overview.png \ qt/res/icons/qrcode.png \ From 57f21a3bc2a1082e4e0e2e8c90928d26068e0ae5 Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Wed, 18 Mar 2015 11:09:10 +0100 Subject: [PATCH 375/555] Added missing s4c.png to the makefile --- src/Makefile.qt.include | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 2105c08db..f08751f32 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -158,6 +158,7 @@ RES_ICONS = \ qt/res/icons/quit.png \ qt/res/icons/receive.png \ qt/res/icons/remove.png \ + qt/res/icons/s4c.png \ qt/res/icons/send.png \ qt/res/icons/synced.png \ qt/res/icons/transaction0.png \ From bdee3411ecc303890d45b6756c2adda4519aed3a Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Wed, 18 Mar 2015 11:57:15 +0100 Subject: [PATCH 376/555] Added missing movies to the makefile --- src/Makefile.qt.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index f08751f32..1a9d3bbfd 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -220,7 +220,7 @@ RES_IMAGES = \ RES_STYLESHEETS = -RES_MOVIES = $(wildcard qt/res/movies/spinner-*.png) +RES_MOVIES = $(wildcard qt/res/movies/*.mng) BITCOIN_RC = qt/res/bitcoin-qt.rc From 84b4374f4f9c93197e8791cd071675beba713e04 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 15 Apr 2015 15:32:07 -0600 Subject: [PATCH 377/555] Double check for mintable coins --- src/main.cpp | 7 ++----- src/wallet.cpp | 13 +++++++++++++ src/wallet.h | 1 + 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 9c7866b60..a23a7f216 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4478,8 +4478,6 @@ static int nLimitProcessors = -1; void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) { - - printf("CPUMiner started for proof-of-%s\n", fProofOfStake? "stake" : "work"); SetThreadPriority(THREAD_PRIORITY_LOWEST); @@ -4489,14 +4487,13 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) // Each thread has its own key and counter CReserveKey reservekey(pwallet); unsigned int nExtraNonce = 0; - + while (fGenerateBitcoins || fProofOfStake) { if (fShutdown) return; - - while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked()) + while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !pwallet->MintableCoins()) { nLastCoinStakeSearchInterval = 0; Sleep(1000); diff --git a/src/wallet.cpp b/src/wallet.cpp index 037f3d6ad..adbe3efc7 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1322,6 +1322,19 @@ bool CWallet::SelectStakeCoins(std::set return true; } +bool CWallet::MintableCoins() +{ + vector vCoins; + AvailableCoins(vCoins, true); + + BOOST_FOREACH(const COutput& out, vCoins) + { + if(GetTime() - out.tx->GetTxTime() > fTestNet? nStakeMinAge : nStakeMinAgeV2) + return true; + } + return false; +} + bool CWallet::SelectCoins(int64 nTargetValue, unsigned int nSpendTime, set >& setCoinsRet, int64& nValueRet, const CCoinControl* coinControl) const { vector vCoins; diff --git a/src/wallet.h b/src/wallet.h index 11624dd41..e38ad0561 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -80,6 +80,7 @@ class CWallet : public CCryptoKeyStore int nWalletMaxVersion; public: + bool MintableCoins(); mutable CCriticalSection cs_wallet; bool fFileBacked; std::string strWalletFile; From 58894ba439e68d7a1418a169857cba38ec9c4bb7 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 15 Apr 2015 15:32:44 -0600 Subject: [PATCH 378/555] remove printf error from kernel to prevent log growth --- src/kernel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 5f06f552f..3b16d52b1 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -249,7 +249,7 @@ static bool GetKernelStakeModifier(uint256 hashBlockFrom, uint64& nStakeModifier pindex->GetBlockHash().ToString().c_str(), pindex->nHeight, hashBlockFrom.ToString().c_str()); else { - printf("FAILED BECAUSE no pindexnext\n"); + //printf("FAILED BECAUSE no pindexnext\n"); return false; } From 41693feb31637314db0edfa8670c04f3d3cce066 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 11:14:40 -0600 Subject: [PATCH 379/555] multisend GUI part 1 Still need to redesign the dialog to have a clear multisend vector button, and get rid of stake for charity text as well as min, max, and changeaddress fields --- src/qt/bitcoingui.cpp | 4 +- src/qt/charitydialog.cpp | 154 ++++++++------------------------------- 2 files changed, 33 insertions(+), 125 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5e2b2c770..5f32d4229 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -431,7 +431,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(changePassphraseAction); settings->addAction(checkWalletAction); settings->addAction(repairWalletAction); - //settings->addAction(charityAction); + settings->addAction(charityAction); settings->addAction(calcAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -462,7 +462,7 @@ void BitcoinGUI::createToolBars() toolbar->addAction(receiveCoinsAction); toolbar->addAction(historyAction); toolbar->addAction(addressBookAction); - //toolbar->addAction(charityAction); + toolbar->addAction(charityAction); QToolBar *toolbar2 = addToolBar(tr("Actions toolbar")); toolbar2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index a92e74822..e9bf02a3b 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -9,6 +9,11 @@ #include #include +#include + +using namespace std; +using namespace boost; + StakeForCharityDialog::StakeForCharityDialog(QWidget *parent) : QWidget(parent), ui(new Ui::StakeForCharityDialog), @@ -24,30 +29,7 @@ StakeForCharityDialog::~StakeForCharityDialog() void StakeForCharityDialog::setModel(WalletModel *model) { - this->model = model; - - CBitcoinAddress strAddress; - CBitcoinAddress strChangeAddress; - int nPer; - int64 nMin; - int64 nMax; - - //model->getStakeForCharity(nPer, strAddress, strChangeAddress, nMin, nMax); - /* - if (strAddress.IsValid() && nPer > 0 ) - { - ui->charityAddressEdit->setText(strAddress.ToString().c_str()); - ui->charityPercentEdit->setText(QString::number(nPer)); - if (strChangeAddress.IsValid()) - ui->charityChangeAddressEdit->setText(strChangeAddress.ToString().c_str()); - if (nMin > 0 && nMin != MIN_TX_FEE) - ui->charityMinEdit->setText(QString::number(nMin/COIN)); - if (nMax > 0 && nMax != MAX_MONEY) - ui->charityMaxEdit->setText(QString::number(nMax/COIN)); - ui->message->setProperty("status", "ok"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("You are now giving to\n") + strAddress.ToString().c_str() + tr(".")); - }*/ + } void StakeForCharityDialog::setAddress(const QString &address) @@ -72,34 +54,12 @@ void StakeForCharityDialog::on_addressBookButton_clicked() } } -void StakeForCharityDialog::on_changeAddressBookButton_clicked() -{ - if (model && model->getAddressTableModel()) - { - AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); - dlg.setModel(model->getAddressTableModel()); - //if (dlg.exec()) - //setAddress(dlg.getReturnValue(), ui->charityChangeAddressEdit); - } -} - void StakeForCharityDialog::on_enableButton_clicked() { - /* if(model->getEncryptionStatus() == WalletModel::Locked) - { - ui->message->setProperty("status", ""); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("Please unlock wallet before starting stake for charity.")); - return; - } - bool fValidConversion = false; - int64 nMinAmount = MIN_TXOUT_AMOUNT; - int64 nMaxAmount = MAX_MONEY; - CBitcoinAddress changeAddress = ""; - CBitcoinAddress address = ui->charityAddressEdit->text().toStdString(); - if (!address.IsValid()) + std::string strAddress = ui->charityAddressEdit->text().toStdString(); + if (!CBitcoinAddress(strAddress).IsValid()) { ui->message->setProperty("status", "error"); ui->message->style()->polish(ui->message); @@ -109,94 +69,42 @@ void StakeForCharityDialog::on_enableButton_clicked() } int nCharityPercent = ui->charityPercentEdit->text().toInt(&fValidConversion, 10); - if (!fValidConversion || nCharityPercent > 50 || nCharityPercent <= 0) + if (!fValidConversion || nCharityPercent > 100 || nCharityPercent <= 0) { ui->message->setProperty("status", "error"); ui->message->style()->polish(ui->message); - ui->message->setText(tr("Please Enter 1 - 50 for percent.")); + ui->message->setText(tr("Please Enter 1 - 100 for percent.")); ui->charityPercentEdit->setFocus(); return; } - if (!ui->charityMinEdit->text().isEmpty()) - { - nMinAmount = ui->charityMinEdit->text().toDouble(&fValidConversion) * COIN; - if(!fValidConversion || nMinAmount <= MIN_TXOUT_AMOUNT || nMinAmount >= MAX_MONEY ) - { - ui->message->setProperty("status", "error"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("Min Amount out of Range, please re-enter.")); - ui->charityMinEdit->setFocus(); - return; - } - } - - if (!ui->charityMaxEdit->text().isEmpty()) - { - nMaxAmount = ui->charityMaxEdit->text().toDouble(&fValidConversion) * COIN; - if(!fValidConversion || nMaxAmount <= MIN_TXOUT_AMOUNT || nMaxAmount >= MAX_MONEY ) - { - ui->message->setProperty("status", "error"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("Max Amount out of Range, please re-enter.")); - ui->charityMaxEdit->setFocus(); - return; - } - } - - if (nMinAmount >= nMaxAmount) - { - ui->message->setProperty("status", "error"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("Min Amount > Max Amount, please re-enter.")); - ui->charityMinEdit->setFocus(); - return; - } - - if (!ui->charityChangeAddressEdit->text().isEmpty()) - { - changeAddress = ui->charityChangeAddressEdit->text().toStdString(); - if (!changeAddress.IsValid()) - { - ui->message->setProperty("status", "error"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("The entered change address:\n") + ui->charityChangeAddressEdit->text() + tr(" is invalid.\nPlease check the address and try again.")); - ui->charityChangeAddressEdit->setFocus(); - return; - } - else if (!model->isMine(changeAddress)) - { - ui->message->setProperty("status", "error"); - ui->message->style()->polish(ui->message); - ui->message->setText(tr("The entered change address:\n") + ui->charityChangeAddressEdit->text() + tr(" is not owned.\nPlease check the address and try again.")); - ui->charityChangeAddressEdit->setFocus(); - return; - } - } - - model->setStakeForCharity(true, nCharityPercent, address, changeAddress, nMinAmount, nMaxAmount); + pwalletMain->fMultiSend = true; + std::pair pMultiSend; + pMultiSend.first = strAddress; + pMultiSend.second = nCharityPercent; + pwalletMain->vMultiSend.push_back(pMultiSend); + ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); - ui->message->setText(tr("You are now sending to\n") + QString(address.ToString().c_str()) + tr(".")); - return;*/ + + std::string strMultiSendPrint = ""; + for(int i = 0; i < (int)pwalletMain->vMultiSend.size(); i++) + { + pMultiSend = pwalletMain->vMultiSend[i]; + strMultiSendPrint += pMultiSend.first.c_str(); + strMultiSendPrint += " - "; + strMultiSendPrint += boost::lexical_cast(pMultiSend.second); + strMultiSendPrint += "% \n"; + } + ui->message->setText(tr("You are now sending to\n") + QString(strMultiSendPrint.c_str())); + return; } void StakeForCharityDialog::on_disableButton_clicked() { - /* int nCharityPercent = 0; - CBitcoinAddress address = ""; - CBitcoinAddress changeAddress = ""; - int64 nMinAmount = MIN_TXOUT_AMOUNT; - int64 nMaxAmount = MAX_MONEY; - - model->setStakeForCharity(false, nCharityPercent, address, changeAddress, nMinAmount, nMaxAmount); - ui->charityAddressEdit->clear(); - ui->charityChangeAddressEdit->clear(); - ui->charityMaxEdit->clear(); - ui->charityMinEdit->clear(); - ui->charityPercentEdit->clear(); + pwalletMain->fMultiSend = false; ui->message->setProperty("status", ""); ui->message->style()->polish(ui->message); - ui->message->setText(tr("Stake For Charity is now off")); - return;*/ + ui->message->setText(tr("MultiSend is disabled")); + return; } From 005b3015f1196336569b04f192862db50572d1a3 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 11:27:05 -0600 Subject: [PATCH 380/555] add on_changeaddressbookbutton_clicked() make it compilable until it is completely removed --- src/qt/charitydialog.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index e9bf02a3b..259d3ae1f 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -108,3 +108,8 @@ void StakeForCharityDialog::on_disableButton_clicked() ui->message->setText(tr("MultiSend is disabled")); return; } + +void StakeForCharityDialog::on_changeAddressBookButton_clicked() +{ + +} From b9e680486b11864568957318a631c469a68ff5c2 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 11:37:44 -0600 Subject: [PATCH 381/555] check for reservebalance CWallet::MintableCoins() --- src/wallet.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index adbe3efc7..481b18a37 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1324,6 +1324,13 @@ bool CWallet::SelectStakeCoins(std::set bool CWallet::MintableCoins() { + int64 nBalance = GetBalance(); + int64 nReserveBalance = 0; + if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) + return error("MintableCoins() : invalid reserve balance amount"); + if (nBalance <= nReserveBalance) + return false; + vector vCoins; AvailableCoins(vCoins, true); @@ -1331,7 +1338,8 @@ bool CWallet::MintableCoins() { if(GetTime() - out.tx->GetTxTime() > fTestNet? nStakeMinAge : nStakeMinAgeV2) return true; - } + } + return false; } From 56f5b04c748915908e8cf531d6ed538ad5d83a28 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 17:04:03 -0600 Subject: [PATCH 382/555] MultiSend GUI part II --- src/qt/bitcoingui.cpp | 4 +- src/qt/charitydialog.cpp | 109 +++++++++++++++++-- src/qt/charitydialog.h | 11 +- src/qt/forms/charitydialog.ui | 191 +++++++++++----------------------- 4 files changed, 171 insertions(+), 144 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 5f32d4229..167b19c1d 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -309,8 +309,8 @@ void BitcoinGUI::createActions() aboutAction->setToolTip(tr("Show information about HyperStake")); aboutAction->setMenuRole(QAction::AboutRole); - charityAction = new QAction(QIcon(":/icons/s4c"), tr("&S4C"), this); - charityAction->setToolTip(tr("Enable Stake For Charity")); + charityAction = new QAction(QIcon(":/icons/s4c"), tr("&MultiSend"), this); + charityAction->setToolTip(tr("MultiSend Settings")); charityAction->setCheckable(true); charityAction->setShortcut(QKeySequence(Qt::ALT + Qt::Key_7)); tabGroup->addAction(charityAction); diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index 259d3ae1f..c359e73d6 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -54,7 +54,32 @@ void StakeForCharityDialog::on_addressBookButton_clicked() } } -void StakeForCharityDialog::on_enableButton_clicked() +void StakeForCharityDialog::on_viewButton_clicked() +{ + std::pair pMultiSend; + std::string strMultiSendPrint = ""; + if(pwalletMain->fMultiSend) + strMultiSendPrint += "MultiSend Active\n"; + else + strMultiSendPrint += "MultiSend Not Active\n"; + + for(int i = 0; i < (int)pwalletMain->vMultiSend.size(); i++) + { + pMultiSend = pwalletMain->vMultiSend[i]; + strMultiSendPrint += pMultiSend.first.c_str(); + strMultiSendPrint += " - "; + strMultiSendPrint += boost::lexical_cast(pMultiSend.second); + strMultiSendPrint += "% \n"; + } + + ui->message->setProperty("status", "ok"); + ui->message->style()->polish(ui->message); + ui->message->setText(QString(strMultiSendPrint.c_str())); + return; +} + + +void StakeForCharityDialog::on_addButton_clicked() { bool fValidConversion = false; @@ -68,7 +93,20 @@ void StakeForCharityDialog::on_enableButton_clicked() return; } + int nCharityPercent = ui->charityPercentEdit->text().toInt(&fValidConversion, 10); + int nSumMultiSend = 0; + for(int i = 0; i < (int)pwalletMain->vMultiSend.size(); i++) + nSumMultiSend += pwalletMain->vMultiSend[i].second; + + if(nSumMultiSend + nCharityPercent > 100) + { + ui->message->setProperty("status", "error"); + ui->message->style()->polish(ui->message); + ui->message->setText(tr("The total amount of your MultiSend vector is over 100% of your stake reward\n")); + ui->charityAddressEdit->setFocus(); + return; + } if (!fValidConversion || nCharityPercent > 100 || nCharityPercent <= 0) { ui->message->setProperty("status", "error"); @@ -78,7 +116,6 @@ void StakeForCharityDialog::on_enableButton_clicked() return; } - pwalletMain->fMultiSend = true; std::pair pMultiSend; pMultiSend.first = strAddress; pMultiSend.second = nCharityPercent; @@ -96,20 +133,76 @@ void StakeForCharityDialog::on_enableButton_clicked() strMultiSendPrint += boost::lexical_cast(pMultiSend.second); strMultiSendPrint += "% \n"; } - ui->message->setText(tr("You are now sending to\n") + QString(strMultiSendPrint.c_str())); + CWalletDB walletdb(pwalletMain->strWalletFile); + walletdb.WriteMultiSend(pwalletMain->vMultiSend); + ui->message->setText(tr("MultiSend Vector\n") + QString(strMultiSendPrint.c_str())); return; } -void StakeForCharityDialog::on_disableButton_clicked() +void StakeForCharityDialog::on_deleteButton_clicked() { - pwalletMain->fMultiSend = false; - ui->message->setProperty("status", ""); + std::vector > vMultiSendTemp = pwalletMain->vMultiSend; + std::string strAddress = ui->charityAddressEdit->text().toStdString(); + bool fRemoved = false; + for(int i = 0; i < (int)pwalletMain->vMultiSend.size(); i++) + { + if(pwalletMain->vMultiSend[i].first == strAddress) + { + pwalletMain->vMultiSend.erase(pwalletMain->vMultiSend.begin() + i); + fRemoved = true; + } + } + + CWalletDB walletdb(pwalletMain->strWalletFile); + + if(!walletdb.EraseMultiSend(vMultiSendTemp)) + fRemoved = false; + if(!walletdb.WriteMultiSend(pwalletMain->vMultiSend)) + fRemoved = false; + + if(fRemoved) + ui->message->setText(tr("Removed ") + QString(strAddress.c_str())); + else + ui->message->setText(tr("Could not locate address\n")); + return; +} + +void StakeForCharityDialog::on_activateButton_clicked() +{ + std::string strRet = ""; + if(pwalletMain->vMultiSend.size() < 1) + strRet = "Unable to activate MultiSend, check MultiSend vector\n"; + else if(CBitcoinAddress(pwalletMain->vMultiSend[0].first).IsValid()) + { + pwalletMain->fMultiSend = true; + CWalletDB walletdb(pwalletMain->strWalletFile); + if(!walletdb.WriteMSettings(true, pwalletMain->nLastMultiSendHeight)) + strRet = "MultiSend activated but writing settings to DB failed"; + else + strRet = "MultiSend activated"; + } + else + strRet = "First Address Not Valid"; + + ui->message->setProperty("status", "ok"); ui->message->style()->polish(ui->message); - ui->message->setText(tr("MultiSend is disabled")); + ui->message->setText(tr(strRet.c_str())); return; } -void StakeForCharityDialog::on_changeAddressBookButton_clicked() +void StakeForCharityDialog::on_disableButton_clicked() { + std::string strRet = ""; + pwalletMain->fMultiSend = false; + CWalletDB walletdb(pwalletMain->strWalletFile); + if(!walletdb.WriteMSettings(false, pwalletMain->nLastMultiSendHeight)) + strRet = "MultiSend deactivated but writing settings to DB failed"; + else + strRet = "MultiSend deactivated"; + ui->message->setProperty("status", ""); + ui->message->style()->polish(ui->message); + ui->message->setText(tr(strRet.c_str())); + return; } + diff --git a/src/qt/charitydialog.h b/src/qt/charitydialog.h index 0fc73c8f2..9b19fbcd1 100644 --- a/src/qt/charitydialog.h +++ b/src/qt/charitydialog.h @@ -18,12 +18,15 @@ class StakeForCharityDialog : public QWidget void setModel(WalletModel *model); void setAddress(const QString &address); - void setAddress(const QString &address, QLineEdit *addrEdit); + void setAddress(const QString &address, QLineEdit *addrEdit); private slots: - void on_enableButton_clicked(); - void on_disableButton_clicked(); + void on_viewButton_clicked(); + void on_addButton_clicked(); + void on_deleteButton_clicked(); + void on_activateButton_clicked(); + void on_disableButton_clicked(); void on_addressBookButton_clicked(); - void on_changeAddressBookButton_clicked(); + private: Ui::StakeForCharityDialog *ui; diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index 00fc0e2d9..1c766f71b 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -19,25 +19,25 @@ - 20 - 110 + 80 + 120 131 20 - Enter whole numbers 1 - 50 + Enter whole numbers 1 - 100 - Enter % to Give (1-50) + Enter % to Give (1-100) - 110 + 80 150 - 481 + 401 21 @@ -53,16 +53,18 @@ 30 20 - 591 - 61 + 451 + 91 1 - Stake For Charity allows you to automatically send up to 50% of your stake to another HyperStake address after it matures. -Please enter percentage to give and HyperStake address to give to. Min and Max amount and change address are optional. + MultiSend allows you to automatically send up to 100% of your stake to a list of other HyperStake address after it matures. +To Add: enter percentage to give and HyperStake address to add to the MultiSend vector. +To Delete: Enter address to delete and press delete. +MultiSend will not be activated unless you have clicked Activate Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop @@ -71,60 +73,25 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a true - - - - 230 - 110 - 151 - 20 - - - - - - - Enter Min Amount (optional) - - - - - - 460 - 110 - 151 - 20 - - - - - - - - - - Enter Max Amount (optional) - - - 330 - 220 - 291 - 61 + 240 + 200 + 381 + 91 - + 20 - 240 - 75 + 230 + 91 23 @@ -132,32 +99,32 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a - Check and turn on Stake For Charity + Add to MultiSend Vector - Enable + Add - 160 - 240 - 75 + 120 + 260 + 91 23 - Turn off Stake For Charity + Deactivate MultiSend - Disable + Deactivate - 590 + 480 150 28 21 @@ -180,53 +147,11 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a false - - - - 110 - 190 - 481 - 21 - - - - Change address must be owned by you - - - Enter Change Address (optional) - - - - - - 590 - 190 - 28 - 21 - - - - Choose an address from the address book - - - - - - - :/icons/address-book:/icons/address-book - - - Alt+A - - - false - - - 50 - 90 + 20 + 120 61 20 @@ -238,68 +163,74 @@ Please enter percentage to give and HyperStake address to give to. Min and Max a Percentage: - + - 270 - 90 - 61 + 20 + 150 + 91 16 - Min amount to send + Address to send portion of stake to - Min Amount: + Address: - + - 500 - 90 - 71 - 20 + 120 + 230 + 91 + 23 - Max amount to send + + + + Delete Address From MultiSend Vector - Max Amount: + Delete - + 20 - 150 + 260 91 - 16 + 23 - - Address to send portion of stake to + + Activate MultiSend - Charity Address: + Activate - + - 20 - 190 - 81 - 16 + 60 + 200 + 121 + 23 - The amount left over returned to you + + + + View MultiSend Vector - Change Address: + View MultiSend From bf61c87416cb34e2c7a2326a91a60a47c343fece Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 17:16:00 -0600 Subject: [PATCH 383/555] v 1.1.1.0 --- src/clientversion.h | 4 ++-- src/version.cpp | 2 +- src/version.h | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/clientversion.h b/src/clientversion.h index b7f68e9aa..340424471 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,8 +16,8 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 2 +#define CLIENT_VERSION_REVISION 1 +#define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.cpp b/src/version.cpp index dc712f357..1fa7e40de 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.0.2" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.0" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 7f2061778..580194f1d 100644 --- a/src/version.h +++ b/src/version.h @@ -33,7 +33,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 -#define DISPLAY_VERSION_REVISION 0 -#define DISPLAY_VERSION_BUILD 2 +#define DISPLAY_VERSION_REVISION 1 +#define DISPLAY_VERSION_BUILD 0 #endif From 00c0270f1c1c66e8268313b80989a8382994c581 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 17:34:32 -0600 Subject: [PATCH 384/555] adjust charitydialog spacing for linux --- src/qt/forms/charitydialog.ui | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index 1c766f71b..37c14ae20 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -19,7 +19,7 @@ - 80 + 140 120 131 20 @@ -35,7 +35,7 @@ - 80 + 140 150 401 21 @@ -52,7 +52,7 @@ 30 - 20 + 10 451 91 @@ -124,7 +124,7 @@ MultiSend will not be activated unless you have clicked Activate - 480 + 540 150 28 21 @@ -150,7 +150,7 @@ MultiSend will not be activated unless you have clicked Activate - 20 + 30 120 61 20 @@ -166,7 +166,7 @@ MultiSend will not be activated unless you have clicked Activate - 20 + 30 150 91 16 From 258b605d88e0c6c0206032135e4542b0ecafe9c3 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 20 May 2015 17:45:50 -0600 Subject: [PATCH 385/555] charitydialog linux 2 --- src/qt/forms/charitydialog.ui | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/qt/forms/charitydialog.ui b/src/qt/forms/charitydialog.ui index 37c14ae20..796c2fdf8 100644 --- a/src/qt/forms/charitydialog.ui +++ b/src/qt/forms/charitydialog.ui @@ -19,7 +19,7 @@ - 140 + 170 120 131 20 @@ -35,7 +35,7 @@ - 140 + 170 150 401 21 @@ -52,9 +52,9 @@ 30 - 10 + 0 451 - 91 + 121 @@ -124,7 +124,7 @@ MultiSend will not be activated unless you have clicked Activate - 540 + 570 150 28 21 @@ -152,7 +152,7 @@ MultiSend will not be activated unless you have clicked Activate 30 120 - 61 + 121 20 @@ -168,7 +168,7 @@ MultiSend will not be activated unless you have clicked Activate 30 150 - 91 + 111 16 From f90e82796ceb6cf04fa4ef61d9398ed3b994bd55 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 22 May 2015 14:25:19 -0600 Subject: [PATCH 386/555] fix grabbing wrong age for coin selection --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 481b18a37..759fc0b27 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1312,7 +1312,7 @@ bool CWallet::SelectStakeCoins(std::set { if(nAmountSelected + out.tx->vout[out.i].nValue < nTargetAmount) { - if(GetTime() - out.tx->GetTxTime() > fTestNet? nStakeMinAge : nStakeMinAgeV2) + if(GetTime() - out.tx->GetTxTime() > (fTestNet ? nStakeMinAge : nStakeMinAgeV2)) { setCoins.insert(make_pair(out.tx, out.i)); nAmountSelected += out.tx->vout[out.i].nValue; From 4a85d89489e1a9d4414b875a569f68d00b6983a9 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 22 May 2015 14:31:04 -0600 Subject: [PATCH 387/555] bump build # v1.1.1.1 --- src/clientversion.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/clientversion.h b/src/clientversion.h index 340424471..83929009b 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 1 -#define CLIENT_VERSION_BUILD 0 +#define CLIENT_VERSION_BUILD 1 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.cpp b/src/version.cpp index 1fa7e40de..1158a4d8c 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.0" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.1" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 580194f1d..ce60ff9d8 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 #define DISPLAY_VERSION_REVISION 1 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 1 #endif From 7795511686b0998be717358cbd778549e8092415 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 22 May 2015 15:10:18 -0600 Subject: [PATCH 388/555] fix mintable coins --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 759fc0b27..aefc4c914 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1336,7 +1336,7 @@ bool CWallet::MintableCoins() BOOST_FOREACH(const COutput& out, vCoins) { - if(GetTime() - out.tx->GetTxTime() > fTestNet? nStakeMinAge : nStakeMinAgeV2) + if(GetTime() - out.tx->GetTxTime() > (fTestNet? nStakeMinAge : nStakeMinAgeV2)) return true; } From 9df23863d7c0e54da5851f1330b955014bcaaacc Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 28 May 2015 22:57:13 -0600 Subject: [PATCH 389/555] remove checkpoint server errors HYP has no checkpoint server --- src/checkpoints.cpp | 2 +- src/main.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 149dfda1a..2c0a258d2 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -371,7 +371,7 @@ namespace Checkpoints } // ppcoin: sync-checkpoint master key -const std::string CSyncCheckpoint::strMasterPubKey = ""; +const std::string CSyncCheckpoint::strMasterPubKey = "pRbwpBsgumVu2pUA4u2BajC9NU5HEQ7Xuq"; std::string CSyncCheckpoint::strMasterPrivKey = ""; diff --git a/src/main.cpp b/src/main.cpp index a23a7f216..dbb3b5931 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2904,7 +2904,7 @@ string GetWarnings(string strFor) // ppcoin: should not enter safe mode for longer invalid chain // ppcoin: if sync-checkpoint is too old do not enter safe mode - if (Checkpoints::IsSyncCheckpointTooOld(60 * 60 * 24 * 365) && !fTestNet && !IsInitialBlockDownload()) + /*if (Checkpoints::IsSyncCheckpointTooOld(60 * 60 * 24 * 365) && !fTestNet && !IsInitialBlockDownload()) { nPriority = 100; strStatusBar = "WARNING: Checkpoint is too old. Wait for block chain to download, or notify developers."; @@ -2915,7 +2915,7 @@ string GetWarnings(string strFor) { nPriority = 3000; strStatusBar = strRPC = "WARNING: Invalid checkpoint found! Displayed transactions may not be correct! You may need to upgrade, or notify developers."; - } + }*/ // Alerts { From 9f274a7c072e420a18e2be041d9c9bfe30074f1d Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 28 May 2015 22:57:25 -0600 Subject: [PATCH 390/555] bump build v1.1.1.2 --- src/clientversion.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/clientversion.h b/src/clientversion.h index 83929009b..a2d62ecb8 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 1 -#define CLIENT_VERSION_BUILD 1 +#define CLIENT_VERSION_BUILD 2 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.cpp b/src/version.cpp index 1158a4d8c..fcdc140a6 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.1" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.2" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index ce60ff9d8..80bd0ba7a 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 #define DISPLAY_VERSION_REVISION 1 -#define DISPLAY_VERSION_BUILD 1 +#define DISPLAY_VERSION_BUILD 2 #endif From d326167db55a492dcf4ebc52a87656db54409faa Mon Sep 17 00:00:00 2001 From: Rob Van Mieghem Date: Tue, 2 Jun 2015 15:15:47 +0200 Subject: [PATCH 391/555] Package the themes in the osx application bundle --- Makefile.am | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 937ebc0c9..980428f37 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,6 +16,8 @@ OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/bitcoin.icns OSX_PLIST=$(top_srcdir)/share/qt/Info.plist #not installed OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW +THEMES=$(top_srcdir)/src/qt/res/themes + DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ @@ -70,9 +72,12 @@ $(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ +$(OSX_APP)/Contents/MacOS/themes: $(THEMES) + cp -R $(THEMES) $(@D) + OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Hyperstake-Qt + $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes if BUILD_DARWIN $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) From d7c9d12db47a5e09976ddccdced5ad41eda4247c Mon Sep 17 00:00:00 2001 From: billotronic Date: Sat, 6 Jun 2015 16:52:08 -0500 Subject: [PATCH 392/555] Update Makefile.am --- Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.am b/Makefile.am index 980428f37..d7f567c1f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -73,6 +73,7 @@ $(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ $(OSX_APP)/Contents/MacOS/themes: $(THEMES) + $(MKDIR_P) $(@D) cp -R $(THEMES) $(@D) OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ From 02f5aac0c8f2e210ea1556e1d3c927f8d3914ce4 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 8 Jun 2015 08:48:56 -0600 Subject: [PATCH 393/555] replace seednode --- src/net.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index f7188de78..a0669af15 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1195,9 +1195,8 @@ void MapPort() // The first name is used as information source for addrman. // The second name should resolve to a list of seed addresses. static const char *strDNSSeed[][2] = { - {"temp seed", "hyp.bottlecaps.org"}, + {"presstab nodes", "hypseed.presstab.pw"}, {"CCE block explorer", "hyp.altcointech.net"}, - {"chainworks seed", "hyp.chainworks.info"}, }; void ThreadDNSAddressSeed(void* parg) From d85d790d36d31af4fda2ab3dff7b10605f7c5f78 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 19 Jun 2015 11:51:34 -0600 Subject: [PATCH 394/555] fix weight calc in cclistcoins RPC --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8146927f0..d75cb0e1b 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2216,7 +2216,7 @@ Value cclistcoins(const Array& params, bool fHelp) coutput.push_back(Pair("Age (days)", (dAge/(60*60*24)))); uint64 nWeight = 0; pwalletMain->GetStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nWeight); - if(dAge < fTestNet ? nStakeMinAge : nStakeMinAgeV2) + if(dAge < (fTestNet ? nStakeMinAge : nStakeMinAgeV2)) nWeight = 0; coutput.push_back(Pair("Weight", int(nWeight))); double nReward = 7.5 / 365 * dAge * dAmount; From 3bc241197742ee904dc1c435eb64f96ad5028a17 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 24 Jun 2015 16:23:02 -0600 Subject: [PATCH 395/555] hashdrift default 45 sec, user rpc command --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcwallet.cpp | 27 ++++++++++++++++++++++++++- src/wallet.h | 4 ++-- src/walletdb.cpp | 6 ++++++ src/walletdb.h | 6 ++++++ 6 files changed, 42 insertions(+), 3 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 11db2402e..7029dc028 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -290,6 +290,7 @@ static const CRPCCommand vRPCCommands[] = { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, + { "hashdrift", &hashdrift, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 77dc650aa..48b9add90 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -209,6 +209,7 @@ extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bo extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value hashdrift(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d75cb0e1b..ee75dbacc 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -94,7 +94,12 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime())); obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize())); obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee))); - obj.push_back(Pair("staking status", mapHashedBlocks.count(nBestHeight) ? "Staking Active" : "Staking Not Active")); + bool nStaking = false; + if(mapHashedBlocks.count(nBestHeight)) + nStaking = true; + else if(mapHashedBlocks.count(nBestHeight - 1) && nLastCoinStakeSearchInterval) + nStaking = true; + obj.push_back(Pair("staking status", (nStaking ? "Staking Active" : "Staking Not Active"))); std::string strLockState = ""; if(pwalletMain->IsLocked()) @@ -2639,4 +2644,24 @@ Value strictincoming(const Array& params, bool fHelp) return "Strict Incoming False"; } +// presstab HyperStake +Value hashdrift(const Array& params, bool fHelp) +{ + if (fHelp || params.size() > 1) + throw runtime_error( + "hashdrift \n" + "WARNING: too high of a hash drift will cause orphans"); + if(params.size() < 1) + return boost::lexical_cast(pwalletMain->nHashDrift); + + CWalletDB walletdb(pwalletMain->strWalletFile); + unsigned int nHashDrift = boost::lexical_cast(params[0].get_str()); + bool fSuccess = walletdb.WriteHashDrift(nHashDrift); + pwalletMain->nHashDrift = nHashDrift; + + if(fSuccess) + return "Hashdrift set and save to DB"; + else + return "Hashdrift set but failed to write to DB"; +} \ No newline at end of file diff --git a/src/wallet.h b/src/wallet.h index e38ad0561..555dfd9c5 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -131,7 +131,7 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; // Stake Settings - nHashDrift = 60; + nHashDrift = 45; nStakeSplitThreshold = 2000; //MultiSend @@ -162,7 +162,7 @@ class CWallet : public CCryptoKeyStore fStakeRequirement = false; // Stake Settings - nHashDrift = 60; + nHashDrift = 45; nStakeSplitThreshold = 2000; //MultiSend diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 5afeb3355..bc5e3440c 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -400,6 +400,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssValue >> strDisabledAddress; pwallet->vDisabledAddresses.push_back(strDisabledAddress); } + else if(strType == "hashdrift")//presstab HyperStake + { + unsigned int nHashDrift; + ssValue >> nHashDrift; + pwallet->nHashDrift = nHashDrift; + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 36cd04734..69916c74e 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -164,6 +164,12 @@ class CWalletDB : public CDB } return ret; } + //presstab HyperStake + bool WriteHashDrift(unsigned int nHashDrift) + { + nWalletDBUpdated++; + return Write(std::string("hashdrift"), nHashDrift, true); + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; From 8a92f0185b4ef9887e92f1b94ea8d8db726e7a93 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Jun 2015 18:30:30 -0600 Subject: [PATCH 396/555] dont allow user to enter hashdrift higher than 60 seconds --- src/rpcwallet.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index ee75dbacc..6cf120f1a 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2656,6 +2656,9 @@ Value hashdrift(const Array& params, bool fHelp) CWalletDB walletdb(pwalletMain->strWalletFile); unsigned int nHashDrift = boost::lexical_cast(params[0].get_str()); + if(nHashDrift > 60) + return "You can not set your hashdrift to be greater than 60 seconds"; + bool fSuccess = walletdb.WriteHashDrift(nHashDrift); pwalletMain->nHashDrift = nHashDrift; From f683a2ea2e354af473ffb8808658726ea66336b5 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Jun 2015 18:38:35 -0600 Subject: [PATCH 397/555] calcdialog.cpp remove extra includes --- src/qt/calcdialog.cpp | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/qt/calcdialog.cpp b/src/qt/calcdialog.cpp index dec42f708..b870b468b 100644 --- a/src/qt/calcdialog.cpp +++ b/src/qt/calcdialog.cpp @@ -1,15 +1,5 @@ #include "calcdialog.h" #include "ui_calcdialog.h" - -#include "clientmodel.h" -#include "notificator.h" -#include "version.h" - -#include "wallet.h" -#include "walletdb.h" -#include "main.h" -#include "init.h" - #include calcDialog::calcDialog(QWidget *parent) : From b37c1dc36eb7b75b26fba3ff11a9c61d4a2af314 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Jun 2015 23:48:36 -0600 Subject: [PATCH 398/555] fix address book button for multisend GUI --- src/qt/charitydialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/charitydialog.cpp b/src/qt/charitydialog.cpp index c359e73d6..d9f7ba67c 100644 --- a/src/qt/charitydialog.cpp +++ b/src/qt/charitydialog.cpp @@ -29,7 +29,7 @@ StakeForCharityDialog::~StakeForCharityDialog() void StakeForCharityDialog::setModel(WalletModel *model) { - + this->model = model; } void StakeForCharityDialog::setAddress(const QString &address) From 355e80b4abe55f58b019b314c080059ca53a7116 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 24 Jun 2015 23:58:48 -0600 Subject: [PATCH 399/555] Change max outbound connections to 125 --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index a0669af15..abf10ce04 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -28,7 +28,7 @@ using namespace std; using namespace boost; -static const int MAX_OUTBOUND_CONNECTIONS = 25; +static const int MAX_OUTBOUND_CONNECTIONS = 125; void ThreadMessageHandler2(void* parg); void ThreadSocketHandler2(void* parg); From e6de12097c4aaf585b271f02c7e2b80e74e313a8 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 25 Jun 2015 17:16:00 -0600 Subject: [PATCH 400/555] Revert "Change max outbound connections to 125" This reverts commit 355e80b4abe55f58b019b314c080059ca53a7116. --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index abf10ce04..a0669af15 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -28,7 +28,7 @@ using namespace std; using namespace boost; -static const int MAX_OUTBOUND_CONNECTIONS = 125; +static const int MAX_OUTBOUND_CONNECTIONS = 25; void ThreadMessageHandler2(void* parg); void ThreadSocketHandler2(void* parg); From 3b253ac048b99f462a5ea181df3db037eac84d54 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 25 Jun 2015 22:29:13 -0600 Subject: [PATCH 401/555] hashsettings RPC hashsettings ex: 'hashsettings drift' will return the current drift settings ex: 'hashsettings interval' will return the current interval settings ex: hashsettings drift 45 ex: hashsettings interval 20 ex: 'hashsettings default' returns the settings to default hashdrift is how many second into the future your wallet will stake in one hashing burst. Interval is how often your client will search for new hashes. If you set your hashdrift to 45, then your client will create 45 unique proof of stake hashes, the only thing changing the hash result is the timestamp included, thus you hash 45 seconds into the future.\n" "Each hash is an attempt to meet the staking target. If you don't hit the staking target, your client will pause staking for the set interval. If the interval is 22 seconds, the wallet will create 45 hashes, wait 22 seconds, then create 45 hashes. Approximately 23 of those hashes will be identical as the previous rounds hashes. --- src/bitcoinrpc.cpp | 2 +- src/bitcoinrpc.h | 2 +- src/main.cpp | 2 +- src/rpcwallet.cpp | 72 +++++++++++++++++++++++++++++++++++----------- src/wallet.h | 3 ++ src/walletdb.cpp | 6 ++++ src/walletdb.h | 6 ++++ 7 files changed, 73 insertions(+), 20 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 7029dc028..b395ed3aa 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -290,7 +290,7 @@ static const CRPCCommand vRPCCommands[] = { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, - { "hashdrift", &hashdrift, false, false }, + { "hashsettings", &hashsettings, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 48b9add90..c9f042035 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -209,7 +209,7 @@ extern json_spirit::Value getpotentialstake(const json_spirit::Array& params, bo extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value hashdrift(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value hashsettings(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index dbb3b5931..775ffd15d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4505,7 +4505,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet { - if(GetTime() - mapHashedBlocks[nBestHeight] < min((int)(pwallet->nHashDrift * 0.5), 180)) // wait half of the nHashDrift with max wait of 3 minutes + if(GetTime() - mapHashedBlocks[nBestHeight] < max(pwallet->nHashInterval, (unsigned int)1)) // wait half of the nHashDrift with max wait of 3 minutes { Sleep(2500); // 2.5 second sleep continue; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 6cf120f1a..41085a94b 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2645,26 +2645,64 @@ Value strictincoming(const Array& params, bool fHelp) } // presstab HyperStake -Value hashdrift(const Array& params, bool fHelp) +Value hashsettings(const Array& params, bool fHelp) { - if (fHelp || params.size() > 1) + if (fHelp || params.size() > 2 || params.size() == 0) throw runtime_error( - "hashdrift \n" - "WARNING: too high of a hash drift will cause orphans"); - if(params.size() < 1) - return boost::lexical_cast(pwalletMain->nHashDrift); + "hashsettings \n" + "ex: 'hashsettings drift' will return the current drift settings\n" + "ex: 'hashsettings interval' will return the current interval settings\n" + "ex: hashsettings drift 45\n" + "ex: hashsettings interval 20\n" + "ex: 'hashsettings default' returns the settings to default\n" + "hashdrift is how many second into the future your wallet will stake in one hashing burst\n" + "interval is how often your client will search for new hashes\n" + "if you set your hashdrift to 45, then your client will create 45 unique proof of stake hashes, the only thing changing the hash result is the timestamp included, thus you hash 45 seconds into the future.\n" + "Each hash is an attempt to meet the staking target. If you don't hit the staking target, your client will pause staking for the set interval. \n" + "If the interval is 22 seconds, the wallet will create 45 hashes, wait 22 seconds, then create 45 hashes. Approximately 23 of those hashes will be identical as the previous rounds hashes.\n" + "WARNING: timedrift allowance is 60 seconds too high of a hash drift will cause orphans"); + if(params.size() < 2) + { + if(params[0].get_str() == "drift") + return boost::lexical_cast(pwalletMain->nHashDrift); + else if(params[0].get_str() == "interval") + return boost::lexical_cast(pwalletMain->nHashInterval); + else if(params[0].get_str() == "default") + { + CWalletDB walletdb(pwalletMain->strWalletFile); + pwalletMain->nHashDrift = 45; + pwalletMain->nHashInterval = 22; + walletdb.WriteHashDrift(45); + walletdb.WriteHashInterval(22); + return "Hash Settings returned to default"; + } + } CWalletDB walletdb(pwalletMain->strWalletFile); - unsigned int nHashDrift = boost::lexical_cast(params[0].get_str()); - if(nHashDrift > 60) - return "You can not set your hashdrift to be greater than 60 seconds"; - - bool fSuccess = walletdb.WriteHashDrift(nHashDrift); - pwalletMain->nHashDrift = nHashDrift; - - if(fSuccess) - return "Hashdrift set and save to DB"; - else - return "Hashdrift set but failed to write to DB"; + if(params[0].get_str() == "drift") + { + unsigned int nHashDrift = boost::lexical_cast(params[1].get_str()); + if(nHashDrift > 60) + return "You can not set your hashdrift to be greater than 60 seconds"; + else if(nHashDrift < 1) + return "Hash drift too low"; + + pwalletMain->nHashDrift = nHashDrift; + if(walletdb.WriteHashDrift(nHashDrift)) + return "Hashdrift set and save to DB"; + else + return "Hashdrift set but failed to write to DB"; + } + else if(params[0].get_str() == "interval") + { + unsigned int nHashInterval = boost::lexical_cast(params[1].get_str()); + if(nHashInterval < 1) + return "Interval too low"; + pwalletMain->nHashInterval = nHashInterval; + if(walletdb.WriteHashInterval(nHashInterval)) + return "HashInterval set and save to DB"; + else + return "HashInterval set but failed to write to DB"; + } } \ No newline at end of file diff --git a/src/wallet.h b/src/wallet.h index 555dfd9c5..e9f2f6cff 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -103,6 +103,7 @@ class CWallet : public CCryptoKeyStore // Stake Settings unsigned int nHashDrift; + unsigned int nHashInterval; uint64 nStakeSplitThreshold; // DisableStake @@ -133,6 +134,7 @@ class CWallet : public CCryptoKeyStore // Stake Settings nHashDrift = 45; nStakeSplitThreshold = 2000; + nHashInterval = 22; //MultiSend vMultiSend.clear(); @@ -164,6 +166,7 @@ class CWallet : public CCryptoKeyStore // Stake Settings nHashDrift = 45; nStakeSplitThreshold = 2000; + nHashInterval = 22; //MultiSend vMultiSend.clear(); diff --git a/src/walletdb.cpp b/src/walletdb.cpp index bc5e3440c..812d4c91a 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -406,6 +406,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssValue >> nHashDrift; pwallet->nHashDrift = nHashDrift; } + else if(strType == "hashinterval")//presstab HyperStake + { + unsigned int nHashInterval; + ssValue >> nHashInterval; + pwallet->nHashInterval = nHashInterval; + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 69916c74e..c27d800a9 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -170,6 +170,12 @@ class CWalletDB : public CDB nWalletDBUpdated++; return Write(std::string("hashdrift"), nHashDrift, true); } + //presstab HyperStake + bool WriteHashInterval(unsigned int nHashInterval) + { + nWalletDBUpdated++; + return Write(std::string("hashinterval"), nHashInterval, true); + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; From df4acb1567c0addd1b2000f72c1b8e0a01900f0c Mon Sep 17 00:00:00 2001 From: billotronic Date: Mon, 29 Jun 2015 17:57:28 -0500 Subject: [PATCH 402/555] bump build 1.1.1.3 --- src/version.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.cpp b/src/version.cpp index fcdc140a6..f15305876 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.2" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.3" // The following part of the code determines the CLIENT_BUILD variable. From ffc6d88759bd7814830946892159cb86200951ba Mon Sep 17 00:00:00 2001 From: billotronic Date: Mon, 29 Jun 2015 17:57:43 -0500 Subject: [PATCH 403/555] bump build 1.1.1.3 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 80bd0ba7a..77f02f9ee 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 #define DISPLAY_VERSION_REVISION 1 -#define DISPLAY_VERSION_BUILD 2 +#define DISPLAY_VERSION_BUILD 3 #endif From b97b0cfb142f5746ea1cdbfd425b52ae621f7366 Mon Sep 17 00:00:00 2001 From: billotronic Date: Mon, 29 Jun 2015 18:58:16 -0500 Subject: [PATCH 404/555] bump build 1.1.1.3 --- src/clientversion.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/clientversion.h b/src/clientversion.h index a2d62ecb8..bbe6c1308 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 1 -#define CLIENT_VERSION_BUILD 2 +#define CLIENT_VERSION_BUILD 3 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true From a181daa4592f3a3c6215cd2346c15f353e6a5140 Mon Sep 17 00:00:00 2001 From: noise23 Date: Wed, 24 Jun 2015 00:21:12 +0300 Subject: [PATCH 405/555] remove old IRC code --- HyperStake-qt.pro | 2 - src/Makefile.am | 2 - src/init.cpp | 4 - src/irc.cpp | 409 ---------------------------------------------- src/irc.h | 12 -- src/net.cpp | 5 - src/net.h | 1 - 7 files changed, 435 deletions(-) delete mode 100644 src/irc.cpp delete mode 100644 src/irc.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index d51882eb3..3930522bf 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -173,7 +173,6 @@ HEADERS += src/qt/bitcoingui.h \ src/walletdb.h \ src/script.h \ src/init.h \ - src/irc.h \ src/mruset.h \ src/json/json_spirit_writer_template.h \ src/json/json_spirit_writer.h \ @@ -258,7 +257,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/main.cpp \ src/init.cpp \ src/net.cpp \ - src/irc.cpp \ src/checkpoints.cpp \ src/addrman.cpp \ src/db.cpp \ diff --git a/src/Makefile.am b/src/Makefile.am index eb7a77a2e..b5f84d4ac 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -46,7 +46,6 @@ BITCOIN_CORE_H = \ db.h \ hashblock.h \ init.h \ - irc.h \ kernel.h \ key.h \ keystore.h \ @@ -112,7 +111,6 @@ libbitcoin_server_a_SOURCES = \ groestl.c \ init.cpp \ jh.c \ - irc.cpp \ keccak.c \ kernel.cpp \ luffa.c \ diff --git a/src/init.cpp b/src/init.cpp index 4369fe030..e47b377fc 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -163,7 +163,6 @@ std::string HelpMessage() strUsage += " -externalip= " + _("Specify your own public address") + "\n"; strUsage += " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n"; strUsage += " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n"; - strUsage += " -irc " + _("Find peers using internet relay chat - disabled by default (default: 0)") + "\n"; strUsage += " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n"; strUsage += " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n"; strUsage += " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n"; @@ -277,9 +276,6 @@ bool AppInit2() // ********************************************************* Step 2: parameter interactions fTestNet = GetBoolArg("-testnet"); - if (fTestNet) { - SoftSetBoolArg("-irc", true); - } if (mapArgs.count("-bind")) { // when specifying an explicit binding address, you want to listen on it diff --git a/src/irc.cpp b/src/irc.cpp deleted file mode 100644 index 7c293e4f7..000000000 --- a/src/irc.cpp +++ /dev/null @@ -1,409 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "irc.h" -#include "net.h" -#include "base58.h" - -#include // for startswith() and endswith() - - -#if !defined(HAVE_MSG_NOSIGNAL) -#define MSG_NOSIGNAL 0 -#endif - - -using namespace std; -using namespace boost; - -int nGotIRCAddresses = 0; - -void ThreadIRCSeed2(void* parg); - - - - -#pragma pack(push, 1) -struct ircaddr -{ - struct in_addr ip; - short port; -}; -#pragma pack(pop) - -string EncodeAddress(const CService& addr) -{ - struct ircaddr tmp; - if (addr.GetInAddr(&tmp.ip)) - { - tmp.port = htons(addr.GetPort()); - - vector vch(UBEGIN(tmp), UEND(tmp)); - return string("u") + EncodeBase58Check(vch); - } - return ""; -} - -bool DecodeAddress(string str, CService& addr) -{ - vector vch; - if (!DecodeBase58Check(str.substr(1), vch)) - return false; - - struct ircaddr tmp; - if (vch.size() != sizeof(tmp)) - return false; - memcpy(&tmp, &vch[0], sizeof(tmp)); - - addr = CService(tmp.ip, ntohs(tmp.port)); - return true; -} - - - - - - -static bool Send(SOCKET hSocket, const char* pszSend) -{ - if (strstr(pszSend, "PONG") != pszSend) - printf("IRC SENDING: %s\n", pszSend); - const char* psz = pszSend; - const char* pszEnd = psz + strlen(psz); - while (psz < pszEnd) - { - int ret = send(hSocket, psz, pszEnd - psz, MSG_NOSIGNAL); - if (ret < 0) - return false; - psz += ret; - } - return true; -} - -bool RecvLineIRC(SOCKET hSocket, string& strLine) -{ - while (true) - { - bool fRet = RecvLine(hSocket, strLine); - if (fRet) - { - if (fShutdown) - return false; - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() >= 1 && vWords[0] == "PING") - { - strLine[1] = 'O'; - strLine += '\r'; - Send(hSocket, strLine.c_str()); - continue; - } - } - return fRet; - } -} - -int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const char* psz3=NULL, const char* psz4=NULL) -{ - while (true) - { - string strLine; - strLine.reserve(10000); - if (!RecvLineIRC(hSocket, strLine)) - return 0; - printf("IRC %s\n", strLine.c_str()); - if (psz1 && strLine.find(psz1) != string::npos) - return 1; - if (psz2 && strLine.find(psz2) != string::npos) - return 2; - if (psz3 && strLine.find(psz3) != string::npos) - return 3; - if (psz4 && strLine.find(psz4) != string::npos) - return 4; - } -} - -bool Wait(int nSeconds) -{ - if (fShutdown) - return false; - printf("IRC waiting %d seconds to reconnect\n", nSeconds); - for (int i = 0; i < nSeconds; i++) - { - if (fShutdown) - return false; - Sleep(1000); - } - return true; -} - -bool RecvCodeLine(SOCKET hSocket, const char* psz1, string& strRet) -{ - strRet.clear(); - while (true) - { - string strLine; - if (!RecvLineIRC(hSocket, strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - if (vWords[1] == psz1) - { - printf("IRC %s\n", strLine.c_str()); - strRet = strLine; - return true; - } - } -} - -bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet) -{ - Send(hSocket, strprintf("USERHOST %s\r", strMyName.c_str()).c_str()); - - string strLine; - if (!RecvCodeLine(hSocket, "302", strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 4) - return false; - - string str = vWords[3]; - if (str.rfind("@") == string::npos) - return false; - string strHost = str.substr(str.rfind("@")+1); - - // Hybrid IRC used by lfnet always returns IP when you userhost yourself, - // but in case another IRC is ever used this should work. - printf("GetIPFromIRC() got userhost %s\n", strHost.c_str()); - CNetAddr addr(strHost, true); - if (!addr.IsValid()) - return false; - ipRet = addr; - - return true; -} - - - -void ThreadIRCSeed(void* parg) -{ - // Make this thread recognisable as the IRC seeding thread - RenameThread("bitcoin-ircseed"); - - try - { - ThreadIRCSeed2(parg); - } - catch (std::exception& e) { - PrintExceptionContinue(&e, "ThreadIRCSeed()"); - } catch (...) { - PrintExceptionContinue(NULL, "ThreadIRCSeed()"); - } - printf("ThreadIRCSeed exited\n"); -} - -void ThreadIRCSeed2(void* parg) -{ - // Don't connect to IRC if we won't use IPv4 connections. - if (IsLimited(NET_IPV4)) - return; - - // ... or if we won't make outbound connections and won't accept inbound ones. - if (mapArgs.count("-connect") && fNoListen) - return; - - // ... or if IRC is not enabled. - if (!GetBoolArg("-irc", false)) - return; - - printf("ThreadIRCSeed started\n"); - int nErrorWait = 10; - int nRetryWait = 10; - int nNameRetry = 0; - - while (!fShutdown) - { - CService addrConnect("92.243.23.21", 6667); // irc.lfnet.org - - CService addrIRC("irc.lfnet.org", 6667, true); - if (addrIRC.IsValid()) - addrConnect = addrIRC; - - SOCKET hSocket; - if (!ConnectSocket(addrConnect, hSocket)) - { - printf("IRC connect failed\n"); - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - if (!RecvUntil(hSocket, "Found your hostname", "using your IP address instead", "Couldn't look up your hostname", "ignoring hostname")) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses - CService addrLocal; - string strMyName; - // Don't use our IP as our nick if we're not listening - // or if it keeps failing because the nick is already in use. - if (!fNoListen && GetLocal(addrLocal, &addrIPv4) && nNameRetry<3) - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - if (strMyName == "") - strMyName = strprintf("x%"PRI64u"", GetRand(1000000000)); - - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - Send(hSocket, strprintf("USER %s 8 * : %s\r", strMyName.c_str(), strMyName.c_str()).c_str()); - - int nRet = RecvUntil(hSocket, " 004 ", " 433 "); - if (nRet != 1) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - if (nRet == 2) - { - printf("IRC name already in use\n"); - nNameRetry++; - Wait(10); - continue; - } - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - nNameRetry = 0; - Sleep(500); - - // Get our external IP from the IRC server and re-nick before joining the channel - CNetAddr addrFromIRC; - if (GetIPFromIRC(hSocket, strMyName, addrFromIRC)) - { - printf("GetIPFromIRC() returned %s\n", addrFromIRC.ToString().c_str()); - // Don't use our IP as our nick if we're not listening - if (!fNoListen && addrFromIRC.IsRoutable()) - { - // IRC lets you to re-nick - AddLocal(addrFromIRC, LOCAL_IRC); - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - } - } - - if (fTestNet) { - Send(hSocket, "JOIN #HyperStakeTEST2\r"); - Send(hSocket, "WHO #HyperStakeTEST2\r"); - } else { - // randomly join #HyperStake00-#HyperStake05 - // int channel_number = GetRandInt(5); - - // Channel number is always 0 for initial release - int channel_number = 0; - Send(hSocket, strprintf("JOIN #HyperStake%02d\r", channel_number).c_str()); - Send(hSocket, strprintf("WHO #HyperStake%02d\r", channel_number).c_str()); - } - - int64 nStart = GetTime(); - string strLine; - strLine.reserve(10000); - while (!fShutdown && RecvLineIRC(hSocket, strLine)) - { - if (strLine.empty() || strLine.size() > 900 || strLine[0] != ':') - continue; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - std::string strName; - - if (vWords[1] == "352" && vWords.size() >= 8) - { - // index 7 is limited to 16 characters - // could get full length name at index 10, but would be different from join messages - strName = vWords[7].c_str(); - printf("IRC got who\n"); - } - - if (vWords[1] == "JOIN" && vWords[0].size() > 1) - { - // :username!username@50000007.F000000B.90000002.IP JOIN :#channelname - strName = vWords[0].substr(1, vWords[0].find('!', 1) - 1); - printf("IRC got join\n"); - } - - if (boost::algorithm::starts_with(strName, "u")) - { - CAddress addr; - if (DecodeAddress(strName, addr)) - { - addr.nTime = GetAdjustedTime(); - if (addrman.Add(addr, addrConnect, 51 * 60)) - printf("IRC got new address: %s\n", addr.ToString().c_str()); - nGotIRCAddresses++; - } - else - { - printf("IRC decode failed\n"); - } - } - } - closesocket(hSocket); - hSocket = INVALID_SOCKET; - - if (GetTime() - nStart > 20 * 60) - { - nErrorWait /= 3; - nRetryWait /= 3; - } - - nRetryWait = nRetryWait * 11 / 10; - if (!Wait(nRetryWait += 60)) - return; - } -} - - - - - - - - - - -#ifdef TEST -int main(int argc, char *argv[]) -{ - WSADATA wsadata; - if (WSAStartup(MAKEWORD(2,2), &wsadata) != NO_ERROR) - { - printf("Error at WSAStartup()\n"); - return false; - } - - ThreadIRCSeed(NULL); - - WSACleanup(); - return 0; -} -#endif diff --git a/src/irc.h b/src/irc.h deleted file mode 100644 index 119aeb3fd..000000000 --- a/src/irc.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef BITCOIN_IRC_H -#define BITCOIN_IRC_H - -void ThreadIRCSeed(void* parg); - -extern int nGotIRCAddresses; - -#endif diff --git a/src/net.cpp b/src/net.cpp index a0669af15..9c3ea8a74 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3,7 +3,6 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "irc.h" #include "db.h" #include "net.h" #include "init.h" @@ -1914,10 +1913,6 @@ void StartNode(void* parg) if (fUseUPnP) MapPort(); - // Get addresses from IRC and advertise ours - if (!NewThread(ThreadIRCSeed, NULL)) - printf("Error: NewThread(ThreadIRCSeed) failed\n"); - // Send and receive from sockets, accept connections if (!NewThread(ThreadSocketHandler, NULL)) printf("Error: NewThread(ThreadSocketHandler) failed\n"); diff --git a/src/net.h b/src/net.h index eec5757f7..5bf31037f 100644 --- a/src/net.h +++ b/src/net.h @@ -48,7 +48,6 @@ enum LOCAL_IF, // address a local interface listens on LOCAL_BIND, // address explicit bound to LOCAL_UPNP, // address reported by UPnP - LOCAL_IRC, // address reported by IRC (deprecated) LOCAL_HTTP, // address reported by whatismyip.com and similar LOCAL_MANUAL, // address explicitly specified (-externalip=) From 8ddfc511516a0fa0ed799e3aa2b3d26a40795dfe Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 22 Jul 2015 22:56:38 -0600 Subject: [PATCH 406/555] Revert "remove old IRC code" This reverts commit a181daa4592f3a3c6215cd2346c15f353e6a5140. --- HyperStake-qt.pro | 2 + src/Makefile.am | 2 + src/init.cpp | 4 + src/irc.cpp | 409 ++++++++++++++++++++++++++++++++++++++++++++++ src/irc.h | 12 ++ src/net.cpp | 5 + src/net.h | 1 + 7 files changed, 435 insertions(+) create mode 100644 src/irc.cpp create mode 100644 src/irc.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 3930522bf..d51882eb3 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -173,6 +173,7 @@ HEADERS += src/qt/bitcoingui.h \ src/walletdb.h \ src/script.h \ src/init.h \ + src/irc.h \ src/mruset.h \ src/json/json_spirit_writer_template.h \ src/json/json_spirit_writer.h \ @@ -257,6 +258,7 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/main.cpp \ src/init.cpp \ src/net.cpp \ + src/irc.cpp \ src/checkpoints.cpp \ src/addrman.cpp \ src/db.cpp \ diff --git a/src/Makefile.am b/src/Makefile.am index b5f84d4ac..eb7a77a2e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -46,6 +46,7 @@ BITCOIN_CORE_H = \ db.h \ hashblock.h \ init.h \ + irc.h \ kernel.h \ key.h \ keystore.h \ @@ -111,6 +112,7 @@ libbitcoin_server_a_SOURCES = \ groestl.c \ init.cpp \ jh.c \ + irc.cpp \ keccak.c \ kernel.cpp \ luffa.c \ diff --git a/src/init.cpp b/src/init.cpp index e47b377fc..4369fe030 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -163,6 +163,7 @@ std::string HelpMessage() strUsage += " -externalip= " + _("Specify your own public address") + "\n"; strUsage += " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n"; strUsage += " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n"; + strUsage += " -irc " + _("Find peers using internet relay chat - disabled by default (default: 0)") + "\n"; strUsage += " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n"; strUsage += " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n"; strUsage += " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n"; @@ -276,6 +277,9 @@ bool AppInit2() // ********************************************************* Step 2: parameter interactions fTestNet = GetBoolArg("-testnet"); + if (fTestNet) { + SoftSetBoolArg("-irc", true); + } if (mapArgs.count("-bind")) { // when specifying an explicit binding address, you want to listen on it diff --git a/src/irc.cpp b/src/irc.cpp new file mode 100644 index 000000000..7c293e4f7 --- /dev/null +++ b/src/irc.cpp @@ -0,0 +1,409 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "irc.h" +#include "net.h" +#include "base58.h" + +#include // for startswith() and endswith() + + +#if !defined(HAVE_MSG_NOSIGNAL) +#define MSG_NOSIGNAL 0 +#endif + + +using namespace std; +using namespace boost; + +int nGotIRCAddresses = 0; + +void ThreadIRCSeed2(void* parg); + + + + +#pragma pack(push, 1) +struct ircaddr +{ + struct in_addr ip; + short port; +}; +#pragma pack(pop) + +string EncodeAddress(const CService& addr) +{ + struct ircaddr tmp; + if (addr.GetInAddr(&tmp.ip)) + { + tmp.port = htons(addr.GetPort()); + + vector vch(UBEGIN(tmp), UEND(tmp)); + return string("u") + EncodeBase58Check(vch); + } + return ""; +} + +bool DecodeAddress(string str, CService& addr) +{ + vector vch; + if (!DecodeBase58Check(str.substr(1), vch)) + return false; + + struct ircaddr tmp; + if (vch.size() != sizeof(tmp)) + return false; + memcpy(&tmp, &vch[0], sizeof(tmp)); + + addr = CService(tmp.ip, ntohs(tmp.port)); + return true; +} + + + + + + +static bool Send(SOCKET hSocket, const char* pszSend) +{ + if (strstr(pszSend, "PONG") != pszSend) + printf("IRC SENDING: %s\n", pszSend); + const char* psz = pszSend; + const char* pszEnd = psz + strlen(psz); + while (psz < pszEnd) + { + int ret = send(hSocket, psz, pszEnd - psz, MSG_NOSIGNAL); + if (ret < 0) + return false; + psz += ret; + } + return true; +} + +bool RecvLineIRC(SOCKET hSocket, string& strLine) +{ + while (true) + { + bool fRet = RecvLine(hSocket, strLine); + if (fRet) + { + if (fShutdown) + return false; + vector vWords; + ParseString(strLine, ' ', vWords); + if (vWords.size() >= 1 && vWords[0] == "PING") + { + strLine[1] = 'O'; + strLine += '\r'; + Send(hSocket, strLine.c_str()); + continue; + } + } + return fRet; + } +} + +int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const char* psz3=NULL, const char* psz4=NULL) +{ + while (true) + { + string strLine; + strLine.reserve(10000); + if (!RecvLineIRC(hSocket, strLine)) + return 0; + printf("IRC %s\n", strLine.c_str()); + if (psz1 && strLine.find(psz1) != string::npos) + return 1; + if (psz2 && strLine.find(psz2) != string::npos) + return 2; + if (psz3 && strLine.find(psz3) != string::npos) + return 3; + if (psz4 && strLine.find(psz4) != string::npos) + return 4; + } +} + +bool Wait(int nSeconds) +{ + if (fShutdown) + return false; + printf("IRC waiting %d seconds to reconnect\n", nSeconds); + for (int i = 0; i < nSeconds; i++) + { + if (fShutdown) + return false; + Sleep(1000); + } + return true; +} + +bool RecvCodeLine(SOCKET hSocket, const char* psz1, string& strRet) +{ + strRet.clear(); + while (true) + { + string strLine; + if (!RecvLineIRC(hSocket, strLine)) + return false; + + vector vWords; + ParseString(strLine, ' ', vWords); + if (vWords.size() < 2) + continue; + + if (vWords[1] == psz1) + { + printf("IRC %s\n", strLine.c_str()); + strRet = strLine; + return true; + } + } +} + +bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet) +{ + Send(hSocket, strprintf("USERHOST %s\r", strMyName.c_str()).c_str()); + + string strLine; + if (!RecvCodeLine(hSocket, "302", strLine)) + return false; + + vector vWords; + ParseString(strLine, ' ', vWords); + if (vWords.size() < 4) + return false; + + string str = vWords[3]; + if (str.rfind("@") == string::npos) + return false; + string strHost = str.substr(str.rfind("@")+1); + + // Hybrid IRC used by lfnet always returns IP when you userhost yourself, + // but in case another IRC is ever used this should work. + printf("GetIPFromIRC() got userhost %s\n", strHost.c_str()); + CNetAddr addr(strHost, true); + if (!addr.IsValid()) + return false; + ipRet = addr; + + return true; +} + + + +void ThreadIRCSeed(void* parg) +{ + // Make this thread recognisable as the IRC seeding thread + RenameThread("bitcoin-ircseed"); + + try + { + ThreadIRCSeed2(parg); + } + catch (std::exception& e) { + PrintExceptionContinue(&e, "ThreadIRCSeed()"); + } catch (...) { + PrintExceptionContinue(NULL, "ThreadIRCSeed()"); + } + printf("ThreadIRCSeed exited\n"); +} + +void ThreadIRCSeed2(void* parg) +{ + // Don't connect to IRC if we won't use IPv4 connections. + if (IsLimited(NET_IPV4)) + return; + + // ... or if we won't make outbound connections and won't accept inbound ones. + if (mapArgs.count("-connect") && fNoListen) + return; + + // ... or if IRC is not enabled. + if (!GetBoolArg("-irc", false)) + return; + + printf("ThreadIRCSeed started\n"); + int nErrorWait = 10; + int nRetryWait = 10; + int nNameRetry = 0; + + while (!fShutdown) + { + CService addrConnect("92.243.23.21", 6667); // irc.lfnet.org + + CService addrIRC("irc.lfnet.org", 6667, true); + if (addrIRC.IsValid()) + addrConnect = addrIRC; + + SOCKET hSocket; + if (!ConnectSocket(addrConnect, hSocket)) + { + printf("IRC connect failed\n"); + nErrorWait = nErrorWait * 11 / 10; + if (Wait(nErrorWait += 60)) + continue; + else + return; + } + + if (!RecvUntil(hSocket, "Found your hostname", "using your IP address instead", "Couldn't look up your hostname", "ignoring hostname")) + { + closesocket(hSocket); + hSocket = INVALID_SOCKET; + nErrorWait = nErrorWait * 11 / 10; + if (Wait(nErrorWait += 60)) + continue; + else + return; + } + + CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses + CService addrLocal; + string strMyName; + // Don't use our IP as our nick if we're not listening + // or if it keeps failing because the nick is already in use. + if (!fNoListen && GetLocal(addrLocal, &addrIPv4) && nNameRetry<3) + strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); + if (strMyName == "") + strMyName = strprintf("x%"PRI64u"", GetRand(1000000000)); + + Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); + Send(hSocket, strprintf("USER %s 8 * : %s\r", strMyName.c_str(), strMyName.c_str()).c_str()); + + int nRet = RecvUntil(hSocket, " 004 ", " 433 "); + if (nRet != 1) + { + closesocket(hSocket); + hSocket = INVALID_SOCKET; + if (nRet == 2) + { + printf("IRC name already in use\n"); + nNameRetry++; + Wait(10); + continue; + } + nErrorWait = nErrorWait * 11 / 10; + if (Wait(nErrorWait += 60)) + continue; + else + return; + } + nNameRetry = 0; + Sleep(500); + + // Get our external IP from the IRC server and re-nick before joining the channel + CNetAddr addrFromIRC; + if (GetIPFromIRC(hSocket, strMyName, addrFromIRC)) + { + printf("GetIPFromIRC() returned %s\n", addrFromIRC.ToString().c_str()); + // Don't use our IP as our nick if we're not listening + if (!fNoListen && addrFromIRC.IsRoutable()) + { + // IRC lets you to re-nick + AddLocal(addrFromIRC, LOCAL_IRC); + strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); + Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); + } + } + + if (fTestNet) { + Send(hSocket, "JOIN #HyperStakeTEST2\r"); + Send(hSocket, "WHO #HyperStakeTEST2\r"); + } else { + // randomly join #HyperStake00-#HyperStake05 + // int channel_number = GetRandInt(5); + + // Channel number is always 0 for initial release + int channel_number = 0; + Send(hSocket, strprintf("JOIN #HyperStake%02d\r", channel_number).c_str()); + Send(hSocket, strprintf("WHO #HyperStake%02d\r", channel_number).c_str()); + } + + int64 nStart = GetTime(); + string strLine; + strLine.reserve(10000); + while (!fShutdown && RecvLineIRC(hSocket, strLine)) + { + if (strLine.empty() || strLine.size() > 900 || strLine[0] != ':') + continue; + + vector vWords; + ParseString(strLine, ' ', vWords); + if (vWords.size() < 2) + continue; + + std::string strName; + + if (vWords[1] == "352" && vWords.size() >= 8) + { + // index 7 is limited to 16 characters + // could get full length name at index 10, but would be different from join messages + strName = vWords[7].c_str(); + printf("IRC got who\n"); + } + + if (vWords[1] == "JOIN" && vWords[0].size() > 1) + { + // :username!username@50000007.F000000B.90000002.IP JOIN :#channelname + strName = vWords[0].substr(1, vWords[0].find('!', 1) - 1); + printf("IRC got join\n"); + } + + if (boost::algorithm::starts_with(strName, "u")) + { + CAddress addr; + if (DecodeAddress(strName, addr)) + { + addr.nTime = GetAdjustedTime(); + if (addrman.Add(addr, addrConnect, 51 * 60)) + printf("IRC got new address: %s\n", addr.ToString().c_str()); + nGotIRCAddresses++; + } + else + { + printf("IRC decode failed\n"); + } + } + } + closesocket(hSocket); + hSocket = INVALID_SOCKET; + + if (GetTime() - nStart > 20 * 60) + { + nErrorWait /= 3; + nRetryWait /= 3; + } + + nRetryWait = nRetryWait * 11 / 10; + if (!Wait(nRetryWait += 60)) + return; + } +} + + + + + + + + + + +#ifdef TEST +int main(int argc, char *argv[]) +{ + WSADATA wsadata; + if (WSAStartup(MAKEWORD(2,2), &wsadata) != NO_ERROR) + { + printf("Error at WSAStartup()\n"); + return false; + } + + ThreadIRCSeed(NULL); + + WSACleanup(); + return 0; +} +#endif diff --git a/src/irc.h b/src/irc.h new file mode 100644 index 000000000..119aeb3fd --- /dev/null +++ b/src/irc.h @@ -0,0 +1,12 @@ +// Copyright (c) 2009-2010 Satoshi Nakamoto +// Copyright (c) 2009-2012 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. +#ifndef BITCOIN_IRC_H +#define BITCOIN_IRC_H + +void ThreadIRCSeed(void* parg); + +extern int nGotIRCAddresses; + +#endif diff --git a/src/net.cpp b/src/net.cpp index 9c3ea8a74..a0669af15 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3,6 +3,7 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include "irc.h" #include "db.h" #include "net.h" #include "init.h" @@ -1913,6 +1914,10 @@ void StartNode(void* parg) if (fUseUPnP) MapPort(); + // Get addresses from IRC and advertise ours + if (!NewThread(ThreadIRCSeed, NULL)) + printf("Error: NewThread(ThreadIRCSeed) failed\n"); + // Send and receive from sockets, accept connections if (!NewThread(ThreadSocketHandler, NULL)) printf("Error: NewThread(ThreadSocketHandler) failed\n"); diff --git a/src/net.h b/src/net.h index 5bf31037f..eec5757f7 100644 --- a/src/net.h +++ b/src/net.h @@ -48,6 +48,7 @@ enum LOCAL_IF, // address a local interface listens on LOCAL_BIND, // address explicit bound to LOCAL_UPNP, // address reported by UPnP + LOCAL_IRC, // address reported by IRC (deprecated) LOCAL_HTTP, // address reported by whatismyip.com and similar LOCAL_MANUAL, // address explicitly specified (-externalip=) From 255236386c78f9c01269b72386794309ed84c4c7 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Wed, 22 Jul 2015 23:01:00 -0600 Subject: [PATCH 407/555] remove old IRC code --- HyperStake-qt.pro | 2 - src/Makefile.am | 2 - src/init.cpp | 4 - src/irc.cpp | 409 ---------------------------------------------- src/irc.h | 12 -- src/net.cpp | 5 - src/net.h | 1 - 7 files changed, 435 deletions(-) delete mode 100644 src/irc.cpp delete mode 100644 src/irc.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index d51882eb3..3930522bf 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -173,7 +173,6 @@ HEADERS += src/qt/bitcoingui.h \ src/walletdb.h \ src/script.h \ src/init.h \ - src/irc.h \ src/mruset.h \ src/json/json_spirit_writer_template.h \ src/json/json_spirit_writer.h \ @@ -258,7 +257,6 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/main.cpp \ src/init.cpp \ src/net.cpp \ - src/irc.cpp \ src/checkpoints.cpp \ src/addrman.cpp \ src/db.cpp \ diff --git a/src/Makefile.am b/src/Makefile.am index eb7a77a2e..b5f84d4ac 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -46,7 +46,6 @@ BITCOIN_CORE_H = \ db.h \ hashblock.h \ init.h \ - irc.h \ kernel.h \ key.h \ keystore.h \ @@ -112,7 +111,6 @@ libbitcoin_server_a_SOURCES = \ groestl.c \ init.cpp \ jh.c \ - irc.cpp \ keccak.c \ kernel.cpp \ luffa.c \ diff --git a/src/init.cpp b/src/init.cpp index 4369fe030..e47b377fc 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -163,7 +163,6 @@ std::string HelpMessage() strUsage += " -externalip= " + _("Specify your own public address") + "\n"; strUsage += " -onlynet= " + _("Only connect to nodes in network (IPv4, IPv6 or Tor)") + "\n"; strUsage += " -discover " + _("Discover own IP address (default: 1 when listening and no -externalip)") + "\n"; - strUsage += " -irc " + _("Find peers using internet relay chat - disabled by default (default: 0)") + "\n"; strUsage += " -listen " + _("Accept connections from outside (default: 1 if no -proxy or -connect)") + "\n"; strUsage += " -bind= " + _("Bind to given address. Use [host]:port notation for IPv6") + "\n"; strUsage += " -dnsseed " + _("Find peers using DNS lookup (default: 0)") + "\n"; @@ -277,9 +276,6 @@ bool AppInit2() // ********************************************************* Step 2: parameter interactions fTestNet = GetBoolArg("-testnet"); - if (fTestNet) { - SoftSetBoolArg("-irc", true); - } if (mapArgs.count("-bind")) { // when specifying an explicit binding address, you want to listen on it diff --git a/src/irc.cpp b/src/irc.cpp deleted file mode 100644 index 7c293e4f7..000000000 --- a/src/irc.cpp +++ /dev/null @@ -1,409 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#include "irc.h" -#include "net.h" -#include "base58.h" - -#include // for startswith() and endswith() - - -#if !defined(HAVE_MSG_NOSIGNAL) -#define MSG_NOSIGNAL 0 -#endif - - -using namespace std; -using namespace boost; - -int nGotIRCAddresses = 0; - -void ThreadIRCSeed2(void* parg); - - - - -#pragma pack(push, 1) -struct ircaddr -{ - struct in_addr ip; - short port; -}; -#pragma pack(pop) - -string EncodeAddress(const CService& addr) -{ - struct ircaddr tmp; - if (addr.GetInAddr(&tmp.ip)) - { - tmp.port = htons(addr.GetPort()); - - vector vch(UBEGIN(tmp), UEND(tmp)); - return string("u") + EncodeBase58Check(vch); - } - return ""; -} - -bool DecodeAddress(string str, CService& addr) -{ - vector vch; - if (!DecodeBase58Check(str.substr(1), vch)) - return false; - - struct ircaddr tmp; - if (vch.size() != sizeof(tmp)) - return false; - memcpy(&tmp, &vch[0], sizeof(tmp)); - - addr = CService(tmp.ip, ntohs(tmp.port)); - return true; -} - - - - - - -static bool Send(SOCKET hSocket, const char* pszSend) -{ - if (strstr(pszSend, "PONG") != pszSend) - printf("IRC SENDING: %s\n", pszSend); - const char* psz = pszSend; - const char* pszEnd = psz + strlen(psz); - while (psz < pszEnd) - { - int ret = send(hSocket, psz, pszEnd - psz, MSG_NOSIGNAL); - if (ret < 0) - return false; - psz += ret; - } - return true; -} - -bool RecvLineIRC(SOCKET hSocket, string& strLine) -{ - while (true) - { - bool fRet = RecvLine(hSocket, strLine); - if (fRet) - { - if (fShutdown) - return false; - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() >= 1 && vWords[0] == "PING") - { - strLine[1] = 'O'; - strLine += '\r'; - Send(hSocket, strLine.c_str()); - continue; - } - } - return fRet; - } -} - -int RecvUntil(SOCKET hSocket, const char* psz1, const char* psz2=NULL, const char* psz3=NULL, const char* psz4=NULL) -{ - while (true) - { - string strLine; - strLine.reserve(10000); - if (!RecvLineIRC(hSocket, strLine)) - return 0; - printf("IRC %s\n", strLine.c_str()); - if (psz1 && strLine.find(psz1) != string::npos) - return 1; - if (psz2 && strLine.find(psz2) != string::npos) - return 2; - if (psz3 && strLine.find(psz3) != string::npos) - return 3; - if (psz4 && strLine.find(psz4) != string::npos) - return 4; - } -} - -bool Wait(int nSeconds) -{ - if (fShutdown) - return false; - printf("IRC waiting %d seconds to reconnect\n", nSeconds); - for (int i = 0; i < nSeconds; i++) - { - if (fShutdown) - return false; - Sleep(1000); - } - return true; -} - -bool RecvCodeLine(SOCKET hSocket, const char* psz1, string& strRet) -{ - strRet.clear(); - while (true) - { - string strLine; - if (!RecvLineIRC(hSocket, strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - if (vWords[1] == psz1) - { - printf("IRC %s\n", strLine.c_str()); - strRet = strLine; - return true; - } - } -} - -bool GetIPFromIRC(SOCKET hSocket, string strMyName, CNetAddr& ipRet) -{ - Send(hSocket, strprintf("USERHOST %s\r", strMyName.c_str()).c_str()); - - string strLine; - if (!RecvCodeLine(hSocket, "302", strLine)) - return false; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 4) - return false; - - string str = vWords[3]; - if (str.rfind("@") == string::npos) - return false; - string strHost = str.substr(str.rfind("@")+1); - - // Hybrid IRC used by lfnet always returns IP when you userhost yourself, - // but in case another IRC is ever used this should work. - printf("GetIPFromIRC() got userhost %s\n", strHost.c_str()); - CNetAddr addr(strHost, true); - if (!addr.IsValid()) - return false; - ipRet = addr; - - return true; -} - - - -void ThreadIRCSeed(void* parg) -{ - // Make this thread recognisable as the IRC seeding thread - RenameThread("bitcoin-ircseed"); - - try - { - ThreadIRCSeed2(parg); - } - catch (std::exception& e) { - PrintExceptionContinue(&e, "ThreadIRCSeed()"); - } catch (...) { - PrintExceptionContinue(NULL, "ThreadIRCSeed()"); - } - printf("ThreadIRCSeed exited\n"); -} - -void ThreadIRCSeed2(void* parg) -{ - // Don't connect to IRC if we won't use IPv4 connections. - if (IsLimited(NET_IPV4)) - return; - - // ... or if we won't make outbound connections and won't accept inbound ones. - if (mapArgs.count("-connect") && fNoListen) - return; - - // ... or if IRC is not enabled. - if (!GetBoolArg("-irc", false)) - return; - - printf("ThreadIRCSeed started\n"); - int nErrorWait = 10; - int nRetryWait = 10; - int nNameRetry = 0; - - while (!fShutdown) - { - CService addrConnect("92.243.23.21", 6667); // irc.lfnet.org - - CService addrIRC("irc.lfnet.org", 6667, true); - if (addrIRC.IsValid()) - addrConnect = addrIRC; - - SOCKET hSocket; - if (!ConnectSocket(addrConnect, hSocket)) - { - printf("IRC connect failed\n"); - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - if (!RecvUntil(hSocket, "Found your hostname", "using your IP address instead", "Couldn't look up your hostname", "ignoring hostname")) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - - CNetAddr addrIPv4("1.2.3.4"); // arbitrary IPv4 address to make GetLocal prefer IPv4 addresses - CService addrLocal; - string strMyName; - // Don't use our IP as our nick if we're not listening - // or if it keeps failing because the nick is already in use. - if (!fNoListen && GetLocal(addrLocal, &addrIPv4) && nNameRetry<3) - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - if (strMyName == "") - strMyName = strprintf("x%"PRI64u"", GetRand(1000000000)); - - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - Send(hSocket, strprintf("USER %s 8 * : %s\r", strMyName.c_str(), strMyName.c_str()).c_str()); - - int nRet = RecvUntil(hSocket, " 004 ", " 433 "); - if (nRet != 1) - { - closesocket(hSocket); - hSocket = INVALID_SOCKET; - if (nRet == 2) - { - printf("IRC name already in use\n"); - nNameRetry++; - Wait(10); - continue; - } - nErrorWait = nErrorWait * 11 / 10; - if (Wait(nErrorWait += 60)) - continue; - else - return; - } - nNameRetry = 0; - Sleep(500); - - // Get our external IP from the IRC server and re-nick before joining the channel - CNetAddr addrFromIRC; - if (GetIPFromIRC(hSocket, strMyName, addrFromIRC)) - { - printf("GetIPFromIRC() returned %s\n", addrFromIRC.ToString().c_str()); - // Don't use our IP as our nick if we're not listening - if (!fNoListen && addrFromIRC.IsRoutable()) - { - // IRC lets you to re-nick - AddLocal(addrFromIRC, LOCAL_IRC); - strMyName = EncodeAddress(GetLocalAddress(&addrConnect)); - Send(hSocket, strprintf("NICK %s\r", strMyName.c_str()).c_str()); - } - } - - if (fTestNet) { - Send(hSocket, "JOIN #HyperStakeTEST2\r"); - Send(hSocket, "WHO #HyperStakeTEST2\r"); - } else { - // randomly join #HyperStake00-#HyperStake05 - // int channel_number = GetRandInt(5); - - // Channel number is always 0 for initial release - int channel_number = 0; - Send(hSocket, strprintf("JOIN #HyperStake%02d\r", channel_number).c_str()); - Send(hSocket, strprintf("WHO #HyperStake%02d\r", channel_number).c_str()); - } - - int64 nStart = GetTime(); - string strLine; - strLine.reserve(10000); - while (!fShutdown && RecvLineIRC(hSocket, strLine)) - { - if (strLine.empty() || strLine.size() > 900 || strLine[0] != ':') - continue; - - vector vWords; - ParseString(strLine, ' ', vWords); - if (vWords.size() < 2) - continue; - - std::string strName; - - if (vWords[1] == "352" && vWords.size() >= 8) - { - // index 7 is limited to 16 characters - // could get full length name at index 10, but would be different from join messages - strName = vWords[7].c_str(); - printf("IRC got who\n"); - } - - if (vWords[1] == "JOIN" && vWords[0].size() > 1) - { - // :username!username@50000007.F000000B.90000002.IP JOIN :#channelname - strName = vWords[0].substr(1, vWords[0].find('!', 1) - 1); - printf("IRC got join\n"); - } - - if (boost::algorithm::starts_with(strName, "u")) - { - CAddress addr; - if (DecodeAddress(strName, addr)) - { - addr.nTime = GetAdjustedTime(); - if (addrman.Add(addr, addrConnect, 51 * 60)) - printf("IRC got new address: %s\n", addr.ToString().c_str()); - nGotIRCAddresses++; - } - else - { - printf("IRC decode failed\n"); - } - } - } - closesocket(hSocket); - hSocket = INVALID_SOCKET; - - if (GetTime() - nStart > 20 * 60) - { - nErrorWait /= 3; - nRetryWait /= 3; - } - - nRetryWait = nRetryWait * 11 / 10; - if (!Wait(nRetryWait += 60)) - return; - } -} - - - - - - - - - - -#ifdef TEST -int main(int argc, char *argv[]) -{ - WSADATA wsadata; - if (WSAStartup(MAKEWORD(2,2), &wsadata) != NO_ERROR) - { - printf("Error at WSAStartup()\n"); - return false; - } - - ThreadIRCSeed(NULL); - - WSACleanup(); - return 0; -} -#endif diff --git a/src/irc.h b/src/irc.h deleted file mode 100644 index 119aeb3fd..000000000 --- a/src/irc.h +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2009-2010 Satoshi Nakamoto -// Copyright (c) 2009-2012 The Bitcoin developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. -#ifndef BITCOIN_IRC_H -#define BITCOIN_IRC_H - -void ThreadIRCSeed(void* parg); - -extern int nGotIRCAddresses; - -#endif diff --git a/src/net.cpp b/src/net.cpp index a0669af15..9c3ea8a74 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -3,7 +3,6 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "irc.h" #include "db.h" #include "net.h" #include "init.h" @@ -1914,10 +1913,6 @@ void StartNode(void* parg) if (fUseUPnP) MapPort(); - // Get addresses from IRC and advertise ours - if (!NewThread(ThreadIRCSeed, NULL)) - printf("Error: NewThread(ThreadIRCSeed) failed\n"); - // Send and receive from sockets, accept connections if (!NewThread(ThreadSocketHandler, NULL)) printf("Error: NewThread(ThreadSocketHandler) failed\n"); diff --git a/src/net.h b/src/net.h index eec5757f7..5bf31037f 100644 --- a/src/net.h +++ b/src/net.h @@ -48,7 +48,6 @@ enum LOCAL_IF, // address a local interface listens on LOCAL_BIND, // address explicit bound to LOCAL_UPNP, // address reported by UPnP - LOCAL_IRC, // address reported by IRC (deprecated) LOCAL_HTTP, // address reported by whatismyip.com and similar LOCAL_MANUAL, // address explicitly specified (-externalip=) From 24b9867a8f260ed59713bf2860139b61134d0820 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 23 Jul 2015 16:08:57 -0600 Subject: [PATCH 408/555] Revert "add privkeydump security warnings" This reverts commit 6037fde980a0d4fd881b725322159c20ab40dcb9. --- src/rpcdump.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 04a85bf98..8aa8352e8 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -76,8 +76,7 @@ Value dumpprivkey(const Array& params, bool fHelp) if (fHelp || params.size() != 1) throw runtime_error( "dumpprivkey \n" - "Reveals the private key corresponding to .\n" - "WARNING: SHARING YOUR PRIVATE KEY WILL COMPROMISE YOUR ACCOUNT SECURITY"); + "Reveals the private key corresponding to ."); string strAddress = params[0].get_str(); CBitcoinAddress address; @@ -91,9 +90,6 @@ Value dumpprivkey(const Array& params, bool fHelp) CSecret vchSecret; bool fCompressed; if (!pwalletMain->GetSecret(keyID, vchSecret, fCompressed)) - throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known. Make sure wallet is unlocked and that the address is yours"); - Object result; - result.push_back(Pair("Private Key: ", CBitcoinSecret(vchSecret, fCompressed).ToString())); - result.push_back(Pair("WARNING:", "SHARING YOUR PRIVATE KEY WILL COMPROMISE YOUR ACCOUNT SECURITY")); - return result; + throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known"); + return CBitcoinSecret(vchSecret, fCompressed).ToString(); } From 83065d8ead2c23a69f80e2b672ba3686e87acde7 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Jul 2015 18:44:01 -0600 Subject: [PATCH 409/555] distinguish between IsConfirmed & IsConfirmedInMainChain --- src/rpcwallet.cpp | 2 +- src/wallet.cpp | 6 +++--- src/wallet.h | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 41085a94b..2925fd95d 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -561,7 +561,7 @@ Value getbalance(const Array& params, bool fHelp) "If [account] is specified, returns the balance in the account."); if (params.size() == 0) - return ValueFromAmount(pwalletMain->GetBalanceV1()); + return ValueFromAmount(pwalletMain->GetBalance()); int nMinDepth = 1; if (params.size() > 1) diff --git a/src/wallet.cpp b/src/wallet.cpp index aefc4c914..65cae10af 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -977,7 +977,7 @@ int64 CWallet::GetBalance() const return nTotal; } -int64 CWallet::GetBalanceV1() const //use this for getbalance rpc call so that it will return intra wallet transactions as confirmed +int64 CWallet::GetBalanceInMainChain() const //use this for getbalance rpc call so that it will return intra wallet transactions as confirmed { int64 nTotal = 0; { @@ -985,7 +985,7 @@ int64 CWallet::GetBalanceV1() const //use this for getbalance rpc call so that i for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) { const CWalletTx* pcoin = &(*it).second; - if (pcoin->IsFinal() && pcoin->IsConfirmedV1()) + if (pcoin->IsFinal() && pcoin->IsConfirmedInMainChain()) nTotal += pcoin->GetAvailableCredit(); } } @@ -2337,7 +2337,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& // presstab HyperStake // This finds and deletes transactions that were never accepted by the network // needs to be located above the readtxindex code or else it will not be triggered - if(!pcoin->IsConfirmed() && (GetTime() - pcoin->GetTxTime()) > (60*10)) //give the tx 10 minutes before considering it failed + if(!pcoin->IsConfirmedInMainChain() && (GetTime() - pcoin->GetTxTime()) > (60*10)) //give the tx 10 minutes before considering it failed { nOrphansFound++; if (!fCheckOnly) diff --git a/src/wallet.h b/src/wallet.h index e9f2f6cff..9e5711bc6 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -235,7 +235,7 @@ class CWallet : public CCryptoKeyStore void ReacceptWalletTransactions(); void ResendWalletTransactions(); int64 GetBalance() const; - int64 GetBalanceV1() const; + int64 GetBalanceInMainChain() const; int64 GetUnconfirmedBalance() const; int64 GetImmatureBalance() const; int64 GetStake() const; @@ -699,9 +699,11 @@ class CWalletTx : public CMerkleTx return (GetDebit() > 0); } - bool IsConfirmed() const + bool IsConfirmedInMainChain() const { - // Quick answer in most cases + //presstab - removed code that checks walletdb for confirmation, we want blockchain info only + + // Quick answer in most cases if (!IsFinal()) return false; if (GetDepthInMainChain() >= 1) @@ -709,12 +711,10 @@ class CWalletTx : public CMerkleTx if (!IsFromMe()) // using wtx's cached debit return false; - //presstab HyperStake, removed code that checks walletdb for confirmation, we want blockchain info only - return false; } - bool IsConfirmedV1() const //will use this for rpc getbalance, so that it reports unconfirmed intrawallet transfers as part of your total balance + bool IsConfirmed() const { // Quick answer in most cases if (!IsFinal()) From 3d77b35403729174de7cca0c43d51f090a7197c6 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 30 Jul 2015 21:58:47 -0600 Subject: [PATCH 410/555] add default return on a void function --- src/rpcwallet.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2925fd95d..b57e1b4ff 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2704,5 +2704,6 @@ Value hashsettings(const Array& params, bool fHelp) else return "HashInterval set but failed to write to DB"; } + return false; } \ No newline at end of file From 6661c75c85cf16ba3d429baab8732150e9f1d43d Mon Sep 17 00:00:00 2001 From: billotronic Date: Sat, 8 Aug 2015 16:44:16 -0500 Subject: [PATCH 411/555] updated qt5 dependencies --- doc/build-unix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 8385bf751..e0f7c1870 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -105,7 +105,7 @@ To build with Qt 4 you need the following: For Qt 5 you need the following: - sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler + sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qt5-image-formats-plugins libprotobuf-dev protobuf-compiler libqrencode (optional) can be installed with: From 44f7febc9b549a1fc6ad7e9c52f2ba05509482a7 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 5 Oct 2015 15:20:02 -0600 Subject: [PATCH 412/555] MultiSend in CoinStake Transaction Thanks to dooglus work on Clams with different coinstake output addresses https://github.com/nochowderforyou/clams/commit/73ee56e3d416c06ed92c34ce8f5a1d2886475945 --- src/main.cpp | 2 +- src/qt/transactionrecord.cpp | 50 ++++++++++++++++++++++++++++++------ src/rpcwallet.cpp | 24 +++++++++++++++++ src/wallet.cpp | 32 ++++++++++++++++++++--- src/wallet.h | 3 +++ src/walletdb.cpp | 6 +++++ src/walletdb.h | 5 ++++ 7 files changed, 110 insertions(+), 12 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 775ffd15d..896b7166f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2361,7 +2361,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) printf("ProcessBlock: ACCEPTED\n"); // If turned on MultiSend will send a transaction (or more) on the 30th confirmation of a stake - if (pwalletMain->fMultiSend) + if (pwalletMain->fMultiSend && !pwalletMain->fMultiSendCoinStake) if (!pwalletMain->MultiSend() ) printf("ERROR While trying to use MultiSend"); diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 15a433886..733790503 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -33,15 +33,49 @@ QList TransactionRecord::decomposeTransaction(const CWallet * if (wtx.IsCoinStake()) { - TransactionRecord txrCoinStake = TransactionRecord(hash, nTime, TransactionRecord::StakeMint, "", -nDebit, wtx.GetValueOut()); - CTxDestination address; - if (ExtractDestination(wtx.vout[1].scriptPubKey, address)) - { - txrCoinStake.address = CBitcoinAddress(address).ToString(); - } + CTxDestination address; + if (!ExtractDestination(wtx.vout[1].scriptPubKey, address)) + return parts; - // Stake generation - parts.append(txrCoinStake); + if(!IsMine(*wallet, address)) //if the address is not yours then it means you have a tx sent to you in someone elses coinstake tx + { + for(unsigned int i = 0; i < wtx.vout.size(); i++) + { + if(i == 0) + continue; // first tx is blank + CTxDestination outAddress; + if(ExtractDestination(wtx.vout[i].scriptPubKey, outAddress)) + { + if(IsMine(*wallet, outAddress)) + { + TransactionRecord txrMultiSendRec = TransactionRecord(hash, nTime, TransactionRecord::RecvWithAddress, CBitcoinAddress(outAddress).ToString(), wtx.vout[i].nValue, 0); + parts.append(txrMultiSendRec); + } + } + } + } + else + { + TransactionRecord txrCoinStake = TransactionRecord(hash, nTime, TransactionRecord::StakeMint, "", -nDebit, wtx.GetValueOut()); + // Stake generation + parts.append(txrCoinStake); + + //if some of your outputs went to another address we will make them as a sendtoaddress tx + for(unsigned int i = 0; i < wtx.vout.size(); i++) + { + if(i == 0) + continue; //first tx is blank + CTxDestination outAddress; + if(ExtractDestination(wtx.vout[i].scriptPubKey, outAddress)) + { + if(CBitcoinAddress(outAddress).ToString() != CBitcoinAddress(address).ToString()) + { + TransactionRecord txrCoinStakeMultiSend = TransactionRecord(hash, nTime, TransactionRecord::SendToAddress, CBitcoinAddress(outAddress).ToString(), wtx.vout[i].nValue * -1, 0); + parts.append(txrCoinStakeMultiSend); + } + } + } + } } else if (nNet > 0 || wtx.IsCoinBase()) { diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index b57e1b4ff..b115bb749 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2370,6 +2370,7 @@ Array printMultiSend() Array ret; Object act; act.push_back(Pair("MultiSend Activated?", pwalletMain->fMultiSend)); + act.push_back(Pair("MultiSend in CoinStake?", pwalletMain->fMultiSendCoinStake)); ret.push_back(act); if(pwalletMain->vDisabledAddresses.size() >= 1) { @@ -2537,6 +2538,28 @@ Value multisend(const Array ¶ms, bool fHelp) } } + if(params.size() == 2 && params[0].get_str() == "coinstake") + { + std::string strCoinStake = params[1].get_str(); + if(strCoinStake == "true") + { + pwalletMain->fMultiSendCoinStake = true; + if(walletdb.WriteMCoinStake(true)) + return "MultiSend CoinStake enabled and saved to wallet DB"; + else + return "MultiSend CoinStake enabled but failed to save to wallet DB"; + } + else if(strCoinStake == "false") + { + pwalletMain->fMultiSendCoinStake = false; + if(walletdb.WriteMCoinStake(false)) + return "MultiSend CoinStake disabled and saved to wallet DB"; + else + return "MultiSend CoinStake edisabled but failed to save to wallet DB"; + } + else + return "Did not recognize parameter"; + } //if no commands are used if (fHelp || params.size() != 2) throw runtime_error( @@ -2556,6 +2579,7 @@ Value multisend(const Array ¶ms, bool fHelp) " delete
          - deletes an address from the MultiSend vector \n" " disable
          - prevents a specific address from sending MultiSend transactions\n" " enableall - enables all addresses to be eligible to send MultiSend transactions\n" + " coinstake - this will send the multisend transaction in the coinstake transaction\n" "****************************************************************\n" "TO CREATE OR ADD TO THE MULTISEND VECTOR:\n" diff --git a/src/wallet.cpp b/src/wallet.cpp index 65cae10af..3ce4c3e15 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1732,8 +1732,20 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); - if (nTotalSize / 2 > nStakeSplitThreshold * COIN) + //presstab HyperStake + //if MultiSend is set to send in coinstake we will add our outputs here (values asigned further down) + if(fMultiSend && fMultiSendCoinStake) + { + for(unsigned int i = 0; i < vMultiSend.size(); i++) + { + CScript scriptPubKeyMultiSend; + scriptPubKeyMultiSend.SetDestination(CBitcoinAddress(vMultiSend[i].first).Get()); + txNew.vout.push_back(CTxOut(0, scriptPubKeyMultiSend)); + } + } + else if (nTotalSize / 2 > nStakeSplitThreshold * COIN || fMultiSend) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake + if (fDebug && GetBoolArg("-printcoinstake")) printf("CreateCoinStake : added kernel type=%d\n", whichType); fKernelFound = true; @@ -1773,6 +1785,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int } } // Calculate coin age reward + uint64 nReward; { uint64 nCoinAge; CTxDB txdb("r"); @@ -1780,14 +1793,27 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int if (!txNew.GetCoinAge(txdb, nCoinAge)) return error("CreateCoinStake : failed to calculate coin age"); - nCredit += GetProofOfStakeReward(nCoinAge, nBits, txNew.nTime, pIndex0->nHeight); + + nReward = GetProofOfStakeReward(nCoinAge, nBits, txNew.nTime, pIndex0->nHeight); + nCredit += nReward; } int64 nMinFee = 0; while (true) { // Set output amount - if (txNew.vout.size() == 3) + if(fMultiSend && fMultiSendCoinStake) + { + uint64 nMultiSendAmount = 0; + for(unsigned int i = 0; i < vMultiSend.size(); i++) + { + int nOut = 2 + i; + txNew.vout[nOut].nValue = nReward * vMultiSend[i].second / 100; + nMultiSendAmount += txNew.vout[nOut].nValue; + } + txNew.vout[1].nValue = nCredit - nMinFee - nMultiSendAmount; + } + else if (txNew.vout.size() == 3) { txNew.vout[1].nValue = ((nCredit - nMinFee) / 2 / CENT) * CENT; txNew.vout[2].nValue = nCredit - nMinFee - txNew.vout[1].nValue; diff --git a/src/wallet.h b/src/wallet.h index 9e5711bc6..5a7ab8385 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -96,6 +96,7 @@ class CWallet : public CCryptoKeyStore //MultiSend std::vector > vMultiSend; bool fMultiSend; + bool fMultiSendCoinStake; bool fMultiSendNotify; std::string strMultiSendChangeAddress; int nLastMultiSendHeight; @@ -139,6 +140,7 @@ class CWallet : public CCryptoKeyStore //MultiSend vMultiSend.clear(); fMultiSend = false; + fMultiSendCoinStake = false; fMultiSendNotify = false; strMultiSendChangeAddress = ""; nLastMultiSendHeight = 0; @@ -171,6 +173,7 @@ class CWallet : public CCryptoKeyStore //MultiSend vMultiSend.clear(); fMultiSend = false; + fMultiSendCoinStake = false; fMultiSendNotify = false; strMultiSendChangeAddress = ""; nLastMultiSendHeight = 0; diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 812d4c91a..332671bc8 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -394,6 +394,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, pwallet->fMultiSend = pSettings.first; pwallet->nLastMultiSendHeight = pSettings.second; } + else if (strType == "mcoinstake") + { + bool fMultiSendCoinStake; + ssValue >> fMultiSendCoinStake; + pwallet->fMultiSendCoinStake = fMultiSendCoinStake; + } else if(strType == "mdisabled")//presstab HyperStake { std::string strDisabledAddress; diff --git a/src/walletdb.h b/src/walletdb.h index c27d800a9..5600df32c 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -140,6 +140,11 @@ class CWalletDB : public CDB pSettings.second = nLastMultiSendHeight; return Write(std::string("msettings"), pSettings, true); } + bool WriteMCoinStake(bool fMultiSendCoinStake) + { + nWalletDBUpdated++; + return Write(std::string("mcoinstake"), fMultiSendCoinStake, true); + } //presstab HyperStake bool WriteMSDisabledAddresses(std::vector vDisabledAddresses) { From 806e1cadfaf3291153331adf5d9e4140e5a70119 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 5 Oct 2015 15:29:45 -0600 Subject: [PATCH 413/555] make sure staking address shows up on transaction record --- src/qt/transactionrecord.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 733790503..05310aa3c 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -56,7 +56,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * } else { - TransactionRecord txrCoinStake = TransactionRecord(hash, nTime, TransactionRecord::StakeMint, "", -nDebit, wtx.GetValueOut()); + TransactionRecord txrCoinStake = TransactionRecord(hash, nTime, TransactionRecord::StakeMint, CBitcoinAddress(address).ToString(), -nDebit, wtx.GetValueOut()); // Stake generation parts.append(txrCoinStake); From 0dde1761cd80ecd48abb7b8cf9a73b215970c704 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Mon, 12 Oct 2015 23:12:43 -0600 Subject: [PATCH 414/555] remove bug causing stake to split if MultiSend enabled --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 3ce4c3e15..a1cb776b0 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1743,7 +1743,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int txNew.vout.push_back(CTxOut(0, scriptPubKeyMultiSend)); } } - else if (nTotalSize / 2 > nStakeSplitThreshold * COIN || fMultiSend) + else if (nTotalSize / 2 > nStakeSplitThreshold * COIN) txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); //split stake if (fDebug && GetBoolArg("-printcoinstake")) From 3da92b71ff31ab2be3e5a73b8de311b3f48938c0 Mon Sep 17 00:00:00 2001 From: Press Tab Date: Thu, 15 Oct 2015 23:50:25 -0600 Subject: [PATCH 415/555] gettxfee RPC call --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/rpcrawtransaction.cpp | 29 +++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index b395ed3aa..665ededa2 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -291,6 +291,7 @@ static const CRPCCommand vRPCCommands[] = { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, { "hashsettings", &hashsettings, false, false }, + { "gettxfee", &gettxfee, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index c9f042035..73e25416e 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -217,6 +217,7 @@ extern json_spirit::Value createrawtransaction(const json_spirit::Array& params, extern json_spirit::Value decoderawtransaction(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value signrawtransaction(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value sendrawtransaction(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value gettxfee(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getblockcount(const json_spirit::Array& params, bool fHelp); // in rpcblockchain.cpp extern json_spirit::Value getdifficulty(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcrawtransaction.cpp b/src/rpcrawtransaction.cpp index 90733d2a4..1f3c490c7 100644 --- a/src/rpcrawtransaction.cpp +++ b/src/rpcrawtransaction.cpp @@ -541,3 +541,32 @@ Value sendrawtransaction(const Array& params, bool fHelp) return hashTx.GetHex(); } + +Value gettxfee(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "gettxfee \n"); + + uint256 hash; + hash.SetHex(params[0].get_str()); + CTransaction tx; + uint256 hashBlock = 0; + if (!GetTransaction(hash, tx, hashBlock)) + return "Transaction not found"; + + int64 nTotalIn = 0; + for(unsigned int i = 0; i < tx.vin.size(); i++) + { + CTransaction tx2; + uint256 hashBlock2 = 0; + if (!GetTransaction(tx.vin[i].prevout.hash, tx2, hashBlock2)) + return 0; + nTotalIn += tx2.vout[tx.vin[i].prevout.n].nValue; + } + int64 nTotalOut = 0; + for(unsigned int i = 0; i < tx.vout.size(); i++) + nTotalOut += tx.vout[i].nValue; + + return ValueFromAmount(nTotalIn - nTotalOut); +} \ No newline at end of file From 97b38471e7e0c1044e92ba986fd1f9640fa4a7a1 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 26 Oct 2015 13:37:23 -0600 Subject: [PATCH 416/555] fix cclistcoins potential stake calculation --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index b115bb749..c13d4c348 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2224,7 +2224,7 @@ Value cclistcoins(const Array& params, bool fHelp) if(dAge < (fTestNet ? nStakeMinAge : nStakeMinAgeV2)) nWeight = 0; coutput.push_back(Pair("Weight", int(nWeight))); - double nReward = 7.5 / 365 * dAge * dAmount; + double nReward = 7.5 / 365 * dAge * dAmount / COIN; nReward = min(nReward, double(1000)); coutput.push_back(Pair("Potential Stake", nReward)); result.push_back(coutput); From 7e95a3fad27d182db2251b29abd735bb932ddb1e Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 26 Oct 2015 16:27:36 -0600 Subject: [PATCH 417/555] another correction to cclistcoins potential stake --- src/rpcwallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c13d4c348..d993ad375 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2224,7 +2224,7 @@ Value cclistcoins(const Array& params, bool fHelp) if(dAge < (fTestNet ? nStakeMinAge : nStakeMinAgeV2)) nWeight = 0; coutput.push_back(Pair("Weight", int(nWeight))); - double nReward = 7.5 / 365 * dAge * dAmount / COIN; + double nReward = 7.5 / 365 * dAge/(60*60*24) * dAmount; nReward = min(nReward, double(1000)); coutput.push_back(Pair("Potential Stake", nReward)); result.push_back(coutput); From 3ddb73a1ffc2f90fd50832c04fe907a301192941 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 2 Nov 2015 16:13:42 -0700 Subject: [PATCH 418/555] Do not query MintableCoins() as frequently --- src/main.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 896b7166f..ae03bee79 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4488,12 +4488,22 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) CReserveKey reservekey(pwallet); unsigned int nExtraNonce = 0; + //control the amount of times the client will check for mintable coins + static bool fMintableCoins = false; + static int nMintableLastCheck = 0; + + if(GetTime() - nMintableLastCheck > 60) // 5 minute check time + { + nMintableLastCheck = GetTime(); + fMintableCoins = pwallet->MintableCoins(); + } + while (fGenerateBitcoins || fProofOfStake) { if (fShutdown) return; - while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !pwallet->MintableCoins()) + while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) { nLastCoinStakeSearchInterval = 0; Sleep(1000); From dbb7b9f64a1c09bb554c8139717c645a64ce6f4b Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 2 Nov 2015 16:24:33 -0700 Subject: [PATCH 419/555] Keep stake coins set in memory instead of iterating every time we hash --- src/wallet.cpp | 28 +++++++++++++++++++--------- src/wallet.h | 3 +++ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index a1cb776b0..7a1026a19 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1652,19 +1652,27 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int if (nBalance <= nReserveBalance) return false; - set > setCoins; - vector vwtxPrev; + // presstab HyperStake - Initialize as static and don't update the set on every run of CreateCoinStake() in order to lighten resource use + static std::set > setStakeCoins; + static int nLastStakeSetUpdate = 0; - if (!SelectStakeCoins(setCoins, nBalance - nReserveBalance)) - return false; + if(GetTime() - nLastStakeSetUpdate > nStakeSetUpdateTime) + { + setStakeCoins.clear(); + if (!SelectStakeCoins(setStakeCoins, nBalance - nReserveBalance)) + return false; + nLastStakeSetUpdate = GetTime(); + } - if (setCoins.empty()) + if (setStakeCoins.empty()) return false; - + + vector vwtxPrev; + int64 nCredit = 0; CScript scriptPubKeyKernel; CTxDB txdb("r"); - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) + BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setStakeCoins) { CTxIndex txindex; { @@ -1752,12 +1760,13 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int break; } if (fKernelFound || fShutdown) - break; // if kernel is found stop searching + break; // if kernel is found stop searching + } if (nCredit == 0 || nCredit > nBalance - nReserveBalance) return false; - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) + BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setStakeCoins) { // Attempt to add more inputs // Only add coins of the same key/address as kernel @@ -1849,6 +1858,7 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int } // Successfully generated coinstake + nLastStakeSetUpdate = 0; //this will trigger stake set to repopulate next round return true; } diff --git a/src/wallet.h b/src/wallet.h index 5a7ab8385..1bb754c32 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -106,6 +106,7 @@ class CWallet : public CCryptoKeyStore unsigned int nHashDrift; unsigned int nHashInterval; uint64 nStakeSplitThreshold; + int nStakeSetUpdateTime; // DisableStake bool fDisableStake; @@ -136,6 +137,7 @@ class CWallet : public CCryptoKeyStore nHashDrift = 45; nStakeSplitThreshold = 2000; nHashInterval = 22; + nStakeSetUpdateTime = 300; // 5 minutes //MultiSend vMultiSend.clear(); @@ -169,6 +171,7 @@ class CWallet : public CCryptoKeyStore nHashDrift = 45; nStakeSplitThreshold = 2000; nHashInterval = 22; + nStakeSetUpdateTime = 300; // 5 minutes //MultiSend vMultiSend.clear(); From e0a2f20231fbc25d2397d767f5c33c1fe54f92e3 Mon Sep 17 00:00:00 2001 From: Lightsplasher Date: Mon, 2 Nov 2015 21:52:41 -0800 Subject: [PATCH 420/555] Changed date labels to hidden, added text selectable to total --- src/qt/transactionview.cpp | 15 ++++++++++----- src/qt/transactionview.h | 2 ++ 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/qt/transactionview.cpp b/src/qt/transactionview.cpp index 6cbbc6f1e..7f3bf1694 100644 --- a/src/qt/transactionview.cpp +++ b/src/qt/transactionview.cpp @@ -407,8 +407,10 @@ void TransactionView::showDetails() void TransactionView::enableDateRangeWidget(bool enable) { - dateFrom->setEnabled(enable); - dateTo->setEnabled(enable); + dateFrom->setVisible(enable); + dateTo->setVisible(enable); + to->setVisible(enable); + range->setVisible(enable); } QWidget *TransactionView::createDateRangeWidget() @@ -420,7 +422,8 @@ QWidget *TransactionView::createDateRangeWidget() QHBoxLayout *layout = new QHBoxLayout(dateRangeWidget); layout->setContentsMargins(0,0,0,0); layout->addSpacing(23); - layout->addWidget(new QLabel(tr("Range:"))); + range = new QLabel(tr("Range:")); + layout->addWidget(range); dateFrom = new QDateTimeEdit(this); dateFrom->setDisplayFormat("dd/MM/yy"); @@ -428,7 +431,8 @@ QWidget *TransactionView::createDateRangeWidget() dateFrom->setMinimumWidth(100); dateFrom->setDate(QDate::currentDate().addDays(-7)); layout->addWidget(dateFrom); - layout->addWidget(new QLabel(tr("to"))); + to = new QLabel(tr("to")); + layout->addWidget(to); dateTo = new QDateTimeEdit(this); dateTo->setDisplayFormat("dd/MM/yy"); @@ -441,7 +445,8 @@ QWidget *TransactionView::createDateRangeWidget() layout->addWidget(new QLabel(tr("Total:"))); totalAmountWidget = new QLabel(this); totalAmountWidget->setText("0"); - totalAmountWidget->setFixedWidth(100); + totalAmountWidget->setFixedWidth(120); + totalAmountWidget->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); layout->addWidget(totalAmountWidget); // Hide by default diff --git a/src/qt/transactionview.h b/src/qt/transactionview.h index b453a817b..a980b32d4 100644 --- a/src/qt/transactionview.h +++ b/src/qt/transactionview.h @@ -57,6 +57,8 @@ class TransactionView : public QWidget QFrame *dateRangeWidget; QDateTimeEdit *dateFrom; QDateTimeEdit *dateTo; + QLabel *to; + QLabel *range; QWidget *createDateRangeWidget(); From d108bea9d1977b4afff0d3ac7de1625f4803671e Mon Sep 17 00:00:00 2001 From: perl5577 Date: Wed, 4 Nov 2015 19:29:03 +0100 Subject: [PATCH 421/555] add support for miniupnpc api version 14 Need for archlinux --- src/net.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index 9c3ea8a74..1e15589c9 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1084,10 +1084,14 @@ void ThreadMapPort2(void* parg) #ifndef UPNPDISCOVER_SUCCESS /* miniupnpc 1.5 */ devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0); -#else +#elif MINIUPNPC_API_VERSION < 14 /* miniupnpc 1.6 */ int error = 0; devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, &error); +#else + /* miniupnpc 1.9.20150730 */ + int error = 0; + devlist = upnpDiscover(2000, multicastif, minissdpdpath, 0, 0, 2, &error); #endif struct UPNPUrls urls; From 8c68e7f2bd9ef5e5406db299f9b07db4f6b897b2 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 6 Nov 2015 16:10:48 -0700 Subject: [PATCH 422/555] add ability to turn off dust collector in coinstake --- src/rpcwallet.cpp | 26 +++++++++++++++++++-- src/wallet.cpp | 57 +++++++++++++++++++++++++---------------------- src/wallet.h | 3 +++ src/walletdb.cpp | 6 +++++ src/walletdb.h | 5 +++++ 5 files changed, 68 insertions(+), 29 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d993ad375..8a0e2484f 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2674,6 +2674,7 @@ Value hashsettings(const Array& params, bool fHelp) if (fHelp || params.size() > 2 || params.size() == 0) throw runtime_error( "hashsettings \n" + "hashsettings \n" "ex: 'hashsettings drift' will return the current drift settings\n" "ex: 'hashsettings interval' will return the current interval settings\n" "ex: hashsettings drift 45\n" @@ -2684,7 +2685,9 @@ Value hashsettings(const Array& params, bool fHelp) "if you set your hashdrift to 45, then your client will create 45 unique proof of stake hashes, the only thing changing the hash result is the timestamp included, thus you hash 45 seconds into the future.\n" "Each hash is an attempt to meet the staking target. If you don't hit the staking target, your client will pause staking for the set interval. \n" "If the interval is 22 seconds, the wallet will create 45 hashes, wait 22 seconds, then create 45 hashes. Approximately 23 of those hashes will be identical as the previous rounds hashes.\n" - "WARNING: timedrift allowance is 60 seconds too high of a hash drift will cause orphans"); + "WARNING: timedrift allowance is 60 seconds too high of a hash drift will cause orphans\n" + "Combine dust is a setting in the staking parameters that will iterate through your entire wallet contents to looks for small coins that it can combine into your coinstake transaction." + "set this to false to prevent any combination from occurring \n"); if(params.size() < 2) { if(params[0].get_str() == "drift") @@ -2700,6 +2703,8 @@ Value hashsettings(const Array& params, bool fHelp) walletdb.WriteHashInterval(22); return "Hash Settings returned to default"; } + else if(params[0].get_str() == "combinedust") + return pwalletMain->fCombineDust; } CWalletDB walletdb(pwalletMain->strWalletFile); @@ -2728,6 +2733,23 @@ Value hashsettings(const Array& params, bool fHelp) else return "HashInterval set but failed to write to DB"; } - return false; + else if(params[0].get_str() == "combinedust") + { + bool fCombineDust; + string strCombineDust = params[1].get_str(); + if(strCombineDust == "true") + fCombineDust = true; + else if(strCombineDust == "false") + fCombineDust = false; + else + return "failed to understand true/false parameter"; + + pwalletMain->fCombineDust = fCombineDust; + if(walletdb.WriteCombineDust(fCombineDust)) + return "Combine dust setting saved and written to DB"; + else + return "Combine dust setting saved and but failed to write to DB"; + } + return "Failed to recognize commands"; } \ No newline at end of file diff --git a/src/wallet.cpp b/src/wallet.cpp index 7a1026a19..efc9e558d 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1766,33 +1766,36 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int if (nCredit == 0 || nCredit > nBalance - nReserveBalance) return false; - BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setStakeCoins) - { - // Attempt to add more inputs - // Only add coins of the same key/address as kernel - if (txNew.vout.size() == 2 && ((pcoin.first->vout[pcoin.second].scriptPubKey == scriptPubKeyKernel || pcoin.first->vout[pcoin.second].scriptPubKey == txNew.vout[1].scriptPubKey)) - && pcoin.first->GetHash() != txNew.vin[0].prevout.hash) - { - // Stop adding more inputs if already too many inputs - if (txNew.vin.size() >= 100) - break; - // Stop adding more inputs if value is already pretty significant - if (nCredit > nCombineThreshold) - break; - // Stop adding inputs if reached reserve limit - if (nCredit + pcoin.first->vout[pcoin.second].nValue > nBalance - nReserveBalance) - break; - // Do not add additional significant input - if (pcoin.first->vout[pcoin.second].nValue > nCombineThreshold) - continue; - // Do not add input that is still too young - if (pcoin.first->nTime + nStakeMaxAge > txNew.nTime) - continue; - txNew.vin.push_back(CTxIn(pcoin.first->GetHash(), pcoin.second)); - nCredit += pcoin.first->vout[pcoin.second].nValue; - vwtxPrev.push_back(pcoin.first); - } - } + if(fCombineDust) //presstab HyperStake - this combination code iterates through all of your outputs on successful coinstake, so its useful to have user be able to choose whether this is necessary + { + BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setStakeCoins) + { + // Attempt to add more inputs + // Only add coins of the same key/address as kernel + if (txNew.vout.size() == 2 && ((pcoin.first->vout[pcoin.second].scriptPubKey == scriptPubKeyKernel || pcoin.first->vout[pcoin.second].scriptPubKey == txNew.vout[1].scriptPubKey)) + && pcoin.first->GetHash() != txNew.vin[0].prevout.hash) + { + // Stop adding more inputs if already too many inputs + if (txNew.vin.size() >= 100) + break; + // Stop adding more inputs if value is already pretty significant + if (nCredit > nCombineThreshold) + break; + // Stop adding inputs if reached reserve limit + if (nCredit + pcoin.first->vout[pcoin.second].nValue > nBalance - nReserveBalance) + break; + // Do not add additional significant input + if (pcoin.first->vout[pcoin.second].nValue > nCombineThreshold) + continue; + // Do not add input that is still too young + if (pcoin.first->nTime + nStakeMaxAge > txNew.nTime) + continue; + txNew.vin.push_back(CTxIn(pcoin.first->GetHash(), pcoin.second)); + nCredit += pcoin.first->vout[pcoin.second].nValue; + vwtxPrev.push_back(pcoin.first); + } + } + } // Calculate coin age reward uint64 nReward; { diff --git a/src/wallet.h b/src/wallet.h index 1bb754c32..2a6160f21 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -107,6 +107,7 @@ class CWallet : public CCryptoKeyStore unsigned int nHashInterval; uint64 nStakeSplitThreshold; int nStakeSetUpdateTime; + bool fCombineDust; // DisableStake bool fDisableStake; @@ -138,6 +139,7 @@ class CWallet : public CCryptoKeyStore nStakeSplitThreshold = 2000; nHashInterval = 22; nStakeSetUpdateTime = 300; // 5 minutes + fCombineDust = true; //MultiSend vMultiSend.clear(); @@ -172,6 +174,7 @@ class CWallet : public CCryptoKeyStore nStakeSplitThreshold = 2000; nHashInterval = 22; nStakeSetUpdateTime = 300; // 5 minutes + fCombineDust = true; //MultiSend vMultiSend.clear(); diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 332671bc8..df9e1a439 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -418,6 +418,12 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssValue >> nHashInterval; pwallet->nHashInterval = nHashInterval; } + else if(strType == "combinedust")//presstab HyperStake + { + bool fCombineDust; + ssValue >> fCombineDust; + pwallet->fCombineDust = fCombineDust; + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index 5600df32c..a29511671 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -181,6 +181,11 @@ class CWalletDB : public CDB nWalletDBUpdated++; return Write(std::string("hashinterval"), nHashInterval, true); } + bool WriteCombineDust(bool fCombineDust) + { + nWalletDBUpdated++; + return Write(std::string("combinedust"), fCombineDust, true); + } bool WriteDefaultKey(const CPubKey& vchPubKey) { nWalletDBUpdated++; From 3aa19b9c8b0ca600fed64a6fe94bfc4946bb0b3b Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 30 Nov 2015 09:25:22 -0700 Subject: [PATCH 423/555] Use GetProofOfStakeReward() to calc reward for stake split calcs --- src/wallet.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index efc9e558d..16b0835ac 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1738,10 +1738,16 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int nCredit += pcoin.first->vout[pcoin.second].nValue; vwtxPrev.push_back(pcoin.first); txNew.vout.push_back(CTxOut(0, scriptPubKeyOut)); - uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue * (1+((txNew.nTime - block.GetBlockTime()) / (60*60*24)) * (7.5/365)); + + //presstab HyperStake - calculate the total size of our new output including the stake reward so that we can use it to decide whether to split the stake outputs + uint64 nCoinAge; + CTxDB txdb("r"); + const CBlockIndex* pIndex0 = GetLastBlockIndex(pindexBest, false); + if (!txNew.GetCoinAge(txdb, nCoinAge)) + return error("CreateCoinStake : failed to calculate coin age"); + uint64 nTotalSize = pcoin.first->vout[pcoin.second].nValue + GetProofOfStakeReward(nCoinAge, nBits, txNew.nTime, pIndex0->nHeight); - //presstab HyperStake - //if MultiSend is set to send in coinstake we will add our outputs here (values asigned further down) + //presstab HyperStake - if MultiSend is set to send in coinstake we will add our outputs here (values asigned further down) if(fMultiSend && fMultiSendCoinStake) { for(unsigned int i = 0; i < vMultiSend.size(); i++) From 7659874fc3a204b87f558b747923d5c3ee458e33 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 30 Nov 2015 16:17:31 -0700 Subject: [PATCH 424/555] fill in information about hashsettings combinedust --- src/rpcwallet.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 8a0e2484f..2f75e2446 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2680,6 +2680,7 @@ Value hashsettings(const Array& params, bool fHelp) "ex: hashsettings drift 45\n" "ex: hashsettings interval 20\n" "ex: 'hashsettings default' returns the settings to default\n" + "ex: 'hashsettings combinedust true' dust outputs will be combined when staking if eligible\n" "hashdrift is how many second into the future your wallet will stake in one hashing burst\n" "interval is how often your client will search for new hashes\n" "if you set your hashdrift to 45, then your client will create 45 unique proof of stake hashes, the only thing changing the hash result is the timestamp included, thus you hash 45 seconds into the future.\n" From 03aac2013d0505b5e6d69561e956439e4f968ad4 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 3 Dec 2015 11:11:43 -0700 Subject: [PATCH 425/555] Fix invalid signature with crafted length https://github.com/ppcoin/ppcoin/commit/4f3f5d877e57cdd2fc34a09c9db2323e7d7e2563 https://github.com/ppcoin/ppcoin/commit/06d2cba29957f720ba9e368cc46502485352ce3d https://github.com/ppcoin/ppcoin/issues/100 https://bitcointalk.org/index.php?topic=678849.msg13134930#msg13134930 --- src/key.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/key.cpp b/src/key.cpp index ad15bfef7..0b35e97cc 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -374,9 +374,29 @@ bool CKey::SetCompactSignature(uint256 hash, const std::vector& v return false; } -bool CKey::Verify(uint256 hash, const std::vector& vchSig) +bool CKey::Verify(uint256 hash, const std::vector& vchSigParam) { - if (vchSig.empty()) + // Prevent the problem described here: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-July/009697.html + // by removing the extra length bytes + std::vector vchSig(vchSigParam.begin(), vchSigParam.end()); + if (int(vchSig.size()) > 1 && vchSig[1] & 0x80) + { + unsigned char nLengthBytes = vchSig[1] & 0x7f; + + if (int(vchSig.size()) < 2 + nLengthBytes) + return false; + + if (nLengthBytes > 4) + { + unsigned char nExtraBytes = nLengthBytes - 4; + for (unsigned char i = 0; i < nExtraBytes; i++) + if (vchSig[2 + i]) + return false; + vchSig.erase(vchSig.begin() + 2, vchSig.begin() + 2 + nExtraBytes); + vchSig[1] = 0x80 | (nLengthBytes - nExtraBytes); + } + } + if (vchSig.empty()) return false; // New versions of OpenSSL will reject non-canonical DER signatures. de/re-serialize first. From e9299f3500c23cc0189aca1904d53949f9471af9 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 3 Dec 2015 11:21:12 -0700 Subject: [PATCH 426/555] update hard checkpoints --- src/checkpoints.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 2c0a258d2..d9830fd9d 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -28,10 +28,11 @@ namespace Checkpoints (10, uint256("0x0000074074af28e73189ae5767b706246be2e0827c46d97a61178394aec877cf")) (31781, uint256("0x42265210870957b8d37f91a0834c6cda65949b2ca805bb3a7d527a4cd585a090")) //official hyp fork (80987, uint256("0x6b943fa756e915ddd8b654844781e21090ae9ddfcb2147fba46cac529df5be08")) //not using even number because sync gets sticky - (129999, uint256("0x146b5d1320606e831edbacc0ebbc418079fe2ab1f4f5c598142c40ebb0986c7e")) (199999, uint256("0x084b314dfee7db9d311a5db4dc4b8880df36eb7e9bb90ec98dd0bab5af2a7df2")) (235691, uint256("0xf0f71ea7edf7457e611ee893cdbb6ff19499713f4dae935d6d21e073d96a7dc3")) (235999, uint256("0xafe60dd0ab56ef529db21ea648ea4fd8de758a11b6a8ac1fa5cd2d4959162106")) + (399999, uint256("0x875356232916a420c100b83d87cc9ce3eb9a174750b48d2fd1eefba7292163b5")) + (499999, uint256("0x8e370d8ab8bdb6e6a5a4882dda755b23b5f284f633e04c12e6f73f92de15e68e")) ; static MapCheckpoints mapCheckpointsTestnet = From 562d9796c829965e635ce759c216cf226cfed76b Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 3 Dec 2015 11:34:57 -0700 Subject: [PATCH 427/555] bump to v1.1.2 --- src/clientversion.h | 4 ++-- src/version.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/clientversion.h b/src/clientversion.h index bbe6c1308..f603e3c30 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,8 +16,8 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 1 -#define CLIENT_VERSION_BUILD 3 +#define CLIENT_VERSION_REVISION 2 +#define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.h b/src/version.h index 77f02f9ee..caf59c929 100644 --- a/src/version.h +++ b/src/version.h @@ -33,7 +33,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 -#define DISPLAY_VERSION_REVISION 1 -#define DISPLAY_VERSION_BUILD 3 +#define DISPLAY_VERSION_REVISION 2 +#define DISPLAY_VERSION_BUILD 0 #endif From 67d3be37dfa70aa8dd07e7c7f9967631390a184b Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 3 Dec 2015 13:21:37 -0700 Subject: [PATCH 428/555] v1.1.2 --- configure.ac | 4 ++-- src/version.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 258c8b430..bc870e69e 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) -define(_CLIENT_VERSION_MINOR, 4) -define(_CLIENT_VERSION_REVISION, 4) +define(_CLIENT_VERSION_MINOR, 1) +define(_CLIENT_VERSION_REVISION, 2) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2014) diff --git a/src/version.cpp b/src/version.cpp index f15305876..35af5f366 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.1.3" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.2.0" // The following part of the code determines the CLIENT_BUILD variable. From b1884a2b104dcce531c3221fd94a1e99dae8f49e Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Jan 2016 10:45:57 -0700 Subject: [PATCH 429/555] Update build-unix.md --- doc/build-unix.md | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/build-unix.md b/doc/build-unix.md index e0f7c1870..70c13b5c2 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -21,6 +21,7 @@ To Build make make install # optional ``` +NOTE: Depending on your BDB setup, you may need to use './configure --with-incompatible-bdb' This will build hyperstake-qt as well if the dependencies are met. From c91f0b944353430afa969a7d1d7da0d03f0dda66 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 13 Jan 2016 11:20:24 -0700 Subject: [PATCH 430/555] allow spending of unconfirmed inputs if they are your own --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 16b0835ac..e8d6eca5c 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -969,7 +969,7 @@ int64 CWallet::GetBalance() const for (map::const_iterator it = mapWallet.begin(); it != mapWallet.end(); ++it) { const CWalletTx* pcoin = &(*it).second; - if (pcoin->IsFinal() && pcoin->IsConfirmed()) + if (pcoin->IsConfirmed()) nTotal += pcoin->GetAvailableCredit(); } } From db537bed2cfcb87aab3038453c302ea298e4c98b Mon Sep 17 00:00:00 2001 From: Press Tab Date: Sat, 23 Jan 2016 16:24:50 -0700 Subject: [PATCH 431/555] replace MNT reference --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index e8d6eca5c..13512cac8 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -349,7 +349,7 @@ void CWallet::WalletUpdateSpent(const CTransaction &tx) printf("WalletUpdateSpent: bad wtx %s\n", wtx.GetHash().ToString().c_str()); else if (!wtx.IsSpent(txin.prevout.n) && IsMine(wtx.vout[txin.prevout.n])) { - printf("WalletUpdateSpent found spent coin %sMNT %s\n", FormatMoney(wtx.GetCredit()).c_str(), wtx.GetHash().ToString().c_str()); + printf("WalletUpdateSpent found spent coin %s HYP %s\n", FormatMoney(wtx.GetCredit()).c_str(), wtx.GetHash().ToString().c_str()); wtx.MarkSpent(txin.prevout.n); wtx.WriteToDisk(); NotifyTransactionChanged(this, txin.prevout.hash, CT_UPDATED); From 5623a1b880831cc46df439efb8af0745a522380e Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 21 Feb 2016 10:49:00 -0700 Subject: [PATCH 432/555] reduce QT resource consumption by calling for less updates --- src/qt/bitcoingui.cpp | 30 ++++++++++++++++-------------- src/qt/guiconstants.h | 4 +++- src/qt/transactiontablemodel.cpp | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 167b19c1d..9c42c9298 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -186,7 +186,7 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): labelMintingIcon->setEnabled(false); // Add timer to update minting info QTimer *timerMintingIcon = new QTimer(labelMintingIcon); - timerMintingIcon->start(MODEL_UPDATE_DELAY); + timerMintingIcon->start(MINTING_UPDATE_DELAY); connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); @@ -1247,29 +1247,31 @@ void BitcoinGUI::updateMintingIcon() } } +uint nLastWeightCheck = 0; void BitcoinGUI::updateMintingWeights() { // Only update if we have the network's current number of blocks, or weight(s) are zero (fixes lagging GUI) if ((clientModel && clientModel->getNumBlocks() >= clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) { - nWeight = 0; - - nAmount = 0; - - if (pwalletMain) - pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); - - if (nHoursToMaturity > 212) - nHoursToMaturity = 0; - nNetworkWeight = GetPoSKernelPS(); + //only update weight every 120 seconds in order to reduce resource consumption + if(GetTime() - nLastWeightCheck > 120) + { + nWeight = 0; + nAmount = 0; + if (pwalletMain) + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + + if (nHoursToMaturity > 212) + nHoursToMaturity = 0; + nNetworkWeight = GetPoSKernelPS(); + + nLastWeightCheck = GetTime(); + } } //MultiSend check if(walletModel) - { fMultiSend = pwalletMain->fMultiSend; - } - } void BitcoinGUI::charityClicked(QString addr) diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index 6c874d63b..c9535d911 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,9 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 5000; //update every second +static const int MODEL_UPDATE_DELAY = 5000; //update every 5 seconds +static const int MINTING_UPDATE_DELAY = 5000; //update every 5 seconds +static const int TXTABLE_UPDATE_DELAY = 30000; //update every 30 seconds /* AskPassphraseDialog -- Maximum passphrase length */ static const int MAX_PASSPHRASE_SIZE = 1024; diff --git a/src/qt/transactiontablemodel.cpp b/src/qt/transactiontablemodel.cpp index cd21cf0d3..6954416e1 100644 --- a/src/qt/transactiontablemodel.cpp +++ b/src/qt/transactiontablemodel.cpp @@ -231,7 +231,7 @@ TransactionTableModel::TransactionTableModel(CWallet* wallet, WalletModel *paren QTimer *timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(updateConfirmations())); - timer->start(MODEL_UPDATE_DELAY); + timer->start(TXTABLE_UPDATE_DELAY); connect(walletModel->getOptionsModel(), SIGNAL(displayUnitChanged(int)), this, SLOT(updateDisplayUnit())); } From e25e6a126c4426a91861569ddb5e8bbbd3674910 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 21 Feb 2016 11:00:52 -0700 Subject: [PATCH 433/555] add block hash to index (WARNING requires resync!!) --- src/db.cpp | 6 ++++-- src/main.h | 9 ++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 3c3e414fc..678f6c7b8 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -834,9 +834,11 @@ bool CTxDB::LoadBlockIndexGuts() { CDiskBlockIndex diskindex; ssValue >> diskindex; + + uint256 blockHash = diskindex.GetBlockHash(); // Construct block index object - CBlockIndex* pindexNew = InsertBlockIndex(diskindex.GetBlockHash()); + CBlockIndex* pindexNew = InsertBlockIndex(blockHash); pindexNew->pprev = InsertBlockIndex(diskindex.hashPrev); pindexNew->pnext = InsertBlockIndex(diskindex.hashNext); pindexNew->nFile = diskindex.nFile; @@ -856,7 +858,7 @@ bool CTxDB::LoadBlockIndexGuts() pindexNew->nNonce = diskindex.nNonce; // Watch for genesis block - if (pindexGenesisBlock == NULL && diskindex.GetBlockHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)) + if (pindexGenesisBlock == NULL && blockHash == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)) pindexGenesisBlock = pindexNew; if (!pindexNew->CheckIndex()) diff --git a/src/main.h b/src/main.h index 4059bc591..835ccfb42 100644 --- a/src/main.h +++ b/src/main.h @@ -1363,6 +1363,9 @@ class CBlockIndex /** Used to marshal pointers into hashes for db storage. */ class CDiskBlockIndex : public CBlockIndex { +private: + uint256 blockHash; + public: uint256 hashPrev; uint256 hashNext; @@ -1371,6 +1374,7 @@ class CDiskBlockIndex : public CBlockIndex { hashPrev = 0; hashNext = 0; + blockHash = 0; } explicit CDiskBlockIndex(CBlockIndex* pindex) : CBlockIndex(*pindex) @@ -1412,6 +1416,7 @@ class CDiskBlockIndex : public CBlockIndex READWRITE(nTime); READWRITE(nBits); READWRITE(nNonce); + READWRITE(blockHash); ) uint256 GetBlockHash() const @@ -1423,7 +1428,9 @@ class CDiskBlockIndex : public CBlockIndex block.nTime = nTime; block.nBits = nBits; block.nNonce = nNonce; - return block.GetHash(); + const_cast(this)->blockHash = block.GetHash(); + + return blockHash; } From bc997819537997b1aa51bc1e0d097f114d828414 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 21 Feb 2016 21:10:05 -0700 Subject: [PATCH 434/555] optimize bootstrapping --- src/main.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++-------- src/main.h | 1 + 2 files changed, 51 insertions(+), 8 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index ae03bee79..74876c07f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2244,8 +2244,13 @@ bool CBlockIndex::IsSuperMajority(int minVersion, const CBlockIndex* pstart, uns return (nFound >= nRequired); } - bool ProcessBlock(CNode* pfrom, CBlock* pblock) +{ + std::string strErr = ""; + return ProcessBlock(pfrom, pblock, strErr); +} + +bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) { // Check for duplicate uint256 hash = pblock->GetHash(); @@ -2258,7 +2263,22 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock) // Limited duplicity on stake: prevents block flood attack // Duplicate stake allowed only when there is orphan child block if (pblock->IsProofOfStake() && setStakeSeen.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash) && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) - return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for block %s", pblock->GetProofOfStake().first.ToString().c_str(), pblock->GetProofOfStake().second, hash.ToString().c_str()); + { + if(mapBlockIndex.count(pblock->hashPrevBlock)) + { + // presstab - HyperStake + // when bootstrapping, it is common for orphans to be in the bootstrap that will trigger the stakeseen requirement above. + // if the previous block that should be orphaned is not removed from setStakeSeen then a reorg will not happen as it should + setStakeSeen.erase(pblock->GetProofOfStake()); + + //send a reorg signal that is handled in LoadExternalBlockFile() + strErr = "reorg"; + + return false; + } + + return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for block %s", pblock->GetProofOfStake().first.ToString().c_str(), pblock->GetProofOfStake().second, hash.ToString().c_str()); + } // Preliminary checks if (!pblock->CheckBlock()) @@ -2810,6 +2830,7 @@ bool LoadExternalBlockFile(FILE* fileIn) int64 nStart = GetTimeMillis(); int nLoaded = 0; + int nStartHeight = nBestHeight; { LOCK(cs_main); try { @@ -2818,7 +2839,8 @@ bool LoadExternalBlockFile(FILE* fileIn) while (nPos != (unsigned int)-1 && blkdat.good() && !fRequestShutdown) { unsigned char pchData[65536]; - do { + do + { fseek(blkdat, nPos, SEEK_SET); int nRead = fread(pchData, 1, sizeof(pchData), blkdat); if (nRead <= 8) @@ -2848,11 +2870,31 @@ bool LoadExternalBlockFile(FILE* fileIn) { CBlock block; blkdat >> block; - if (ProcessBlock(NULL,&block)) - { - nLoaded++; - nPos += 4 + nSize; - } + + // no reason to partially scan every block we have just to print to log that we have it + { + nLoaded++; + nPos += 4 + nSize; + } + else + { + std::string strErr = ""; + bool fProcessed = ProcessBlock(NULL,&block, strErr); + if (fProcessed) + { + nLoaded++; + nPos += 4 + nSize; + } + else if (strErr == "reorg") + { + fProcessed = ProcessBlock(NULL,&block, strErr); + if (fProcessed) + { + nLoaded++; + nPos += 4 + nSize; + } + } + } } } } diff --git a/src/main.h b/src/main.h index 835ccfb42..b4c635b56 100644 --- a/src/main.h +++ b/src/main.h @@ -114,6 +114,7 @@ void RegisterWallet(CWallet* pwalletIn); void UnregisterWallet(CWallet* pwalletIn); void SyncWithWallets(const CTransaction& tx, const CBlock* pblock = NULL, bool fUpdate = false, bool fConnect = true); bool ProcessBlock(CNode* pfrom, CBlock* pblock); +bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr); bool CheckDiskSpace(uint64 nAdditionalBytes=0); FILE* OpenBlockFile(unsigned int nFile, unsigned int nBlockPos, const char* pszMode="rb"); FILE* AppendBlockFile(unsigned int& nFileRet); From 96320663a625231bf70311202395a121561bb1ac Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 22 Feb 2016 13:11:52 -0700 Subject: [PATCH 435/555] add missing line --- src/main.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main.cpp b/src/main.cpp index 74876c07f..a0e967cf1 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2872,6 +2872,7 @@ bool LoadExternalBlockFile(FILE* fileIn) blkdat >> block; // no reason to partially scan every block we have just to print to log that we have it + if(nLoaded < nStartHeight) { nLoaded++; nPos += 4 + nSize; From 68c75985b99482e1f75b03dee65826931614d837 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 22 Feb 2016 23:13:37 -0700 Subject: [PATCH 436/555] speed up coincontroldialog --- src/qt/coincontroldialog.cpp | 62 +++++++++++++----------------------- 1 file changed, 22 insertions(+), 40 deletions(-) diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index d0d6fc74e..0de941f58 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -25,6 +25,7 @@ using namespace std; QList CoinControlDialog::payAmounts; CCoinControl* CoinControlDialog::coinControl = new CCoinControl(); +extern int nStakeMaxAge; CoinControlDialog::CoinControlDialog(QWidget *parent) : QDialog(parent, Qt::WindowMaximizeButtonHint), @@ -769,29 +770,25 @@ void CoinControlDialog::updateView() uint64 nDisplayWeight = 0; uint64 nTxWeightSum = 0; uint64 nPotentialStakeSum = 0; - GetLastBlockIndex(pindexBest, false); - int64 nBestHeight = pindexBest->nHeight; uint64 nNetworkWeight = GetPoSKernelPS(); BOOST_FOREACH(const COutput& out, coins.second) { - - int64 nHeight = nBestHeight - out.nDepth; - CBlockIndex* pindex = FindBlockByHeight(nHeight); - int nInputSize = 148; // 180 if uncompressed public key nSum += out.tx->vout[out.i].nValue; nChildren++; - model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); - double dStakeAge; + //calculate weight + double nTimeWeight = min(GetTime() - out.tx->GetTxTime(), (int64)nStakeMaxAge) - nStakeMinAge; + nTxWeight = out.tx->vout[out.i].nValue / COIN * nTimeWeight / 86400; + double dStakeAge; if(fTestNet) dStakeAge = nStakeMinAge; else dStakeAge = nStakeMinAgeV2; - if ((GetTime() - pindex->nTime) < dStakeAge) + if ((GetTime() - out.tx->GetTxTime()) < dStakeAge) nDisplayWeight = 0; else nDisplayWeight = nTxWeight; @@ -839,12 +836,12 @@ void CoinControlDialog::updateView() } // amount - uint64 nBlockSize = out.tx->vout[out.i].nValue / 1000000; //used in formulas below + uint64 nBlockSize = out.tx->vout[out.i].nValue / COIN; itemOutput->setText(COLUMN_AMOUNT, BitcoinUnits::format(nDisplayUnit, out.tx->vout[out.i].nValue)); - itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // padding so that sorting works correctly + itemOutput->setText(COLUMN_AMOUNT_INT64, strPad(QString::number(out.tx->vout[out.i].nValue), 15, " ")); // date - int64 nTime = pindex->nTime; + int64 nTime = out.tx->GetTxTime(); itemOutput->setText(COLUMN_DATE, QDateTime::fromTime_t(nTime).toString("yy-MM-dd hh:mm")); // immature PoS reward @@ -868,34 +865,28 @@ void CoinControlDialog::updateView() // Age uint64 nAge = (GetTime() - nTime); - int64 age = COIN * nAge / (1440 * 60); - itemOutput->setText(COLUMN_AGE, strPad(BitcoinUnits::formatAge(nDisplayUnit, age), 2, " ")); - itemOutput->setText(COLUMN_AGE_INT64, strPad(QString::number(age), 15, " ")); + itemOutput->setText(COLUMN_AGE, QString::number((double)nAge / 86400, 'f', 2)); + itemOutput->setText(COLUMN_AGE_INT64, QString::number((double)nAge / 86400, 'f', 2)); // Potential Stake - double nPotentialStake = min(7.5 / 365 * nBlockSize * nAge / (60*60*24), 1000.0); //min of the max reward or the stake rate - itemOutput->setText(COLUMN_POTENTIALSTAKE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nPotentialStake * COIN), 15, " ")); //use COIN for formatting + double nPotentialStake = min(7.5 / 365 * nBlockSize * nAge / (86400), 1000.0); //min of the max reward or the stake rate + itemOutput->setText(COLUMN_POTENTIALSTAKE, QString::number(nPotentialStake, 'f', 2)); itemOutput->setText(COLUMN_POTENTIALSTAKE_INT64, strPad(QString::number((int64)nPotentialStake), 16, " ")); // Potential Stake Sum for Tree View nPotentialStakeSum += nPotentialStake * COIN; // Estimated Stake Time - uint64 nMin = 1; - nBlockSize = qMax(nBlockSize, nMin); - uint64 nTimeToMaturity = 0; - uint64 nBlockWeight = qMax(nDisplayWeight, uint64(nBlockSize * (dStakeAge/(60*60*24)))); + nBlockSize = qMax(nBlockSize, uint64(1)); + uint64 nBlockWeight = nTxWeight; nBlockWeight = qMax(nBlockWeight, (uint64)1); - double dAge = nAge; - if (dStakeAge - dAge >= 0 ) + double nTimeToMaturity = 0; + if (dStakeAge - nAge >= 0 ) nTimeToMaturity = (dStakeAge - nAge); - else - nTimeToMaturity = 0; - uint64 nAccuracyAdjustment = 1; // this is a manual adjustment in an attempt to make staking estimate more accurate - uint64 nEstimateTime = 90 * nNetworkWeight / nBlockWeight / nAccuracyAdjustment; // 90 seconds is block target - uint64 nMax = 999 * COIN; // qmin cannot compar int64, so convert to uint64 prior - nEstimateTime = qMin((nEstimateTime + nTimeToMaturity) * COIN / (60*60*24), nMax); // multiply by coin to use built in formatting - itemOutput->setText(COLUMN_TIMEESTIMATE, strPad(BitcoinUnits::formatAge(nDisplayUnit, nEstimateTime), 15, " ")); + double nEstimateTime = 90 * nNetworkWeight / nBlockWeight; // 90 seconds is block target + nEstimateTime = min((nEstimateTime + nTimeToMaturity) / 86400, double(999)); + + itemOutput->setText(COLUMN_TIMEESTIMATE, QString::number(nEstimateTime, 'f', 2)); // transaction hash uint256 txhash = out.tx->GetHash(); @@ -903,16 +894,7 @@ void CoinControlDialog::updateView() // vout index itemOutput->setText(COLUMN_VOUT_INDEX, QString::number(out.i)); - - // disable locked coins - /*if (model->isLockedCoin(txhash, out.i)) - { - COutPoint outpt(txhash, out.i); - coinControl->UnSelect(outpt); // just to be sure - itemOutput->setDisabled(true); - itemOutput->setIcon(COLUMN_CHECKBOX, QIcon(":/icons/lock_closed")); - }*/ - + // set checkbox if (coinControl->IsSelected(txhash, out.i)) itemOutput->setCheckState(COLUMN_CHECKBOX,Qt::Checked); From 241fd8881888965a4082c49000a815af82da65a0 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Apr 2016 11:34:12 -0600 Subject: [PATCH 437/555] Prevent Transmission of Empty tx --- src/wallet.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 13512cac8..bcc0e2994 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -755,10 +755,6 @@ void CWalletTx::AddSupportingTransactions(CTxDB& txdb) { tx = *mapWalletPrev[hash]; } - else if (!fClient && txdb.ReadDiskTx(hash, tx)) - { - ; - } else { printf("ERROR: AddSupportingTransactions() : unsupported transaction\n"); @@ -882,7 +878,7 @@ void CWalletTx::RelayWalletTransaction(CTxDB& txdb) { BOOST_FOREACH(const CMerkleTx& tx, vtxPrev) { - if (!(tx.IsCoinBase() || tx.IsCoinStake())) + if (!(tx.IsCoinBase() || tx.IsCoinStake()) && !tx.vin.empty()) { uint256 hash = tx.GetHash(); if (!txdb.ContainsTx(hash)) From dda9d609214321a7a58dd59fe827b452d63f6922 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Apr 2016 11:37:26 -0600 Subject: [PATCH 438/555] Avoid querying DNS seeds, if we have open connections. https://github.com/bitcoin/bitcoin/commit/026b9dfd6e833b4484e73d0b0311e16f3751deed --- src/init.cpp | 3 ++- src/net.cpp | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index e47b377fc..3c7b88669 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -154,7 +154,8 @@ std::string HelpMessage() strUsage += " -proxy= " + _("Connect through socks proxy") + "\n"; strUsage += " -socks= " + _("Select the version of socks proxy to use (4-5, default: 5)") + "\n"; strUsage += " -tor= " + _("Use proxy to reach tor hidden services (default: same as -proxy)") + "\n"; - strUsage += " -dns " + _("Allow DNS lookups for -addnode, -seednode and -connect") + "\n"; + strUsage += " -dnsseed " + _("Query for peer addresses via DNS lookup, if low on addresses (default: 1 unless -connect)") + "\n"; + strUsage += " -forcednsseed " + _("Always query for peer addresses via DNS lookup (default: 0)") + "\n"; strUsage += " -port= " + _("Listen for connections on (default: 18777 or testnet: 28775)") + "\n"; strUsage += " -maxconnections= " + _("Maintain at most connections to peers (default: 125)") + "\n"; strUsage += " -addnode= " + _("Add a node to connect to and attempt to keep the connection open") + "\n"; diff --git a/src/net.cpp b/src/net.cpp index 1e15589c9..216603c3b 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1204,6 +1204,16 @@ static const char *strDNSSeed[][2] = { void ThreadDNSAddressSeed(void* parg) { + // goal: only query DNS seeds if address need is acute + if ((addrman.size() > 0) && (!GetBoolArg("-forcednsseed", false))) + { + Sleep(11000); + + LOCK(cs_vNodes); + if (vNodes.size() >= 3) + return; + } + // Make this thread recognisable as the DNS seeding thread RenameThread("bitcoin-dnsseed"); From 685a4242c0cc68b3ba8ff3c03ce714e1205b9248 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Apr 2016 11:40:09 -0600 Subject: [PATCH 439/555] Don't poll showmyip.com, it doesn't exist anymore This leaves us with only one candidate, checkip.dyndns.org. GetMyExternalIP should be phased out as soon as possible. https://github.com/bitcoin/bitcoin/commit/5332b0a429f42c49c4b70e71870f2202c0cfa844 --- src/net.cpp | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 216603c3b..30cb3b121 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -359,7 +359,7 @@ bool GetMyExternalIP(CNetAddr& ipRet) const char* pszKeyword; for (int nLookup = 0; nLookup <= 1; nLookup++) - for (int nHost = 1; nHost <= 2; nHost++) + for (int nHost = 1; nHost <= 1; nHost++) { // We should be phasing out our use of sites like these. If we need // replacements, we should ask for volunteers to put this simple @@ -384,25 +384,6 @@ bool GetMyExternalIP(CNetAddr& ipRet) pszKeyword = "Address:"; } - else if (nHost == 2) - { - addrConnect = CService("74.208.43.192", 80); // www.showmyip.com - - if (nLookup == 1) - { - CService addrIP("www.showmyip.com", 80, true); - if (addrIP.IsValid()) - addrConnect = addrIP; - } - - pszGet = "GET /simple/ HTTP/1.1\r\n" - "Host: www.showmyip.com\r\n" - "User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)\r\n" - "Connection: close\r\n" - "\r\n"; - - pszKeyword = NULL; // Returns just IP address - } if (GetMyExternalIP2(addrConnect, pszGet, pszKeyword, ipRet)) return true; From 0a341960e15c74576ea7b7c647aa87124e0107a8 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Apr 2016 11:48:49 -0600 Subject: [PATCH 440/555] Correct some proxy related socket leaks. https://github.com/bitcoin/bitcoin/commit/0bd05b53b155bc28b6e5dfd967cafaafb44a439f --- src/netbase.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/netbase.cpp b/src/netbase.cpp index f34d6f4e7..e73296ec1 100644 --- a/src/netbase.cpp +++ b/src/netbase.cpp @@ -300,7 +300,10 @@ bool static Socks5(string strDest, int port, SOCKET& hSocket) { ret = recv(hSocket, pchRet3, 1, 0) != 1; if (ret) + { + closesocket(hSocket); return error("Error reading from proxy"); + } int nRecv = pchRet3[0]; ret = recv(hSocket, pchRet3, nRecv, 0) != nRecv; break; @@ -507,6 +510,7 @@ bool ConnectSocket(const CService &addrDest, SOCKET& hSocketRet, int nTimeout) return false; break; default: + closesocket(hSocket); return false; } @@ -538,7 +542,9 @@ bool ConnectSocketByName(CService &addr, SOCKET& hSocketRet, const char *pszDest switch(nameproxy.second) { default: - case 4: return false; + case 4: + closesocket(hSocket); + return false; case 5: if (!Socks5(strDest, port, hSocket)) return false; From fbac29dea406f07fc39c14399660d9a6abc07ad0 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Apr 2016 11:52:52 -0600 Subject: [PATCH 441/555] Prevent socket leak in ThreadSocketHandler. https://github.com/bitcoin/bitcoin/commit/d20791b0e524bb1834ec7776acf0dec84c24861b --- src/net.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 30cb3b121..4ffba1b87 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -869,11 +869,7 @@ void ThreadSocketHandler2(void* parg) } else if (nInbound >= GetArg("-maxconnections", 125) - MAX_OUTBOUND_CONNECTIONS) { - { - LOCK(cs_setservAddNodeAddresses); - if (!setservAddNodeAddresses.count(addr)) - closesocket(hSocket); - } + closesocket(hSocket); } else if (CNode::IsBanned(addr)) { From 43c6ef3fc25c200a7aa25d559241d158e29cbc73 Mon Sep 17 00:00:00 2001 From: billotronic Date: Sat, 28 May 2016 06:53:20 -0500 Subject: [PATCH 442/555] Autogen.sh requires aclocal from this package --- doc/build-unix.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build-unix.md b/doc/build-unix.md index 70c13b5c2..bb3c817cf 100644 --- a/doc/build-unix.md +++ b/doc/build-unix.md @@ -58,7 +58,7 @@ Dependency Build Instructions: Ubuntu & Debian ---------------------------------------------- Build requirements: - sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev + sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev automake for Ubuntu 12.04 and later or Debian 7 and later libboost-all-dev has to be installed: From c1c661596a54906c3ffce86f310862f547230cb0 Mon Sep 17 00:00:00 2001 From: David Date: Fri, 1 Jul 2016 11:39:54 +0200 Subject: [PATCH 443/555] Update build-osx.md New URL for berkeley-db --- doc/build-osx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/build-osx.md b/doc/build-osx.md index 871f0f386..da6f3126c 100644 --- a/doc/build-osx.md +++ b/doc/build-osx.md @@ -42,7 +42,7 @@ The homebrew package for berkeley-db4 has been broken for some time. It will in Running this command takes you into brew's interactive mode, which allows you to configure, make, and install by hand: ``` -$ brew install https://raw.github.com/homebrew/homebrew/master/Library/Formula/berkeley-db4.rb -–without-java +$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/master/Formula/berkeley-db4.rb -–without-java ``` The rest of these commands are run inside brew interactive mode: From 5be4b0009c7fdf2a58dd05b7607e0a7ab24693eb Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Jul 2016 13:57:18 -0600 Subject: [PATCH 444/555] bump to v1.1.3 --- configure.ac | 2 +- src/clientversion.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index bc870e69e..220aa7eee 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 1) -define(_CLIENT_VERSION_REVISION, 2) +define(_CLIENT_VERSION_REVISION, 3) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2014) diff --git a/src/clientversion.h b/src/clientversion.h index f603e3c30..91af90b26 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,7 +16,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 2 +#define CLIENT_VERSION_REVISION 3 #define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build diff --git a/src/version.cpp b/src/version.cpp index 35af5f366..2a8229e2c 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.2.0" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.3.0" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index caf59c929..0490d1f4e 100644 --- a/src/version.h +++ b/src/version.h @@ -33,7 +33,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 -#define DISPLAY_VERSION_REVISION 2 +#define DISPLAY_VERSION_REVISION 3 #define DISPLAY_VERSION_BUILD 0 #endif From c48133ecb9ae748bb2fc41dacc56c3f534b27828 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 23 May 2017 17:51:10 -0600 Subject: [PATCH 445/555] Remove checkpoint server --- src/bitcoinrpc.cpp | 1 - src/bitcoinrpc.h | 1 - src/checkpoints.cpp | 373 +----------------------------------------- src/checkpoints.h | 101 +----------- src/db.cpp | 25 --- src/db.h | 4 - src/init.cpp | 6 - src/main.cpp | 136 ++------------- src/rpcblockchain.cpp | 21 --- 9 files changed, 13 insertions(+), 655 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 665ededa2..3d63746ee 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -264,7 +264,6 @@ static const CRPCCommand vRPCCommands[] = { "decoderawtransaction", &decoderawtransaction, false, false }, { "signrawtransaction", &signrawtransaction, false, false }, { "sendrawtransaction", &sendrawtransaction, false, false }, - { "getcheckpoint", &getcheckpoint, true, false }, { "moneysupply", &moneysupply, true, false }, { "getmoneysupply", &getmoneysupply, true, false }, { "exportdifficulty", &exportdifficulty, true, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 73e25416e..cfd4b4f14 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -226,7 +226,6 @@ extern json_spirit::Value getrawmempool(const json_spirit::Array& params, bool f extern json_spirit::Value getblockhash(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value getcheckpoint(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index d9830fd9d..1cb7ad91d 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -70,375 +70,4 @@ namespace Checkpoints } return NULL; } - - // ppcoin: synchronized checkpoint (centrally broadcasted) - uint256 hashSyncCheckpoint = 0; - uint256 hashPendingCheckpoint = 0; - CSyncCheckpoint checkpointMessage; - CSyncCheckpoint checkpointMessagePending; - uint256 hashInvalidCheckpoint = 0; - CCriticalSection cs_hashSyncCheckpoint; - - // ppcoin: get last synchronized checkpoint - CBlockIndex* GetLastSyncCheckpoint() - { - LOCK(cs_hashSyncCheckpoint); - if (!mapBlockIndex.count(hashSyncCheckpoint)) - error("GetSyncCheckpoint: block index missing for current sync-checkpoint %s", hashSyncCheckpoint.ToString().c_str()); - else - return mapBlockIndex[hashSyncCheckpoint]; - return NULL; - } - - // ppcoin: only descendant of current sync-checkpoint is allowed - bool ValidateSyncCheckpoint(uint256 hashCheckpoint) - { - if (!mapBlockIndex.count(hashSyncCheckpoint)) - return error("ValidateSyncCheckpoint: block index missing for current sync-checkpoint %s", hashSyncCheckpoint.ToString().c_str()); - if (!mapBlockIndex.count(hashCheckpoint)) - return error("ValidateSyncCheckpoint: block index missing for received sync-checkpoint %s", hashCheckpoint.ToString().c_str()); - - CBlockIndex* pindexSyncCheckpoint = mapBlockIndex[hashSyncCheckpoint]; - CBlockIndex* pindexCheckpointRecv = mapBlockIndex[hashCheckpoint]; - - if (pindexCheckpointRecv->nHeight <= pindexSyncCheckpoint->nHeight) - { - // Received an older checkpoint, trace back from current checkpoint - // to the same height of the received checkpoint to verify - // that current checkpoint should be a descendant block - CBlockIndex* pindex = pindexSyncCheckpoint; - while (pindex->nHeight > pindexCheckpointRecv->nHeight) - if (!(pindex = pindex->pprev)) - return error("ValidateSyncCheckpoint: pprev1 null - block index structure failure"); - if (pindex->GetBlockHash() != hashCheckpoint) - { - hashInvalidCheckpoint = hashCheckpoint; - return error("ValidateSyncCheckpoint: new sync-checkpoint %s is conflicting with current sync-checkpoint %s", hashCheckpoint.ToString().c_str(), hashSyncCheckpoint.ToString().c_str()); - } - return false; // ignore older checkpoint - } - - // Received checkpoint should be a descendant block of the current - // checkpoint. Trace back to the same height of current checkpoint - // to verify. - CBlockIndex* pindex = pindexCheckpointRecv; - while (pindex->nHeight > pindexSyncCheckpoint->nHeight) - if (!(pindex = pindex->pprev)) - return error("ValidateSyncCheckpoint: pprev2 null - block index structure failure"); - if (pindex->GetBlockHash() != hashSyncCheckpoint) - { - hashInvalidCheckpoint = hashCheckpoint; - return error("ValidateSyncCheckpoint: new sync-checkpoint %s is not a descendant of current sync-checkpoint %s", hashCheckpoint.ToString().c_str(), hashSyncCheckpoint.ToString().c_str()); - } - return true; - } - - bool WriteSyncCheckpoint(const uint256& hashCheckpoint) - { - CTxDB txdb; - txdb.TxnBegin(); - if (!txdb.WriteSyncCheckpoint(hashCheckpoint)) - { - txdb.TxnAbort(); - return error("WriteSyncCheckpoint(): failed to write to db sync checkpoint %s", hashCheckpoint.ToString().c_str()); - } - if (!txdb.TxnCommit()) - return error("WriteSyncCheckpoint(): failed to commit to db sync checkpoint %s", hashCheckpoint.ToString().c_str()); - txdb.Close(); - - Checkpoints::hashSyncCheckpoint = hashCheckpoint; - return true; - } - - bool AcceptPendingSyncCheckpoint() - { - LOCK(cs_hashSyncCheckpoint); - if (hashPendingCheckpoint != 0 && mapBlockIndex.count(hashPendingCheckpoint)) - { - if (!ValidateSyncCheckpoint(hashPendingCheckpoint)) - { - hashPendingCheckpoint = 0; - checkpointMessagePending.SetNull(); - return false; - } - - CTxDB txdb; - CBlockIndex* pindexCheckpoint = mapBlockIndex[hashPendingCheckpoint]; - if (!pindexCheckpoint->IsInMainChain()) - { - CBlock block; - if (!block.ReadFromDisk(pindexCheckpoint)) - return error("AcceptPendingSyncCheckpoint: ReadFromDisk failed for sync checkpoint %s", hashPendingCheckpoint.ToString().c_str()); - if (!block.SetBestChain(txdb, pindexCheckpoint)) - { - hashInvalidCheckpoint = hashPendingCheckpoint; - return error("AcceptPendingSyncCheckpoint: SetBestChain failed for sync checkpoint %s", hashPendingCheckpoint.ToString().c_str()); - } - } - txdb.Close(); - - if (!WriteSyncCheckpoint(hashPendingCheckpoint)) - return error("AcceptPendingSyncCheckpoint(): failed to write sync checkpoint %s", hashPendingCheckpoint.ToString().c_str()); - hashPendingCheckpoint = 0; - checkpointMessage = checkpointMessagePending; - checkpointMessagePending.SetNull(); - printf("AcceptPendingSyncCheckpoint : sync-checkpoint at %s\n", hashSyncCheckpoint.ToString().c_str()); - // relay the checkpoint - if (!checkpointMessage.IsNull()) - { - BOOST_FOREACH(CNode* pnode, vNodes) - checkpointMessage.RelayTo(pnode); - } - return true; - } - return false; - } - - // Automatically select a suitable sync-checkpoint - uint256 AutoSelectSyncCheckpoint() - { - // Proof-of-work blocks are immediately checkpointed - // to defend against 51% attack which rejects other miners block - - // Select the last proof-of-work block - const CBlockIndex *pindex = GetLastBlockIndex(pindexBest, false); - // Search forward for a block within max span and maturity window - while (pindex->pnext && (pindex->GetBlockTime() + CHECKPOINT_MAX_SPAN <= pindexBest->GetBlockTime() || pindex->nHeight + std::min(6, nCoinbaseMaturity - 20) <= pindexBest->nHeight)) - pindex = pindex->pnext; - return pindex->GetBlockHash(); - } - - // Check against synchronized checkpoint - bool CheckSync(const uint256& hashBlock, const CBlockIndex* pindexPrev) - { - if (fTestNet) return true; // Testnet has no checkpoints - int nHeight = pindexPrev->nHeight + 1; - - LOCK(cs_hashSyncCheckpoint); - // sync-checkpoint should always be accepted block - assert(mapBlockIndex.count(hashSyncCheckpoint)); - const CBlockIndex* pindexSync = mapBlockIndex[hashSyncCheckpoint]; - - if (nHeight > pindexSync->nHeight) - { - // trace back to same height as sync-checkpoint - const CBlockIndex* pindex = pindexPrev; - while (pindex->nHeight > pindexSync->nHeight) - if (!(pindex = pindex->pprev)) - return error("CheckSync: pprev null - block index structure failure"); - if (pindex->nHeight < pindexSync->nHeight || pindex->GetBlockHash() != hashSyncCheckpoint) - return false; // only descendant of sync-checkpoint can pass check - } - if (nHeight == pindexSync->nHeight && hashBlock != hashSyncCheckpoint) - return false; // same height with sync-checkpoint - if (nHeight < pindexSync->nHeight && !mapBlockIndex.count(hashBlock)) - return false; // lower height than sync-checkpoint - return true; - } - - bool WantedByPendingSyncCheckpoint(uint256 hashBlock) - { - LOCK(cs_hashSyncCheckpoint); - if (hashPendingCheckpoint == 0) - return false; - if (hashBlock == hashPendingCheckpoint) - return true; - if (mapOrphanBlocks.count(hashPendingCheckpoint) - && hashBlock == WantedByOrphan(mapOrphanBlocks[hashPendingCheckpoint])) - return true; - return false; - } - - // ppcoin: reset synchronized checkpoint to last hardened checkpoint - bool ResetSyncCheckpoint() - { - LOCK(cs_hashSyncCheckpoint); - const uint256& hash = mapCheckpoints.rbegin()->second; - if (mapBlockIndex.count(hash) && !mapBlockIndex[hash]->IsInMainChain()) - { - // checkpoint block accepted but not yet in main chain - printf("ResetSyncCheckpoint: SetBestChain to hardened checkpoint %s\n", hash.ToString().c_str()); - CTxDB txdb; - CBlock block; - if (!block.ReadFromDisk(mapBlockIndex[hash])) - return error("ResetSyncCheckpoint: ReadFromDisk failed for hardened checkpoint %s", hash.ToString().c_str()); - if (!block.SetBestChain(txdb, mapBlockIndex[hash])) - { - return error("ResetSyncCheckpoint: SetBestChain failed for hardened checkpoint %s", hash.ToString().c_str()); - } - txdb.Close(); - } - else if(!mapBlockIndex.count(hash)) - { - // checkpoint block not yet accepted - hashPendingCheckpoint = hash; - checkpointMessagePending.SetNull(); - printf("ResetSyncCheckpoint: pending for sync-checkpoint %s\n", hashPendingCheckpoint.ToString().c_str()); - } - - BOOST_REVERSE_FOREACH(const MapCheckpoints::value_type& i, mapCheckpoints) - { - const uint256& hash = i.second; - if (mapBlockIndex.count(hash) && mapBlockIndex[hash]->IsInMainChain()) - { - if (!WriteSyncCheckpoint(hash)) - return error("ResetSyncCheckpoint: failed to write sync checkpoint %s", hash.ToString().c_str()); - printf("ResetSyncCheckpoint: sync-checkpoint reset to %s\n", hashSyncCheckpoint.ToString().c_str()); - return true; - } - } - - return false; - } - - void AskForPendingSyncCheckpoint(CNode* pfrom) - { - LOCK(cs_hashSyncCheckpoint); - if (pfrom && hashPendingCheckpoint != 0 && (!mapBlockIndex.count(hashPendingCheckpoint)) && (!mapOrphanBlocks.count(hashPendingCheckpoint))) - pfrom->AskFor(CInv(MSG_BLOCK, hashPendingCheckpoint)); - } - - bool SetCheckpointPrivKey(std::string strPrivKey) - { - // Test signing a sync-checkpoint with genesis block - CSyncCheckpoint checkpoint; - checkpoint.hashCheckpoint = !fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet; - CDataStream sMsg(SER_NETWORK, PROTOCOL_VERSION); - sMsg << (CUnsignedSyncCheckpoint)checkpoint; - checkpoint.vchMsg = std::vector(sMsg.begin(), sMsg.end()); - - std::vector vchPrivKey = ParseHex(strPrivKey); - CKey key; - key.SetPrivKey(CPrivKey(vchPrivKey.begin(), vchPrivKey.end())); // if key is not correct openssl may crash - if (!key.Sign(Hash(checkpoint.vchMsg.begin(), checkpoint.vchMsg.end()), checkpoint.vchSig)) - return false; - - // Test signing successful, proceed - CSyncCheckpoint::strMasterPrivKey = strPrivKey; - return true; - } - - bool SendSyncCheckpoint(uint256 hashCheckpoint) - { - CSyncCheckpoint checkpoint; - checkpoint.hashCheckpoint = hashCheckpoint; - CDataStream sMsg(SER_NETWORK, PROTOCOL_VERSION); - sMsg << (CUnsignedSyncCheckpoint)checkpoint; - checkpoint.vchMsg = std::vector(sMsg.begin(), sMsg.end()); - - if (CSyncCheckpoint::strMasterPrivKey.empty()) - return error("SendSyncCheckpoint: Checkpoint master key unavailable."); - std::vector vchPrivKey = ParseHex(CSyncCheckpoint::strMasterPrivKey); - CKey key; - key.SetPrivKey(CPrivKey(vchPrivKey.begin(), vchPrivKey.end())); // if key is not correct openssl may crash - if (!key.Sign(Hash(checkpoint.vchMsg.begin(), checkpoint.vchMsg.end()), checkpoint.vchSig)) - return error("SendSyncCheckpoint: Unable to sign checkpoint, check private key?"); - - if(!checkpoint.ProcessSyncCheckpoint(NULL)) - { - printf("WARNING: SendSyncCheckpoint: Failed to process checkpoint.\n"); - return false; - } - - // Relay checkpoint - { - LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) - checkpoint.RelayTo(pnode); - } - return true; - } - - // Is the sync-checkpoint outside maturity window? - bool IsMatureSyncCheckpoint() - { - LOCK(cs_hashSyncCheckpoint); - // sync-checkpoint should always be accepted block - assert(mapBlockIndex.count(hashSyncCheckpoint)); - const CBlockIndex* pindexSync = mapBlockIndex[hashSyncCheckpoint]; - return (nBestHeight >= pindexSync->nHeight + nCoinbaseMaturity || - pindexSync->GetBlockTime() + nStakeMinAge < GetAdjustedTime()); - } - - // Is the sync-checkpoint too old? - bool IsSyncCheckpointTooOld(unsigned int nSeconds) - { - LOCK(cs_hashSyncCheckpoint); - // sync-checkpoint should always be accepted block - assert(mapBlockIndex.count(hashSyncCheckpoint)); - const CBlockIndex* pindexSync = mapBlockIndex[hashSyncCheckpoint]; - return (pindexSync->GetBlockTime() + nSeconds < GetAdjustedTime()); - } -} - -// ppcoin: sync-checkpoint master key -const std::string CSyncCheckpoint::strMasterPubKey = "pRbwpBsgumVu2pUA4u2BajC9NU5HEQ7Xuq"; - -std::string CSyncCheckpoint::strMasterPrivKey = ""; - -// ppcoin: verify signature of sync-checkpoint message -bool CSyncCheckpoint::CheckSignature() -{ - CKey key; - if (!key.SetPubKey(ParseHex(CSyncCheckpoint::strMasterPubKey))) - return error("CSyncCheckpoint::CheckSignature() : SetPubKey failed"); - if (!key.Verify(Hash(vchMsg.begin(), vchMsg.end()), vchSig)) - return error("CSyncCheckpoint::CheckSignature() : verify signature failed"); - - // Now unserialize the data - CDataStream sMsg(vchMsg, SER_NETWORK, PROTOCOL_VERSION); - sMsg >> *(CUnsignedSyncCheckpoint*)this; - return true; -} - -// ppcoin: process synchronized checkpoint -bool CSyncCheckpoint::ProcessSyncCheckpoint(CNode* pfrom) -{ - if (!CheckSignature()) - return false; - - LOCK(Checkpoints::cs_hashSyncCheckpoint); - if (!mapBlockIndex.count(hashCheckpoint)) - { - // We haven't received the checkpoint chain, keep the checkpoint as pending - Checkpoints::hashPendingCheckpoint = hashCheckpoint; - Checkpoints::checkpointMessagePending = *this; - printf("ProcessSyncCheckpoint: pending for sync-checkpoint %s\n", hashCheckpoint.ToString().c_str()); - // Ask this guy to fill in what we're missing - if (pfrom) - { - pfrom->PushGetBlocks(pindexBest, hashCheckpoint); - // ask directly as well in case rejected earlier by duplicate - // proof-of-stake because getblocks may not get it this time - pfrom->AskFor(CInv(MSG_BLOCK, mapOrphanBlocks.count(hashCheckpoint)? WantedByOrphan(mapOrphanBlocks[hashCheckpoint]) : hashCheckpoint)); - } - return false; - } - - if (!Checkpoints::ValidateSyncCheckpoint(hashCheckpoint)) - return false; - - CTxDB txdb; - CBlockIndex* pindexCheckpoint = mapBlockIndex[hashCheckpoint]; - if (!pindexCheckpoint->IsInMainChain()) - { - // checkpoint chain received but not yet main chain - CBlock block; - if (!block.ReadFromDisk(pindexCheckpoint)) - return error("ProcessSyncCheckpoint: ReadFromDisk failed for sync checkpoint %s", hashCheckpoint.ToString().c_str()); - if (!block.SetBestChain(txdb, pindexCheckpoint)) - { - Checkpoints::hashInvalidCheckpoint = hashCheckpoint; - return error("ProcessSyncCheckpoint: SetBestChain failed for sync checkpoint %s", hashCheckpoint.ToString().c_str()); - } - } - txdb.Close(); - - if (!Checkpoints::WriteSyncCheckpoint(hashCheckpoint)) - return error("ProcessSyncCheckpoint(): failed to write sync checkpoint %s", hashCheckpoint.ToString().c_str()); - Checkpoints::checkpointMessage = *this; - Checkpoints::hashPendingCheckpoint = 0; - Checkpoints::checkpointMessagePending.SetNull(); - printf("ProcessSyncCheckpoint: sync-checkpoint at %s\n", hashCheckpoint.ToString().c_str()); - return true; -} +} \ No newline at end of file diff --git a/src/checkpoints.h b/src/checkpoints.h index 4f5db119f..6fb00d2cf 100644 --- a/src/checkpoints.h +++ b/src/checkpoints.h @@ -34,107 +34,8 @@ namespace Checkpoints extern CCriticalSection cs_hashSyncCheckpoint; CBlockIndex* GetLastSyncCheckpoint(); - bool WriteSyncCheckpoint(const uint256& hashCheckpoint); - bool AcceptPendingSyncCheckpoint(); - uint256 AutoSelectSyncCheckpoint(); + bool CheckSync(const uint256& hashBlock, const CBlockIndex* pindexPrev); - bool WantedByPendingSyncCheckpoint(uint256 hashBlock); - bool ResetSyncCheckpoint(); - void AskForPendingSyncCheckpoint(CNode* pfrom); - bool SetCheckpointPrivKey(std::string strPrivKey); - bool SendSyncCheckpoint(uint256 hashCheckpoint); - bool IsMatureSyncCheckpoint(); - bool IsSyncCheckpointTooOld(unsigned int nSeconds); } -// ppcoin: synchronized checkpoint -class CUnsignedSyncCheckpoint -{ -public: - int nVersion; - uint256 hashCheckpoint; // checkpoint block - - IMPLEMENT_SERIALIZE - ( - READWRITE(this->nVersion); - nVersion = this->nVersion; - READWRITE(hashCheckpoint); - ) - - void SetNull() - { - nVersion = 1; - hashCheckpoint = 0; - } - - std::string ToString() const - { - return strprintf( - "CSyncCheckpoint(\n" - " nVersion = %d\n" - " hashCheckpoint = %s\n" - ")\n", - nVersion, - hashCheckpoint.ToString().c_str()); - } - - void print() const - { - printf("%s", ToString().c_str()); - } -}; - -class CSyncCheckpoint : public CUnsignedSyncCheckpoint -{ -public: - static const std::string strMasterPubKey; - static std::string strMasterPrivKey; - - std::vector vchMsg; - std::vector vchSig; - - CSyncCheckpoint() - { - SetNull(); - } - - IMPLEMENT_SERIALIZE - ( - READWRITE(vchMsg); - READWRITE(vchSig); - ) - - void SetNull() - { - CUnsignedSyncCheckpoint::SetNull(); - vchMsg.clear(); - vchSig.clear(); - } - - bool IsNull() const - { - return (hashCheckpoint == 0); - } - - uint256 GetHash() const - { - return SerializeHash(*this); - } - - bool RelayTo(CNode* pnode) const - { - // returns true if wasn't already sent - if (pnode->hashCheckpointKnown != hashCheckpoint) - { - pnode->hashCheckpointKnown = hashCheckpoint; - pnode->PushMessage("checkpoint", *this); - return true; - } - return false; - } - - bool CheckSignature(); - bool ProcessSyncCheckpoint(CNode* pfrom); -}; - #endif diff --git a/src/db.cpp b/src/db.cpp index 678f6c7b8..db1597350 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -581,26 +581,6 @@ bool CTxDB::WriteBestInvalidTrust(CBigNum bnBestInvalidTrust) return Write(string("bnBestInvalidTrust"), bnBestInvalidTrust); } -bool CTxDB::ReadSyncCheckpoint(uint256& hashCheckpoint) -{ - return Read(string("hashSyncCheckpoint"), hashCheckpoint); -} - -bool CTxDB::WriteSyncCheckpoint(uint256 hashCheckpoint) -{ - return Write(string("hashSyncCheckpoint"), hashCheckpoint); -} - -bool CTxDB::ReadCheckpointPubKey(string& strPubKey) -{ - return Read(string("strCheckpointPubKey"), strPubKey); -} - -bool CTxDB::WriteCheckpointPubKey(const string& strPubKey) -{ - return Write(string("strCheckpointPubKey"), strPubKey); -} - CBlockIndex static * InsertBlockIndex(uint256 hash) { if (hash == 0) @@ -664,11 +644,6 @@ bool CTxDB::LoadBlockIndex() hashBestChain.ToString().substr(0,20).c_str(), nBestHeight, bnBestChainTrust.ToString().c_str(), DateTimeStrFormat("%x %H:%M:%S", pindexBest->GetBlockTime()).c_str()); - // ppcoin: load hashSyncCheckpoint - if (!ReadSyncCheckpoint(Checkpoints::hashSyncCheckpoint)) - return error("CTxDB::LoadBlockIndex() : hashSyncCheckpoint not loaded"); - printf("LoadBlockIndex(): synchronized checkpoint %s\n", Checkpoints::hashSyncCheckpoint.ToString().c_str()); - // Load bnBestInvalidTrust, OK if it doesn't exist ReadBestInvalidTrust(bnBestInvalidTrust); diff --git a/src/db.h b/src/db.h index eeb3a0b0a..8182937ca 100644 --- a/src/db.h +++ b/src/db.h @@ -340,10 +340,6 @@ class CTxDB : public CDB bool WriteHashBestChain(uint256 hashBestChain); bool ReadBestInvalidTrust(CBigNum& bnBestInvalidTrust); bool WriteBestInvalidTrust(CBigNum bnBestInvalidTrust); - bool ReadSyncCheckpoint(uint256& hashCheckpoint); - bool WriteSyncCheckpoint(uint256 hashCheckpoint); - bool ReadCheckpointPubKey(std::string& strPubKey); - bool WriteCheckpointPubKey(const std::string& strPubKey); bool LoadBlockIndex(); private: bool LoadBlockIndexGuts(); diff --git a/src/init.cpp b/src/init.cpp index 3c7b88669..7a2fe31a8 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -561,12 +561,6 @@ bool AppInit2() } } - if (mapArgs.count("-checkpointkey")) // ppcoin: checkpoint master priv key - { - if (!Checkpoints::SetCheckpointPrivKey(GetArg("-checkpointkey", ""))) - InitError(_("Unable to sign checkpoint, wrong checkpointkey?\n")); - } - BOOST_FOREACH(string strDest, mapMultiArgs["-seednode"]) AddOneShot(strDest); diff --git a/src/main.cpp b/src/main.cpp index a0e967cf1..802de9b78 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2161,20 +2161,6 @@ bool CBlock::AcceptBlock() if (!Checkpoints::CheckHardened(nHeight, hash)) return DoS(100, error("AcceptBlock() : rejected by hardened checkpoint lock-in at %d", nHeight)); - /* HyperStake is not using a checkpoint server - // ppcoin: check that the block satisfies synchronized checkpoint - if (!Checkpoints::CheckSync(hash, pindexPrev)) - { - if(!GetBoolArg("-nosynccheckpoints", false)) - { - return error("AcceptBlock() : rejected by synchronized checkpoint"); - } - else - { - strMiscWarning = _("WARNING: syncronized checkpoint violation detected, but skipped!"); - } - }*/ - // Reject block.nVersion < 3 blocks since 95% threshold on mainNet and always on testNet: if (nVersion < 3 && ((!fTestNet && nHeight > 14060) || (fTestNet && nHeight > 0))) return error("CheckBlock() : rejected nVersion < 3 block"); @@ -2204,10 +2190,6 @@ bool CBlock::AcceptBlock() pnode->PushInventory(CInv(MSG_BLOCK, hash)); } - /* HyperStake is not using a checkpoint server - // ppcoin: check pending sync-checkpoint - Checkpoints::AcceptPendingSyncCheckpoint();*/ - return true; } @@ -2262,7 +2244,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) // ppcoin: check proof-of-stake // Limited duplicity on stake: prevents block flood attack // Duplicate stake allowed only when there is orphan child block - if (pblock->IsProofOfStake() && setStakeSeen.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash) && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) + if (pblock->IsProofOfStake() && setStakeSeen.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash)) { if(mapBlockIndex.count(pblock->hashPrevBlock)) { @@ -2297,33 +2279,6 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) mapProofOfStake.insert(make_pair(hash, hashProofOfStake)); } - CBlockIndex* pcheckpoint = Checkpoints::GetLastSyncCheckpoint(); - if (pcheckpoint && pblock->hashPrevBlock != hashBestChain && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) - { - // Extra checks to prevent "fill up memory by spamming with bogus blocks" - int64 deltaTime = pblock->GetBlockTime() - pcheckpoint->nTime; - CBigNum bnNewBlock; - bnNewBlock.SetCompact(pblock->nBits); - CBigNum bnRequired; - - if (pblock->IsProofOfStake()) - bnRequired.SetCompact(ComputeMinStake(GetLastBlockIndex(pcheckpoint, true)->nBits, deltaTime, pblock->nTime)); - else - bnRequired.SetCompact(ComputeMinWork(GetLastBlockIndex(pcheckpoint, false)->nBits, deltaTime)); - - if (bnNewBlock > bnRequired) - { - if (pfrom) - pfrom->Misbehaving(100); - return error("ProcessBlock() : block with too little %s", pblock->IsProofOfStake()? "proof-of-stake" : "proof-of-work"); - } - } - - /* HyperStake is not using checkpoint server - // ppcoin: ask for pending sync-checkpoint if any - if (!IsInitialBlockDownload()) - Checkpoints::AskForPendingSyncCheckpoint(pfrom);*/ - // If don't already have its previous block, shunt it off to holding area until we get it if (!mapBlockIndex.count(pblock->hashPrevBlock)) { @@ -2334,7 +2289,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) { // Limited duplicity on stake: prevents block flood attack // Duplicate stake allowed only when there is orphan child block - if (setStakeSeenOrphan.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash) && !Checkpoints::WantedByPendingSyncCheckpoint(hash)) + if (setStakeSeenOrphan.count(pblock->GetProofOfStake()) && !mapOrphanBlocksByPrev.count(hash)) return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for orphan block %s", pblock->GetProofOfStake().first.ToString().c_str(), pblock->GetProofOfStake().second, hash.ToString().c_str()); else setStakeSeenOrphan.insert(pblock->GetProofOfStake()); @@ -2384,12 +2339,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) if (pwalletMain->fMultiSend && !pwalletMain->fMultiSendCoinStake) if (!pwalletMain->MultiSend() ) printf("ERROR While trying to use MultiSend"); - - - /* HyperStake is not using a checkpoint server - // ppcoin: if responsible for sync-checkpoint send it - if (pfrom && !CSyncCheckpoint::strMasterPrivKey.empty()) - Checkpoints::SendSyncCheckpoint(Checkpoints::AutoSelectSyncCheckpoint());*/ + // presstab HyperStake: enable of disable staking based on block difficulty if(pwalletMain->fStakeRequirement) @@ -2722,35 +2672,11 @@ bool LoadBlockIndex(bool fAllowNew) return error("LoadBlockIndex() : writing genesis block to disk failed"); if (!block.AddToBlockIndex(nFile, nBlockPos)) return error("LoadBlockIndex() : genesis block not accepted"); - - // ppcoin: initialize synchronized checkpoint - if (!Checkpoints::WriteSyncCheckpoint((!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet))) - return error("LoadBlockIndex() : failed to init sync checkpoint"); - } - - // ppcoin: if checkpoint master key changed must reset sync-checkpoint - { - CTxDB txdb; - string strPubKey = ""; - if (!txdb.ReadCheckpointPubKey(strPubKey) || strPubKey != CSyncCheckpoint::strMasterPubKey) - { - // write checkpoint master key to db - txdb.TxnBegin(); - if (!txdb.WriteCheckpointPubKey(CSyncCheckpoint::strMasterPubKey)) - return error("LoadBlockIndex() : failed to write new checkpoint master key to db"); - if (!txdb.TxnCommit()) - return error("LoadBlockIndex() : failed to commit new checkpoint master key to db"); - if ((!fTestNet) && !Checkpoints::ResetSyncCheckpoint()) - return error("LoadBlockIndex() : failed to reset sync-checkpoint"); - } - txdb.Close(); } return true; } - - void PrintBlockTree() { // pre-compute tree structure @@ -2945,21 +2871,6 @@ string GetWarnings(string strFor) strStatusBar = strMiscWarning; } - // ppcoin: should not enter safe mode for longer invalid chain - // ppcoin: if sync-checkpoint is too old do not enter safe mode - /*if (Checkpoints::IsSyncCheckpointTooOld(60 * 60 * 24 * 365) && !fTestNet && !IsInitialBlockDownload()) - { - nPriority = 100; - strStatusBar = "WARNING: Checkpoint is too old. Wait for block chain to download, or notify developers."; - } - - // ppcoin: if detected invalid checkpoint enter safe mode - if (Checkpoints::hashInvalidCheckpoint != 0) - { - nPriority = 3000; - strStatusBar = strRPC = "WARNING: Invalid checkpoint found! Displayed transactions may not be correct! You may need to upgrade, or notify developers."; - }*/ - // Alerts { LOCK(cs_mapAlerts); @@ -3158,31 +3069,20 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) item.second.RelayTo(pfrom); } - /* HyperStake does not use checkpoint server - // ppcoin: relay sync-checkpoint - { - LOCK(Checkpoints::cs_hashSyncCheckpoint); - if (!Checkpoints::checkpointMessage.IsNull()) - Checkpoints::checkpointMessage.RelayTo(pfrom); - }*/ - pfrom->fSuccessfullyConnected = true; printf("receive version message: version %d, blocks=%d, us=%s, them=%s, peer=%s\n", pfrom->nVersion, pfrom->nStartingHeight, addrMe.ToString().c_str(), addrFrom.ToString().c_str(), pfrom->addr.ToString().c_str()); cPeerBlockCounts.input(pfrom->nStartingHeight); - // Be more aggressive with blockchain download. Send new getblocks() message after connection - // to new node if waited longer than MAX_TIME_SINCE_BEST_BLOCK. - int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; - if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); - pfrom->PushGetBlocks(pindexBest, uint256(0)); - } - /* HyperStake does not use checkpoint server - // ppcoin: ask for pending sync-checkpoint if any - if (!IsInitialBlockDownload()) - Checkpoints::AskForPendingSyncCheckpoint(pfrom);*/ + // Be more aggressive with blockchain download. Send new getblocks() message after connection + // to new node if waited longer than MAX_TIME_SINCE_BEST_BLOCK. + int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; + if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) + { + printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + pfrom->PushGetBlocks(pindexBest, uint256(0)); + } } @@ -3454,20 +3354,6 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) } } } - else if (strCommand == "checkpoint") - { - CSyncCheckpoint checkpoint; - vRecv >> checkpoint; - - if (checkpoint.ProcessSyncCheckpoint(pfrom)) - { - // Relay - pfrom->hashCheckpointKnown = checkpoint.hashCheckpoint; - LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) - checkpoint.RelayTo(pnode); - } - } else if (strCommand == "getheaders") { diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 90bc3ba95..d5e2f000e 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -240,27 +240,6 @@ Value getblockbynumber(const Array& params, bool fHelp) return blockToJSON(block, pblockindex, params.size() > 1 ? params[1].get_bool() : false); } -// ppcoin: get information of sync-checkpoint -Value getcheckpoint(const Array& params, bool fHelp) -{ - if (fHelp || params.size() != 0) - throw runtime_error( - "getcheckpoint\n" - "Show info of synchronized checkpoint.\n"); - - Object result; - CBlockIndex* pindexCheckpoint; - - result.push_back(Pair("synccheckpoint", Checkpoints::hashSyncCheckpoint.ToString().c_str())); - pindexCheckpoint = mapBlockIndex[Checkpoints::hashSyncCheckpoint]; - result.push_back(Pair("height", pindexCheckpoint->nHeight)); - result.push_back(Pair("timestamp", DateTimeStrFormat(pindexCheckpoint->GetBlockTime()).c_str())); - if (mapArgs.count("-checkpointkey")) - result.push_back(Pair("checkpointmaster", true)); - - return result; -} - // presstab HyperStake Value exportdifficulty(const Array& params, bool fHelp) { From 7125d31276c8e7e575931322106b8326cc8c4b3e Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 6 Jun 2017 15:33:06 -0600 Subject: [PATCH 446/555] [RPC] do not allow ccsend while wallet is unlocked for minting --- src/rpcwallet.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2f75e2446..b859e813e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2327,6 +2327,8 @@ Value ccsend(const Array& params, bool fHelp) " is a real and is rounded to the nearest 0.000001" + HelpRequiringPassphrase()); + EnsureWalletIsUnlocked(); + CBitcoinAddress address(params[0].get_str()); if (!address.IsValid()) throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HyperStake address"); From aa86ef5d51e6b37745940acc6e1df030f51b6dac Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Jun 2017 13:32:26 -0600 Subject: [PATCH 447/555] Store wallet's total weight from hash calculation Reduce the rendundancy of calculating weight multiple times. Just keep track of the weight calculated when hashing the UTXOs. --- src/kernel.cpp | 16 +++++++++------- src/kernel.h | 4 ++-- src/qt/bitcoingui.cpp | 31 ++++++++++++++++++++++--------- src/wallet.cpp | 20 ++++++++++++++------ src/wallet.h | 3 +++ 5 files changed, 50 insertions(+), 24 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 3b16d52b1..c894312bc 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -307,19 +307,20 @@ uint256 stakeHash(unsigned int nTimeTx, unsigned int nTxPrevTime, CDataStream ss } //HyperStake test hash vs target -bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay) +bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay, CBigNum& bnCoinWeight) { //get the stake weight int64 nTimeWeight = min((int64)nAge, (int64)nStakeMaxAge) - nStakeMinAge; - CBigNum bnCoinDayWeight = CBigNum(nValueIn) * nTimeWeight / COIN / (24 * 60 * 60); + bnCoinWeight = 0; + bnCoinWeight = CBigNum(nValueIn) * nTimeWeight / COIN / (24 * 60 * 60); // Now check if proof-of-stake hash meets target protocol - return (CBigNum(hashProofOfStake) < bnCoinDayWeight * bnTargetPerCoinDay); + return (CBigNum(hashProofOfStake) < bnCoinWeight * bnTargetPerCoinDay); } //instead of looping outside and reinitializing variables many times, we will give a nTimeTx and also search interval so that we can do all the hashing here bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, - const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nHashDrift, bool fCheck, uint256& hashProofOfStake, bool fPrintProofOfStake) + const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nHashDrift, bool fCheck, uint256& hashProofOfStake, CBigNum& bnCoinWeight, bool fPrintProofOfStake) { //assign new variables to make it easier to read int64 nValueIn = txPrev.vout[prevout.n].nValue; @@ -351,7 +352,7 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned if(fCheck) { hashProofOfStake = stakeHash(nTimeTx, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); - return stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay); + return stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay, bnCoinWeight); } bool fSuccess = false; @@ -364,7 +365,7 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned hashProofOfStake = stakeHash(nTryTime, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); // if stake hash does not meet the target then continue to next iteration - if(!stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay)) + if(!stakeTargetHit(hashProofOfStake, (int64)nTimeTx - nTxPrevTime, nValueIn, bnTargetPerCoinDay, bnCoinWeight)) continue; fSuccess = true; // if we make it this far then we have successfully created a stake hash @@ -417,7 +418,8 @@ bool CheckProofOfStake(const CTransaction& tx, unsigned int nBits, uint256& hash unsigned int nInterval = 0; unsigned int nTxTime = tx.nTime; - if (!CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, txPrev, txin.prevout, nTxTime, nInterval, true, hashProofOfStake, fDebug)) + CBigNum nCoinWeight = 0; + if (!CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, txPrev, txin.prevout, nTxTime, nInterval, true, hashProofOfStake, nCoinWeight, fDebug)) return tx.DoS(1, error("CheckProofOfStake() : INFO: check kernel failed on coinstake %s, hashProof=%s", tx.GetHash().ToString().c_str(), hashProofOfStake.ToString().c_str())); // may occur during initial download or if behind on block chain sync return true; diff --git a/src/kernel.h b/src/kernel.h index f1f797f6b..d6d1f7e44 100644 --- a/src/kernel.h +++ b/src/kernel.h @@ -22,9 +22,9 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif // Check whether stake kernel meets hash target // Sets hashProofOfStake on success return bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned int nTxPrevOffset, const CTransaction& txPrev, - const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nInterval, bool fCheck, uint256& hashProofOfStake, bool fPrintProofOfStake=false); + const COutPoint& prevout, unsigned int& nTimeTx, unsigned int nInterval, bool fCheck, uint256& hashProofOfStake, CBigNum& bnCoinWeight, bool fPrintProofOfStake=false); uint256 stakeHash(unsigned int nTimeTx, unsigned int nTxPrevTime, CDataStream ss, unsigned int prevoutIndex, unsigned int nTxPrevOffset, unsigned int nTimeBlockFrom); -bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay); +bool stakeTargetHit(uint256 hashProofOfStake, unsigned int nAge, int64 nValueIn, CBigNum bnTargetPerCoinDay, CBigNum& bnCoinWeight); // Check kernel hash target and coinstake signature // Sets hashProofOfStake on success return diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 9c42c9298..b4aab3051 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -31,6 +31,7 @@ #include "wallet.h" #include "bitcoinrpc.h" #include "blockbrowser.h" +#include "../wallet.h" #ifdef Q_OS_MAC #include "macdockiconhandler.h" @@ -184,14 +185,17 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): // Set minting pixmap labelMintingIcon->setEnabled(false); + // Add timer to update minting info QTimer *timerMintingIcon = new QTimer(labelMintingIcon); timerMintingIcon->start(MINTING_UPDATE_DELAY); connect(timerMintingIcon, SIGNAL(timeout()), this, SLOT(updateMintingIcon())); + // Add timer to update minting weights QTimer *timerMintingWeights = new QTimer(labelMintingIcon); timerMintingWeights->start(1 * 5000); // 5 second update time connect(timerMintingWeights, SIGNAL(timeout()), this, SLOT(updateMintingWeights())); + // Set initial values for user and network weights nWeight = 0; nHoursToMaturity = 0; @@ -1256,15 +1260,24 @@ void BitcoinGUI::updateMintingWeights() //only update weight every 120 seconds in order to reduce resource consumption if(GetTime() - nLastWeightCheck > 120) { - nWeight = 0; - nAmount = 0; - if (pwalletMain) - pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); - - if (nHoursToMaturity > 212) - nHoursToMaturity = 0; - nNetworkWeight = GetPoSKernelPS(); - + if(pwalletMain && pwalletMain->bnStakeWeightCached != 0) + { + nHoursToMaturity = 0; + nWeight = pwalletMain->bnStakeWeightCached.getuint64(); + + } + else + { + nWeight = 0; + nAmount = 0; + if (pwalletMain) + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + + if (nHoursToMaturity > 212) + nHoursToMaturity = 0; + } + + nNetworkWeight = GetPoSKernelPS(); nLastWeightCheck = GetTime(); } } diff --git a/src/wallet.cpp b/src/wallet.cpp index bcc0e2994..6478bd7da 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1645,12 +1645,13 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int int64 nReserveBalance = 0; if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) return error("CreateCoinStake : invalid reserve balance amount"); + if (nBalance <= nReserveBalance) return false; // presstab HyperStake - Initialize as static and don't update the set on every run of CreateCoinStake() in order to lighten resource use static std::set > setStakeCoins; - static int nLastStakeSetUpdate = 0; + static int64 nLastStakeSetUpdate = 0; if(GetTime() - nLastStakeSetUpdate > nStakeSetUpdateTime) { @@ -1659,7 +1660,8 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int return false; nLastStakeSetUpdate = GetTime(); } - + + bnStakeWeightCached = 0; if (setStakeCoins.empty()) return false; @@ -1689,13 +1691,16 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int uint256 hashProofOfStake = 0; COutPoint prevoutStake = COutPoint(pcoin.first->GetHash(), pcoin.second); unsigned int txNewTime = txNew.nTime; - - //HyperStake now iterates each utxo inside of CheckStakeKernelHash() - if (CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, *pcoin.first, prevoutStake, txNewTime, nHashDrift, false, hashProofOfStake)) + + CBigNum bnCoinWeight = 0; + bool foundKernel = CheckStakeKernelHash(nBits, block, txindex.pos.nTxPos - txindex.pos.nBlockPos, *pcoin.first, prevoutStake, txNewTime, nHashDrift, false, hashProofOfStake, bnCoinWeight); + bnStakeWeightCached += bnCoinWeight; + + if (foundKernel) { - // Found a kernel if (fDebug && GetBoolArg("-printcoinstake")) printf("CreateCoinStake : kernel found\n"); + vector vSolutions; txnouttype whichType; CScript scriptPubKeyOut; @@ -1706,14 +1711,17 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int printf("CreateCoinStake : failed to parse kernel\n"); break; } + if (fDebug && GetBoolArg("-printcoinstake")) printf("CreateCoinStake : parsed kernel type=%d\n", whichType); + if (whichType != TX_PUBKEY && whichType != TX_PUBKEYHASH) { if (fDebug && GetBoolArg("-printcoinstake")) printf("CreateCoinStake : no support for kernel type=%d\n", whichType); break; // only support pay to public key and pay to address } + if (whichType == TX_PUBKEYHASH) // pay to address type { // convert to pay to public key type diff --git a/src/wallet.h b/src/wallet.h index 2a6160f21..402432693 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -89,6 +89,7 @@ class CWallet : public CCryptoKeyStore MasterKeyMap mapMasterKeys; unsigned int nMasterKeyMaxID; bool fWalletUnlockMintOnly; + CBigNum bnStakeWeightCached; //SplitBlock bool fSplitBlock; @@ -126,6 +127,7 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fWalletUnlockMintOnly = false; fSplitBlock = false; + bnStakeWeightCached = 0; //DisableStake fDisableStake = false; @@ -161,6 +163,7 @@ class CWallet : public CCryptoKeyStore nOrderPosNext = 0; fWalletUnlockMintOnly = false; fSplitBlock = false; + bnStakeWeightCached = 0; //DisableStake fDisableStake = false; From e1895f602f5aba714dec75c0909b5d80d8196f08 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Jun 2017 17:02:54 -0600 Subject: [PATCH 448/555] refactor GetStakeWeight() and add GetTimeToNextMaturity() --- src/main.cpp | 3 +-- src/main.h | 57 ---------------------------------------- src/qt/bitcoingui.cpp | 35 +++++++++++++------------ src/wallet.cpp | 60 ++++++++++++++++++++++++++++--------------- src/wallet.h | 3 ++- 5 files changed, 61 insertions(+), 97 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 802de9b78..485b7aa4d 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2377,9 +2377,8 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) { uint64 nMinMax; uint64 nWeight; - uint64 nHoursToMaturity; uint64 nAmount; - pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nAmount); if(pwalletMain->strDisableArg == ">") { diff --git a/src/main.h b/src/main.h index b4c635b56..9f08618f3 100644 --- a/src/main.h +++ b/src/main.h @@ -66,7 +66,6 @@ inline int64 GetClockDrift(int64 nTime) } static const int64 MAX_TIME_SINCE_BEST_BLOCK = 10; // how many seconds to wait before sending next PushGetBlocks() extern CScript COINBASE_FLAGS; - extern CCriticalSection cs_main; extern std::map mapBlockIndex; extern std::set > setStakeSeen; @@ -105,7 +104,6 @@ extern int64 nTransactionFee; // Minimum disk space required - used in CheckDiskSpace() static const uint64 nMinDiskSpace = 52428800; - class CReserveKey; class CTxDB; class CTxIndex; @@ -144,16 +142,6 @@ uint256 WantedByOrphan(const CBlock* pblockOrphan); const CBlockIndex* GetLastBlockIndex(const CBlockIndex* pindex, bool fProofOfStake); void BitcoinMiner(CWallet *pwallet, bool fProofOfStake); void ResendWalletTransactions(); - - - - - - - - - - bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut); /** Position on disk for a particular transaction. */ @@ -207,8 +195,6 @@ class CDiskTxPos } }; - - /** An inpoint - a combination of a transaction and an index n into its vin */ class CInPoint { @@ -222,8 +208,6 @@ class CInPoint bool IsNull() const { return (ptx == NULL && n == (unsigned int) -1); } }; - - /** An outpoint - a combination of a transaction hash and an index n into its vout */ class COutPoint { @@ -263,9 +247,6 @@ class COutPoint } }; - - - /** An input of a transaction. It contains the location of the previous * transaction's output that it claims and a signature that matches the * output's public key. @@ -346,9 +327,6 @@ class CTxIn } }; - - - /** An output of a transaction. It contains the public key that the next input * must be able to sign with to claim it. */ @@ -432,9 +410,6 @@ class CTxOut } }; - - - enum GetMinFee_mode { GMF_BLOCK, @@ -736,10 +711,6 @@ class CTransaction const CTxOut& GetOutputFor(const CTxIn& input, const MapPrevTx& inputs) const; }; - - - - /** A transaction with a merkle branch linking it to the block chain. */ class CMerkleTx : public CTransaction { @@ -789,9 +760,6 @@ class CMerkleTx : public CTransaction bool AcceptToMemoryPool(); }; - - - /** A txdb record that contains the disk location of a transaction and the * locations of transactions that spend its outputs. vSpent is really only * used as a flag, but having the location is very helpful for debugging. @@ -846,10 +814,6 @@ class CTxIndex }; - - - - /** Nodes collect new transactions into a block, hash them into a hash tree, * and scan through nonce values to make the block's hash satisfy proof-of-work * requirements. When they solve the proof-of-work, they broadcast the block @@ -1121,11 +1085,6 @@ class CBlock bool SetBestChainInner(CTxDB& txdb, CBlockIndex *pindexNew); }; - - - - - /** The block chain is a tree shaped structure starting with the * genesis block at the root, with each block potentially having multiple * candidates to be the next block. pprev and pnext link a path through the @@ -1359,8 +1318,6 @@ class CBlockIndex } }; - - /** Used to marshal pointers into hashes for db storage. */ class CDiskBlockIndex : public CBlockIndex { @@ -1452,13 +1409,6 @@ class CDiskBlockIndex : public CBlockIndex } }; - - - - - - - /** Describes a place in the block chain to another node such that if the * other node doesn't have the same branch, it can find a recent common trunk. * The further back it is, the further before the fork it may be. @@ -1586,13 +1536,6 @@ class CBlockLocator } }; - - - - - - - class CTxMemPool { public: diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index b4aab3051..c69c93bc3 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1257,28 +1257,29 @@ void BitcoinGUI::updateMintingWeights() // Only update if we have the network's current number of blocks, or weight(s) are zero (fixes lagging GUI) if ((clientModel && clientModel->getNumBlocks() >= clientModel->getNumBlocksOfPeers()) || !nWeight || !nNetworkWeight) { - //only update weight every 120 seconds in order to reduce resource consumption - if(GetTime() - nLastWeightCheck > 120) - { - if(pwalletMain && pwalletMain->bnStakeWeightCached != 0) + //only update weight every 120 seconds in order to reduce resource consumption + if(GetTime() - nLastWeightCheck > 120) + { + nWeight = 0; + nAmount = 0; + nNetworkWeight = GetPoSKernelPS(); + nLastWeightCheck = GetTime(); + + if(!pwalletMain) + return; + + if(pwalletMain->MintableCoins()) + nHoursToMaturity = 0; + else + nHoursToMaturity = pwalletMain->GetTimeToNextMaturity() / (60*60); + + if(pwalletMain->bnStakeWeightCached != 0) { nHoursToMaturity = 0; nWeight = pwalletMain->bnStakeWeightCached.getuint64(); - } else - { - nWeight = 0; - nAmount = 0; - if (pwalletMain) - pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nHoursToMaturity, nAmount); - - if (nHoursToMaturity > 212) - nHoursToMaturity = 0; - } - - nNetworkWeight = GetPoSKernelPS(); - nLastWeightCheck = GetTime(); + pwalletMain->GetStakeWeight(*pwalletMain, nMinMax, nMinMax, nWeight, nAmount); } } diff --git a/src/wallet.cpp b/src/wallet.cpp index 6478bd7da..5287fa208 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1555,49 +1555,66 @@ bool CWallet::CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& w return CreateTransaction(vecSend, wtxNew, reservekey, nFeeRet, 1, fAllowS4C, coinControl); } -bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount) +uint64 CWallet::GetTimeToNextMaturity() +{ + set > setCoins; + int64 nValueIn = 0; + + if (!SelectCoins(GetBalance(), GetTime(), setCoins, nValueIn)) + return false; + + uint64 nTimeToNextMaturity = ~1; + uint64 nStakeAge = (fTestNet ? nStakeMinAge : nStakeMinAgeV2); + BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) + { + uint64 nCurrentAge = GetTime() - pcoin.first->nTime; + if(nCurrentAge > nStakeAge) + return 0; + + int64 nTimeToMaturity = nStakeAge - nCurrentAge; + + if(nCurrentAge < nTimeToNextMaturity) + nTimeToNextMaturity = nCurrentAge; + } + + return nTimeToNextMaturity; +} + +bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nAmount) { // Choose coins to use int64 nBalance = GetBalance(); int64 nReserveBalance = 0; if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) return error("CreateCoinStake : invalid reserve balance amount"); + if (nBalance <= nReserveBalance) return false; set > setCoins; vector vwtxPrev; int64 nValueIn = 0; + int64 nTimeNow = GetTime(); - if (!SelectCoins(nBalance - nReserveBalance, GetTime(), setCoins, nValueIn)) + if (!SelectCoins(nBalance - nReserveBalance, nTimeNow, setCoins, nValueIn)) return false; + if (setCoins.empty()) return false; uint64 nPrevAge = 0; // for nHoursToMaturity calculation uint64 nStakeAge = nStakeMinAgeV2; - if(fTestNet) + + if(fTestNet) nStakeAge = nStakeMinAge; - CTxDB txdb("r"); + CBigNum bnTotalWeight = 0; BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { - CTxIndex txindex; - { - LOCK2(cs_main, cs_wallet); - if (!txdb.ReadTxIndex(pcoin.first->GetHash(), txindex)) - continue; - } - // Time Until Next Maturity - uint64 nCurrentAge = (int64)GetTime() - (int64)pcoin.first->nTime; - if (nCurrentAge > nPrevAge) - { - nHoursToMaturity = ((nStakeAge - nCurrentAge) / 60 / 60) + 1; - nPrevAge = nCurrentAge; - } + uint64 nCurrentAge = nTimeNow - pcoin.first->nTime; - int64 nTimeWeight = GetWeight2((int64)pcoin.first->nTime, (int64)GetTime()); + int64 nTimeWeight = GetWeight2(pcoin.first->nTime, nTimeNow); CBigNum bnCoinDayWeight = CBigNum(pcoin.first->vout[pcoin.second].nValue) * nTimeWeight / COIN / (24 * 60 * 60); if (nCurrentAge < nStakeAge) // if the age is less than min stake age report it as 0 @@ -1605,17 +1622,20 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint if (nTimeWeight > 0) { - nWeight += bnCoinDayWeight.getuint64(); + bnTotalWeight += bnCoinDayWeight; nAmount += (uint64)pcoin.first->vout[pcoin.second].nValue / COIN; } // Weight is greater than zero, but the maximum value isn't reached yet - if (nTimeWeight > 0 && nTimeWeight < nStakeMaxAge) + if (nTimeWeight && nTimeWeight < nStakeMaxAge) nMinWeight += bnCoinDayWeight.getuint64(); + // Maximum weight was reached if (nTimeWeight == nStakeMaxAge) nMaxWeight += bnCoinDayWeight.getuint64(); } + + nWeight = bnTotalWeight.getuint64(); return true; } diff --git a/src/wallet.h b/src/wallet.h index 402432693..574e7b5a4 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -257,9 +257,10 @@ class CWallet : public CCryptoKeyStore bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); - bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nHoursToMaturity, uint64& nAmount); + bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nAmount); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); + uint64 GetTimeToNextMaturity(); std::string SendMoney(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); std::string SendMoneyToDestination(const CTxDestination &address, int64 nValue, CWalletTx& wtxNew, bool fAskFee=false, bool fAllowStakeForCharity=false); From 7ee0cb89e46683fa5f40853bd7f89db1e444cb43 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Jun 2017 22:38:54 -0600 Subject: [PATCH 449/555] Do not rehash block on load if the block hash is stored --- src/main.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main.h b/src/main.h index 9f08618f3..6083e11b7 100644 --- a/src/main.h +++ b/src/main.h @@ -898,7 +898,7 @@ class CBlock uint256 GetHash() const { - return Hash9(BEGIN(nVersion), END(nNonce)); + return Hash9(BEGIN(nVersion), END(nNonce)); } int64 GetBlockTime() const @@ -1379,6 +1379,9 @@ class CDiskBlockIndex : public CBlockIndex uint256 GetBlockHash() const { + if(blockHash != 0) + return blockHash; + CBlock block; block.nVersion = nVersion; block.hashPrevBlock = hashPrev; From 6fdea9fd69321849d2be140b0285b22d9393c0f6 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jun 2017 10:00:51 -0600 Subject: [PATCH 450/555] change bitwise negate to negative --- src/wallet.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 5287fa208..d2a7ef476 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1563,7 +1563,7 @@ uint64 CWallet::GetTimeToNextMaturity() if (!SelectCoins(GetBalance(), GetTime(), setCoins, nValueIn)) return false; - uint64 nTimeToNextMaturity = ~1; + uint64 nTimeToNextMaturity = -1; uint64 nStakeAge = (fTestNet ? nStakeMinAge : nStakeMinAgeV2); BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { From 59b3e4d18f5c44c40eb312303d74df60ca356f39 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 12 Jun 2017 17:39:41 -0600 Subject: [PATCH 451/555] Update readme to include build instructions --- README.md | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e09138d5a..aa37c04f5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,6 @@ +#HyperStake - - -HyperStake - -Copyright (c) 2014 HyperStake Developers -Copyright (c) 2013-2014 hyperstake Developers +Copyright (c) 2013-2017 HyperStake Developers Copyright (c) 2013 NovaCoin Developers Copyright (c) 2011-2012 Bitcoin Developers Distributed under the MIT/X11 software license, see the accompanying @@ -35,7 +31,6 @@ or forward port incoming connections. hyperstake works without incoming connections, but allowing incoming connections helps the hyperstake network. - Upgrade ------- All you existing coins/transactions should be intact with the upgrade. @@ -50,11 +45,30 @@ See the hyperstake site: http://hyperstake.com/ for help and more information. -### Wallet themes +Wallet themes +------- | HyperBlue | PoloniexNight | PoloniexDay | | ------------- | ------------- | ------------- | | [![HyperBlue](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-hyperblue-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexnight-theme.png) | [![PoloniexNight](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme-th.png)](https://github.com/zeewolfik/HyperStake/raw/master/src/qt/res/screenshots/hyperstake-poloniexday-theme.png) | +Build Instructions (Linux) +------- +### Dependencies required for HyperStake with or without GUI: +`sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev libdb5.1-dev libdb5.1++-dev libminiupnpc-dev automake` + +`./autogen.sh` + +### Configure without GUI: +`./configure --with-incompatible-bdb --with-gui=no` + +### Configure with GUI: +`sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler libqrencode-dev` + +`./configure --with-incompatible-bdb --with-gui=qt5` + +### Compile +`make` + From 228f946d553b13bbbe183d306184e7ffb5da2690 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 19 Jun 2017 11:18:56 -0600 Subject: [PATCH 452/555] reduce staking resource consumption, add getstakingstatus --- src/bitcoinrpc.cpp | 31 +++++++++++++++---------------- src/bitcoinrpc.h | 1 + src/main.cpp | 18 ++++++++++-------- src/main.h | 1 + src/rpcwallet.cpp | 46 +++++++++++++++++++++++++++++++++++++++++++++- src/wallet.cpp | 12 ++++++++++-- src/wallet.h | 7 ++++++- 7 files changed, 88 insertions(+), 28 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 3d63746ee..fbdcac9f0 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -194,8 +194,6 @@ Value stop(const Array& params, bool fHelp) // // Call Table // - - static const CRPCCommand vRPCCommands[] = { // name function safemd unlocked // ------------------------ ----------------------- ------ -------- @@ -273,24 +271,25 @@ static const CRPCCommand vRPCCommands[] = { "resendtx", &resendtx, false, true}, { "makekeypair", &makekeypair, false, true}, { "sendalert", &sendalert, false, false}, - { "multisend", &multisend, false, false }, + { "multisend", &multisend, false, false }, { "cclistcoins", &cclistcoins, false, false }, { "ccselect", &ccselect, false, false }, - { "cclistselected", &cclistselected, false, false }, - { "ccreturnchange", &ccreturnchange, false, false }, - { "cccustomchange", &cccustomchange, false, false }, - { "ccreset", &ccreset, false, false }, - { "ccsend", &ccsend, false, false }, - { "getweight", &getweight, false, false }, - { "getpotentialstake", &getpotentialstake, false, false }, - { "getconfs", &getconfs, false, false }, - { "strictprotocol", &strictprotocol, false, false }, - { "strictincoming", &strictincoming, false, false }, + { "cclistselected", &cclistselected, false, false }, + { "ccreturnchange", &ccreturnchange, false, false }, + { "cccustomchange", &cccustomchange, false, false }, + { "ccreset", &ccreset, false, false }, + { "ccsend", &ccsend, false, false }, + { "getweight", &getweight, false, false }, + { "getpotentialstake", &getpotentialstake, false, false }, + { "getconfs", &getconfs, false, false }, + { "strictprotocol", &strictprotocol, false, false }, + { "strictincoming", &strictincoming, false, false }, { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, - { "listblocks", &listblocks, false, false }, - { "hashsettings", &hashsettings, false, false }, - { "gettxfee", &gettxfee, false, false }, + { "listblocks", &listblocks, false, false }, + { "hashsettings", &hashsettings, false, false }, + { "gettxfee", &gettxfee, false, false }, + { "getstakingstatus", &getstakingstatus, false, false }, }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index cfd4b4f14..3def06ac8 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -210,6 +210,7 @@ extern json_spirit::Value getconfs(const json_spirit::Array& params, bool fHelp) extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value hashsettings(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getstakingstatus(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 485b7aa4d..bbfb36416 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4398,17 +4398,22 @@ bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) void static ThreadBitcoinMiner(void* parg); -static bool fGenerateBitcoins = false; +bool fGenerateBitcoins = false; static bool fLimitProcessors = false; static int nLimitProcessors = -1; - +bool fMintableCoins = false; +int nMintableLastCheck = 0; void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) { printf("CPUMiner started for proof-of-%s\n", fProofOfStake? "stake" : "work"); SetThreadPriority(THREAD_PRIORITY_LOWEST); + // If we are minting, then make sure fGenerateBitcoins knows that + if(fProofOfStake) + fGenerateBitcoins = true; + // Make this thread recognisable as the mining thread RenameThread("bitcoin-miner"); @@ -4417,10 +4422,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) unsigned int nExtraNonce = 0; //control the amount of times the client will check for mintable coins - static bool fMintableCoins = false; - static int nMintableLastCheck = 0; - - if(GetTime() - nMintableLastCheck > 60) // 5 minute check time + if(pwallet->GetMintableOutputCount() < 2 || GetTime() - nMintableLastCheck > 60) //check for mintable coins every 60 seconds { nMintableLastCheck = GetTime(); fMintableCoins = pwallet->MintableCoins(); @@ -4443,9 +4445,9 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet { - if(GetTime() - mapHashedBlocks[nBestHeight] < max(pwallet->nHashInterval, (unsigned int)1)) // wait half of the nHashDrift with max wait of 3 minutes + if(GetTime() - mapHashedBlocks[nBestHeight] < max(pwallet->nHashInterval, (unsigned int)1)) // wait a 'hash interval' until trying to hash again { - Sleep(2500); // 2.5 second sleep + Sleep(1000); // 2.5 second sleep for this thread continue; } } diff --git a/src/main.h b/src/main.h index 6083e11b7..7c780da43 100644 --- a/src/main.h +++ b/src/main.h @@ -97,6 +97,7 @@ extern std::map > mapGetBlocksRequests; extern std::map mapPeerRejectedBlocks; extern bool fStrictProtocol; extern bool fStrictIncoming; +extern bool fGenerateBitcoins; // Settings extern int64 nTransactionFee; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index b859e813e..57a39c8dc 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -24,6 +24,7 @@ static CCriticalSection cs_nWalletUnlockTime; extern void TxToJSON(const CTransaction& tx, const uint256 hashBlock, json_spirit::Object& entry); extern int64 nLastCoinStakeSearchInterval; +extern bool fGenerateBitcoins; std::string HelpRequiringPassphrase() { @@ -2754,5 +2755,48 @@ Value hashsettings(const Array& params, bool fHelp) return "Combine dust setting saved and but failed to write to DB"; } return "Failed to recognize commands"; -} +} + +// PIVX +Value getstakingstatus(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "getstakingstatus\n" + "Returns an object containing various staking information.\n" + "\nResult:\n" + "{\n" + " \"generatebitcoins\": true|false, (boolean) if the internal generate bitcoins flag is activated\n" + " \"haveconnections\": true|false, (boolean) if network connections are present\n" + " \"blockchainsynced\": true|false, (boolean) if blockchain is fully synced\n" + " \"walletunlocked\": true|false, (boolean) if the wallet is unlocked\n" + " \"mintablecoins\": true|false, (boolean) if the wallet has mintable coins\n" + " \"enoughcoins\": true|false, (boolean) if available coins are greater than reserve balance\n" + " \"staking status\": true|false, (boolean) if the wallet is staking or not\n" + "}\n"); + + Object obj; + obj.push_back(Pair("generatebitcoins", fGenerateBitcoins)); + obj.push_back(Pair("haveconnections", !vNodes.empty())); + obj.push_back(Pair("blockchainsynced", !IsInitialBlockDownload())); + if (pwalletMain) { + obj.push_back(Pair("walletunlocked", !pwalletMain->IsLocked())); + obj.push_back(Pair("mintablecoins", pwalletMain->MintableCoins())); + + int64 nReserveBalance = 0; + if (mapArgs.count("-reservebalance") && !ParseMoney(mapArgs["-reservebalance"], nReserveBalance)) + nReserveBalance = 0; + + obj.push_back(Pair("enoughcoins", nReserveBalance <= pwalletMain->GetBalance())); + } + + bool fStaking = false; + if (mapHashedBlocks.count(nBestHeight)) + fStaking = true; + else if (mapHashedBlocks.count(nBestHeight - 1) && nLastCoinStakeSearchInterval) + fStaking = true; + obj.push_back(Pair("staking status", fStaking)); + + return obj; +} \ No newline at end of file diff --git a/src/wallet.cpp b/src/wallet.cpp index d2a7ef476..5e3053732 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1315,9 +1315,15 @@ bool CWallet::SelectStakeCoins(std::set } } } + return true; } +unsigned int CWallet::GetMintableOutputCount() +{ + return nMintableOutputs; +} + bool CWallet::MintableCoins() { int64 nBalance = GetBalance(); @@ -1681,10 +1687,12 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int nLastStakeSetUpdate = GetTime(); } - bnStakeWeightCached = 0; + //update mintable outputs count + nMintableOutputs = setStakeCoins.size(); if (setStakeCoins.empty()) return false; - + + bnStakeWeightCached = 0; vector vwtxPrev; int64 nCredit = 0; diff --git a/src/wallet.h b/src/wallet.h index 574e7b5a4..982e57241 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -79,6 +79,9 @@ class CWallet : public CCryptoKeyStore // the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded int nWalletMaxVersion; + //how many UTXO's are eligible to be staked + unsigned int nMintableOutputs; + public: bool MintableCoins(); mutable CCriticalSection cs_wallet; @@ -128,6 +131,7 @@ class CWallet : public CCryptoKeyStore fWalletUnlockMintOnly = false; fSplitBlock = false; bnStakeWeightCached = 0; + nMintableOutputs = 0; //DisableStake fDisableStake = false; @@ -164,6 +168,7 @@ class CWallet : public CCryptoKeyStore fWalletUnlockMintOnly = false; fSplitBlock = false; bnStakeWeightCached = 0; + nMintableOutputs = 0; //DisableStake fDisableStake = false; @@ -252,7 +257,7 @@ class CWallet : public CCryptoKeyStore int64 GetImmatureBalance() const; int64 GetStake() const; int64 GetNewMint() const; - bool StakeForCharity(); + unsigned int GetMintableOutputCount(); bool MultiSend(); bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); From beb7dee76c5e334bd034c42f62416a6f60d07a64 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 19 Jun 2017 16:54:03 -0600 Subject: [PATCH 453/555] GetWeightSpent() GetAverageWeightOverPeriod() --- src/main.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ src/main.h | 5 +++++ 2 files changed, 47 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index bbfb36416..6e41c8cc2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2833,7 +2833,49 @@ bool LoadExternalBlockFile(FILE* fileIn) return nLoaded > 0; } +CBigNum GetWeightSpent(CBlockIndex* pindex) +{ + if(pindex->IsProofOfWork()) + return 0; + + CBlock block; + if(!block.ReadFromDisk(pindex, true)) + return 0; + + //txin that was staked + CTxIn txInStake = block.vtx[1].vin[1]; + //find the tx that txin came from + CTxDB txdb("r"); + CTransaction txPrev; + if(!txdb.ReadDiskTx(txInStake.prevout, txPrev)) + return 0; + + unsigned int nAge = block.GetBlockTime() - txPrev.nTime; + uint64 nAmount = txPrev.vout[txInStake.prevout.n].nValue; + + //note that it is slightly different in real weight calc, but small enough that this simplification is better + //for users to see + return CBigNum(nAge / (60*60*24) * nAmount / COIN); +} + +CBigNum GetAverageWeightOverPeriod(int nBlocksCount) +{ + if(nBestHeight - nBlocksCount <= 0) + return 0; + + CBlockIndex* pindex = FindBlockByHeight(nBestHeight); + + unsigned int nEndHeight = nBestHeight - nBlocksCount; + CBigNum bnWeightSpent = 0; + while(pindex->nHeight > nEndHeight - 1) + { + bnWeightSpent += GetWeightSpent(pindex); + pindex = pindex->pprev; + } + + return bnWeightSpent; +} ////////////////////////////////////////////////////////////////////////////// diff --git a/src/main.h b/src/main.h index 7c780da43..b93340306 100644 --- a/src/main.h +++ b/src/main.h @@ -133,6 +133,8 @@ int64 GetProofOfWorkReward(int nHeight, int64 nFees, uint256 prevHash); int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight); int64 GetProofOfStakeRewardV1(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight); int64 GetProofOfStakeRewardV2(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight); +CBigNum GetWeightSpent(CBlockIndex* pindex); +CBigNum GetAverageWeightOverPeriod(int nBlocksCount); unsigned int ComputeMinWork(unsigned int nBase, int64 nTime); unsigned int ComputeMinStake(unsigned int nBase, int64 nTime, unsigned int nBlockTime); int GetNumBlocksOfPeers(); @@ -899,6 +901,9 @@ class CBlock uint256 GetHash() const { + if(hashBlock != 0) + return hashBlock; + return Hash9(BEGIN(nVersion), END(nNonce)); } From 9ba8d81eca425695a80499bacbfb938ddf8ec7bc Mon Sep 17 00:00:00 2001 From: joen Date: Mon, 26 Jun 2017 13:20:03 +0200 Subject: [PATCH 454/555] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa37c04f5..e46d6d215 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Start up the new hyperstaked. See the hyperstake site: - http://hyperstake.com/ + http://hyperstake.io for help and more information. Wallet themes From ef1b1ded38bde4291d56346aec4f60b01d394a77 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 29 Jun 2017 10:13:19 -0600 Subject: [PATCH 455/555] Update calcDialog to suggest sizes based off of network stats --- src/main.cpp | 22 ++- src/main.h | 4 +- src/qt/calcdialog.cpp | 55 ++++-- src/qt/forms/calcdialog.ui | 331 ++++++++++--------------------------- 4 files changed, 147 insertions(+), 265 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 6e41c8cc2..9eb501341 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2843,7 +2843,7 @@ CBigNum GetWeightSpent(CBlockIndex* pindex) return 0; //txin that was staked - CTxIn txInStake = block.vtx[1].vin[1]; + CTxIn txInStake = block.vtx[1].vin[0]; //find the tx that txin came from CTxDB txdb("r"); @@ -2851,30 +2851,34 @@ CBigNum GetWeightSpent(CBlockIndex* pindex) if(!txdb.ReadDiskTx(txInStake.prevout, txPrev)) return 0; - unsigned int nAge = block.GetBlockTime() - txPrev.nTime; + unsigned int nAge = min(block.GetBlockTime() - txPrev.nTime, (long long int)nStakeMaxAge); uint64 nAmount = txPrev.vout[txInStake.prevout.n].nValue; //note that it is slightly different in real weight calc, but small enough that this simplification is better //for users to see - return CBigNum(nAge / (60*60*24) * nAmount / COIN); + return CBigNum((nAge / (60*60*24)) * (nAmount/COIN)); } -CBigNum GetAverageWeightOverPeriod(int nBlocksCount) +CBigNum GetMedianWeightOverPeriod(int nBlocksCount) { if(nBestHeight - nBlocksCount <= 0) return 0; - CBlockIndex* pindex = FindBlockByHeight(nBestHeight); + CBlockIndex* pindex = pindexBest; - unsigned int nEndHeight = nBestHeight - nBlocksCount; + + int nEndHeight = pindex->nHeight - nBlocksCount; CBigNum bnWeightSpent = 0; + vector vWeights; while(pindex->nHeight > nEndHeight - 1) { - bnWeightSpent += GetWeightSpent(pindex); + vWeights.push_back(GetWeightSpent(pindex)); pindex = pindex->pprev; } - return bnWeightSpent; + sort(vWeights.begin(), vWeights.end()); + + return vWeights[(int)vWeights.size()/2]; } @@ -4677,4 +4681,4 @@ void GenerateBitcoins(bool fGenerate, CWallet* pwallet) Sleep(10); } } -} \ No newline at end of file +} diff --git a/src/main.h b/src/main.h index b93340306..ab899a2c2 100644 --- a/src/main.h +++ b/src/main.h @@ -134,7 +134,7 @@ int64 GetProofOfStakeReward(int64 nCoinAge, unsigned int nBits, unsigned int nTi int64 GetProofOfStakeRewardV1(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight); int64 GetProofOfStakeRewardV2(int64 nCoinAge, unsigned int nBits, unsigned int nTime, int nHeight); CBigNum GetWeightSpent(CBlockIndex* pindex); -CBigNum GetAverageWeightOverPeriod(int nBlocksCount); +CBigNum GetMedianWeightOverPeriod(int nBlocksCount); unsigned int ComputeMinWork(unsigned int nBase, int64 nTime); unsigned int ComputeMinStake(unsigned int nBase, int64 nTime, unsigned int nBlockTime); int GetNumBlocksOfPeers(); @@ -847,6 +847,7 @@ class CBlock // memory only mutable std::vector vMerkleTree; + uint256 hashBlock; // Denial-of-service detection: mutable int nDoS; @@ -892,6 +893,7 @@ class CBlock vchBlockSig.clear(); vMerkleTree.clear(); nDoS = 0; + hashBlock = 0; } bool IsNull() const diff --git a/src/qt/calcdialog.cpp b/src/qt/calcdialog.cpp index b870b468b..f72a3827e 100644 --- a/src/qt/calcdialog.cpp +++ b/src/qt/calcdialog.cpp @@ -1,5 +1,7 @@ #include "calcdialog.h" #include "ui_calcdialog.h" + +#include "main.h" #include calcDialog::calcDialog(QWidget *parent) : @@ -24,21 +26,44 @@ void calcDialog::setModel(ClientModel *model) void calcDialog::pushButtonClicked() { - QString strUserSize = ui->blockSizeEdit->text(); - double dUserBlock = strUserSize.toDouble(); - double dMax = 1000; - double dReward9 = qMin(dUserBlock * 7.5 / 365 * 9, dMax); - double dReward12 = qMin(dUserBlock * 7.5 / 365 * 12, dMax); - double dReward15 = qMin(dUserBlock * 7.5 / 365 * 15, dMax); - double dReward20 = qMin(dUserBlock * 7.5 / 365 * 20, dMax); - double dReward30 = qMin(dUserBlock * 7.5 / 365 * 30, dMax); - - - ui->day9Result->setText(QString::number(dReward9)); - ui->day12Result->setText(QString::number(dReward12)); - ui->day15Result->setText(QString::number(dReward15)); - ui->day20Result->setText(QString::number(dReward20)); - ui->day30Result->setText(QString::number(dReward30)); + QLocale us(QLocale::English, QLocale::UnitedStates); + CBigNum bnMedianWeight = GetMedianWeightOverPeriod(1000); + qint64 nMedianWeight = bnMedianWeight.getint(); + + //set network text even if user amount is not valid + QString strAvgSize = QString("The median weight staked over the last 1,000 blocks is ") + us.toString(bnMedianWeight.getuint()); + ui->avgWeightResult->setText(strAvgSize); + + if(ui->blockSizeEdit->text().isEmpty()) + return; + + int nTargetDays = ui->comboBoxTargetDays->currentText().toInt(); + QString strUserSize = ui->blockSizeEdit->text(); + int nUserAmount = strUserSize.toInt(); + + //less than median weight + if(nUserAmount * nTargetDays < nMedianWeight) + { + qint64 nUserWeightAtTarget = nUserAmount * nTargetDays; + ui->avgWeightResult->setText(strAvgSize + QString(" It is recommended that you do not split your HYP. %1 HYP will yield a weight of %2 on day %3, which is %4 less weight than the median weight staked in the last 1,000 blocks.") + .arg(us.toString(nUserAmount)) + .arg(us.toString(nUserWeightAtTarget)) + .arg(us.toString(nTargetDays)) + .arg(us.toString(bnMedianWeight.getuint64() - nUserWeightAtTarget)) + ); + return; + } + + int nSplitCount = nUserAmount * nTargetDays / nMedianWeight; + int nRecommendedSize = nUserAmount / nSplitCount; + qint64 nUserWeightAtTarget = nRecommendedSize * nTargetDays; + ui->avgWeightResult->setText(strAvgSize + QString(" It is recommended that you split your %1 HYP into %2 outputs of %3 HYP. This will yield a weight of %4 on day %5.") + .arg(us.toString(nUserAmount)) + .arg(us.toString(nSplitCount)) + .arg(us.toString(nRecommendedSize)) + .arg(us.toString(nUserWeightAtTarget)) + .arg(us.toString(nTargetDays)) + ); } void calcDialog::on_buttonBox_accepted() diff --git a/src/qt/forms/calcdialog.ui b/src/qt/forms/calcdialog.ui index 4c7961b9a..7837b612e 100644 --- a/src/qt/forms/calcdialog.ui +++ b/src/qt/forms/calcdialog.ui @@ -7,7 +7,7 @@ 0 0 250 - 300 + 352 @@ -16,8 +16,8 @@ - 0 - 250 + 1 + 301 161 32 @@ -32,19 +32,6 @@ true - - - - 40 - 80 - 171 - 20 - - - - Enter Block Size - - @@ -82,152 +69,7 @@ 1 - Calculate Optimal Block Sizes by Seeing Potential Reward - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 40 - 130 - 41 - 21 - - - - 1 - - - 9 Days: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 100 - 130 - 41 - 21 - - - - 1 - - - 0 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 40 - 100 - 81 - 23 - - - - Calculate - - - - - - 40 - 150 - 51 - 21 - - - - 1 - - - 12 Days: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 40 - 170 - 51 - 21 - - - - 1 - - - 15 Days: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 40 - 190 - 51 - 21 - - - - 1 - - - 20 Days: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 100 - 150 - 41 - 21 - - - - 1 - - - 0 + Calculate optimal stake input sizing based on current network statistics Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop @@ -236,93 +78,102 @@ true - + - 100 - 170 - 41 - 21 + 30 + 180 + 191 + 121 - - 1 - - - 0 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - + + + + + 1 + + + + + + Qt::AlignJustify|Qt::AlignTop + + + true + + + + - + - 100 - 190 - 41 - 21 - - - - 1 - - - 0 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 40 - 210 - 51 - 21 - - - - 1 - - - 30 Days: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 100 - 210 - 41 - 21 + 30 + 80 + 191 + 81 - - 1 - - - 0 - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - + + + + + Target Days To Stake: + + + + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + + + + HYP + + + + + + + Amount of HYP to Split + + + + + + + Calculate + + + + From c251c40d39b2718ceaaa640b1cd6d624e2c24efc Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 30 Jun 2017 13:36:56 -0600 Subject: [PATCH 456/555] Adjust coin control weight display to be simpler, adjust stake time estimate to be less --- src/kernel.cpp | 4 +- src/qt/bitcoingui.cpp | 2 +- src/qt/coincontroldialog.cpp | 74 +++--------------------------------- 3 files changed, 9 insertions(+), 71 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index c894312bc..804931f14 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -35,11 +35,11 @@ int64 GetWeight(int64 nIntervalBeginning, int64 nIntervalEnd) return min(nIntervalEnd - nIntervalBeginning - nStakeMinAge, (int64)nStakeMaxAge); } -// Get time weight 2 - This is added for informational purposes since staking takes 8.8 days min approx. because of bug +// Get time weight 2 - This calculation is technically incorrect and is dumbed down math that is easier for the general public to understand int64 GetWeight2(int64 nIntervalBeginning, int64 nIntervalEnd) { int64 nTimePassed = nIntervalEnd - nIntervalBeginning; - return min(nTimePassed, (int64)nStakeMaxAge) - nStakeMinAge; + return min(nTimePassed, (int64)nStakeMaxAge); } // Get the last stake modifier and its generation time from a given block diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index c69c93bc3..452c79c66 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -1216,7 +1216,7 @@ void BitcoinGUI::updateMintingIcon() else if (nLastCoinStakeSearchInterval) { uint64 nAccuracyAdjustment = 1; // this is a manual adjustment param if needed to make more accurate - uint64 nEstimateTime = nStakeTargetSpacing * nNetworkWeight / nWeight / nAccuracyAdjustment; + uint64 nEstimateTime = 60 * nNetworkWeight / nWeight / nAccuracyAdjustment; uint64 nRangeLow = nEstimateTime; uint64 nRangeHigh = nEstimateTime * 1.5; diff --git a/src/qt/coincontroldialog.cpp b/src/qt/coincontroldialog.cpp index 0de941f58..164f4de44 100644 --- a/src/qt/coincontroldialog.cpp +++ b/src/qt/coincontroldialog.cpp @@ -38,9 +38,7 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : QAction *copyAddressAction = new QAction(tr("Copy address"), this); QAction *copyLabelAction = new QAction(tr("Copy label"), this); QAction *copyAmountAction = new QAction(tr("Copy amount"), this); - copyTransactionHashAction = new QAction(tr("Copy transaction ID"), this); // we need to enable/disable this - //lockAction = new QAction(tr("Lock unspent"), this); // we need to enable/disable this - //unlockAction = new QAction(tr("Unlock unspent"), this); // we need to enable/disable this + copyTransactionHashAction = new QAction(tr("Copy transaction ID"), this); // we need to enable/disable this // context menu contextMenu = new QMenu(); @@ -48,9 +46,6 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : contextMenu->addAction(copyLabelAction); contextMenu->addAction(copyAmountAction); contextMenu->addAction(copyTransactionHashAction); - //contextMenu->addSeparator(); - //contextMenu->addAction(lockAction); - //contextMenu->addAction(unlockAction); // context menu signals connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showMenu(QPoint))); @@ -58,8 +53,6 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : connect(copyLabelAction, SIGNAL(triggered()), this, SLOT(copyLabel())); connect(copyAmountAction, SIGNAL(triggered()), this, SLOT(copyAmount())); connect(copyTransactionHashAction, SIGNAL(triggered()), this, SLOT(copyTransactionHash())); - //connect(lockAction, SIGNAL(triggered()), this, SLOT(lockCoin())); - //connect(unlockAction, SIGNAL(triggered()), this, SLOT(unlockCoin())); // clipboard actions QAction *clipboardQuantityAction = new QAction(tr("Copy quantity"), this); @@ -98,9 +91,9 @@ CoinControlDialog::CoinControlDialog(QWidget *parent) : // click on header #if QT_VERSION < 0x050000 - ui->treeWidget->header()->setClickable(true); + ui->treeWidget->header()->setClickable(true); #else - ui->treeWidget->header()->setSectionsClickable(true); + ui->treeWidget->header()->setSectionsClickable(true); #endif connect(ui->treeWidget->header(), SIGNAL(sectionClicked(int)), this, SLOT(headerSectionClicked(int))); @@ -155,7 +148,6 @@ void CoinControlDialog::setModel(WalletModel *model) if(model && model->getOptionsModel() && model->getAddressTableModel()) { updateView(); - //updateLabelLocked(); CoinControlDialog::updateLabels(model, this); } } @@ -310,22 +302,10 @@ void CoinControlDialog::showMenu(const QPoint &point) if (item->text(COLUMN_TXHASH).length() == 64) // transaction hash is 64 characters (this means its a child node, so its not a parent node in tree mode) { copyTransactionHashAction->setEnabled(true); - //if (model->isLockedCoin(uint256(item->text(COLUMN_TXHASH).toStdString()), item->text(COLUMN_VOUT_INDEX).toUInt())) - //{ - // lockAction->setEnabled(false); - // unlockAction->setEnabled(true); - //} - //else - //{ - // lockAction->setEnabled(true); - // unlockAction->setEnabled(false); - //} } else // this means click on parent node in tree mode -> disable all { copyTransactionHashAction->setEnabled(false); - //lockAction->setEnabled(false); - //unlockAction->setEnabled(false); } // show context menu @@ -363,29 +343,6 @@ void CoinControlDialog::copyTransactionHash() QApplication::clipboard()->setText(contextMenuItem->text(COLUMN_TXHASH)); } -// context menu action: lock coin -/*void CoinControlDialog::lockCoin() -{ - if (contextMenuItem->checkState(COLUMN_CHECKBOX) == Qt::Checked) - contextMenuItem->setCheckState(COLUMN_CHECKBOX, Qt::Unchecked); - - COutPoint outpt(uint256(contextMenuItem->text(COLUMN_TXHASH).toStdString()), contextMenuItem->text(COLUMN_VOUT_INDEX).toUInt()); - model->lockCoin(outpt); - contextMenuItem->setDisabled(true); - contextMenuItem->setIcon(COLUMN_CHECKBOX, QIcon(":/icons/lock_closed")); - updateLabelLocked(); -}*/ - -// context menu action: unlock coin -/*void CoinControlDialog::unlockCoin() -{ - COutPoint outpt(uint256(contextMenuItem->text(COLUMN_TXHASH).toStdString()), contextMenuItem->text(COLUMN_VOUT_INDEX).toUInt()); - model->unlockCoin(outpt); - contextMenuItem->setDisabled(false); - contextMenuItem->setIcon(COLUMN_CHECKBOX, QIcon()); - updateLabelLocked(); -}*/ - // copy label "Quantity" to clipboard void CoinControlDialog::clipboardQuantity() { @@ -528,19 +485,6 @@ QString CoinControlDialog::getPriorityLabel(double dPriority) } } -// shows count of locked unspent outputs -/*void CoinControlDialog::updateLabelLocked() -{ - vector vOutpts; - model->listLockedCoins(vOutpts); - if (vOutpts.size() > 0) - { - ui->labelLocked->setText(tr("(%1 locked)").arg(vOutpts.size())); - ui->labelLocked->setVisible(true); - } - else ui->labelLocked->setVisible(false); -}*/ - void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) { if (!model) return; @@ -696,11 +640,6 @@ void CoinControlDialog::updateLabels(WalletModel *model, QDialog* dialog) l7->setStyleSheet((fLowOutput) ? "color:red;" : ""); // Low Output = "yes" l8->setStyleSheet((nChange > 0 && nChange < CENT) ? "color:red;" : ""); // Change < 0.01BTC - //l5->setProperty("error", (nBytes >= 10000) ? true : false); // Bytes >= 10000 - //l6->setProperty("error", (dPriority <= 576000) ? true : false); // Priority < "medium" - //l7->setProperty("error", fLowOutput ? true : false); // Low Output = "yes" - //l8->setProperty("error", (nChange > 0 && nChange < CENT) ? true : false);// Change < 0.01BTC - // tool tips l5->setToolTip(tr("This label turns red, if the transaction size is bigger than 10000 bytes.\n\n This means a fee of at least %1 per kb is required.\n\n Can vary +/- 1 Byte per input.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CENT))); l6->setToolTip(tr("Transactions with higher priority get more likely into a block.\n\nThis label turns red, if the priority is smaller than \"medium\".\n\n This means a fee of at least %1 per kb is required.").arg(BitcoinUnits::formatWithUnit(nDisplayUnit, CENT))); @@ -766,7 +705,6 @@ void CoinControlDialog::updateView() double dPrioritySum = 0; int nChildren = 0; int nInputSum = 0; - uint64 nTxWeight = 0; uint64 nDisplayWeight = 0; uint64 nTxWeightSum = 0; uint64 nPotentialStakeSum = 0; @@ -779,8 +717,8 @@ void CoinControlDialog::updateView() nChildren++; //calculate weight - double nTimeWeight = min(GetTime() - out.tx->GetTxTime(), (int64)nStakeMaxAge) - nStakeMinAge; - nTxWeight = out.tx->vout[out.i].nValue / COIN * nTimeWeight / 86400; + uint64 nTxWeight; + model->getStakeWeightFromValue(out.tx->GetTxTime(), out.tx->vout[out.i].nValue, nTxWeight); double dStakeAge; if(fTestNet) @@ -883,7 +821,7 @@ void CoinControlDialog::updateView() double nTimeToMaturity = 0; if (dStakeAge - nAge >= 0 ) nTimeToMaturity = (dStakeAge - nAge); - double nEstimateTime = 90 * nNetworkWeight / nBlockWeight; // 90 seconds is block target + double nEstimateTime = 60 * nNetworkWeight / nBlockWeight; // 90 seconds is block target nEstimateTime = min((nEstimateTime + nTimeToMaturity) / 86400, double(999)); itemOutput->setText(COLUMN_TIMEESTIMATE, QString::number(nEstimateTime, 'f', 2)); From 9e0ecbce39ef3698d9243d2957b146006457b67c Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 30 Jun 2017 13:52:11 -0600 Subject: [PATCH 457/555] bump to v1.1.4 --- configure.ac | 2 +- src/clientversion.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 220aa7eee..636549bc5 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 1) -define(_CLIENT_VERSION_REVISION, 3) +define(_CLIENT_VERSION_REVISION, 4) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2014) diff --git a/src/clientversion.h b/src/clientversion.h index 91af90b26..8f30281d8 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,7 +16,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 3 +#define CLIENT_VERSION_REVISION 4 #define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build diff --git a/src/version.cpp b/src/version.cpp index 2a8229e2c..64d76ccb0 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.3.0" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.4.0" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 0490d1f4e..6a7b435b1 100644 --- a/src/version.h +++ b/src/version.h @@ -33,7 +33,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 -#define DISPLAY_VERSION_REVISION 3 +#define DISPLAY_VERSION_REVISION 4 #define DISPLAY_VERSION_BUILD 0 #endif From 8ee602fdc3dc00a40d79123f250496d2fb13c757 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 30 Jun 2017 14:00:24 -0600 Subject: [PATCH 458/555] remove temporary block code --- src/main.h | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main.h b/src/main.h index ab899a2c2..49ccc337e 100644 --- a/src/main.h +++ b/src/main.h @@ -847,7 +847,6 @@ class CBlock // memory only mutable std::vector vMerkleTree; - uint256 hashBlock; // Denial-of-service detection: mutable int nDoS; @@ -893,7 +892,6 @@ class CBlock vchBlockSig.clear(); vMerkleTree.clear(); nDoS = 0; - hashBlock = 0; } bool IsNull() const @@ -903,9 +901,6 @@ class CBlock uint256 GetHash() const { - if(hashBlock != 0) - return hashBlock; - return Hash9(BEGIN(nVersion), END(nNonce)); } From 19130f4ee1b467f4bc0fe39647b463a3e4b8b847 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 15 Sep 2017 15:44:18 -0600 Subject: [PATCH 459/555] Add BIP38 encrypt/decrypt tools. --- Makefile.am | 1 + src/Makefile.am | 18 +- src/Makefile.qt.include | 4 + src/Makefile.qttest.include | 2 +- src/base58.h | 16 + src/bip38.cpp | 233 ++++ src/bip38.h | 66 + src/bitcoinrpc.cpp | 3 + src/bitcoinrpc.h | 2 + src/key.cpp | 46 +- src/key.h | 40 + src/qt/bip38tooldialog.cpp | 278 ++++ src/qt/bip38tooldialog.h | 52 + src/qt/bitcoingui.cpp | 20 +- src/qt/bitcoingui.h | 7 +- src/qt/forms/bip38tooldialog.ui | 439 ++++++ src/rpcdump.cpp | 90 ++ src/scrypt.cpp | 384 ++++++ src/scrypt.h | 9 + src/secp256k1/.gitignore | 35 + src/secp256k1/.travis.yml | 27 + src/secp256k1/COPYING | 19 + src/secp256k1/Makefile.am | 89 ++ src/secp256k1/README.md | 55 + src/secp256k1/TODO | 3 + src/secp256k1/autogen.sh | 3 + src/secp256k1/configure.ac | 284 ++++ src/secp256k1/include/secp256k1.h | 240 ++++ src/secp256k1/libsecp256k1.pc.in | 13 + src/secp256k1/nasm_lt.sh | 57 + src/secp256k1/obj/.gitignore | 0 src/secp256k1/src/bench_inv.c | 41 + src/secp256k1/src/bench_sign.c | 49 + src/secp256k1/src/bench_verify.c | 44 + src/secp256k1/src/ecdsa.h | 27 + src/secp256k1/src/ecdsa_impl.h | 205 +++ src/secp256k1/src/eckey.h | 24 + src/secp256k1/src/eckey_impl.h | 191 +++ src/secp256k1/src/ecmult.h | 19 + src/secp256k1/src/ecmult_gen.h | 19 + src/secp256k1/src/ecmult_gen_impl.h | 121 ++ src/secp256k1/src/ecmult_impl.h | 245 ++++ src/secp256k1/src/field.h | 122 ++ src/secp256k1/src/field_10x26.h | 21 + src/secp256k1/src/field_10x26_impl.h | 923 +++++++++++++ src/secp256k1/src/field_5x52.h | 21 + src/secp256k1/src/field_5x52_asm.asm | 469 +++++++ src/secp256k1/src/field_5x52_asm_impl.h | 13 + src/secp256k1/src/field_5x52_impl.h | 294 ++++ src/secp256k1/src/field_5x52_int128_impl.h | 277 ++++ src/secp256k1/src/field_gmp.h | 18 + src/secp256k1/src/field_gmp_impl.h | 180 +++ src/secp256k1/src/field_impl.h | 297 ++++ src/secp256k1/src/group.h | 120 ++ src/secp256k1/src/group_impl.h | 457 ++++++ .../src/java/org/bitcoin/NativeSecp256k1.java | 60 + .../src/java/org_bitcoin_NativeSecp256k1.c | 23 + .../src/java/org_bitcoin_NativeSecp256k1.h | 21 + src/secp256k1/src/num.h | 68 + src/secp256k1/src/num_gmp.h | 20 + src/secp256k1/src/num_gmp_impl.h | 232 ++++ src/secp256k1/src/num_impl.h | 24 + src/secp256k1/src/scalar.h | 96 ++ src/secp256k1/src/scalar_4x64.h | 17 + src/secp256k1/src/scalar_4x64_impl.h | 431 ++++++ src/secp256k1/src/scalar_8x32.h | 17 + src/secp256k1/src/scalar_8x32_impl.h | 668 +++++++++ src/secp256k1/src/scalar_impl.h | 336 +++++ src/secp256k1/src/secp256k1.c | 328 +++++ src/secp256k1/src/testrand.h | 26 + src/secp256k1/src/testrand_impl.h | 60 + src/secp256k1/src/tests.c | 1223 +++++++++++++++++ src/secp256k1/src/util.h | 81 ++ src/uint256.h | 8 + src/util.h | 19 + 75 files changed, 10475 insertions(+), 15 deletions(-) create mode 100644 src/bip38.cpp create mode 100644 src/bip38.h create mode 100644 src/qt/bip38tooldialog.cpp create mode 100644 src/qt/bip38tooldialog.h create mode 100644 src/qt/forms/bip38tooldialog.ui create mode 100644 src/scrypt.cpp create mode 100644 src/scrypt.h create mode 100644 src/secp256k1/.gitignore create mode 100644 src/secp256k1/.travis.yml create mode 100644 src/secp256k1/COPYING create mode 100644 src/secp256k1/Makefile.am create mode 100644 src/secp256k1/README.md create mode 100644 src/secp256k1/TODO create mode 100755 src/secp256k1/autogen.sh create mode 100644 src/secp256k1/configure.ac create mode 100644 src/secp256k1/include/secp256k1.h create mode 100644 src/secp256k1/libsecp256k1.pc.in create mode 100755 src/secp256k1/nasm_lt.sh create mode 100644 src/secp256k1/obj/.gitignore create mode 100644 src/secp256k1/src/bench_inv.c create mode 100644 src/secp256k1/src/bench_sign.c create mode 100644 src/secp256k1/src/bench_verify.c create mode 100644 src/secp256k1/src/ecdsa.h create mode 100644 src/secp256k1/src/ecdsa_impl.h create mode 100644 src/secp256k1/src/eckey.h create mode 100644 src/secp256k1/src/eckey_impl.h create mode 100644 src/secp256k1/src/ecmult.h create mode 100644 src/secp256k1/src/ecmult_gen.h create mode 100644 src/secp256k1/src/ecmult_gen_impl.h create mode 100644 src/secp256k1/src/ecmult_impl.h create mode 100644 src/secp256k1/src/field.h create mode 100644 src/secp256k1/src/field_10x26.h create mode 100644 src/secp256k1/src/field_10x26_impl.h create mode 100644 src/secp256k1/src/field_5x52.h create mode 100644 src/secp256k1/src/field_5x52_asm.asm create mode 100644 src/secp256k1/src/field_5x52_asm_impl.h create mode 100644 src/secp256k1/src/field_5x52_impl.h create mode 100644 src/secp256k1/src/field_5x52_int128_impl.h create mode 100644 src/secp256k1/src/field_gmp.h create mode 100644 src/secp256k1/src/field_gmp_impl.h create mode 100644 src/secp256k1/src/field_impl.h create mode 100644 src/secp256k1/src/group.h create mode 100644 src/secp256k1/src/group_impl.h create mode 100644 src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java create mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c create mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h create mode 100644 src/secp256k1/src/num.h create mode 100644 src/secp256k1/src/num_gmp.h create mode 100644 src/secp256k1/src/num_gmp_impl.h create mode 100644 src/secp256k1/src/num_impl.h create mode 100644 src/secp256k1/src/scalar.h create mode 100644 src/secp256k1/src/scalar_4x64.h create mode 100644 src/secp256k1/src/scalar_4x64_impl.h create mode 100644 src/secp256k1/src/scalar_8x32.h create mode 100644 src/secp256k1/src/scalar_8x32_impl.h create mode 100644 src/secp256k1/src/scalar_impl.h create mode 100644 src/secp256k1/src/secp256k1.c create mode 100644 src/secp256k1/src/testrand.h create mode 100644 src/secp256k1/src/testrand_impl.h create mode 100644 src/secp256k1/src/tests.c create mode 100644 src/secp256k1/src/util.h diff --git a/Makefile.am b/Makefile.am index d7f567c1f..080cf1145 100644 --- a/Makefile.am +++ b/Makefile.am @@ -37,6 +37,7 @@ COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ test_bitcoin_coverage.info test_bitcoin.info dist-hook: + -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - distcleancheck: diff --git a/src/Makefile.am b/src/Makefile.am index b5f84d4ac..98057b7ce 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,16 +1,22 @@ +DIST_SUBDIRS = secp256k1 AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) +BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include LIBBITCOIN_SERVER=libbitcoin_server.a LIBBITCOIN_WALLET=libbitcoin_wallet.a LIBBITCOIN_COMMON=libbitcoin_common.a LIBBITCOIN_UTIL=libbitcoin_util.a +LIBSECP256K1=secp256k1/libsecp256k1.la LIBBITCOINQT=qt/libbitcoinqt.a +$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) + # Make is not made aware of per-object dependencies to avoid limiting building parallelization # But to build the less dependent modules first, we manually select their order here: noinst_LIBRARIES = \ @@ -37,6 +43,7 @@ BITCOIN_CORE_H = \ allocators.h \ base58.h \ bignum.h \ + bip38.h \ bitcoinrpc.h \ checkpoints.h \ clientversion.h \ @@ -56,6 +63,7 @@ BITCOIN_CORE_H = \ pbkdf2.h \ protocol.h \ script.h \ + scrypt.h \ scrypt_mine.h \ serialize.h \ sph_blake.h \ @@ -102,6 +110,7 @@ libbitcoin_server_a_SOURCES = \ addrman.cpp \ aes_helper.c \ alert.cpp \ + bip38.cpp \ bitcoinrpc.cpp \ blake.c \ bmw.c \ @@ -122,6 +131,7 @@ libbitcoin_server_a_SOURCES = \ rpcnet.cpp \ rpcrawtransaction.cpp \ script.cpp \ + scrypt.cpp \ shavite.c \ simd.c \ skein.c \ @@ -132,11 +142,13 @@ libbitcoin_server_a_SOURCES = \ # when wallet enabled libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) libbitcoin_wallet_a_SOURCES = \ + bip38.cpp \ db.cpp \ crypter.cpp \ pbkdf2.cpp \ rpcdump.cpp \ rpcwallet.cpp \ + scrypt.cpp \ wallet.cpp \ walletdb.cpp \ $(BITCOIN_CORE_H) @@ -171,7 +183,8 @@ hyperstaked_LDADD = \ $(LIBBITCOIN_UTIL) \ $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ - $(LIBMEMENV) + $(LIBMEMENV) \ + $(LIBSECP256K1) if ENABLE_WALLET hyperstaked_LDADD += libbitcoin_wallet.a @@ -185,7 +198,7 @@ if TARGET_WINDOWS hyperstaked_SOURCES += bitcoind-res.rc endif -hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) +hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) @@ -198,6 +211,7 @@ EXTRA_DIST = clean-local: -$(MAKE) -C leveldb clean + -$(MAKE) -C secp256k1 clean -rm -f config.h .rc.o: diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 1a9d3bbfd..9651d247f 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -10,6 +10,7 @@ QT_FORMS_UI = \ qt/forms/aboutdialog.ui \ qt/forms/addressbookpage.ui \ qt/forms/askpassphrasedialog.ui \ + qt/forms/bip38tooldialog.ui \ qt/forms/blockbrowser.ui \ qt/forms/calcdialog.ui \ qt/forms/charitydialog.ui \ @@ -29,6 +30,7 @@ QT_MOC_CPP = \ qt/moc_addressbookpage.cpp \ qt/moc_addresstablemodel.cpp \ qt/moc_askpassphrasedialog.cpp \ + qt/moc_bip38tooldialog.cpp \ qt/moc_bitcoinaddressvalidator.cpp \ qt/moc_bitcoinamountfield.cpp \ qt/moc_bitcoingui.cpp \ @@ -82,6 +84,7 @@ BITCOIN_QT_H = \ qt/addressbookpage.h \ qt/addresstablemodel.h \ qt/askpassphrasedialog.h \ + qt/bip38tooldialog.h \ qt/bitcoinaddressvalidator.h \ qt/bitcoinamountfield.h \ qt/bitcoingui.h \ @@ -170,6 +173,7 @@ RES_ICONS = \ BITCOIN_QT_CPP = \ qt/aboutdialog.cpp \ + qt/bip38tooldialog.cpp \ qt/bitcoinaddressvalidator.cpp \ qt/bitcoinamountfield.cpp \ qt/bitcoingui.cpp \ diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index a14fefe9c..cc3ecf852 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -27,7 +27,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ - $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno diff --git a/src/base58.h b/src/base58.h index a3065d68f..23d51eba5 100644 --- a/src/base58.h +++ b/src/base58.h @@ -125,6 +125,22 @@ inline bool DecodeBase58(const std::string& str, std::vector& vch return DecodeBase58(str.c_str(), vchRet); } +inline std::string DecodeBase58_cstr(const char *psz) +{ + std::vector vch; + DecodeBase58(psz, vch); + std::stringstream ss; + ss << std::hex; + + for(unsigned int i = 0; i < vch.size(); i++) + { + unsigned char* c = &vch[i]; + ss << std::setw(2) << std::setfill('0') << static_cast(c[0]); + } + + return ss.str(); +} + diff --git a/src/bip38.cpp b/src/bip38.cpp new file mode 100644 index 000000000..d00b7be2b --- /dev/null +++ b/src/bip38.cpp @@ -0,0 +1,233 @@ + +#include "bip38.h" +#include "base58.h" +#include "scrypt.h" +#include "util.h" + +#include +#include +#include + +#include + +using namespace std; + +/** 39 bytes - 78 characters + * 1) Prefix - 2 bytes - 4 chars - strKey[0..3] + * 2) Flagbyte - 1 byte - 2 chars - strKey[4..5] + * 3) addresshash - 4 bytes - 8 chars - strKey[6..13] + * 4) Owner Entropy - 8 bytes - 16 chars - strKey[14..29] + * 5) Encrypted Part 1 - 8 bytes - 16 chars - strKey[30..45] + * 6) Encrypted Part 2 - 16 bytes - 32 chars - strKey[46..77] + */ + +void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output) +{ + AES_KEY key; + AES_set_decrypt_key(decryptionKey.begin(), 256, &key); + AES_decrypt(encryptedIn.begin(), output.begin(), &key); +} + +void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor) +{ + //passfactor is the scrypt hash of passphrase and ownersalt (NOTE this needs to handle alt cases too in the future) + uint64_t s = uint256(ReverseEndianString(strSalt)).Get64(); + scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(s), strSalt.size() / 2, BEGIN(prefactor), 16384, 8, 8, 32); +} + +void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor) +{ + //concat prefactor and ownersalt + uint512 temp(ReverseEndianString(HexStr(prefactor) + ownersalt)); + Hash(temp.begin(), 40, passfactor.begin()); //40 bytes is the length of prefactor + salt + Hash(passfactor.begin(), 32, passfactor.begin()); +} + +bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint) +{ + //passpoint is the ec_mult of passfactor on secp256k1 + int clen = 65; + return secp256k1_ec_pubkey_create(UBEGIN(passpoint), &clen, passfactor.begin(), true) != 0; +} + +void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass) +{ + // Derive decryption key for seedb using scrypt with passpoint, addresshash, and ownerentropy + string salt = ReverseEndianString(strAddressHash + strOwnerSalt); + uint256 s2(salt); + scrypt(BEGIN(passpoint), HexStr(passpoint).size() / 2, BEGIN(s2), salt.size() / 2, BEGIN(seedBPass), 1024, 1, 1, 64); +} + +void ComputeFactorB(uint256 seedB, uint256& factorB) +{ + //factorB - a double sha256 hash of seedb + Hash(seedB.begin(), 24, factorB.begin()); //seedB is only 24 bytes + Hash(factorB.begin(), 32, factorB.begin()); +} + +std::string AddressToBip38Hash(std::string address) +{ + uint256 addrCheck; + Hash((void*)address.c_str(), address.size(), addrCheck.begin()); + Hash(addrCheck.begin(), 32, addrCheck.begin()); + + return HexStr(addrCheck).substr(0, 8); +} + +std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey) +{ + printf("***priv key 79 %s\n", privKey.GetHex().c_str()); + string strAddressHash = AddressToBip38Hash(strAddress); + + uint512 hashed; + uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); + scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); + + uint256 derivedHalf1(hashed.ToString().substr(64, 64)); + uint256 derivedHalf2(hashed.ToString().substr(0, 64)); + + //block1 = (pointb[1...16] xor derivedhalf1[0...15]) + uint256 block1 = uint256((privKey << 128) ^ (derivedHalf1 << 128)) >> 128; + + //encrypt part 1 + uint512 encrypted1; + AES_KEY key; + AES_set_encrypt_key(derivedHalf2.begin(), 256, &key); + AES_encrypt(block1.begin(), encrypted1.begin(), &key); + + //block2 = (pointb[17...32] xor derivedhalf1[16...31] + uint256 p2 = privKey >> 128; + uint256 dh12 = derivedHalf1 >> 128; + uint256 block2 = uint256(p2 ^ dh12); + + //encrypt part 2 + uint512 encrypted2; + AES_encrypt(block2.begin(), encrypted2.begin(), &key); + + uint512 encryptedKey(ReverseEndianString("0142E0" + strAddressHash)); + + //add encrypted1 to the end of encryptedKey + encryptedKey = encryptedKey | (encrypted1 << 56); + + //add encrypted2 to the end of encryptedKey + encryptedKey = encryptedKey | (encrypted2 << (56 + 128)); + + //TODO: ensure +43 works on different OS + return EncodeBase58(encryptedKey.begin(), encryptedKey.begin() + 43); +} + +bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint256& privKey, bool& fCompressed) +{ + std::string strKey = DecodeBase58_cstr(strEncryptedKey.c_str()); + + //incorrect encoding of key, it must be 39 bytes - and another 4 bytes for base58 checksum + if (strKey.size() != (78 + 8)) + return false; + + //invalid prefix + if (uint256(ReverseEndianString(strKey.substr(0, 2))) != uint256(0x01)) + return false; + + uint256 type(ReverseEndianString(strKey.substr(2, 2))); + uint256 flag(ReverseEndianString(strKey.substr(4, 2))); + std::string strAddressHash = strKey.substr(6, 8); + std::string ownersalt = strKey.substr(14, 16); + uint256 encryptedPart1(ReverseEndianString(strKey.substr(30, 16))); + uint256 encryptedPart2(ReverseEndianString(strKey.substr(46, 32))); + + fCompressed = (flag & uint256(0x20)) != 0; + + //not ec multiplied + if (type == uint256(0x42)) { + uint512 hashed; + encryptedPart1 = uint256(ReverseEndianString(strKey.substr(14, 32))); + uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); + scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); + + uint256 derivedHalf1(hashed.ToString().substr(64, 64)); + uint256 derivedHalf2(hashed.ToString().substr(0, 64)); + + uint256 decryptedPart1; + DecryptAES(encryptedPart1, derivedHalf2, decryptedPart1); + + uint256 decryptedPart2; + DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); + + //combine decrypted parts into 64 bytes + uint256 temp1 = decryptedPart2 << 128; + temp1 = temp1 | decryptedPart1; + + //xor the decryption with the derived half 1 for the final key + privKey = temp1 ^ derivedHalf1; + + return true; + } else if (type != uint256(0x43)) //invalid type + return false; + + bool fLotSequence = (flag & 0x04) != 0; + + std::string prefactorSalt = ownersalt; + if (fLotSequence) + prefactorSalt = ownersalt.substr(0, 8); + + uint256 prefactor; + ComputePreFactor(strPassphrase, prefactorSalt, prefactor); + + uint256 passfactor; + if (fLotSequence) + ComputePassfactor(ownersalt, prefactor, passfactor); + else + passfactor = prefactor; + + CPubKey passpoint; + if (!ComputePasspoint(passfactor, passpoint)) + return false; + + uint512 seedBPass; + ComputeSeedBPass(passpoint, strAddressHash, ownersalt, seedBPass); + + //get derived halfs, being mindful for endian switch + uint256 derivedHalf1(seedBPass.ToString().substr(64, 64)); + uint256 derivedHalf2(seedBPass.ToString().substr(0, 64)); + + /** Decrypt encryptedpart2 using AES256Decrypt to yield the last 8 bytes of seedb and the last 8 bytes of encryptedpart1. **/ + uint256 decryptedPart2; + DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); + + //xor decryptedPart2 and 2nd half of derived half 1 + uint256 x0 = derivedHalf1 >> 128; //drop off the first half (note: endian) + uint256 x1 = decryptedPart2 ^ x0; + uint256 seedbPart2 = x1 >> 64; + + /** Decrypt encryptedpart1 to yield the remainder of seedb. **/ + uint256 decryptedPart1; + uint256 x2 = x1 & uint256("0xffffffffffffffff"); // set x2 to seedbPart1 (still encrypted) + x2 = x2 << 64; //make room to add encryptedPart1 to the front + x2 = encryptedPart1 | x2; //combine with encryptedPart1 + DecryptAES(x2, derivedHalf2, decryptedPart1); + + //decrypted part 1: seedb[0..15] xor derivedhalf1[0..15] + uint256 x3 = derivedHalf1 & uint256("0xffffffffffffffffffffffffffffffff"); + uint256 seedbPart1 = decryptedPart1 ^ x3; + uint256 seedB = seedbPart1 | (seedbPart2 << 128); + + uint256 factorB; + ComputeFactorB(seedB, factorB); + + //multiply passfactor by factorb mod N to yield the priv key + privKey = factorB; + if (!secp256k1_ec_privkey_tweak_mul(privKey.begin(), passfactor.begin())) + return false; + +// CBigNum bnFactorB(factorB); +// CBigNum bnPriv = bnFactorB.mul_mod(); + + //double check that the address hash matches our final privkey + CKey k; + k.SetPrivKey(static_cast(privKey.begin()), privKey.size()); + //k.Set(privKey.begin(), privKey.end(), fCompressed); + CPubKey pubkey = k.GetPubKey(); + string address = CBitcoinAddress(pubkey.GetID()).ToString(); + + return strAddressHash == AddressToBip38Hash(address); +} diff --git a/src/bip38.h b/src/bip38.h new file mode 100644 index 000000000..0e84900b8 --- /dev/null +++ b/src/bip38.h @@ -0,0 +1,66 @@ +#ifndef BITCOIN_BIP38_H +#define BITCOIN_BIP38_H + +#include "key.h" +#include "uint256.h" + +#include +#include +#include + +#include + +/** 39 bytes - 78 characters + * 1) Prefix - 2 bytes - 4 chars - strKey[0..3] + * 2) Flagbyte - 1 byte - 2 chars - strKey[4..5] + * 3) addresshash - 4 bytes - 8 chars - strKey[6..13] + * 4) Owner Entropy - 8 bytes - 16 chars - strKey[14..29] + * 5) Encrypted Part 1 - 8 bytes - 16 chars - strKey[30..45] + * 6) Encrypted Part 2 - 16 bytes - 32 chars - strKey[46..77] + */ + +void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output); + +void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor); + +void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor); + +bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint); + + +void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass); + + +void ComputeFactorB(uint256 seedB, uint256& factorB); + +std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey); +bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint256& privKey, bool& fCompressed); + +std::string AddressToBip38Hash(std::string address); + +/** Compute the 256-bit hash of a std::string */ +inline std::string Hash(std::string input) +{ + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + SHA256_Init(&sha256); + SHA256_Update(&sha256, input.c_str(), input.size()); + SHA256_Final(hash, &sha256); + std::stringstream ss; + for(int i = 0; i < SHA256_DIGEST_LENGTH; i++) + { + ss << std::hex << std::setw(2) << std::setfill('0') << static_cast(hash[i]); + } + return ss.str(); +} + +/** Compute the 256-bit hash of a void pointer */ +inline void Hash(void* in, unsigned int len, unsigned char* out) +{ + SHA256_CTX sha256; + SHA256_Init(&sha256); + SHA256_Update(&sha256, in, len); + SHA256_Final(out, &sha256); +} + +#endif // BIP38_H diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index fbdcac9f0..9804930f2 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -290,6 +290,9 @@ static const CRPCCommand vRPCCommands[] = { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, + { "bip38encrypt", &bip38encrypt, false, false }, + { "bip38decrypt", &bip38decrypt, false, false } + }; CRPCTable::CRPCTable() diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 3def06ac8..51cf6cb62 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -142,6 +142,8 @@ extern json_spirit::Value getaddednodeinfo(const json_spirit::Array& params, boo extern json_spirit::Value dumpprivkey(const json_spirit::Array& params, bool fHelp); // in rpcdump.cpp extern json_spirit::Value importprivkey(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value sendalert(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value bip38encrypt(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value bip38decrypt(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getgenerate(const json_spirit::Array& params, bool fHelp); // in rpcmining.cpp extern json_spirit::Value setgenerate(const json_spirit::Array& params, bool fHelp); diff --git a/src/key.cpp b/src/key.cpp index 0b35e97cc..4f3efabf8 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -8,6 +8,7 @@ #include #include "key.h" +#include "bignum.h" // Generate a private key from just the secret parameter int EC_KEY_regenerate_key(EC_KEY *eckey, BIGNUM *priv_key) @@ -183,10 +184,9 @@ void CKey::MakeNewKey(bool fCompressed) fSet = true; } -bool CKey::SetPrivKey(const CPrivKey& vchPrivKey) +bool CKey::SetPrivKey(const unsigned char* pbegin, unsigned int size) { - const unsigned char* pbegin = &vchPrivKey[0]; - if (d2i_ECPrivateKey(&pkey, &pbegin, vchPrivKey.size())) + if (d2i_ECPrivateKey(&pkey, &pbegin, size)) { // In testing, d2i_ECPrivateKey can return true // but fill in pkey with a key that fails @@ -206,6 +206,11 @@ bool CKey::SetPrivKey(const CPrivKey& vchPrivKey) return false; } +bool CKey::SetPrivKey(const CPrivKey& vchPrivKey) +{ + return SetPrivKey(&vchPrivKey[0], vchPrivKey.size()); +} + bool CKey::SetSecret(const CSecret& vchSecret, bool fCompressed) { EC_KEY_free(pkey); @@ -256,6 +261,41 @@ CPrivKey CKey::GetPrivKey() const return vchPrivKey; } +uint256 CKey::GetPrivKey_256() const +{ + bool fCompressed; + CSecret pk = GetSecret(fCompressed); + const BIGNUM* big = EC_KEY_get0_private_key(pkey); + void* vp = (void*)big; + CBigNum* bnPriv = (CBigNum*)vp; + + return bnPriv->getuint256(); +} + +bool CKey::SetPrivKey_Raw(const uint256& privKey, bool fCompressed) +{ + CBigNum bnPrivKey(privKey); + void* vp = (void*)&bnPrivKey; + BIGNUM* bn = (BIGNUM*)vp; + + EC_KEY_free(pkey); + pkey = EC_KEY_new_by_curve_name(NID_secp256k1); + if (pkey == NULL) + throw key_error("CKey::SetSecret() : EC_KEY_new_by_curve_name failed"); + if (bn == NULL) + throw key_error("CKey::SetSecret() : BN_bin2bn failed"); + if (!EC_KEY_regenerate_key(pkey,bn)) + { + BN_clear_free(bn); + throw key_error("CKey::SetSecret() : EC_KEY_regenerate_key failed"); + } + BN_clear_free(bn); + fSet = true; + if (fCompressed || fCompressedPubKey) + SetCompressedPubKey(); + return true; +} + bool CKey::SetPubKey(const CPubKey& vchPubKey) { const unsigned char* pbegin = &vchPubKey.vchPubKey[0]; diff --git a/src/key.h b/src/key.h index c98f52ed0..2e3bc45a7 100644 --- a/src/key.h +++ b/src/key.h @@ -66,6 +66,22 @@ class CPubKey { std::vector vchPubKey; friend class CKey; + //! Compute the length of a pubkey with a given first byte. + unsigned int static GetLen(unsigned char chHeader) + { + if (chHeader == 2 || chHeader == 3) + return 33; + if (chHeader == 4 || chHeader == 6 || chHeader == 7) + return 65; + return 0; + } + + //! Set this key data to be invalid + void Invalidate() + { + vchPubKey[0] = 0xFF; + } + public: CPubKey() { } CPubKey(const std::vector &vchPubKeyIn) : vchPubKey(vchPubKeyIn) { } @@ -73,6 +89,10 @@ class CPubKey { friend bool operator!=(const CPubKey &a, const CPubKey &b) { return a.vchPubKey != b.vchPubKey; } friend bool operator<(const CPubKey &a, const CPubKey &b) { return a.vchPubKey < b.vchPubKey; } + unsigned int size() const { return GetLen(vchPubKey[0]); } + const unsigned char* begin() const { return static_cast(&vchPubKey[0]); } + const unsigned char* end() const { return begin() + size(); } + IMPLEMENT_SERIALIZE( READWRITE(vchPubKey); ) @@ -96,6 +116,23 @@ class CPubKey { std::vector Raw() const { return vchPubKey; } + + //! Initialize a public key using begin/end iterators to byte data. + template + void Set(const T pbegin, const T pend) + { + int len = pend == pbegin ? 0 : GetLen(pbegin[0]); + if (len && len == (pend - pbegin)) { + //memcpy(vchPubKey, (unsigned char*)&pbegin[0], len); + vchPubKey.clear(); + for(unsigned int i = 0; i < len; ++i) + { + vchPubKey[i] = pbegin[i]; + } + } + else + Invalidate(); + } }; @@ -130,10 +167,13 @@ class CKey bool IsCompressed() const; void MakeNewKey(bool fCompressed); + bool SetPrivKey(const unsigned char* pbegin, unsigned int size); bool SetPrivKey(const CPrivKey& vchPrivKey); + bool SetPrivKey_Raw(const uint256& privKey, bool fCompressed); bool SetSecret(const CSecret& vchSecret, bool fCompressed = false); CSecret GetSecret(bool &fCompressed) const; CPrivKey GetPrivKey() const; + uint256 GetPrivKey_256() const; bool SetPubKey(const CPubKey& vchPubKey); CPubKey GetPubKey() const; diff --git a/src/qt/bip38tooldialog.cpp b/src/qt/bip38tooldialog.cpp new file mode 100644 index 000000000..65cfe6bb9 --- /dev/null +++ b/src/qt/bip38tooldialog.cpp @@ -0,0 +1,278 @@ +// Copyright (c) 2011-2014 The Bitcoin developers +// Copyright (c) 2014-2015 The Dash developers +// Copyright (c) 2015-2017 The PIVX developers +// Copyright (c) 2017 The HyperStake developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "bip38tooldialog.h" +#include "ui_bip38tooldialog.h" + +#include "addressbookpage.h" +#include "guiutil.h" +#include "walletmodel.h" + +#include "base58.h" +#include "bip38.h" +#include "init.h" +#include "wallet.h" + +#include +#include + +#include + +Bip38ToolDialog::Bip38ToolDialog(QWidget* parent) : QDialog(parent), + ui(new Ui::Bip38ToolDialog), + model(0) +{ + ui->setupUi(this); + +#if QT_VERSION >= 0x040700 + ui->decryptedKeyOut_DEC->setPlaceholderText(tr("Click \"Decrypt Key\" to compute key")); +#endif + + GUIUtil::setupAddressWidget(ui->addressIn_ENC, this); + ui->addressIn_ENC->installEventFilter(this); + ui->passphraseIn_ENC->installEventFilter(this); + ui->encryptedKeyOut_ENC->installEventFilter(this); + ui->encryptedKeyIn_DEC->installEventFilter(this); + ui->passphraseIn_DEC->installEventFilter(this); + ui->decryptedKeyOut_DEC->installEventFilter(this); +} + +Bip38ToolDialog::~Bip38ToolDialog() +{ + delete ui; +} + +void Bip38ToolDialog::setModel(WalletModel* model) +{ + this->model = model; +} + +void Bip38ToolDialog::setAddress_ENC(const QString& address) +{ + ui->addressIn_ENC->setText(address); + ui->passphraseIn_ENC->setFocus(); +} + +void Bip38ToolDialog::setAddress_DEC(const QString& address) +{ + ui->encryptedKeyIn_DEC->setText(address); + ui->passphraseIn_DEC->setFocus(); +} + +void Bip38ToolDialog::showTab_ENC(bool fShow) +{ + ui->tabWidget->setCurrentIndex(0); + if (fShow) + this->show(); +} + +void Bip38ToolDialog::showTab_DEC(bool fShow) +{ + ui->tabWidget->setCurrentIndex(1); + if (fShow) + this->show(); +} + +void Bip38ToolDialog::on_addressBookButton_ENC_clicked() +{ + if (model && model->getAddressTableModel()) + { + AddressBookPage dlg(AddressBookPage::ForSending, AddressBookPage::ReceivingTab, this); + dlg.setModel(model->getAddressTableModel()); + if (dlg.exec()) + { + setAddress_ENC(dlg.getReturnValue()); + } + } +} + +void Bip38ToolDialog::on_pasteButton_ENC_clicked() +{ + setAddress_ENC(QApplication::clipboard()->text()); +} + +QString specialChar = "\"@!#$%&'()*+,-./:;<=>?`{|}~^_[]\\"; +QString validChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" + specialChar; +bool isValidPassphrase(QString strPassphrase, QString& strInvalid) +{ + for (int i = 0; i < strPassphrase.size(); i++) { + if (!validChar.contains(strPassphrase[i], Qt::CaseSensitive)) { + if (QString("\"'").contains(strPassphrase[i])) + continue; + + strInvalid = strPassphrase[i]; + return false; + } + } + + return true; +} + +void Bip38ToolDialog::on_encryptKeyButton_ENC_clicked() +{ + if (!model) + return; + + QString qstrPassphrase = ui->passphraseIn_ENC->text(); + QString strInvalid; + if (!isValidPassphrase(qstrPassphrase, strInvalid)) { + ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_ENC->setText(tr("The entered passphrase is invalid. ") + strInvalid + QString(" is not valid") + QString(" ") + tr("Allowed: 0-9,a-z,A-Z,") + specialChar); + return; + } + + CBitcoinAddress addr(ui->addressIn_ENC->text().toStdString()); + if (!addr.IsValid()) { + ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_ENC->setText(tr("The entered address is invalid.") + QString(" ") + tr("Please check the address and try again.")); + return; + } + + CKeyID keyID; + if (!addr.GetKeyID(keyID)) { + ui->addressIn_ENC->setValid(false); + ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_ENC->setText(tr("The entered address does not refer to a key.") + QString(" ") + tr("Please check the address and try again.")); + return; + } + + WalletModel::UnlockContext ctx(model->requestUnlock()); + if (!ctx.isValid()) { + ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_ENC->setText(tr("Wallet unlock was cancelled.")); + return; + } + + CKey key; + if (!pwalletMain->GetKey(keyID, key)) { + ui->statusLabel_ENC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_ENC->setText(tr("Private key for the entered address is not available.")); + return; + } + + std::string encryptedKey = BIP38_Encrypt(addr.ToString(), qstrPassphrase.toStdString(), key.GetPrivKey_256()); + ui->encryptedKeyOut_ENC->setText(QString::fromStdString(encryptedKey)); +} + +void Bip38ToolDialog::on_copyKeyButton_ENC_clicked() +{ + QApplication::clipboard()->setText(ui->encryptedKeyOut_ENC->text()); +} + +void Bip38ToolDialog::on_clearButton_ENC_clicked() +{ + ui->addressIn_ENC->clear(); + ui->passphraseIn_ENC->clear(); + ui->encryptedKeyOut_ENC->clear(); + ui->statusLabel_ENC->clear(); + + ui->addressIn_ENC->setFocus(); +} + +CKey key; +void Bip38ToolDialog::on_decryptKeyButton_DEC_clicked() +{ + std::string strPassphrase = ui->passphraseIn_DEC->text().toStdString(); + std::string strKey = ui->encryptedKeyIn_DEC->text().toStdString(); + + uint256 privKey; + bool fCompressed; + if (!BIP38_Decrypt(strPassphrase, strKey, privKey, fCompressed)) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Failed to decrypt.") + QString(" ") + tr("Please check the key and passphrase and try again.")); + return; + } + + if (!key.SetPrivKey_Raw(privKey, fCompressed)) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Failed to set private key.")); + return; + } + + CPubKey pubKey = key.GetPubKey(); + CBitcoinAddress address(pubKey.GetID()); + + ui->decryptedKeyOut_DEC->setText(QString::fromStdString(HexStr(privKey))); + ui->addressOut_DEC->setText(QString::fromStdString(address.ToString())); +} + +void Bip38ToolDialog::on_importAddressButton_DEC_clicked() +{ + WalletModel::UnlockContext ctx(model->requestUnlock()); + if (!ctx.isValid()) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Wallet unlock was cancelled.")); + return; + } + + CBitcoinAddress address(ui->addressOut_DEC->text().toStdString()); + CPubKey pubkey = key.GetPubKey(); + + if (!address.IsValid() || !key.IsValid() || CBitcoinAddress(pubkey.GetID()).ToString() != address.ToString()) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Data Not Valid.") + QString(" ") + tr("Please try again.")); + return; + } + + CKeyID vchAddress = pubkey.GetID(); + { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Please wait while key is imported")); + + pwalletMain->MarkDirty(); + pwalletMain->SetAddressBookName(vchAddress, ""); + + // Don't throw error in case a key is already there + if (pwalletMain->HaveKey(vchAddress)) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Key Already Held By Wallet")); + return; + } + + if (!pwalletMain->AddKey(key)) { + ui->statusLabel_DEC->setStyleSheet("QLabel { color: red; }"); + ui->statusLabel_DEC->setText(tr("Error Adding Key To Wallet")); + return; + } + + // whenever a key is imported, we need to scan the whole chain + pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true); + } + + ui->statusLabel_DEC->setStyleSheet("QLabel { color: green; }"); + ui->statusLabel_DEC->setText(tr("Successfully Added Private Key To Wallet")); +} + +void Bip38ToolDialog::on_clearButton_DEC_clicked() +{ + ui->encryptedKeyIn_DEC->clear(); + ui->decryptedKeyOut_DEC->clear(); + ui->passphraseIn_DEC->clear(); + ui->statusLabel_DEC->clear(); + + ui->encryptedKeyIn_DEC->setFocus(); +} + +bool Bip38ToolDialog::eventFilter(QObject* object, QEvent* event) +{ + if (event->type() == QEvent::MouseButtonPress || event->type() == QEvent::FocusIn) { + if (ui->tabWidget->currentIndex() == 0) { + /* Clear status message on focus change */ + ui->statusLabel_ENC->clear(); + + /* Select generated signature */ + if (object == ui->encryptedKeyOut_ENC) { + ui->encryptedKeyOut_ENC->selectAll(); + return true; + } + } else if (ui->tabWidget->currentIndex() == 1) { + /* Clear status message on focus change */ + ui->statusLabel_DEC->clear(); + } + } + return QDialog::eventFilter(object, event); +} diff --git a/src/qt/bip38tooldialog.h b/src/qt/bip38tooldialog.h new file mode 100644 index 000000000..06f7b5640 --- /dev/null +++ b/src/qt/bip38tooldialog.h @@ -0,0 +1,52 @@ +// Copyright (c) 2017 The PIVX developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef BITCOIN_QT_BIP38DIALOG_H +#define BITCOIN_QT_BIP38DIALOG_H + +#include + +class WalletModel; + +namespace Ui +{ +class Bip38ToolDialog; +} + +class Bip38ToolDialog : public QDialog +{ + Q_OBJECT + +public: + explicit Bip38ToolDialog(QWidget* parent); + ~Bip38ToolDialog(); + + void setModel(WalletModel* model); + void setAddress_ENC(const QString& address); + void setAddress_DEC(const QString& address); + + void showTab_ENC(bool fShow); + void showTab_DEC(bool fShow); + +protected: + bool eventFilter(QObject* object, QEvent* event); + +private: + Ui::Bip38ToolDialog* ui; + WalletModel* model; + +private slots: + /* encrypt key */ + void on_addressBookButton_ENC_clicked(); + void on_pasteButton_ENC_clicked(); + void on_encryptKeyButton_ENC_clicked(); + void on_copyKeyButton_ENC_clicked(); + void on_clearButton_ENC_clicked(); + /* decrypt key */ + void on_decryptKeyButton_DEC_clicked(); + void on_importAddressButton_DEC_clicked(); + void on_clearButton_DEC_clicked(); +}; + +#endif // BITCOIN_QT_BIP38TOOLDIALOG_H diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 452c79c66..67ff3c639 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -4,6 +4,7 @@ * W.J. van der Laan 2011-2012 * The Bitcoin Developers 2011-2012 */ +#include "bip38tooldialog.h" #include "bitcoingui.h" #include "transactiontablemodel.h" #include "addressbookpage.h" @@ -83,6 +84,7 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): unlockWalletAction(0), changePassphraseAction(0), lockWalletToggleAction(0), + bip38ToolAction(0), aboutQtAction(0), trayIcon(0), trayIconMenu(0), @@ -137,17 +139,11 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): transactionsPage->setLayout(vbox); addressBookPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::SendingTab); - receiveCoinsPage = new AddressBookPage(AddressBookPage::ForEditing, AddressBookPage::ReceivingTab); - sendCoinsPage = new SendCoinsDialog(this); - signVerifyMessageDialog = new SignVerifyMessageDialog(this); - + bip38Dialog = new Bip38ToolDialog(this); stakeForCharityDialog = new StakeForCharityDialog(this); - - - blockBrowser = new BlockBrowser((this)); centralWidget = new QStackedWidget(this); @@ -347,6 +343,8 @@ void BitcoinGUI::createActions() lockWalletToggleAction = new QAction(this); signMessageAction = new QAction(QIcon(":/icons/edit"), tr("Sign &message..."), this); verifyMessageAction = new QAction(QIcon(":/icons/transaction_0"), tr("&Verify message..."), this); + bip38ToolAction = new QAction(QIcon(":/icons/key"), tr("&BIP38 tool"), this); + bip38ToolAction->setToolTip(tr("Encrypt and decrypt private keys using a passphrase")); checkWalletAction = new QAction(QIcon(":/icons/transaction_confirmed"), tr("&Check Wallet..."), this); checkWalletAction->setStatusTip(tr("Check wallet integrity and report findings")); @@ -379,6 +377,7 @@ void BitcoinGUI::createActions() connect(lockWalletToggleAction, SIGNAL(triggered()), this, SLOT(lockWalletToggle())); connect(signMessageAction, SIGNAL(triggered()), this, SLOT(gotoSignMessageTab())); connect(verifyMessageAction, SIGNAL(triggered()), this, SLOT(gotoVerifyMessageTab())); + connect(bip38ToolAction, SIGNAL(triggered()), this, SLOT(gotoBip38Tool())); connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWalletForMint())); connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); @@ -437,6 +436,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(repairWalletAction); settings->addAction(charityAction); settings->addAction(calcAction); + settings->addAction(bip38ToolAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -516,6 +516,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) receiveCoinsPage->setModel(walletModel->getAddressTableModel()); sendCoinsPage->setModel(walletModel); signVerifyMessageDialog->setModel(walletModel); + bip38Dialog->setModel(walletModel); stakeForCharityDialog->setModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); @@ -911,6 +912,11 @@ void BitcoinGUI::gotoVerifyMessageTab(QString addr) signVerifyMessageDialog->setAddress_VM(addr); } +void BitcoinGUI::gotoBip38Tool() +{ + bip38Dialog->showTab_ENC(true); +} + void BitcoinGUI::dragEnterEvent(QDragEnterEvent *event) { // Accept only URIs diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index 7e60b40fa..fde92dbd3 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -15,6 +15,7 @@ class OverviewPage; class RPCConsole; class SendCoinsDialog; class SignVerifyMessageDialog; +class Bip38ToolDialog; class StakeForCharityDialog; class TransactionTableModel; class TransactionView; @@ -70,6 +71,7 @@ class BitcoinGUI : public QMainWindow AddressBookPage *receiveCoinsPage; SendCoinsDialog *sendCoinsPage; SignVerifyMessageDialog *signVerifyMessageDialog; + Bip38ToolDialog *bip38Dialog; StakeForCharityDialog *stakeForCharityDialog; BlockBrowser *blockBrowser; @@ -98,6 +100,7 @@ class BitcoinGUI : public QMainWindow QAction *backupWalletAction; QAction *changePassphraseAction; QAction *lockWalletToggleAction; + QAction *bip38ToolAction; QAction *checkWalletAction; QAction *repairWalletAction; QAction *aboutQtAction; @@ -109,8 +112,6 @@ class BitcoinGUI : public QMainWindow QAction *stakingIconAction; QAction *charityAction; QAction *calcAction; - - QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; @@ -191,6 +192,8 @@ private slots: void gotoSignMessageTab(QString addr = ""); /** Show Sign/Verify Message dialog and switch to verify message tab */ void gotoVerifyMessageTab(QString addr = ""); + /** Show BIP 38 tool - default to Encryption tab */ + void gotoBip38Tool(); /** Allow user to unlock wallet from click */ void lockIconClicked(); /** Show configuration dialog */ diff --git a/src/qt/forms/bip38tooldialog.ui b/src/qt/forms/bip38tooldialog.ui new file mode 100644 index 000000000..819ca52bc --- /dev/null +++ b/src/qt/forms/bip38tooldialog.ui @@ -0,0 +1,439 @@ + + + Bip38ToolDialog + + + + 0 + 0 + 700 + 334 + + + + BIP 38 Tool + + + true + + + + + + 1 + + + + &BIP 38 Encrypt + + + + + + Enter a HYP Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key. + + + Qt::PlainText + + + true + + + + + + + 0 + + + + + Address: + + + + + + + The HYP address to encrypt + + + + + + + Choose previously used address + + + + + + + :/icons/address-book:/icons/address-book + + + Alt+A + + + false + + + + + + + Paste address from clipboard + + + + + + + :/icons/editpaste:/icons/editpaste + + + Alt+P + + + false + + + + + + + + + + + Passphrase: + + + + + + + QLineEdit::Password + + + + + + + + + 0 + + + + + Encrypted Key: + + + Qt::PlainText + + + + + + + + true + + + + true + + + + + + + Copy the current signature to the system clipboard + + + + + + + :/icons/editcopy:/icons/editcopy + + + false + + + + + + + + + + + Sign the message to prove you own this HYP address + + + Encrypt &Key + + + + :/icons/edit:/icons/edit + + + false + + + + + + + Reset all sign message fields + + + Clear &All + + + + :/icons/remove:/icons/remove + + + false + + + + + + + Qt::Horizontal + + + + 40 + 48 + + + + + + + + + 75 + true + + + + + + + true + + + + + + + Qt::Horizontal + + + + 40 + 48 + + + + + + + + + + + &BIP 38 Decrypt + + + + + + Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet. + + + Qt::PlainText + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + + + + Encrypted Key: + + + + + + + The BIP38 Encrypted Key + + + + + + + + + + + Passphrase: + + + + + + + QLineEdit::Password + + + + + + + + + + + Decrypt the encrypted key + + + Decrypt &Key + + + + :/icons/transaction_0:/icons/transaction_0 + + + false + + + + + + + Reset all verify message fields + + + Clear &All + + + + :/icons/remove:/icons/remove + + + false + + + + + + + Qt::Horizontal + + + + 40 + 48 + + + + + + + + + 75 + true + + + + + + + true + + + + + + + Qt::Horizontal + + + + 40 + 48 + + + + + + + + + + + + Decrypted Key: + + + + + + + + + + + + + + Import Address + + + + + + + Address: + + + + + + + + + + + + + + + + + QValidatedLineEdit + QLineEdit +
          qvalidatedlineedit.h
          +
          +
          + + + + +
          diff --git a/src/rpcdump.cpp b/src/rpcdump.cpp index 8aa8352e8..c66f11433 100644 --- a/src/rpcdump.cpp +++ b/src/rpcdump.cpp @@ -6,6 +6,7 @@ #include "bitcoinrpc.h" #include "ui_interface.h" #include "base58.h" +#include "bip38.h" #include @@ -93,3 +94,92 @@ Value dumpprivkey(const Array& params, bool fHelp) throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known"); return CBitcoinSecret(vchSecret, fCompressed).ToString(); } + +Value bip38encrypt(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "bip38encrypt \"HYP_address\"\n" + "\nEncrypts a private key corresponding to 'HYP_address'.\n" + "\nArguments:\n" + "1. \"HYP_address\" (string, required) The HYP address for the private key (you must hold the key already)\n" + "2. \"passphrase\" (string, required) The passphrase you want the private key to be encrypted with - Valid special chars: !#$%&'()*+,-./:;<=>?`{|}~ \n" + "\nResult:\n" + "\"key\" (string) The encrypted private key\n" + "\nExamples:\n"); + + EnsureWalletIsUnlocked(); + + string strAddress = params[0].get_str(); + string strPassphrase = params[1].get_str(); + + CBitcoinAddress address; + if (!address.SetString(strAddress)) + throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Invalid HYP address"); + CKeyID keyID; + if (!address.GetKeyID(keyID)) + throw JSONRPCError(RPC_TYPE_ERROR, "Address does not refer to a key"); + CKey vchSecret; + if (!pwalletMain->GetKey(keyID, vchSecret)) + throw JSONRPCError(RPC_WALLET_ERROR, "Private key for address " + strAddress + " is not known"); + + uint256 privKey = vchSecret.GetPrivKey_256(); + string encryptedOut = BIP38_Encrypt(strAddress, strPassphrase, privKey); + + Object result; + result.push_back(Pair("Addess", strAddress)); + result.push_back(Pair("Encrypted Key", encryptedOut)); + + return result; +} + +Value bip38decrypt(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "bip38decrypt encrypted_key password\n" + "\nDecrypts and then imports password protected private key.\n" + "\nArguments:\n" + "1. \"encryptedkey\" (string, required) The encrypted private key\n" + "2. \"passphrase\" (string, required) The passphrase you want the private key to be encrypted with\n" + + "\nResult:\n" + "\"key\" (string) The decrypted private key\n" + "\nExamples:\n"); + + EnsureWalletIsUnlocked(); + + /** Collect private key and passphrase **/ + string strKey = params[0].get_str(); + string strPassphrase = params[1].get_str(); + + uint256 privKey; + bool fCompressed; + if (!BIP38_Decrypt(strPassphrase, strKey, privKey, fCompressed)) + throw JSONRPCError(RPC_WALLET_ERROR, "Failed To Decrypt"); + + Object result; + result.push_back(Pair("privatekey", HexStr(privKey))); + + CKey key; + if (!key.SetPrivKey_Raw(privKey, fCompressed) || !key.IsValid()) + throw JSONRPCError(RPC_WALLET_ERROR, "Private Key Not Valid"); + + CPubKey pubkey = key.GetPubKey(); + result.push_back(Pair("Address", CBitcoinAddress(pubkey.GetID()).ToString())); + CKeyID vchAddress = key.GetPubKey().GetID(); + { + LOCK2(cs_main, pwalletMain->cs_wallet); + + pwalletMain->MarkDirty(); + pwalletMain->SetAddressBookName(vchAddress, ""); + + if (!pwalletMain->AddKey(key)) + throw JSONRPCError(RPC_WALLET_ERROR, "Error adding key to wallet"); + + pwalletMain->ScanForWalletTransactions(pindexGenesisBlock, true); + pwalletMain->ReacceptWalletTransactions(); + } + + return result; +} diff --git a/src/scrypt.cpp b/src/scrypt.cpp new file mode 100644 index 000000000..fa9b71b0c --- /dev/null +++ b/src/scrypt.cpp @@ -0,0 +1,384 @@ +/* + * Copyright 2009 Colin Percival, 2011 ArtForz, 2012-2013 pooler + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file was originally written by Colin Percival as part of the Tarsnap + * online backup system. + */ + +#include "scrypt.h" +#include "uint256.h" +#include "util.h" +#include +#include + +#include +#include + +#ifndef __FreeBSD__ +static inline void be32enc(void *pp, uint32_t x) +{ + uint8_t *p = (uint8_t *)pp; + p[3] = x & 0xff; + p[2] = (x >> 8) & 0xff; + p[1] = (x >> 16) & 0xff; + p[0] = (x >> 24) & 0xff; +} +#endif + +typedef struct HMAC_SHA256Context { + SHA256_CTX ictx; + SHA256_CTX octx; +} HMAC_SHA256_CTX; + +/* Initialize an HMAC-SHA256 operation with the given key. */ +static void +HMAC_SHA256_Init(HMAC_SHA256_CTX *ctx, const void *_K, size_t Klen) +{ + unsigned char pad[64]; + unsigned char khash[32]; + const unsigned char *K = (const unsigned char *)_K; + size_t i; + + /* If Klen > 64, the key is really SHA256(K). */ + if (Klen > 64) { + SHA256_Init(&ctx->ictx); + SHA256_Update(&ctx->ictx, K, Klen); + SHA256_Final(khash, &ctx->ictx); + K = khash; + Klen = 32; + } + + /* Inner SHA256 operation is SHA256(K xor [block of 0x36] || data). */ + SHA256_Init(&ctx->ictx); + memset(pad, 0x36, 64); + for (i = 0; i < Klen; i++) + pad[i] ^= K[i]; + SHA256_Update(&ctx->ictx, pad, 64); + + /* Outer SHA256 operation is SHA256(K xor [block of 0x5c] || hash). */ + SHA256_Init(&ctx->octx); + memset(pad, 0x5c, 64); + for (i = 0; i < Klen; i++) + pad[i] ^= K[i]; + SHA256_Update(&ctx->octx, pad, 64); + + /* Clean the stack. */ + memset(khash, 0, 32); +} + +/* Add bytes to the HMAC-SHA256 operation. */ +static void +HMAC_SHA256_Update(HMAC_SHA256_CTX *ctx, const void *in, size_t len) +{ + /* Feed data to the inner SHA256 operation. */ + SHA256_Update(&ctx->ictx, in, len); +} + +/* Finish an HMAC-SHA256 operation. */ +static void +HMAC_SHA256_Final(unsigned char digest[32], HMAC_SHA256_CTX *ctx) +{ + unsigned char ihash[32]; + + /* Finish the inner SHA256 operation. */ + SHA256_Final(ihash, &ctx->ictx); + + /* Feed the inner hash to the outer SHA256 operation. */ + SHA256_Update(&ctx->octx, ihash, 32); + + /* Finish the outer SHA256 operation. */ + SHA256_Final(digest, &ctx->octx); + + /* Clean the stack. */ + memset(ihash, 0, 32); +} + +/** + * PBKDF2_SHA256(passwd, passwdlen, salt, saltlen, c, buf, dkLen): + * Compute PBKDF2(passwd, salt, c, dkLen) using HMAC-SHA256 as the PRF, and + * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). + */ +void +PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, + size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen) +{ + HMAC_SHA256_CTX PShctx, hctx; + size_t i; + uint8_t ivec[4]; + uint8_t U[32]; + uint8_t T[32]; + uint64_t j; + int k; + size_t clen; + + /* Compute HMAC state after processing P and S. */ + HMAC_SHA256_Init(&PShctx, passwd, passwdlen); + HMAC_SHA256_Update(&PShctx, salt, saltlen); + + /* Iterate through the blocks. */ + for (i = 0; i * 32 < dkLen; i++) { + /* Generate INT(i + 1). */ + be32enc(ivec, (uint32_t)(i + 1)); + + /* Compute U_1 = PRF(P, S || INT(i)). */ + memcpy(&hctx, &PShctx, sizeof(HMAC_SHA256_CTX)); + HMAC_SHA256_Update(&hctx, ivec, 4); + HMAC_SHA256_Final(U, &hctx); + + /* T_i = U_1 ... */ + memcpy(T, U, 32); + + for (j = 2; j <= c; j++) { + /* Compute U_j. */ + HMAC_SHA256_Init(&hctx, passwd, passwdlen); + HMAC_SHA256_Update(&hctx, U, 32); + HMAC_SHA256_Final(U, &hctx); + + /* ... xor U_j ... */ + for (k = 0; k < 32; k++) + T[k] ^= U[k]; + } + + /* Copy as many bytes as necessary into buf. */ + clen = dkLen - i * 32; + if (clen > 32) + clen = 32; + memcpy(&buf[i * 32], T, clen); + } + + /* Clean PShctx, since we never called _Final on it. */ + memset(&PShctx, 0, sizeof(HMAC_SHA256_CTX)); +} + +static inline uint32_t +le32dec_2(const void * pp) +{ + const uint8_t * p = (uint8_t const *)pp; + + return ((uint32_t)(p[0]) + ((uint32_t)(p[1]) << 8) + + ((uint32_t)(p[2]) << 16) + ((uint32_t)(p[3]) << 24)); +} + +static inline void +le32enc_2(void * pp, uint32_t x) +{ + uint8_t * p = (uint8_t *)pp; + + p[0] = x & 0xff; + p[1] = (x >> 8) & 0xff; + p[2] = (x >> 16) & 0xff; + p[3] = (x >> 24) & 0xff; +} + +static void +blkcpy(void * dest, const void * src, size_t len) +{ + size_t * D = (size_t*)dest; + const size_t * S = (size_t*)src; + size_t L = len / sizeof(size_t); + size_t i; + + for (i = 0; i < L; i++) + D[i] = S[i]; +} + +static void +blkxor(void * dest, const void * src, size_t len) +{ + size_t * D = (size_t*)dest; + const size_t* S = (size_t*)src; + size_t L = len / sizeof(size_t); + size_t i; + + for (i = 0; i < L; i++) + D[i] ^= S[i]; +} + +/** + * salsa20_8(B): + * Apply the salsa20/8 core to the provided block. + */ +static void +salsa20_8(uint32_t B[16]) +{ + uint32_t x[16]; + size_t i; + + blkcpy(x, B, 64); + for (i = 0; i < 8; i += 2) { +#define R(a,b) (((a) << (b)) | ((a) >> (32 - (b)))) + /* Operate on columns. */ + x[ 4] ^= R(x[ 0]+x[12], 7); x[ 8] ^= R(x[ 4]+x[ 0], 9); + x[12] ^= R(x[ 8]+x[ 4],13); x[ 0] ^= R(x[12]+x[ 8],18); + + x[ 9] ^= R(x[ 5]+x[ 1], 7); x[13] ^= R(x[ 9]+x[ 5], 9); + x[ 1] ^= R(x[13]+x[ 9],13); x[ 5] ^= R(x[ 1]+x[13],18); + + x[14] ^= R(x[10]+x[ 6], 7); x[ 2] ^= R(x[14]+x[10], 9); + x[ 6] ^= R(x[ 2]+x[14],13); x[10] ^= R(x[ 6]+x[ 2],18); + + x[ 3] ^= R(x[15]+x[11], 7); x[ 7] ^= R(x[ 3]+x[15], 9); + x[11] ^= R(x[ 7]+x[ 3],13); x[15] ^= R(x[11]+x[ 7],18); + + /* Operate on rows. */ + x[ 1] ^= R(x[ 0]+x[ 3], 7); x[ 2] ^= R(x[ 1]+x[ 0], 9); + x[ 3] ^= R(x[ 2]+x[ 1],13); x[ 0] ^= R(x[ 3]+x[ 2],18); + + x[ 6] ^= R(x[ 5]+x[ 4], 7); x[ 7] ^= R(x[ 6]+x[ 5], 9); + x[ 4] ^= R(x[ 7]+x[ 6],13); x[ 5] ^= R(x[ 4]+x[ 7],18); + + x[11] ^= R(x[10]+x[ 9], 7); x[ 8] ^= R(x[11]+x[10], 9); + x[ 9] ^= R(x[ 8]+x[11],13); x[10] ^= R(x[ 9]+x[ 8],18); + + x[12] ^= R(x[15]+x[14], 7); x[13] ^= R(x[12]+x[15], 9); + x[14] ^= R(x[13]+x[12],13); x[15] ^= R(x[14]+x[13],18); +#undef R + } + for (i = 0; i < 16; i++) + B[i] += x[i]; +} + +/** + * blockmix_salsa8(Bin, Bout, X, r): + * Compute Bout = BlockMix_{salsa20/8, r}(Bin). The input Bin must be 128r + * bytes in length; the output Bout must also be the same size. The + * temporary space X must be 64 bytes. + */ +static void +blockmix_salsa8(const uint32_t * Bin, uint32_t * Bout, uint32_t * X, size_t r) +{ + size_t i; + + /* 1: X <-- B_{2r - 1} */ + blkcpy(X, &Bin[(2 * r - 1) * 16], 64); + + /* 2: for i = 0 to 2r - 1 do */ + for (i = 0; i < 2 * r; i += 2) { + /* 3: X <-- H(X \xor B_i) */ + blkxor(X, &Bin[i * 16], 64); + salsa20_8(X); + + /* 4: Y_i <-- X */ + /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ + blkcpy(&Bout[i * 8], X, 64); + + /* 3: X <-- H(X \xor B_i) */ + blkxor(X, &Bin[i * 16 + 16], 64); + salsa20_8(X); + + /* 4: Y_i <-- X */ + /* 6: B' <-- (Y_0, Y_2 ... Y_{2r-2}, Y_1, Y_3 ... Y_{2r-1}) */ + blkcpy(&Bout[i * 8 + r * 16], X, 64); + } +} + +/** + * integerify(B, r): + * Return the result of parsing B_{2r-1} as a little-endian integer. + */ +static uint64_t +integerify(const void * B, size_t r) +{ + const uint32_t * X = (const uint32_t*)((uintptr_t)(B) + (2 * r - 1) * 64); + + return (((uint64_t)(X[1]) << 32) + X[0]); +} + +void SMix(uint8_t *B, unsigned int r, unsigned int N, void* _V, void* XY) +{ + //new + uint32_t* X = (uint32_t*)XY; + uint32_t* Y = (uint32_t*)((uint8_t*)(XY) + 128 * r); + uint32_t* Z = (uint32_t*)((uint8_t *)(XY) + 256 * r); + uint32_t * V = (uint32_t*)_V; + + uint32_t j, k; + + /* 1: X <-- B */ + for (k = 0; k < 32 * r; k++) + X[k] = le32dec_2(&B[4 * k]); + + /* 2: for i = 0 to N - 1 do */ + for (unsigned int i = 0; i < N; i += 2) + { + /* 3: V_i <-- X */ + blkcpy(&V[i * (32 * r)], X, 128 * r); + + /* 4: X <-- H(X) */ + blockmix_salsa8(X, Y, Z, r); + + /* 3: V_i <-- X */ + blkcpy(&V[(i + 1) * (32 * r)], Y, 128 * r); + + /* 4: X <-- H(X) */ + blockmix_salsa8(Y, X, Z, r); + } + + /* 6: for i = 0 to N - 1 do */ + for (unsigned int i = 0; i < N; i += 2) + { + /* 7: j <-- Integerify(X) mod N */ + j = integerify(X, r) & (N - 1); + + /* 8: X <-- H(X \xor V_j) */ + blkxor(X, &V[j * (32 * r)], 128 * r); + blockmix_salsa8(X, Y, Z, r); + + /* 7: j <-- Integerify(X) mod N */ + j = integerify(Y, r) & (N - 1); + + /* 8: X <-- H(X \xor V_j) */ + blkxor(Y, &V[j * (32 * r)], 128 * r); + blockmix_salsa8(Y, X, Z, r); + } + + /* 10: B' <-- X */ + for (k = 0; k < 32 * r; k++) + le32enc_2(&B[4 * k], X[k]); +} + +void scrypt(const char* pass, unsigned int pLen, const char* salt, unsigned int sLen, char *output, unsigned int N, unsigned int r, unsigned int p, unsigned int dkLen) +{ + //containers + void* V0 = malloc(128 * r * N + 63); + void* XY0 = malloc(256 * r + 64 + 63); + void* B1 = malloc(128 * r * p + 63); + uint8_t* B = (uint8_t *)(((uintptr_t)(B1) + 63) & ~ (uintptr_t)(63)); + uint32_t* V = (uint32_t *)(((uintptr_t)(V0) + 63) & ~ (uintptr_t)(63)); + uint32_t* XY = (uint32_t *)(((uintptr_t)(XY0) + 63) & ~ (uintptr_t)(63)); + + PBKDF2_SHA256((const uint8_t *)pass, pLen, (const uint8_t *)salt, sLen, 1, B, p * 128 * r); + + for(unsigned int i = 0; i < p; i++) + { + SMix(&B[i * 128 * r], r, N, V, XY); + } + + PBKDF2_SHA256((const uint8_t *)pass, pLen, B, p * 128 * r, 1, (uint8_t *)output, dkLen); + + free(V0); + free(XY0); + free(B1); +} diff --git a/src/scrypt.h b/src/scrypt.h new file mode 100644 index 000000000..68f07acad --- /dev/null +++ b/src/scrypt.h @@ -0,0 +1,9 @@ +#ifndef SCRYPT_H +#define SCRYPT_H +#include +#include +#include + +void scrypt(const char* pass, unsigned int pLen, const char* salt, unsigned int sLen, char *output, unsigned int N, unsigned int r, unsigned int p, unsigned int dkLen); + +#endif diff --git a/src/secp256k1/.gitignore b/src/secp256k1/.gitignore new file mode 100644 index 000000000..f0a54077a --- /dev/null +++ b/src/secp256k1/.gitignore @@ -0,0 +1,35 @@ +bench_inv +bench_sign +bench_verify +tests +*.exe +*.so +*.a +!.gitignore + +Makefile +configure +.libs/ +Makefile.in +aclocal.m4 +autom4te.cache/ +config.log +config.status +*.tar.gz +*.la +libtool +.deps/ +.dirstamp +build-aux/ +*.lo +*.o +*~ +src/libsecp256k1-config.h +src/libsecp256k1-config.h.in +m4/libtool.m4 +m4/ltoptions.m4 +m4/ltsugar.m4 +m4/ltversion.m4 +m4/lt~obsolete.m4 +src/stamp-h1 +libsecp256k1.pc diff --git a/src/secp256k1/.travis.yml b/src/secp256k1/.travis.yml new file mode 100644 index 000000000..3a85e8cba --- /dev/null +++ b/src/secp256k1/.travis.yml @@ -0,0 +1,27 @@ +language: cpp +compiler: gcc +install: + - sudo apt-get install -qq libssl-dev + - if [ "$BIGNUM" = "gmp" -o "$BIGNUM" = "auto" -o "$FIELD" = "gmp" ]; then sudo apt-get install -qq libgmp-dev; fi + - if [ "$FIELD" = "64bit_asm" ]; then sudo apt-get install -qq yasm; fi +env: + global: + - FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no BUILD=check EXTRAFLAGS= + matrix: + - SCALAR=32bit + - SCALAR=64bit + - FIELD=gmp + - FIELD=gmp ENDOMORPHISM=yes + - FIELD=64bit_asm + - FIELD=64bit_asm ENDOMORPHISM=yes + - FIELD=64bit + - FIELD=64bit ENDOMORPHISM=yes + - FIELD=32bit + - FIELD=32bit ENDOMORPHISM=yes + - BIGNUM=none + - BIGNUM=none ENDOMORPHISM=yes + - BUILD=distcheck + - EXTRAFLAGS=CFLAGS=-DDETERMINISTIC +before_script: ./autogen.sh +script: ./configure --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR $EXTRAFLAGS && make -j2 $BUILD +os: linux diff --git a/src/secp256k1/COPYING b/src/secp256k1/COPYING new file mode 100644 index 000000000..4522a5990 --- /dev/null +++ b/src/secp256k1/COPYING @@ -0,0 +1,19 @@ +Copyright (c) 2013 Pieter Wuille + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/src/secp256k1/Makefile.am b/src/secp256k1/Makefile.am new file mode 100644 index 000000000..dbf1790f3 --- /dev/null +++ b/src/secp256k1/Makefile.am @@ -0,0 +1,89 @@ +ACLOCAL_AMFLAGS = -I build-aux/m4 + +lib_LTLIBRARIES = libsecp256k1.la +if USE_ASM +COMMON_LIB = libsecp256k1_common.la +else +COMMON_LIB = +endif +noinst_LTLIBRARIES = $(COMMON_LIB) +include_HEADERS = include/secp256k1.h +noinst_HEADERS = +noinst_HEADERS += src/scalar.h +noinst_HEADERS += src/scalar_4x64.h +noinst_HEADERS += src/scalar_8x32.h +noinst_HEADERS += src/scalar_impl.h +noinst_HEADERS += src/scalar_4x64_impl.h +noinst_HEADERS += src/scalar_8x32_impl.h +noinst_HEADERS += src/group.h +noinst_HEADERS += src/group_impl.h +noinst_HEADERS += src/num_gmp.h +noinst_HEADERS += src/num_gmp_impl.h +noinst_HEADERS += src/ecdsa.h +noinst_HEADERS += src/ecdsa_impl.h +noinst_HEADERS += src/eckey.h +noinst_HEADERS += src/eckey_impl.h +noinst_HEADERS += src/ecmult.h +noinst_HEADERS += src/ecmult_impl.h +noinst_HEADERS += src/ecmult_gen.h +noinst_HEADERS += src/ecmult_gen_impl.h +noinst_HEADERS += src/num.h +noinst_HEADERS += src/num_impl.h +noinst_HEADERS += src/field_10x26.h +noinst_HEADERS += src/field_10x26_impl.h +noinst_HEADERS += src/field_5x52.h +noinst_HEADERS += src/field_5x52_impl.h +noinst_HEADERS += src/field_5x52_int128_impl.h +noinst_HEADERS += src/field_5x52_asm_impl.h +noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h +noinst_HEADERS += src/util.h +noinst_HEADERS += src/testrand.h +noinst_HEADERS += src/testrand_impl.h +noinst_HEADERS += src/field_gmp.h +noinst_HEADERS += src/field_gmp_impl.h +noinst_HEADERS += src/field.h +noinst_HEADERS += src/field_impl.h + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libsecp256k1.pc + +if USE_ASM +libsecp256k1_common_la_SOURCES = src/field_5x52_asm.asm +endif + +libsecp256k1_la_SOURCES = src/secp256k1.c +libsecp256k1_la_CPPFLAGS = -I$(top_srcdir)/include $(SECP_INCLUDES) +libsecp256k1_la_LIBADD = $(COMMON_LIB) $(SECP_LIBS) + + +noinst_PROGRAMS = +if USE_BENCHMARK +noinst_PROGRAMS += bench_verify bench_sign bench_inv +bench_verify_SOURCES = src/bench_verify.c +bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) +bench_verify_LDFLAGS = -static +bench_sign_SOURCES = src/bench_sign.c +bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) +bench_sign_LDFLAGS = -static +bench_inv_SOURCES = src/bench_inv.c +bench_inv_LDADD = $(COMMON_LIB) $(SECP_LIBS) +bench_inv_LDFLAGS = -static +bench_inv_CPPFLAGS = $(SECP_INCLUDES) +endif + +if USE_TESTS +noinst_PROGRAMS += tests +tests_SOURCES = src/tests.c +tests_CPPFLAGS = -DVERIFY $(SECP_INCLUDES) $(SECP_TEST_INCLUDES) +tests_LDADD = $(COMMON_LIB) $(SECP_LIBS) $(SECP_TEST_LIBS) +tests_LDFLAGS = -static +TESTS = tests +endif + +EXTRA_DIST = autogen.sh nasm_lt.sh + +#x86_64 only +if USE_ASM +.asm.lo: + $(LIBTOOL) --mode=compile --tag YASM $(srcdir)/nasm_lt.sh $(YASM) -f $(YASM_BINFMT) $(YAFLAGS) -I$(srcdir) -I. $< -o $@ +endif diff --git a/src/secp256k1/README.md b/src/secp256k1/README.md new file mode 100644 index 000000000..1e49f4941 --- /dev/null +++ b/src/secp256k1/README.md @@ -0,0 +1,55 @@ +libsecp256k1 +============ + +[![Build Status](https://travis-ci.org/bitcoin/secp256k1.svg?branch=master)](https://travis-ci.org/bitcoin/secp256k1) + +Optimized C library for EC operations on curve secp256k1. + +This library is experimental, so use at your own risk. + +Features: +* Low-level field and group operations on secp256k1. +* ECDSA signing/verification and key generation. +* Adding/multiplying private/public keys. +* Serialization/parsing of private keys, public keys, signatures. +* Very efficient implementation. + +Implementation details +---------------------- + +* General + * Avoid dynamic memory usage almost everywhere. +* Field operations + * Optimized implementation of arithmetic modulo the curve's field size (2^256 - 0x1000003D1). + * Using 5 52-bit limbs (including hand-optimized assembly for x86_64, by Diederik Huys). + * Using 10 26-bit limbs. + * Using GMP. + * Field inverses and square roots using a sliding window over blocks of 1s (by Peter Dettman). +* Scalar operations + * Optimized implementation without data-dependent branches of arithmetic modulo the curve's order. + * Using 4 64-bit limbs (relying on __int128 support in the compiler). + * Using 8 32-bit limbs. +* Group operations + * Point addition formula specifically simplified for the curve equation (y^2 = x^3 + 7). + * Use addition between points in Jacobian and affine coordinates where possible. + * Use a unified addition/doubling formula where necessary to avoid data-dependent branches. +* Point multiplication for verification (a*P + b*G). + * Use wNAF notation for point multiplicands. + * Use a much larger window for multiples of G, using precomputed multiples. + * Use Shamir's trick to do the multiplication with the public key and the generator simultaneously. + * Optionally use secp256k1's efficiently-computable endomorphism to split the multiplicands into 4 half-sized ones first. +* Point multiplication for signing + * Use a precomputed table of multiples of powers of 16 multiplied with the generator, so general multiplication becomes a series of additions. + * Slice the precomputed table in memory per byte, so memory access to the table becomes uniform. + * No data-dependent branches + * The precomputed tables add and eventually subtract points for which no known scalar (private key) is known, preventing even an attacker with control over the private key used to control the data internally. + +Build steps +----------- + +libsecp256k1 is built using autotools: + + $ ./autogen.sh + $ ./configure + $ make + $ sudo make install # optional diff --git a/src/secp256k1/TODO b/src/secp256k1/TODO new file mode 100644 index 000000000..a300e1c5e --- /dev/null +++ b/src/secp256k1/TODO @@ -0,0 +1,3 @@ +* Unit tests for fieldelem/groupelem, including ones intended to + trigger fieldelem's boundary cases. +* Complete constant-time operations for signing/keygen diff --git a/src/secp256k1/autogen.sh b/src/secp256k1/autogen.sh new file mode 100755 index 000000000..65286b935 --- /dev/null +++ b/src/secp256k1/autogen.sh @@ -0,0 +1,3 @@ +#!/bin/sh +set -e +autoreconf -if --warnings=all diff --git a/src/secp256k1/configure.ac b/src/secp256k1/configure.ac new file mode 100644 index 000000000..017fd4e1d --- /dev/null +++ b/src/secp256k1/configure.ac @@ -0,0 +1,284 @@ +AC_PREREQ([2.60]) +AC_INIT([libsecp256k1],[0.1]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([build-aux/m4]) +AC_CANONICAL_HOST +AH_TOP([#ifndef LIBSECP256K1_CONFIG_H]) +AH_TOP([#define LIBSECP256K1_CONFIG_H]) +AH_BOTTOM([#endif //LIBSECP256K1_CONFIG_H]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT + +dnl make the compilation flags quiet unless V=1 is used +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + +PKG_PROG_PKG_CONFIG + +AC_PATH_TOOL(AR, ar) +AC_PATH_TOOL(RANLIB, ranlib) +AC_PATH_TOOL(STRIP, strip) + +AC_PROG_CC_C99 +if test x"$ac_cv_prog_cc_c99" == x"no"; then + AC_MSG_ERROR([c99 compiler support required]) +fi + +case $host in + *mingw*) + use_pkgconfig=no + ;; + *) + use_pkgconfig=yes + ;; +esac + +case $host_os in + *darwin*) + if test x$cross_compiling != xyes; then + AC_PATH_PROG([BREW],brew,) + if test x$BREW != x; then + dnl These Homebrew packages may be keg-only, meaning that they won't be found + dnl in expected paths because they may conflict with system files. Ask + dnl Homebrew where each one is located, then adjust paths accordingly. + + openssl_prefix=`$BREW --prefix openssl 2>/dev/null` + gmp_prefix=`$BREW --prefix gmp 2>/dev/null` + if test x$openssl_prefix != x; then + PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" + export PKG_CONFIG_PATH + fi + if test x$gmp_prefix != x; then + GMP_CPPFLAGS="-I$gmp_prefix/include" + GMP_LIBS="-L$gmp_prefix/lib" + fi + else + AC_PATH_PROG([PORT],port,) + dnl if homebrew isn't installed and macports is, add the macports default paths + dnl as a last resort. + if test x$PORT != x; then + CPPFLAGS="$CPPFLAGS -isystem /opt/local/include" + LDFLAGS="$LDFLAGS -L/opt/local/lib" + fi + fi + fi + ;; +esac + +CFLAGS="$CFLAGS -W" + +warn_CFLAGS="-Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function" +saved_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS $warn_CFLAGS" +AC_MSG_CHECKING([if ${CC} supports ${warn_CFLAGS}]) +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[char foo;]])], + [ AC_MSG_RESULT([yes]) ], + [ AC_MSG_RESULT([no]) + CFLAGS="$saved_CFLAGS" + ]) + + +AC_ARG_ENABLE(benchmark, + AS_HELP_STRING([--enable-benchmark],[compile benchmark (default is yes)]), + [use_benchmark=$enableval], + [use_benchmark=yes]) + +AC_ARG_ENABLE(tests, + AS_HELP_STRING([--enable-tests],[compile tests (default is yes)]), + [use_tests=$enableval], + [use_tests=yes]) + +AC_ARG_ENABLE(endomorphism, + AS_HELP_STRING([--enable-endomorphism],[enable endomorphism (default is no)]), + [use_endomorphism=$enableval], + [use_endomorphism=no]) + +AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=gmp|64bit|64bit_asm|32bit|auto], +[Specify Field Implementation. Default is auto])],[req_field=$withval], [req_field=auto]) + +AC_ARG_WITH([bignum], [AS_HELP_STRING([--with-bignum=gmp|none|auto], +[Specify Bignum Implementation. Default is auto])],[req_bignum=$withval], [req_bignum=auto]) + +AC_ARG_WITH([scalar], [AS_HELP_STRING([--with-scalar=64bit|32bit|auto], +[Specify scalar implementation. Default is auto])],[req_scalar=$withval], [req_scalar=auto]) + +AC_CHECK_TYPES([__int128]) + +AC_CHECK_DECL(__builtin_expect,AC_DEFINE(HAVE_BUILTIN_EXPECT,1,[Define this symbol if __builtin_expect is available]),,) + +if test x"$req_field" = x"auto"; then + SECP_64BIT_ASM_CHECK + if test x"$has_64bit_asm" = x"yes"; then + set_field=64bit_asm + fi + + if test x"$set_field" = x; then + SECP_INT128_CHECK + if test x"$has_int128" = x"yes"; then + set_field=64bit + fi + fi + + if test x"$set_field" = x; then + set_field=32bit + fi +else + set_field=$req_field + case $set_field in + 64bit_asm) + SECP_64BIT_ASM_CHECK + ;; + 64bit) + SECP_INT128_CHECK + ;; + gmp) + SECP_GMP_CHECK + ;; + 32bit) + ;; + *) + AC_MSG_ERROR([invalid field implementation selection]) + ;; + esac +fi + +if test x"$req_scalar" = x"auto"; then + if test x"$set_scalar" = x; then + SECP_INT128_CHECK + if test x"$has_int128" = x"yes"; then + set_scalar=64bit + fi + fi + if test x"$set_scalar" = x; then + set_scalar=32bit + fi +else + set_scalar=$req_scalar + case $set_scalar in + 64bit) + SECP_INT128_CHECK + ;; + 32bit) + ;; + *) + AC_MSG_ERROR([invalid scalar implementation selected]) + ;; + esac +fi + +if test x"$req_bignum" = x"auto"; then + if test x"$set_bignum" = x; then + set_bignum=none + fi +else + set_bignum=$req_bignum + case $set_bignum in + gmp) + SECP_GMP_CHECK + ;; + none) + ;; + *) + AC_MSG_ERROR([invalid bignum implementation selection]) + ;; + esac +fi + +# select field implementation +case $set_field in +64bit_asm) + AC_DEFINE(USE_FIELD_5X52_ASM, 1, [Define this symbol to use the assembly version for the 5x52 field implementation]) + AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) + ;; +64bit) + AC_DEFINE(USE_FIELD_5X52_INT128, 1, [Define this symbol to use the __int128 version for the 5x52 field implementation]) + AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) + ;; +gmp) + AC_DEFINE(HAVE_LIBGMP,1,[Define this symbol if libgmp is installed]) + AC_DEFINE(USE_FIELD_GMP, 1, [Define this symbol to use the FIELD_GMP implementation]) + ;; +32bit) + AC_DEFINE(USE_FIELD_10X26, 1, [Define this symbol to use the FIELD_10X26 implementation]) + ;; +*) + AC_MSG_ERROR([invalid field implementation]) + ;; +esac + +# select bignum implementation +case $set_bignum in +gmp) + AC_DEFINE(HAVE_LIBGMP, 1, [Define this symbol if libgmp is installed]) + AC_DEFINE(USE_NUM_GMP, 1, [Define this symbol to use the gmp implementation for num]) + AC_DEFINE(USE_FIELD_INV_NUM, 1, [Define this symbol to use the num-based field inverse implementation]) + AC_DEFINE(USE_SCALAR_INV_NUM, 1, [Define this symbol to use the num-based scalar inverse implementation]) + ;; +none) + AC_DEFINE(USE_NUM_NONE, 1, [Define this symbol to use no num implementation]) + AC_DEFINE(USE_FIELD_INV_BUILTIN, 1, [Define this symbol to use the native field inverse implementation]) + AC_DEFINE(USE_SCALAR_INV_BUILTIN, 1, [Define this symbol to use the native scalar inverse implementation]) + ;; +*) + AC_MSG_ERROR([invalid bignum implementation]) + ;; +esac + +#select scalar implementation +case $set_scalar in +64bit) + AC_DEFINE(USE_SCALAR_4X64, 1, [Define this symbol to use the 4x64 scalar implementation]) + ;; +32bit) + AC_DEFINE(USE_SCALAR_8X32, 1, [Define this symbol to use the 8x32 scalar implementation]) + ;; +*) + AC_MSG_ERROR([invalid scalar implementation]) + ;; +esac + +if test x"$use_tests" = x"yes"; then + SECP_OPENSSL_CHECK + if test x"$has_openssl_ec" == x"yes"; then + AC_DEFINE(ENABLE_OPENSSL_TESTS, 1, [Define this symbol if OpenSSL EC functions are available]) + SECP_TEST_INCLUDES="$SSL_CFLAGS $CRYPTO_CFLAGS" + SECP_TEST_LIBS="$CRYPTO_LIBS" + + case $host in + *mingw*) + SECP_TEST_LIBS="$SECP_TEST_LIBS -lgdi32" + ;; + esac + + fi +fi + +if test x"$set_field" = x"gmp" || test x"$set_bignum" = x"gmp"; then + SECP_LIBS="$SECP_LIBS $GMP_LIBS" + SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS" +fi + +if test x"$use_endomorphism" = x"yes"; then + AC_DEFINE(USE_ENDOMORPHISM, 1, [Define this symbol to use endomorphism optimization]) +fi + +AC_MSG_NOTICE([Using field implementation: $set_field]) +AC_MSG_NOTICE([Using bignum implementation: $set_bignum]) +AC_MSG_NOTICE([Using scalar implementation: $set_scalar]) + +AC_CONFIG_HEADERS([src/libsecp256k1-config.h]) +AC_CONFIG_FILES([Makefile libsecp256k1.pc]) +AC_SUBST(SECP_INCLUDES) +AC_SUBST(SECP_LIBS) +AC_SUBST(SECP_TEST_LIBS) +AC_SUBST(SECP_TEST_INCLUDES) +AC_SUBST(YASM_BINFMT) +AM_CONDITIONAL([USE_ASM], [test x"$set_field" == x"64bit_asm"]) +AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" != x"no"]) +AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" != x"no"]) + +dnl make sure nothing new is exported so that we don't break the cache +PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH" +unset PKG_CONFIG_PATH +PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP" + +AC_OUTPUT diff --git a/src/secp256k1/include/secp256k1.h b/src/secp256k1/include/secp256k1.h new file mode 100644 index 000000000..94a6ef483 --- /dev/null +++ b/src/secp256k1/include/secp256k1.h @@ -0,0 +1,240 @@ +#ifndef _SECP256K1_ +# define _SECP256K1_ + +# ifdef __cplusplus +extern "C" { +# endif + +# if !defined(SECP256K1_GNUC_PREREQ) +# if defined(__GNUC__)&&defined(__GNUC_MINOR__) +# define SECP256K1_GNUC_PREREQ(_maj,_min) \ + ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) +# else +# define SECP256K1_GNUC_PREREQ(_maj,_min) 0 +# endif +# endif + +# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if SECP256K1_GNUC_PREREQ(2,7) +# define SECP256K1_INLINE __inline__ +# elif (defined(_MSC_VER)) +# define SECP256K1_INLINE __inline +# else +# define SECP256K1_INLINE +# endif +# else +# define SECP256K1_INLINE inline +# endif + +/**Warning attributes + * NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out + * some paranoid null checks. */ +# if defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) +# define SECP256K1_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) +# else +# define SECP256K1_WARN_UNUSED_RESULT +# endif +# if !defined(SECP256K1_BUILD) && defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) +# define SECP256K1_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) +# else +# define SECP256K1_ARG_NONNULL(_x) +# endif + + +/** Flags to pass to secp256k1_start. */ +# define SECP256K1_START_VERIFY (1 << 0) +# define SECP256K1_START_SIGN (1 << 1) + +/** Initialize the library. This may take some time (10-100 ms). + * You need to call this before calling any other function. + * It cannot run in parallel with any other functions, but once + * secp256k1_start() returns, all other functions are thread-safe. + */ +void secp256k1_start(unsigned int flags); + +/** Free all memory associated with this library. After this, no + * functions can be called anymore, except secp256k1_start() + */ +void secp256k1_stop(void); + +/** Verify an ECDSA signature. + * Returns: 1: correct signature + * 0: incorrect signature + * -1: invalid public key + * -2: invalid signature + * In: msg: the message being verified (cannot be NULL) + * msglen: the length of the message (at most 32) + * sig: the signature being verified (cannot be NULL) + * siglen: the length of the signature + * pubkey: the public key to verify with (cannot be NULL) + * pubkeylen: the length of pubkey + * Requires starting using SECP256K1_START_VERIFY. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify( + const unsigned char *msg, + int msglen, + const unsigned char *sig, + int siglen, + const unsigned char *pubkey, + int pubkeylen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(5); + +/** Create an ECDSA signature. + * Returns: 1: signature created + * 0: nonce invalid, try another one + * In: msg: the message being signed (cannot be NULL) + * msglen: the length of the message being signed (at most 32) + * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) + * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) + * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) + * In/Out: siglen: pointer to an int with the length of sig, which will be updated + * to contain the actual signature length (<=72). + * Requires starting using SECP256K1_START_SIGN. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign( + const unsigned char *msg, + int msglen, + unsigned char *sig, + int *siglen, + const unsigned char *seckey, + const unsigned char *nonce +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5) SECP256K1_ARG_NONNULL(6); + +/** Create a compact ECDSA signature (64 byte + recovery id). + * Returns: 1: signature created + * 0: nonce invalid, try another one + * In: msg: the message being signed (cannot be NULL) + * msglen: the length of the message being signed (at most 32) + * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) + * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) + * Out: sig: pointer to a 64-byte array where the signature will be placed (cannot be NULL) + * recid: pointer to an int, which will be updated to contain the recovery id (can be NULL) + * Requires starting using SECP256K1_START_SIGN. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign_compact( + const unsigned char *msg, + int msglen, + unsigned char *sig64, + const unsigned char *seckey, + const unsigned char *nonce, + int *recid +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); + +/** Recover an ECDSA public key from a compact signature. + * Returns: 1: public key successfully recovered (which guarantees a correct signature). + * 0: otherwise. + * In: msg: the message assumed to be signed (cannot be NULL) + * msglen: the length of the message (at most 32) + * sig64: signature as 64 byte array (cannot be NULL) + * compressed: whether to recover a compressed or uncompressed pubkey + * recid: the recovery id (0-3, as returned by ecdsa_sign_compact) + * Out: pubkey: pointer to a 33 or 65 byte array to put the pubkey (cannot be NULL) + * pubkeylen: pointer to an int that will contain the pubkey length (cannot be NULL) + * Requires starting using SECP256K1_START_VERIFY. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover_compact( + const unsigned char *msg, + int msglen, + const unsigned char *sig64, + unsigned char *pubkey, + int *pubkeylen, + int compressed, + int recid +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); + +/** Verify an ECDSA secret key. + * Returns: 1: secret key is valid + * 0: secret key is invalid + * In: seckey: pointer to a 32-byte secret key (cannot be NULL) + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify(const unsigned char *seckey) SECP256K1_ARG_NONNULL(1); + +/** Just validate a public key. + * Returns: 1: valid public key + * 0: invalid public key + * In: pubkey: pointer to a 33-byte or 65-byte public key (cannot be NULL). + * pubkeylen: length of pubkey + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) SECP256K1_ARG_NONNULL(1); + +/** Compute the public key for a secret key. + * In: compressed: whether the computed public key should be compressed + * seckey: pointer to a 32-byte private key (cannot be NULL) + * Out: pubkey: pointer to a 33-byte (if compressed) or 65-byte (if uncompressed) + * area to store the public key (cannot be NULL) + * pubkeylen: pointer to int that will be updated to contains the pubkey's + * length (cannot be NULL) + * Returns: 1: secret was valid, public key stores + * 0: secret was invalid, try again. + * Requires starting using SECP256K1_START_SIGN. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create( + unsigned char *pubkey, + int *pubkeylen, + const unsigned char *seckey, + int compressed +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Decompress a public key. + * In/Out: pubkey: pointer to a 65-byte array to put the decompressed public key. + It must contain a 33-byte or 65-byte public key already (cannot be NULL) + * pubkeylen: pointer to the size of the public key pointed to by pubkey (cannot be NULL) + It will be updated to reflect the new size. + * Returns: 0 if the passed public key was invalid, 1 otherwise. If 1 is returned, the + pubkey is replaced with its decompressed version. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_decompress( + unsigned char *pubkey, + int *pubkeylen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Export a private key in DER format. */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_export( + const unsigned char *seckey, + unsigned char *privkey, + int *privkeylen, + int compressed +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); + +/** Import a private key in DER format. */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_import( + unsigned char *seckey, + const unsigned char *privkey, + int privkeylen +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Tweak a private key by adding tweak to it. */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add( + unsigned char *seckey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Tweak a public key by adding tweak times the generator to it. + * Requires starting with SECP256K1_START_VERIFY. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add( + unsigned char *pubkey, + int pubkeylen, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); + +/** Tweak a private key by multiplying it with tweak. */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul( + unsigned char *seckey, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); + +/** Tweak a public key by multiplying it with tweak. + * Requires starting with SECP256K1_START_VERIFY. + */ +SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul( + unsigned char *pubkey, + int pubkeylen, + const unsigned char *tweak +) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); + +# ifdef __cplusplus +} +# endif + +#endif diff --git a/src/secp256k1/libsecp256k1.pc.in b/src/secp256k1/libsecp256k1.pc.in new file mode 100644 index 000000000..1c72dd000 --- /dev/null +++ b/src/secp256k1/libsecp256k1.pc.in @@ -0,0 +1,13 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libsecp256k1 +Description: Optimized C library for EC operations on curve secp256k1 +URL: https://github.com/bitcoin/secp256k1 +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} +Libs.private: @SECP_LIBS@ +Libs: -L${libdir} -lsecp256k1 + diff --git a/src/secp256k1/nasm_lt.sh b/src/secp256k1/nasm_lt.sh new file mode 100755 index 000000000..6cd73294c --- /dev/null +++ b/src/secp256k1/nasm_lt.sh @@ -0,0 +1,57 @@ +#! /bin/sh +command="" +infile="" +o_opt=no +pic=no +while [ $# -gt 0 ]; do + case "$1" in + -DPIC|-fPIC|-fpic|-Kpic|-KPIC) + if [ "$pic" != "yes" ] ; then + command="$command -DPIC" + pic=yes + fi + ;; + -f|-fbin|-faout|-faoutb|-fcoff|-felf|-felf64|-fas86| \ + -fobj|-fwin32|-fwin64|-frdf|-fieee|-fmacho|-fmacho64) + # it's a file format specifier for nasm. + command="$command $1" + ;; + -f*) + # maybe a code-generation flag for gcc. + ;; + -[Ii]*) + incdir=`echo "$1" | sed 's/^-[Ii]//'` + if [ "x$incdir" = x -a "x$2" != x ] ; then + case "$2" in + -*) ;; + *) incdir="$2"; shift;; + esac + fi + if [ "x$incdir" != x ] ; then + # In the case of NASM, the trailing slash is necessary. + incdir=`echo "$incdir" | sed 's%/*$%/%'` + command="$command -I$incdir" + fi + ;; + -o*) + o_opt=yes + command="$command $1" + ;; + *.asm) + infile=$1 + command="$command $1" + ;; + *) + command="$command $1" + ;; + esac + shift +done +if [ "$o_opt" != yes ] ; then + # By default, NASM creates an output file + # in the same directory as the input file. + outfile="-o `echo $infile | sed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.o" + command="$command $outfile" +fi +echo $command +exec $command diff --git a/src/secp256k1/obj/.gitignore b/src/secp256k1/obj/.gitignore new file mode 100644 index 000000000..e69de29bb diff --git a/src/secp256k1/src/bench_inv.c b/src/secp256k1/src/bench_inv.c new file mode 100644 index 000000000..d6f664333 --- /dev/null +++ b/src/secp256k1/src/bench_inv.c @@ -0,0 +1,41 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ +#include + +#include "include/secp256k1.h" + +#include "util.h" +#include "num_impl.h" +#include "field_impl.h" +#include "group_impl.h" +#include "scalar_impl.h" + +int main(void) { + static const unsigned char init[32] = { + 0x02, 0x03, 0x05, 0x07, 0x0b, 0x0d, 0x11, 0x13, + 0x17, 0x1d, 0x1f, 0x25, 0x29, 0x2b, 0x2f, 0x35, + 0x3b, 0x3d, 0x43, 0x47, 0x49, 0x4f, 0x53, 0x59, + 0x61, 0x65, 0x67, 0x6b, 0x6d, 0x71, 0x7f, 0x83 + }; + static const unsigned char fini[32] = { + 0xba, 0x28, 0x58, 0xd8, 0xaa, 0x11, 0xd6, 0xf2, + 0xfa, 0xce, 0x50, 0xb1, 0x67, 0x19, 0xb1, 0xa6, + 0xe0, 0xaa, 0x84, 0x53, 0xf6, 0x80, 0xfc, 0x23, + 0x88, 0x3c, 0xd6, 0x74, 0x9f, 0x27, 0x09, 0x03 + }; + secp256k1_ge_start(); + secp256k1_scalar_t base, x; + secp256k1_scalar_set_b32(&base, init, NULL); + secp256k1_scalar_set_b32(&x, init, NULL); + for (int i=0; i<1000000; i++) { + secp256k1_scalar_inverse(&x, &x); + secp256k1_scalar_add(&x, &x, &base); + } + unsigned char res[32]; + secp256k1_scalar_get_b32(res, &x); + CHECK(memcmp(res, fini, 32) == 0); + return 0; +} diff --git a/src/secp256k1/src/bench_sign.c b/src/secp256k1/src/bench_sign.c new file mode 100644 index 000000000..f01f11d68 --- /dev/null +++ b/src/secp256k1/src/bench_sign.c @@ -0,0 +1,49 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ +#include +#include + +#include "include/secp256k1.h" +#include "util.h" + +int main(void) { + secp256k1_start(SECP256K1_START_SIGN); + + unsigned char msg[32]; + unsigned char nonce[32]; + unsigned char key[32]; + + for (int i = 0; i < 32; i++) msg[i] = i + 1; + for (int i = 0; i < 32; i++) nonce[i] = i + 33; + for (int i = 0; i < 32; i++) key[i] = i + 65; + + unsigned char sig[64]; + + for (int i=0; i<1000000; i++) { + int recid = 0; + CHECK(secp256k1_ecdsa_sign_compact(msg, 32, sig, key, nonce, &recid)); + for (int j = 0; j < 32; j++) { + nonce[j] = key[j]; /* Move former key to nonce */ + msg[j] = sig[j]; /* Move former R to message. */ + key[j] = sig[j + 32]; /* Move former S to key. */ + } + } + + static const unsigned char fini[64] = { + 0x92, 0x03, 0xef, 0xf1, 0x58, 0x0b, 0x49, 0x8d, + 0x22, 0x3d, 0x49, 0x0e, 0xbf, 0x26, 0x50, 0x0e, + 0x2d, 0x62, 0x90, 0xd7, 0x82, 0xbd, 0x3d, 0x5c, + 0xa9, 0x10, 0xa5, 0x49, 0xb1, 0xd8, 0x8c, 0xc0, + 0x5b, 0x5e, 0x9e, 0x68, 0x51, 0x3d, 0xe8, 0xec, + 0x82, 0x30, 0x82, 0x88, 0x8c, 0xfd, 0xe7, 0x71, + 0x15, 0x92, 0xfc, 0x14, 0x59, 0x78, 0x31, 0xb3, + 0xf6, 0x07, 0x91, 0x18, 0x00, 0x8d, 0x4c, 0xb2 + }; + CHECK(memcmp(sig, fini, 64) == 0); + + secp256k1_stop(); + return 0; +} diff --git a/src/secp256k1/src/bench_verify.c b/src/secp256k1/src/bench_verify.c new file mode 100644 index 000000000..690595516 --- /dev/null +++ b/src/secp256k1/src/bench_verify.c @@ -0,0 +1,44 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#include +#include + +#include "include/secp256k1.h" +#include "util.h" + +int main(void) { + secp256k1_start(SECP256K1_START_VERIFY); + + unsigned char msg[32]; + unsigned char sig[64]; + + for (int i = 0; i < 32; i++) msg[i] = 1 + i; + for (int i = 0; i < 64; i++) sig[i] = 65 + i; + + unsigned char pubkey[33]; + for (int i=0; i<1000000; i++) { + int pubkeylen = 33; + CHECK(secp256k1_ecdsa_recover_compact(msg, 32, sig, pubkey, &pubkeylen, 1, i % 2)); + for (int j = 0; j < 32; j++) { + sig[j + 32] = msg[j]; /* Move former message to S. */ + msg[j] = sig[j]; /* Move former R to message. */ + sig[j] = pubkey[j + 1]; /* Move recovered pubkey X coordinate to R (which must be a valid X coordinate). */ + } + } + + static const unsigned char fini[33] = { + 0x02, + 0x52, 0x63, 0xae, 0x9a, 0x9d, 0x47, 0x1f, 0x1a, + 0xb2, 0x36, 0x65, 0x89, 0x11, 0xe7, 0xcc, 0x86, + 0xa3, 0xab, 0x97, 0xb6, 0xf1, 0xaf, 0xfd, 0x8f, + 0x9b, 0x38, 0xb6, 0x18, 0x55, 0xe5, 0xc2, 0x43 + }; + CHECK(memcmp(fini, pubkey, 33) == 0); + + secp256k1_stop(); + return 0; +} diff --git a/src/secp256k1/src/ecdsa.h b/src/secp256k1/src/ecdsa.h new file mode 100644 index 000000000..5fc5230c3 --- /dev/null +++ b/src/secp256k1/src/ecdsa.h @@ -0,0 +1,27 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECDSA_ +#define _SECP256K1_ECDSA_ + +#include "scalar.h" +#include "group.h" + +static void secp256k1_ecsda_start(void); +static void secp256k1_ecdsa_stop(void); + +typedef struct { + secp256k1_scalar_t r, s; +} secp256k1_ecdsa_sig_t; + +static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size); +static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a); +static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message); +static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid); +static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid); +static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s); + +#endif diff --git a/src/secp256k1/src/ecdsa_impl.h b/src/secp256k1/src/ecdsa_impl.h new file mode 100644 index 000000000..a951d0b4a --- /dev/null +++ b/src/secp256k1/src/ecdsa_impl.h @@ -0,0 +1,205 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + + +#ifndef _SECP256K1_ECDSA_IMPL_H_ +#define _SECP256K1_ECDSA_IMPL_H_ + +#include "scalar.h" +#include "field.h" +#include "group.h" +#include "ecmult.h" +#include "ecmult_gen.h" +#include "ecdsa.h" + +typedef struct { + secp256k1_fe_t order_as_fe; + secp256k1_fe_t p_minus_order; +} secp256k1_ecdsa_consts_t; + +static const secp256k1_ecdsa_consts_t *secp256k1_ecdsa_consts = NULL; + +static void secp256k1_ecdsa_start(void) { + if (secp256k1_ecdsa_consts != NULL) + return; + + /* Allocate. */ + secp256k1_ecdsa_consts_t *ret = (secp256k1_ecdsa_consts_t*)malloc(sizeof(secp256k1_ecdsa_consts_t)); + + static const unsigned char order[] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, + 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 + }; + + secp256k1_fe_set_b32(&ret->order_as_fe, order); + secp256k1_fe_negate(&ret->p_minus_order, &ret->order_as_fe, 1); + secp256k1_fe_normalize(&ret->p_minus_order); + + /* Set the global pointer. */ + secp256k1_ecdsa_consts = ret; +} + +static void secp256k1_ecdsa_stop(void) { + if (secp256k1_ecdsa_consts == NULL) + return; + + secp256k1_ecdsa_consts_t *c = (secp256k1_ecdsa_consts_t*)secp256k1_ecdsa_consts; + secp256k1_ecdsa_consts = NULL; + free(c); +} + +static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size) { + if (sig[0] != 0x30) return 0; + int lenr = sig[3]; + if (5+lenr >= size) return 0; + int lens = sig[lenr+5]; + if (sig[1] != lenr+lens+4) return 0; + if (lenr+lens+6 > size) return 0; + if (sig[2] != 0x02) return 0; + if (lenr == 0) return 0; + if (sig[lenr+4] != 0x02) return 0; + if (lens == 0) return 0; + const unsigned char *sp = sig + 6 + lenr; + while (lens > 0 && sp[0] == 0) { + lens--; + sp++; + } + if (lens > 32) return 0; + const unsigned char *rp = sig + 4; + while (lenr > 0 && rp[0] == 0) { + lenr--; + rp++; + } + if (lenr > 32) return 0; + unsigned char ra[32] = {0}, sa[32] = {0}; + memcpy(ra + 32 - lenr, rp, lenr); + memcpy(sa + 32 - lens, sp, lens); + int overflow = 0; + secp256k1_scalar_set_b32(&r->r, ra, &overflow); + if (overflow) return 0; + secp256k1_scalar_set_b32(&r->s, sa, &overflow); + if (overflow) return 0; + return 1; +} + +static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a) { + unsigned char r[33] = {0}, s[33] = {0}; + secp256k1_scalar_get_b32(&r[1], &a->r); + secp256k1_scalar_get_b32(&s[1], &a->s); + unsigned char *rp = r, *sp = s; + int lenR = 33, lenS = 33; + while (lenR > 1 && rp[0] == 0 && rp[1] < 0x80) { lenR--; rp++; } + while (lenS > 1 && sp[0] == 0 && sp[1] < 0x80) { lenS--; sp++; } + if (*size < 6+lenS+lenR) + return 0; + *size = 6 + lenS + lenR; + sig[0] = 0x30; + sig[1] = 4 + lenS + lenR; + sig[2] = 0x02; + sig[3] = lenR; + memcpy(sig+4, rp, lenR); + sig[4+lenR] = 0x02; + sig[5+lenR] = lenS; + memcpy(sig+lenR+6, sp, lenS); + return 1; +} + +static int secp256k1_ecdsa_sig_recompute(secp256k1_scalar_t *r2, const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { + if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) + return 0; + + int ret = 0; + secp256k1_scalar_t sn, u1, u2; + secp256k1_scalar_inverse_var(&sn, &sig->s); + secp256k1_scalar_mul(&u1, &sn, message); + secp256k1_scalar_mul(&u2, &sn, &sig->r); + secp256k1_gej_t pubkeyj; secp256k1_gej_set_ge(&pubkeyj, pubkey); + secp256k1_gej_t pr; secp256k1_ecmult(&pr, &pubkeyj, &u2, &u1); + if (!secp256k1_gej_is_infinity(&pr)) { + secp256k1_fe_t xr; secp256k1_gej_get_x_var(&xr, &pr); + secp256k1_fe_normalize(&xr); + unsigned char xrb[32]; secp256k1_fe_get_b32(xrb, &xr); + secp256k1_scalar_set_b32(r2, xrb, NULL); + ret = 1; + } + return ret; +} + +static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid) { + if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) + return 0; + + unsigned char brx[32]; + secp256k1_scalar_get_b32(brx, &sig->r); + secp256k1_fe_t fx; + VERIFY_CHECK(secp256k1_fe_set_b32(&fx, brx)); /* brx comes from a scalar, so is less than the order; certainly less than p */ + if (recid & 2) { + if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_consts->p_minus_order) >= 0) + return 0; + secp256k1_fe_add(&fx, &secp256k1_ecdsa_consts->order_as_fe); + } + secp256k1_ge_t x; + if (!secp256k1_ge_set_xo(&x, &fx, recid & 1)) + return 0; + secp256k1_gej_t xj; + secp256k1_gej_set_ge(&xj, &x); + secp256k1_scalar_t rn, u1, u2; + secp256k1_scalar_inverse_var(&rn, &sig->r); + secp256k1_scalar_mul(&u1, &rn, message); + secp256k1_scalar_negate(&u1, &u1); + secp256k1_scalar_mul(&u2, &rn, &sig->s); + secp256k1_gej_t qj; + secp256k1_ecmult(&qj, &xj, &u2, &u1); + secp256k1_ge_set_gej_var(pubkey, &qj); + return !secp256k1_gej_is_infinity(&qj); +} + +static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { + secp256k1_scalar_t r2; + int ret = 0; + ret = secp256k1_ecdsa_sig_recompute(&r2, sig, pubkey, message) && secp256k1_scalar_eq(&sig->r, &r2); + return ret; +} + +static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid) { + secp256k1_gej_t rp; + secp256k1_ecmult_gen(&rp, nonce); + secp256k1_ge_t r; + secp256k1_ge_set_gej(&r, &rp); + unsigned char b[32]; + secp256k1_fe_normalize(&r.x); + secp256k1_fe_normalize(&r.y); + secp256k1_fe_get_b32(b, &r.x); + int overflow = 0; + secp256k1_scalar_set_b32(&sig->r, b, &overflow); + if (recid) + *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); + secp256k1_scalar_t n; + secp256k1_scalar_mul(&n, &sig->r, seckey); + secp256k1_scalar_add(&n, &n, message); + secp256k1_scalar_inverse(&sig->s, nonce); + secp256k1_scalar_mul(&sig->s, &sig->s, &n); + secp256k1_scalar_clear(&n); + secp256k1_gej_clear(&rp); + secp256k1_ge_clear(&r); + if (secp256k1_scalar_is_zero(&sig->s)) + return 0; + if (secp256k1_scalar_is_high(&sig->s)) { + secp256k1_scalar_negate(&sig->s, &sig->s); + if (recid) + *recid ^= 1; + } + return 1; +} + +static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s) { + sig->r = *r; + sig->s = *s; +} + +#endif diff --git a/src/secp256k1/src/eckey.h b/src/secp256k1/src/eckey.h new file mode 100644 index 000000000..6de5dc0a5 --- /dev/null +++ b/src/secp256k1/src/eckey.h @@ -0,0 +1,24 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECKEY_ +#define _SECP256K1_ECKEY_ + +#include "group.h" +#include "scalar.h" + +static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size); +static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed); + +static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen); +static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed); + +static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); +static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); +static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); +static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); + +#endif diff --git a/src/secp256k1/src/eckey_impl.h b/src/secp256k1/src/eckey_impl.h new file mode 100644 index 000000000..0f218ced9 --- /dev/null +++ b/src/secp256k1/src/eckey_impl.h @@ -0,0 +1,191 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECKEY_IMPL_H_ +#define _SECP256K1_ECKEY_IMPL_H_ + +#include "eckey.h" + +#include "scalar.h" +#include "field.h" +#include "group.h" +#include "ecmult_gen.h" + +static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { + if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { + secp256k1_fe_t x; + return secp256k1_fe_set_b32(&x, pub+1) && secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); + } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { + secp256k1_fe_t x, y; + if (!secp256k1_fe_set_b32(&x, pub+1) || !secp256k1_fe_set_b32(&y, pub+33)) { + return 0; + } + secp256k1_ge_set_xy(elem, &x, &y); + if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) + return 0; + return secp256k1_ge_is_valid(elem); + } else { + return 0; + } +} + +static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed) { + if (secp256k1_ge_is_infinity(elem)) { + return 0; + } + secp256k1_fe_normalize(&elem->x); + secp256k1_fe_normalize(&elem->y); + secp256k1_fe_get_b32(&pub[1], &elem->x); + if (compressed) { + *size = 33; + pub[0] = 0x02 | (secp256k1_fe_is_odd(&elem->y) ? 0x01 : 0x00); + } else { + *size = 65; + pub[0] = 0x04; + secp256k1_fe_get_b32(&pub[33], &elem->y); + } + return 1; +} + +static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen) { + const unsigned char *end = privkey + privkeylen; + /* sequence header */ + if (end < privkey+1 || *privkey != 0x30) + return 0; + privkey++; + /* sequence length constructor */ + int lenb = 0; + if (end < privkey+1 || !(*privkey & 0x80)) + return 0; + lenb = *privkey & ~0x80; privkey++; + if (lenb < 1 || lenb > 2) + return 0; + if (end < privkey+lenb) + return 0; + /* sequence length */ + int len = 0; + len = privkey[lenb-1] | (lenb > 1 ? privkey[lenb-2] << 8 : 0); + privkey += lenb; + if (end < privkey+len) + return 0; + /* sequence element 0: version number (=1) */ + if (end < privkey+3 || privkey[0] != 0x02 || privkey[1] != 0x01 || privkey[2] != 0x01) + return 0; + privkey += 3; + /* sequence element 1: octet string, up to 32 bytes */ + if (end < privkey+2 || privkey[0] != 0x04 || privkey[1] > 0x20 || end < privkey+2+privkey[1]) + return 0; + int overflow = 0; + unsigned char c[32] = {0}; + memcpy(c + 32 - privkey[1], privkey + 2, privkey[1]); + secp256k1_scalar_set_b32(key, c, &overflow); + memset(c, 0, 32); + return !overflow; +} + +static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed) { + secp256k1_gej_t rp; + secp256k1_ecmult_gen(&rp, key); + secp256k1_ge_t r; + secp256k1_ge_set_gej(&r, &rp); + if (compressed) { + static const unsigned char begin[] = { + 0x30,0x81,0xD3,0x02,0x01,0x01,0x04,0x20 + }; + static const unsigned char middle[] = { + 0xA0,0x81,0x85,0x30,0x81,0x82,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, + 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, + 0x21,0x02,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, + 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, + 0x17,0x98,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, + 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x24,0x03,0x22,0x00 + }; + unsigned char *ptr = privkey; + memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); + secp256k1_scalar_get_b32(ptr, key); ptr += 32; + memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); + int pubkeylen = 0; + if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 1)) { + return 0; + } + ptr += pubkeylen; + *privkeylen = ptr - privkey; + } else { + static const unsigned char begin[] = { + 0x30,0x82,0x01,0x13,0x02,0x01,0x01,0x04,0x20 + }; + static const unsigned char middle[] = { + 0xA0,0x81,0xA5,0x30,0x81,0xA2,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, + 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, + 0x41,0x04,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, + 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, + 0x17,0x98,0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65,0x5D,0xA4,0xFB,0xFC,0x0E,0x11, + 0x08,0xA8,0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19,0x9C,0x47,0xD0,0x8F,0xFB,0x10, + 0xD4,0xB8,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, + 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x44,0x03,0x42,0x00 + }; + unsigned char *ptr = privkey; + memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); + secp256k1_scalar_get_b32(ptr, key); ptr += 32; + memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); + int pubkeylen = 0; + if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 0)) { + return 0; + } + ptr += pubkeylen; + *privkeylen = ptr - privkey; + } + return 1; +} + +static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { + secp256k1_scalar_add(key, key, tweak); + if (secp256k1_scalar_is_zero(key)) + return 0; + return 1; +} + +static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { + secp256k1_gej_t pt; + secp256k1_gej_set_ge(&pt, key); + secp256k1_scalar_t one; + secp256k1_scalar_set_int(&one, 1); + secp256k1_ecmult(&pt, &pt, &one, tweak); + + if (secp256k1_gej_is_infinity(&pt)) + return 0; + secp256k1_ge_set_gej(key, &pt); + return 1; +} + +static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { + if (secp256k1_scalar_is_zero(tweak)) + return 0; + + secp256k1_scalar_mul(key, key, tweak); + return 1; +} + +static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { + if (secp256k1_scalar_is_zero(tweak)) + return 0; + + secp256k1_scalar_t zero; + secp256k1_scalar_set_int(&zero, 0); + secp256k1_gej_t pt; + secp256k1_gej_set_ge(&pt, key); + secp256k1_ecmult(&pt, &pt, tweak, &zero); + secp256k1_ge_set_gej(key, &pt); + return 1; +} + +#endif diff --git a/src/secp256k1/src/ecmult.h b/src/secp256k1/src/ecmult.h new file mode 100644 index 000000000..15a7100a4 --- /dev/null +++ b/src/secp256k1/src/ecmult.h @@ -0,0 +1,19 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECMULT_ +#define _SECP256K1_ECMULT_ + +#include "num.h" +#include "group.h" + +static void secp256k1_ecmult_start(void); +static void secp256k1_ecmult_stop(void); + +/** Double multiply: R = na*A + ng*G */ +static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng); + +#endif diff --git a/src/secp256k1/src/ecmult_gen.h b/src/secp256k1/src/ecmult_gen.h new file mode 100644 index 000000000..42f822f9c --- /dev/null +++ b/src/secp256k1/src/ecmult_gen.h @@ -0,0 +1,19 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECMULT_GEN_ +#define _SECP256K1_ECMULT_GEN_ + +#include "scalar.h" +#include "group.h" + +static void secp256k1_ecmult_gen_start(void); +static void secp256k1_ecmult_gen_stop(void); + +/** Multiply with the generator: R = a*G */ +static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *a); + +#endif diff --git a/src/secp256k1/src/ecmult_gen_impl.h b/src/secp256k1/src/ecmult_gen_impl.h new file mode 100644 index 000000000..af0ead522 --- /dev/null +++ b/src/secp256k1/src/ecmult_gen_impl.h @@ -0,0 +1,121 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECMULT_GEN_IMPL_H_ +#define _SECP256K1_ECMULT_GEN_IMPL_H_ + +#include "scalar.h" +#include "group.h" +#include "ecmult_gen.h" + +typedef struct { + /* For accelerating the computation of a*G: + * To harden against timing attacks, use the following mechanism: + * * Break up the multiplicand into groups of 4 bits, called n_0, n_1, n_2, ..., n_63. + * * Compute sum(n_i * 16^i * G + U_i, i=0..63), where: + * * U_i = U * 2^i (for i=0..62) + * * U_i = U * (1-2^63) (for i=63) + * where U is a point with no known corresponding scalar. Note that sum(U_i, i=0..63) = 0. + * For each i, and each of the 16 possible values of n_i, (n_i * 16^i * G + U_i) is + * precomputed (call it prec(i, n_i)). The formula now becomes sum(prec(i, n_i), i=0..63). + * None of the resulting prec group elements have a known scalar, and neither do any of + * the intermediate sums while computing a*G. + */ + secp256k1_fe_t prec[64][16][2]; /* prec[j][i] = (16^j * i * G + U_i).{x,y} */ +} secp256k1_ecmult_gen_consts_t; + +static const secp256k1_ecmult_gen_consts_t *secp256k1_ecmult_gen_consts = NULL; + +static void secp256k1_ecmult_gen_start(void) { + if (secp256k1_ecmult_gen_consts != NULL) + return; + + /* Allocate the precomputation table. */ + secp256k1_ecmult_gen_consts_t *ret = (secp256k1_ecmult_gen_consts_t*)malloc(sizeof(secp256k1_ecmult_gen_consts_t)); + + /* get the generator */ + const secp256k1_ge_t *g = &secp256k1_ge_consts->g; + secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); + + /* Construct a group element with no known corresponding scalar (nothing up my sleeve). */ + secp256k1_gej_t nums_gej; + { + static const unsigned char nums_b32[32] = "The scalar for this x is unknown"; + secp256k1_fe_t nums_x; + VERIFY_CHECK(secp256k1_fe_set_b32(&nums_x, nums_b32)); + secp256k1_ge_t nums_ge; + VERIFY_CHECK(secp256k1_ge_set_xo(&nums_ge, &nums_x, 0)); + secp256k1_gej_set_ge(&nums_gej, &nums_ge); + /* Add G to make the bits in x uniformly distributed. */ + secp256k1_gej_add_ge_var(&nums_gej, &nums_gej, g); + } + + /* compute prec. */ + secp256k1_ge_t prec[1024]; + { + secp256k1_gej_t precj[1024]; /* Jacobian versions of prec. */ + secp256k1_gej_t gbase; gbase = gj; /* 16^j * G */ + secp256k1_gej_t numsbase; numsbase = nums_gej; /* 2^j * nums. */ + for (int j=0; j<64; j++) { + /* Set precj[j*16 .. j*16+15] to (numsbase, numsbase + gbase, ..., numsbase + 15*gbase). */ + precj[j*16] = numsbase; + for (int i=1; i<16; i++) { + secp256k1_gej_add_var(&precj[j*16 + i], &precj[j*16 + i - 1], &gbase); + } + /* Multiply gbase by 16. */ + for (int i=0; i<4; i++) { + secp256k1_gej_double_var(&gbase, &gbase); + } + /* Multiply numbase by 2. */ + secp256k1_gej_double_var(&numsbase, &numsbase); + if (j == 62) { + /* In the last iteration, numsbase is (1 - 2^j) * nums instead. */ + secp256k1_gej_neg(&numsbase, &numsbase); + secp256k1_gej_add_var(&numsbase, &numsbase, &nums_gej); + } + } + secp256k1_ge_set_all_gej_var(1024, prec, precj); + } + for (int j=0; j<64; j++) { + for (int i=0; i<16; i++) { + VERIFY_CHECK(!secp256k1_ge_is_infinity(&prec[j*16 + i])); + ret->prec[j][i][0] = prec[j*16 + i].x; + ret->prec[j][i][1] = prec[j*16 + i].y; + } + } + + /* Set the global pointer to the precomputation table. */ + secp256k1_ecmult_gen_consts = ret; +} + +static void secp256k1_ecmult_gen_stop(void) { + if (secp256k1_ecmult_gen_consts == NULL) + return; + + secp256k1_ecmult_gen_consts_t *c = (secp256k1_ecmult_gen_consts_t*)secp256k1_ecmult_gen_consts; + secp256k1_ecmult_gen_consts = NULL; + free(c); +} + +static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *gn) { + const secp256k1_ecmult_gen_consts_t *c = secp256k1_ecmult_gen_consts; + secp256k1_gej_set_infinity(r); + secp256k1_ge_t add; + add.infinity = 0; + int bits; + for (int j=0; j<64; j++) { + bits = secp256k1_scalar_get_bits(gn, j * 4, 4); + for (int i=0; i<16; i++) { + secp256k1_fe_cmov(&add.x, &c->prec[j][i][0], i == bits); + secp256k1_fe_cmov(&add.y, &c->prec[j][i][1], i == bits); + } + secp256k1_gej_add_ge(r, r, &add); + } + bits = 0; + secp256k1_ge_clear(&add); +} + +#endif diff --git a/src/secp256k1/src/ecmult_impl.h b/src/secp256k1/src/ecmult_impl.h new file mode 100644 index 000000000..445b81593 --- /dev/null +++ b/src/secp256k1/src/ecmult_impl.h @@ -0,0 +1,245 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_ECMULT_IMPL_H_ +#define _SECP256K1_ECMULT_IMPL_H_ + +#include "group.h" +#include "scalar.h" +#include "ecmult.h" + +/* optimal for 128-bit and 256-bit exponents. */ +#define WINDOW_A 5 + +/** larger numbers may result in slightly better performance, at the cost of + exponentially larger precomputed tables. WINDOW_G == 14 results in 640 KiB. */ +#ifdef USE_ENDOMORPHISM +#define WINDOW_G 14 +#else +#define WINDOW_G 15 +#endif + +/** Fill a table 'pre' with precomputed odd multiples of a. W determines the size of the table. + * pre will contains the values [1*a,3*a,5*a,...,(2^(w-1)-1)*a], so it needs place for + * 2^(w-2) entries. + * + * There are two versions of this function: + * - secp256k1_ecmult_precomp_wnaf_gej, which operates on group elements in jacobian notation, + * fast to precompute, but slower to use in later additions. + * - secp256k1_ecmult_precomp_wnaf_ge, which operates on group elements in affine notations, + * (much) slower to precompute, but a bit faster to use in later additions. + * To compute a*P + b*G, we use the jacobian version for P, and the affine version for G, as + * G is constant, so it only needs to be done once in advance. + */ +static void secp256k1_ecmult_table_precomp_gej_var(secp256k1_gej_t *pre, const secp256k1_gej_t *a, int w) { + pre[0] = *a; + secp256k1_gej_t d; secp256k1_gej_double_var(&d, &pre[0]); + for (int i=1; i<(1 << (w-2)); i++) + secp256k1_gej_add_var(&pre[i], &d, &pre[i-1]); +} + +static void secp256k1_ecmult_table_precomp_ge_var(secp256k1_ge_t *pre, const secp256k1_gej_t *a, int w) { + const int table_size = 1 << (w-2); + secp256k1_gej_t prej[table_size]; + prej[0] = *a; + secp256k1_gej_t d; secp256k1_gej_double_var(&d, a); + for (int i=1; i= -((1 << ((w)-1)) - 1)); \ + VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ + if ((n) > 0) \ + *(r) = (pre)[((n)-1)/2]; \ + else \ + (neg)((r), &(pre)[(-(n)-1)/2]); \ +} while(0) + +#define ECMULT_TABLE_GET_GEJ(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_gej_neg) +#define ECMULT_TABLE_GET_GE(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_ge_neg) + +typedef struct { + /* For accelerating the computation of a*P + b*G: */ + secp256k1_ge_t pre_g[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of the generator */ +#ifdef USE_ENDOMORPHISM + secp256k1_ge_t pre_g_128[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of 2^128*generator */ +#endif +} secp256k1_ecmult_consts_t; + +static const secp256k1_ecmult_consts_t *secp256k1_ecmult_consts = NULL; + +static void secp256k1_ecmult_start(void) { + if (secp256k1_ecmult_consts != NULL) + return; + + /* Allocate the precomputation table. */ + secp256k1_ecmult_consts_t *ret = (secp256k1_ecmult_consts_t*)malloc(sizeof(secp256k1_ecmult_consts_t)); + + /* get the generator */ + const secp256k1_ge_t *g = &secp256k1_ge_consts->g; + secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); + +#ifdef USE_ENDOMORPHISM + /* calculate 2^128*generator */ + secp256k1_gej_t g_128j = gj; + for (int i=0; i<128; i++) + secp256k1_gej_double_var(&g_128j, &g_128j); +#endif + + /* precompute the tables with odd multiples */ + secp256k1_ecmult_table_precomp_ge_var(ret->pre_g, &gj, WINDOW_G); +#ifdef USE_ENDOMORPHISM + secp256k1_ecmult_table_precomp_ge_var(ret->pre_g_128, &g_128j, WINDOW_G); +#endif + + /* Set the global pointer to the precomputation table. */ + secp256k1_ecmult_consts = ret; +} + +static void secp256k1_ecmult_stop(void) { + if (secp256k1_ecmult_consts == NULL) + return; + + secp256k1_ecmult_consts_t *c = (secp256k1_ecmult_consts_t*)secp256k1_ecmult_consts; + secp256k1_ecmult_consts = NULL; + free(c); +} + +/** Convert a number to WNAF notation. The number becomes represented by sum(2^i * wnaf[i], i=0..bits), + * with the following guarantees: + * - each wnaf[i] is either 0, or an odd integer between -(1<<(w-1) - 1) and (1<<(w-1) - 1) + * - two non-zero entries in wnaf are separated by at least w-1 zeroes. + * - the number of set values in wnaf is returned. This number is at most 256, and at most one more + * - than the number of bits in the (absolute value) of the input. + */ +static int secp256k1_ecmult_wnaf(int *wnaf, const secp256k1_scalar_t *a, int w) { + secp256k1_scalar_t s = *a; + + int sign = 1; + if (secp256k1_scalar_get_bits(&s, 255, 1)) { + secp256k1_scalar_negate(&s, &s); + sign = -1; + } + + int set_bits = 0; + int bit = 0; + while (bit < 256) { + if (secp256k1_scalar_get_bits(&s, bit, 1) == 0) { + bit++; + continue; + } + while (set_bits < bit) { + wnaf[set_bits++] = 0; + } + int now = w; + if (bit + now > 256) { + now = 256 - bit; + } + int word = secp256k1_scalar_get_bits_var(&s, bit, now); + if (word & (1 << (w-1))) { + secp256k1_scalar_add_bit(&s, bit + w); + wnaf[set_bits++] = sign * (word - (1 << w)); + } else { + wnaf[set_bits++] = sign * word; + } + bit += now; + } + return set_bits; +} + +static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng) { + const secp256k1_ecmult_consts_t *c = secp256k1_ecmult_consts; + +#ifdef USE_ENDOMORPHISM + secp256k1_scalar_t na_1, na_lam; + /* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */ + secp256k1_scalar_split_lambda_var(&na_1, &na_lam, na); + + /* build wnaf representation for na_1 and na_lam. */ + int wnaf_na_1[130]; int bits_na_1 = secp256k1_ecmult_wnaf(wnaf_na_1, &na_1, WINDOW_A); + int wnaf_na_lam[130]; int bits_na_lam = secp256k1_ecmult_wnaf(wnaf_na_lam, &na_lam, WINDOW_A); + VERIFY_CHECK(bits_na_1 <= 130); + VERIFY_CHECK(bits_na_lam <= 130); + int bits = bits_na_1; + if (bits_na_lam > bits) bits = bits_na_lam; +#else + /* build wnaf representation for na. */ + int wnaf_na[256]; int bits_na = secp256k1_ecmult_wnaf(wnaf_na, na, WINDOW_A); + int bits = bits_na; +#endif + + /* calculate odd multiples of a */ + secp256k1_gej_t pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; + secp256k1_ecmult_table_precomp_gej_var(pre_a, a, WINDOW_A); + +#ifdef USE_ENDOMORPHISM + secp256k1_gej_t pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; + for (int i=0; i bits) bits = bits_ng_1; + if (bits_ng_128 > bits) bits = bits_ng_128; +#else + int wnaf_ng[257]; int bits_ng = secp256k1_ecmult_wnaf(wnaf_ng, ng, WINDOW_G); + if (bits_ng > bits) bits = bits_ng; +#endif + + secp256k1_gej_set_infinity(r); + secp256k1_gej_t tmpj; + secp256k1_ge_t tmpa; + + for (int i=bits-1; i>=0; i--) { + secp256k1_gej_double_var(r, r); + int n; +#ifdef USE_ENDOMORPHISM + if (i < bits_na_1 && (n = wnaf_na_1[i])) { + ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); + secp256k1_gej_add_var(r, r, &tmpj); + } + if (i < bits_na_lam && (n = wnaf_na_lam[i])) { + ECMULT_TABLE_GET_GEJ(&tmpj, pre_a_lam, n, WINDOW_A); + secp256k1_gej_add_var(r, r, &tmpj); + } + if (i < bits_ng_1 && (n = wnaf_ng_1[i])) { + ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); + secp256k1_gej_add_ge_var(r, r, &tmpa); + } + if (i < bits_ng_128 && (n = wnaf_ng_128[i])) { + ECMULT_TABLE_GET_GE(&tmpa, c->pre_g_128, n, WINDOW_G); + secp256k1_gej_add_ge_var(r, r, &tmpa); + } +#else + if (i < bits_na && (n = wnaf_na[i])) { + ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); + secp256k1_gej_add_var(r, r, &tmpj); + } + if (i < bits_ng && (n = wnaf_ng[i])) { + ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); + secp256k1_gej_add_ge_var(r, r, &tmpa); + } +#endif + } +} + +#endif diff --git a/src/secp256k1/src/field.h b/src/secp256k1/src/field.h new file mode 100644 index 000000000..0cdf0fb47 --- /dev/null +++ b/src/secp256k1/src/field.h @@ -0,0 +1,122 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_ +#define _SECP256K1_FIELD_ + +/** Field element module. + * + * Field elements can be represented in several ways, but code accessing + * it (and implementations) need to take certain properaties into account: + * - Each field element can be normalized or not. + * - Each field element has a magnitude, which represents how far away + * its representation is away from normalization. Normalized elements + * always have a magnitude of 1, but a magnitude of 1 doesn't imply + * normality. + */ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_FIELD_GMP) +#include "field_gmp.h" +#elif defined(USE_FIELD_10X26) +#include "field_10x26.h" +#elif defined(USE_FIELD_5X52) +#include "field_5x52.h" +#else +#error "Please select field implementation" +#endif + +typedef struct { +#ifndef USE_NUM_NONE + secp256k1_num_t p; +#endif + secp256k1_fe_t order; +} secp256k1_fe_consts_t; + +static const secp256k1_fe_consts_t *secp256k1_fe_consts = NULL; + +/** Initialize field element precomputation data. */ +static void secp256k1_fe_start(void); + +/** Unload field element precomputation data. */ +static void secp256k1_fe_stop(void); + +/** Normalize a field element. */ +static void secp256k1_fe_normalize(secp256k1_fe_t *r); + +/** Set a field element equal to a small integer. Resulting field element is normalized. */ +static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a); + +/** Verify whether a field element is zero. Requires the input to be normalized. */ +static int secp256k1_fe_is_zero(const secp256k1_fe_t *a); + +/** Check the "oddness" of a field element. Requires the input to be normalized. */ +static int secp256k1_fe_is_odd(const secp256k1_fe_t *a); + +/** Compare two field elements. Requires both inputs to be normalized */ +static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b); + +/** Compare two field elements. Requires both inputs to be normalized */ +static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b); + +/** Set a field element equal to 32-byte big endian value. If succesful, the resulting field element is normalized. */ +static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a); + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a); + +/** Set a field element equal to the additive inverse of another. Takes a maximum magnitude of the input + * as an argument. The magnitude of the output is one higher. */ +static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m); + +/** Multiplies the passed field element with a small integer constant. Multiplies the magnitude by that + * small integer. */ +static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a); + +/** Adds a field element to another. The result has the sum of the inputs' magnitudes as magnitude. */ +static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a); + +/** Sets a field element to be the product of two others. Requires the inputs' magnitudes to be at most 8. + * The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b); + +/** Sets a field element to be the square of another. Requires the input's magnitude to be at most 8. + * The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a); + +/** Sets a field element to be the (modular) square root (if any exist) of another. Requires the + * input's magnitude to be at most 8. The output magnitude is 1 (but not guaranteed to be + * normalized). Return value indicates whether a square root was found. */ +static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a); + +/** Sets a field element to be the (modular) inverse of another. Requires the input's magnitude to be + * at most 8. The output magnitude is 1 (but not guaranteed to be normalized). */ +static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a); + +/** Potentially faster version of secp256k1_fe_inv, without constant-time guarantee. */ +static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a); + +/** Calculate the (modular) inverses of a batch of field elements. Requires the inputs' magnitudes to be + * at most 8. The output magnitudes are 1 (but not guaranteed to be normalized). The inputs and + * outputs must not overlap in memory. */ +static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); + +/** Potentially faster version of secp256k1_fe_inv_all, without constant-time guarantee. */ +static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); + +/** Convert a field element to a hexadecimal string. */ +static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a); + +/** Convert a hexadecimal string to a field element. */ +static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen); + +/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ +static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag); + +#endif diff --git a/src/secp256k1/src/field_10x26.h b/src/secp256k1/src/field_10x26.h new file mode 100644 index 000000000..66fb3f256 --- /dev/null +++ b/src/secp256k1/src/field_10x26.h @@ -0,0 +1,21 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_ +#define _SECP256K1_FIELD_REPR_ + +#include + +typedef struct { + /* X = sum(i=0..9, elem[i]*2^26) mod n */ + uint32_t n[10]; +#ifdef VERIFY + int magnitude; + int normalized; +#endif +} secp256k1_fe_t; + +#endif diff --git a/src/secp256k1/src/field_10x26_impl.h b/src/secp256k1/src/field_10x26_impl.h new file mode 100644 index 000000000..c4403fba2 --- /dev/null +++ b/src/secp256k1/src/field_10x26_impl.h @@ -0,0 +1,923 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ +#define _SECP256K1_FIELD_REPR_IMPL_H_ + +#include +#include +#include "util.h" +#include "num.h" +#include "field.h" + +static void secp256k1_fe_inner_start(void) {} +static void secp256k1_fe_inner_stop(void) {} + +#ifdef VERIFY +static void secp256k1_fe_verify(const secp256k1_fe_t *a) { + const uint32_t *d = a->n; + int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; + r &= (d[0] <= 0x3FFFFFFUL * m); + r &= (d[1] <= 0x3FFFFFFUL * m); + r &= (d[2] <= 0x3FFFFFFUL * m); + r &= (d[3] <= 0x3FFFFFFUL * m); + r &= (d[4] <= 0x3FFFFFFUL * m); + r &= (d[5] <= 0x3FFFFFFUL * m); + r &= (d[6] <= 0x3FFFFFFUL * m); + r &= (d[7] <= 0x3FFFFFFUL * m); + r &= (d[8] <= 0x3FFFFFFUL * m); + r &= (d[9] <= 0x03FFFFFUL * m); + r &= (a->magnitude >= 0); + if (a->normalized) { + r &= (a->magnitude <= 1); + if (r && (d[9] == 0x03FFFFFUL)) { + uint32_t mid = d[8] & d[7] & d[6] & d[5] & d[4] & d[3] & d[2]; + if (mid == 0x3FFFFFFUL) { + r &= ((d[1] + 0x40UL + ((d[0] + 0x3D1UL) >> 26)) <= 0x3FFFFFFUL); + } + } + } + VERIFY_CHECK(r == 1); +} +#else +static void secp256k1_fe_verify(const secp256k1_fe_t *a) { + (void)a; +} +#endif + +static void secp256k1_fe_normalize(secp256k1_fe_t *r) { + uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], + t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; + + /* Reduce t9 at the start so there will be at most a single carry from the first pass */ + uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; + uint32_t m; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; + + /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t9 >> 23 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) + & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); + + /* Apply the final reduction (for constant-time behaviour, we do it always) */ + t0 += x * 0x3D1UL; t1 += (x << 6); + t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; + t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; + t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; + t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; + t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; + t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; + t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; + t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; + t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; + + /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ + VERIFY_CHECK(t9 >> 22 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t9 &= 0x03FFFFFUL; + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { + r->n[0] = a; + r->n[1] = r->n[2] = r->n[3] = r->n[4] = r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + const uint32_t *t = a->n; + return (t[0] | t[1] | t[2] | t[3] | t[4] | t[5] | t[6] | t[7] | t[8] | t[9]) == 0; +} + +SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return a->n[0] & 1; +} + +SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { +#ifdef VERIFY + a->magnitude = 0; + a->normalized = 1; +#endif + for (int i=0; i<10; i++) { + a->n[i] = 0; + } +} + +SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + const uint32_t *t = a->n, *u = b->n; + return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4]) + | (t[5]^u[5]) | (t[6]^u[6]) | (t[7]^u[7]) | (t[8]^u[8]) | (t[9]^u[9])) == 0; +} + +static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + for (int i = 9; i >= 0; i--) { + if (a->n[i] > b->n[i]) return 1; + if (a->n[i] < b->n[i]) return -1; + } + return 0; +} + +static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { + r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; + r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; + for (int i=0; i<32; i++) { + for (int j=0; j<4; j++) { + int limb = (8*i+2*j)/26; + int shift = (8*i+2*j)%26; + r->n[limb] |= (uint32_t)((a[31-i] >> (2*j)) & 0x3) << shift; + } + } + if (r->n[9] == 0x3FFFFFUL && (r->n[8] & r->n[7] & r->n[6] & r->n[5] & r->n[4] & r->n[3] & r->n[2]) == 0x3FFFFFFUL && (r->n[1] + 0x40UL + ((r->n[0] + 0x3D1UL) >> 26)) > 0x3FFFFFFUL) { + return 0; + } +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif + return 1; +} + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + for (int i=0; i<32; i++) { + int c = 0; + for (int j=0; j<4; j++) { + int limb = (8*i+2*j)/26; + int shift = (8*i+2*j)%26; + c |= ((a->n[limb] >> shift) & 0x3) << (2 * j); + } + r[31-i] = c; + } +} + +SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= m); + secp256k1_fe_verify(a); +#endif + r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0]; + r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1]; + r->n[2] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[2]; + r->n[3] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[3]; + r->n[4] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[4]; + r->n[5] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[5]; + r->n[6] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[6]; + r->n[7] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[7]; + r->n[8] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[8]; + r->n[9] = 0x03FFFFFUL * 2 * (m + 1) - a->n[9]; +#ifdef VERIFY + r->magnitude = m + 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { + r->n[0] *= a; + r->n[1] *= a; + r->n[2] *= a; + r->n[3] *= a; + r->n[4] *= a; + r->n[5] *= a; + r->n[6] *= a; + r->n[7] *= a; + r->n[8] *= a; + r->n[9] *= a; +#ifdef VERIFY + r->magnitude *= a; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + secp256k1_fe_verify(a); +#endif + r->n[0] += a->n[0]; + r->n[1] += a->n[1]; + r->n[2] += a->n[2]; + r->n[3] += a->n[3]; + r->n[4] += a->n[4]; + r->n[5] += a->n[5]; + r->n[6] += a->n[6]; + r->n[7] += a->n[7]; + r->n[8] += a->n[8]; + r->n[9] += a->n[9]; +#ifdef VERIFY + r->magnitude += a->magnitude; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +#ifdef VERIFY +#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) +#else +#define VERIFY_BITS(x, n) do { } while(0) +#endif + +SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b, uint32_t *r) { + VERIFY_BITS(a[0], 30); + VERIFY_BITS(a[1], 30); + VERIFY_BITS(a[2], 30); + VERIFY_BITS(a[3], 30); + VERIFY_BITS(a[4], 30); + VERIFY_BITS(a[5], 30); + VERIFY_BITS(a[6], 30); + VERIFY_BITS(a[7], 30); + VERIFY_BITS(a[8], 30); + VERIFY_BITS(a[9], 26); + VERIFY_BITS(b[0], 30); + VERIFY_BITS(b[1], 30); + VERIFY_BITS(b[2], 30); + VERIFY_BITS(b[3], 30); + VERIFY_BITS(b[4], 30); + VERIFY_BITS(b[5], 30); + VERIFY_BITS(b[6], 30); + VERIFY_BITS(b[7], 30); + VERIFY_BITS(b[8], 30); + VERIFY_BITS(b[9], 26); + + const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; + /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. + * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. + */ + + uint64_t c, d; + + d = (uint64_t)a[0] * b[9] + + (uint64_t)a[1] * b[8] + + (uint64_t)a[2] * b[7] + + (uint64_t)a[3] * b[6] + + (uint64_t)a[4] * b[5] + + (uint64_t)a[5] * b[4] + + (uint64_t)a[6] * b[3] + + (uint64_t)a[7] * b[2] + + (uint64_t)a[8] * b[1] + + (uint64_t)a[9] * b[0]; + /* VERIFY_BITS(d, 64); */ + /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + uint32_t t9 = d & M; d >>= 26; + VERIFY_BITS(t9, 26); + VERIFY_BITS(d, 38); + /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + + c = (uint64_t)a[0] * b[0]; + VERIFY_BITS(c, 60); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ + d += (uint64_t)a[1] * b[9] + + (uint64_t)a[2] * b[8] + + (uint64_t)a[3] * b[7] + + (uint64_t)a[4] * b[6] + + (uint64_t)a[5] * b[5] + + (uint64_t)a[6] * b[4] + + (uint64_t)a[7] * b[3] + + (uint64_t)a[8] * b[2] + + (uint64_t)a[9] * b[1]; + VERIFY_BITS(d, 63); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + uint64_t u0 = d & M; d >>= 26; c += u0 * R0; + VERIFY_BITS(u0, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 61); + /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + uint32_t t0 = c & M; c >>= 26; c += u0 * R1; + VERIFY_BITS(t0, 26); + VERIFY_BITS(c, 37); + /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + + c += (uint64_t)a[0] * b[1] + + (uint64_t)a[1] * b[0]; + VERIFY_BITS(c, 62); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ + d += (uint64_t)a[2] * b[9] + + (uint64_t)a[3] * b[8] + + (uint64_t)a[4] * b[7] + + (uint64_t)a[5] * b[6] + + (uint64_t)a[6] * b[5] + + (uint64_t)a[7] * b[4] + + (uint64_t)a[8] * b[3] + + (uint64_t)a[9] * b[2]; + VERIFY_BITS(d, 63); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + uint64_t u1 = d & M; d >>= 26; c += u1 * R0; + VERIFY_BITS(u1, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + uint32_t t1 = c & M; c >>= 26; c += u1 * R1; + VERIFY_BITS(t1, 26); + VERIFY_BITS(c, 38); + /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + + c += (uint64_t)a[0] * b[2] + + (uint64_t)a[1] * b[1] + + (uint64_t)a[2] * b[0]; + VERIFY_BITS(c, 62); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + d += (uint64_t)a[3] * b[9] + + (uint64_t)a[4] * b[8] + + (uint64_t)a[5] * b[7] + + (uint64_t)a[6] * b[6] + + (uint64_t)a[7] * b[5] + + (uint64_t)a[8] * b[4] + + (uint64_t)a[9] * b[3]; + VERIFY_BITS(d, 63); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + uint64_t u2 = d & M; d >>= 26; c += u2 * R0; + VERIFY_BITS(u2, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + uint32_t t2 = c & M; c >>= 26; c += u2 * R1; + VERIFY_BITS(t2, 26); + VERIFY_BITS(c, 38); + /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[3] + + (uint64_t)a[1] * b[2] + + (uint64_t)a[2] * b[1] + + (uint64_t)a[3] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + d += (uint64_t)a[4] * b[9] + + (uint64_t)a[5] * b[8] + + (uint64_t)a[6] * b[7] + + (uint64_t)a[7] * b[6] + + (uint64_t)a[8] * b[5] + + (uint64_t)a[9] * b[4]; + VERIFY_BITS(d, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + uint64_t u3 = d & M; d >>= 26; c += u3 * R0; + VERIFY_BITS(u3, 26); + VERIFY_BITS(d, 37); + /* VERIFY_BITS(c, 64); */ + /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + uint32_t t3 = c & M; c >>= 26; c += u3 * R1; + VERIFY_BITS(t3, 26); + VERIFY_BITS(c, 39); + /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[4] + + (uint64_t)a[1] * b[3] + + (uint64_t)a[2] * b[2] + + (uint64_t)a[3] * b[1] + + (uint64_t)a[4] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[5] * b[9] + + (uint64_t)a[6] * b[8] + + (uint64_t)a[7] * b[7] + + (uint64_t)a[8] * b[6] + + (uint64_t)a[9] * b[5]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + uint64_t u4 = d & M; d >>= 26; c += u4 * R0; + VERIFY_BITS(u4, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + uint32_t t4 = c & M; c >>= 26; c += u4 * R1; + VERIFY_BITS(t4, 26); + VERIFY_BITS(c, 39); + /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[5] + + (uint64_t)a[1] * b[4] + + (uint64_t)a[2] * b[3] + + (uint64_t)a[3] * b[2] + + (uint64_t)a[4] * b[1] + + (uint64_t)a[5] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[6] * b[9] + + (uint64_t)a[7] * b[8] + + (uint64_t)a[8] * b[7] + + (uint64_t)a[9] * b[6]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + uint64_t u5 = d & M; d >>= 26; c += u5 * R0; + VERIFY_BITS(u5, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + uint32_t t5 = c & M; c >>= 26; c += u5 * R1; + VERIFY_BITS(t5, 26); + VERIFY_BITS(c, 39); + /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[6] + + (uint64_t)a[1] * b[5] + + (uint64_t)a[2] * b[4] + + (uint64_t)a[3] * b[3] + + (uint64_t)a[4] * b[2] + + (uint64_t)a[5] * b[1] + + (uint64_t)a[6] * b[0]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[7] * b[9] + + (uint64_t)a[8] * b[8] + + (uint64_t)a[9] * b[7]; + VERIFY_BITS(d, 61); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u6 = d & M; d >>= 26; c += u6 * R0; + VERIFY_BITS(u6, 26); + VERIFY_BITS(d, 35); + /* VERIFY_BITS(c, 64); */ + /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + uint32_t t6 = c & M; c >>= 26; c += u6 * R1; + VERIFY_BITS(t6, 26); + VERIFY_BITS(c, 39); + /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[7] + + (uint64_t)a[1] * b[6] + + (uint64_t)a[2] * b[5] + + (uint64_t)a[3] * b[4] + + (uint64_t)a[4] * b[3] + + (uint64_t)a[5] * b[2] + + (uint64_t)a[6] * b[1] + + (uint64_t)a[7] * b[0]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x8000007C00000007ULL); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[8] * b[9] + + (uint64_t)a[9] * b[8]; + VERIFY_BITS(d, 58); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u7 = d & M; d >>= 26; c += u7 * R0; + VERIFY_BITS(u7, 26); + VERIFY_BITS(d, 32); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); + /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint32_t t7 = c & M; c >>= 26; c += u7 * R1; + VERIFY_BITS(t7, 26); + VERIFY_BITS(c, 38); + /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)a[0] * b[8] + + (uint64_t)a[1] * b[7] + + (uint64_t)a[2] * b[6] + + (uint64_t)a[3] * b[5] + + (uint64_t)a[4] * b[4] + + (uint64_t)a[5] * b[3] + + (uint64_t)a[6] * b[2] + + (uint64_t)a[7] * b[1] + + (uint64_t)a[8] * b[0]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000007B80000008ULL); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[9] * b[9]; + VERIFY_BITS(d, 57); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u8 = d & M; d >>= 26; c += u8 * R0; + VERIFY_BITS(u8, 26); + VERIFY_BITS(d, 31); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[3] = t3; + VERIFY_BITS(r[3], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = t4; + VERIFY_BITS(r[4], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[5] = t5; + VERIFY_BITS(r[5], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[6] = t6; + VERIFY_BITS(r[6], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[7] = t7; + VERIFY_BITS(r[7], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[8] = c & M; c >>= 26; c += u8 * R1; + VERIFY_BITS(r[8], 26); + VERIFY_BITS(c, 39); + /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R0 + t9; + VERIFY_BITS(c, 45); + /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); + VERIFY_BITS(r[9], 22); + VERIFY_BITS(c, 46); + /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + d = c * (R0 >> 4) + t0; + VERIFY_BITS(d, 56); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[0] = d & M; d >>= 26; + VERIFY_BITS(r[0], 26); + VERIFY_BITS(d, 30); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += c * (R1 >> 4) + t1; + VERIFY_BITS(d, 53); + VERIFY_CHECK(d <= 0x10000003FFFFBFULL); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[1] = d & M; d >>= 26; + VERIFY_BITS(r[1], 26); + VERIFY_BITS(d, 27); + VERIFY_CHECK(d <= 0x4000000ULL); + /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += t2; + VERIFY_BITS(d, 27); + /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = d; + VERIFY_BITS(r[2], 27); + /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint32_t *a, uint32_t *r) { + VERIFY_BITS(a[0], 30); + VERIFY_BITS(a[1], 30); + VERIFY_BITS(a[2], 30); + VERIFY_BITS(a[3], 30); + VERIFY_BITS(a[4], 30); + VERIFY_BITS(a[5], 30); + VERIFY_BITS(a[6], 30); + VERIFY_BITS(a[7], 30); + VERIFY_BITS(a[8], 30); + VERIFY_BITS(a[9], 26); + + const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; + /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. + * px is a shorthand for sum(a[i]*a[x-i], i=0..x). + * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. + */ + + uint64_t c, d; + + d = (uint64_t)(a[0]*2) * a[9] + + (uint64_t)(a[1]*2) * a[8] + + (uint64_t)(a[2]*2) * a[7] + + (uint64_t)(a[3]*2) * a[6] + + (uint64_t)(a[4]*2) * a[5]; + /* VERIFY_BITS(d, 64); */ + /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + uint32_t t9 = d & M; d >>= 26; + VERIFY_BITS(t9, 26); + VERIFY_BITS(d, 38); + /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ + + c = (uint64_t)a[0] * a[0]; + VERIFY_BITS(c, 60); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ + d += (uint64_t)(a[1]*2) * a[9] + + (uint64_t)(a[2]*2) * a[8] + + (uint64_t)(a[3]*2) * a[7] + + (uint64_t)(a[4]*2) * a[6] + + (uint64_t)a[5] * a[5]; + VERIFY_BITS(d, 63); + /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + uint64_t u0 = d & M; d >>= 26; c += u0 * R0; + VERIFY_BITS(u0, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 61); + /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + uint32_t t0 = c & M; c >>= 26; c += u0 * R1; + VERIFY_BITS(t0, 26); + VERIFY_BITS(c, 37); + /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ + + c += (uint64_t)(a[0]*2) * a[1]; + VERIFY_BITS(c, 62); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ + d += (uint64_t)(a[2]*2) * a[9] + + (uint64_t)(a[3]*2) * a[8] + + (uint64_t)(a[4]*2) * a[7] + + (uint64_t)(a[5]*2) * a[6]; + VERIFY_BITS(d, 63); + /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + uint64_t u1 = d & M; d >>= 26; c += u1 * R0; + VERIFY_BITS(u1, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + uint32_t t1 = c & M; c >>= 26; c += u1 * R1; + VERIFY_BITS(t1, 26); + VERIFY_BITS(c, 38); + /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[2] + + (uint64_t)a[1] * a[1]; + VERIFY_BITS(c, 62); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + d += (uint64_t)(a[3]*2) * a[9] + + (uint64_t)(a[4]*2) * a[8] + + (uint64_t)(a[5]*2) * a[7] + + (uint64_t)a[6] * a[6]; + VERIFY_BITS(d, 63); + /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + uint64_t u2 = d & M; d >>= 26; c += u2 * R0; + VERIFY_BITS(u2, 26); + VERIFY_BITS(d, 37); + VERIFY_BITS(c, 63); + /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + uint32_t t2 = c & M; c >>= 26; c += u2 * R1; + VERIFY_BITS(t2, 26); + VERIFY_BITS(c, 38); + /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[3] + + (uint64_t)(a[1]*2) * a[2]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + d += (uint64_t)(a[4]*2) * a[9] + + (uint64_t)(a[5]*2) * a[8] + + (uint64_t)(a[6]*2) * a[7]; + VERIFY_BITS(d, 63); + /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + uint64_t u3 = d & M; d >>= 26; c += u3 * R0; + VERIFY_BITS(u3, 26); + VERIFY_BITS(d, 37); + /* VERIFY_BITS(c, 64); */ + /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + uint32_t t3 = c & M; c >>= 26; c += u3 * R1; + VERIFY_BITS(t3, 26); + VERIFY_BITS(c, 39); + /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[4] + + (uint64_t)(a[1]*2) * a[3] + + (uint64_t)a[2] * a[2]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[5]*2) * a[9] + + (uint64_t)(a[6]*2) * a[8] + + (uint64_t)a[7] * a[7]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + uint64_t u4 = d & M; d >>= 26; c += u4 * R0; + VERIFY_BITS(u4, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + uint32_t t4 = c & M; c >>= 26; c += u4 * R1; + VERIFY_BITS(t4, 26); + VERIFY_BITS(c, 39); + /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[5] + + (uint64_t)(a[1]*2) * a[4] + + (uint64_t)(a[2]*2) * a[3]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[6]*2) * a[9] + + (uint64_t)(a[7]*2) * a[8]; + VERIFY_BITS(d, 62); + /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + uint64_t u5 = d & M; d >>= 26; c += u5 * R0; + VERIFY_BITS(u5, 26); + VERIFY_BITS(d, 36); + /* VERIFY_BITS(c, 64); */ + /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + uint32_t t5 = c & M; c >>= 26; c += u5 * R1; + VERIFY_BITS(t5, 26); + VERIFY_BITS(c, 39); + /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[6] + + (uint64_t)(a[1]*2) * a[5] + + (uint64_t)(a[2]*2) * a[4] + + (uint64_t)a[3] * a[3]; + VERIFY_BITS(c, 63); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[7]*2) * a[9] + + (uint64_t)a[8] * a[8]; + VERIFY_BITS(d, 61); + /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u6 = d & M; d >>= 26; c += u6 * R0; + VERIFY_BITS(u6, 26); + VERIFY_BITS(d, 35); + /* VERIFY_BITS(c, 64); */ + /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + uint32_t t6 = c & M; c >>= 26; c += u6 * R1; + VERIFY_BITS(t6, 26); + VERIFY_BITS(c, 39); + /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[7] + + (uint64_t)(a[1]*2) * a[6] + + (uint64_t)(a[2]*2) * a[5] + + (uint64_t)(a[3]*2) * a[4]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x8000007C00000007ULL); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)(a[8]*2) * a[9]; + VERIFY_BITS(d, 58); + /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u7 = d & M; d >>= 26; c += u7 * R0; + VERIFY_BITS(u7, 26); + VERIFY_BITS(d, 32); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); + /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint32_t t7 = c & M; c >>= 26; c += u7 * R1; + VERIFY_BITS(t7, 26); + VERIFY_BITS(c, 38); + /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += (uint64_t)(a[0]*2) * a[8] + + (uint64_t)(a[1]*2) * a[7] + + (uint64_t)(a[2]*2) * a[6] + + (uint64_t)(a[3]*2) * a[5] + + (uint64_t)a[4] * a[4]; + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000007B80000008ULL); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += (uint64_t)a[9] * a[9]; + VERIFY_BITS(d, 57); + /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + uint64_t u8 = d & M; d >>= 26; c += u8 * R0; + VERIFY_BITS(u8, 26); + VERIFY_BITS(d, 31); + /* VERIFY_BITS(c, 64); */ + VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[3] = t3; + VERIFY_BITS(r[3], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = t4; + VERIFY_BITS(r[4], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[5] = t5; + VERIFY_BITS(r[5], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[6] = t6; + VERIFY_BITS(r[6], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[7] = t7; + VERIFY_BITS(r[7], 26); + /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + r[8] = c & M; c >>= 26; c += u8 * R1; + VERIFY_BITS(r[8], 26); + VERIFY_BITS(c, 39); + /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R0 + t9; + VERIFY_BITS(c, 45); + /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); + VERIFY_BITS(r[9], 22); + VERIFY_BITS(c, 46); + /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + d = c * (R0 >> 4) + t0; + VERIFY_BITS(d, 56); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[0] = d & M; d >>= 26; + VERIFY_BITS(r[0], 26); + VERIFY_BITS(d, 30); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += c * (R1 >> 4) + t1; + VERIFY_BITS(d, 53); + VERIFY_CHECK(d <= 0x10000003FFFFBFULL); + /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[1] = d & M; d >>= 26; + VERIFY_BITS(r[1], 26); + VERIFY_BITS(d, 27); + VERIFY_CHECK(d <= 0x4000000ULL); + /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + d += t2; + VERIFY_BITS(d, 27); + /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = d; + VERIFY_BITS(r[2], 27); + /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + + +static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + VERIFY_CHECK(b->magnitude <= 8); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); + VERIFY_CHECK(r != b); +#endif + secp256k1_fe_mul_inner(a->n, b->n, r->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + secp256k1_fe_verify(a); +#endif + secp256k1_fe_sqr_inner(a->n, r->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { + uint32_t mask0 = flag + ~((uint32_t)0), mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); + r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); + r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); + r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); + r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); + r->n[8] = (r->n[8] & mask0) | (a->n[8] & mask1); + r->n[9] = (r->n[9] & mask0) | (a->n[9] & mask1); +#ifdef VERIFY + if (flag) { + r->magnitude = a->magnitude; + r->normalized = a->normalized; + } +#endif +} + +#endif diff --git a/src/secp256k1/src/field_5x52.h b/src/secp256k1/src/field_5x52.h new file mode 100644 index 000000000..aeb0a6a1e --- /dev/null +++ b/src/secp256k1/src/field_5x52.h @@ -0,0 +1,21 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_ +#define _SECP256K1_FIELD_REPR_ + +#include + +typedef struct { + /* X = sum(i=0..4, elem[i]*2^52) mod n */ + uint64_t n[5]; +#ifdef VERIFY + int magnitude; + int normalized; +#endif +} secp256k1_fe_t; + +#endif diff --git a/src/secp256k1/src/field_5x52_asm.asm b/src/secp256k1/src/field_5x52_asm.asm new file mode 100644 index 000000000..5e785f763 --- /dev/null +++ b/src/secp256k1/src/field_5x52_asm.asm @@ -0,0 +1,469 @@ + ;; Added by Diederik Huys, March 2013 + ;; + ;; Provided public procedures: + ;; secp256k1_fe_mul_inner + ;; secp256k1_fe_sqr_inner + ;; + ;; Needed tools: YASM (http://yasm.tortall.net) + ;; + ;; + + BITS 64 + +%ifidn __OUTPUT_FORMAT__,macho64 +%define SYM(x) _ %+ x +%else +%define SYM(x) x +%endif + + ;; Procedure ExSetMult + ;; Register Layout: + ;; INPUT: rdi = a->n + ;; rsi = b->n + ;; rdx = r->a + ;; + ;; INTERNAL: rdx:rax = multiplication accumulator + ;; r9:r8 = c + ;; r10-r13 = t0-t3 + ;; r14 = b.n[0] / t4 + ;; r15 = b.n[1] / t5 + ;; rbx = b.n[2] / t6 + ;; rcx = b.n[3] / t7 + ;; rbp = Constant 0FFFFFFFFFFFFFh / t8 + ;; rsi = b.n / b.n[4] / t9 + + GLOBAL SYM(secp256k1_fe_mul_inner) + ALIGN 32 +SYM(secp256k1_fe_mul_inner): + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + push rdx + mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until + ; b.n[0] is no longer needed, then we reassign + ; r14 to t4 + ;; c=a.n[0] * b.n[0] + mov rax,[rdi+0*8] ; load a.n[0] + mov rbp,0FFFFFFFFFFFFFh + mul r14 ; rdx:rax=a.n[0]*b.n[0] + mov r15,[rsi+1*8] + mov r10,rbp ; load modulus into target register for t0 + mov r8,rax + and r10,rax ; only need lower qword of c + shrd r8,rdx,52 + xor r9,r9 ; c < 2^64, so we ditch the HO part + + ;; c+=a.n[0] * b.n[1] + a.n[1] * b.n[0] + mov rax,[rdi+0*8] + mul r15 + add r8,rax + adc r9,rdx + + mov rax,[rdi+1*8] + mul r14 + mov r11,rbp + mov rbx,[rsi+2*8] + add r8,rax + adc r9,rdx + and r11,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[0 1 2] * b.n[2 1 0] + mov rax,[rdi+0*8] + mul rbx + add r8,rax + adc r9,rdx + + mov rax,[rdi+1*8] + mul r15 + add r8,rax + adc r9,rdx + + mov rax,[rdi+2*8] + mul r14 + mov r12,rbp + mov rcx,[rsi+3*8] + add r8,rax + adc r9,rdx + and r12,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[0 1 2 3] * b.n[3 2 1 0] + mov rax,[rdi+0*8] + mul rcx + add r8,rax + adc r9,rdx + + mov rax,[rdi+1*8] + mul rbx + add r8,rax + adc r9,rdx + + mov rax,[rdi+2*8] + mul r15 + add r8,rax + adc r9,rdx + + mov rax,[rdi+3*8] + mul r14 + mov r13,rbp + mov rsi,[rsi+4*8] ; load b.n[4] and destroy pointer + add r8,rax + adc r9,rdx + and r13,r8 + + shrd r8,r9,52 + xor r9,r9 + + + ;; c+=a.n[0 1 2 3 4] * b.n[4 3 2 1 0] + mov rax,[rdi+0*8] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,[rdi+1*8] + mul rcx + add r8,rax + adc r9,rdx + + mov rax,[rdi+2*8] + mul rbx + add r8,rax + adc r9,rdx + + mov rax,[rdi+3*8] + mul r15 + add r8,rax + adc r9,rdx + + mov rax,[rdi+4*8] + mul r14 + mov r14,rbp ; load modulus into t4 and destroy a.n[0] + add r8,rax + adc r9,rdx + and r14,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[1 2 3 4] * b.n[4 3 2 1] + mov rax,[rdi+1*8] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,[rdi+2*8] + mul rcx + add r8,rax + adc r9,rdx + + mov rax,[rdi+3*8] + mul rbx + add r8,rax + adc r9,rdx + + mov rax,[rdi+4*8] + mul r15 + mov r15,rbp + add r8,rax + adc r9,rdx + + and r15,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[2 3 4] * b.n[4 3 2] + mov rax,[rdi+2*8] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,[rdi+3*8] + mul rcx + add r8,rax + adc r9,rdx + + mov rax,[rdi+4*8] + mul rbx + mov rbx,rbp + add r8,rax + adc r9,rdx + + and rbx,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[3 4] * b.n[4 3] + mov rax,[rdi+3*8] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,[rdi+4*8] + mul rcx + mov rcx,rbp + add r8,rax + adc r9,rdx + and rcx,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[4] * b.n[4] + mov rax,[rdi+4*8] + mul rsi + ;; mov rbp,rbp ; modulus already there! + add r8,rax + adc r9,rdx + and rbp,r8 + shrd r8,r9,52 + xor r9,r9 + + mov rsi,r8 ; load c into t9 and destroy b.n[4] + + ;; ******************************************************* +common_exit_norm: + mov rdi,01000003D10h ; load constant + + mov rax,r15 ; get t5 + mul rdi + add rax,r10 ; +t0 + adc rdx,0 + mov r10,0FFFFFFFFFFFFFh ; modulus. Sadly, we ran out of registers! + mov r8,rax ; +c + and r10,rax + shrd r8,rdx,52 + xor r9,r9 + + mov rax,rbx ; get t6 + mul rdi + add rax,r11 ; +t1 + adc rdx,0 + mov r11,0FFFFFFFFFFFFFh ; modulus + add r8,rax ; +c + adc r9,rdx + and r11,r8 + shrd r8,r9,52 + xor r9,r9 + + mov rax,rcx ; get t7 + mul rdi + add rax,r12 ; +t2 + adc rdx,0 + pop rbx ; retrieve pointer to this.n + mov r12,0FFFFFFFFFFFFFh ; modulus + add r8,rax ; +c + adc r9,rdx + and r12,r8 + mov [rbx+2*8],r12 ; mov into this.n[2] + shrd r8,r9,52 + xor r9,r9 + + mov rax,rbp ; get t8 + mul rdi + add rax,r13 ; +t3 + adc rdx,0 + mov r13,0FFFFFFFFFFFFFh ; modulus + add r8,rax ; +c + adc r9,rdx + and r13,r8 + mov [rbx+3*8],r13 ; -> this.n[3] + shrd r8,r9,52 + xor r9,r9 + + mov rax,rsi ; get t9 + mul rdi + add rax,r14 ; +t4 + adc rdx,0 + mov r14,0FFFFFFFFFFFFh ; !!! + add r8,rax ; +c + adc r9,rdx + and r14,r8 + mov [rbx+4*8],r14 ; -> this.n[4] + shrd r8,r9,48 ; !!! + xor r9,r9 + + mov rax,01000003D1h + mul r8 + add rax,r10 + adc rdx,0 + mov r10,0FFFFFFFFFFFFFh ; modulus + mov r8,rax + and rax,r10 + shrd r8,rdx,52 + mov [rbx+0*8],rax ; -> this.n[0] + add r8,r11 + mov [rbx+1*8],r8 ; -> this.n[1] + + pop r15 + pop r14 + pop r13 + pop r12 + pop rbx + pop rbp + ret + + + ;; PROC ExSetSquare + ;; Register Layout: + ;; INPUT: rdi = a.n + ;; rsi = this.a + ;; INTERNAL: rdx:rax = multiplication accumulator + ;; r9:r8 = c + ;; r10-r13 = t0-t3 + ;; r14 = a.n[0] / t4 + ;; r15 = a.n[1] / t5 + ;; rbx = a.n[2] / t6 + ;; rcx = a.n[3] / t7 + ;; rbp = 0FFFFFFFFFFFFFh / t8 + ;; rsi = a.n[4] / t9 + GLOBAL SYM(secp256k1_fe_sqr_inner) + ALIGN 32 +SYM(secp256k1_fe_sqr_inner): + push rbp + push rbx + push r12 + push r13 + push r14 + push r15 + push rsi + mov rbp,0FFFFFFFFFFFFFh + + ;; c=a.n[0] * a.n[0] + mov r14,[rdi+0*8] ; r14=a.n[0] + mov r10,rbp ; modulus + mov rax,r14 + mul rax + mov r15,[rdi+1*8] ; a.n[1] + add r14,r14 ; r14=2*a.n[0] + mov r8,rax + and r10,rax ; only need lower qword + shrd r8,rdx,52 + xor r9,r9 + + ;; c+=2*a.n[0] * a.n[1] + mov rax,r14 ; r14=2*a.n[0] + mul r15 + mov rbx,[rdi+2*8] ; rbx=a.n[2] + mov r11,rbp ; modulus + add r8,rax + adc r9,rdx + and r11,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[0]*a.n[2]+a.n[1]*a.n[1] + mov rax,r14 + mul rbx + add r8,rax + adc r9,rdx + + mov rax,r15 + mov r12,rbp ; modulus + mul rax + mov rcx,[rdi+3*8] ; rcx=a.n[3] + add r15,r15 ; r15=a.n[1]*2 + add r8,rax + adc r9,rdx + and r12,r8 ; only need lower dword + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[0]*a.n[3]+2*a.n[1]*a.n[2] + mov rax,r14 + mul rcx + add r8,rax + adc r9,rdx + + mov rax,r15 ; rax=2*a.n[1] + mov r13,rbp ; modulus + mul rbx + mov rsi,[rdi+4*8] ; rsi=a.n[4] + add r8,rax + adc r9,rdx + and r13,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[0]*a.n[4]+2*a.n[1]*a.n[3]+a.n[2]*a.n[2] + mov rax,r14 ; last time we need 2*a.n[0] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,r15 + mul rcx + mov r14,rbp ; modulus + add r8,rax + adc r9,rdx + + mov rax,rbx + mul rax + add rbx,rbx ; rcx=2*a.n[2] + add r8,rax + adc r9,rdx + and r14,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[1]*a.n[4]+2*a.n[2]*a.n[3] + mov rax,r15 ; last time we need 2*a.n[1] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,rbx + mul rcx + mov r15,rbp ; modulus + add r8,rax + adc r9,rdx + and r15,r8 + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[2]*a.n[4]+a.n[3]*a.n[3] + mov rax,rbx ; last time we need 2*a.n[2] + mul rsi + add r8,rax + adc r9,rdx + + mov rax,rcx ; a.n[3] + mul rax + mov rbx,rbp ; modulus + add r8,rax + adc r9,rdx + and rbx,r8 ; only need lower dword + lea rax,[2*rcx] + shrd r8,r9,52 + xor r9,r9 + + ;; c+=2*a.n[3]*a.n[4] + mul rsi + mov rcx,rbp ; modulus + add r8,rax + adc r9,rdx + and rcx,r8 ; only need lower dword + shrd r8,r9,52 + xor r9,r9 + + ;; c+=a.n[4]*a.n[4] + mov rax,rsi + mul rax + ;; mov rbp,rbp ; modulus is already there! + add r8,rax + adc r9,rdx + and rbp,r8 + shrd r8,r9,52 + xor r9,r9 + + mov rsi,r8 + + ;; ******************************************************* + jmp common_exit_norm + end + + diff --git a/src/secp256k1/src/field_5x52_asm_impl.h b/src/secp256k1/src/field_5x52_asm_impl.h new file mode 100644 index 000000000..f29605b11 --- /dev/null +++ b/src/secp256k1/src/field_5x52_asm_impl.h @@ -0,0 +1,13 @@ +/********************************************************************** + * Copyright (c) 2013 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ +#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ + +void __attribute__ ((sysv_abi)) secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t *b, uint64_t *r); +void __attribute__ ((sysv_abi)) secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r); + +#endif diff --git a/src/secp256k1/src/field_5x52_impl.h b/src/secp256k1/src/field_5x52_impl.h new file mode 100644 index 000000000..75b210eaf --- /dev/null +++ b/src/secp256k1/src/field_5x52_impl.h @@ -0,0 +1,294 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ +#define _SECP256K1_FIELD_REPR_IMPL_H_ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include +#include "util.h" +#include "num.h" +#include "field.h" + +#if defined(USE_FIELD_5X52_ASM) +#include "field_5x52_asm_impl.h" +#elif defined(USE_FIELD_5X52_INT128) +#include "field_5x52_int128_impl.h" +#else +#error "Please select field_5x52 implementation" +#endif + +/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, + * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular, + * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element + * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations + * accept any input with magnitude at most M, and have different rules for propagating magnitude to their + * output. + */ + +static void secp256k1_fe_inner_start(void) {} +static void secp256k1_fe_inner_stop(void) {} + +#ifdef VERIFY +static void secp256k1_fe_verify(const secp256k1_fe_t *a) { + const uint64_t *d = a->n; + int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; + r &= (d[0] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[1] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[2] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[3] <= 0xFFFFFFFFFFFFFULL * m); + r &= (d[4] <= 0x0FFFFFFFFFFFFULL * m); + r &= (a->magnitude >= 0); + if (a->normalized) { + r &= (a->magnitude <= 1); + if (r && (d[4] == 0x0FFFFFFFFFFFFULL) && ((d[3] & d[2] & d[1]) == 0xFFFFFFFFFFFFFULL)) { + r &= (d[0] < 0xFFFFEFFFFFC2FULL); + } + } + VERIFY_CHECK(r == 1); +} +#else +static void secp256k1_fe_verify(const secp256k1_fe_t *a) { + (void)a; +} +#endif + +static void secp256k1_fe_normalize(secp256k1_fe_t *r) { + uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; + + /* Reduce t4 at the start so there will be at most a single carry from the first pass */ + uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; + uint64_t m; + + /* The first pass ensures the magnitude is 1, ... */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; + + /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ + VERIFY_CHECK(t4 >> 49 == 0); + + /* At most a single final reduction is needed; check if the value is >= the field characteristic */ + x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) + & (t0 >= 0xFFFFEFFFFFC2FULL)); + + /* Apply the final reduction (for constant-time behaviour, we do it always) */ + t0 += x * 0x1000003D1ULL; + t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; + t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; + t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; + t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; + + /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ + VERIFY_CHECK(t4 >> 48 == x); + + /* Mask off the possible multiple of 2^256 from the final reduction */ + t4 &= 0x0FFFFFFFFFFFFULL; + + r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; + +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { + r->n[0] = a; + r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + const uint64_t *t = a->n; + return (t[0] | t[1] | t[2] | t[3] | t[4]) == 0; +} + +SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + return a->n[0] & 1; +} + +SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { +#ifdef VERIFY + a->magnitude = 0; + a->normalized = 1; +#endif + for (int i=0; i<5; i++) { + a->n[i] = 0; + } +} + +SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + const uint64_t *t = a->n, *u = b->n; + return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4])) == 0; +} + +static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + VERIFY_CHECK(b->normalized); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); +#endif + for (int i = 4; i >= 0; i--) { + if (a->n[i] > b->n[i]) return 1; + if (a->n[i] < b->n[i]) return -1; + } + return 0; +} + +static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { + r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; + for (int i=0; i<32; i++) { + for (int j=0; j<2; j++) { + int limb = (8*i+4*j)/52; + int shift = (8*i+4*j)%52; + r->n[limb] |= (uint64_t)((a[31-i] >> (4*j)) & 0xF) << shift; + } + } + if (r->n[4] == 0x0FFFFFFFFFFFFULL && (r->n[3] & r->n[2] & r->n[1]) == 0xFFFFFFFFFFFFFULL && r->n[0] >= 0xFFFFEFFFFFC2FULL) { + return 0; + } +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 1; + secp256k1_fe_verify(r); +#endif + return 1; +} + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->normalized); + secp256k1_fe_verify(a); +#endif + for (int i=0; i<32; i++) { + int c = 0; + for (int j=0; j<2; j++) { + int limb = (8*i+4*j)/52; + int shift = (8*i+4*j)%52; + c |= ((a->n[limb] >> shift) & 0xF) << (4 * j); + } + r[31-i] = c; + } +} + +SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= m); + secp256k1_fe_verify(a); +#endif + r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0]; + r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1]; + r->n[2] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[2]; + r->n[3] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[3]; + r->n[4] = 0x0FFFFFFFFFFFFULL * 2 * (m + 1) - a->n[4]; +#ifdef VERIFY + r->magnitude = m + 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { + r->n[0] *= a; + r->n[1] *= a; + r->n[2] *= a; + r->n[3] *= a; + r->n[4] *= a; +#ifdef VERIFY + r->magnitude *= a; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + secp256k1_fe_verify(a); +#endif + r->n[0] += a->n[0]; + r->n[1] += a->n[1]; + r->n[2] += a->n[2]; + r->n[3] += a->n[3]; + r->n[4] += a->n[4]; +#ifdef VERIFY + r->magnitude += a->magnitude; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + VERIFY_CHECK(b->magnitude <= 8); + secp256k1_fe_verify(a); + secp256k1_fe_verify(b); + VERIFY_CHECK(r != b); +#endif + secp256k1_fe_mul_inner(a->n, b->n, r->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { +#ifdef VERIFY + VERIFY_CHECK(a->magnitude <= 8); + secp256k1_fe_verify(a); +#endif + secp256k1_fe_sqr_inner(a->n, r->n); +#ifdef VERIFY + r->magnitude = 1; + r->normalized = 0; + secp256k1_fe_verify(r); +#endif +} + +static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { + uint64_t mask0 = flag + ~((uint64_t)0), mask1 = ~mask0; + r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); + r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); + r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); + r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); + r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); +#ifdef VERIFY + if (flag) { + r->magnitude = a->magnitude; + r->normalized = a->normalized; + } +#endif +} + +#endif diff --git a/src/secp256k1/src/field_5x52_int128_impl.h b/src/secp256k1/src/field_5x52_int128_impl.h new file mode 100644 index 000000000..e552fb431 --- /dev/null +++ b/src/secp256k1/src/field_5x52_int128_impl.h @@ -0,0 +1,277 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ +#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ + +#include + +#ifdef VERIFY +#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) +#else +#define VERIFY_BITS(x, n) do { } while(0) +#endif + +SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b, uint64_t *r) { + VERIFY_BITS(a[0], 56); + VERIFY_BITS(a[1], 56); + VERIFY_BITS(a[2], 56); + VERIFY_BITS(a[3], 56); + VERIFY_BITS(a[4], 52); + VERIFY_BITS(b[0], 56); + VERIFY_BITS(b[1], 56); + VERIFY_BITS(b[2], 56); + VERIFY_BITS(b[3], 56); + VERIFY_BITS(b[4], 52); + VERIFY_CHECK(r != b); + + const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; + /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. + * px is a shorthand for sum(a[i]*b[x-i], i=0..x). + * Note that [x 0 0 0 0 0] = [x*R]. + */ + + uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; + + __int128 c, d; + + d = (__int128)a0 * b[3] + + (__int128)a1 * b[2] + + (__int128)a2 * b[1] + + (__int128)a3 * b[0]; + VERIFY_BITS(d, 114); + /* [d 0 0 0] = [p3 0 0 0] */ + c = (__int128)a4 * b[4]; + VERIFY_BITS(c, 112); + /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + d += (c & M) * R; c >>= 52; + VERIFY_BITS(d, 115); + VERIFY_BITS(c, 60); + /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + uint64_t t3 = d & M; d >>= 52; + VERIFY_BITS(t3, 52); + VERIFY_BITS(d, 63); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + + d += (__int128)a0 * b[4] + + (__int128)a1 * b[3] + + (__int128)a2 * b[2] + + (__int128)a3 * b[1] + + (__int128)a4 * b[0]; + VERIFY_BITS(d, 115); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + d += c * R; + VERIFY_BITS(d, 116); + /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + uint64_t t4 = d & M; d >>= 52; + VERIFY_BITS(t4, 52); + VERIFY_BITS(d, 64); + /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + uint64_t tx = (t4 >> 48); t4 &= (M >> 4); + VERIFY_BITS(tx, 4); + VERIFY_BITS(t4, 48); + /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + + c = (__int128)a0 * b[0]; + VERIFY_BITS(c, 112); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ + d += (__int128)a1 * b[4] + + (__int128)a2 * b[3] + + (__int128)a3 * b[2] + + (__int128)a4 * b[1]; + VERIFY_BITS(d, 115); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + uint64_t u0 = d & M; d >>= 52; + VERIFY_BITS(u0, 52); + VERIFY_BITS(d, 63); + /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = (u0 << 4) | tx; + VERIFY_BITS(u0, 56); + /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + c += (__int128)u0 * (R >> 4); + VERIFY_BITS(c, 115); + /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + r[0] = c & M; c >>= 52; + VERIFY_BITS(r[0], 52); + VERIFY_BITS(c, 61); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ + + c += (__int128)a0 * b[1] + + (__int128)a1 * b[0]; + VERIFY_BITS(c, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ + d += (__int128)a2 * b[4] + + (__int128)a3 * b[3] + + (__int128)a4 * b[2]; + VERIFY_BITS(d, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + r[1] = c & M; c >>= 52; + VERIFY_BITS(r[1], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + + c += (__int128)a0 * b[2] + + (__int128)a1 * b[1] + + (__int128)a2 * b[0]; + VERIFY_BITS(c, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (__int128)a3 * b[4] + + (__int128)a4 * b[3]; + VERIFY_BITS(d, 114); + /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = c & M; c >>= 52; + VERIFY_BITS(r[2], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += d * R + t3;; + VERIFY_BITS(c, 100); + /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[3] = c & M; c >>= 52; + VERIFY_BITS(r[3], 52); + VERIFY_BITS(c, 48); + /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += t4; + VERIFY_BITS(c, 49); + /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = c; + VERIFY_BITS(r[4], 49); + /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r) { + VERIFY_BITS(a[0], 56); + VERIFY_BITS(a[1], 56); + VERIFY_BITS(a[2], 56); + VERIFY_BITS(a[3], 56); + VERIFY_BITS(a[4], 52); + + const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; + /** [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. + * px is a shorthand for sum(a[i]*a[x-i], i=0..x). + * Note that [x 0 0 0 0 0] = [x*R]. + */ + + __int128 c, d; + + uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; + + d = (__int128)(a0*2) * a3 + + (__int128)(a1*2) * a2; + VERIFY_BITS(d, 114); + /* [d 0 0 0] = [p3 0 0 0] */ + c = (__int128)a4 * a4; + VERIFY_BITS(c, 112); + /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + d += (c & M) * R; c >>= 52; + VERIFY_BITS(d, 115); + VERIFY_BITS(c, 60); + /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + uint64_t t3 = d & M; d >>= 52; + VERIFY_BITS(t3, 52); + VERIFY_BITS(d, 63); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ + + a4 *= 2; + d += (__int128)a0 * a4 + + (__int128)(a1*2) * a3 + + (__int128)a2 * a2; + VERIFY_BITS(d, 115); + /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + d += c * R; + VERIFY_BITS(d, 116); + /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + uint64_t t4 = d & M; d >>= 52; + VERIFY_BITS(t4, 52); + VERIFY_BITS(d, 64); + /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + uint64_t tx = (t4 >> 48); t4 &= (M >> 4); + VERIFY_BITS(tx, 4); + VERIFY_BITS(t4, 48); + /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ + + c = (__int128)a0 * a0; + VERIFY_BITS(c, 112); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ + d += (__int128)a1 * a4 + + (__int128)(a2*2) * a3; + VERIFY_BITS(d, 114); + /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + uint64_t u0 = d & M; d >>= 52; + VERIFY_BITS(u0, 52); + VERIFY_BITS(d, 62); + /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + u0 = (u0 << 4) | tx; + VERIFY_BITS(u0, 56); + /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + c += (__int128)u0 * (R >> 4); + VERIFY_BITS(c, 113); + /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ + r[0] = c & M; c >>= 52; + VERIFY_BITS(r[0], 52); + VERIFY_BITS(c, 61); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ + + a0 *= 2; + c += (__int128)a0 * a1; + VERIFY_BITS(c, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ + d += (__int128)a2 * a4 + + (__int128)a3 * a3; + VERIFY_BITS(d, 114); + /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + r[1] = c & M; c >>= 52; + VERIFY_BITS(r[1], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ + + c += (__int128)a0 * a2 + + (__int128)a1 * a1; + VERIFY_BITS(c, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ + d += (__int128)a3 * a4; + VERIFY_BITS(d, 114); + /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += (d & M) * R; d >>= 52; + VERIFY_BITS(c, 115); + VERIFY_BITS(d, 62); + /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[2] = c & M; c >>= 52; + VERIFY_BITS(r[2], 52); + VERIFY_BITS(c, 63); + /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + + c += d * R + t3;; + VERIFY_BITS(c, 100); + /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[3] = c & M; c >>= 52; + VERIFY_BITS(r[3], 52); + VERIFY_BITS(c, 48); + /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + c += t4; + VERIFY_BITS(c, 49); + /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ + r[4] = c; + VERIFY_BITS(r[4], 49); + /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ +} + +#endif diff --git a/src/secp256k1/src/field_gmp.h b/src/secp256k1/src/field_gmp.h new file mode 100644 index 000000000..b390fd9de --- /dev/null +++ b/src/secp256k1/src/field_gmp.h @@ -0,0 +1,18 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_ +#define _SECP256K1_FIELD_REPR_ + +#include + +#define FIELD_LIMBS ((256 + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS) + +typedef struct { + mp_limb_t n[FIELD_LIMBS+1]; +} secp256k1_fe_t; + +#endif diff --git a/src/secp256k1/src/field_gmp_impl.h b/src/secp256k1/src/field_gmp_impl.h new file mode 100644 index 000000000..8af7dd68f --- /dev/null +++ b/src/secp256k1/src/field_gmp_impl.h @@ -0,0 +1,180 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ +#define _SECP256K1_FIELD_REPR_IMPL_H_ + +#include +#include +#include "num.h" +#include "field.h" + +static mp_limb_t secp256k1_field_p[FIELD_LIMBS]; +static mp_limb_t secp256k1_field_pc[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; + +static void secp256k1_fe_inner_start(void) { + for (int i=0; i<(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; i++) + secp256k1_field_pc[i] = 0; + secp256k1_field_pc[0] += 0x3D1UL; + secp256k1_field_pc[32/GMP_NUMB_BITS] += (((mp_limb_t)1) << (32 % GMP_NUMB_BITS)); + for (int i=0; in[FIELD_LIMBS] != 0) { +#if (GMP_NUMB_BITS >= 40) + mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * r->n[FIELD_LIMBS]); + mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * carry); +#else + mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * r->n[FIELD_LIMBS]) + + mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), r->n[FIELD_LIMBS] << (32 % GMP_NUMB_BITS)); + mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * carry); + mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), carry << (32%GMP_NUMB_BITS)); +#endif + r->n[FIELD_LIMBS] = 0; + } + if (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) >= 0) + mpn_sub(r->n, r->n, FIELD_LIMBS, secp256k1_field_p, FIELD_LIMBS); +} + +SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { + r->n[0] = a; + for (int i=1; in[i] = 0; +} + +SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *r) { + for (int i=0; in[i] = 0; +} + +SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { + int ret = 1; + for (int i=0; in[i] == 0); + return ret; +} + +SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { + return a->n[0] & 1; +} + +SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { + int ret = 1; + for (int i=0; in[i] == b->n[i]); + return ret; +} + +SECP256K1_INLINE static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { + for (int i=FIELD_LIMBS; i>=0; i--) { + if (a->n[i] > b->n[i]) return 1; + if (a->n[i] < b->n[i]) return -1; + } + return 0; +} + +static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { + for (int i=0; in[i] = 0; + for (int i=0; i<256; i++) { + int limb = i/GMP_NUMB_BITS; + int shift = i%GMP_NUMB_BITS; + r->n[limb] |= (mp_limb_t)((a[31-i/8] >> (i%8)) & 0x1) << shift; + } + return (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) < 0); +} + +/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ +static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { + for (int i=0; i<32; i++) { + int c = 0; + for (int j=0; j<8; j++) { + int limb = (8*i+j)/GMP_NUMB_BITS; + int shift = (8*i+j)%GMP_NUMB_BITS; + c |= ((a->n[limb] >> shift) & 0x1) << j; + } + r[31-i] = c; + } +} + +SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { + (void)m; + *r = *a; + secp256k1_fe_normalize(r); + for (int i=0; in[i] = ~(r->n[i]); +#if (GMP_NUMB_BITS >= 33) + mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x1000003D0ULL); +#else + mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x3D0UL); + mpn_sub_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); +#endif +} + +SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { + mpn_mul_1(r->n, r->n, FIELD_LIMBS+1, a); +} + +SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { + mpn_add(r->n, r->n, FIELD_LIMBS+1, a->n, FIELD_LIMBS+1); +} + +static void secp256k1_fe_reduce(secp256k1_fe_t *r, mp_limb_t *tmp) { + /** + * B1 B2 B3 B4 + * + C * A1 A2 A3 A4 + * + A1 A2 A3 A4 + */ + +#if (GMP_NUMB_BITS >= 33) + mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x1000003D1ULL); +#else + mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x3D1UL) + + mpn_addmul_1(tmp+(32/GMP_NUMB_BITS), tmp+FIELD_LIMBS, FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); +#endif + mp_limb_t q[1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; + q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] = mpn_mul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o); +#if (GMP_NUMB_BITS <= 32) + mp_limb_t o2 = tmp[2*FIELD_LIMBS-(32/GMP_NUMB_BITS)] << (32%GMP_NUMB_BITS); + q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] += mpn_addmul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o2); +#endif + r->n[FIELD_LIMBS] = mpn_add(r->n, tmp, FIELD_LIMBS, q, 1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS); +} + +static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { + VERIFY_CHECK(r != b); + secp256k1_fe_t ac = *a; + secp256k1_fe_t bc = *b; + secp256k1_fe_normalize(&ac); + secp256k1_fe_normalize(&bc); + mp_limb_t tmp[2*FIELD_LIMBS]; + mpn_mul_n(tmp, ac.n, bc.n, FIELD_LIMBS); + secp256k1_fe_reduce(r, tmp); +} + +static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { + secp256k1_fe_t ac = *a; + secp256k1_fe_normalize(&ac); + mp_limb_t tmp[2*FIELD_LIMBS]; + mpn_sqr(tmp, ac.n, FIELD_LIMBS); + secp256k1_fe_reduce(r, tmp); +} + +static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { + mp_limb_t mask0 = flag + ~((mp_limb_t)0), mask1 = ~mask0; + for (int i = 0; i <= FIELD_LIMBS; i++) { + r->n[i] = (r->n[i] & mask0) | (a->n[i] & mask1); + } +} + +#endif diff --git a/src/secp256k1/src/field_impl.h b/src/secp256k1/src/field_impl.h new file mode 100644 index 000000000..4d25e5371 --- /dev/null +++ b/src/secp256k1/src/field_impl.h @@ -0,0 +1,297 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_FIELD_IMPL_H_ +#define _SECP256K1_FIELD_IMPL_H_ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include "util.h" + +#if defined(USE_FIELD_GMP) +#include "field_gmp_impl.h" +#elif defined(USE_FIELD_10X26) +#include "field_10x26_impl.h" +#elif defined(USE_FIELD_5X52) +#include "field_5x52_impl.h" +#else +#error "Please select field implementation" +#endif + +static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a) { + if (*rlen < 65) { + *rlen = 65; + return; + } + *rlen = 65; + unsigned char tmp[32]; + secp256k1_fe_t b = *a; + secp256k1_fe_normalize(&b); + secp256k1_fe_get_b32(tmp, &b); + for (int i=0; i<32; i++) { + static const char *c = "0123456789ABCDEF"; + r[2*i] = c[(tmp[i] >> 4) & 0xF]; + r[2*i+1] = c[(tmp[i]) & 0xF]; + } + r[64] = 0x00; +} + +static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen) { + unsigned char tmp[32] = {}; + static const int cvt[256] = {0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 1, 2, 3, 4, 5, 6,7,8,9,0,0,0,0,0,0, + 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, + 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0}; + for (int i=0; i<32; i++) { + if (alen > i*2) + tmp[32 - alen/2 + i] = (cvt[(unsigned char)a[2*i]] << 4) + cvt[(unsigned char)a[2*i+1]]; + } + return secp256k1_fe_set_b32(r, tmp); +} + +static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a) { + + /** The binary representation of (p + 1)/4 has 3 blocks of 1s, with lengths in + * { 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: + * 1, [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] + */ + + secp256k1_fe_t x2; + secp256k1_fe_sqr(&x2, a); + secp256k1_fe_mul(&x2, &x2, a); + + secp256k1_fe_t x3; + secp256k1_fe_sqr(&x3, &x2); + secp256k1_fe_mul(&x3, &x3, a); + + secp256k1_fe_t x6 = x3; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); + secp256k1_fe_mul(&x6, &x6, &x3); + + secp256k1_fe_t x9 = x6; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); + secp256k1_fe_mul(&x9, &x9, &x3); + + secp256k1_fe_t x11 = x9; + for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); + secp256k1_fe_mul(&x11, &x11, &x2); + + secp256k1_fe_t x22 = x11; + for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); + secp256k1_fe_mul(&x22, &x22, &x11); + + secp256k1_fe_t x44 = x22; + for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); + secp256k1_fe_mul(&x44, &x44, &x22); + + secp256k1_fe_t x88 = x44; + for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); + secp256k1_fe_mul(&x88, &x88, &x44); + + secp256k1_fe_t x176 = x88; + for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); + secp256k1_fe_mul(&x176, &x176, &x88); + + secp256k1_fe_t x220 = x176; + for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); + secp256k1_fe_mul(&x220, &x220, &x44); + + secp256k1_fe_t x223 = x220; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); + secp256k1_fe_mul(&x223, &x223, &x3); + + /* The final result is then assembled using a sliding window over the blocks. */ + + secp256k1_fe_t t1 = x223; + for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(&t1, &t1, &x22); + for (int j=0; j<6; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(&t1, &t1, &x2); + secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_sqr(r, &t1); + + /* Check that a square root was actually calculated */ + + secp256k1_fe_sqr(&t1, r); + secp256k1_fe_negate(&t1, &t1, 1); + secp256k1_fe_add(&t1, a); + secp256k1_fe_normalize(&t1); + return secp256k1_fe_is_zero(&t1); +} + +static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a) { + + /** The binary representation of (p - 2) has 5 blocks of 1s, with lengths in + * { 1, 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: + * [1], [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] + */ + + secp256k1_fe_t x2; + secp256k1_fe_sqr(&x2, a); + secp256k1_fe_mul(&x2, &x2, a); + + secp256k1_fe_t x3; + secp256k1_fe_sqr(&x3, &x2); + secp256k1_fe_mul(&x3, &x3, a); + + secp256k1_fe_t x6 = x3; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); + secp256k1_fe_mul(&x6, &x6, &x3); + + secp256k1_fe_t x9 = x6; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); + secp256k1_fe_mul(&x9, &x9, &x3); + + secp256k1_fe_t x11 = x9; + for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); + secp256k1_fe_mul(&x11, &x11, &x2); + + secp256k1_fe_t x22 = x11; + for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); + secp256k1_fe_mul(&x22, &x22, &x11); + + secp256k1_fe_t x44 = x22; + for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); + secp256k1_fe_mul(&x44, &x44, &x22); + + secp256k1_fe_t x88 = x44; + for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); + secp256k1_fe_mul(&x88, &x88, &x44); + + secp256k1_fe_t x176 = x88; + for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); + secp256k1_fe_mul(&x176, &x176, &x88); + + secp256k1_fe_t x220 = x176; + for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); + secp256k1_fe_mul(&x220, &x220, &x44); + + secp256k1_fe_t x223 = x220; + for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); + secp256k1_fe_mul(&x223, &x223, &x3); + + /* The final result is then assembled using a sliding window over the blocks. */ + + secp256k1_fe_t t1 = x223; + for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(&t1, &t1, &x22); + for (int j=0; j<5; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(&t1, &t1, a); + for (int j=0; j<3; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(&t1, &t1, &x2); + for (int j=0; j<2; j++) secp256k1_fe_sqr(&t1, &t1); + secp256k1_fe_mul(r, a, &t1); +} + +static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a) { +#if defined(USE_FIELD_INV_BUILTIN) + secp256k1_fe_inv(r, a); +#elif defined(USE_FIELD_INV_NUM) + unsigned char b[32]; + secp256k1_fe_t c = *a; + secp256k1_fe_normalize(&c); + secp256k1_fe_get_b32(b, &c); + secp256k1_num_t n; + secp256k1_num_set_bin(&n, b, 32); + secp256k1_num_mod_inverse(&n, &n, &secp256k1_fe_consts->p); + secp256k1_num_get_bin(b, 32, &n); + VERIFY_CHECK(secp256k1_fe_set_b32(r, b)); +#else +#error "Please select field inverse implementation" +#endif +} + +static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { + if (len < 1) + return; + + VERIFY_CHECK((r + len <= a) || (a + len <= r)); + + r[0] = a[0]; + + size_t i = 0; + while (++i < len) { + secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); + } + + secp256k1_fe_t u; secp256k1_fe_inv(&u, &r[--i]); + + while (i > 0) { + int j = i--; + secp256k1_fe_mul(&r[j], &r[i], &u); + secp256k1_fe_mul(&u, &u, &a[j]); + } + + r[0] = u; +} + +static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { + if (len < 1) + return; + + VERIFY_CHECK((r + len <= a) || (a + len <= r)); + + r[0] = a[0]; + + size_t i = 0; + while (++i < len) { + secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); + } + + secp256k1_fe_t u; secp256k1_fe_inv_var(&u, &r[--i]); + + while (i > 0) { + int j = i--; + secp256k1_fe_mul(&r[j], &r[i], &u); + secp256k1_fe_mul(&u, &u, &a[j]); + } + + r[0] = u; +} + +static void secp256k1_fe_start(void) { +#ifndef USE_NUM_NONE + static const unsigned char secp256k1_fe_consts_p[] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F + }; +#endif + if (secp256k1_fe_consts == NULL) { + secp256k1_fe_inner_start(); + secp256k1_fe_consts_t *ret = (secp256k1_fe_consts_t*)malloc(sizeof(secp256k1_fe_consts_t)); +#ifndef USE_NUM_NONE + secp256k1_num_set_bin(&ret->p, secp256k1_fe_consts_p, sizeof(secp256k1_fe_consts_p)); +#endif + secp256k1_fe_consts = ret; + } +} + +static void secp256k1_fe_stop(void) { + if (secp256k1_fe_consts != NULL) { + secp256k1_fe_consts_t *c = (secp256k1_fe_consts_t*)secp256k1_fe_consts; + free((void*)c); + secp256k1_fe_consts = NULL; + secp256k1_fe_inner_stop(); + } +} + +#endif diff --git a/src/secp256k1/src/group.h b/src/secp256k1/src/group.h new file mode 100644 index 000000000..0f14bd25f --- /dev/null +++ b/src/secp256k1/src/group.h @@ -0,0 +1,120 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_GROUP_ +#define _SECP256K1_GROUP_ + +#include "num.h" +#include "field.h" + +/** A group element of the secp256k1 curve, in affine coordinates. */ +typedef struct { + secp256k1_fe_t x; + secp256k1_fe_t y; + int infinity; /* whether this represents the point at infinity */ +} secp256k1_ge_t; + +/** A group element of the secp256k1 curve, in jacobian coordinates. */ +typedef struct { + secp256k1_fe_t x; /* actual X: x/z^2 */ + secp256k1_fe_t y; /* actual Y: y/z^3 */ + secp256k1_fe_t z; + int infinity; /* whether this represents the point at infinity */ +} secp256k1_gej_t; + +/** Global constants related to the group */ +typedef struct { + secp256k1_ge_t g; /* the generator point */ + +#ifdef USE_ENDOMORPHISM + /* constants related to secp256k1's efficiently computable endomorphism */ + secp256k1_fe_t beta; +#endif +} secp256k1_ge_consts_t; + +static const secp256k1_ge_consts_t *secp256k1_ge_consts = NULL; + +/** Initialize the group module. */ +static void secp256k1_ge_start(void); + +/** De-initialize the group module. */ +static void secp256k1_ge_stop(void); + +/** Set a group element equal to the point at infinity */ +static void secp256k1_ge_set_infinity(secp256k1_ge_t *r); + +/** Set a group element equal to the point with given X and Y coordinates */ +static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); + +/** Set a group element (affine) equal to the point with the given X coordinate, and given oddness + * for Y. Return value indicates whether the result is valid. */ +static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd); + +/** Check whether a group element is the point at infinity. */ +static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a); + +/** Check whether a group element is valid (i.e., on the curve). */ +static int secp256k1_ge_is_valid(const secp256k1_ge_t *a); + +static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a); + +/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ +static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a); + +/** Set a group element equal to another which is given in jacobian coordinates */ +static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a); + +/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ +static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]); + + +/** Set a group element (jacobian) equal to the point at infinity. */ +static void secp256k1_gej_set_infinity(secp256k1_gej_t *r); + +/** Set a group element (jacobian) equal to the point with given X and Y coordinates. */ +static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); + +/** Set a group element (jacobian) equal to another which is given in affine coordinates. */ +static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a); + +/** Get the X coordinate of a group element (jacobian). */ +static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a); + +/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ +static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a); + +/** Check whether a group element is the point at infinity. */ +static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a); + +/** Set r equal to the double of a. */ +static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a); + +/** Set r equal to the sum of a and b. */ +static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b); + +/** Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity). */ +static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); + +/** Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient + than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time + guarantee, and b is allowed to be infinity. */ +static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); + +/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ +static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a); + +#ifdef USE_ENDOMORPHISM +/** Set r to be equal to lambda times a, where lambda is chosen in a way such that this is very fast. */ +static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a); +#endif + +/** Clear a secp256k1_gej_t to prevent leaking sensitive information. */ +static void secp256k1_gej_clear(secp256k1_gej_t *r); + +/** Clear a secp256k1_ge_t to prevent leaking sensitive information. */ +static void secp256k1_ge_clear(secp256k1_ge_t *r); + +#endif diff --git a/src/secp256k1/src/group_impl.h b/src/secp256k1/src/group_impl.h new file mode 100644 index 000000000..cbd0d8c4f --- /dev/null +++ b/src/secp256k1/src/group_impl.h @@ -0,0 +1,457 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_GROUP_IMPL_H_ +#define _SECP256K1_GROUP_IMPL_H_ + +#include + +#include "num.h" +#include "field.h" +#include "group.h" + +static void secp256k1_ge_set_infinity(secp256k1_ge_t *r) { + r->infinity = 1; +} + +static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { + r->infinity = 0; + r->x = *x; + r->y = *y; +} + +static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a) { + return a->infinity; +} + +static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a) { + r->infinity = a->infinity; + r->x = a->x; + r->y = a->y; + secp256k1_fe_normalize(&r->y); + secp256k1_fe_negate(&r->y, &r->y, 1); +} + +static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a) { + char cx[65]; int lx=65; + char cy[65]; int ly=65; + secp256k1_fe_get_hex(cx, &lx, &a->x); + secp256k1_fe_get_hex(cy, &ly, &a->y); + lx = strlen(cx); + ly = strlen(cy); + int len = lx + ly + 3 + 1; + if (*rlen < len) { + *rlen = len; + return; + } + *rlen = len; + r[0] = '('; + memcpy(r+1, cx, lx); + r[1+lx] = ','; + memcpy(r+2+lx, cy, ly); + r[2+lx+ly] = ')'; + r[3+lx+ly] = 0; +} + +static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a) { + r->infinity = a->infinity; + secp256k1_fe_inv(&a->z, &a->z); + secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); + secp256k1_fe_mul(&a->x, &a->x, &z2); + secp256k1_fe_mul(&a->y, &a->y, &z3); + secp256k1_fe_set_int(&a->z, 1); + r->x = a->x; + r->y = a->y; +} + +static void secp256k1_ge_set_gej_var(secp256k1_ge_t *r, secp256k1_gej_t *a) { + r->infinity = a->infinity; + if (a->infinity) { + return; + } + secp256k1_fe_inv_var(&a->z, &a->z); + secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); + secp256k1_fe_mul(&a->x, &a->x, &z2); + secp256k1_fe_mul(&a->y, &a->y, &z3); + secp256k1_fe_set_int(&a->z, 1); + r->x = a->x; + r->y = a->y; +} + +static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]) { + size_t count = 0; + secp256k1_fe_t az[len]; + for (size_t i=0; iinfinity = 1; + secp256k1_fe_set_int(&r->x, 0); + secp256k1_fe_set_int(&r->y, 0); + secp256k1_fe_set_int(&r->z, 0); +} + +static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { + r->infinity = 0; + r->x = *x; + r->y = *y; + secp256k1_fe_set_int(&r->z, 1); +} + +static void secp256k1_gej_clear(secp256k1_gej_t *r) { + r->infinity = 0; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); + secp256k1_fe_clear(&r->z); +} + +static void secp256k1_ge_clear(secp256k1_ge_t *r) { + r->infinity = 0; + secp256k1_fe_clear(&r->x); + secp256k1_fe_clear(&r->y); +} + +static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { + r->x = *x; + secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); + secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); + r->infinity = 0; + secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); + secp256k1_fe_add(&c, &x3); + if (!secp256k1_fe_sqrt(&r->y, &c)) + return 0; + secp256k1_fe_normalize(&r->y); + if (secp256k1_fe_is_odd(&r->y) != odd) + secp256k1_fe_negate(&r->y, &r->y, 1); + return 1; +} + +static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a) { + r->infinity = a->infinity; + r->x = a->x; + r->y = a->y; + secp256k1_fe_set_int(&r->z, 1); +} + +static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a) { + secp256k1_fe_t zi2; secp256k1_fe_inv_var(&zi2, &a->z); secp256k1_fe_sqr(&zi2, &zi2); + secp256k1_fe_mul(r, &a->x, &zi2); +} + +static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a) { + r->infinity = a->infinity; + r->x = a->x; + r->y = a->y; + r->z = a->z; + secp256k1_fe_normalize(&r->y); + secp256k1_fe_negate(&r->y, &r->y, 1); +} + +static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a) { + return a->infinity; +} + +static int secp256k1_gej_is_valid(const secp256k1_gej_t *a) { + if (a->infinity) + return 0; + /** y^2 = x^3 + 7 + * (Y/Z^3)^2 = (X/Z^2)^3 + 7 + * Y^2 / Z^6 = X^3 / Z^6 + 7 + * Y^2 = X^3 + 7*Z^6 + */ + secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); + secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); + secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); + secp256k1_fe_t z6; secp256k1_fe_sqr(&z6, &z2); secp256k1_fe_mul(&z6, &z6, &z2); + secp256k1_fe_mul_int(&z6, 7); + secp256k1_fe_add(&x3, &z6); + secp256k1_fe_normalize(&y2); + secp256k1_fe_normalize(&x3); + return secp256k1_fe_equal(&y2, &x3); +} + +static int secp256k1_ge_is_valid(const secp256k1_ge_t *a) { + if (a->infinity) + return 0; + /* y^2 = x^3 + 7 */ + secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); + secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); + secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); + secp256k1_fe_add(&x3, &c); + secp256k1_fe_normalize(&y2); + secp256k1_fe_normalize(&x3); + return secp256k1_fe_equal(&y2, &x3); +} + +static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a) { + // For secp256k1, 2Q is infinity if and only if Q is infinity. This is because if 2Q = infinity, + // Q must equal -Q, or that Q.y == -(Q.y), or Q.y is 0. For a point on y^2 = x^3 + 7 to have + // y=0, x^3 must be -7 mod p. However, -7 has no cube root mod p. + r->infinity = a->infinity; + if (r->infinity) { + return; + } + + secp256k1_fe_t t1,t2,t3,t4; + secp256k1_fe_mul(&r->z, &a->z, &a->y); + secp256k1_fe_mul_int(&r->z, 2); /* Z' = 2*Y*Z (2) */ + secp256k1_fe_sqr(&t1, &a->x); + secp256k1_fe_mul_int(&t1, 3); /* T1 = 3*X^2 (3) */ + secp256k1_fe_sqr(&t2, &t1); /* T2 = 9*X^4 (1) */ + secp256k1_fe_sqr(&t3, &a->y); + secp256k1_fe_mul_int(&t3, 2); /* T3 = 2*Y^2 (2) */ + secp256k1_fe_sqr(&t4, &t3); + secp256k1_fe_mul_int(&t4, 2); /* T4 = 8*Y^4 (2) */ + secp256k1_fe_mul(&t3, &t3, &a->x); /* T3 = 2*X*Y^2 (1) */ + r->x = t3; + secp256k1_fe_mul_int(&r->x, 4); /* X' = 8*X*Y^2 (4) */ + secp256k1_fe_negate(&r->x, &r->x, 4); /* X' = -8*X*Y^2 (5) */ + secp256k1_fe_add(&r->x, &t2); /* X' = 9*X^4 - 8*X*Y^2 (6) */ + secp256k1_fe_negate(&t2, &t2, 1); /* T2 = -9*X^4 (2) */ + secp256k1_fe_mul_int(&t3, 6); /* T3 = 12*X*Y^2 (6) */ + secp256k1_fe_add(&t3, &t2); /* T3 = 12*X*Y^2 - 9*X^4 (8) */ + secp256k1_fe_mul(&r->y, &t1, &t3); /* Y' = 36*X^3*Y^2 - 27*X^6 (1) */ + secp256k1_fe_negate(&t2, &t4, 2); /* T2 = -8*Y^4 (3) */ + secp256k1_fe_add(&r->y, &t2); /* Y' = 36*X^3*Y^2 - 27*X^6 - 8*Y^4 (4) */ +} + +static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b) { + if (a->infinity) { + *r = *b; + return; + } + if (b->infinity) { + *r = *a; + return; + } + r->infinity = 0; + secp256k1_fe_t z22; secp256k1_fe_sqr(&z22, &b->z); + secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); + secp256k1_fe_t u1; secp256k1_fe_mul(&u1, &a->x, &z22); + secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); + secp256k1_fe_t s1; secp256k1_fe_mul(&s1, &a->y, &z22); secp256k1_fe_mul(&s1, &s1, &b->z); + secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); + secp256k1_fe_normalize(&u1); + secp256k1_fe_normalize(&u2); + if (secp256k1_fe_equal(&u1, &u2)) { + secp256k1_fe_normalize(&s1); + secp256k1_fe_normalize(&s2); + if (secp256k1_fe_equal(&s1, &s2)) { + secp256k1_gej_double_var(r, a); + } else { + r->infinity = 1; + } + return; + } + secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); + secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); + secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); + secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); + secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); + secp256k1_fe_mul(&r->z, &a->z, &b->z); secp256k1_fe_mul(&r->z, &r->z, &h); + secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); + r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); + secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); + secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); + secp256k1_fe_add(&r->y, &h3); +} + +static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { + if (a->infinity) { + r->infinity = b->infinity; + r->x = b->x; + r->y = b->y; + secp256k1_fe_set_int(&r->z, 1); + return; + } + if (b->infinity) { + *r = *a; + return; + } + r->infinity = 0; + secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); + secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); + secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); + secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); + secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); + secp256k1_fe_normalize(&u1); + secp256k1_fe_normalize(&u2); + if (secp256k1_fe_equal(&u1, &u2)) { + secp256k1_fe_normalize(&s1); + secp256k1_fe_normalize(&s2); + if (secp256k1_fe_equal(&s1, &s2)) { + secp256k1_gej_double_var(r, a); + } else { + r->infinity = 1; + } + return; + } + secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); + secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); + secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); + secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); + secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); + r->z = a->z; secp256k1_fe_mul(&r->z, &r->z, &h); + secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); + r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); + secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); + secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); + secp256k1_fe_add(&r->y, &h3); +} + +static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { + VERIFY_CHECK(!b->infinity); + VERIFY_CHECK(a->infinity == 0 || a->infinity == 1); + + /** In: + * Eric Brier and Marc Joye, Weierstrass Elliptic Curves and Side-Channel Attacks. + * In D. Naccache and P. Paillier, Eds., Public Key Cryptography, vol. 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002. + * we find as solution for a unified addition/doubling formula: + * lambda = ((x1 + x2)^2 - x1 * x2 + a) / (y1 + y2), with a = 0 for secp256k1's curve equation. + * x3 = lambda^2 - (x1 + x2) + * 2*y3 = lambda * (x1 + x2 - 2 * x3) - (y1 + y2). + * + * Substituting x_i = Xi / Zi^2 and yi = Yi / Zi^3, for i=1,2,3, gives: + * U1 = X1*Z2^2, U2 = X2*Z1^2 + * S1 = Y1*Z2^3, S2 = Y2*Z1^3 + * Z = Z1*Z2 + * T = U1+U2 + * M = S1+S2 + * Q = T*M^2 + * R = T^2-U1*U2 + * X3 = 4*(R^2-Q) + * Y3 = 4*(R*(3*Q-2*R^2)-M^4) + * Z3 = 2*M*Z + * (Note that the paper uses xi = Xi / Zi and yi = Yi / Zi instead.) + */ + + secp256k1_fe_t zz; secp256k1_fe_sqr(&zz, &a->z); /* z = Z1^2 */ + secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); /* u1 = U1 = X1*Z2^2 (1) */ + secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &zz); /* u2 = U2 = X2*Z1^2 (1) */ + secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); /* s1 = S1 = Y1*Z2^3 (1) */ + secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &zz); /* s2 = Y2*Z2^2 (1) */ + secp256k1_fe_mul(&s2, &s2, &a->z); /* s2 = S2 = Y2*Z1^3 (1) */ + secp256k1_fe_t z = a->z; /* z = Z = Z1*Z2 (8) */ + secp256k1_fe_t t = u1; secp256k1_fe_add(&t, &u2); /* t = T = U1+U2 (2) */ + secp256k1_fe_t m = s1; secp256k1_fe_add(&m, &s2); /* m = M = S1+S2 (2) */ + secp256k1_fe_t n; secp256k1_fe_sqr(&n, &m); /* n = M^2 (1) */ + secp256k1_fe_t q; secp256k1_fe_mul(&q, &n, &t); /* q = Q = T*M^2 (1) */ + secp256k1_fe_sqr(&n, &n); /* n = M^4 (1) */ + secp256k1_fe_t rr; secp256k1_fe_sqr(&rr, &t); /* rr = T^2 (1) */ + secp256k1_fe_mul(&t, &u1, &u2); secp256k1_fe_negate(&t, &t, 1); /* t = -U1*U2 (2) */ + secp256k1_fe_add(&rr, &t); /* rr = R = T^2-U1*U2 (3) */ + secp256k1_fe_sqr(&t, &rr); /* t = R^2 (1) */ + secp256k1_fe_mul(&r->z, &m, &z); /* r->z = M*Z (1) */ + secp256k1_fe_normalize(&r->z); + int infinity = secp256k1_fe_is_zero(&r->z) * (1 - a->infinity); + secp256k1_fe_mul_int(&r->z, 2 * (1 - a->infinity)); /* r->z = Z3 = 2*M*Z (2) */ + r->x = t; /* r->x = R^2 (1) */ + secp256k1_fe_negate(&q, &q, 1); /* q = -Q (2) */ + secp256k1_fe_add(&r->x, &q); /* r->x = R^2-Q (3) */ + secp256k1_fe_normalize(&r->x); + secp256k1_fe_mul_int(&q, 3); /* q = -3*Q (6) */ + secp256k1_fe_mul_int(&t, 2); /* t = 2*R^2 (2) */ + secp256k1_fe_add(&t, &q); /* t = 2*R^2-3*Q (8) */ + secp256k1_fe_mul(&t, &t, &rr); /* t = R*(2*R^2-3*Q) (1) */ + secp256k1_fe_add(&t, &n); /* t = R*(2*R^2-3*Q)+M^4 (2) */ + secp256k1_fe_negate(&r->y, &t, 2); /* r->y = R*(3*Q-2*R^2)-M^4 (3) */ + secp256k1_fe_normalize(&r->y); + secp256k1_fe_mul_int(&r->x, 4 * (1 - a->infinity)); /* r->x = X3 = 4*(R^2-Q) */ + secp256k1_fe_mul_int(&r->y, 4 * (1 - a->infinity)); /* r->y = Y3 = 4*R*(3*Q-2*R^2)-4*M^4 (4) */ + + /** In case a->infinity == 1, the above code results in r->x, r->y, and r->z all equal to 0. + * Add b->x to x, b->y to y, and 1 to z in that case. + */ + t = b->x; secp256k1_fe_mul_int(&t, a->infinity); + secp256k1_fe_add(&r->x, &t); + t = b->y; secp256k1_fe_mul_int(&t, a->infinity); + secp256k1_fe_add(&r->y, &t); + secp256k1_fe_set_int(&t, a->infinity); + secp256k1_fe_add(&r->z, &t); + r->infinity = infinity; +} + + + +static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a) { + secp256k1_gej_t c = *a; + secp256k1_ge_t t; secp256k1_ge_set_gej(&t, &c); + secp256k1_ge_get_hex(r, rlen, &t); +} + +#ifdef USE_ENDOMORPHISM +static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a) { + const secp256k1_fe_t *beta = &secp256k1_ge_consts->beta; + *r = *a; + secp256k1_fe_mul(&r->x, &r->x, beta); +} +#endif + +static void secp256k1_ge_start(void) { + static const unsigned char secp256k1_ge_consts_g_x[] = { + 0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC, + 0x55,0xA0,0x62,0x95,0xCE,0x87,0x0B,0x07, + 0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9, + 0x59,0xF2,0x81,0x5B,0x16,0xF8,0x17,0x98 + }; + static const unsigned char secp256k1_ge_consts_g_y[] = { + 0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65, + 0x5D,0xA4,0xFB,0xFC,0x0E,0x11,0x08,0xA8, + 0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19, + 0x9C,0x47,0xD0,0x8F,0xFB,0x10,0xD4,0xB8 + }; +#ifdef USE_ENDOMORPHISM + /* properties of secp256k1's efficiently computable endomorphism */ + static const unsigned char secp256k1_ge_consts_beta[] = { + 0x7a,0xe9,0x6a,0x2b,0x65,0x7c,0x07,0x10, + 0x6e,0x64,0x47,0x9e,0xac,0x34,0x34,0xe9, + 0x9c,0xf0,0x49,0x75,0x12,0xf5,0x89,0x95, + 0xc1,0x39,0x6c,0x28,0x71,0x95,0x01,0xee + }; +#endif + if (secp256k1_ge_consts == NULL) { + secp256k1_ge_consts_t *ret = (secp256k1_ge_consts_t*)malloc(sizeof(secp256k1_ge_consts_t)); +#ifdef USE_ENDOMORPHISM + VERIFY_CHECK(secp256k1_fe_set_b32(&ret->beta, secp256k1_ge_consts_beta)); +#endif + secp256k1_fe_t g_x, g_y; + VERIFY_CHECK(secp256k1_fe_set_b32(&g_x, secp256k1_ge_consts_g_x)); + VERIFY_CHECK(secp256k1_fe_set_b32(&g_y, secp256k1_ge_consts_g_y)); + secp256k1_ge_set_xy(&ret->g, &g_x, &g_y); + secp256k1_ge_consts = ret; + } +} + +static void secp256k1_ge_stop(void) { + if (secp256k1_ge_consts != NULL) { + secp256k1_ge_consts_t *c = (secp256k1_ge_consts_t*)secp256k1_ge_consts; + free((void*)c); + secp256k1_ge_consts = NULL; + } +} + +#endif diff --git a/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java b/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java new file mode 100644 index 000000000..90a498eaa --- /dev/null +++ b/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java @@ -0,0 +1,60 @@ +package org.bitcoin; + +import java.nio.ByteBuffer; +import java.nio.ByteOrder; + +import com.google.common.base.Preconditions; + + +/** + * This class holds native methods to handle ECDSA verification. + * You can find an example library that can be used for this at + * https://github.com/sipa/secp256k1 + */ +public class NativeSecp256k1 { + public static final boolean enabled; + static { + boolean isEnabled = true; + try { + System.loadLibrary("javasecp256k1"); + } catch (UnsatisfiedLinkError e) { + isEnabled = false; + } + enabled = isEnabled; + } + + private static ThreadLocal nativeECDSABuffer = new ThreadLocal(); + /** + * Verifies the given secp256k1 signature in native code. + * Calling when enabled == false is undefined (probably library not loaded) + * + * @param data The data which was signed, must be exactly 32 bytes + * @param signature The signature + * @param pub The public key which did the signing + */ + public static boolean verify(byte[] data, byte[] signature, byte[] pub) { + Preconditions.checkArgument(data.length == 32 && signature.length <= 520 && pub.length <= 520); + + ByteBuffer byteBuff = nativeECDSABuffer.get(); + if (byteBuff == null) { + byteBuff = ByteBuffer.allocateDirect(32 + 8 + 520 + 520); + byteBuff.order(ByteOrder.nativeOrder()); + nativeECDSABuffer.set(byteBuff); + } + byteBuff.rewind(); + byteBuff.put(data); + byteBuff.putInt(signature.length); + byteBuff.putInt(pub.length); + byteBuff.put(signature); + byteBuff.put(pub); + return secp256k1_ecdsa_verify(byteBuff) == 1; + } + + /** + * @param byteBuff signature format is byte[32] data, + * native-endian int signatureLength, native-endian int pubkeyLength, + * byte[signatureLength] signature, byte[pubkeyLength] pub + * @returns 1 for valid signature, anything else for invalid + */ + private static native int secp256k1_ecdsa_verify(ByteBuffer byteBuff); +} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c new file mode 100644 index 000000000..bb4cd7072 --- /dev/null +++ b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c @@ -0,0 +1,23 @@ +#include "org_bitcoin_NativeSecp256k1.h" +#include "include/secp256k1.h" + +JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify + (JNIEnv* env, jclass classObject, jobject byteBufferObject) +{ + unsigned char* data = (unsigned char*) (*env)->GetDirectBufferAddress(env, byteBufferObject); + int sigLen = *((int*)(data + 32)); + int pubLen = *((int*)(data + 32 + 4)); + + return secp256k1_ecdsa_verify(data, 32, data+32+8, sigLen, data+32+8+sigLen, pubLen); +} + +static void __javasecp256k1_attach(void) __attribute__((constructor)); +static void __javasecp256k1_detach(void) __attribute__((destructor)); + +static void __javasecp256k1_attach(void) { + secp256k1_start(SECP256K1_START_VERIFY); +} + +static void __javasecp256k1_detach(void) { + secp256k1_stop(); +} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h new file mode 100644 index 000000000..d7fb004fa --- /dev/null +++ b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h @@ -0,0 +1,21 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include +/* Header for class org_bitcoin_NativeSecp256k1 */ + +#ifndef _Included_org_bitcoin_NativeSecp256k1 +#define _Included_org_bitcoin_NativeSecp256k1 +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_bitcoin_NativeSecp256k1 + * Method: secp256k1_ecdsa_verify + * Signature: (Ljava/nio/ByteBuffer;)I + */ +JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify + (JNIEnv *, jclass, jobject); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/secp256k1/src/num.h b/src/secp256k1/src/num.h new file mode 100644 index 000000000..339b6bb6e --- /dev/null +++ b/src/secp256k1/src/num.h @@ -0,0 +1,68 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_NUM_ +#define _SECP256K1_NUM_ + +#ifndef USE_NUM_NONE + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_NUM_GMP) +#include "num_gmp.h" +#else +#error "Please select num implementation" +#endif + +/** Copy a number. */ +static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a); + +/** Convert a number's absolute value to a binary big-endian string. + * There must be enough place. */ +static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a); + +/** Set a number to the value of a binary big-endian string. */ +static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen); + +/** Compute a modular inverse. The input must be less than the modulus. */ +static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m); + +/** Compare the absolute value of two numbers. */ +static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b); + +/** Test whether two number are equal (including sign). */ +static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b); + +/** Add two (signed) numbers. */ +static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); + +/** Subtract two (signed) numbers. */ +static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); + +/** Multiply two (signed) numbers. */ +static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); + +/** Replace a number by its remainder modulo m. M's sign is ignored. The result is a number between 0 and m-1, + even if r was negative. */ +static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m); + +/** Right-shift the passed number by bits bits. */ +static void secp256k1_num_shift(secp256k1_num_t *r, int bits); + +/** Check whether a number is zero. */ +static int secp256k1_num_is_zero(const secp256k1_num_t *a); + +/** Check whether a number is strictly negative. */ +static int secp256k1_num_is_neg(const secp256k1_num_t *a); + +/** Change a number's sign. */ +static void secp256k1_num_negate(secp256k1_num_t *r); + +#endif + +#endif diff --git a/src/secp256k1/src/num_gmp.h b/src/secp256k1/src/num_gmp.h new file mode 100644 index 000000000..baa1f2bf2 --- /dev/null +++ b/src/secp256k1/src/num_gmp.h @@ -0,0 +1,20 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_NUM_REPR_ +#define _SECP256K1_NUM_REPR_ + +#include + +#define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) + +typedef struct { + mp_limb_t data[2*NUM_LIMBS]; + int neg; + int limbs; +} secp256k1_num_t; + +#endif diff --git a/src/secp256k1/src/num_gmp_impl.h b/src/secp256k1/src/num_gmp_impl.h new file mode 100644 index 000000000..19d474e59 --- /dev/null +++ b/src/secp256k1/src/num_gmp_impl.h @@ -0,0 +1,232 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_NUM_REPR_IMPL_H_ +#define _SECP256K1_NUM_REPR_IMPL_H_ + +#include +#include +#include + +#include "util.h" +#include "num.h" + +#ifdef VERIFY +static void secp256k1_num_sanity(const secp256k1_num_t *a) { + VERIFY_CHECK(a->limbs == 1 || (a->limbs > 1 && a->data[a->limbs-1] != 0)); +} +#else +#define secp256k1_num_sanity(a) do { } while(0) +#endif + +static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a) { + *r = *a; +} + +static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a) { + unsigned char tmp[65]; + int len = 0; + if (a->limbs>1 || a->data[0] != 0) { + len = mpn_get_str(tmp, 256, (mp_limb_t*)a->data, a->limbs); + } + int shift = 0; + while (shift < len && tmp[shift] == 0) shift++; + VERIFY_CHECK(len-shift <= (int)rlen); + memset(r, 0, rlen - len + shift); + if (len > shift) { + memcpy(r + rlen - len + shift, tmp + shift, len - shift); + } + memset(tmp, 0, sizeof(tmp)); +} + +static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen) { + VERIFY_CHECK(alen > 0); + VERIFY_CHECK(alen <= 64); + int len = mpn_set_str(r->data, a, alen, 256); + if (len == 0) { + r->data[0] = 0; + len = 1; + } + VERIFY_CHECK(len <= NUM_LIMBS*2); + r->limbs = len; + r->neg = 0; + while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; +} + +static void secp256k1_num_add_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { + mp_limb_t c = mpn_add(r->data, a->data, a->limbs, b->data, b->limbs); + r->limbs = a->limbs; + if (c != 0) { + VERIFY_CHECK(r->limbs < 2*NUM_LIMBS); + r->data[r->limbs++] = c; + } +} + +static void secp256k1_num_sub_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { + mp_limb_t c = mpn_sub(r->data, a->data, a->limbs, b->data, b->limbs); + VERIFY_CHECK(c == 0); + r->limbs = a->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; +} + +static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m) { + secp256k1_num_sanity(r); + secp256k1_num_sanity(m); + + if (r->limbs >= m->limbs) { + mp_limb_t t[2*NUM_LIMBS]; + mpn_tdiv_qr(t, r->data, 0, r->data, r->limbs, m->data, m->limbs); + memset(t, 0, sizeof(t)); + r->limbs = m->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; + } + + if (r->neg && (r->limbs > 1 || r->data[0] != 0)) { + secp256k1_num_sub_abs(r, m, r); + r->neg = 0; + } +} + +static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(m); + + /** mpn_gcdext computes: (G,S) = gcdext(U,V), where + * * G = gcd(U,V) + * * G = U*S + V*T + * * U has equal or more limbs than V, and V has no padding + * If we set U to be (a padded version of) a, and V = m: + * G = a*S + m*T + * G = a*S mod m + * Assuming G=1: + * S = 1/a mod m + */ + VERIFY_CHECK(m->limbs <= NUM_LIMBS); + VERIFY_CHECK(m->data[m->limbs-1] != 0); + mp_limb_t g[NUM_LIMBS+1]; + mp_limb_t u[NUM_LIMBS+1]; + mp_limb_t v[NUM_LIMBS+1]; + for (int i=0; i < m->limbs; i++) { + u[i] = (i < a->limbs) ? a->data[i] : 0; + v[i] = m->data[i]; + } + mp_size_t sn = NUM_LIMBS+1; + mp_size_t gn = mpn_gcdext(g, r->data, &sn, u, m->limbs, v, m->limbs); + VERIFY_CHECK(gn == 1); + VERIFY_CHECK(g[0] == 1); + r->neg = a->neg ^ m->neg; + if (sn < 0) { + mpn_sub(r->data, m->data, m->limbs, r->data, -sn); + r->limbs = m->limbs; + while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; + } else { + r->limbs = sn; + } + memset(g, 0, sizeof(g)); + memset(u, 0, sizeof(u)); + memset(v, 0, sizeof(v)); +} + +static int secp256k1_num_is_zero(const secp256k1_num_t *a) { + return (a->limbs == 1 && a->data[0] == 0); +} + +static int secp256k1_num_is_neg(const secp256k1_num_t *a) { + return (a->limbs > 1 || a->data[0] != 0) && a->neg; +} + +static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b) { + if (a->limbs > b->limbs) return 1; + if (a->limbs < b->limbs) return -1; + return mpn_cmp(a->data, b->data, a->limbs); +} + +static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b) { + if (a->limbs > b->limbs) return 0; + if (a->limbs < b->limbs) return 0; + if ((a->neg && !secp256k1_num_is_zero(a)) != (b->neg && !secp256k1_num_is_zero(b))) return 0; + return mpn_cmp(a->data, b->data, a->limbs) == 0; +} + +static void secp256k1_num_subadd(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b, int bneg) { + if (!(b->neg ^ bneg ^ a->neg)) { /* a and b have the same sign */ + r->neg = a->neg; + if (a->limbs >= b->limbs) { + secp256k1_num_add_abs(r, a, b); + } else { + secp256k1_num_add_abs(r, b, a); + } + } else { + if (secp256k1_num_cmp(a, b) > 0) { + r->neg = a->neg; + secp256k1_num_sub_abs(r, a, b); + } else { + r->neg = b->neg ^ bneg; + secp256k1_num_sub_abs(r, b, a); + } + } +} + +static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + secp256k1_num_subadd(r, a, b, 0); +} + +static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + secp256k1_num_subadd(r, a, b, 1); +} + +static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { + secp256k1_num_sanity(a); + secp256k1_num_sanity(b); + + mp_limb_t tmp[2*NUM_LIMBS+1]; + VERIFY_CHECK(a->limbs + b->limbs <= 2*NUM_LIMBS+1); + if ((a->limbs==1 && a->data[0]==0) || (b->limbs==1 && b->data[0]==0)) { + r->limbs = 1; + r->neg = 0; + r->data[0] = 0; + return; + } + if (a->limbs >= b->limbs) + mpn_mul(tmp, a->data, a->limbs, b->data, b->limbs); + else + mpn_mul(tmp, b->data, b->limbs, a->data, a->limbs); + r->limbs = a->limbs + b->limbs; + if (r->limbs > 1 && tmp[r->limbs - 1]==0) r->limbs--; + VERIFY_CHECK(r->limbs <= 2*NUM_LIMBS); + mpn_copyi(r->data, tmp, r->limbs); + r->neg = a->neg ^ b->neg; + memset(tmp, 0, sizeof(tmp)); +} + +static void secp256k1_num_shift(secp256k1_num_t *r, int bits) { + if (bits % GMP_NUMB_BITS) { + // Shift within limbs. + mpn_rshift(r->data, r->data, r->limbs, bits % GMP_NUMB_BITS); + } + if (bits >= GMP_NUMB_BITS) { + // Shift full limbs. + for (int i = 0; i < r->limbs; i++) { + int index = i + (bits / GMP_NUMB_BITS); + if (index < r->limbs && index < 2*NUM_LIMBS) { + r->data[i] = r->data[index]; + } else { + r->data[i] = 0; + } + } + } + while (r->limbs>1 && r->data[r->limbs-1]==0) r->limbs--; +} + +static void secp256k1_num_negate(secp256k1_num_t *r) { + r->neg ^= 1; +} + +#endif diff --git a/src/secp256k1/src/num_impl.h b/src/secp256k1/src/num_impl.h new file mode 100644 index 000000000..0b0e3a072 --- /dev/null +++ b/src/secp256k1/src/num_impl.h @@ -0,0 +1,24 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_NUM_IMPL_H_ +#define _SECP256K1_NUM_IMPL_H_ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include "num.h" + +#if defined(USE_NUM_GMP) +#include "num_gmp_impl.h" +#elif defined(USE_NUM_NONE) +/* Nothing. */ +#else +#error "Please select num implementation" +#endif + +#endif diff --git a/src/secp256k1/src/scalar.h b/src/secp256k1/src/scalar.h new file mode 100644 index 000000000..2f5ba0d44 --- /dev/null +++ b/src/secp256k1/src/scalar.h @@ -0,0 +1,96 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_ +#define _SECP256K1_SCALAR_ + +#include "num.h" + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_SCALAR_4X64) +#include "scalar_4x64.h" +#elif defined(USE_SCALAR_8X32) +#include "scalar_8x32.h" +#else +#error "Please select scalar implementation" +#endif + +static void secp256k1_scalar_start(void); +static void secp256k1_scalar_stop(void); + +/** Clear a scalar to prevent the leak of sensitive data. */ +static void secp256k1_scalar_clear(secp256k1_scalar_t *r); + +/** Access bits from a scalar. All requested bits must belong to the same 32-bit limb. */ +static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); + +/** Access bits from a scalar. Not constant time. */ +static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); + +/** Set a scalar from a big endian byte array. */ +static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *bin, int *overflow); + +/** Set a scalar to an unsigned integer. */ +static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v); + +/** Convert a scalar to a byte array. */ +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a); + +/** Add two scalars together (modulo the group order). Returns whether it overflowed. */ +static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); + +/** Add a power of two to a scalar. The result is not allowed to overflow. */ +static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit); + +/** Multiply two scalars (modulo the group order). */ +static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); + +/** Compute the square of a scalar (modulo the group order). */ +static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); + +/** Compute the inverse of a scalar (modulo the group order). */ +static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); + +/** Compute the inverse of a scalar (modulo the group order), without constant-time guarantee. */ +static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); + +/** Compute the complement of a scalar (modulo the group order). */ +static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); + +/** Check whether a scalar equals zero. */ +static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a); + +/** Check whether a scalar equals one. */ +static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a); + +/** Check whether a scalar is higher than the group order divided by 2. */ +static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a); + +#ifndef USE_NUM_NONE +/** Convert a scalar to a number. */ +static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a); + +/** Get the order of the group as a number. */ +static void secp256k1_scalar_order_get_num(secp256k1_num_t *r); +#endif + +/** Compare two scalars. */ +static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); + +static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); + +#ifdef USE_ENDOMORPHISM +/** Find r1 and r2 such that r1+r2*lambda = a, and r1 and r2 are maximum 128 bits long (see secp256k1_gej_mul_lambda). */ +static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); +#endif + +/** Multiply a and b (without taking the modulus!), divide by 2**shift, and round to the nearest integer. Shift must be at least 256. */ +static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift); + +#endif diff --git a/src/secp256k1/src/scalar_4x64.h b/src/secp256k1/src/scalar_4x64.h new file mode 100644 index 000000000..5a751c686 --- /dev/null +++ b/src/secp256k1/src/scalar_4x64.h @@ -0,0 +1,17 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_REPR_ +#define _SECP256K1_SCALAR_REPR_ + +#include + +/** A scalar modulo the group order of the secp256k1 curve. */ +typedef struct { + uint64_t d[4]; +} secp256k1_scalar_t; + +#endif diff --git a/src/secp256k1/src/scalar_4x64_impl.h b/src/secp256k1/src/scalar_4x64_impl.h new file mode 100644 index 000000000..d14477522 --- /dev/null +++ b/src/secp256k1/src/scalar_4x64_impl.h @@ -0,0 +1,431 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ +#define _SECP256K1_SCALAR_REPR_IMPL_H_ + +typedef unsigned __int128 uint128_t; + +/* Limbs of the secp256k1 order. */ +#define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL) +#define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL) +#define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL) +#define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) + +/* Limbs of 2^256 minus the secp256k1 order. */ +#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) +#define SECP256K1_N_C_1 (~SECP256K1_N_1) +#define SECP256K1_N_C_2 (1) + +/* Limbs of half the secp256k1 order. */ +#define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL) +#define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL) +#define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) +#define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL) + +SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { + r->d[0] = 0; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { + r->d[0] = v; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6); + return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1); +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK(count < 32); + VERIFY_CHECK(offset + count <= 256); + if ((offset + count - 1) >> 6 == offset >> 6) { + return secp256k1_scalar_get_bits(a, offset, count); + } else { + VERIFY_CHECK((offset >> 6) + 1 < 4); + return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1); + } +} + +SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { + int yes = 0; + int no = 0; + no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */ + no |= (a->d[2] < SECP256K1_N_2); + yes |= (a->d[2] > SECP256K1_N_2) & ~no; + no |= (a->d[1] < SECP256K1_N_1); + yes |= (a->d[1] > SECP256K1_N_1) & ~no; + yes |= (a->d[0] >= SECP256K1_N_0) & ~no; + return yes; +} + +SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, unsigned int overflow) { + VERIFY_CHECK(overflow <= 1); + uint128_t t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0; + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1; + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2; + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint64_t)r->d[3]; + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; + return overflow; +} + +static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + uint128_t t = (uint128_t)a->d[0] + b->d[0]; + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[1] + b->d[1]; + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[2] + b->d[2]; + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)a->d[3] + b->d[3]; + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + int overflow = t + secp256k1_scalar_check_overflow(r); + VERIFY_CHECK(overflow == 0 || overflow == 1); + secp256k1_scalar_reduce(r, overflow); + return overflow; +} + +static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { + VERIFY_CHECK(bit < 256); + uint128_t t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F)); + r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F)); + r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F)); + r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; + t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F)); + r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; +#ifdef VERIFY + VERIFY_CHECK((t >> 64) == 0); + VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); +#endif +} + +static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { + r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56; + r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56; + r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56; + r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56; + int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); + if (overflow) { + *overflow = over; + } +} + +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { + bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3]; + bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2]; + bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1]; + bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { + return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0; +} + +static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { + uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0); + uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1; + r->d[0] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[1]) + SECP256K1_N_1; + r->d[1] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[2]) + SECP256K1_N_2; + r->d[2] = t & nonzero; t >>= 64; + t += (uint128_t)(~a->d[3]) + SECP256K1_N_3; + r->d[3] = t & nonzero; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { + return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0; +} + +static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { + int yes = 0; + int no = 0; + no |= (a->d[3] < SECP256K1_N_H_3); + yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; + no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */ + no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; + yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; + return yes; +} + +/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ + +/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd(a,b) { \ + uint64_t tl, th; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c1 += th; /* overflow is handled on the next line */ \ + c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ +} + +/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ +#define muladd_fast(a,b) { \ + uint64_t tl, th; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c1 += th; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK(c1 >= th); \ +} + +/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd2(a,b) { \ + uint64_t tl, th; \ + { \ + uint128_t t = (uint128_t)a * b; \ + th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ + tl = t; \ + } \ + uint64_t th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \ + c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ + uint64_t tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \ + th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ + c0 += tl2; /* overflow is handled on the next line */ \ + th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ + c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ + c1 += th2; /* overflow is handled on the next line */ \ + c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ +} + +/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define sumadd(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + unsigned int over = (c0 < (a)) ? 1 : 0; \ + c1 += over; /* overflow is handled on the next line */ \ + c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ +} + +/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ +#define sumadd_fast(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ + VERIFY_CHECK(c2 == 0); \ +} + +/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */ +#define extract(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = c2; \ + c2 = 0; \ +} + +/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */ +#define extract_fast(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = 0; \ + VERIFY_CHECK(c2 == 0); \ +} + +static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint64_t *l) { + uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7]; + + /* 160 bit accumulator. */ + uint64_t c0, c1; + uint32_t c2; + + /* Reduce 512 bits into 385. */ + /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */ + c0 = l[0]; c1 = 0; c2 = 0; + muladd_fast(n0, SECP256K1_N_C_0); + uint64_t m0; extract_fast(m0); + sumadd_fast(l[1]); + muladd(n1, SECP256K1_N_C_0); + muladd(n0, SECP256K1_N_C_1); + uint64_t m1; extract(m1); + sumadd(l[2]); + muladd(n2, SECP256K1_N_C_0); + muladd(n1, SECP256K1_N_C_1); + sumadd(n0); + uint64_t m2; extract(m2); + sumadd(l[3]); + muladd(n3, SECP256K1_N_C_0); + muladd(n2, SECP256K1_N_C_1); + sumadd(n1); + uint64_t m3; extract(m3); + muladd(n3, SECP256K1_N_C_1); + sumadd(n2); + uint64_t m4; extract(m4); + sumadd_fast(n3); + uint64_t m5; extract_fast(m5); + VERIFY_CHECK(c0 <= 1); + uint32_t m6 = c0; + + /* Reduce 385 bits into 258. */ + /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */ + c0 = m0; c1 = 0; c2 = 0; + muladd_fast(m4, SECP256K1_N_C_0); + uint64_t p0; extract_fast(p0); + sumadd_fast(m1); + muladd(m5, SECP256K1_N_C_0); + muladd(m4, SECP256K1_N_C_1); + uint64_t p1; extract(p1); + sumadd(m2); + muladd(m6, SECP256K1_N_C_0); + muladd(m5, SECP256K1_N_C_1); + sumadd(m4); + uint64_t p2; extract(p2); + sumadd_fast(m3); + muladd_fast(m6, SECP256K1_N_C_1); + sumadd_fast(m5); + uint64_t p3; extract_fast(p3); + uint32_t p4 = c0 + m6; + VERIFY_CHECK(p4 <= 2); + + /* Reduce 258 bits into 256. */ + /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */ + uint128_t c = p0 + (uint128_t)SECP256K1_N_C_0 * p4; + r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p1 + (uint128_t)SECP256K1_N_C_1 * p4; + r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p2 + (uint128_t)p4; + r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + c += p3; + r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; + + /* Final reduction of r. */ + secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); +} + +static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + /* 160 bit accumulator. */ + uint64_t c0 = 0, c1 = 0; + uint32_t c2 = 0; + + /* l[0..7] = a[0..3] * b[0..3]. */ + muladd_fast(a->d[0], b->d[0]); + extract_fast(l[0]); + muladd(a->d[0], b->d[1]); + muladd(a->d[1], b->d[0]); + extract(l[1]); + muladd(a->d[0], b->d[2]); + muladd(a->d[1], b->d[1]); + muladd(a->d[2], b->d[0]); + extract(l[2]); + muladd(a->d[0], b->d[3]); + muladd(a->d[1], b->d[2]); + muladd(a->d[2], b->d[1]); + muladd(a->d[3], b->d[0]); + extract(l[3]); + muladd(a->d[1], b->d[3]); + muladd(a->d[2], b->d[2]); + muladd(a->d[3], b->d[1]); + extract(l[4]); + muladd(a->d[2], b->d[3]); + muladd(a->d[3], b->d[2]); + extract(l[5]); + muladd_fast(a->d[3], b->d[3]); + extract_fast(l[6]); + VERIFY_CHECK(c1 <= 0); + l[7] = c0; +} + +static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar_t *a) { + /* 160 bit accumulator. */ + uint64_t c0 = 0, c1 = 0; + uint32_t c2 = 0; + + /* l[0..7] = a[0..3] * b[0..3]. */ + muladd_fast(a->d[0], a->d[0]); + extract_fast(l[0]); + muladd2(a->d[0], a->d[1]); + extract(l[1]); + muladd2(a->d[0], a->d[2]); + muladd(a->d[1], a->d[1]); + extract(l[2]); + muladd2(a->d[0], a->d[3]); + muladd2(a->d[1], a->d[2]); + extract(l[3]); + muladd2(a->d[1], a->d[3]); + muladd(a->d[2], a->d[2]); + extract(l[4]); + muladd2(a->d[2], a->d[3]); + extract(l[5]); + muladd_fast(a->d[3], a->d[3]); + extract_fast(l[6]); + VERIFY_CHECK(c1 == 0); + l[7] = c0; +} + +#undef sumadd +#undef sumadd_fast +#undef muladd +#undef muladd_fast +#undef muladd2 +#undef extract +#undef extract_fast + +static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + uint64_t l[8]; + secp256k1_scalar_mul_512(l, a, b); + secp256k1_scalar_reduce_512(r, l); +} + +static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { + uint64_t l[8]; + secp256k1_scalar_sqr_512(l, a); + secp256k1_scalar_reduce_512(r, l); +} + +static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { + r1->d[0] = a->d[0]; + r1->d[1] = a->d[1]; + r1->d[2] = 0; + r1->d[3] = 0; + r2->d[0] = a->d[2]; + r2->d[1] = a->d[3]; + r2->d[2] = 0; + r2->d[3] = 0; +} + +SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { + VERIFY_CHECK(shift >= 256); + uint64_t l[8]; + secp256k1_scalar_mul_512(l, a, b); + unsigned int shiftlimbs = shift >> 6; + unsigned int shiftlow = shift & 0x3F; + unsigned int shifthigh = 64 - shiftlow; + r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0; + if ((l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1) { + secp256k1_scalar_add_bit(r, 0); + } +} + +#endif diff --git a/src/secp256k1/src/scalar_8x32.h b/src/secp256k1/src/scalar_8x32.h new file mode 100644 index 000000000..f70328cfc --- /dev/null +++ b/src/secp256k1/src/scalar_8x32.h @@ -0,0 +1,17 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_REPR_ +#define _SECP256K1_SCALAR_REPR_ + +#include + +/** A scalar modulo the group order of the secp256k1 curve. */ +typedef struct { + uint32_t d[8]; +} secp256k1_scalar_t; + +#endif diff --git a/src/secp256k1/src/scalar_8x32_impl.h b/src/secp256k1/src/scalar_8x32_impl.h new file mode 100644 index 000000000..915cbcddb --- /dev/null +++ b/src/secp256k1/src/scalar_8x32_impl.h @@ -0,0 +1,668 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ +#define _SECP256K1_SCALAR_REPR_IMPL_H_ + +/* Limbs of the secp256k1 order. */ +#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) +#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) +#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) +#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) +#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) +#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) + +/* Limbs of 2^256 minus the secp256k1 order. */ +#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) +#define SECP256K1_N_C_1 (~SECP256K1_N_1) +#define SECP256K1_N_C_2 (~SECP256K1_N_2) +#define SECP256K1_N_C_3 (~SECP256K1_N_3) +#define SECP256K1_N_C_4 (1) + +/* Limbs of half the secp256k1 order. */ +#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) +#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) +#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) +#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) +#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) +#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) + +SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { + r->d[0] = 0; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; + r->d[4] = 0; + r->d[5] = 0; + r->d[6] = 0; + r->d[7] = 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { + r->d[0] = v; + r->d[1] = 0; + r->d[2] = 0; + r->d[3] = 0; + r->d[4] = 0; + r->d[5] = 0; + r->d[6] = 0; + r->d[7] = 0; +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK((offset + count - 1) >> 5 == offset >> 5); + return (a->d[offset >> 5] >> (offset & 0x1F)) & ((1 << count) - 1); +} + +SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { + VERIFY_CHECK(count < 32); + VERIFY_CHECK(offset + count <= 256); + if ((offset + count - 1) >> 5 == offset >> 5) { + return secp256k1_scalar_get_bits(a, offset, count); + } else { + VERIFY_CHECK((offset >> 5) + 1 < 8); + return ((a->d[offset >> 5] >> (offset & 0x1F)) | (a->d[(offset >> 5) + 1] << (32 - (offset & 0x1F)))) & ((((uint32_t)1) << count) - 1); + } +} + +SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { + int yes = 0; + int no = 0; + no |= (a->d[7] < SECP256K1_N_7); /* No need for a > check. */ + no |= (a->d[6] < SECP256K1_N_6); /* No need for a > check. */ + no |= (a->d[5] < SECP256K1_N_5); /* No need for a > check. */ + no |= (a->d[4] < SECP256K1_N_4); + yes |= (a->d[4] > SECP256K1_N_4) & ~no; + no |= (a->d[3] < SECP256K1_N_3) & ~yes; + yes |= (a->d[3] > SECP256K1_N_3) & ~no; + no |= (a->d[2] < SECP256K1_N_2) & ~yes; + yes |= (a->d[2] > SECP256K1_N_2) & ~no; + no |= (a->d[1] < SECP256K1_N_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_1) & ~no; + yes |= (a->d[0] >= SECP256K1_N_0) & ~no; + return yes; +} + +SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, uint32_t overflow) { + VERIFY_CHECK(overflow <= 1); + uint64_t t = (uint64_t)r->d[0] + overflow * SECP256K1_N_C_0; + r->d[0] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[1] + overflow * SECP256K1_N_C_1; + r->d[1] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[2] + overflow * SECP256K1_N_C_2; + r->d[2] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[3] + overflow * SECP256K1_N_C_3; + r->d[3] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[4] + overflow * SECP256K1_N_C_4; + r->d[4] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[5]; + r->d[5] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[6]; + r->d[6] = t & 0xFFFFFFFFUL; t >>= 32; + t += (uint64_t)r->d[7]; + r->d[7] = t & 0xFFFFFFFFUL; + return overflow; +} + +static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + uint64_t t = (uint64_t)a->d[0] + b->d[0]; + r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[1] + b->d[1]; + r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[2] + b->d[2]; + r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[3] + b->d[3]; + r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[4] + b->d[4]; + r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[5] + b->d[5]; + r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[6] + b->d[6]; + r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)a->d[7] + b->d[7]; + r->d[7] = t & 0xFFFFFFFFULL; t >>= 32; + int overflow = t + secp256k1_scalar_check_overflow(r); + VERIFY_CHECK(overflow == 0 || overflow == 1); + secp256k1_scalar_reduce(r, overflow); + return overflow; +} + +static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { + VERIFY_CHECK(bit < 256); + uint64_t t = (uint64_t)r->d[0] + (((uint32_t)((bit >> 5) == 0)) << (bit & 0x1F)); + r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[1] + (((uint32_t)((bit >> 5) == 1)) << (bit & 0x1F)); + r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[2] + (((uint32_t)((bit >> 5) == 2)) << (bit & 0x1F)); + r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[3] + (((uint32_t)((bit >> 5) == 3)) << (bit & 0x1F)); + r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[4] + (((uint32_t)((bit >> 5) == 4)) << (bit & 0x1F)); + r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[5] + (((uint32_t)((bit >> 5) == 5)) << (bit & 0x1F)); + r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[6] + (((uint32_t)((bit >> 5) == 6)) << (bit & 0x1F)); + r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; + t += (uint64_t)r->d[7] + (((uint32_t)((bit >> 5) == 7)) << (bit & 0x1F)); + r->d[7] = t & 0xFFFFFFFFULL; +#ifdef VERIFY + VERIFY_CHECK((t >> 32) == 0); + VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); +#endif +} + +static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { + r->d[0] = (uint32_t)b32[31] | (uint32_t)b32[30] << 8 | (uint32_t)b32[29] << 16 | (uint32_t)b32[28] << 24; + r->d[1] = (uint32_t)b32[27] | (uint32_t)b32[26] << 8 | (uint32_t)b32[25] << 16 | (uint32_t)b32[24] << 24; + r->d[2] = (uint32_t)b32[23] | (uint32_t)b32[22] << 8 | (uint32_t)b32[21] << 16 | (uint32_t)b32[20] << 24; + r->d[3] = (uint32_t)b32[19] | (uint32_t)b32[18] << 8 | (uint32_t)b32[17] << 16 | (uint32_t)b32[16] << 24; + r->d[4] = (uint32_t)b32[15] | (uint32_t)b32[14] << 8 | (uint32_t)b32[13] << 16 | (uint32_t)b32[12] << 24; + r->d[5] = (uint32_t)b32[11] | (uint32_t)b32[10] << 8 | (uint32_t)b32[9] << 16 | (uint32_t)b32[8] << 24; + r->d[6] = (uint32_t)b32[7] | (uint32_t)b32[6] << 8 | (uint32_t)b32[5] << 16 | (uint32_t)b32[4] << 24; + r->d[7] = (uint32_t)b32[3] | (uint32_t)b32[2] << 8 | (uint32_t)b32[1] << 16 | (uint32_t)b32[0] << 24; + int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); + if (overflow) { + *overflow = over; + } +} + +static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { + bin[0] = a->d[7] >> 24; bin[1] = a->d[7] >> 16; bin[2] = a->d[7] >> 8; bin[3] = a->d[7]; + bin[4] = a->d[6] >> 24; bin[5] = a->d[6] >> 16; bin[6] = a->d[6] >> 8; bin[7] = a->d[6]; + bin[8] = a->d[5] >> 24; bin[9] = a->d[5] >> 16; bin[10] = a->d[5] >> 8; bin[11] = a->d[5]; + bin[12] = a->d[4] >> 24; bin[13] = a->d[4] >> 16; bin[14] = a->d[4] >> 8; bin[15] = a->d[4]; + bin[16] = a->d[3] >> 24; bin[17] = a->d[3] >> 16; bin[18] = a->d[3] >> 8; bin[19] = a->d[3]; + bin[20] = a->d[2] >> 24; bin[21] = a->d[2] >> 16; bin[22] = a->d[2] >> 8; bin[23] = a->d[2]; + bin[24] = a->d[1] >> 24; bin[25] = a->d[1] >> 16; bin[26] = a->d[1] >> 8; bin[27] = a->d[1]; + bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { + return (a->d[0] | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; +} + +static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { + uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(a) == 0); + uint64_t t = (uint64_t)(~a->d[0]) + SECP256K1_N_0 + 1; + r->d[0] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[1]) + SECP256K1_N_1; + r->d[1] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[2]) + SECP256K1_N_2; + r->d[2] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[3]) + SECP256K1_N_3; + r->d[3] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[4]) + SECP256K1_N_4; + r->d[4] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[5]) + SECP256K1_N_5; + r->d[5] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[6]) + SECP256K1_N_6; + r->d[6] = t & nonzero; t >>= 32; + t += (uint64_t)(~a->d[7]) + SECP256K1_N_7; + r->d[7] = t & nonzero; +} + +SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { + return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; +} + +static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { + int yes = 0; + int no = 0; + no |= (a->d[7] < SECP256K1_N_H_7); + yes |= (a->d[7] > SECP256K1_N_H_7) & ~no; + no |= (a->d[6] < SECP256K1_N_H_6) & ~yes; /* No need for a > check. */ + no |= (a->d[5] < SECP256K1_N_H_5) & ~yes; /* No need for a > check. */ + no |= (a->d[4] < SECP256K1_N_H_4) & ~yes; /* No need for a > check. */ + no |= (a->d[3] < SECP256K1_N_H_3) & ~yes; + yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; + no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; + yes |= (a->d[2] > SECP256K1_N_H_2) & ~no; + no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; + yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; + yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; + return yes; +} + +/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ + +/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd(a,b) { \ + uint32_t tl, th; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c1 += th; /* overflow is handled on the next line */ \ + c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ +} + +/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ +#define muladd_fast(a,b) { \ + uint32_t tl, th; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + c0 += tl; /* overflow is handled on the next line */ \ + th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c1 += th; /* never overflows by contract (verified in the next line) */ \ + VERIFY_CHECK(c1 >= th); \ +} + +/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define muladd2(a,b) { \ + uint32_t tl, th; \ + { \ + uint64_t t = (uint64_t)a * b; \ + th = t >> 32; /* at most 0xFFFFFFFE */ \ + tl = t; \ + } \ + uint32_t th2 = th + th; /* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */ \ + c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ + uint32_t tl2 = tl + tl; /* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */ \ + th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ + c0 += tl2; /* overflow is handled on the next line */ \ + th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ + c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ + c1 += th2; /* overflow is handled on the next line */ \ + c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ +} + +/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ +#define sumadd(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + unsigned int over = (c0 < (a)) ? 1 : 0; \ + c1 += over; /* overflow is handled on the next line */ \ + c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ +} + +/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ +#define sumadd_fast(a) { \ + c0 += (a); /* overflow is handled on the next line */ \ + c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ + VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ + VERIFY_CHECK(c2 == 0); \ +} + +/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. */ +#define extract(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = c2; \ + c2 = 0; \ +} + +/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. */ +#define extract_fast(n) { \ + (n) = c0; \ + c0 = c1; \ + c1 = 0; \ + VERIFY_CHECK(c2 == 0); \ +} + +static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint32_t *l) { + uint32_t n0 = l[8], n1 = l[9], n2 = l[10], n3 = l[11], n4 = l[12], n5 = l[13], n6 = l[14], n7 = l[15]; + + /* 96 bit accumulator. */ + uint32_t c0, c1, c2; + + /* Reduce 512 bits into 385. */ + /* m[0..12] = l[0..7] + n[0..7] * SECP256K1_N_C. */ + c0 = l[0]; c1 = 0; c2 = 0; + muladd_fast(n0, SECP256K1_N_C_0); + uint32_t m0; extract_fast(m0); + sumadd_fast(l[1]); + muladd(n1, SECP256K1_N_C_0); + muladd(n0, SECP256K1_N_C_1); + uint32_t m1; extract(m1); + sumadd(l[2]); + muladd(n2, SECP256K1_N_C_0); + muladd(n1, SECP256K1_N_C_1); + muladd(n0, SECP256K1_N_C_2); + uint32_t m2; extract(m2); + sumadd(l[3]); + muladd(n3, SECP256K1_N_C_0); + muladd(n2, SECP256K1_N_C_1); + muladd(n1, SECP256K1_N_C_2); + muladd(n0, SECP256K1_N_C_3); + uint32_t m3; extract(m3); + sumadd(l[4]); + muladd(n4, SECP256K1_N_C_0); + muladd(n3, SECP256K1_N_C_1); + muladd(n2, SECP256K1_N_C_2); + muladd(n1, SECP256K1_N_C_3); + sumadd(n0); + uint32_t m4; extract(m4); + sumadd(l[5]); + muladd(n5, SECP256K1_N_C_0); + muladd(n4, SECP256K1_N_C_1); + muladd(n3, SECP256K1_N_C_2); + muladd(n2, SECP256K1_N_C_3); + sumadd(n1); + uint32_t m5; extract(m5); + sumadd(l[6]); + muladd(n6, SECP256K1_N_C_0); + muladd(n5, SECP256K1_N_C_1); + muladd(n4, SECP256K1_N_C_2); + muladd(n3, SECP256K1_N_C_3); + sumadd(n2); + uint32_t m6; extract(m6); + sumadd(l[7]); + muladd(n7, SECP256K1_N_C_0); + muladd(n6, SECP256K1_N_C_1); + muladd(n5, SECP256K1_N_C_2); + muladd(n4, SECP256K1_N_C_3); + sumadd(n3); + uint32_t m7; extract(m7); + muladd(n7, SECP256K1_N_C_1); + muladd(n6, SECP256K1_N_C_2); + muladd(n5, SECP256K1_N_C_3); + sumadd(n4); + uint32_t m8; extract(m8); + muladd(n7, SECP256K1_N_C_2); + muladd(n6, SECP256K1_N_C_3); + sumadd(n5); + uint32_t m9; extract(m9); + muladd(n7, SECP256K1_N_C_3); + sumadd(n6); + uint32_t m10; extract(m10); + sumadd_fast(n7); + uint32_t m11; extract_fast(m11); + VERIFY_CHECK(c0 <= 1); + uint32_t m12 = c0; + + /* Reduce 385 bits into 258. */ + /* p[0..8] = m[0..7] + m[8..12] * SECP256K1_N_C. */ + c0 = m0; c1 = 0; c2 = 0; + muladd_fast(m8, SECP256K1_N_C_0); + uint32_t p0; extract_fast(p0); + sumadd_fast(m1); + muladd(m9, SECP256K1_N_C_0); + muladd(m8, SECP256K1_N_C_1); + uint32_t p1; extract(p1); + sumadd(m2); + muladd(m10, SECP256K1_N_C_0); + muladd(m9, SECP256K1_N_C_1); + muladd(m8, SECP256K1_N_C_2); + uint32_t p2; extract(p2); + sumadd(m3); + muladd(m11, SECP256K1_N_C_0); + muladd(m10, SECP256K1_N_C_1); + muladd(m9, SECP256K1_N_C_2); + muladd(m8, SECP256K1_N_C_3); + uint32_t p3; extract(p3); + sumadd(m4); + muladd(m12, SECP256K1_N_C_0); + muladd(m11, SECP256K1_N_C_1); + muladd(m10, SECP256K1_N_C_2); + muladd(m9, SECP256K1_N_C_3); + sumadd(m8); + uint32_t p4; extract(p4); + sumadd(m5); + muladd(m12, SECP256K1_N_C_1); + muladd(m11, SECP256K1_N_C_2); + muladd(m10, SECP256K1_N_C_3); + sumadd(m9); + uint32_t p5; extract(p5); + sumadd(m6); + muladd(m12, SECP256K1_N_C_2); + muladd(m11, SECP256K1_N_C_3); + sumadd(m10); + uint32_t p6; extract(p6); + sumadd_fast(m7); + muladd_fast(m12, SECP256K1_N_C_3); + sumadd_fast(m11); + uint32_t p7; extract_fast(p7); + uint32_t p8 = c0 + m12; + VERIFY_CHECK(p8 <= 2); + + /* Reduce 258 bits into 256. */ + /* r[0..7] = p[0..7] + p[8] * SECP256K1_N_C. */ + uint64_t c = p0 + (uint64_t)SECP256K1_N_C_0 * p8; + r->d[0] = c & 0xFFFFFFFFUL; c >>= 32; + c += p1 + (uint64_t)SECP256K1_N_C_1 * p8; + r->d[1] = c & 0xFFFFFFFFUL; c >>= 32; + c += p2 + (uint64_t)SECP256K1_N_C_2 * p8; + r->d[2] = c & 0xFFFFFFFFUL; c >>= 32; + c += p3 + (uint64_t)SECP256K1_N_C_3 * p8; + r->d[3] = c & 0xFFFFFFFFUL; c >>= 32; + c += p4 + (uint64_t)p8; + r->d[4] = c & 0xFFFFFFFFUL; c >>= 32; + c += p5; + r->d[5] = c & 0xFFFFFFFFUL; c >>= 32; + c += p6; + r->d[6] = c & 0xFFFFFFFFUL; c >>= 32; + c += p7; + r->d[7] = c & 0xFFFFFFFFUL; c >>= 32; + + /* Final reduction of r. */ + secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); +} + +static void secp256k1_scalar_mul_512(uint32_t l[16], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + /* 96 bit accumulator. */ + uint32_t c0 = 0, c1 = 0, c2 = 0; + + /* l[0..15] = a[0..7] * b[0..7]. */ + muladd_fast(a->d[0], b->d[0]); + extract_fast(l[0]); + muladd(a->d[0], b->d[1]); + muladd(a->d[1], b->d[0]); + extract(l[1]); + muladd(a->d[0], b->d[2]); + muladd(a->d[1], b->d[1]); + muladd(a->d[2], b->d[0]); + extract(l[2]); + muladd(a->d[0], b->d[3]); + muladd(a->d[1], b->d[2]); + muladd(a->d[2], b->d[1]); + muladd(a->d[3], b->d[0]); + extract(l[3]); + muladd(a->d[0], b->d[4]); + muladd(a->d[1], b->d[3]); + muladd(a->d[2], b->d[2]); + muladd(a->d[3], b->d[1]); + muladd(a->d[4], b->d[0]); + extract(l[4]); + muladd(a->d[0], b->d[5]); + muladd(a->d[1], b->d[4]); + muladd(a->d[2], b->d[3]); + muladd(a->d[3], b->d[2]); + muladd(a->d[4], b->d[1]); + muladd(a->d[5], b->d[0]); + extract(l[5]); + muladd(a->d[0], b->d[6]); + muladd(a->d[1], b->d[5]); + muladd(a->d[2], b->d[4]); + muladd(a->d[3], b->d[3]); + muladd(a->d[4], b->d[2]); + muladd(a->d[5], b->d[1]); + muladd(a->d[6], b->d[0]); + extract(l[6]); + muladd(a->d[0], b->d[7]); + muladd(a->d[1], b->d[6]); + muladd(a->d[2], b->d[5]); + muladd(a->d[3], b->d[4]); + muladd(a->d[4], b->d[3]); + muladd(a->d[5], b->d[2]); + muladd(a->d[6], b->d[1]); + muladd(a->d[7], b->d[0]); + extract(l[7]); + muladd(a->d[1], b->d[7]); + muladd(a->d[2], b->d[6]); + muladd(a->d[3], b->d[5]); + muladd(a->d[4], b->d[4]); + muladd(a->d[5], b->d[3]); + muladd(a->d[6], b->d[2]); + muladd(a->d[7], b->d[1]); + extract(l[8]); + muladd(a->d[2], b->d[7]); + muladd(a->d[3], b->d[6]); + muladd(a->d[4], b->d[5]); + muladd(a->d[5], b->d[4]); + muladd(a->d[6], b->d[3]); + muladd(a->d[7], b->d[2]); + extract(l[9]); + muladd(a->d[3], b->d[7]); + muladd(a->d[4], b->d[6]); + muladd(a->d[5], b->d[5]); + muladd(a->d[6], b->d[4]); + muladd(a->d[7], b->d[3]); + extract(l[10]); + muladd(a->d[4], b->d[7]); + muladd(a->d[5], b->d[6]); + muladd(a->d[6], b->d[5]); + muladd(a->d[7], b->d[4]); + extract(l[11]); + muladd(a->d[5], b->d[7]); + muladd(a->d[6], b->d[6]); + muladd(a->d[7], b->d[5]); + extract(l[12]); + muladd(a->d[6], b->d[7]); + muladd(a->d[7], b->d[6]); + extract(l[13]); + muladd_fast(a->d[7], b->d[7]); + extract_fast(l[14]); + VERIFY_CHECK(c1 == 0); + l[15] = c0; +} + +static void secp256k1_scalar_sqr_512(uint32_t l[16], const secp256k1_scalar_t *a) { + /* 96 bit accumulator. */ + uint32_t c0 = 0, c1 = 0, c2 = 0; + + /* l[0..15] = a[0..7]^2. */ + muladd_fast(a->d[0], a->d[0]); + extract_fast(l[0]); + muladd2(a->d[0], a->d[1]); + extract(l[1]); + muladd2(a->d[0], a->d[2]); + muladd(a->d[1], a->d[1]); + extract(l[2]); + muladd2(a->d[0], a->d[3]); + muladd2(a->d[1], a->d[2]); + extract(l[3]); + muladd2(a->d[0], a->d[4]); + muladd2(a->d[1], a->d[3]); + muladd(a->d[2], a->d[2]); + extract(l[4]); + muladd2(a->d[0], a->d[5]); + muladd2(a->d[1], a->d[4]); + muladd2(a->d[2], a->d[3]); + extract(l[5]); + muladd2(a->d[0], a->d[6]); + muladd2(a->d[1], a->d[5]); + muladd2(a->d[2], a->d[4]); + muladd(a->d[3], a->d[3]); + extract(l[6]); + muladd2(a->d[0], a->d[7]); + muladd2(a->d[1], a->d[6]); + muladd2(a->d[2], a->d[5]); + muladd2(a->d[3], a->d[4]); + extract(l[7]); + muladd2(a->d[1], a->d[7]); + muladd2(a->d[2], a->d[6]); + muladd2(a->d[3], a->d[5]); + muladd(a->d[4], a->d[4]); + extract(l[8]); + muladd2(a->d[2], a->d[7]); + muladd2(a->d[3], a->d[6]); + muladd2(a->d[4], a->d[5]); + extract(l[9]); + muladd2(a->d[3], a->d[7]); + muladd2(a->d[4], a->d[6]); + muladd(a->d[5], a->d[5]); + extract(l[10]); + muladd2(a->d[4], a->d[7]); + muladd2(a->d[5], a->d[6]); + extract(l[11]); + muladd2(a->d[5], a->d[7]); + muladd(a->d[6], a->d[6]); + extract(l[12]); + muladd2(a->d[6], a->d[7]); + extract(l[13]); + muladd_fast(a->d[7], a->d[7]); + extract_fast(l[14]); + VERIFY_CHECK(c1 == 0); + l[15] = c0; +} + +#undef sumadd +#undef sumadd_fast +#undef muladd +#undef muladd_fast +#undef muladd2 +#undef extract +#undef extract_fast + +static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + uint32_t l[16]; + secp256k1_scalar_mul_512(l, a, b); + secp256k1_scalar_reduce_512(r, l); +} + +static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { + uint32_t l[16]; + secp256k1_scalar_sqr_512(l, a); + secp256k1_scalar_reduce_512(r, l); +} + +static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { + r1->d[0] = a->d[0]; + r1->d[1] = a->d[1]; + r1->d[2] = a->d[2]; + r1->d[3] = a->d[3]; + r1->d[4] = 0; + r1->d[5] = 0; + r1->d[6] = 0; + r1->d[7] = 0; + r2->d[0] = a->d[4]; + r2->d[1] = a->d[5]; + r2->d[2] = a->d[6]; + r2->d[3] = a->d[7]; + r2->d[4] = 0; + r2->d[5] = 0; + r2->d[6] = 0; + r2->d[7] = 0; +} + +SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { + return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; +} + +SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { + VERIFY_CHECK(shift >= 256); + uint32_t l[16]; + secp256k1_scalar_mul_512(l, a, b); + unsigned int shiftlimbs = shift >> 5; + unsigned int shiftlow = shift & 0x1F; + unsigned int shifthigh = 32 - shiftlow; + r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 480 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[1] = shift < 480 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[2] = shift < 448 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 416 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[3] = shift < 416 ? (l[3 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[4 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[4] = shift < 384 ? (l[4 + shiftlimbs] >> shiftlow | (shift < 352 && shiftlow ? (l[5 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[5] = shift < 352 ? (l[5 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[6 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[6] = shift < 320 ? (l[6 + shiftlimbs] >> shiftlow | (shift < 288 && shiftlow ? (l[7 + shiftlimbs] << shifthigh) : 0)) : 0; + r->d[7] = shift < 288 ? (l[7 + shiftlimbs] >> shiftlow) : 0; + if ((l[(shift - 1) >> 5] >> ((shift - 1) & 0x1f)) & 1) { + secp256k1_scalar_add_bit(r, 0); + } +} + +#endif diff --git a/src/secp256k1/src/scalar_impl.h b/src/secp256k1/src/scalar_impl.h new file mode 100644 index 000000000..7fc159df7 --- /dev/null +++ b/src/secp256k1/src/scalar_impl.h @@ -0,0 +1,336 @@ +/********************************************************************** + * Copyright (c) 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_SCALAR_IMPL_H_ +#define _SECP256K1_SCALAR_IMPL_H_ + +#include + +#include "group.h" +#include "scalar.h" + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#if defined(USE_SCALAR_4X64) +#include "scalar_4x64_impl.h" +#elif defined(USE_SCALAR_8X32) +#include "scalar_8x32_impl.h" +#else +#error "Please select scalar implementation" +#endif + +typedef struct { +#ifndef USE_NUM_NONE + secp256k1_num_t order; +#endif +#ifdef USE_ENDOMORPHISM + secp256k1_scalar_t minus_lambda, minus_b1, minus_b2, g1, g2; +#endif +} secp256k1_scalar_consts_t; + +static const secp256k1_scalar_consts_t *secp256k1_scalar_consts = NULL; + +static void secp256k1_scalar_start(void) { + if (secp256k1_scalar_consts != NULL) + return; + + /* Allocate. */ + secp256k1_scalar_consts_t *ret = (secp256k1_scalar_consts_t*)malloc(sizeof(secp256k1_scalar_consts_t)); + +#ifndef USE_NUM_NONE + static const unsigned char secp256k1_scalar_consts_order[] = { + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, + 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, + 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, + 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 + }; + secp256k1_num_set_bin(&ret->order, secp256k1_scalar_consts_order, sizeof(secp256k1_scalar_consts_order)); +#endif +#ifdef USE_ENDOMORPHISM + /** + * Lambda is a scalar which has the property for secp256k1 that point multiplication by + * it is efficiently computable (see secp256k1_gej_mul_lambda). */ + static const unsigned char secp256k1_scalar_consts_lambda[32] = { + 0x53,0x63,0xad,0x4c,0xc0,0x5c,0x30,0xe0, + 0xa5,0x26,0x1c,0x02,0x88,0x12,0x64,0x5a, + 0x12,0x2e,0x22,0xea,0x20,0x81,0x66,0x78, + 0xdf,0x02,0x96,0x7c,0x1b,0x23,0xbd,0x72 + }; + /** + * "Guide to Elliptic Curve Cryptography" (Hankerson, Menezes, Vanstone) gives an algorithm + * (algorithm 3.74) to find k1 and k2 given k, such that k1 + k2 * lambda == k mod n, and k1 + * and k2 have a small size. + * It relies on constants a1, b1, a2, b2. These constants for the value of lambda above are: + * + * - a1 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} + * - b1 = -{0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3} + * - a2 = {0x01,0x14,0xca,0x50,0xf7,0xa8,0xe2,0xf3,0xf6,0x57,0xc1,0x10,0x8d,0x9d,0x44,0xcf,0xd8} + * - b2 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} + * + * The algorithm then computes c1 = round(b1 * k / n) and c2 = round(b2 * k / n), and gives + * k1 = k - (c1*a1 + c2*a2) and k2 = -(c1*b1 + c2*b2). Instead, we use modular arithmetic, and + * compute k1 as k - k2 * lambda, avoiding the need for constants a1 and a2. + * + * g1, g2 are precomputed constants used to replace division with a rounded multiplication + * when decomposing the scalar for an endomorphism-based point multiplication. + * + * The possibility of using precomputed estimates is mentioned in "Guide to Elliptic Curve + * Cryptography" (Hankerson, Menezes, Vanstone) in section 3.5. + * + * The derivation is described in the paper "Efficient Software Implementation of Public-Key + * Cryptography on Sensor Networks Using the MSP430X Microcontroller" (Gouvea, Oliveira, Lopez), + * Section 4.3 (here we use a somewhat higher-precision estimate): + * d = a1*b2 - b1*a2 + * g1 = round((2^272)*b2/d) + * g2 = round((2^272)*b1/d) + * + * (Note that 'd' is also equal to the curve order here because [a1,b1] and [a2,b2] are found + * as outputs of the Extended Euclidean Algorithm on inputs 'order' and 'lambda'). + */ + static const unsigned char secp256k1_scalar_consts_minus_b1[32] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28, + 0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3 + }; + static const unsigned char secp256k1_scalar_consts_b2[32] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd, + 0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15 + }; + static const unsigned char secp256k1_scalar_consts_g1[32] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x86, + 0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c, + 0x90,0xe4,0x92,0x84,0xeb,0x15,0x3d,0xab + }; + static const unsigned char secp256k1_scalar_consts_g2[32] = { + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xe4,0x43, + 0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54, + 0x7f,0xa9,0x0a,0xbf,0xe4,0xc4,0x22,0x12 + }; + + secp256k1_scalar_set_b32(&ret->minus_lambda, secp256k1_scalar_consts_lambda, NULL); + secp256k1_scalar_negate(&ret->minus_lambda, &ret->minus_lambda); + secp256k1_scalar_set_b32(&ret->minus_b1, secp256k1_scalar_consts_minus_b1, NULL); + secp256k1_scalar_set_b32(&ret->minus_b2, secp256k1_scalar_consts_b2, NULL); + secp256k1_scalar_negate(&ret->minus_b2, &ret->minus_b2); + secp256k1_scalar_set_b32(&ret->g1, secp256k1_scalar_consts_g1, NULL); + secp256k1_scalar_set_b32(&ret->g2, secp256k1_scalar_consts_g2, NULL); +#endif + + /* Set the global pointer. */ + secp256k1_scalar_consts = ret; +} + +static void secp256k1_scalar_stop(void) { + if (secp256k1_scalar_consts == NULL) + return; + + secp256k1_scalar_consts_t *c = (secp256k1_scalar_consts_t*)secp256k1_scalar_consts; + secp256k1_scalar_consts = NULL; + free(c); +} + +#ifndef USE_NUM_NONE +static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a) { + unsigned char c[32]; + secp256k1_scalar_get_b32(c, a); + secp256k1_num_set_bin(r, c, 32); +} + +static void secp256k1_scalar_order_get_num(secp256k1_num_t *r) { + *r = secp256k1_scalar_consts->order; +} +#endif + +static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { + /* First compute x ^ (2^N - 1) for some values of N. */ + secp256k1_scalar_t x2, x3, x4, x6, x7, x8, x15, x30, x60, x120, x127; + + secp256k1_scalar_sqr(&x2, x); + secp256k1_scalar_mul(&x2, &x2, x); + + secp256k1_scalar_sqr(&x3, &x2); + secp256k1_scalar_mul(&x3, &x3, x); + + secp256k1_scalar_sqr(&x4, &x3); + secp256k1_scalar_mul(&x4, &x4, x); + + secp256k1_scalar_sqr(&x6, &x4); + secp256k1_scalar_sqr(&x6, &x6); + secp256k1_scalar_mul(&x6, &x6, &x2); + + secp256k1_scalar_sqr(&x7, &x6); + secp256k1_scalar_mul(&x7, &x7, x); + + secp256k1_scalar_sqr(&x8, &x7); + secp256k1_scalar_mul(&x8, &x8, x); + + secp256k1_scalar_sqr(&x15, &x8); + for (int i=0; i<6; i++) + secp256k1_scalar_sqr(&x15, &x15); + secp256k1_scalar_mul(&x15, &x15, &x7); + + secp256k1_scalar_sqr(&x30, &x15); + for (int i=0; i<14; i++) + secp256k1_scalar_sqr(&x30, &x30); + secp256k1_scalar_mul(&x30, &x30, &x15); + + secp256k1_scalar_sqr(&x60, &x30); + for (int i=0; i<29; i++) + secp256k1_scalar_sqr(&x60, &x60); + secp256k1_scalar_mul(&x60, &x60, &x30); + + secp256k1_scalar_sqr(&x120, &x60); + for (int i=0; i<59; i++) + secp256k1_scalar_sqr(&x120, &x120); + secp256k1_scalar_mul(&x120, &x120, &x60); + + secp256k1_scalar_sqr(&x127, &x120); + for (int i=0; i<6; i++) + secp256k1_scalar_sqr(&x127, &x127); + secp256k1_scalar_mul(&x127, &x127, &x7); + + /* Then accumulate the final result (t starts at x127). */ + secp256k1_scalar_t *t = &x127; + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<4; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<4; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<3; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<4; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<5; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<4; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<5; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x4); /* 1111 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<3; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<4; i++) /* 000 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<10; i++) /* 0000000 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<4; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x3); /* 111 */ + for (int i=0; i<9; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x8); /* 11111111 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<3; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<3; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<5; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x4); /* 1111 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<5; i++) /* 000 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<4; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<2; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<8; i++) /* 000000 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<3; i++) /* 0 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, &x2); /* 11 */ + for (int i=0; i<3; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<6; i++) /* 00000 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(t, t, x); /* 1 */ + for (int i=0; i<8; i++) /* 00 */ + secp256k1_scalar_sqr(t, t); + secp256k1_scalar_mul(r, t, &x6); /* 111111 */ +} + +static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { +#if defined(USE_SCALAR_INV_BUILTIN) + secp256k1_scalar_inverse(r, x); +#elif defined(USE_SCALAR_INV_NUM) + unsigned char b[32]; + secp256k1_scalar_get_b32(b, x); + secp256k1_num_t n; + secp256k1_num_set_bin(&n, b, 32); + secp256k1_num_mod_inverse(&n, &n, &secp256k1_scalar_consts->order); + secp256k1_num_get_bin(b, 32, &n); + secp256k1_scalar_set_b32(r, b, NULL); +#else +#error "Please select scalar inverse implementation" +#endif +} + +#ifdef USE_ENDOMORPHISM +static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { + VERIFY_CHECK(r1 != a); + VERIFY_CHECK(r2 != a); + secp256k1_scalar_t c1, c2; + secp256k1_scalar_mul_shift_var(&c1, a, &secp256k1_scalar_consts->g1, 272); + secp256k1_scalar_mul_shift_var(&c2, a, &secp256k1_scalar_consts->g2, 272); + secp256k1_scalar_mul(&c1, &c1, &secp256k1_scalar_consts->minus_b1); + secp256k1_scalar_mul(&c2, &c2, &secp256k1_scalar_consts->minus_b2); + secp256k1_scalar_add(r2, &c1, &c2); + secp256k1_scalar_mul(r1, r2, &secp256k1_scalar_consts->minus_lambda); + secp256k1_scalar_add(r1, r1, a); +} +#endif + +#endif diff --git a/src/secp256k1/src/secp256k1.c b/src/secp256k1/src/secp256k1.c new file mode 100644 index 000000000..20fc27df7 --- /dev/null +++ b/src/secp256k1/src/secp256k1.c @@ -0,0 +1,328 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#define SECP256K1_BUILD (1) + +#include "include/secp256k1.h" + +#include "util.h" +#include "num_impl.h" +#include "field_impl.h" +#include "scalar_impl.h" +#include "group_impl.h" +#include "ecmult_impl.h" +#include "ecmult_gen_impl.h" +#include "ecdsa_impl.h" +#include "eckey_impl.h" + +void secp256k1_start(unsigned int flags) { + secp256k1_fe_start(); + secp256k1_ge_start(); + secp256k1_scalar_start(); + secp256k1_ecdsa_start(); + if (flags & SECP256K1_START_SIGN) { + secp256k1_ecmult_gen_start(); + } + if (flags & SECP256K1_START_VERIFY) { + secp256k1_ecmult_start(); + } +} + +void secp256k1_stop(void) { + secp256k1_ecmult_stop(); + secp256k1_ecmult_gen_stop(); + secp256k1_ecdsa_stop(); + secp256k1_scalar_stop(); + secp256k1_ge_stop(); + secp256k1_fe_stop(); +} + +int secp256k1_ecdsa_verify(const unsigned char *msg, int msglen, const unsigned char *sig, int siglen, const unsigned char *pubkey, int pubkeylen) { + DEBUG_CHECK(secp256k1_ecmult_consts != NULL); + DEBUG_CHECK(msg != NULL); + DEBUG_CHECK(msglen <= 32); + DEBUG_CHECK(sig != NULL); + DEBUG_CHECK(pubkey != NULL); + + unsigned char msg32[32] = {0}; + memcpy(msg32 + 32 - msglen, msg, msglen); + int ret = -3; + secp256k1_scalar_t m; + secp256k1_ecdsa_sig_t s; + secp256k1_ge_t q; + secp256k1_scalar_set_b32(&m, msg32, NULL); + + if (!secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen)) { + ret = -1; + goto end; + } + if (!secp256k1_ecdsa_sig_parse(&s, sig, siglen)) { + ret = -2; + goto end; + } + if (!secp256k1_ecdsa_sig_verify(&s, &q, &m)) { + ret = 0; + goto end; + } + ret = 1; +end: + return ret; +} + +int secp256k1_ecdsa_sign(const unsigned char *message, int messagelen, unsigned char *signature, int *signaturelen, const unsigned char *seckey, const unsigned char *nonce) { + DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); + DEBUG_CHECK(message != NULL); + DEBUG_CHECK(messagelen <= 32); + DEBUG_CHECK(signature != NULL); + DEBUG_CHECK(signaturelen != NULL); + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(nonce != NULL); + + secp256k1_scalar_t sec, non, msg; + secp256k1_scalar_set_b32(&sec, seckey, NULL); + int overflow = 0; + secp256k1_scalar_set_b32(&non, nonce, &overflow); + { + unsigned char c[32] = {0}; + memcpy(c + 32 - messagelen, message, messagelen); + secp256k1_scalar_set_b32(&msg, c, NULL); + memset(c, 0, 32); + } + int ret = !secp256k1_scalar_is_zero(&non) && !overflow; + secp256k1_ecdsa_sig_t sig; + if (ret) { + ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, NULL); + } + if (ret) { + secp256k1_ecdsa_sig_serialize(signature, signaturelen, &sig); + } + secp256k1_scalar_clear(&msg); + secp256k1_scalar_clear(&non); + secp256k1_scalar_clear(&sec); + return ret; +} + +int secp256k1_ecdsa_sign_compact(const unsigned char *message, int messagelen, unsigned char *sig64, const unsigned char *seckey, const unsigned char *nonce, int *recid) { + DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); + DEBUG_CHECK(message != NULL); + DEBUG_CHECK(messagelen <= 32); + DEBUG_CHECK(sig64 != NULL); + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(nonce != NULL); + + secp256k1_scalar_t sec, non, msg; + secp256k1_scalar_set_b32(&sec, seckey, NULL); + int overflow = 0; + secp256k1_scalar_set_b32(&non, nonce, &overflow); + { + unsigned char c[32] = {0}; + memcpy(c + 32 - messagelen, message, messagelen); + secp256k1_scalar_set_b32(&msg, c, NULL); + memset(c, 0, 32); + } + int ret = !secp256k1_scalar_is_zero(&non) && !overflow; + secp256k1_ecdsa_sig_t sig; + if (ret) { + ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, recid); + } + if (ret) { + secp256k1_scalar_get_b32(sig64, &sig.r); + secp256k1_scalar_get_b32(sig64 + 32, &sig.s); + } + secp256k1_scalar_clear(&msg); + secp256k1_scalar_clear(&non); + secp256k1_scalar_clear(&sec); + return ret; +} + +int secp256k1_ecdsa_recover_compact(const unsigned char *msg, int msglen, const unsigned char *sig64, unsigned char *pubkey, int *pubkeylen, int compressed, int recid) { + DEBUG_CHECK(secp256k1_ecmult_consts != NULL); + DEBUG_CHECK(msg != NULL); + DEBUG_CHECK(msglen <= 32); + DEBUG_CHECK(sig64 != NULL); + DEBUG_CHECK(pubkey != NULL); + DEBUG_CHECK(pubkeylen != NULL); + DEBUG_CHECK(recid >= 0 && recid <= 3); + + int ret = 0; + unsigned char msg32[32] = {0}; + memcpy(msg32 + 32 - msglen, msg, msglen); + secp256k1_scalar_t m; + secp256k1_ecdsa_sig_t sig; + int overflow = 0; + secp256k1_scalar_set_b32(&sig.r, sig64, &overflow); + if (overflow) { + return 0; + } + secp256k1_scalar_set_b32(&sig.s, sig64 + 32, &overflow); + if (overflow) { + return 0; + } + secp256k1_scalar_set_b32(&m, msg32, NULL); + + secp256k1_ge_t q; + if (secp256k1_ecdsa_sig_recover(&sig, &q, &m, recid)) { + ret = secp256k1_eckey_pubkey_serialize(&q, pubkey, pubkeylen, compressed); + } + return ret; +} + +int secp256k1_ec_seckey_verify(const unsigned char *seckey) { + DEBUG_CHECK(seckey != NULL); + + secp256k1_scalar_t sec; + int overflow; + secp256k1_scalar_set_b32(&sec, seckey, &overflow); + int ret = !secp256k1_scalar_is_zero(&sec) && !overflow; + secp256k1_scalar_clear(&sec); + return ret; +} + +int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) { + DEBUG_CHECK(pubkey != NULL); + + secp256k1_ge_t q; + return secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen); +} + +int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsigned char *seckey, int compressed) { + DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); + DEBUG_CHECK(pubkey != NULL); + DEBUG_CHECK(pubkeylen != NULL); + DEBUG_CHECK(seckey != NULL); + + secp256k1_scalar_t sec; + secp256k1_scalar_set_b32(&sec, seckey, NULL); + secp256k1_gej_t pj; + secp256k1_ecmult_gen(&pj, &sec); + secp256k1_scalar_clear(&sec); + secp256k1_ge_t p; + secp256k1_ge_set_gej(&p, &pj); + return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, compressed); +} + +int secp256k1_ec_pubkey_decompress(unsigned char *pubkey, int *pubkeylen) { + DEBUG_CHECK(pubkey != NULL); + DEBUG_CHECK(pubkeylen != NULL); + + secp256k1_ge_t p; + if (!secp256k1_eckey_pubkey_parse(&p, pubkey, *pubkeylen)) + return 0; + return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, 0); +} + +int secp256k1_ec_privkey_tweak_add(unsigned char *seckey, const unsigned char *tweak) { + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(tweak != NULL); + + secp256k1_scalar_t term; + int overflow = 0; + secp256k1_scalar_set_b32(&term, tweak, &overflow); + secp256k1_scalar_t sec; + secp256k1_scalar_set_b32(&sec, seckey, NULL); + + int ret = secp256k1_eckey_privkey_tweak_add(&sec, &term) && !overflow; + if (ret) { + secp256k1_scalar_get_b32(seckey, &sec); + } + + secp256k1_scalar_clear(&sec); + secp256k1_scalar_clear(&term); + return ret; +} + +int secp256k1_ec_pubkey_tweak_add(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { + DEBUG_CHECK(secp256k1_ecmult_consts != NULL); + DEBUG_CHECK(pubkey != NULL); + DEBUG_CHECK(tweak != NULL); + + secp256k1_scalar_t term; + int overflow = 0; + secp256k1_scalar_set_b32(&term, tweak, &overflow); + if (overflow) { + return 0; + } + secp256k1_ge_t p; + int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); + if (ret) { + ret = secp256k1_eckey_pubkey_tweak_add(&p, &term); + } + if (ret) { + int oldlen = pubkeylen; + ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); + VERIFY_CHECK(pubkeylen == oldlen); + } + + return ret; +} + +int secp256k1_ec_privkey_tweak_mul(unsigned char *seckey, const unsigned char *tweak) { + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(tweak != NULL); + + secp256k1_scalar_t factor; + int overflow = 0; + secp256k1_scalar_set_b32(&factor, tweak, &overflow); + secp256k1_scalar_t sec; + secp256k1_scalar_set_b32(&sec, seckey, NULL); + int ret = secp256k1_eckey_privkey_tweak_mul(&sec, &factor) && !overflow; + if (ret) { + secp256k1_scalar_get_b32(seckey, &sec); + } + + secp256k1_scalar_clear(&sec); + secp256k1_scalar_clear(&factor); + return ret; +} + +int secp256k1_ec_pubkey_tweak_mul(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { + DEBUG_CHECK(secp256k1_ecmult_consts != NULL); + DEBUG_CHECK(pubkey != NULL); + DEBUG_CHECK(tweak != NULL); + + secp256k1_scalar_t factor; + int overflow = 0; + secp256k1_scalar_set_b32(&factor, tweak, &overflow); + if (overflow) { + return 0; + } + secp256k1_ge_t p; + int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); + if (ret) { + ret = secp256k1_eckey_pubkey_tweak_mul(&p, &factor); + } + if (ret) { + int oldlen = pubkeylen; + ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); + VERIFY_CHECK(pubkeylen == oldlen); + } + + return ret; +} + +int secp256k1_ec_privkey_export(const unsigned char *seckey, unsigned char *privkey, int *privkeylen, int compressed) { + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(privkey != NULL); + DEBUG_CHECK(privkeylen != NULL); + + secp256k1_scalar_t key; + secp256k1_scalar_set_b32(&key, seckey, NULL); + int ret = secp256k1_eckey_privkey_serialize(privkey, privkeylen, &key, compressed); + secp256k1_scalar_clear(&key); + return ret; +} + +int secp256k1_ec_privkey_import(unsigned char *seckey, const unsigned char *privkey, int privkeylen) { + DEBUG_CHECK(seckey != NULL); + DEBUG_CHECK(privkey != NULL); + + secp256k1_scalar_t key; + int ret = secp256k1_eckey_privkey_parse(&key, privkey, privkeylen); + if (ret) + secp256k1_scalar_get_b32(seckey, &key); + secp256k1_scalar_clear(&key); + return ret; +} diff --git a/src/secp256k1/src/testrand.h b/src/secp256k1/src/testrand.h new file mode 100644 index 000000000..018b65cd5 --- /dev/null +++ b/src/secp256k1/src/testrand.h @@ -0,0 +1,26 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_TESTRAND_H_ +#define _SECP256K1_TESTRAND_H_ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +/** Seed the pseudorandom number generator. */ +SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v); + +/** Generate a pseudorandom 32-bit number. */ +static uint32_t secp256k1_rand32(void); + +/** Generate a pseudorandom 32-byte array. */ +static void secp256k1_rand256(unsigned char *b32); + +/** Generate a pseudorandom 32-byte array with long sequences of zero and one bits. */ +static void secp256k1_rand256_test(unsigned char *b32); + +#endif diff --git a/src/secp256k1/src/testrand_impl.h b/src/secp256k1/src/testrand_impl.h new file mode 100644 index 000000000..677c4b9a0 --- /dev/null +++ b/src/secp256k1/src/testrand_impl.h @@ -0,0 +1,60 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_TESTRAND_IMPL_H_ +#define _SECP256K1_TESTRAND_IMPL_H_ + +#include +#include + +#include "testrand.h" + +static uint32_t secp256k1_Rz = 11, secp256k1_Rw = 11; + +SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v) { + secp256k1_Rz = v >> 32; + secp256k1_Rw = v; + + if (secp256k1_Rz == 0 || secp256k1_Rz == 0x9068ffffU) { + secp256k1_Rz = 111; + } + if (secp256k1_Rw == 0 || secp256k1_Rw == 0x464fffffU) { + secp256k1_Rw = 111; + } +} + +SECP256K1_INLINE static uint32_t secp256k1_rand32(void) { + secp256k1_Rz = 36969 * (secp256k1_Rz & 0xFFFF) + (secp256k1_Rz >> 16); + secp256k1_Rw = 18000 * (secp256k1_Rw & 0xFFFF) + (secp256k1_Rw >> 16); + return (secp256k1_Rw << 16) + (secp256k1_Rw >> 16) + secp256k1_Rz; +} + +static void secp256k1_rand256(unsigned char *b32) { + for (int i=0; i<8; i++) { + uint32_t r = secp256k1_rand32(); + b32[i*4 + 0] = (r >> 0) & 0xFF; + b32[i*4 + 1] = (r >> 8) & 0xFF; + b32[i*4 + 2] = (r >> 16) & 0xFF; + b32[i*4 + 3] = (r >> 24) & 0xFF; + } +} + +static void secp256k1_rand256_test(unsigned char *b32) { + int bits=0; + memset(b32, 0, 32); + while (bits < 256) { + uint32_t ent = secp256k1_rand32(); + int now = 1 + ((ent % 64)*((ent >> 6) % 32)+16)/31; + uint32_t val = 1 & (ent >> 11); + while (now > 0 && bits < 256) { + b32[bits / 8] |= val << (bits % 8); + now--; + bits++; + } + } +} + +#endif diff --git a/src/secp256k1/src/tests.c b/src/secp256k1/src/tests.c new file mode 100644 index 000000000..28db45695 --- /dev/null +++ b/src/secp256k1/src/tests.c @@ -0,0 +1,1223 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include +#include + +#include "secp256k1.c" +#include "testrand_impl.h" + +#ifdef ENABLE_OPENSSL_TESTS +#include "openssl/bn.h" +#include "openssl/ec.h" +#include "openssl/ecdsa.h" +#include "openssl/obj_mac.h" +#endif + +static int count = 64; + +void random_field_element_test(secp256k1_fe_t *fe) { + do { + unsigned char b32[32]; + secp256k1_rand256_test(b32); + if (secp256k1_fe_set_b32(fe, b32)) { + break; + } + } while(1); +} + +void random_field_element_magnitude(secp256k1_fe_t *fe) { + secp256k1_fe_normalize(fe); + int n = secp256k1_rand32() % 4; + for (int i = 0; i < n; i++) { + secp256k1_fe_negate(fe, fe, 1 + 2*i); + secp256k1_fe_negate(fe, fe, 2 + 2*i); + } +} + +void random_group_element_test(secp256k1_ge_t *ge) { + secp256k1_fe_t fe; + do { + random_field_element_test(&fe); + if (secp256k1_ge_set_xo(ge, &fe, secp256k1_rand32() & 1)) + break; + } while(1); +} + +void random_group_element_jacobian_test(secp256k1_gej_t *gej, const secp256k1_ge_t *ge) { + do { + random_field_element_test(&gej->z); + if (!secp256k1_fe_is_zero(&gej->z)) { + break; + } + } while(1); + secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &gej->z); + secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &z2, &gej->z); + secp256k1_fe_mul(&gej->x, &ge->x, &z2); + secp256k1_fe_mul(&gej->y, &ge->y, &z3); + gej->infinity = ge->infinity; +} + +void random_scalar_order_test(secp256k1_scalar_t *num) { + do { + unsigned char b32[32]; + secp256k1_rand256_test(b32); + int overflow = 0; + secp256k1_scalar_set_b32(num, b32, &overflow); + if (overflow || secp256k1_scalar_is_zero(num)) + continue; + break; + } while(1); +} + +void random_scalar_order(secp256k1_scalar_t *num) { + do { + unsigned char b32[32]; + secp256k1_rand256(b32); + int overflow = 0; + secp256k1_scalar_set_b32(num, b32, &overflow); + if (overflow || secp256k1_scalar_is_zero(num)) + continue; + break; + } while(1); +} + +/***** NUM TESTS *****/ + +#ifndef USE_NUM_NONE +void random_num_negate(secp256k1_num_t *num) { + if (secp256k1_rand32() & 1) + secp256k1_num_negate(num); +} + +void random_num_order_test(secp256k1_num_t *num) { + secp256k1_scalar_t sc; + random_scalar_order_test(&sc); + secp256k1_scalar_get_num(num, &sc); +} + +void random_num_order(secp256k1_num_t *num) { + secp256k1_scalar_t sc; + random_scalar_order(&sc); + secp256k1_scalar_get_num(num, &sc); +} + +void test_num_negate(void) { + secp256k1_num_t n1; + secp256k1_num_t n2; + random_num_order_test(&n1); /* n1 = R */ + random_num_negate(&n1); + secp256k1_num_copy(&n2, &n1); /* n2 = R */ + secp256k1_num_sub(&n1, &n2, &n1); /* n1 = n2-n1 = 0 */ + CHECK(secp256k1_num_is_zero(&n1)); + secp256k1_num_copy(&n1, &n2); /* n1 = R */ + secp256k1_num_negate(&n1); /* n1 = -R */ + CHECK(!secp256k1_num_is_zero(&n1)); + secp256k1_num_add(&n1, &n2, &n1); /* n1 = n2+n1 = 0 */ + CHECK(secp256k1_num_is_zero(&n1)); + secp256k1_num_copy(&n1, &n2); /* n1 = R */ + secp256k1_num_negate(&n1); /* n1 = -R */ + CHECK(secp256k1_num_is_neg(&n1) != secp256k1_num_is_neg(&n2)); + secp256k1_num_negate(&n1); /* n1 = R */ + CHECK(secp256k1_num_eq(&n1, &n2)); +} + +void test_num_add_sub(void) { + int r = secp256k1_rand32(); + secp256k1_num_t n1; + secp256k1_num_t n2; + random_num_order_test(&n1); /* n1 = R1 */ + if (r & 1) { + random_num_negate(&n1); + } + random_num_order_test(&n2); /* n2 = R2 */ + if (r & 2) { + random_num_negate(&n2); + } + secp256k1_num_t n1p2, n2p1, n1m2, n2m1; + secp256k1_num_add(&n1p2, &n1, &n2); /* n1p2 = R1 + R2 */ + secp256k1_num_add(&n2p1, &n2, &n1); /* n2p1 = R2 + R1 */ + secp256k1_num_sub(&n1m2, &n1, &n2); /* n1m2 = R1 - R2 */ + secp256k1_num_sub(&n2m1, &n2, &n1); /* n2m1 = R2 - R1 */ + CHECK(secp256k1_num_eq(&n1p2, &n2p1)); + CHECK(!secp256k1_num_eq(&n1p2, &n1m2)); + secp256k1_num_negate(&n2m1); /* n2m1 = -R2 + R1 */ + CHECK(secp256k1_num_eq(&n2m1, &n1m2)); + CHECK(!secp256k1_num_eq(&n2m1, &n1)); + secp256k1_num_add(&n2m1, &n2m1, &n2); /* n2m1 = -R2 + R1 + R2 = R1 */ + CHECK(secp256k1_num_eq(&n2m1, &n1)); + CHECK(!secp256k1_num_eq(&n2p1, &n1)); + secp256k1_num_sub(&n2p1, &n2p1, &n2); /* n2p1 = R2 + R1 - R2 = R1 */ + CHECK(secp256k1_num_eq(&n2p1, &n1)); +} + +void run_num_smalltests(void) { + for (int i=0; i<100*count; i++) { + test_num_negate(); + test_num_add_sub(); + } +} +#endif + +/***** SCALAR TESTS *****/ + +void scalar_test(void) { + unsigned char c[32]; + + /* Set 's' to a random scalar, with value 'snum'. */ + secp256k1_scalar_t s; + random_scalar_order_test(&s); + + /* Set 's1' to a random scalar, with value 's1num'. */ + secp256k1_scalar_t s1; + random_scalar_order_test(&s1); + + /* Set 's2' to a random scalar, with value 'snum2', and byte array representation 'c'. */ + secp256k1_scalar_t s2; + random_scalar_order_test(&s2); + secp256k1_scalar_get_b32(c, &s2); + +#ifndef USE_NUM_NONE + secp256k1_num_t snum, s1num, s2num; + secp256k1_scalar_get_num(&snum, &s); + secp256k1_scalar_get_num(&s1num, &s1); + secp256k1_scalar_get_num(&s2num, &s2); + + secp256k1_num_t order; + secp256k1_scalar_order_get_num(&order); + secp256k1_num_t half_order = order; + secp256k1_num_shift(&half_order, 1); +#endif + + { + /* Test that fetching groups of 4 bits from a scalar and recursing n(i)=16*n(i-1)+p(i) reconstructs it. */ + secp256k1_scalar_t n; + secp256k1_scalar_set_int(&n, 0); + for (int i = 0; i < 256; i += 4) { + secp256k1_scalar_t t; + secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits(&s, 256 - 4 - i, 4)); + for (int j = 0; j < 4; j++) { + secp256k1_scalar_add(&n, &n, &n); + } + secp256k1_scalar_add(&n, &n, &t); + } + CHECK(secp256k1_scalar_eq(&n, &s)); + } + + { + /* Test that fetching groups of randomly-sized bits from a scalar and recursing n(i)=b*n(i-1)+p(i) reconstructs it. */ + secp256k1_scalar_t n; + secp256k1_scalar_set_int(&n, 0); + int i = 0; + while (i < 256) { + int now = (secp256k1_rand32() % 15) + 1; + if (now + i > 256) { + now = 256 - i; + } + secp256k1_scalar_t t; + secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits_var(&s, 256 - now - i, now)); + for (int j = 0; j < now; j++) { + secp256k1_scalar_add(&n, &n, &n); + } + secp256k1_scalar_add(&n, &n, &t); + i += now; + } + CHECK(secp256k1_scalar_eq(&n, &s)); + } + +#ifndef USE_NUM_NONE + { + /* Test that adding the scalars together is equal to adding their numbers together modulo the order. */ + secp256k1_num_t rnum; + secp256k1_num_add(&rnum, &snum, &s2num); + secp256k1_num_mod(&rnum, &order); + secp256k1_scalar_t r; + secp256k1_scalar_add(&r, &s, &s2); + secp256k1_num_t r2num; + secp256k1_scalar_get_num(&r2num, &r); + CHECK(secp256k1_num_eq(&rnum, &r2num)); + } + + { + /* Test that multipying the scalars is equal to multiplying their numbers modulo the order. */ + secp256k1_num_t rnum; + secp256k1_num_mul(&rnum, &snum, &s2num); + secp256k1_num_mod(&rnum, &order); + secp256k1_scalar_t r; + secp256k1_scalar_mul(&r, &s, &s2); + secp256k1_num_t r2num; + secp256k1_scalar_get_num(&r2num, &r); + CHECK(secp256k1_num_eq(&rnum, &r2num)); + /* The result can only be zero if at least one of the factors was zero. */ + CHECK(secp256k1_scalar_is_zero(&r) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_zero(&s2))); + /* The results can only be equal to one of the factors if that factor was zero, or the other factor was one. */ + CHECK(secp256k1_num_eq(&rnum, &snum) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_one(&s2))); + CHECK(secp256k1_num_eq(&rnum, &s2num) == (secp256k1_scalar_is_zero(&s2) || secp256k1_scalar_is_one(&s))); + } + + { + /* Check that comparison with zero matches comparison with zero on the number. */ + CHECK(secp256k1_num_is_zero(&snum) == secp256k1_scalar_is_zero(&s)); + /* Check that comparison with the half order is equal to testing for high scalar. */ + CHECK(secp256k1_scalar_is_high(&s) == (secp256k1_num_cmp(&snum, &half_order) > 0)); + secp256k1_scalar_t neg; + secp256k1_scalar_negate(&neg, &s); + secp256k1_num_t negnum; + secp256k1_num_sub(&negnum, &order, &snum); + secp256k1_num_mod(&negnum, &order); + /* Check that comparison with the half order is equal to testing for high scalar after negation. */ + CHECK(secp256k1_scalar_is_high(&neg) == (secp256k1_num_cmp(&negnum, &half_order) > 0)); + /* Negating should change the high property, unless the value was already zero. */ + CHECK((secp256k1_scalar_is_high(&s) == secp256k1_scalar_is_high(&neg)) == secp256k1_scalar_is_zero(&s)); + secp256k1_num_t negnum2; + secp256k1_scalar_get_num(&negnum2, &neg); + /* Negating a scalar should be equal to (order - n) mod order on the number. */ + CHECK(secp256k1_num_eq(&negnum, &negnum2)); + secp256k1_scalar_add(&neg, &neg, &s); + /* Adding a number to its negation should result in zero. */ + CHECK(secp256k1_scalar_is_zero(&neg)); + secp256k1_scalar_negate(&neg, &neg); + /* Negating zero should still result in zero. */ + CHECK(secp256k1_scalar_is_zero(&neg)); + } + + { + /* Test secp256k1_scalar_mul_shift_var. */ + secp256k1_scalar_t r; + unsigned int shift = 256 + (secp256k1_rand32() % 257); + secp256k1_scalar_mul_shift_var(&r, &s1, &s2, shift); + secp256k1_num_t rnum; + secp256k1_num_mul(&rnum, &s1num, &s2num); + secp256k1_num_shift(&rnum, shift - 1); + secp256k1_num_t one; + unsigned char cone[1] = {0x01}; + secp256k1_num_set_bin(&one, cone, 1); + secp256k1_num_add(&rnum, &rnum, &one); + secp256k1_num_shift(&rnum, 1); + secp256k1_num_t rnum2; + secp256k1_scalar_get_num(&rnum2, &r); + CHECK(secp256k1_num_eq(&rnum, &rnum2)); + } +#endif + + { + /* Test that scalar inverses are equal to the inverse of their number modulo the order. */ + if (!secp256k1_scalar_is_zero(&s)) { + secp256k1_scalar_t inv; + secp256k1_scalar_inverse(&inv, &s); +#ifndef USE_NUM_NONE + secp256k1_num_t invnum; + secp256k1_num_mod_inverse(&invnum, &snum, &order); + secp256k1_num_t invnum2; + secp256k1_scalar_get_num(&invnum2, &inv); + CHECK(secp256k1_num_eq(&invnum, &invnum2)); +#endif + secp256k1_scalar_mul(&inv, &inv, &s); + /* Multiplying a scalar with its inverse must result in one. */ + CHECK(secp256k1_scalar_is_one(&inv)); + secp256k1_scalar_inverse(&inv, &inv); + /* Inverting one must result in one. */ + CHECK(secp256k1_scalar_is_one(&inv)); + } + } + + { + /* Test commutativity of add. */ + secp256k1_scalar_t r1, r2; + secp256k1_scalar_add(&r1, &s1, &s2); + secp256k1_scalar_add(&r2, &s2, &s1); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + + { + /* Test add_bit. */ + int bit = secp256k1_rand32() % 256; + secp256k1_scalar_t b; + secp256k1_scalar_set_int(&b, 1); + CHECK(secp256k1_scalar_is_one(&b)); + for (int i = 0; i < bit; i++) { + secp256k1_scalar_add(&b, &b, &b); + } + secp256k1_scalar_t r1 = s1, r2 = s1; + if (!secp256k1_scalar_add(&r1, &r1, &b)) { + /* No overflow happened. */ + secp256k1_scalar_add_bit(&r2, bit); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + } + + { + /* Test commutativity of mul. */ + secp256k1_scalar_t r1, r2; + secp256k1_scalar_mul(&r1, &s1, &s2); + secp256k1_scalar_mul(&r2, &s2, &s1); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + + { + /* Test associativity of add. */ + secp256k1_scalar_t r1, r2; + secp256k1_scalar_add(&r1, &s1, &s2); + secp256k1_scalar_add(&r1, &r1, &s); + secp256k1_scalar_add(&r2, &s2, &s); + secp256k1_scalar_add(&r2, &s1, &r2); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + + { + /* Test associativity of mul. */ + secp256k1_scalar_t r1, r2; + secp256k1_scalar_mul(&r1, &s1, &s2); + secp256k1_scalar_mul(&r1, &r1, &s); + secp256k1_scalar_mul(&r2, &s2, &s); + secp256k1_scalar_mul(&r2, &s1, &r2); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + + { + /* Test distributitivity of mul over add. */ + secp256k1_scalar_t r1, r2, t; + secp256k1_scalar_add(&r1, &s1, &s2); + secp256k1_scalar_mul(&r1, &r1, &s); + secp256k1_scalar_mul(&r2, &s1, &s); + secp256k1_scalar_mul(&t, &s2, &s); + secp256k1_scalar_add(&r2, &r2, &t); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + + { + /* Test square. */ + secp256k1_scalar_t r1, r2; + secp256k1_scalar_sqr(&r1, &s1); + secp256k1_scalar_mul(&r2, &s1, &s1); + CHECK(secp256k1_scalar_eq(&r1, &r2)); + } + +} + +void run_scalar_tests(void) { + for (int i = 0; i < 128 * count; i++) { + scalar_test(); + } + + { + /* (-1)+1 should be zero. */ + secp256k1_scalar_t s, o; + secp256k1_scalar_set_int(&s, 1); + secp256k1_scalar_negate(&o, &s); + secp256k1_scalar_add(&o, &o, &s); + CHECK(secp256k1_scalar_is_zero(&o)); + } + +#ifndef USE_NUM_NONE + { + /* A scalar with value of the curve order should be 0. */ + secp256k1_num_t order; + secp256k1_scalar_order_get_num(&order); + unsigned char bin[32]; + secp256k1_num_get_bin(bin, 32, &order); + secp256k1_scalar_t zero; + int overflow = 0; + secp256k1_scalar_set_b32(&zero, bin, &overflow); + CHECK(overflow == 1); + CHECK(secp256k1_scalar_is_zero(&zero)); + } +#endif +} + +/***** FIELD TESTS *****/ + +void random_fe(secp256k1_fe_t *x) { + unsigned char bin[32]; + do { + secp256k1_rand256(bin); + if (secp256k1_fe_set_b32(x, bin)) { + return; + } + } while(1); +} + +void random_fe_non_zero(secp256k1_fe_t *nz) { + int tries = 10; + while (--tries >= 0) { + random_fe(nz); + secp256k1_fe_normalize(nz); + if (!secp256k1_fe_is_zero(nz)) + break; + } + /* Infinitesimal probability of spurious failure here */ + CHECK(tries >= 0); +} + +void random_fe_non_square(secp256k1_fe_t *ns) { + random_fe_non_zero(ns); + secp256k1_fe_t r; + if (secp256k1_fe_sqrt(&r, ns)) { + secp256k1_fe_negate(ns, ns, 1); + } +} + +int check_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { + secp256k1_fe_t an = *a; secp256k1_fe_normalize(&an); + secp256k1_fe_t bn = *b; secp256k1_fe_normalize(&bn); + return secp256k1_fe_equal(&an, &bn); +} + +int check_fe_inverse(const secp256k1_fe_t *a, const secp256k1_fe_t *ai) { + secp256k1_fe_t x; secp256k1_fe_mul(&x, a, ai); + secp256k1_fe_t one; secp256k1_fe_set_int(&one, 1); + return check_fe_equal(&x, &one); +} + +void run_field_inv(void) { + secp256k1_fe_t x, xi, xii; + for (int i=0; i<10*count; i++) { + random_fe_non_zero(&x); + secp256k1_fe_inv(&xi, &x); + CHECK(check_fe_inverse(&x, &xi)); + secp256k1_fe_inv(&xii, &xi); + CHECK(check_fe_equal(&x, &xii)); + } +} + +void run_field_inv_var(void) { + secp256k1_fe_t x, xi, xii; + for (int i=0; i<10*count; i++) { + random_fe_non_zero(&x); + secp256k1_fe_inv_var(&xi, &x); + CHECK(check_fe_inverse(&x, &xi)); + secp256k1_fe_inv_var(&xii, &xi); + CHECK(check_fe_equal(&x, &xii)); + } +} + +void run_field_inv_all(void) { + secp256k1_fe_t x[16], xi[16], xii[16]; + /* Check it's safe to call for 0 elements */ + secp256k1_fe_inv_all(0, xi, x); + for (int i=0; iinfinity && b->infinity) + return 1; + return check_fe_equal(&a->x, &b->x) && check_fe_equal(&a->y, &b->y); +} + +void ge_equals_gej(const secp256k1_ge_t *a, const secp256k1_gej_t *b) { + secp256k1_ge_t bb; + secp256k1_gej_t bj = *b; + secp256k1_ge_set_gej_var(&bb, &bj); + CHECK(ge_equals_ge(a, &bb)); +} + +void gej_equals_gej(const secp256k1_gej_t *a, const secp256k1_gej_t *b) { + secp256k1_ge_t aa, bb; + secp256k1_gej_t aj = *a, bj = *b; + secp256k1_ge_set_gej_var(&aa, &aj); + secp256k1_ge_set_gej_var(&bb, &bj); + CHECK(ge_equals_ge(&aa, &bb)); +} + +void test_ge(void) { + char ca[135]; + char cb[68]; + int rlen; + secp256k1_ge_t a, b, i, n; + random_group_element_test(&a); + random_group_element_test(&b); + rlen = sizeof(ca); + secp256k1_ge_get_hex(ca,&rlen,&a); + CHECK(rlen > 4 && rlen <= (int)sizeof(ca)); + rlen = sizeof(cb); + secp256k1_ge_get_hex(cb,&rlen,&b); /* Intentionally undersized buffer. */ + n = a; + secp256k1_fe_normalize(&a.y); + secp256k1_fe_negate(&n.y, &a.y, 1); + secp256k1_ge_set_infinity(&i); + random_field_element_magnitude(&a.x); + random_field_element_magnitude(&a.y); + random_field_element_magnitude(&b.x); + random_field_element_magnitude(&b.y); + random_field_element_magnitude(&n.x); + random_field_element_magnitude(&n.y); + + secp256k1_gej_t aj, bj, ij, nj; + random_group_element_jacobian_test(&aj, &a); + random_group_element_jacobian_test(&bj, &b); + secp256k1_gej_set_infinity(&ij); + random_group_element_jacobian_test(&nj, &n); + random_field_element_magnitude(&aj.x); + random_field_element_magnitude(&aj.y); + random_field_element_magnitude(&aj.z); + random_field_element_magnitude(&bj.x); + random_field_element_magnitude(&bj.y); + random_field_element_magnitude(&bj.z); + random_field_element_magnitude(&nj.x); + random_field_element_magnitude(&nj.y); + random_field_element_magnitude(&nj.z); + + /* gej + gej adds */ + secp256k1_gej_t aaj; secp256k1_gej_add_var(&aaj, &aj, &aj); + secp256k1_gej_t abj; secp256k1_gej_add_var(&abj, &aj, &bj); + secp256k1_gej_t aij; secp256k1_gej_add_var(&aij, &aj, &ij); + secp256k1_gej_t anj; secp256k1_gej_add_var(&anj, &aj, &nj); + secp256k1_gej_t iaj; secp256k1_gej_add_var(&iaj, &ij, &aj); + secp256k1_gej_t iij; secp256k1_gej_add_var(&iij, &ij, &ij); + + /* gej + ge adds */ + secp256k1_gej_t aa; secp256k1_gej_add_ge_var(&aa, &aj, &a); + secp256k1_gej_t ab; secp256k1_gej_add_ge_var(&ab, &aj, &b); + secp256k1_gej_t ai; secp256k1_gej_add_ge_var(&ai, &aj, &i); + secp256k1_gej_t an; secp256k1_gej_add_ge_var(&an, &aj, &n); + secp256k1_gej_t ia; secp256k1_gej_add_ge_var(&ia, &ij, &a); + secp256k1_gej_t ii; secp256k1_gej_add_ge_var(&ii, &ij, &i); + + /* const gej + ge adds */ + secp256k1_gej_t aac; secp256k1_gej_add_ge(&aac, &aj, &a); + secp256k1_gej_t abc; secp256k1_gej_add_ge(&abc, &aj, &b); + secp256k1_gej_t anc; secp256k1_gej_add_ge(&anc, &aj, &n); + secp256k1_gej_t iac; secp256k1_gej_add_ge(&iac, &ij, &a); + + CHECK(secp256k1_gej_is_infinity(&an)); + CHECK(secp256k1_gej_is_infinity(&anj)); + CHECK(secp256k1_gej_is_infinity(&anc)); + gej_equals_gej(&aa, &aaj); + gej_equals_gej(&aa, &aac); + gej_equals_gej(&ab, &abj); + gej_equals_gej(&ab, &abc); + gej_equals_gej(&an, &anj); + gej_equals_gej(&an, &anc); + gej_equals_gej(&ia, &iaj); + gej_equals_gej(&ai, &aij); + gej_equals_gej(&ii, &iij); + ge_equals_gej(&a, &ai); + ge_equals_gej(&a, &ai); + ge_equals_gej(&a, &iaj); + ge_equals_gej(&a, &iaj); + ge_equals_gej(&a, &iac); +} + +void run_ge(void) { + for (int i = 0; i < 2000*count; i++) { + test_ge(); + } +} + +/***** ECMULT TESTS *****/ + +void run_ecmult_chain(void) { + /* random starting point A (on the curve) */ + secp256k1_fe_t ax; VERIFY_CHECK(secp256k1_fe_set_hex(&ax, "8b30bbe9ae2a990696b22f670709dff3727fd8bc04d3362c6c7bf458e2846004", 64)); + secp256k1_fe_t ay; VERIFY_CHECK(secp256k1_fe_set_hex(&ay, "a357ae915c4a65281309edf20504740f0eb3343990216b4f81063cb65f2f7e0f", 64)); + secp256k1_gej_t a; secp256k1_gej_set_xy(&a, &ax, &ay); + /* two random initial factors xn and gn */ + static const unsigned char xni[32] = { + 0x84, 0xcc, 0x54, 0x52, 0xf7, 0xfd, 0xe1, 0xed, + 0xb4, 0xd3, 0x8a, 0x8c, 0xe9, 0xb1, 0xb8, 0x4c, + 0xce, 0xf3, 0x1f, 0x14, 0x6e, 0x56, 0x9b, 0xe9, + 0x70, 0x5d, 0x35, 0x7a, 0x42, 0x98, 0x54, 0x07 + }; + secp256k1_scalar_t xn; + secp256k1_scalar_set_b32(&xn, xni, NULL); + static const unsigned char gni[32] = { + 0xa1, 0xe5, 0x8d, 0x22, 0x55, 0x3d, 0xcd, 0x42, + 0xb2, 0x39, 0x80, 0x62, 0x5d, 0x4c, 0x57, 0xa9, + 0x6e, 0x93, 0x23, 0xd4, 0x2b, 0x31, 0x52, 0xe5, + 0xca, 0x2c, 0x39, 0x90, 0xed, 0xc7, 0xc9, 0xde + }; + secp256k1_scalar_t gn; + secp256k1_scalar_set_b32(&gn, gni, NULL); + /* two small multipliers to be applied to xn and gn in every iteration: */ + static const unsigned char xfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x13,0x37}; + secp256k1_scalar_t xf; + secp256k1_scalar_set_b32(&xf, xfi, NULL); + static const unsigned char gfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0x13}; + secp256k1_scalar_t gf; + secp256k1_scalar_set_b32(&gf, gfi, NULL); + /* accumulators with the resulting coefficients to A and G */ + secp256k1_scalar_t ae; + secp256k1_scalar_set_int(&ae, 1); + secp256k1_scalar_t ge; + secp256k1_scalar_set_int(&ge, 0); + /* the point being computed */ + secp256k1_gej_t x = a; + for (int i=0; i<200*count; i++) { + /* in each iteration, compute X = xn*X + gn*G; */ + secp256k1_ecmult(&x, &x, &xn, &gn); + /* also compute ae and ge: the actual accumulated factors for A and G */ + /* if X was (ae*A+ge*G), xn*X + gn*G results in (xn*ae*A + (xn*ge+gn)*G) */ + secp256k1_scalar_mul(&ae, &ae, &xn); + secp256k1_scalar_mul(&ge, &ge, &xn); + secp256k1_scalar_add(&ge, &ge, &gn); + /* modify xn and gn */ + secp256k1_scalar_mul(&xn, &xn, &xf); + secp256k1_scalar_mul(&gn, &gn, &gf); + + /* verify */ + if (i == 51474) { + char res[132]; int resl = 132; + secp256k1_gej_get_hex(res, &resl, &x); + CHECK(strcmp(res, "(D6E96687F9B10D092A6F35439D86CEBEA4535D0D409F53586440BD74B933E830,B95CBCA2C77DA786539BE8FD53354D2D3B4F566AE658045407ED6015EE1B2A88)") == 0); + } + } + /* redo the computation, but directly with the resulting ae and ge coefficients: */ + secp256k1_gej_t x2; secp256k1_ecmult(&x2, &a, &ae, &ge); + char res[132]; int resl = 132; + char res2[132]; int resl2 = 132; + secp256k1_gej_get_hex(res, &resl, &x); + secp256k1_gej_get_hex(res2, &resl2, &x2); + CHECK(strcmp(res, res2) == 0); + CHECK(strlen(res) == 131); +} + +void test_point_times_order(const secp256k1_gej_t *point) { + /* X * (point + G) + (order-X) * (pointer + G) = 0 */ + secp256k1_scalar_t x; + random_scalar_order_test(&x); + secp256k1_scalar_t nx; + secp256k1_scalar_negate(&nx, &x); + secp256k1_gej_t res1, res2; + secp256k1_ecmult(&res1, point, &x, &x); /* calc res1 = x * point + x * G; */ + secp256k1_ecmult(&res2, point, &nx, &nx); /* calc res2 = (order - x) * point + (order - x) * G; */ + secp256k1_gej_add_var(&res1, &res1, &res2); + CHECK(secp256k1_gej_is_infinity(&res1)); + CHECK(secp256k1_gej_is_valid(&res1) == 0); + secp256k1_ge_t res3; + secp256k1_ge_set_gej(&res3, &res1); + CHECK(secp256k1_ge_is_infinity(&res3)); + CHECK(secp256k1_ge_is_valid(&res3) == 0); +} + +void run_point_times_order(void) { + secp256k1_fe_t x; VERIFY_CHECK(secp256k1_fe_set_hex(&x, "02", 2)); + for (int i=0; i<500; i++) { + secp256k1_ge_t p; + if (secp256k1_ge_set_xo(&p, &x, 1)) { + CHECK(secp256k1_ge_is_valid(&p)); + secp256k1_gej_t j; + secp256k1_gej_set_ge(&j, &p); + CHECK(secp256k1_gej_is_valid(&j)); + test_point_times_order(&j); + } + secp256k1_fe_sqr(&x, &x); + } + char c[65]; int cl=65; + secp256k1_fe_get_hex(c, &cl, &x); + CHECK(strcmp(c, "7603CB59B0EF6C63FE6084792A0C378CDB3233A80F8A9A09A877DEAD31B38C45") == 0); +} + +void test_wnaf(const secp256k1_scalar_t *number, int w) { + secp256k1_scalar_t x, two, t; + secp256k1_scalar_set_int(&x, 0); + secp256k1_scalar_set_int(&two, 2); + int wnaf[256]; + int bits = secp256k1_ecmult_wnaf(wnaf, number, w); + CHECK(bits <= 256); + int zeroes = -1; + for (int i=bits-1; i>=0; i--) { + secp256k1_scalar_mul(&x, &x, &two); + int v = wnaf[i]; + if (v) { + CHECK(zeroes == -1 || zeroes >= w-1); /* check that distance between non-zero elements is at least w-1 */ + zeroes=0; + CHECK((v & 1) == 1); /* check non-zero elements are odd */ + CHECK(v <= (1 << (w-1)) - 1); /* check range below */ + CHECK(v >= -(1 << (w-1)) - 1); /* check range above */ + } else { + CHECK(zeroes != -1); /* check that no unnecessary zero padding exists */ + zeroes++; + } + if (v >= 0) { + secp256k1_scalar_set_int(&t, v); + } else { + secp256k1_scalar_set_int(&t, -v); + secp256k1_scalar_negate(&t, &t); + } + secp256k1_scalar_add(&x, &x, &t); + } + CHECK(secp256k1_scalar_eq(&x, number)); /* check that wnaf represents number */ +} + +void run_wnaf(void) { + secp256k1_scalar_t n; + for (int i=0; i= 0 && recid < 4); + CHECK(secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); + secp256k1_scalar_t one; + secp256k1_scalar_set_int(&one, 1); + secp256k1_scalar_add(&msg, &msg, &one); + CHECK(!secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); +} + +void run_ecdsa_sign_verify(void) { + for (int i=0; i<10*count; i++) { + test_ecdsa_sign_verify(); + } +} + +void test_ecdsa_end_to_end(void) { + unsigned char privkey[32]; + unsigned char message[32]; + + /* Generate a random key and message. */ + { + secp256k1_scalar_t msg, key; + random_scalar_order_test(&msg); + random_scalar_order_test(&key); + secp256k1_scalar_get_b32(privkey, &key); + secp256k1_scalar_get_b32(message, &msg); + } + + /* Construct and verify corresponding public key. */ + CHECK(secp256k1_ec_seckey_verify(privkey) == 1); + unsigned char pubkey[65]; int pubkeylen = 65; + CHECK(secp256k1_ec_pubkey_create(pubkey, &pubkeylen, privkey, secp256k1_rand32() % 2) == 1); + CHECK(secp256k1_ec_pubkey_verify(pubkey, pubkeylen)); + + /* Verify private key import and export. */ + unsigned char seckey[300]; int seckeylen = 300; + CHECK(secp256k1_ec_privkey_export(privkey, seckey, &seckeylen, secp256k1_rand32() % 2) == 1); + unsigned char privkey2[32]; + CHECK(secp256k1_ec_privkey_import(privkey2, seckey, seckeylen) == 1); + CHECK(memcmp(privkey, privkey2, 32) == 0); + + /* Optionally tweak the keys using addition. */ + if (secp256k1_rand32() % 3 == 0) { + unsigned char rnd[32]; + secp256k1_rand256_test(rnd); + int ret1 = secp256k1_ec_privkey_tweak_add(privkey, rnd); + int ret2 = secp256k1_ec_pubkey_tweak_add(pubkey, pubkeylen, rnd); + CHECK(ret1 == ret2); + if (ret1 == 0) return; + unsigned char pubkey2[65]; int pubkeylen2 = 65; + CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); + CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); + } + + /* Optionally tweak the keys using multiplication. */ + if (secp256k1_rand32() % 3 == 0) { + unsigned char rnd[32]; + secp256k1_rand256_test(rnd); + int ret1 = secp256k1_ec_privkey_tweak_mul(privkey, rnd); + int ret2 = secp256k1_ec_pubkey_tweak_mul(pubkey, pubkeylen, rnd); + CHECK(ret1 == ret2); + if (ret1 == 0) return; + unsigned char pubkey2[65]; int pubkeylen2 = 65; + CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); + CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); + } + + /* Sign. */ + unsigned char signature[72]; int signaturelen = 72; + while(1) { + unsigned char rnd[32]; + secp256k1_rand256_test(rnd); + if (secp256k1_ecdsa_sign(message, 32, signature, &signaturelen, privkey, rnd) == 1) { + break; + } + } + /* Verify. */ + CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) == 1); + /* Destroy signature and verify again. */ + signature[signaturelen - 1 - secp256k1_rand32() % 20] += 1 + (secp256k1_rand32() % 255); + CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) != 1); + + /* Compact sign. */ + unsigned char csignature[64]; int recid = 0; + while(1) { + unsigned char rnd[32]; + secp256k1_rand256_test(rnd); + if (secp256k1_ecdsa_sign_compact(message, 32, csignature, privkey, rnd, &recid) == 1) { + break; + } + } + /* Recover. */ + unsigned char recpubkey[65]; int recpubkeylen = 0; + CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) == 1); + CHECK(recpubkeylen == pubkeylen); + CHECK(memcmp(pubkey, recpubkey, pubkeylen) == 0); + /* Destroy signature and verify again. */ + csignature[secp256k1_rand32() % 64] += 1 + (secp256k1_rand32() % 255); + CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) != 1 || + memcmp(pubkey, recpubkey, pubkeylen) != 0); + CHECK(recpubkeylen == pubkeylen); + +} + +void run_ecdsa_end_to_end(void) { + for (int i=0; i<64*count; i++) { + test_ecdsa_end_to_end(); + } +} + +/* Tests several edge cases. */ +void test_ecdsa_edge_cases(void) { + const unsigned char msg32[32] = { + 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', + 'a', ' ', 'v', 'e', 'r', 'y', ' ', 's', + 'e', 'c', 'r', 'e', 't', ' ', 'm', 'e', + 's', 's', 'a', 'g', 'e', '.', '.', '.' + }; + const unsigned char sig64[64] = { + /* Generated by signing the above message with nonce 'This is the nonce we will use...' + * and secret key 0 (which is not valid), resulting in recid 0. */ + 0x67, 0xCB, 0x28, 0x5F, 0x9C, 0xD1, 0x94, 0xE8, + 0x40, 0xD6, 0x29, 0x39, 0x7A, 0xF5, 0x56, 0x96, + 0x62, 0xFD, 0xE4, 0x46, 0x49, 0x99, 0x59, 0x63, + 0x17, 0x9A, 0x7D, 0xD1, 0x7B, 0xD2, 0x35, 0x32, + 0x4B, 0x1B, 0x7D, 0xF3, 0x4C, 0xE1, 0xF6, 0x8E, + 0x69, 0x4F, 0xF6, 0xF1, 0x1A, 0xC7, 0x51, 0xDD, + 0x7D, 0xD7, 0x3E, 0x38, 0x7E, 0xE4, 0xFC, 0x86, + 0x6E, 0x1B, 0xE8, 0xEC, 0xC7, 0xDD, 0x95, 0x57 + }; + unsigned char pubkey[65]; + int pubkeylen = 65; + CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 0)); + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 1)); + CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 2)); + CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 3)); + + /* signature (r,s) = (4,4), which can be recovered with all 4 recids. */ + const unsigned char sigb64[64] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, + }; + unsigned char pubkeyb[33]; + int pubkeyblen = 33; + for (int recid = 0; recid < 4; recid++) { + /* (4,4) encoded in DER. */ + unsigned char sigbder[8] = {0x30, 0x06, 0x02, 0x01, 0x04, 0x02, 0x01, 0x04}; + /* (order + r,4) encoded in DER. */ + unsigned char sigbderlong[40] = { + 0x30, 0x26, 0x02, 0x21, 0x00, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBA, 0xAE, 0xDC, + 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, + 0x8C, 0xD0, 0x36, 0x41, 0x45, 0x02, 0x01, 0x04 + }; + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkeyb, &pubkeyblen, 1, recid)); + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 1); + for (int recid2 = 0; recid2 < 4; recid2++) { + unsigned char pubkey2b[33]; + int pubkey2blen = 33; + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkey2b, &pubkey2blen, 1, recid2)); + /* Verifying with (order + r,4) should always fail. */ + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbderlong, sizeof(sigbderlong), pubkey2b, pubkey2blen) != 1); + } + /* Damage signature. */ + sigbder[7]++; + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 0); + } + + /* Test the case where ECDSA recomputes a point that is infinity. */ + { + secp256k1_ecdsa_sig_t sig; + secp256k1_scalar_set_int(&sig.s, 1); + secp256k1_scalar_negate(&sig.s, &sig.s); + secp256k1_scalar_inverse(&sig.s, &sig.s); + secp256k1_scalar_set_int(&sig.r, 1); + secp256k1_gej_t keyj; + secp256k1_ecmult_gen(&keyj, &sig.r); + secp256k1_ge_t key; + secp256k1_ge_set_gej(&key, &keyj); + secp256k1_scalar_t msg = sig.s; + CHECK(secp256k1_ecdsa_sig_verify(&sig, &key, &msg) == 0); + } + + /* Test r/s equal to zero */ + { + /* (1,1) encoded in DER. */ + unsigned char sigcder[8] = {0x30, 0x06, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01}; + unsigned char sigc64[64] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + }; + unsigned char pubkeyc[65]; + int pubkeyclen = 65; + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyc, &pubkeyclen, 0, 0) == 1); + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 1); + sigcder[4] = 0; + sigc64[31] = 0; + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); + sigcder[4] = 1; + sigcder[7] = 0; + sigc64[31] = 1; + sigc64[63] = 0; + CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); + CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); + } +} + +void run_ecdsa_edge_cases(void) { + test_ecdsa_edge_cases(); +} + +#ifdef ENABLE_OPENSSL_TESTS +EC_KEY *get_openssl_key(const secp256k1_scalar_t *key) { + unsigned char privkey[300]; + int privkeylen; + int compr = secp256k1_rand32() & 1; + const unsigned char* pbegin = privkey; + EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_secp256k1); + CHECK(secp256k1_eckey_privkey_serialize(privkey, &privkeylen, key, compr)); + CHECK(d2i_ECPrivateKey(&ec_key, &pbegin, privkeylen)); + CHECK(EC_KEY_check_key(ec_key)); + return ec_key; +} + +void test_ecdsa_openssl(void) { + secp256k1_scalar_t key, msg; + unsigned char message[32]; + secp256k1_rand256_test(message); + secp256k1_scalar_set_b32(&msg, message, NULL); + random_scalar_order_test(&key); + secp256k1_gej_t qj; + secp256k1_ecmult_gen(&qj, &key); + secp256k1_ge_t q; + secp256k1_ge_set_gej(&q, &qj); + EC_KEY *ec_key = get_openssl_key(&key); + CHECK(ec_key); + unsigned char signature[80]; + unsigned int sigsize = 80; + CHECK(ECDSA_sign(0, message, sizeof(message), signature, &sigsize, ec_key)); + secp256k1_ecdsa_sig_t sig; + CHECK(secp256k1_ecdsa_sig_parse(&sig, signature, sigsize)); + CHECK(secp256k1_ecdsa_sig_verify(&sig, &q, &msg)); + secp256k1_scalar_t one; + secp256k1_scalar_set_int(&one, 1); + secp256k1_scalar_t msg2; + secp256k1_scalar_add(&msg2, &msg, &one); + CHECK(!secp256k1_ecdsa_sig_verify(&sig, &q, &msg2)); + + random_sign(&sig, &key, &msg, NULL); + int secp_sigsize = 80; + CHECK(secp256k1_ecdsa_sig_serialize(signature, &secp_sigsize, &sig)); + CHECK(ECDSA_verify(0, message, sizeof(message), signature, secp_sigsize, ec_key) == 1); + + EC_KEY_free(ec_key); +} + +void run_ecdsa_openssl(void) { + for (int i=0; i<10*count; i++) { + test_ecdsa_openssl(); + } +} +#endif + +int main(int argc, char **argv) { + /* find iteration count */ + if (argc > 1) { + count = strtol(argv[1], NULL, 0); + } + + /* find random seed */ + uint64_t seed; + if (argc > 2) { + seed = strtoull(argv[2], NULL, 0); + } else { + FILE *frand = fopen("/dev/urandom", "r"); + if (!frand || !fread(&seed, sizeof(seed), 1, frand)) { + seed = time(NULL) * 1337; + } + fclose(frand); + } + secp256k1_rand_seed(seed); + + printf("test count = %i\n", count); + printf("random seed = %llu\n", (unsigned long long)seed); + + /* initialize */ + secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); + + /* initializing a second time shouldn't cause any harm or memory leaks. */ + secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); + + /* Likewise, re-running the internal init functions should be harmless. */ + secp256k1_fe_start(); + secp256k1_ge_start(); + secp256k1_scalar_start(); + secp256k1_ecdsa_start(); + +#ifndef USE_NUM_NONE + /* num tests */ + run_num_smalltests(); +#endif + + /* scalar tests */ + run_scalar_tests(); + + /* field tests */ + run_field_inv(); + run_field_inv_var(); + run_field_inv_all(); + run_field_inv_all_var(); + run_sqr(); + run_sqrt(); + + /* group tests */ + run_ge(); + + /* ecmult tests */ + run_wnaf(); + run_point_times_order(); + run_ecmult_chain(); + + /* ecdsa tests */ + run_ecdsa_sign_verify(); + run_ecdsa_end_to_end(); + run_ecdsa_edge_cases(); +#ifdef ENABLE_OPENSSL_TESTS + run_ecdsa_openssl(); +#endif + + printf("random run = %llu\n", (unsigned long long)secp256k1_rand32() + ((unsigned long long)secp256k1_rand32() << 32)); + + /* shutdown */ + secp256k1_stop(); + + /* shutting down twice shouldn't cause any double frees. */ + secp256k1_stop(); + + /* Same for the internal shutdown functions. */ + secp256k1_fe_stop(); + secp256k1_ge_stop(); + secp256k1_scalar_stop(); + secp256k1_ecdsa_stop(); + return 0; +} diff --git a/src/secp256k1/src/util.h b/src/secp256k1/src/util.h new file mode 100644 index 000000000..08b23a9d3 --- /dev/null +++ b/src/secp256k1/src/util.h @@ -0,0 +1,81 @@ +/********************************************************************** + * Copyright (c) 2013, 2014 Pieter Wuille * + * Distributed under the MIT software license, see the accompanying * + * file COPYING or http://www.opensource.org/licenses/mit-license.php.* + **********************************************************************/ + +#ifndef _SECP256K1_UTIL_H_ +#define _SECP256K1_UTIL_H_ + +#if defined HAVE_CONFIG_H +#include "libsecp256k1-config.h" +#endif + +#include +#include +#include + +#ifdef DETERMINISTIC +#define TEST_FAILURE(msg) do { \ + fprintf(stderr, "%s\n", msg); \ + abort(); \ +} while(0); +#else +#define TEST_FAILURE(msg) do { \ + fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, msg); \ + abort(); \ +} while(0) +#endif + +#ifndef HAVE_BUILTIN_EXPECT +#define EXPECT(x,c) __builtin_expect((x),(c)) +#else +#define EXPECT(x,c) (x) +#endif + +#ifdef DETERMINISTIC +#define CHECK(cond) do { \ + if (EXPECT(!(cond), 0)) { \ + TEST_FAILURE("test condition failed"); \ + } \ +} while(0) +#else +#define CHECK(cond) do { \ + if (EXPECT(!(cond), 0)) { \ + TEST_FAILURE("test condition failed: " #cond); \ + } \ +} while(0) +#endif + +/* Like assert(), but safe to use on expressions with side effects. */ +#ifndef NDEBUG +#define DEBUG_CHECK CHECK +#else +#define DEBUG_CHECK(cond) do { (void)(cond); } while(0) +#endif + +/* Like DEBUG_CHECK(), but when VERIFY is defined instead of NDEBUG not defined. */ +#ifdef VERIFY +#define VERIFY_CHECK CHECK +#else +#define VERIFY_CHECK(cond) do { (void)(cond); } while(0) +#endif + +/* Macro for restrict, when available and not in a VERIFY build. */ +#if defined(SECP256K1_BUILD) && defined(VERIFY) +# define SECP256K1_RESTRICT +#else +# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) +# if SECP256K1_GNUC_PREREQ(3,0) +# define SECP256K1_RESTRICT __restrict__ +# elif (defined(_MSC_VER) && _MSC_VER >= 1400) +# define SECP256K1_RESTRICT __restrict +# else +# define SECP256K1_RESTRICT +# endif +# else +# define SECP256K1_RESTRICT restrict +# endif +#endif + +#endif diff --git a/src/uint256.h b/src/uint256.h index f3f0661f1..e885c2767 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -345,6 +345,14 @@ class base_uint return (GetHex()); } + std::string ToStringReverseEndian() const + { + char psz[sizeof(pn) * 2 + 1]; + for (unsigned int i = 0; i < sizeof(pn); i++) + sprintf(psz + i * 2, "%02x", ((unsigned char*)pn)[i]); + return std::string(psz, psz + sizeof(pn) * 2); + } + unsigned char* begin() { return (unsigned char*)&pn[0]; diff --git a/src/util.h b/src/util.h index 381f1cf8d..3525de858 100644 --- a/src/util.h +++ b/src/util.h @@ -306,11 +306,30 @@ std::string HexStr(const T itbegin, const T itend, bool fSpaces=false) return rv; } +template +inline std::string HexStr(const T& vch, bool fSpaces = false) +{ + return HexStr(vch.begin(), vch.end(), fSpaces); +} + inline std::string HexStr(const std::vector& vch, bool fSpaces=false) { return HexStr(vch.begin(), vch.end(), fSpaces); } +/** Reverse the endianess of a string */ +inline std::string ReverseEndianString(std::string in) +{ + std::string out = ""; + unsigned int s = in.size(); + for(unsigned int i = 0; i < s; i+=2) + { + out += in.substr(s - i - 2, 2); + } + + return out; +} + template void PrintHex(const T pbegin, const T pend, const char* pszFormat="%s", bool fSpaces=true) { From 3fc43181f017f32c8e8fad3b831a9632b970e228 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 16 Nov 2017 15:22:55 -0700 Subject: [PATCH 460/555] Add -stakeaddress startup flag. This makes the wallet only stake inputs that belong to this particular address. All other inputs will not be staked. --- src/init.cpp | 1 + src/wallet.cpp | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/init.cpp b/src/init.cpp index 7a2fe31a8..41b611d4a 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -172,6 +172,7 @@ std::string HelpMessage() strUsage += " -bantime= " + _("Number of seconds to keep misbehaving peers from reconnecting (default: 86400)") + "\n"; strUsage += " -maxreceivebuffer= " + _("Maximum per-connection receive buffer, *1000 bytes (default: 5000)") + "\n"; strUsage += " -maxsendbuffer= " + _("Maximum per-connection send buffer, *1000 bytes (default: 1000)") + "\n"; + strUsage += " -stakeaddress=
          " + _("Restrict the wallet to only stake inputs from one address") + "\n"; strUsage += " -strictprotocol= " + _("Only connect to peers using the same protocol version. Warning this will cause low peer count.") + "\n"; #ifdef USE_UPNP #if USE_UPNP diff --git a/src/wallet.cpp b/src/wallet.cpp index 5e3053732..7f750ef8f 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1303,10 +1303,26 @@ bool CWallet::SelectStakeCoins(std::set vector vCoins; AvailableCoins(vCoins, true); int64 nAmountSelected = 0; + + bool fStakeFromAddress = false; + CBitcoinAddress addressStake; + CScript scriptStakeFrom; + if (mapArgs.count("-stakeaddress")) { + addressStake = CBitcoinAddress(mapArgs.at("-stakeaddress")); + fStakeFromAddress = addressStake.IsValid(); + } BOOST_FOREACH(const COutput& out, vCoins) { - if(nAmountSelected + out.tx->vout[out.i].nValue < nTargetAmount) + if (fStakeFromAddress) { + CTxDestination dest; + if (!ExtractDestination(out.tx->vout[out.i].scriptPubKey, dest)) + continue; + if (CBitcoinAddress(dest).ToString() != addressStake.ToString()) + continue; + } + + if (nAmountSelected + out.tx->vout[out.i].nValue < nTargetAmount) { if(GetTime() - out.tx->GetTxTime() > (fTestNet ? nStakeMinAge : nStakeMinAgeV2)) { From 19cf8e00336d934689b7b2a3a2bd8b531f7cb11b Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 16 Nov 2017 15:36:17 -0700 Subject: [PATCH 461/555] Move block versioning to the first four bits of nVersion. --- src/main.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 9eb501341..4b1340bcb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4068,6 +4068,9 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) if (!pblock.get()) return NULL; + // Only use the first 4 bits for the version encoding + pblock->nVersion = pblock->nVersion << 28; + // Create coinbase tx CTransaction txNew; txNew.vin.resize(1); From fdc39322bf9994a5dfc40c0c113bce1fb40f37ad Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 5 Dec 2017 16:24:22 -0700 Subject: [PATCH 462/555] More accurate tracking of staking status. --- src/kernel.cpp | 2 ++ src/main.cpp | 6 +++++- src/main.h | 1 + src/rpcwallet.cpp | 7 +------ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index 804931f14..0813c42d6 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -360,6 +360,8 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned unsigned int i; for(i = 0; i < (nHashDrift); i++) //iterate the hashing { + fWalletStaking = true; + //hash this iteration nTryTime = nTimeTx + nHashDrift - i; hashProofOfStake = stakeHash(nTryTime, nTxPrevTime, ss, prevout.n, nTxPrevOffset, nTimeBlockFrom); diff --git a/src/main.cpp b/src/main.cpp index 4b1340bcb..8f2295352 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -73,6 +73,7 @@ map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; bool fStrictProtocol = false; bool fStrictIncoming = false; +bool fWalletStaking = false; // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; @@ -4481,7 +4482,9 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) { if (fShutdown) return; - + + fWalletStaking = false; + while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) { nLastCoinStakeSearchInterval = 0; @@ -4494,6 +4497,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet { + fWalletStaking = true; if(GetTime() - mapHashedBlocks[nBestHeight] < max(pwallet->nHashInterval, (unsigned int)1)) // wait a 'hash interval' until trying to hash again { Sleep(1000); // 2.5 second sleep for this thread diff --git a/src/main.h b/src/main.h index 49ccc337e..34fbf68c6 100644 --- a/src/main.h +++ b/src/main.h @@ -98,6 +98,7 @@ extern std::map mapPeerRejectedBlocks; extern bool fStrictProtocol; extern bool fStrictIncoming; extern bool fGenerateBitcoins; +extern bool fWalletStaking; // Settings extern int64 nTransactionFee; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 57a39c8dc..7015fd37e 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -95,12 +95,7 @@ Value getinfo(const Array& params, bool fHelp) obj.push_back(Pair("keypoololdest", (boost::int64_t)pwalletMain->GetOldestKeyPoolTime())); obj.push_back(Pair("keypoolsize", pwalletMain->GetKeyPoolSize())); obj.push_back(Pair("paytxfee", ValueFromAmount(nTransactionFee))); - bool nStaking = false; - if(mapHashedBlocks.count(nBestHeight)) - nStaking = true; - else if(mapHashedBlocks.count(nBestHeight - 1) && nLastCoinStakeSearchInterval) - nStaking = true; - obj.push_back(Pair("staking status", (nStaking ? "Staking Active" : "Staking Not Active"))); + obj.push_back(Pair("staking status", (fWalletStaking ? "Staking Active" : "Staking Not Active"))); std::string strLockState = ""; if(pwalletMain->IsLocked()) From 905371421b95c1811323141d796b71cbb2027e2e Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 5 Dec 2017 16:27:00 -0700 Subject: [PATCH 463/555] Cache CBlock::GetHash() to reduce resource consumption from rehashing. --- src/main.cpp | 12 ++++++++++++ src/main.h | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 8f2295352..0172ef9fa 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -913,9 +913,20 @@ bool CBlock::ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions) return false; if (GetHash() != pindex->GetBlockHash()) return error("CBlock::ReadFromDisk() : GetHash() doesn't match index"); + + this->hashBlock = pindex->GetBlockHash(); + return true; } +uint256 CBlock::GetHash() const +{ + if (hashBlock != 0) + return hashBlock; + + return Hash9(BEGIN(nVersion), END(nNonce)); +} + uint256 static GetOrphanRoot(const CBlock* pblock) { @@ -2237,6 +2248,7 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) { // Check for duplicate uint256 hash = pblock->GetHash(); + pblock->SetHash(hash); if (mapBlockIndex.count(hash)) return error("ProcessBlock() : already have block %d %s", mapBlockIndex[hash]->nHeight, hash.ToString().substr(0,20).c_str()); if (mapOrphanBlocks.count(hash)) diff --git a/src/main.h b/src/main.h index 34fbf68c6..f827635e9 100644 --- a/src/main.h +++ b/src/main.h @@ -848,6 +848,7 @@ class CBlock // memory only mutable std::vector vMerkleTree; + uint256 hashBlock; // Denial-of-service detection: mutable int nDoS; @@ -900,10 +901,9 @@ class CBlock return (nBits == 0); } - uint256 GetHash() const - { - return Hash9(BEGIN(nVersion), END(nNonce)); - } + uint256 GetHash() const; + + void SetHash(uint256 hash){ this->hashBlock = hash; } int64 GetBlockTime() const { From 4d7f1129cf5c4a969174cd08a7b3156964d9d15d Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 6 Dec 2017 10:05:22 -0700 Subject: [PATCH 464/555] Fix time to maturity display. --- src/wallet.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 7f750ef8f..39a4ecbf4 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -1590,13 +1590,14 @@ uint64 CWallet::GetTimeToNextMaturity() BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { uint64 nCurrentAge = GetTime() - pcoin.first->nTime; - if(nCurrentAge > nStakeAge) + if (nCurrentAge > nStakeAge) return 0; - int64 nTimeToMaturity = nStakeAge - nCurrentAge; + uint64 nTimeToMaturity = nStakeAge - nCurrentAge; - if(nCurrentAge < nTimeToNextMaturity) - nTimeToNextMaturity = nCurrentAge; + // see if this coin matures in less time than the 'current' oldest coin + if(nTimeToMaturity < nTimeToNextMaturity) + nTimeToNextMaturity = nTimeToMaturity; } return nTimeToNextMaturity; @@ -1623,8 +1624,7 @@ bool CWallet::GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint if (setCoins.empty()) return false; - - uint64 nPrevAge = 0; // for nHoursToMaturity calculation + uint64 nStakeAge = nStakeMinAgeV2; if(fTestNet) From aca214f80a2c964b0a1869a617e7b57f98188fab Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 6 Dec 2017 10:32:49 -0700 Subject: [PATCH 465/555] Comment out block version checking in SetBestChain. --- src/main.cpp | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 0172ef9fa..cb330ff47 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1880,22 +1880,22 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew) printf("Stake checkpoint: %x\n", pindexBest->nStakeModifierChecksum); // Check the version of the last 100 blocks to see if we need to upgrade: - if (!fIsInitialDownload) - { - int nUpgraded = 0; - const CBlockIndex* pindex = pindexBest; - for (int i = 0; i < 100 && pindex != NULL; i++) - { - if (pindex->nVersion > CBlock::CURRENT_VERSION) - ++nUpgraded; - pindex = pindex->pprev; - } - if (nUpgraded > 0) - printf("SetBestChain: %d of last 100 blocks above version %d\n", nUpgraded, CBlock::CURRENT_VERSION); - if (nUpgraded > 100/2) - // strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user: - strMiscWarning = _("Warning: This version is obsolete, upgrade required!"); - } +// if (!fIsInitialDownload) +// { +// int nUpgraded = 0; +// const CBlockIndex* pindex = pindexBest; +// for (int i = 0; i < 100 && pindex != NULL; i++) +// { +// if (pindex->nVersion > CBlock::CURRENT_VERSION) +// ++nUpgraded; +// pindex = pindex->pprev; +// } +// if (nUpgraded > 0) +// printf("SetBestChain: %d of last 100 blocks above version %d\n", nUpgraded, CBlock::CURRENT_VERSION); +// if (nUpgraded > 100/2) +// // strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user: +// strMiscWarning = _("Warning: This version is obsolete, upgrade required!"); +// } std::string strCmd = GetArg("-blocknotify", ""); From 29cdad4b49d32f3e53206a102b83975a70dcb2b4 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 6 Dec 2017 10:35:46 -0700 Subject: [PATCH 466/555] Update checkpoints. --- src/checkpoints.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 1cb7ad91d..11e5d363a 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -33,12 +33,13 @@ namespace Checkpoints (235999, uint256("0xafe60dd0ab56ef529db21ea648ea4fd8de758a11b6a8ac1fa5cd2d4959162106")) (399999, uint256("0x875356232916a420c100b83d87cc9ce3eb9a174750b48d2fd1eefba7292163b5")) (499999, uint256("0x8e370d8ab8bdb6e6a5a4882dda755b23b5f284f633e04c12e6f73f92de15e68e")) + (1207950, uint256("0xbad0a0f14081129f34d42fdc617638756158fd7b1413f4d3a2916bed2c1a61d4")) ; static MapCheckpoints mapCheckpointsTestnet = boost::assign::map_list_of ( 0, hashGenesisBlockTestNet ) - (10, uint256("0x0000004936d34deb2ad5c10d19b5352939bedbb05f028aa8a8f7bb9023ce7902")) + (70, uint256("0x97c81df9aab50f1bef2e09ec8d806c3cc7ec6b7b7f13c70f1b854d8e40ed77c9")) ; bool CheckHardened(int nHeight, const uint256& hash) From 2eb56979f089132facc40a5b74e6b4b62b13a051 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 7 Dec 2017 17:02:28 -0700 Subject: [PATCH 467/555] Add windows compile script. Remove secp256k1 lib. --- HyperStake-qt.pro | 49 +- compile-hyp.sh | 18 + src/Makefile.am | 13 +- src/Makefile.qt.include | 2 +- src/Makefile.qttest.include | 2 +- src/bip38.cpp | 140 +- src/bip38.h | 14 - src/scrypt.cpp | 6 +- src/secp256k1/.gitignore | 35 - src/secp256k1/.travis.yml | 27 - src/secp256k1/COPYING | 19 - src/secp256k1/Makefile.am | 89 -- src/secp256k1/README.md | 55 - src/secp256k1/TODO | 3 - src/secp256k1/autogen.sh | 3 - src/secp256k1/configure.ac | 284 ---- src/secp256k1/include/secp256k1.h | 240 ---- src/secp256k1/libsecp256k1.pc.in | 13 - src/secp256k1/nasm_lt.sh | 57 - src/secp256k1/obj/.gitignore | 0 src/secp256k1/src/bench_inv.c | 41 - src/secp256k1/src/bench_sign.c | 49 - src/secp256k1/src/bench_verify.c | 44 - src/secp256k1/src/ecdsa.h | 27 - src/secp256k1/src/ecdsa_impl.h | 205 --- src/secp256k1/src/eckey.h | 24 - src/secp256k1/src/eckey_impl.h | 191 --- src/secp256k1/src/ecmult.h | 19 - src/secp256k1/src/ecmult_gen.h | 19 - src/secp256k1/src/ecmult_gen_impl.h | 121 -- src/secp256k1/src/ecmult_impl.h | 245 ---- src/secp256k1/src/field.h | 122 -- src/secp256k1/src/field_10x26.h | 21 - src/secp256k1/src/field_10x26_impl.h | 923 ------------- src/secp256k1/src/field_5x52.h | 21 - src/secp256k1/src/field_5x52_asm.asm | 469 ------- src/secp256k1/src/field_5x52_asm_impl.h | 13 - src/secp256k1/src/field_5x52_impl.h | 294 ---- src/secp256k1/src/field_5x52_int128_impl.h | 277 ---- src/secp256k1/src/field_gmp.h | 18 - src/secp256k1/src/field_gmp_impl.h | 180 --- src/secp256k1/src/field_impl.h | 297 ---- src/secp256k1/src/group.h | 120 -- src/secp256k1/src/group_impl.h | 457 ------ .../src/java/org/bitcoin/NativeSecp256k1.java | 60 - .../src/java/org_bitcoin_NativeSecp256k1.c | 23 - .../src/java/org_bitcoin_NativeSecp256k1.h | 21 - src/secp256k1/src/num.h | 68 - src/secp256k1/src/num_gmp.h | 20 - src/secp256k1/src/num_gmp_impl.h | 232 ---- src/secp256k1/src/num_impl.h | 24 - src/secp256k1/src/scalar.h | 96 -- src/secp256k1/src/scalar_4x64.h | 17 - src/secp256k1/src/scalar_4x64_impl.h | 431 ------ src/secp256k1/src/scalar_8x32.h | 17 - src/secp256k1/src/scalar_8x32_impl.h | 668 --------- src/secp256k1/src/scalar_impl.h | 336 ----- src/secp256k1/src/secp256k1.c | 328 ----- src/secp256k1/src/testrand.h | 26 - src/secp256k1/src/testrand_impl.h | 60 - src/secp256k1/src/tests.c | 1223 ----------------- src/secp256k1/src/util.h | 81 -- 62 files changed, 71 insertions(+), 8926 deletions(-) create mode 100755 compile-hyp.sh delete mode 100644 src/secp256k1/.gitignore delete mode 100644 src/secp256k1/.travis.yml delete mode 100644 src/secp256k1/COPYING delete mode 100644 src/secp256k1/Makefile.am delete mode 100644 src/secp256k1/README.md delete mode 100644 src/secp256k1/TODO delete mode 100755 src/secp256k1/autogen.sh delete mode 100644 src/secp256k1/configure.ac delete mode 100644 src/secp256k1/include/secp256k1.h delete mode 100644 src/secp256k1/libsecp256k1.pc.in delete mode 100755 src/secp256k1/nasm_lt.sh delete mode 100644 src/secp256k1/obj/.gitignore delete mode 100644 src/secp256k1/src/bench_inv.c delete mode 100644 src/secp256k1/src/bench_sign.c delete mode 100644 src/secp256k1/src/bench_verify.c delete mode 100644 src/secp256k1/src/ecdsa.h delete mode 100644 src/secp256k1/src/ecdsa_impl.h delete mode 100644 src/secp256k1/src/eckey.h delete mode 100644 src/secp256k1/src/eckey_impl.h delete mode 100644 src/secp256k1/src/ecmult.h delete mode 100644 src/secp256k1/src/ecmult_gen.h delete mode 100644 src/secp256k1/src/ecmult_gen_impl.h delete mode 100644 src/secp256k1/src/ecmult_impl.h delete mode 100644 src/secp256k1/src/field.h delete mode 100644 src/secp256k1/src/field_10x26.h delete mode 100644 src/secp256k1/src/field_10x26_impl.h delete mode 100644 src/secp256k1/src/field_5x52.h delete mode 100644 src/secp256k1/src/field_5x52_asm.asm delete mode 100644 src/secp256k1/src/field_5x52_asm_impl.h delete mode 100644 src/secp256k1/src/field_5x52_impl.h delete mode 100644 src/secp256k1/src/field_5x52_int128_impl.h delete mode 100644 src/secp256k1/src/field_gmp.h delete mode 100644 src/secp256k1/src/field_gmp_impl.h delete mode 100644 src/secp256k1/src/field_impl.h delete mode 100644 src/secp256k1/src/group.h delete mode 100644 src/secp256k1/src/group_impl.h delete mode 100644 src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java delete mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c delete mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h delete mode 100644 src/secp256k1/src/num.h delete mode 100644 src/secp256k1/src/num_gmp.h delete mode 100644 src/secp256k1/src/num_gmp_impl.h delete mode 100644 src/secp256k1/src/num_impl.h delete mode 100644 src/secp256k1/src/scalar.h delete mode 100644 src/secp256k1/src/scalar_4x64.h delete mode 100644 src/secp256k1/src/scalar_4x64_impl.h delete mode 100644 src/secp256k1/src/scalar_8x32.h delete mode 100644 src/secp256k1/src/scalar_8x32_impl.h delete mode 100644 src/secp256k1/src/scalar_impl.h delete mode 100644 src/secp256k1/src/secp256k1.c delete mode 100644 src/secp256k1/src/testrand.h delete mode 100644 src/secp256k1/src/testrand_impl.h delete mode 100644 src/secp256k1/src/tests.c delete mode 100644 src/secp256k1/src/util.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 3930522bf..0e141ee11 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -20,25 +20,25 @@ unix:!macx { } -win32{ +#win32{ #uncomment the following section to enable building on windows: - windows:LIBS += -lshlwapi - LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) - LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX - windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 - LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 - BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 - BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 - BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib - BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix - BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix - OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include - OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g - MINIUPNPC_LIB_PATH=C:/deps/miniupnpc - MINIUPNPC_INCLUDE_PATH=c:/deps - QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 - QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs -} + # windows:LIBS += -lshlwapi + # LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) + # LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX + # windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 + # LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 + # BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 + # BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 + # BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib + # BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix + # BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix + # OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include + # OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g + # MINIUPNPC_LIB_PATH=C:/deps/miniupnpc + # MINIUPNPC_INCLUDE_PATH=c:/deps + # QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 + # QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs +#} OBJECTS_DIR = build MOC_DIR = build @@ -149,12 +149,14 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ + src/qt/bip38tooldialog.h \ src/qt/calcdialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ src/addrman.h \ src/base58.h \ + src/bip38.h \ src/bignum.h \ src/checkpoints.h \ src/compat.h \ @@ -172,6 +174,7 @@ HEADERS += src/qt/bitcoingui.h \ src/db.h \ src/walletdb.h \ src/script.h \ + src/scrypt.h \ src/init.h \ src/mruset.h \ src/json/json_spirit_writer_template.h \ @@ -230,7 +233,7 @@ HEADERS += src/qt/bitcoingui.h \ src/sph_echo.h \ src/sph_shavite.h \ src/sph_simd.h \ - src/sph_types.h \ + src/sph_types.h \ src/qt/networkstyle.h \ src/qt/scicon.h @@ -247,12 +250,15 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/calcdialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ + src/qt/bip38tooldialog.cpp \ src/alert.cpp \ + src/bip38.cpp \ src/version.cpp \ src/sync.cpp \ src/util.cpp \ src/netbase.cpp \ src/key.cpp \ + src/scrypt.cpp \ src/script.cpp \ src/main.cpp \ src/init.cpp \ @@ -332,7 +338,8 @@ FORMS += \ src/qt/forms/sendcoinsentry.ui \ src/qt/forms/askpassphrasedialog.ui \ src/qt/forms/rpcconsole.ui \ - src/qt/forms/optionsdialog.ui + src/qt/forms/optionsdialog.ui \ + src/qt/forms/bip38tooldialog.ui contains(USE_QRCODE, 1) { HEADERS += src/qt/qrcodedialog.h @@ -435,7 +442,7 @@ macx:QMAKE_CXXFLAGS_THREAD += -pthread # Set libraries and includes at end, to use platform-defined defaults if not overridden INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) +LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) $$join() LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX # -lgdi32 has to happen after -lcrypto (see #681) windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 diff --git a/compile-hyp.sh b/compile-hyp.sh new file mode 100755 index 000000000..afc6d0725 --- /dev/null +++ b/compile-hyp.sh @@ -0,0 +1,18 @@ +#!/bin/bash +MXE_INCLUDE_PATH=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/include +MXE_LIB_PATH=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/lib + +i686-w64-mingw32.static-qmake-qt5 \ + BOOST_LIB_SUFFIX=-mt \ + BOOST_THREAD_LIB_SUFFIX=_win32-mt \ + BOOST_INCLUDE_PATH=$MXE_INCLUDE_PATH/boost \ + BOOST_LIB_PATH=$MXE_LIB_PATH \ + OPENSSL_INCLUDE_PATH=$MXE_INCLUDE_PATH/openssl \ + OPENSSL_LIB_PATH=$MXE_LIB_PATH \ + BDB_INCLUDE_PATH=$MXE_INCLUDE_PATH \ + BDB_LIB_PATH=$MXE_LIB_PATH \ + MINIUPNPC_INCLUDE_PATH=$MXE_INCLUDE_PATH \ + MINIUPNPC_LIB_PATH=$MXE_LIB_PATH \ + QMAKE_LRELEASE=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/qt5/bin/lrelease HyperStake-qt.pro + +make -j6 -f Makefile.Release diff --git a/src/Makefile.am b/src/Makefile.am index 98057b7ce..b5868f227 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,22 +1,16 @@ -DIST_SUBDIRS = secp256k1 AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include LIBBITCOIN_SERVER=libbitcoin_server.a LIBBITCOIN_WALLET=libbitcoin_wallet.a LIBBITCOIN_COMMON=libbitcoin_common.a LIBBITCOIN_UTIL=libbitcoin_util.a -LIBSECP256K1=secp256k1/libsecp256k1.la LIBBITCOINQT=qt/libbitcoinqt.a -$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - # Make is not made aware of per-object dependencies to avoid limiting building parallelization # But to build the less dependent modules first, we manually select their order here: noinst_LIBRARIES = \ @@ -183,8 +177,7 @@ hyperstaked_LDADD = \ $(LIBBITCOIN_UTIL) \ $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ - $(LIBMEMENV) \ - $(LIBSECP256K1) + $(LIBMEMENV) if ENABLE_WALLET hyperstaked_LDADD += libbitcoin_wallet.a @@ -198,7 +191,7 @@ if TARGET_WINDOWS hyperstaked_SOURCES += bitcoind-res.rc endif -hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) +hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) @@ -210,8 +203,6 @@ DISTCLEANFILES = obj/build.h EXTRA_DIST = clean-local: - -$(MAKE) -C leveldb clean - -$(MAKE) -C secp256k1 clean -rm -f config.h .rc.o: diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 9651d247f..b5e0381e6 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -269,7 +269,7 @@ if ENABLE_WALLET qt_hyperstake_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_hyperstake_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ - $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) + $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index cc3ecf852..743f46848 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -27,7 +27,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ - $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno diff --git a/src/bip38.cpp b/src/bip38.cpp index d00b7be2b..e25be8a21 100644 --- a/src/bip38.cpp +++ b/src/bip38.cpp @@ -2,11 +2,12 @@ #include "bip38.h" #include "base58.h" #include "scrypt.h" +#include "key.h" #include "util.h" #include #include -#include + #include @@ -28,43 +29,6 @@ void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output) AES_decrypt(encryptedIn.begin(), output.begin(), &key); } -void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor) -{ - //passfactor is the scrypt hash of passphrase and ownersalt (NOTE this needs to handle alt cases too in the future) - uint64_t s = uint256(ReverseEndianString(strSalt)).Get64(); - scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(s), strSalt.size() / 2, BEGIN(prefactor), 16384, 8, 8, 32); -} - -void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor) -{ - //concat prefactor and ownersalt - uint512 temp(ReverseEndianString(HexStr(prefactor) + ownersalt)); - Hash(temp.begin(), 40, passfactor.begin()); //40 bytes is the length of prefactor + salt - Hash(passfactor.begin(), 32, passfactor.begin()); -} - -bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint) -{ - //passpoint is the ec_mult of passfactor on secp256k1 - int clen = 65; - return secp256k1_ec_pubkey_create(UBEGIN(passpoint), &clen, passfactor.begin(), true) != 0; -} - -void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass) -{ - // Derive decryption key for seedb using scrypt with passpoint, addresshash, and ownerentropy - string salt = ReverseEndianString(strAddressHash + strOwnerSalt); - uint256 s2(salt); - scrypt(BEGIN(passpoint), HexStr(passpoint).size() / 2, BEGIN(s2), salt.size() / 2, BEGIN(seedBPass), 1024, 1, 1, 64); -} - -void ComputeFactorB(uint256 seedB, uint256& factorB) -{ - //factorB - a double sha256 hash of seedb - Hash(seedB.begin(), 24, factorB.begin()); //seedB is only 24 bytes - Hash(factorB.begin(), 32, factorB.begin()); -} - std::string AddressToBip38Hash(std::string address) { uint256 addrCheck; @@ -76,7 +40,6 @@ std::string AddressToBip38Hash(std::string address) std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey) { - printf("***priv key 79 %s\n", privKey.GetHex().c_str()); string strAddressHash = AddressToBip38Hash(strAddress); uint512 hashed; @@ -137,97 +100,30 @@ bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint2 fCompressed = (flag & uint256(0x20)) != 0; - //not ec multiplied - if (type == uint256(0x42)) { - uint512 hashed; - encryptedPart1 = uint256(ReverseEndianString(strKey.substr(14, 32))); - uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); - scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); - - uint256 derivedHalf1(hashed.ToString().substr(64, 64)); - uint256 derivedHalf2(hashed.ToString().substr(0, 64)); - - uint256 decryptedPart1; - DecryptAES(encryptedPart1, derivedHalf2, decryptedPart1); - - uint256 decryptedPart2; - DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); - - //combine decrypted parts into 64 bytes - uint256 temp1 = decryptedPart2 << 128; - temp1 = temp1 | decryptedPart1; - - //xor the decryption with the derived half 1 for the final key - privKey = temp1 ^ derivedHalf1; - - return true; - } else if (type != uint256(0x43)) //invalid type + //no support for keys that are ec multiplied + if (type != uint256(0x42)) return false; - bool fLotSequence = (flag & 0x04) != 0; - - std::string prefactorSalt = ownersalt; - if (fLotSequence) - prefactorSalt = ownersalt.substr(0, 8); - - uint256 prefactor; - ComputePreFactor(strPassphrase, prefactorSalt, prefactor); - - uint256 passfactor; - if (fLotSequence) - ComputePassfactor(ownersalt, prefactor, passfactor); - else - passfactor = prefactor; - - CPubKey passpoint; - if (!ComputePasspoint(passfactor, passpoint)) - return false; + uint512 hashed; + encryptedPart1 = uint256(ReverseEndianString(strKey.substr(14, 32))); + uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); + scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); - uint512 seedBPass; - ComputeSeedBPass(passpoint, strAddressHash, ownersalt, seedBPass); + uint256 derivedHalf1(hashed.ToString().substr(64, 64)); + uint256 derivedHalf2(hashed.ToString().substr(0, 64)); - //get derived halfs, being mindful for endian switch - uint256 derivedHalf1(seedBPass.ToString().substr(64, 64)); - uint256 derivedHalf2(seedBPass.ToString().substr(0, 64)); + uint256 decryptedPart1; + DecryptAES(encryptedPart1, derivedHalf2, decryptedPart1); - /** Decrypt encryptedpart2 using AES256Decrypt to yield the last 8 bytes of seedb and the last 8 bytes of encryptedpart1. **/ uint256 decryptedPart2; DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); - //xor decryptedPart2 and 2nd half of derived half 1 - uint256 x0 = derivedHalf1 >> 128; //drop off the first half (note: endian) - uint256 x1 = decryptedPart2 ^ x0; - uint256 seedbPart2 = x1 >> 64; - - /** Decrypt encryptedpart1 to yield the remainder of seedb. **/ - uint256 decryptedPart1; - uint256 x2 = x1 & uint256("0xffffffffffffffff"); // set x2 to seedbPart1 (still encrypted) - x2 = x2 << 64; //make room to add encryptedPart1 to the front - x2 = encryptedPart1 | x2; //combine with encryptedPart1 - DecryptAES(x2, derivedHalf2, decryptedPart1); - - //decrypted part 1: seedb[0..15] xor derivedhalf1[0..15] - uint256 x3 = derivedHalf1 & uint256("0xffffffffffffffffffffffffffffffff"); - uint256 seedbPart1 = decryptedPart1 ^ x3; - uint256 seedB = seedbPart1 | (seedbPart2 << 128); - - uint256 factorB; - ComputeFactorB(seedB, factorB); - - //multiply passfactor by factorb mod N to yield the priv key - privKey = factorB; - if (!secp256k1_ec_privkey_tweak_mul(privKey.begin(), passfactor.begin())) - return false; - -// CBigNum bnFactorB(factorB); -// CBigNum bnPriv = bnFactorB.mul_mod(); + //combine decrypted parts into 64 bytes + uint256 temp1 = decryptedPart2 << 128; + temp1 = temp1 | decryptedPart1; - //double check that the address hash matches our final privkey - CKey k; - k.SetPrivKey(static_cast(privKey.begin()), privKey.size()); - //k.Set(privKey.begin(), privKey.end(), fCompressed); - CPubKey pubkey = k.GetPubKey(); - string address = CBitcoinAddress(pubkey.GetID()).ToString(); + //xor the decryption with the derived half 1 for the final key + privKey = temp1 ^ derivedHalf1; - return strAddressHash == AddressToBip38Hash(address); + return true; } diff --git a/src/bip38.h b/src/bip38.h index 0e84900b8..f1d8e507d 100644 --- a/src/bip38.h +++ b/src/bip38.h @@ -20,22 +20,8 @@ */ void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output); - -void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor); - -void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor); - -bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint); - - -void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass); - - -void ComputeFactorB(uint256 seedB, uint256& factorB); - std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey); bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint256& privKey, bool& fCompressed); - std::string AddressToBip38Hash(std::string address); /** Compute the 256-bit hash of a std::string */ diff --git a/src/scrypt.cpp b/src/scrypt.cpp index fa9b71b0c..06b94654a 100644 --- a/src/scrypt.cpp +++ b/src/scrypt.cpp @@ -121,7 +121,7 @@ HMAC_SHA256_Final(unsigned char digest[32], HMAC_SHA256_CTX *ctx) * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). */ void -PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, +PBKDF2_SHA256_s(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen) { HMAC_SHA256_CTX PShctx, hctx; @@ -369,14 +369,14 @@ void scrypt(const char* pass, unsigned int pLen, const char* salt, unsigned int uint32_t* V = (uint32_t *)(((uintptr_t)(V0) + 63) & ~ (uintptr_t)(63)); uint32_t* XY = (uint32_t *)(((uintptr_t)(XY0) + 63) & ~ (uintptr_t)(63)); - PBKDF2_SHA256((const uint8_t *)pass, pLen, (const uint8_t *)salt, sLen, 1, B, p * 128 * r); + PBKDF2_SHA256_s((const uint8_t *)pass, pLen, (const uint8_t *)salt, sLen, 1, B, p * 128 * r); for(unsigned int i = 0; i < p; i++) { SMix(&B[i * 128 * r], r, N, V, XY); } - PBKDF2_SHA256((const uint8_t *)pass, pLen, B, p * 128 * r, 1, (uint8_t *)output, dkLen); + PBKDF2_SHA256_s((const uint8_t *)pass, pLen, B, p * 128 * r, 1, (uint8_t *)output, dkLen); free(V0); free(XY0); diff --git a/src/secp256k1/.gitignore b/src/secp256k1/.gitignore deleted file mode 100644 index f0a54077a..000000000 --- a/src/secp256k1/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -bench_inv -bench_sign -bench_verify -tests -*.exe -*.so -*.a -!.gitignore - -Makefile -configure -.libs/ -Makefile.in -aclocal.m4 -autom4te.cache/ -config.log -config.status -*.tar.gz -*.la -libtool -.deps/ -.dirstamp -build-aux/ -*.lo -*.o -*~ -src/libsecp256k1-config.h -src/libsecp256k1-config.h.in -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -src/stamp-h1 -libsecp256k1.pc diff --git a/src/secp256k1/.travis.yml b/src/secp256k1/.travis.yml deleted file mode 100644 index 3a85e8cba..000000000 --- a/src/secp256k1/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: cpp -compiler: gcc -install: - - sudo apt-get install -qq libssl-dev - - if [ "$BIGNUM" = "gmp" -o "$BIGNUM" = "auto" -o "$FIELD" = "gmp" ]; then sudo apt-get install -qq libgmp-dev; fi - - if [ "$FIELD" = "64bit_asm" ]; then sudo apt-get install -qq yasm; fi -env: - global: - - FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no BUILD=check EXTRAFLAGS= - matrix: - - SCALAR=32bit - - SCALAR=64bit - - FIELD=gmp - - FIELD=gmp ENDOMORPHISM=yes - - FIELD=64bit_asm - - FIELD=64bit_asm ENDOMORPHISM=yes - - FIELD=64bit - - FIELD=64bit ENDOMORPHISM=yes - - FIELD=32bit - - FIELD=32bit ENDOMORPHISM=yes - - BIGNUM=none - - BIGNUM=none ENDOMORPHISM=yes - - BUILD=distcheck - - EXTRAFLAGS=CFLAGS=-DDETERMINISTIC -before_script: ./autogen.sh -script: ./configure --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR $EXTRAFLAGS && make -j2 $BUILD -os: linux diff --git a/src/secp256k1/COPYING b/src/secp256k1/COPYING deleted file mode 100644 index 4522a5990..000000000 --- a/src/secp256k1/COPYING +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013 Pieter Wuille - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/secp256k1/Makefile.am b/src/secp256k1/Makefile.am deleted file mode 100644 index dbf1790f3..000000000 --- a/src/secp256k1/Makefile.am +++ /dev/null @@ -1,89 +0,0 @@ -ACLOCAL_AMFLAGS = -I build-aux/m4 - -lib_LTLIBRARIES = libsecp256k1.la -if USE_ASM -COMMON_LIB = libsecp256k1_common.la -else -COMMON_LIB = -endif -noinst_LTLIBRARIES = $(COMMON_LIB) -include_HEADERS = include/secp256k1.h -noinst_HEADERS = -noinst_HEADERS += src/scalar.h -noinst_HEADERS += src/scalar_4x64.h -noinst_HEADERS += src/scalar_8x32.h -noinst_HEADERS += src/scalar_impl.h -noinst_HEADERS += src/scalar_4x64_impl.h -noinst_HEADERS += src/scalar_8x32_impl.h -noinst_HEADERS += src/group.h -noinst_HEADERS += src/group_impl.h -noinst_HEADERS += src/num_gmp.h -noinst_HEADERS += src/num_gmp_impl.h -noinst_HEADERS += src/ecdsa.h -noinst_HEADERS += src/ecdsa_impl.h -noinst_HEADERS += src/eckey.h -noinst_HEADERS += src/eckey_impl.h -noinst_HEADERS += src/ecmult.h -noinst_HEADERS += src/ecmult_impl.h -noinst_HEADERS += src/ecmult_gen.h -noinst_HEADERS += src/ecmult_gen_impl.h -noinst_HEADERS += src/num.h -noinst_HEADERS += src/num_impl.h -noinst_HEADERS += src/field_10x26.h -noinst_HEADERS += src/field_10x26_impl.h -noinst_HEADERS += src/field_5x52.h -noinst_HEADERS += src/field_5x52_impl.h -noinst_HEADERS += src/field_5x52_int128_impl.h -noinst_HEADERS += src/field_5x52_asm_impl.h -noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h -noinst_HEADERS += src/util.h -noinst_HEADERS += src/testrand.h -noinst_HEADERS += src/testrand_impl.h -noinst_HEADERS += src/field_gmp.h -noinst_HEADERS += src/field_gmp_impl.h -noinst_HEADERS += src/field.h -noinst_HEADERS += src/field_impl.h - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libsecp256k1.pc - -if USE_ASM -libsecp256k1_common_la_SOURCES = src/field_5x52_asm.asm -endif - -libsecp256k1_la_SOURCES = src/secp256k1.c -libsecp256k1_la_CPPFLAGS = -I$(top_srcdir)/include $(SECP_INCLUDES) -libsecp256k1_la_LIBADD = $(COMMON_LIB) $(SECP_LIBS) - - -noinst_PROGRAMS = -if USE_BENCHMARK -noinst_PROGRAMS += bench_verify bench_sign bench_inv -bench_verify_SOURCES = src/bench_verify.c -bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) -bench_verify_LDFLAGS = -static -bench_sign_SOURCES = src/bench_sign.c -bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) -bench_sign_LDFLAGS = -static -bench_inv_SOURCES = src/bench_inv.c -bench_inv_LDADD = $(COMMON_LIB) $(SECP_LIBS) -bench_inv_LDFLAGS = -static -bench_inv_CPPFLAGS = $(SECP_INCLUDES) -endif - -if USE_TESTS -noinst_PROGRAMS += tests -tests_SOURCES = src/tests.c -tests_CPPFLAGS = -DVERIFY $(SECP_INCLUDES) $(SECP_TEST_INCLUDES) -tests_LDADD = $(COMMON_LIB) $(SECP_LIBS) $(SECP_TEST_LIBS) -tests_LDFLAGS = -static -TESTS = tests -endif - -EXTRA_DIST = autogen.sh nasm_lt.sh - -#x86_64 only -if USE_ASM -.asm.lo: - $(LIBTOOL) --mode=compile --tag YASM $(srcdir)/nasm_lt.sh $(YASM) -f $(YASM_BINFMT) $(YAFLAGS) -I$(srcdir) -I. $< -o $@ -endif diff --git a/src/secp256k1/README.md b/src/secp256k1/README.md deleted file mode 100644 index 1e49f4941..000000000 --- a/src/secp256k1/README.md +++ /dev/null @@ -1,55 +0,0 @@ -libsecp256k1 -============ - -[![Build Status](https://travis-ci.org/bitcoin/secp256k1.svg?branch=master)](https://travis-ci.org/bitcoin/secp256k1) - -Optimized C library for EC operations on curve secp256k1. - -This library is experimental, so use at your own risk. - -Features: -* Low-level field and group operations on secp256k1. -* ECDSA signing/verification and key generation. -* Adding/multiplying private/public keys. -* Serialization/parsing of private keys, public keys, signatures. -* Very efficient implementation. - -Implementation details ----------------------- - -* General - * Avoid dynamic memory usage almost everywhere. -* Field operations - * Optimized implementation of arithmetic modulo the curve's field size (2^256 - 0x1000003D1). - * Using 5 52-bit limbs (including hand-optimized assembly for x86_64, by Diederik Huys). - * Using 10 26-bit limbs. - * Using GMP. - * Field inverses and square roots using a sliding window over blocks of 1s (by Peter Dettman). -* Scalar operations - * Optimized implementation without data-dependent branches of arithmetic modulo the curve's order. - * Using 4 64-bit limbs (relying on __int128 support in the compiler). - * Using 8 32-bit limbs. -* Group operations - * Point addition formula specifically simplified for the curve equation (y^2 = x^3 + 7). - * Use addition between points in Jacobian and affine coordinates where possible. - * Use a unified addition/doubling formula where necessary to avoid data-dependent branches. -* Point multiplication for verification (a*P + b*G). - * Use wNAF notation for point multiplicands. - * Use a much larger window for multiples of G, using precomputed multiples. - * Use Shamir's trick to do the multiplication with the public key and the generator simultaneously. - * Optionally use secp256k1's efficiently-computable endomorphism to split the multiplicands into 4 half-sized ones first. -* Point multiplication for signing - * Use a precomputed table of multiples of powers of 16 multiplied with the generator, so general multiplication becomes a series of additions. - * Slice the precomputed table in memory per byte, so memory access to the table becomes uniform. - * No data-dependent branches - * The precomputed tables add and eventually subtract points for which no known scalar (private key) is known, preventing even an attacker with control over the private key used to control the data internally. - -Build steps ------------ - -libsecp256k1 is built using autotools: - - $ ./autogen.sh - $ ./configure - $ make - $ sudo make install # optional diff --git a/src/secp256k1/TODO b/src/secp256k1/TODO deleted file mode 100644 index a300e1c5e..000000000 --- a/src/secp256k1/TODO +++ /dev/null @@ -1,3 +0,0 @@ -* Unit tests for fieldelem/groupelem, including ones intended to - trigger fieldelem's boundary cases. -* Complete constant-time operations for signing/keygen diff --git a/src/secp256k1/autogen.sh b/src/secp256k1/autogen.sh deleted file mode 100755 index 65286b935..000000000 --- a/src/secp256k1/autogen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -set -e -autoreconf -if --warnings=all diff --git a/src/secp256k1/configure.ac b/src/secp256k1/configure.ac deleted file mode 100644 index 017fd4e1d..000000000 --- a/src/secp256k1/configure.ac +++ /dev/null @@ -1,284 +0,0 @@ -AC_PREREQ([2.60]) -AC_INIT([libsecp256k1],[0.1]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([build-aux/m4]) -AC_CANONICAL_HOST -AH_TOP([#ifndef LIBSECP256K1_CONFIG_H]) -AH_TOP([#define LIBSECP256K1_CONFIG_H]) -AH_BOTTOM([#endif //LIBSECP256K1_CONFIG_H]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT - -dnl make the compilation flags quiet unless V=1 is used -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -PKG_PROG_PKG_CONFIG - -AC_PATH_TOOL(AR, ar) -AC_PATH_TOOL(RANLIB, ranlib) -AC_PATH_TOOL(STRIP, strip) - -AC_PROG_CC_C99 -if test x"$ac_cv_prog_cc_c99" == x"no"; then - AC_MSG_ERROR([c99 compiler support required]) -fi - -case $host in - *mingw*) - use_pkgconfig=no - ;; - *) - use_pkgconfig=yes - ;; -esac - -case $host_os in - *darwin*) - if test x$cross_compiling != xyes; then - AC_PATH_PROG([BREW],brew,) - if test x$BREW != x; then - dnl These Homebrew packages may be keg-only, meaning that they won't be found - dnl in expected paths because they may conflict with system files. Ask - dnl Homebrew where each one is located, then adjust paths accordingly. - - openssl_prefix=`$BREW --prefix openssl 2>/dev/null` - gmp_prefix=`$BREW --prefix gmp 2>/dev/null` - if test x$openssl_prefix != x; then - PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" - export PKG_CONFIG_PATH - fi - if test x$gmp_prefix != x; then - GMP_CPPFLAGS="-I$gmp_prefix/include" - GMP_LIBS="-L$gmp_prefix/lib" - fi - else - AC_PATH_PROG([PORT],port,) - dnl if homebrew isn't installed and macports is, add the macports default paths - dnl as a last resort. - if test x$PORT != x; then - CPPFLAGS="$CPPFLAGS -isystem /opt/local/include" - LDFLAGS="$LDFLAGS -L/opt/local/lib" - fi - fi - fi - ;; -esac - -CFLAGS="$CFLAGS -W" - -warn_CFLAGS="-Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function" -saved_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $warn_CFLAGS" -AC_MSG_CHECKING([if ${CC} supports ${warn_CFLAGS}]) -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[char foo;]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - CFLAGS="$saved_CFLAGS" - ]) - - -AC_ARG_ENABLE(benchmark, - AS_HELP_STRING([--enable-benchmark],[compile benchmark (default is yes)]), - [use_benchmark=$enableval], - [use_benchmark=yes]) - -AC_ARG_ENABLE(tests, - AS_HELP_STRING([--enable-tests],[compile tests (default is yes)]), - [use_tests=$enableval], - [use_tests=yes]) - -AC_ARG_ENABLE(endomorphism, - AS_HELP_STRING([--enable-endomorphism],[enable endomorphism (default is no)]), - [use_endomorphism=$enableval], - [use_endomorphism=no]) - -AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=gmp|64bit|64bit_asm|32bit|auto], -[Specify Field Implementation. Default is auto])],[req_field=$withval], [req_field=auto]) - -AC_ARG_WITH([bignum], [AS_HELP_STRING([--with-bignum=gmp|none|auto], -[Specify Bignum Implementation. Default is auto])],[req_bignum=$withval], [req_bignum=auto]) - -AC_ARG_WITH([scalar], [AS_HELP_STRING([--with-scalar=64bit|32bit|auto], -[Specify scalar implementation. Default is auto])],[req_scalar=$withval], [req_scalar=auto]) - -AC_CHECK_TYPES([__int128]) - -AC_CHECK_DECL(__builtin_expect,AC_DEFINE(HAVE_BUILTIN_EXPECT,1,[Define this symbol if __builtin_expect is available]),,) - -if test x"$req_field" = x"auto"; then - SECP_64BIT_ASM_CHECK - if test x"$has_64bit_asm" = x"yes"; then - set_field=64bit_asm - fi - - if test x"$set_field" = x; then - SECP_INT128_CHECK - if test x"$has_int128" = x"yes"; then - set_field=64bit - fi - fi - - if test x"$set_field" = x; then - set_field=32bit - fi -else - set_field=$req_field - case $set_field in - 64bit_asm) - SECP_64BIT_ASM_CHECK - ;; - 64bit) - SECP_INT128_CHECK - ;; - gmp) - SECP_GMP_CHECK - ;; - 32bit) - ;; - *) - AC_MSG_ERROR([invalid field implementation selection]) - ;; - esac -fi - -if test x"$req_scalar" = x"auto"; then - if test x"$set_scalar" = x; then - SECP_INT128_CHECK - if test x"$has_int128" = x"yes"; then - set_scalar=64bit - fi - fi - if test x"$set_scalar" = x; then - set_scalar=32bit - fi -else - set_scalar=$req_scalar - case $set_scalar in - 64bit) - SECP_INT128_CHECK - ;; - 32bit) - ;; - *) - AC_MSG_ERROR([invalid scalar implementation selected]) - ;; - esac -fi - -if test x"$req_bignum" = x"auto"; then - if test x"$set_bignum" = x; then - set_bignum=none - fi -else - set_bignum=$req_bignum - case $set_bignum in - gmp) - SECP_GMP_CHECK - ;; - none) - ;; - *) - AC_MSG_ERROR([invalid bignum implementation selection]) - ;; - esac -fi - -# select field implementation -case $set_field in -64bit_asm) - AC_DEFINE(USE_FIELD_5X52_ASM, 1, [Define this symbol to use the assembly version for the 5x52 field implementation]) - AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) - ;; -64bit) - AC_DEFINE(USE_FIELD_5X52_INT128, 1, [Define this symbol to use the __int128 version for the 5x52 field implementation]) - AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) - ;; -gmp) - AC_DEFINE(HAVE_LIBGMP,1,[Define this symbol if libgmp is installed]) - AC_DEFINE(USE_FIELD_GMP, 1, [Define this symbol to use the FIELD_GMP implementation]) - ;; -32bit) - AC_DEFINE(USE_FIELD_10X26, 1, [Define this symbol to use the FIELD_10X26 implementation]) - ;; -*) - AC_MSG_ERROR([invalid field implementation]) - ;; -esac - -# select bignum implementation -case $set_bignum in -gmp) - AC_DEFINE(HAVE_LIBGMP, 1, [Define this symbol if libgmp is installed]) - AC_DEFINE(USE_NUM_GMP, 1, [Define this symbol to use the gmp implementation for num]) - AC_DEFINE(USE_FIELD_INV_NUM, 1, [Define this symbol to use the num-based field inverse implementation]) - AC_DEFINE(USE_SCALAR_INV_NUM, 1, [Define this symbol to use the num-based scalar inverse implementation]) - ;; -none) - AC_DEFINE(USE_NUM_NONE, 1, [Define this symbol to use no num implementation]) - AC_DEFINE(USE_FIELD_INV_BUILTIN, 1, [Define this symbol to use the native field inverse implementation]) - AC_DEFINE(USE_SCALAR_INV_BUILTIN, 1, [Define this symbol to use the native scalar inverse implementation]) - ;; -*) - AC_MSG_ERROR([invalid bignum implementation]) - ;; -esac - -#select scalar implementation -case $set_scalar in -64bit) - AC_DEFINE(USE_SCALAR_4X64, 1, [Define this symbol to use the 4x64 scalar implementation]) - ;; -32bit) - AC_DEFINE(USE_SCALAR_8X32, 1, [Define this symbol to use the 8x32 scalar implementation]) - ;; -*) - AC_MSG_ERROR([invalid scalar implementation]) - ;; -esac - -if test x"$use_tests" = x"yes"; then - SECP_OPENSSL_CHECK - if test x"$has_openssl_ec" == x"yes"; then - AC_DEFINE(ENABLE_OPENSSL_TESTS, 1, [Define this symbol if OpenSSL EC functions are available]) - SECP_TEST_INCLUDES="$SSL_CFLAGS $CRYPTO_CFLAGS" - SECP_TEST_LIBS="$CRYPTO_LIBS" - - case $host in - *mingw*) - SECP_TEST_LIBS="$SECP_TEST_LIBS -lgdi32" - ;; - esac - - fi -fi - -if test x"$set_field" = x"gmp" || test x"$set_bignum" = x"gmp"; then - SECP_LIBS="$SECP_LIBS $GMP_LIBS" - SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS" -fi - -if test x"$use_endomorphism" = x"yes"; then - AC_DEFINE(USE_ENDOMORPHISM, 1, [Define this symbol to use endomorphism optimization]) -fi - -AC_MSG_NOTICE([Using field implementation: $set_field]) -AC_MSG_NOTICE([Using bignum implementation: $set_bignum]) -AC_MSG_NOTICE([Using scalar implementation: $set_scalar]) - -AC_CONFIG_HEADERS([src/libsecp256k1-config.h]) -AC_CONFIG_FILES([Makefile libsecp256k1.pc]) -AC_SUBST(SECP_INCLUDES) -AC_SUBST(SECP_LIBS) -AC_SUBST(SECP_TEST_LIBS) -AC_SUBST(SECP_TEST_INCLUDES) -AC_SUBST(YASM_BINFMT) -AM_CONDITIONAL([USE_ASM], [test x"$set_field" == x"64bit_asm"]) -AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" != x"no"]) -AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" != x"no"]) - -dnl make sure nothing new is exported so that we don't break the cache -PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH" -unset PKG_CONFIG_PATH -PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP" - -AC_OUTPUT diff --git a/src/secp256k1/include/secp256k1.h b/src/secp256k1/include/secp256k1.h deleted file mode 100644 index 94a6ef483..000000000 --- a/src/secp256k1/include/secp256k1.h +++ /dev/null @@ -1,240 +0,0 @@ -#ifndef _SECP256K1_ -# define _SECP256K1_ - -# ifdef __cplusplus -extern "C" { -# endif - -# if !defined(SECP256K1_GNUC_PREREQ) -# if defined(__GNUC__)&&defined(__GNUC_MINOR__) -# define SECP256K1_GNUC_PREREQ(_maj,_min) \ - ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) -# else -# define SECP256K1_GNUC_PREREQ(_maj,_min) 0 -# endif -# endif - -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(2,7) -# define SECP256K1_INLINE __inline__ -# elif (defined(_MSC_VER)) -# define SECP256K1_INLINE __inline -# else -# define SECP256K1_INLINE -# endif -# else -# define SECP256K1_INLINE inline -# endif - -/**Warning attributes - * NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out - * some paranoid null checks. */ -# if defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) -# else -# define SECP256K1_WARN_UNUSED_RESULT -# endif -# if !defined(SECP256K1_BUILD) && defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) -# else -# define SECP256K1_ARG_NONNULL(_x) -# endif - - -/** Flags to pass to secp256k1_start. */ -# define SECP256K1_START_VERIFY (1 << 0) -# define SECP256K1_START_SIGN (1 << 1) - -/** Initialize the library. This may take some time (10-100 ms). - * You need to call this before calling any other function. - * It cannot run in parallel with any other functions, but once - * secp256k1_start() returns, all other functions are thread-safe. - */ -void secp256k1_start(unsigned int flags); - -/** Free all memory associated with this library. After this, no - * functions can be called anymore, except secp256k1_start() - */ -void secp256k1_stop(void); - -/** Verify an ECDSA signature. - * Returns: 1: correct signature - * 0: incorrect signature - * -1: invalid public key - * -2: invalid signature - * In: msg: the message being verified (cannot be NULL) - * msglen: the length of the message (at most 32) - * sig: the signature being verified (cannot be NULL) - * siglen: the length of the signature - * pubkey: the public key to verify with (cannot be NULL) - * pubkeylen: the length of pubkey - * Requires starting using SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify( - const unsigned char *msg, - int msglen, - const unsigned char *sig, - int siglen, - const unsigned char *pubkey, - int pubkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(5); - -/** Create an ECDSA signature. - * Returns: 1: signature created - * 0: nonce invalid, try another one - * In: msg: the message being signed (cannot be NULL) - * msglen: the length of the message being signed (at most 32) - * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) - * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) - * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) - * In/Out: siglen: pointer to an int with the length of sig, which will be updated - * to contain the actual signature length (<=72). - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign( - const unsigned char *msg, - int msglen, - unsigned char *sig, - int *siglen, - const unsigned char *seckey, - const unsigned char *nonce -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5) SECP256K1_ARG_NONNULL(6); - -/** Create a compact ECDSA signature (64 byte + recovery id). - * Returns: 1: signature created - * 0: nonce invalid, try another one - * In: msg: the message being signed (cannot be NULL) - * msglen: the length of the message being signed (at most 32) - * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) - * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) - * Out: sig: pointer to a 64-byte array where the signature will be placed (cannot be NULL) - * recid: pointer to an int, which will be updated to contain the recovery id (can be NULL) - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign_compact( - const unsigned char *msg, - int msglen, - unsigned char *sig64, - const unsigned char *seckey, - const unsigned char *nonce, - int *recid -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); - -/** Recover an ECDSA public key from a compact signature. - * Returns: 1: public key successfully recovered (which guarantees a correct signature). - * 0: otherwise. - * In: msg: the message assumed to be signed (cannot be NULL) - * msglen: the length of the message (at most 32) - * sig64: signature as 64 byte array (cannot be NULL) - * compressed: whether to recover a compressed or uncompressed pubkey - * recid: the recovery id (0-3, as returned by ecdsa_sign_compact) - * Out: pubkey: pointer to a 33 or 65 byte array to put the pubkey (cannot be NULL) - * pubkeylen: pointer to an int that will contain the pubkey length (cannot be NULL) - * Requires starting using SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover_compact( - const unsigned char *msg, - int msglen, - const unsigned char *sig64, - unsigned char *pubkey, - int *pubkeylen, - int compressed, - int recid -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); - -/** Verify an ECDSA secret key. - * Returns: 1: secret key is valid - * 0: secret key is invalid - * In: seckey: pointer to a 32-byte secret key (cannot be NULL) - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify(const unsigned char *seckey) SECP256K1_ARG_NONNULL(1); - -/** Just validate a public key. - * Returns: 1: valid public key - * 0: invalid public key - * In: pubkey: pointer to a 33-byte or 65-byte public key (cannot be NULL). - * pubkeylen: length of pubkey - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) SECP256K1_ARG_NONNULL(1); - -/** Compute the public key for a secret key. - * In: compressed: whether the computed public key should be compressed - * seckey: pointer to a 32-byte private key (cannot be NULL) - * Out: pubkey: pointer to a 33-byte (if compressed) or 65-byte (if uncompressed) - * area to store the public key (cannot be NULL) - * pubkeylen: pointer to int that will be updated to contains the pubkey's - * length (cannot be NULL) - * Returns: 1: secret was valid, public key stores - * 0: secret was invalid, try again. - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create( - unsigned char *pubkey, - int *pubkeylen, - const unsigned char *seckey, - int compressed -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Decompress a public key. - * In/Out: pubkey: pointer to a 65-byte array to put the decompressed public key. - It must contain a 33-byte or 65-byte public key already (cannot be NULL) - * pubkeylen: pointer to the size of the public key pointed to by pubkey (cannot be NULL) - It will be updated to reflect the new size. - * Returns: 0 if the passed public key was invalid, 1 otherwise. If 1 is returned, the - pubkey is replaced with its decompressed version. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_decompress( - unsigned char *pubkey, - int *pubkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Export a private key in DER format. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_export( - const unsigned char *seckey, - unsigned char *privkey, - int *privkeylen, - int compressed -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Import a private key in DER format. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_import( - unsigned char *seckey, - const unsigned char *privkey, - int privkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a private key by adding tweak to it. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add( - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a public key by adding tweak times the generator to it. - * Requires starting with SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add( - unsigned char *pubkey, - int pubkeylen, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); - -/** Tweak a private key by multiplying it with tweak. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul( - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a public key by multiplying it with tweak. - * Requires starting with SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul( - unsigned char *pubkey, - int pubkeylen, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); - -# ifdef __cplusplus -} -# endif - -#endif diff --git a/src/secp256k1/libsecp256k1.pc.in b/src/secp256k1/libsecp256k1.pc.in deleted file mode 100644 index 1c72dd000..000000000 --- a/src/secp256k1/libsecp256k1.pc.in +++ /dev/null @@ -1,13 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: libsecp256k1 -Description: Optimized C library for EC operations on curve secp256k1 -URL: https://github.com/bitcoin/secp256k1 -Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} -Libs.private: @SECP_LIBS@ -Libs: -L${libdir} -lsecp256k1 - diff --git a/src/secp256k1/nasm_lt.sh b/src/secp256k1/nasm_lt.sh deleted file mode 100755 index 6cd73294c..000000000 --- a/src/secp256k1/nasm_lt.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/sh -command="" -infile="" -o_opt=no -pic=no -while [ $# -gt 0 ]; do - case "$1" in - -DPIC|-fPIC|-fpic|-Kpic|-KPIC) - if [ "$pic" != "yes" ] ; then - command="$command -DPIC" - pic=yes - fi - ;; - -f|-fbin|-faout|-faoutb|-fcoff|-felf|-felf64|-fas86| \ - -fobj|-fwin32|-fwin64|-frdf|-fieee|-fmacho|-fmacho64) - # it's a file format specifier for nasm. - command="$command $1" - ;; - -f*) - # maybe a code-generation flag for gcc. - ;; - -[Ii]*) - incdir=`echo "$1" | sed 's/^-[Ii]//'` - if [ "x$incdir" = x -a "x$2" != x ] ; then - case "$2" in - -*) ;; - *) incdir="$2"; shift;; - esac - fi - if [ "x$incdir" != x ] ; then - # In the case of NASM, the trailing slash is necessary. - incdir=`echo "$incdir" | sed 's%/*$%/%'` - command="$command -I$incdir" - fi - ;; - -o*) - o_opt=yes - command="$command $1" - ;; - *.asm) - infile=$1 - command="$command $1" - ;; - *) - command="$command $1" - ;; - esac - shift -done -if [ "$o_opt" != yes ] ; then - # By default, NASM creates an output file - # in the same directory as the input file. - outfile="-o `echo $infile | sed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.o" - command="$command $outfile" -fi -echo $command -exec $command diff --git a/src/secp256k1/obj/.gitignore b/src/secp256k1/obj/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/secp256k1/src/bench_inv.c b/src/secp256k1/src/bench_inv.c deleted file mode 100644 index d6f664333..000000000 --- a/src/secp256k1/src/bench_inv.c +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ -#include - -#include "include/secp256k1.h" - -#include "util.h" -#include "num_impl.h" -#include "field_impl.h" -#include "group_impl.h" -#include "scalar_impl.h" - -int main(void) { - static const unsigned char init[32] = { - 0x02, 0x03, 0x05, 0x07, 0x0b, 0x0d, 0x11, 0x13, - 0x17, 0x1d, 0x1f, 0x25, 0x29, 0x2b, 0x2f, 0x35, - 0x3b, 0x3d, 0x43, 0x47, 0x49, 0x4f, 0x53, 0x59, - 0x61, 0x65, 0x67, 0x6b, 0x6d, 0x71, 0x7f, 0x83 - }; - static const unsigned char fini[32] = { - 0xba, 0x28, 0x58, 0xd8, 0xaa, 0x11, 0xd6, 0xf2, - 0xfa, 0xce, 0x50, 0xb1, 0x67, 0x19, 0xb1, 0xa6, - 0xe0, 0xaa, 0x84, 0x53, 0xf6, 0x80, 0xfc, 0x23, - 0x88, 0x3c, 0xd6, 0x74, 0x9f, 0x27, 0x09, 0x03 - }; - secp256k1_ge_start(); - secp256k1_scalar_t base, x; - secp256k1_scalar_set_b32(&base, init, NULL); - secp256k1_scalar_set_b32(&x, init, NULL); - for (int i=0; i<1000000; i++) { - secp256k1_scalar_inverse(&x, &x); - secp256k1_scalar_add(&x, &x, &base); - } - unsigned char res[32]; - secp256k1_scalar_get_b32(res, &x); - CHECK(memcmp(res, fini, 32) == 0); - return 0; -} diff --git a/src/secp256k1/src/bench_sign.c b/src/secp256k1/src/bench_sign.c deleted file mode 100644 index f01f11d68..000000000 --- a/src/secp256k1/src/bench_sign.c +++ /dev/null @@ -1,49 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ -#include -#include - -#include "include/secp256k1.h" -#include "util.h" - -int main(void) { - secp256k1_start(SECP256K1_START_SIGN); - - unsigned char msg[32]; - unsigned char nonce[32]; - unsigned char key[32]; - - for (int i = 0; i < 32; i++) msg[i] = i + 1; - for (int i = 0; i < 32; i++) nonce[i] = i + 33; - for (int i = 0; i < 32; i++) key[i] = i + 65; - - unsigned char sig[64]; - - for (int i=0; i<1000000; i++) { - int recid = 0; - CHECK(secp256k1_ecdsa_sign_compact(msg, 32, sig, key, nonce, &recid)); - for (int j = 0; j < 32; j++) { - nonce[j] = key[j]; /* Move former key to nonce */ - msg[j] = sig[j]; /* Move former R to message. */ - key[j] = sig[j + 32]; /* Move former S to key. */ - } - } - - static const unsigned char fini[64] = { - 0x92, 0x03, 0xef, 0xf1, 0x58, 0x0b, 0x49, 0x8d, - 0x22, 0x3d, 0x49, 0x0e, 0xbf, 0x26, 0x50, 0x0e, - 0x2d, 0x62, 0x90, 0xd7, 0x82, 0xbd, 0x3d, 0x5c, - 0xa9, 0x10, 0xa5, 0x49, 0xb1, 0xd8, 0x8c, 0xc0, - 0x5b, 0x5e, 0x9e, 0x68, 0x51, 0x3d, 0xe8, 0xec, - 0x82, 0x30, 0x82, 0x88, 0x8c, 0xfd, 0xe7, 0x71, - 0x15, 0x92, 0xfc, 0x14, 0x59, 0x78, 0x31, 0xb3, - 0xf6, 0x07, 0x91, 0x18, 0x00, 0x8d, 0x4c, 0xb2 - }; - CHECK(memcmp(sig, fini, 64) == 0); - - secp256k1_stop(); - return 0; -} diff --git a/src/secp256k1/src/bench_verify.c b/src/secp256k1/src/bench_verify.c deleted file mode 100644 index 690595516..000000000 --- a/src/secp256k1/src/bench_verify.c +++ /dev/null @@ -1,44 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#include -#include - -#include "include/secp256k1.h" -#include "util.h" - -int main(void) { - secp256k1_start(SECP256K1_START_VERIFY); - - unsigned char msg[32]; - unsigned char sig[64]; - - for (int i = 0; i < 32; i++) msg[i] = 1 + i; - for (int i = 0; i < 64; i++) sig[i] = 65 + i; - - unsigned char pubkey[33]; - for (int i=0; i<1000000; i++) { - int pubkeylen = 33; - CHECK(secp256k1_ecdsa_recover_compact(msg, 32, sig, pubkey, &pubkeylen, 1, i % 2)); - for (int j = 0; j < 32; j++) { - sig[j + 32] = msg[j]; /* Move former message to S. */ - msg[j] = sig[j]; /* Move former R to message. */ - sig[j] = pubkey[j + 1]; /* Move recovered pubkey X coordinate to R (which must be a valid X coordinate). */ - } - } - - static const unsigned char fini[33] = { - 0x02, - 0x52, 0x63, 0xae, 0x9a, 0x9d, 0x47, 0x1f, 0x1a, - 0xb2, 0x36, 0x65, 0x89, 0x11, 0xe7, 0xcc, 0x86, - 0xa3, 0xab, 0x97, 0xb6, 0xf1, 0xaf, 0xfd, 0x8f, - 0x9b, 0x38, 0xb6, 0x18, 0x55, 0xe5, 0xc2, 0x43 - }; - CHECK(memcmp(fini, pubkey, 33) == 0); - - secp256k1_stop(); - return 0; -} diff --git a/src/secp256k1/src/ecdsa.h b/src/secp256k1/src/ecdsa.h deleted file mode 100644 index 5fc5230c3..000000000 --- a/src/secp256k1/src/ecdsa.h +++ /dev/null @@ -1,27 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECDSA_ -#define _SECP256K1_ECDSA_ - -#include "scalar.h" -#include "group.h" - -static void secp256k1_ecsda_start(void); -static void secp256k1_ecdsa_stop(void); - -typedef struct { - secp256k1_scalar_t r, s; -} secp256k1_ecdsa_sig_t; - -static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size); -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a); -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message); -static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid); -static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid); -static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s); - -#endif diff --git a/src/secp256k1/src/ecdsa_impl.h b/src/secp256k1/src/ecdsa_impl.h deleted file mode 100644 index a951d0b4a..000000000 --- a/src/secp256k1/src/ecdsa_impl.h +++ /dev/null @@ -1,205 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - - -#ifndef _SECP256K1_ECDSA_IMPL_H_ -#define _SECP256K1_ECDSA_IMPL_H_ - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult.h" -#include "ecmult_gen.h" -#include "ecdsa.h" - -typedef struct { - secp256k1_fe_t order_as_fe; - secp256k1_fe_t p_minus_order; -} secp256k1_ecdsa_consts_t; - -static const secp256k1_ecdsa_consts_t *secp256k1_ecdsa_consts = NULL; - -static void secp256k1_ecdsa_start(void) { - if (secp256k1_ecdsa_consts != NULL) - return; - - /* Allocate. */ - secp256k1_ecdsa_consts_t *ret = (secp256k1_ecdsa_consts_t*)malloc(sizeof(secp256k1_ecdsa_consts_t)); - - static const unsigned char order[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, - 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 - }; - - secp256k1_fe_set_b32(&ret->order_as_fe, order); - secp256k1_fe_negate(&ret->p_minus_order, &ret->order_as_fe, 1); - secp256k1_fe_normalize(&ret->p_minus_order); - - /* Set the global pointer. */ - secp256k1_ecdsa_consts = ret; -} - -static void secp256k1_ecdsa_stop(void) { - if (secp256k1_ecdsa_consts == NULL) - return; - - secp256k1_ecdsa_consts_t *c = (secp256k1_ecdsa_consts_t*)secp256k1_ecdsa_consts; - secp256k1_ecdsa_consts = NULL; - free(c); -} - -static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size) { - if (sig[0] != 0x30) return 0; - int lenr = sig[3]; - if (5+lenr >= size) return 0; - int lens = sig[lenr+5]; - if (sig[1] != lenr+lens+4) return 0; - if (lenr+lens+6 > size) return 0; - if (sig[2] != 0x02) return 0; - if (lenr == 0) return 0; - if (sig[lenr+4] != 0x02) return 0; - if (lens == 0) return 0; - const unsigned char *sp = sig + 6 + lenr; - while (lens > 0 && sp[0] == 0) { - lens--; - sp++; - } - if (lens > 32) return 0; - const unsigned char *rp = sig + 4; - while (lenr > 0 && rp[0] == 0) { - lenr--; - rp++; - } - if (lenr > 32) return 0; - unsigned char ra[32] = {0}, sa[32] = {0}; - memcpy(ra + 32 - lenr, rp, lenr); - memcpy(sa + 32 - lens, sp, lens); - int overflow = 0; - secp256k1_scalar_set_b32(&r->r, ra, &overflow); - if (overflow) return 0; - secp256k1_scalar_set_b32(&r->s, sa, &overflow); - if (overflow) return 0; - return 1; -} - -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a) { - unsigned char r[33] = {0}, s[33] = {0}; - secp256k1_scalar_get_b32(&r[1], &a->r); - secp256k1_scalar_get_b32(&s[1], &a->s); - unsigned char *rp = r, *sp = s; - int lenR = 33, lenS = 33; - while (lenR > 1 && rp[0] == 0 && rp[1] < 0x80) { lenR--; rp++; } - while (lenS > 1 && sp[0] == 0 && sp[1] < 0x80) { lenS--; sp++; } - if (*size < 6+lenS+lenR) - return 0; - *size = 6 + lenS + lenR; - sig[0] = 0x30; - sig[1] = 4 + lenS + lenR; - sig[2] = 0x02; - sig[3] = lenR; - memcpy(sig+4, rp, lenR); - sig[4+lenR] = 0x02; - sig[5+lenR] = lenS; - memcpy(sig+lenR+6, sp, lenS); - return 1; -} - -static int secp256k1_ecdsa_sig_recompute(secp256k1_scalar_t *r2, const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { - if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) - return 0; - - int ret = 0; - secp256k1_scalar_t sn, u1, u2; - secp256k1_scalar_inverse_var(&sn, &sig->s); - secp256k1_scalar_mul(&u1, &sn, message); - secp256k1_scalar_mul(&u2, &sn, &sig->r); - secp256k1_gej_t pubkeyj; secp256k1_gej_set_ge(&pubkeyj, pubkey); - secp256k1_gej_t pr; secp256k1_ecmult(&pr, &pubkeyj, &u2, &u1); - if (!secp256k1_gej_is_infinity(&pr)) { - secp256k1_fe_t xr; secp256k1_gej_get_x_var(&xr, &pr); - secp256k1_fe_normalize(&xr); - unsigned char xrb[32]; secp256k1_fe_get_b32(xrb, &xr); - secp256k1_scalar_set_b32(r2, xrb, NULL); - ret = 1; - } - return ret; -} - -static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid) { - if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) - return 0; - - unsigned char brx[32]; - secp256k1_scalar_get_b32(brx, &sig->r); - secp256k1_fe_t fx; - VERIFY_CHECK(secp256k1_fe_set_b32(&fx, brx)); /* brx comes from a scalar, so is less than the order; certainly less than p */ - if (recid & 2) { - if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_consts->p_minus_order) >= 0) - return 0; - secp256k1_fe_add(&fx, &secp256k1_ecdsa_consts->order_as_fe); - } - secp256k1_ge_t x; - if (!secp256k1_ge_set_xo(&x, &fx, recid & 1)) - return 0; - secp256k1_gej_t xj; - secp256k1_gej_set_ge(&xj, &x); - secp256k1_scalar_t rn, u1, u2; - secp256k1_scalar_inverse_var(&rn, &sig->r); - secp256k1_scalar_mul(&u1, &rn, message); - secp256k1_scalar_negate(&u1, &u1); - secp256k1_scalar_mul(&u2, &rn, &sig->s); - secp256k1_gej_t qj; - secp256k1_ecmult(&qj, &xj, &u2, &u1); - secp256k1_ge_set_gej_var(pubkey, &qj); - return !secp256k1_gej_is_infinity(&qj); -} - -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { - secp256k1_scalar_t r2; - int ret = 0; - ret = secp256k1_ecdsa_sig_recompute(&r2, sig, pubkey, message) && secp256k1_scalar_eq(&sig->r, &r2); - return ret; -} - -static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid) { - secp256k1_gej_t rp; - secp256k1_ecmult_gen(&rp, nonce); - secp256k1_ge_t r; - secp256k1_ge_set_gej(&r, &rp); - unsigned char b[32]; - secp256k1_fe_normalize(&r.x); - secp256k1_fe_normalize(&r.y); - secp256k1_fe_get_b32(b, &r.x); - int overflow = 0; - secp256k1_scalar_set_b32(&sig->r, b, &overflow); - if (recid) - *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); - secp256k1_scalar_t n; - secp256k1_scalar_mul(&n, &sig->r, seckey); - secp256k1_scalar_add(&n, &n, message); - secp256k1_scalar_inverse(&sig->s, nonce); - secp256k1_scalar_mul(&sig->s, &sig->s, &n); - secp256k1_scalar_clear(&n); - secp256k1_gej_clear(&rp); - secp256k1_ge_clear(&r); - if (secp256k1_scalar_is_zero(&sig->s)) - return 0; - if (secp256k1_scalar_is_high(&sig->s)) { - secp256k1_scalar_negate(&sig->s, &sig->s); - if (recid) - *recid ^= 1; - } - return 1; -} - -static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s) { - sig->r = *r; - sig->s = *s; -} - -#endif diff --git a/src/secp256k1/src/eckey.h b/src/secp256k1/src/eckey.h deleted file mode 100644 index 6de5dc0a5..000000000 --- a/src/secp256k1/src/eckey.h +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECKEY_ -#define _SECP256K1_ECKEY_ - -#include "group.h" -#include "scalar.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size); -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed); - -static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen); -static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed); - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); - -#endif diff --git a/src/secp256k1/src/eckey_impl.h b/src/secp256k1/src/eckey_impl.h deleted file mode 100644 index 0f218ced9..000000000 --- a/src/secp256k1/src/eckey_impl.h +++ /dev/null @@ -1,191 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECKEY_IMPL_H_ -#define _SECP256K1_ECKEY_IMPL_H_ - -#include "eckey.h" - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult_gen.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { - if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { - secp256k1_fe_t x; - return secp256k1_fe_set_b32(&x, pub+1) && secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); - } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { - secp256k1_fe_t x, y; - if (!secp256k1_fe_set_b32(&x, pub+1) || !secp256k1_fe_set_b32(&y, pub+33)) { - return 0; - } - secp256k1_ge_set_xy(elem, &x, &y); - if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) - return 0; - return secp256k1_ge_is_valid(elem); - } else { - return 0; - } -} - -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed) { - if (secp256k1_ge_is_infinity(elem)) { - return 0; - } - secp256k1_fe_normalize(&elem->x); - secp256k1_fe_normalize(&elem->y); - secp256k1_fe_get_b32(&pub[1], &elem->x); - if (compressed) { - *size = 33; - pub[0] = 0x02 | (secp256k1_fe_is_odd(&elem->y) ? 0x01 : 0x00); - } else { - *size = 65; - pub[0] = 0x04; - secp256k1_fe_get_b32(&pub[33], &elem->y); - } - return 1; -} - -static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen) { - const unsigned char *end = privkey + privkeylen; - /* sequence header */ - if (end < privkey+1 || *privkey != 0x30) - return 0; - privkey++; - /* sequence length constructor */ - int lenb = 0; - if (end < privkey+1 || !(*privkey & 0x80)) - return 0; - lenb = *privkey & ~0x80; privkey++; - if (lenb < 1 || lenb > 2) - return 0; - if (end < privkey+lenb) - return 0; - /* sequence length */ - int len = 0; - len = privkey[lenb-1] | (lenb > 1 ? privkey[lenb-2] << 8 : 0); - privkey += lenb; - if (end < privkey+len) - return 0; - /* sequence element 0: version number (=1) */ - if (end < privkey+3 || privkey[0] != 0x02 || privkey[1] != 0x01 || privkey[2] != 0x01) - return 0; - privkey += 3; - /* sequence element 1: octet string, up to 32 bytes */ - if (end < privkey+2 || privkey[0] != 0x04 || privkey[1] > 0x20 || end < privkey+2+privkey[1]) - return 0; - int overflow = 0; - unsigned char c[32] = {0}; - memcpy(c + 32 - privkey[1], privkey + 2, privkey[1]); - secp256k1_scalar_set_b32(key, c, &overflow); - memset(c, 0, 32); - return !overflow; -} - -static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed) { - secp256k1_gej_t rp; - secp256k1_ecmult_gen(&rp, key); - secp256k1_ge_t r; - secp256k1_ge_set_gej(&r, &rp); - if (compressed) { - static const unsigned char begin[] = { - 0x30,0x81,0xD3,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0x85,0x30,0x81,0x82,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x21,0x02,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x24,0x03,0x22,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - secp256k1_scalar_get_b32(ptr, key); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - int pubkeylen = 0; - if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 1)) { - return 0; - } - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } else { - static const unsigned char begin[] = { - 0x30,0x82,0x01,0x13,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0xA5,0x30,0x81,0xA2,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x41,0x04,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65,0x5D,0xA4,0xFB,0xFC,0x0E,0x11, - 0x08,0xA8,0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19,0x9C,0x47,0xD0,0x8F,0xFB,0x10, - 0xD4,0xB8,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x44,0x03,0x42,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - secp256k1_scalar_get_b32(ptr, key); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - int pubkeylen = 0; - if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 0)) { - return 0; - } - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } - return 1; -} - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { - secp256k1_scalar_add(key, key, tweak); - if (secp256k1_scalar_is_zero(key)) - return 0; - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { - secp256k1_gej_t pt; - secp256k1_gej_set_ge(&pt, key); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_ecmult(&pt, &pt, &one, tweak); - - if (secp256k1_gej_is_infinity(&pt)) - return 0; - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { - if (secp256k1_scalar_is_zero(tweak)) - return 0; - - secp256k1_scalar_mul(key, key, tweak); - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { - if (secp256k1_scalar_is_zero(tweak)) - return 0; - - secp256k1_scalar_t zero; - secp256k1_scalar_set_int(&zero, 0); - secp256k1_gej_t pt; - secp256k1_gej_set_ge(&pt, key); - secp256k1_ecmult(&pt, &pt, tweak, &zero); - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -#endif diff --git a/src/secp256k1/src/ecmult.h b/src/secp256k1/src/ecmult.h deleted file mode 100644 index 15a7100a4..000000000 --- a/src/secp256k1/src/ecmult.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_ -#define _SECP256K1_ECMULT_ - -#include "num.h" -#include "group.h" - -static void secp256k1_ecmult_start(void); -static void secp256k1_ecmult_stop(void); - -/** Double multiply: R = na*A + ng*G */ -static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng); - -#endif diff --git a/src/secp256k1/src/ecmult_gen.h b/src/secp256k1/src/ecmult_gen.h deleted file mode 100644 index 42f822f9c..000000000 --- a/src/secp256k1/src/ecmult_gen.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_GEN_ -#define _SECP256K1_ECMULT_GEN_ - -#include "scalar.h" -#include "group.h" - -static void secp256k1_ecmult_gen_start(void); -static void secp256k1_ecmult_gen_stop(void); - -/** Multiply with the generator: R = a*G */ -static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *a); - -#endif diff --git a/src/secp256k1/src/ecmult_gen_impl.h b/src/secp256k1/src/ecmult_gen_impl.h deleted file mode 100644 index af0ead522..000000000 --- a/src/secp256k1/src/ecmult_gen_impl.h +++ /dev/null @@ -1,121 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_GEN_IMPL_H_ -#define _SECP256K1_ECMULT_GEN_IMPL_H_ - -#include "scalar.h" -#include "group.h" -#include "ecmult_gen.h" - -typedef struct { - /* For accelerating the computation of a*G: - * To harden against timing attacks, use the following mechanism: - * * Break up the multiplicand into groups of 4 bits, called n_0, n_1, n_2, ..., n_63. - * * Compute sum(n_i * 16^i * G + U_i, i=0..63), where: - * * U_i = U * 2^i (for i=0..62) - * * U_i = U * (1-2^63) (for i=63) - * where U is a point with no known corresponding scalar. Note that sum(U_i, i=0..63) = 0. - * For each i, and each of the 16 possible values of n_i, (n_i * 16^i * G + U_i) is - * precomputed (call it prec(i, n_i)). The formula now becomes sum(prec(i, n_i), i=0..63). - * None of the resulting prec group elements have a known scalar, and neither do any of - * the intermediate sums while computing a*G. - */ - secp256k1_fe_t prec[64][16][2]; /* prec[j][i] = (16^j * i * G + U_i).{x,y} */ -} secp256k1_ecmult_gen_consts_t; - -static const secp256k1_ecmult_gen_consts_t *secp256k1_ecmult_gen_consts = NULL; - -static void secp256k1_ecmult_gen_start(void) { - if (secp256k1_ecmult_gen_consts != NULL) - return; - - /* Allocate the precomputation table. */ - secp256k1_ecmult_gen_consts_t *ret = (secp256k1_ecmult_gen_consts_t*)malloc(sizeof(secp256k1_ecmult_gen_consts_t)); - - /* get the generator */ - const secp256k1_ge_t *g = &secp256k1_ge_consts->g; - secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); - - /* Construct a group element with no known corresponding scalar (nothing up my sleeve). */ - secp256k1_gej_t nums_gej; - { - static const unsigned char nums_b32[32] = "The scalar for this x is unknown"; - secp256k1_fe_t nums_x; - VERIFY_CHECK(secp256k1_fe_set_b32(&nums_x, nums_b32)); - secp256k1_ge_t nums_ge; - VERIFY_CHECK(secp256k1_ge_set_xo(&nums_ge, &nums_x, 0)); - secp256k1_gej_set_ge(&nums_gej, &nums_ge); - /* Add G to make the bits in x uniformly distributed. */ - secp256k1_gej_add_ge_var(&nums_gej, &nums_gej, g); - } - - /* compute prec. */ - secp256k1_ge_t prec[1024]; - { - secp256k1_gej_t precj[1024]; /* Jacobian versions of prec. */ - secp256k1_gej_t gbase; gbase = gj; /* 16^j * G */ - secp256k1_gej_t numsbase; numsbase = nums_gej; /* 2^j * nums. */ - for (int j=0; j<64; j++) { - /* Set precj[j*16 .. j*16+15] to (numsbase, numsbase + gbase, ..., numsbase + 15*gbase). */ - precj[j*16] = numsbase; - for (int i=1; i<16; i++) { - secp256k1_gej_add_var(&precj[j*16 + i], &precj[j*16 + i - 1], &gbase); - } - /* Multiply gbase by 16. */ - for (int i=0; i<4; i++) { - secp256k1_gej_double_var(&gbase, &gbase); - } - /* Multiply numbase by 2. */ - secp256k1_gej_double_var(&numsbase, &numsbase); - if (j == 62) { - /* In the last iteration, numsbase is (1 - 2^j) * nums instead. */ - secp256k1_gej_neg(&numsbase, &numsbase); - secp256k1_gej_add_var(&numsbase, &numsbase, &nums_gej); - } - } - secp256k1_ge_set_all_gej_var(1024, prec, precj); - } - for (int j=0; j<64; j++) { - for (int i=0; i<16; i++) { - VERIFY_CHECK(!secp256k1_ge_is_infinity(&prec[j*16 + i])); - ret->prec[j][i][0] = prec[j*16 + i].x; - ret->prec[j][i][1] = prec[j*16 + i].y; - } - } - - /* Set the global pointer to the precomputation table. */ - secp256k1_ecmult_gen_consts = ret; -} - -static void secp256k1_ecmult_gen_stop(void) { - if (secp256k1_ecmult_gen_consts == NULL) - return; - - secp256k1_ecmult_gen_consts_t *c = (secp256k1_ecmult_gen_consts_t*)secp256k1_ecmult_gen_consts; - secp256k1_ecmult_gen_consts = NULL; - free(c); -} - -static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *gn) { - const secp256k1_ecmult_gen_consts_t *c = secp256k1_ecmult_gen_consts; - secp256k1_gej_set_infinity(r); - secp256k1_ge_t add; - add.infinity = 0; - int bits; - for (int j=0; j<64; j++) { - bits = secp256k1_scalar_get_bits(gn, j * 4, 4); - for (int i=0; i<16; i++) { - secp256k1_fe_cmov(&add.x, &c->prec[j][i][0], i == bits); - secp256k1_fe_cmov(&add.y, &c->prec[j][i][1], i == bits); - } - secp256k1_gej_add_ge(r, r, &add); - } - bits = 0; - secp256k1_ge_clear(&add); -} - -#endif diff --git a/src/secp256k1/src/ecmult_impl.h b/src/secp256k1/src/ecmult_impl.h deleted file mode 100644 index 445b81593..000000000 --- a/src/secp256k1/src/ecmult_impl.h +++ /dev/null @@ -1,245 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_IMPL_H_ -#define _SECP256K1_ECMULT_IMPL_H_ - -#include "group.h" -#include "scalar.h" -#include "ecmult.h" - -/* optimal for 128-bit and 256-bit exponents. */ -#define WINDOW_A 5 - -/** larger numbers may result in slightly better performance, at the cost of - exponentially larger precomputed tables. WINDOW_G == 14 results in 640 KiB. */ -#ifdef USE_ENDOMORPHISM -#define WINDOW_G 14 -#else -#define WINDOW_G 15 -#endif - -/** Fill a table 'pre' with precomputed odd multiples of a. W determines the size of the table. - * pre will contains the values [1*a,3*a,5*a,...,(2^(w-1)-1)*a], so it needs place for - * 2^(w-2) entries. - * - * There are two versions of this function: - * - secp256k1_ecmult_precomp_wnaf_gej, which operates on group elements in jacobian notation, - * fast to precompute, but slower to use in later additions. - * - secp256k1_ecmult_precomp_wnaf_ge, which operates on group elements in affine notations, - * (much) slower to precompute, but a bit faster to use in later additions. - * To compute a*P + b*G, we use the jacobian version for P, and the affine version for G, as - * G is constant, so it only needs to be done once in advance. - */ -static void secp256k1_ecmult_table_precomp_gej_var(secp256k1_gej_t *pre, const secp256k1_gej_t *a, int w) { - pre[0] = *a; - secp256k1_gej_t d; secp256k1_gej_double_var(&d, &pre[0]); - for (int i=1; i<(1 << (w-2)); i++) - secp256k1_gej_add_var(&pre[i], &d, &pre[i-1]); -} - -static void secp256k1_ecmult_table_precomp_ge_var(secp256k1_ge_t *pre, const secp256k1_gej_t *a, int w) { - const int table_size = 1 << (w-2); - secp256k1_gej_t prej[table_size]; - prej[0] = *a; - secp256k1_gej_t d; secp256k1_gej_double_var(&d, a); - for (int i=1; i= -((1 << ((w)-1)) - 1)); \ - VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ - if ((n) > 0) \ - *(r) = (pre)[((n)-1)/2]; \ - else \ - (neg)((r), &(pre)[(-(n)-1)/2]); \ -} while(0) - -#define ECMULT_TABLE_GET_GEJ(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_gej_neg) -#define ECMULT_TABLE_GET_GE(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_ge_neg) - -typedef struct { - /* For accelerating the computation of a*P + b*G: */ - secp256k1_ge_t pre_g[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of the generator */ -#ifdef USE_ENDOMORPHISM - secp256k1_ge_t pre_g_128[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of 2^128*generator */ -#endif -} secp256k1_ecmult_consts_t; - -static const secp256k1_ecmult_consts_t *secp256k1_ecmult_consts = NULL; - -static void secp256k1_ecmult_start(void) { - if (secp256k1_ecmult_consts != NULL) - return; - - /* Allocate the precomputation table. */ - secp256k1_ecmult_consts_t *ret = (secp256k1_ecmult_consts_t*)malloc(sizeof(secp256k1_ecmult_consts_t)); - - /* get the generator */ - const secp256k1_ge_t *g = &secp256k1_ge_consts->g; - secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); - -#ifdef USE_ENDOMORPHISM - /* calculate 2^128*generator */ - secp256k1_gej_t g_128j = gj; - for (int i=0; i<128; i++) - secp256k1_gej_double_var(&g_128j, &g_128j); -#endif - - /* precompute the tables with odd multiples */ - secp256k1_ecmult_table_precomp_ge_var(ret->pre_g, &gj, WINDOW_G); -#ifdef USE_ENDOMORPHISM - secp256k1_ecmult_table_precomp_ge_var(ret->pre_g_128, &g_128j, WINDOW_G); -#endif - - /* Set the global pointer to the precomputation table. */ - secp256k1_ecmult_consts = ret; -} - -static void secp256k1_ecmult_stop(void) { - if (secp256k1_ecmult_consts == NULL) - return; - - secp256k1_ecmult_consts_t *c = (secp256k1_ecmult_consts_t*)secp256k1_ecmult_consts; - secp256k1_ecmult_consts = NULL; - free(c); -} - -/** Convert a number to WNAF notation. The number becomes represented by sum(2^i * wnaf[i], i=0..bits), - * with the following guarantees: - * - each wnaf[i] is either 0, or an odd integer between -(1<<(w-1) - 1) and (1<<(w-1) - 1) - * - two non-zero entries in wnaf are separated by at least w-1 zeroes. - * - the number of set values in wnaf is returned. This number is at most 256, and at most one more - * - than the number of bits in the (absolute value) of the input. - */ -static int secp256k1_ecmult_wnaf(int *wnaf, const secp256k1_scalar_t *a, int w) { - secp256k1_scalar_t s = *a; - - int sign = 1; - if (secp256k1_scalar_get_bits(&s, 255, 1)) { - secp256k1_scalar_negate(&s, &s); - sign = -1; - } - - int set_bits = 0; - int bit = 0; - while (bit < 256) { - if (secp256k1_scalar_get_bits(&s, bit, 1) == 0) { - bit++; - continue; - } - while (set_bits < bit) { - wnaf[set_bits++] = 0; - } - int now = w; - if (bit + now > 256) { - now = 256 - bit; - } - int word = secp256k1_scalar_get_bits_var(&s, bit, now); - if (word & (1 << (w-1))) { - secp256k1_scalar_add_bit(&s, bit + w); - wnaf[set_bits++] = sign * (word - (1 << w)); - } else { - wnaf[set_bits++] = sign * word; - } - bit += now; - } - return set_bits; -} - -static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng) { - const secp256k1_ecmult_consts_t *c = secp256k1_ecmult_consts; - -#ifdef USE_ENDOMORPHISM - secp256k1_scalar_t na_1, na_lam; - /* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */ - secp256k1_scalar_split_lambda_var(&na_1, &na_lam, na); - - /* build wnaf representation for na_1 and na_lam. */ - int wnaf_na_1[130]; int bits_na_1 = secp256k1_ecmult_wnaf(wnaf_na_1, &na_1, WINDOW_A); - int wnaf_na_lam[130]; int bits_na_lam = secp256k1_ecmult_wnaf(wnaf_na_lam, &na_lam, WINDOW_A); - VERIFY_CHECK(bits_na_1 <= 130); - VERIFY_CHECK(bits_na_lam <= 130); - int bits = bits_na_1; - if (bits_na_lam > bits) bits = bits_na_lam; -#else - /* build wnaf representation for na. */ - int wnaf_na[256]; int bits_na = secp256k1_ecmult_wnaf(wnaf_na, na, WINDOW_A); - int bits = bits_na; -#endif - - /* calculate odd multiples of a */ - secp256k1_gej_t pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_ecmult_table_precomp_gej_var(pre_a, a, WINDOW_A); - -#ifdef USE_ENDOMORPHISM - secp256k1_gej_t pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; - for (int i=0; i bits) bits = bits_ng_1; - if (bits_ng_128 > bits) bits = bits_ng_128; -#else - int wnaf_ng[257]; int bits_ng = secp256k1_ecmult_wnaf(wnaf_ng, ng, WINDOW_G); - if (bits_ng > bits) bits = bits_ng; -#endif - - secp256k1_gej_set_infinity(r); - secp256k1_gej_t tmpj; - secp256k1_ge_t tmpa; - - for (int i=bits-1; i>=0; i--) { - secp256k1_gej_double_var(r, r); - int n; -#ifdef USE_ENDOMORPHISM - if (i < bits_na_1 && (n = wnaf_na_1[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_na_lam && (n = wnaf_na_lam[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a_lam, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_ng_1 && (n = wnaf_ng_1[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } - if (i < bits_ng_128 && (n = wnaf_ng_128[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g_128, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } -#else - if (i < bits_na && (n = wnaf_na[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_ng && (n = wnaf_ng[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } -#endif - } -} - -#endif diff --git a/src/secp256k1/src/field.h b/src/secp256k1/src/field.h deleted file mode 100644 index 0cdf0fb47..000000000 --- a/src/secp256k1/src/field.h +++ /dev/null @@ -1,122 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_ -#define _SECP256K1_FIELD_ - -/** Field element module. - * - * Field elements can be represented in several ways, but code accessing - * it (and implementations) need to take certain properaties into account: - * - Each field element can be normalized or not. - * - Each field element has a magnitude, which represents how far away - * its representation is away from normalization. Normalized elements - * always have a magnitude of 1, but a magnitude of 1 doesn't imply - * normality. - */ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_FIELD_GMP) -#include "field_gmp.h" -#elif defined(USE_FIELD_10X26) -#include "field_10x26.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52.h" -#else -#error "Please select field implementation" -#endif - -typedef struct { -#ifndef USE_NUM_NONE - secp256k1_num_t p; -#endif - secp256k1_fe_t order; -} secp256k1_fe_consts_t; - -static const secp256k1_fe_consts_t *secp256k1_fe_consts = NULL; - -/** Initialize field element precomputation data. */ -static void secp256k1_fe_start(void); - -/** Unload field element precomputation data. */ -static void secp256k1_fe_stop(void); - -/** Normalize a field element. */ -static void secp256k1_fe_normalize(secp256k1_fe_t *r); - -/** Set a field element equal to a small integer. Resulting field element is normalized. */ -static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a); - -/** Verify whether a field element is zero. Requires the input to be normalized. */ -static int secp256k1_fe_is_zero(const secp256k1_fe_t *a); - -/** Check the "oddness" of a field element. Requires the input to be normalized. */ -static int secp256k1_fe_is_odd(const secp256k1_fe_t *a); - -/** Compare two field elements. Requires both inputs to be normalized */ -static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b); - -/** Compare two field elements. Requires both inputs to be normalized */ -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b); - -/** Set a field element equal to 32-byte big endian value. If succesful, the resulting field element is normalized. */ -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a); - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a); - -/** Set a field element equal to the additive inverse of another. Takes a maximum magnitude of the input - * as an argument. The magnitude of the output is one higher. */ -static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m); - -/** Multiplies the passed field element with a small integer constant. Multiplies the magnitude by that - * small integer. */ -static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a); - -/** Adds a field element to another. The result has the sum of the inputs' magnitudes as magnitude. */ -static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the product of two others. Requires the inputs' magnitudes to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b); - -/** Sets a field element to be the square of another. Requires the input's magnitude to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the (modular) square root (if any exist) of another. Requires the - * input's magnitude to be at most 8. The output magnitude is 1 (but not guaranteed to be - * normalized). Return value indicates whether a square root was found. */ -static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the (modular) inverse of another. Requires the input's magnitude to be - * at most 8. The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Potentially faster version of secp256k1_fe_inv, without constant-time guarantee. */ -static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Calculate the (modular) inverses of a batch of field elements. Requires the inputs' magnitudes to be - * at most 8. The output magnitudes are 1 (but not guaranteed to be normalized). The inputs and - * outputs must not overlap in memory. */ -static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); - -/** Potentially faster version of secp256k1_fe_inv_all, without constant-time guarantee. */ -static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); - -/** Convert a field element to a hexadecimal string. */ -static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a); - -/** Convert a hexadecimal string to a field element. */ -static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen); - -/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag); - -#endif diff --git a/src/secp256k1/src/field_10x26.h b/src/secp256k1/src/field_10x26.h deleted file mode 100644 index 66fb3f256..000000000 --- a/src/secp256k1/src/field_10x26.h +++ /dev/null @@ -1,21 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -typedef struct { - /* X = sum(i=0..9, elem[i]*2^26) mod n */ - uint32_t n[10]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_10x26_impl.h b/src/secp256k1/src/field_10x26_impl.h deleted file mode 100644 index c4403fba2..000000000 --- a/src/secp256k1/src/field_10x26_impl.h +++ /dev/null @@ -1,923 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#include -#include -#include "util.h" -#include "num.h" -#include "field.h" - -static void secp256k1_fe_inner_start(void) {} -static void secp256k1_fe_inner_stop(void) {} - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - const uint32_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - r &= (d[0] <= 0x3FFFFFFUL * m); - r &= (d[1] <= 0x3FFFFFFUL * m); - r &= (d[2] <= 0x3FFFFFFUL * m); - r &= (d[3] <= 0x3FFFFFFUL * m); - r &= (d[4] <= 0x3FFFFFFUL * m); - r &= (d[5] <= 0x3FFFFFFUL * m); - r &= (d[6] <= 0x3FFFFFFUL * m); - r &= (d[7] <= 0x3FFFFFFUL * m); - r &= (d[8] <= 0x3FFFFFFUL * m); - r &= (d[9] <= 0x03FFFFFUL * m); - r &= (a->magnitude >= 0); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[9] == 0x03FFFFFUL)) { - uint32_t mid = d[8] & d[7] & d[6] & d[5] & d[4] & d[3] & d[2]; - if (mid == 0x3FFFFFFUL) { - r &= ((d[1] + 0x40UL + ((d[0] + 0x3D1UL) >> 26)) <= 0x3FFFFFFUL); - } - } - } - VERIFY_CHECK(r == 1); -} -#else -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - (void)a; -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe_t *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - uint32_t m; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) - & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; - - /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ - VERIFY_CHECK(t9 >> 22 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t9 &= 0x03FFFFFUL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - const uint32_t *t = a->n; - return (t[0] | t[1] | t[2] | t[3] | t[4] | t[5] | t[6] | t[7] | t[8] | t[9]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (int i=0; i<10; i++) { - a->n[i] = 0; - } -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - const uint32_t *t = a->n, *u = b->n; - return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4]) - | (t[5]^u[5]) | (t[6]^u[6]) | (t[7]^u[7]) | (t[8]^u[8]) | (t[9]^u[9])) == 0; -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (int i = 9; i >= 0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; - r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; - for (int i=0; i<32; i++) { - for (int j=0; j<4; j++) { - int limb = (8*i+2*j)/26; - int shift = (8*i+2*j)%26; - r->n[limb] |= (uint32_t)((a[31-i] >> (2*j)) & 0x3) << shift; - } - } - if (r->n[9] == 0x3FFFFFUL && (r->n[8] & r->n[7] & r->n[6] & r->n[5] & r->n[4] & r->n[3] & r->n[2]) == 0x3FFFFFFUL && (r->n[1] + 0x40UL + ((r->n[0] + 0x3D1UL) >> 26)) > 0x3FFFFFFUL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<4; j++) { - int limb = (8*i+2*j)/26; - int shift = (8*i+2*j)%26; - c |= ((a->n[limb] >> shift) & 0x3) << (2 * j); - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[4]; - r->n[5] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[5]; - r->n[6] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[6]; - r->n[7] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[7]; - r->n[8] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[8]; - r->n[9] = 0x03FFFFFUL * 2 * (m + 1) - a->n[9]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; - r->n[5] *= a; - r->n[6] *= a; - r->n[7] *= a; - r->n[8] *= a; - r->n[9] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; - r->n[5] += a->n[5]; - r->n[6] += a->n[6]; - r->n[7] += a->n[7]; - r->n[8] += a->n[8]; - r->n[9] += a->n[9]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b, uint32_t *r) { - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - VERIFY_BITS(b[0], 30); - VERIFY_BITS(b[1], 30); - VERIFY_BITS(b[2], 30); - VERIFY_BITS(b[3], 30); - VERIFY_BITS(b[4], 30); - VERIFY_BITS(b[5], 30); - VERIFY_BITS(b[6], 30); - VERIFY_BITS(b[7], 30); - VERIFY_BITS(b[8], 30); - VERIFY_BITS(b[9], 26); - - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - uint64_t c, d; - - d = (uint64_t)a[0] * b[9] - + (uint64_t)a[1] * b[8] - + (uint64_t)a[2] * b[7] - + (uint64_t)a[3] * b[6] - + (uint64_t)a[4] * b[5] - + (uint64_t)a[5] * b[4] - + (uint64_t)a[6] * b[3] - + (uint64_t)a[7] * b[2] - + (uint64_t)a[8] * b[1] - + (uint64_t)a[9] * b[0]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - uint32_t t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * b[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)a[1] * b[9] - + (uint64_t)a[2] * b[8] - + (uint64_t)a[3] * b[7] - + (uint64_t)a[4] * b[6] - + (uint64_t)a[5] * b[5] - + (uint64_t)a[6] * b[4] - + (uint64_t)a[7] * b[3] - + (uint64_t)a[8] * b[2] - + (uint64_t)a[9] * b[1]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint64_t u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint32_t t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)a[0] * b[1] - + (uint64_t)a[1] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)a[2] * b[9] - + (uint64_t)a[3] * b[8] - + (uint64_t)a[4] * b[7] - + (uint64_t)a[5] * b[6] - + (uint64_t)a[6] * b[5] - + (uint64_t)a[7] * b[4] - + (uint64_t)a[8] * b[3] - + (uint64_t)a[9] * b[2]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint64_t u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint32_t t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)a[0] * b[2] - + (uint64_t)a[1] * b[1] - + (uint64_t)a[2] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)a[3] * b[9] - + (uint64_t)a[4] * b[8] - + (uint64_t)a[5] * b[7] - + (uint64_t)a[6] * b[6] - + (uint64_t)a[7] * b[5] - + (uint64_t)a[8] * b[4] - + (uint64_t)a[9] * b[3]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint64_t u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint32_t t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[3] - + (uint64_t)a[1] * b[2] - + (uint64_t)a[2] * b[1] - + (uint64_t)a[3] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)a[4] * b[9] - + (uint64_t)a[5] * b[8] - + (uint64_t)a[6] * b[7] - + (uint64_t)a[7] * b[6] - + (uint64_t)a[8] * b[5] - + (uint64_t)a[9] * b[4]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint64_t u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint32_t t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[4] - + (uint64_t)a[1] * b[3] - + (uint64_t)a[2] * b[2] - + (uint64_t)a[3] * b[1] - + (uint64_t)a[4] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[5] * b[9] - + (uint64_t)a[6] * b[8] - + (uint64_t)a[7] * b[7] - + (uint64_t)a[8] * b[6] - + (uint64_t)a[9] * b[5]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint64_t u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint32_t t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[5] - + (uint64_t)a[1] * b[4] - + (uint64_t)a[2] * b[3] - + (uint64_t)a[3] * b[2] - + (uint64_t)a[4] * b[1] - + (uint64_t)a[5] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[6] * b[9] - + (uint64_t)a[7] * b[8] - + (uint64_t)a[8] * b[7] - + (uint64_t)a[9] * b[6]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint64_t u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint32_t t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[6] - + (uint64_t)a[1] * b[5] - + (uint64_t)a[2] * b[4] - + (uint64_t)a[3] * b[3] - + (uint64_t)a[4] * b[2] - + (uint64_t)a[5] * b[1] - + (uint64_t)a[6] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[7] * b[9] - + (uint64_t)a[8] * b[8] - + (uint64_t)a[9] * b[7]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[7] - + (uint64_t)a[1] * b[6] - + (uint64_t)a[2] * b[5] - + (uint64_t)a[3] * b[4] - + (uint64_t)a[4] * b[3] - + (uint64_t)a[5] * b[2] - + (uint64_t)a[6] * b[1] - + (uint64_t)a[7] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[8] * b[9] - + (uint64_t)a[9] * b[8]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[8] - + (uint64_t)a[1] * b[7] - + (uint64_t)a[2] * b[6] - + (uint64_t)a[3] * b[5] - + (uint64_t)a[4] * b[4] - + (uint64_t)a[5] * b[3] - + (uint64_t)a[6] * b[2] - + (uint64_t)a[7] * b[1] - + (uint64_t)a[8] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * b[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint32_t *a, uint32_t *r) { - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - uint64_t c, d; - - d = (uint64_t)(a[0]*2) * a[9] - + (uint64_t)(a[1]*2) * a[8] - + (uint64_t)(a[2]*2) * a[7] - + (uint64_t)(a[3]*2) * a[6] - + (uint64_t)(a[4]*2) * a[5]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - uint32_t t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * a[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)(a[1]*2) * a[9] - + (uint64_t)(a[2]*2) * a[8] - + (uint64_t)(a[3]*2) * a[7] - + (uint64_t)(a[4]*2) * a[6] - + (uint64_t)a[5] * a[5]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint64_t u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint32_t t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)(a[0]*2) * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)(a[2]*2) * a[9] - + (uint64_t)(a[3]*2) * a[8] - + (uint64_t)(a[4]*2) * a[7] - + (uint64_t)(a[5]*2) * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint64_t u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint32_t t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[2] - + (uint64_t)a[1] * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)(a[3]*2) * a[9] - + (uint64_t)(a[4]*2) * a[8] - + (uint64_t)(a[5]*2) * a[7] - + (uint64_t)a[6] * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint64_t u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint32_t t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[3] - + (uint64_t)(a[1]*2) * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)(a[4]*2) * a[9] - + (uint64_t)(a[5]*2) * a[8] - + (uint64_t)(a[6]*2) * a[7]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint64_t u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint32_t t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[4] - + (uint64_t)(a[1]*2) * a[3] - + (uint64_t)a[2] * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[5]*2) * a[9] - + (uint64_t)(a[6]*2) * a[8] - + (uint64_t)a[7] * a[7]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint64_t u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint32_t t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[5] - + (uint64_t)(a[1]*2) * a[4] - + (uint64_t)(a[2]*2) * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[6]*2) * a[9] - + (uint64_t)(a[7]*2) * a[8]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint64_t u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint32_t t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[6] - + (uint64_t)(a[1]*2) * a[5] - + (uint64_t)(a[2]*2) * a[4] - + (uint64_t)a[3] * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[7]*2) * a[9] - + (uint64_t)a[8] * a[8]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[7] - + (uint64_t)(a[1]*2) * a[6] - + (uint64_t)(a[2]*2) * a[5] - + (uint64_t)(a[3]*2) * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[8]*2) * a[9]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[8] - + (uint64_t)(a[1]*2) * a[7] - + (uint64_t)(a[2]*2) * a[6] - + (uint64_t)(a[3]*2) * a[5] - + (uint64_t)a[4] * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * a[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(a->n, b->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(a->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - uint32_t mask0 = flag + ~((uint32_t)0), mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); - r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); - r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); - r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); - r->n[8] = (r->n[8] & mask0) | (a->n[8] & mask1); - r->n[9] = (r->n[9] & mask0) | (a->n[9] & mask1); -#ifdef VERIFY - if (flag) { - r->magnitude = a->magnitude; - r->normalized = a->normalized; - } -#endif -} - -#endif diff --git a/src/secp256k1/src/field_5x52.h b/src/secp256k1/src/field_5x52.h deleted file mode 100644 index aeb0a6a1e..000000000 --- a/src/secp256k1/src/field_5x52.h +++ /dev/null @@ -1,21 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -typedef struct { - /* X = sum(i=0..4, elem[i]*2^52) mod n */ - uint64_t n[5]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_5x52_asm.asm b/src/secp256k1/src/field_5x52_asm.asm deleted file mode 100644 index 5e785f763..000000000 --- a/src/secp256k1/src/field_5x52_asm.asm +++ /dev/null @@ -1,469 +0,0 @@ - ;; Added by Diederik Huys, March 2013 - ;; - ;; Provided public procedures: - ;; secp256k1_fe_mul_inner - ;; secp256k1_fe_sqr_inner - ;; - ;; Needed tools: YASM (http://yasm.tortall.net) - ;; - ;; - - BITS 64 - -%ifidn __OUTPUT_FORMAT__,macho64 -%define SYM(x) _ %+ x -%else -%define SYM(x) x -%endif - - ;; Procedure ExSetMult - ;; Register Layout: - ;; INPUT: rdi = a->n - ;; rsi = b->n - ;; rdx = r->a - ;; - ;; INTERNAL: rdx:rax = multiplication accumulator - ;; r9:r8 = c - ;; r10-r13 = t0-t3 - ;; r14 = b.n[0] / t4 - ;; r15 = b.n[1] / t5 - ;; rbx = b.n[2] / t6 - ;; rcx = b.n[3] / t7 - ;; rbp = Constant 0FFFFFFFFFFFFFh / t8 - ;; rsi = b.n / b.n[4] / t9 - - GLOBAL SYM(secp256k1_fe_mul_inner) - ALIGN 32 -SYM(secp256k1_fe_mul_inner): - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - push rdx - mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until - ; b.n[0] is no longer needed, then we reassign - ; r14 to t4 - ;; c=a.n[0] * b.n[0] - mov rax,[rdi+0*8] ; load a.n[0] - mov rbp,0FFFFFFFFFFFFFh - mul r14 ; rdx:rax=a.n[0]*b.n[0] - mov r15,[rsi+1*8] - mov r10,rbp ; load modulus into target register for t0 - mov r8,rax - and r10,rax ; only need lower qword of c - shrd r8,rdx,52 - xor r9,r9 ; c < 2^64, so we ditch the HO part - - ;; c+=a.n[0] * b.n[1] + a.n[1] * b.n[0] - mov rax,[rdi+0*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul r14 - mov r11,rbp - mov rbx,[rsi+2*8] - add r8,rax - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[0 1 2] * b.n[2 1 0] - mov rax,[rdi+0*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul r14 - mov r12,rbp - mov rcx,[rsi+3*8] - add r8,rax - adc r9,rdx - and r12,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[0 1 2 3] * b.n[3 2 1 0] - mov rax,[rdi+0*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul r14 - mov r13,rbp - mov rsi,[rsi+4*8] ; load b.n[4] and destroy pointer - add r8,rax - adc r9,rdx - and r13,r8 - - shrd r8,r9,52 - xor r9,r9 - - - ;; c+=a.n[0 1 2 3 4] * b.n[4 3 2 1 0] - mov rax,[rdi+0*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul r14 - mov r14,rbp ; load modulus into t4 and destroy a.n[0] - add r8,rax - adc r9,rdx - and r14,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[1 2 3 4] * b.n[4 3 2 1] - mov rax,[rdi+1*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul r15 - mov r15,rbp - add r8,rax - adc r9,rdx - - and r15,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[2 3 4] * b.n[4 3 2] - mov rax,[rdi+2*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul rbx - mov rbx,rbp - add r8,rax - adc r9,rdx - - and rbx,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[3 4] * b.n[4 3] - mov rax,[rdi+3*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul rcx - mov rcx,rbp - add r8,rax - adc r9,rdx - and rcx,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[4] * b.n[4] - mov rax,[rdi+4*8] - mul rsi - ;; mov rbp,rbp ; modulus already there! - add r8,rax - adc r9,rdx - and rbp,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rsi,r8 ; load c into t9 and destroy b.n[4] - - ;; ******************************************************* -common_exit_norm: - mov rdi,01000003D10h ; load constant - - mov rax,r15 ; get t5 - mul rdi - add rax,r10 ; +t0 - adc rdx,0 - mov r10,0FFFFFFFFFFFFFh ; modulus. Sadly, we ran out of registers! - mov r8,rax ; +c - and r10,rax - shrd r8,rdx,52 - xor r9,r9 - - mov rax,rbx ; get t6 - mul rdi - add rax,r11 ; +t1 - adc rdx,0 - mov r11,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rax,rcx ; get t7 - mul rdi - add rax,r12 ; +t2 - adc rdx,0 - pop rbx ; retrieve pointer to this.n - mov r12,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r12,r8 - mov [rbx+2*8],r12 ; mov into this.n[2] - shrd r8,r9,52 - xor r9,r9 - - mov rax,rbp ; get t8 - mul rdi - add rax,r13 ; +t3 - adc rdx,0 - mov r13,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r13,r8 - mov [rbx+3*8],r13 ; -> this.n[3] - shrd r8,r9,52 - xor r9,r9 - - mov rax,rsi ; get t9 - mul rdi - add rax,r14 ; +t4 - adc rdx,0 - mov r14,0FFFFFFFFFFFFh ; !!! - add r8,rax ; +c - adc r9,rdx - and r14,r8 - mov [rbx+4*8],r14 ; -> this.n[4] - shrd r8,r9,48 ; !!! - xor r9,r9 - - mov rax,01000003D1h - mul r8 - add rax,r10 - adc rdx,0 - mov r10,0FFFFFFFFFFFFFh ; modulus - mov r8,rax - and rax,r10 - shrd r8,rdx,52 - mov [rbx+0*8],rax ; -> this.n[0] - add r8,r11 - mov [rbx+1*8],r8 ; -> this.n[1] - - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - ret - - - ;; PROC ExSetSquare - ;; Register Layout: - ;; INPUT: rdi = a.n - ;; rsi = this.a - ;; INTERNAL: rdx:rax = multiplication accumulator - ;; r9:r8 = c - ;; r10-r13 = t0-t3 - ;; r14 = a.n[0] / t4 - ;; r15 = a.n[1] / t5 - ;; rbx = a.n[2] / t6 - ;; rcx = a.n[3] / t7 - ;; rbp = 0FFFFFFFFFFFFFh / t8 - ;; rsi = a.n[4] / t9 - GLOBAL SYM(secp256k1_fe_sqr_inner) - ALIGN 32 -SYM(secp256k1_fe_sqr_inner): - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - push rsi - mov rbp,0FFFFFFFFFFFFFh - - ;; c=a.n[0] * a.n[0] - mov r14,[rdi+0*8] ; r14=a.n[0] - mov r10,rbp ; modulus - mov rax,r14 - mul rax - mov r15,[rdi+1*8] ; a.n[1] - add r14,r14 ; r14=2*a.n[0] - mov r8,rax - and r10,rax ; only need lower qword - shrd r8,rdx,52 - xor r9,r9 - - ;; c+=2*a.n[0] * a.n[1] - mov rax,r14 ; r14=2*a.n[0] - mul r15 - mov rbx,[rdi+2*8] ; rbx=a.n[2] - mov r11,rbp ; modulus - add r8,rax - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[2]+a.n[1]*a.n[1] - mov rax,r14 - mul rbx - add r8,rax - adc r9,rdx - - mov rax,r15 - mov r12,rbp ; modulus - mul rax - mov rcx,[rdi+3*8] ; rcx=a.n[3] - add r15,r15 ; r15=a.n[1]*2 - add r8,rax - adc r9,rdx - and r12,r8 ; only need lower dword - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[3]+2*a.n[1]*a.n[2] - mov rax,r14 - mul rcx - add r8,rax - adc r9,rdx - - mov rax,r15 ; rax=2*a.n[1] - mov r13,rbp ; modulus - mul rbx - mov rsi,[rdi+4*8] ; rsi=a.n[4] - add r8,rax - adc r9,rdx - and r13,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[4]+2*a.n[1]*a.n[3]+a.n[2]*a.n[2] - mov rax,r14 ; last time we need 2*a.n[0] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,r15 - mul rcx - mov r14,rbp ; modulus - add r8,rax - adc r9,rdx - - mov rax,rbx - mul rax - add rbx,rbx ; rcx=2*a.n[2] - add r8,rax - adc r9,rdx - and r14,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[1]*a.n[4]+2*a.n[2]*a.n[3] - mov rax,r15 ; last time we need 2*a.n[1] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,rbx - mul rcx - mov r15,rbp ; modulus - add r8,rax - adc r9,rdx - and r15,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[2]*a.n[4]+a.n[3]*a.n[3] - mov rax,rbx ; last time we need 2*a.n[2] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,rcx ; a.n[3] - mul rax - mov rbx,rbp ; modulus - add r8,rax - adc r9,rdx - and rbx,r8 ; only need lower dword - lea rax,[2*rcx] - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[3]*a.n[4] - mul rsi - mov rcx,rbp ; modulus - add r8,rax - adc r9,rdx - and rcx,r8 ; only need lower dword - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[4]*a.n[4] - mov rax,rsi - mul rax - ;; mov rbp,rbp ; modulus is already there! - add r8,rax - adc r9,rdx - and rbp,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rsi,r8 - - ;; ******************************************************* - jmp common_exit_norm - end - - diff --git a/src/secp256k1/src/field_5x52_asm_impl.h b/src/secp256k1/src/field_5x52_asm_impl.h deleted file mode 100644 index f29605b11..000000000 --- a/src/secp256k1/src/field_5x52_asm_impl.h +++ /dev/null @@ -1,13 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ -#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ - -void __attribute__ ((sysv_abi)) secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t *b, uint64_t *r); -void __attribute__ ((sysv_abi)) secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r); - -#endif diff --git a/src/secp256k1/src/field_5x52_impl.h b/src/secp256k1/src/field_5x52_impl.h deleted file mode 100644 index 75b210eaf..000000000 --- a/src/secp256k1/src/field_5x52_impl.h +++ /dev/null @@ -1,294 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include "util.h" -#include "num.h" -#include "field.h" - -#if defined(USE_FIELD_5X52_ASM) -#include "field_5x52_asm_impl.h" -#elif defined(USE_FIELD_5X52_INT128) -#include "field_5x52_int128_impl.h" -#else -#error "Please select field_5x52 implementation" -#endif - -/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, - * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular, - * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element - * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations - * accept any input with magnitude at most M, and have different rules for propagating magnitude to their - * output. - */ - -static void secp256k1_fe_inner_start(void) {} -static void secp256k1_fe_inner_stop(void) {} - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - const uint64_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - r &= (d[0] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[1] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[2] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[3] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[4] <= 0x0FFFFFFFFFFFFULL * m); - r &= (a->magnitude >= 0); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[4] == 0x0FFFFFFFFFFFFULL) && ((d[3] & d[2] & d[1]) == 0xFFFFFFFFFFFFFULL)) { - r &= (d[0] < 0xFFFFEFFFFFC2FULL); - } - } - VERIFY_CHECK(r == 1); -} -#else -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - (void)a; -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe_t *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - uint64_t m; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) - & (t0 >= 0xFFFFEFFFFFC2FULL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; - - /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ - VERIFY_CHECK(t4 >> 48 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t4 &= 0x0FFFFFFFFFFFFULL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - const uint64_t *t = a->n; - return (t[0] | t[1] | t[2] | t[3] | t[4]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (int i=0; i<5; i++) { - a->n[i] = 0; - } -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - const uint64_t *t = a->n, *u = b->n; - return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4])) == 0; -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (int i = 4; i >= 0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; - for (int i=0; i<32; i++) { - for (int j=0; j<2; j++) { - int limb = (8*i+4*j)/52; - int shift = (8*i+4*j)%52; - r->n[limb] |= (uint64_t)((a[31-i] >> (4*j)) & 0xF) << shift; - } - } - if (r->n[4] == 0x0FFFFFFFFFFFFULL && (r->n[3] & r->n[2] & r->n[1]) == 0xFFFFFFFFFFFFFULL && r->n[0] >= 0xFFFFEFFFFFC2FULL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<2; j++) { - int limb = (8*i+4*j)/52; - int shift = (8*i+4*j)%52; - c |= ((a->n[limb] >> shift) & 0xF) << (4 * j); - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x0FFFFFFFFFFFFULL * 2 * (m + 1) - a->n[4]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(a->n, b->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(a->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - uint64_t mask0 = flag + ~((uint64_t)0), mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); -#ifdef VERIFY - if (flag) { - r->magnitude = a->magnitude; - r->normalized = a->normalized; - } -#endif -} - -#endif diff --git a/src/secp256k1/src/field_5x52_int128_impl.h b/src/secp256k1/src/field_5x52_int128_impl.h deleted file mode 100644 index e552fb431..000000000 --- a/src/secp256k1/src/field_5x52_int128_impl.h +++ /dev/null @@ -1,277 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ -#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ - -#include - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b, uint64_t *r) { - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - VERIFY_BITS(b[0], 56); - VERIFY_BITS(b[1], 56); - VERIFY_BITS(b[2], 56); - VERIFY_BITS(b[3], 56); - VERIFY_BITS(b[4], 52); - VERIFY_CHECK(r != b); - - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - - __int128 c, d; - - d = (__int128)a0 * b[3] - + (__int128)a1 * b[2] - + (__int128)a2 * b[1] - + (__int128)a3 * b[0]; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (__int128)a4 * b[4]; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - uint64_t t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - d += (__int128)a0 * b[4] - + (__int128)a1 * b[3] - + (__int128)a2 * b[2] - + (__int128)a3 * b[1] - + (__int128)a4 * b[0]; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (__int128)a0 * b[0]; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (__int128)a1 * b[4] - + (__int128)a2 * b[3] - + (__int128)a3 * b[2] - + (__int128)a4 * b[1]; - VERIFY_BITS(d, 115); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - uint64_t u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 63); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (__int128)u0 * (R >> 4); - VERIFY_BITS(c, 115); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - c += (__int128)a0 * b[1] - + (__int128)a1 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (__int128)a2 * b[4] - + (__int128)a3 * b[3] - + (__int128)a4 * b[2]; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (__int128)a0 * b[2] - + (__int128)a1 * b[1] - + (__int128)a2 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (__int128)a3 * b[4] - + (__int128)a4 * b[3]; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R + t3;; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r) { - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - /** [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - __int128 c, d; - - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - - d = (__int128)(a0*2) * a3 - + (__int128)(a1*2) * a2; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (__int128)a4 * a4; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - uint64_t t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - a4 *= 2; - d += (__int128)a0 * a4 - + (__int128)(a1*2) * a3 - + (__int128)a2 * a2; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (__int128)a0 * a0; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (__int128)a1 * a4 - + (__int128)(a2*2) * a3; - VERIFY_BITS(d, 114); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - uint64_t u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 62); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (__int128)u0 * (R >> 4); - VERIFY_BITS(c, 113); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - a0 *= 2; - c += (__int128)a0 * a1; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (__int128)a2 * a4 - + (__int128)a3 * a3; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (__int128)a0 * a2 - + (__int128)a1 * a1; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (__int128)a3 * a4; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += d * R + t3;; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -#endif diff --git a/src/secp256k1/src/field_gmp.h b/src/secp256k1/src/field_gmp.h deleted file mode 100644 index b390fd9de..000000000 --- a/src/secp256k1/src/field_gmp.h +++ /dev/null @@ -1,18 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -#define FIELD_LIMBS ((256 + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS) - -typedef struct { - mp_limb_t n[FIELD_LIMBS+1]; -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_gmp_impl.h b/src/secp256k1/src/field_gmp_impl.h deleted file mode 100644 index 8af7dd68f..000000000 --- a/src/secp256k1/src/field_gmp_impl.h +++ /dev/null @@ -1,180 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#include -#include -#include "num.h" -#include "field.h" - -static mp_limb_t secp256k1_field_p[FIELD_LIMBS]; -static mp_limb_t secp256k1_field_pc[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; - -static void secp256k1_fe_inner_start(void) { - for (int i=0; i<(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; i++) - secp256k1_field_pc[i] = 0; - secp256k1_field_pc[0] += 0x3D1UL; - secp256k1_field_pc[32/GMP_NUMB_BITS] += (((mp_limb_t)1) << (32 % GMP_NUMB_BITS)); - for (int i=0; in[FIELD_LIMBS] != 0) { -#if (GMP_NUMB_BITS >= 40) - mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * r->n[FIELD_LIMBS]); - mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * carry); -#else - mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * r->n[FIELD_LIMBS]) + - mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), r->n[FIELD_LIMBS] << (32 % GMP_NUMB_BITS)); - mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * carry); - mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), carry << (32%GMP_NUMB_BITS)); -#endif - r->n[FIELD_LIMBS] = 0; - } - if (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) >= 0) - mpn_sub(r->n, r->n, FIELD_LIMBS, secp256k1_field_p, FIELD_LIMBS); -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - for (int i=1; in[i] = 0; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *r) { - for (int i=0; in[i] = 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { - int ret = 1; - for (int i=0; in[i] == 0); - return ret; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { - return a->n[0] & 1; -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - int ret = 1; - for (int i=0; in[i] == b->n[i]); - return ret; -} - -SECP256K1_INLINE static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - for (int i=FIELD_LIMBS; i>=0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - for (int i=0; in[i] = 0; - for (int i=0; i<256; i++) { - int limb = i/GMP_NUMB_BITS; - int shift = i%GMP_NUMB_BITS; - r->n[limb] |= (mp_limb_t)((a[31-i/8] >> (i%8)) & 0x1) << shift; - } - return (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) < 0); -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<8; j++) { - int limb = (8*i+j)/GMP_NUMB_BITS; - int shift = (8*i+j)%GMP_NUMB_BITS; - c |= ((a->n[limb] >> shift) & 0x1) << j; - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { - (void)m; - *r = *a; - secp256k1_fe_normalize(r); - for (int i=0; in[i] = ~(r->n[i]); -#if (GMP_NUMB_BITS >= 33) - mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x1000003D0ULL); -#else - mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x3D0UL); - mpn_sub_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - mpn_mul_1(r->n, r->n, FIELD_LIMBS+1, a); -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - mpn_add(r->n, r->n, FIELD_LIMBS+1, a->n, FIELD_LIMBS+1); -} - -static void secp256k1_fe_reduce(secp256k1_fe_t *r, mp_limb_t *tmp) { - /** - * B1 B2 B3 B4 - * + C * A1 A2 A3 A4 - * + A1 A2 A3 A4 - */ - -#if (GMP_NUMB_BITS >= 33) - mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x1000003D1ULL); -#else - mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x3D1UL) + - mpn_addmul_1(tmp+(32/GMP_NUMB_BITS), tmp+FIELD_LIMBS, FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); -#endif - mp_limb_t q[1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; - q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] = mpn_mul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o); -#if (GMP_NUMB_BITS <= 32) - mp_limb_t o2 = tmp[2*FIELD_LIMBS-(32/GMP_NUMB_BITS)] << (32%GMP_NUMB_BITS); - q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] += mpn_addmul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o2); -#endif - r->n[FIELD_LIMBS] = mpn_add(r->n, tmp, FIELD_LIMBS, q, 1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS); -} - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { - VERIFY_CHECK(r != b); - secp256k1_fe_t ac = *a; - secp256k1_fe_t bc = *b; - secp256k1_fe_normalize(&ac); - secp256k1_fe_normalize(&bc); - mp_limb_t tmp[2*FIELD_LIMBS]; - mpn_mul_n(tmp, ac.n, bc.n, FIELD_LIMBS); - secp256k1_fe_reduce(r, tmp); -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - secp256k1_fe_t ac = *a; - secp256k1_fe_normalize(&ac); - mp_limb_t tmp[2*FIELD_LIMBS]; - mpn_sqr(tmp, ac.n, FIELD_LIMBS); - secp256k1_fe_reduce(r, tmp); -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - mp_limb_t mask0 = flag + ~((mp_limb_t)0), mask1 = ~mask0; - for (int i = 0; i <= FIELD_LIMBS; i++) { - r->n[i] = (r->n[i] & mask0) | (a->n[i] & mask1); - } -} - -#endif diff --git a/src/secp256k1/src/field_impl.h b/src/secp256k1/src/field_impl.h deleted file mode 100644 index 4d25e5371..000000000 --- a/src/secp256k1/src/field_impl.h +++ /dev/null @@ -1,297 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_IMPL_H_ -#define _SECP256K1_FIELD_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "util.h" - -#if defined(USE_FIELD_GMP) -#include "field_gmp_impl.h" -#elif defined(USE_FIELD_10X26) -#include "field_10x26_impl.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52_impl.h" -#else -#error "Please select field implementation" -#endif - -static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a) { - if (*rlen < 65) { - *rlen = 65; - return; - } - *rlen = 65; - unsigned char tmp[32]; - secp256k1_fe_t b = *a; - secp256k1_fe_normalize(&b); - secp256k1_fe_get_b32(tmp, &b); - for (int i=0; i<32; i++) { - static const char *c = "0123456789ABCDEF"; - r[2*i] = c[(tmp[i] >> 4) & 0xF]; - r[2*i+1] = c[(tmp[i]) & 0xF]; - } - r[64] = 0x00; -} - -static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen) { - unsigned char tmp[32] = {}; - static const int cvt[256] = {0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 1, 2, 3, 4, 5, 6,7,8,9,0,0,0,0,0,0, - 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0}; - for (int i=0; i<32; i++) { - if (alen > i*2) - tmp[32 - alen/2 + i] = (cvt[(unsigned char)a[2*i]] << 4) + cvt[(unsigned char)a[2*i+1]]; - } - return secp256k1_fe_set_b32(r, tmp); -} - -static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - - /** The binary representation of (p + 1)/4 has 3 blocks of 1s, with lengths in - * { 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * 1, [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_t x2; - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_t x3; - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - secp256k1_fe_t x6 = x3; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); - secp256k1_fe_mul(&x6, &x6, &x3); - - secp256k1_fe_t x9 = x6; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); - secp256k1_fe_mul(&x9, &x9, &x3); - - secp256k1_fe_t x11 = x9; - for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); - secp256k1_fe_mul(&x11, &x11, &x2); - - secp256k1_fe_t x22 = x11; - for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); - secp256k1_fe_mul(&x22, &x22, &x11); - - secp256k1_fe_t x44 = x22; - for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); - secp256k1_fe_mul(&x44, &x44, &x22); - - secp256k1_fe_t x88 = x44; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); - secp256k1_fe_mul(&x88, &x88, &x44); - - secp256k1_fe_t x176 = x88; - for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); - secp256k1_fe_mul(&x176, &x176, &x88); - - secp256k1_fe_t x220 = x176; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); - secp256k1_fe_mul(&x220, &x220, &x44); - - secp256k1_fe_t x223 = x220; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - secp256k1_fe_t t1 = x223; - for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x22); - for (int j=0; j<6; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x2); - secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_sqr(r, &t1); - - /* Check that a square root was actually calculated */ - - secp256k1_fe_sqr(&t1, r); - secp256k1_fe_negate(&t1, &t1, 1); - secp256k1_fe_add(&t1, a); - secp256k1_fe_normalize(&t1); - return secp256k1_fe_is_zero(&t1); -} - -static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - - /** The binary representation of (p - 2) has 5 blocks of 1s, with lengths in - * { 1, 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * [1], [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_t x2; - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_t x3; - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - secp256k1_fe_t x6 = x3; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); - secp256k1_fe_mul(&x6, &x6, &x3); - - secp256k1_fe_t x9 = x6; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); - secp256k1_fe_mul(&x9, &x9, &x3); - - secp256k1_fe_t x11 = x9; - for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); - secp256k1_fe_mul(&x11, &x11, &x2); - - secp256k1_fe_t x22 = x11; - for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); - secp256k1_fe_mul(&x22, &x22, &x11); - - secp256k1_fe_t x44 = x22; - for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); - secp256k1_fe_mul(&x44, &x44, &x22); - - secp256k1_fe_t x88 = x44; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); - secp256k1_fe_mul(&x88, &x88, &x44); - - secp256k1_fe_t x176 = x88; - for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); - secp256k1_fe_mul(&x176, &x176, &x88); - - secp256k1_fe_t x220 = x176; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); - secp256k1_fe_mul(&x220, &x220, &x44); - - secp256k1_fe_t x223 = x220; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - secp256k1_fe_t t1 = x223; - for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x22); - for (int j=0; j<5; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, a); - for (int j=0; j<3; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x2); - for (int j=0; j<2; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(r, a, &t1); -} - -static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#if defined(USE_FIELD_INV_BUILTIN) - secp256k1_fe_inv(r, a); -#elif defined(USE_FIELD_INV_NUM) - unsigned char b[32]; - secp256k1_fe_t c = *a; - secp256k1_fe_normalize(&c); - secp256k1_fe_get_b32(b, &c); - secp256k1_num_t n; - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_mod_inverse(&n, &n, &secp256k1_fe_consts->p); - secp256k1_num_get_bin(b, 32, &n); - VERIFY_CHECK(secp256k1_fe_set_b32(r, b)); -#else -#error "Please select field inverse implementation" -#endif -} - -static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { - if (len < 1) - return; - - VERIFY_CHECK((r + len <= a) || (a + len <= r)); - - r[0] = a[0]; - - size_t i = 0; - while (++i < len) { - secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); - } - - secp256k1_fe_t u; secp256k1_fe_inv(&u, &r[--i]); - - while (i > 0) { - int j = i--; - secp256k1_fe_mul(&r[j], &r[i], &u); - secp256k1_fe_mul(&u, &u, &a[j]); - } - - r[0] = u; -} - -static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { - if (len < 1) - return; - - VERIFY_CHECK((r + len <= a) || (a + len <= r)); - - r[0] = a[0]; - - size_t i = 0; - while (++i < len) { - secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); - } - - secp256k1_fe_t u; secp256k1_fe_inv_var(&u, &r[--i]); - - while (i > 0) { - int j = i--; - secp256k1_fe_mul(&r[j], &r[i], &u); - secp256k1_fe_mul(&u, &u, &a[j]); - } - - r[0] = u; -} - -static void secp256k1_fe_start(void) { -#ifndef USE_NUM_NONE - static const unsigned char secp256k1_fe_consts_p[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F - }; -#endif - if (secp256k1_fe_consts == NULL) { - secp256k1_fe_inner_start(); - secp256k1_fe_consts_t *ret = (secp256k1_fe_consts_t*)malloc(sizeof(secp256k1_fe_consts_t)); -#ifndef USE_NUM_NONE - secp256k1_num_set_bin(&ret->p, secp256k1_fe_consts_p, sizeof(secp256k1_fe_consts_p)); -#endif - secp256k1_fe_consts = ret; - } -} - -static void secp256k1_fe_stop(void) { - if (secp256k1_fe_consts != NULL) { - secp256k1_fe_consts_t *c = (secp256k1_fe_consts_t*)secp256k1_fe_consts; - free((void*)c); - secp256k1_fe_consts = NULL; - secp256k1_fe_inner_stop(); - } -} - -#endif diff --git a/src/secp256k1/src/group.h b/src/secp256k1/src/group.h deleted file mode 100644 index 0f14bd25f..000000000 --- a/src/secp256k1/src/group.h +++ /dev/null @@ -1,120 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_GROUP_ -#define _SECP256K1_GROUP_ - -#include "num.h" -#include "field.h" - -/** A group element of the secp256k1 curve, in affine coordinates. */ -typedef struct { - secp256k1_fe_t x; - secp256k1_fe_t y; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_ge_t; - -/** A group element of the secp256k1 curve, in jacobian coordinates. */ -typedef struct { - secp256k1_fe_t x; /* actual X: x/z^2 */ - secp256k1_fe_t y; /* actual Y: y/z^3 */ - secp256k1_fe_t z; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_gej_t; - -/** Global constants related to the group */ -typedef struct { - secp256k1_ge_t g; /* the generator point */ - -#ifdef USE_ENDOMORPHISM - /* constants related to secp256k1's efficiently computable endomorphism */ - secp256k1_fe_t beta; -#endif -} secp256k1_ge_consts_t; - -static const secp256k1_ge_consts_t *secp256k1_ge_consts = NULL; - -/** Initialize the group module. */ -static void secp256k1_ge_start(void); - -/** De-initialize the group module. */ -static void secp256k1_ge_stop(void); - -/** Set a group element equal to the point at infinity */ -static void secp256k1_ge_set_infinity(secp256k1_ge_t *r); - -/** Set a group element equal to the point with given X and Y coordinates */ -static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); - -/** Set a group element (affine) equal to the point with the given X coordinate, and given oddness - * for Y. Return value indicates whether the result is valid. */ -static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a); - -/** Check whether a group element is valid (i.e., on the curve). */ -static int secp256k1_ge_is_valid(const secp256k1_ge_t *a); - -static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a); - -/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ -static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a); - -/** Set a group element equal to another which is given in jacobian coordinates */ -static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a); - -/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ -static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]); - - -/** Set a group element (jacobian) equal to the point at infinity. */ -static void secp256k1_gej_set_infinity(secp256k1_gej_t *r); - -/** Set a group element (jacobian) equal to the point with given X and Y coordinates. */ -static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); - -/** Set a group element (jacobian) equal to another which is given in affine coordinates. */ -static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a); - -/** Get the X coordinate of a group element (jacobian). */ -static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a); - -/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ -static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a); - -/** Set r equal to the double of a. */ -static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a); - -/** Set r equal to the sum of a and b. */ -static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b); - -/** Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity). */ -static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); - -/** Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient - than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time - guarantee, and b is allowed to be infinity. */ -static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); - -/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ -static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a); - -#ifdef USE_ENDOMORPHISM -/** Set r to be equal to lambda times a, where lambda is chosen in a way such that this is very fast. */ -static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a); -#endif - -/** Clear a secp256k1_gej_t to prevent leaking sensitive information. */ -static void secp256k1_gej_clear(secp256k1_gej_t *r); - -/** Clear a secp256k1_ge_t to prevent leaking sensitive information. */ -static void secp256k1_ge_clear(secp256k1_ge_t *r); - -#endif diff --git a/src/secp256k1/src/group_impl.h b/src/secp256k1/src/group_impl.h deleted file mode 100644 index cbd0d8c4f..000000000 --- a/src/secp256k1/src/group_impl.h +++ /dev/null @@ -1,457 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_GROUP_IMPL_H_ -#define _SECP256K1_GROUP_IMPL_H_ - -#include - -#include "num.h" -#include "field.h" -#include "group.h" - -static void secp256k1_ge_set_infinity(secp256k1_ge_t *r) { - r->infinity = 1; -} - -static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { - r->infinity = 0; - r->x = *x; - r->y = *y; -} - -static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a) { - return a->infinity; -} - -static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - secp256k1_fe_normalize(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a) { - char cx[65]; int lx=65; - char cy[65]; int ly=65; - secp256k1_fe_get_hex(cx, &lx, &a->x); - secp256k1_fe_get_hex(cy, &ly, &a->y); - lx = strlen(cx); - ly = strlen(cy); - int len = lx + ly + 3 + 1; - if (*rlen < len) { - *rlen = len; - return; - } - *rlen = len; - r[0] = '('; - memcpy(r+1, cx, lx); - r[1+lx] = ','; - memcpy(r+2+lx, cy, ly); - r[2+lx+ly] = ')'; - r[3+lx+ly] = 0; -} - -static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a) { - r->infinity = a->infinity; - secp256k1_fe_inv(&a->z, &a->z); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_gej_var(secp256k1_ge_t *r, secp256k1_gej_t *a) { - r->infinity = a->infinity; - if (a->infinity) { - return; - } - secp256k1_fe_inv_var(&a->z, &a->z); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]) { - size_t count = 0; - secp256k1_fe_t az[len]; - for (size_t i=0; iinfinity = 1; - secp256k1_fe_set_int(&r->x, 0); - secp256k1_fe_set_int(&r->y, 0); - secp256k1_fe_set_int(&r->z, 0); -} - -static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { - r->infinity = 0; - r->x = *x; - r->y = *y; - secp256k1_fe_set_int(&r->z, 1); -} - -static void secp256k1_gej_clear(secp256k1_gej_t *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); - secp256k1_fe_clear(&r->z); -} - -static void secp256k1_ge_clear(secp256k1_ge_t *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); -} - -static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { - r->x = *x; - secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); - secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); - r->infinity = 0; - secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); - secp256k1_fe_add(&c, &x3); - if (!secp256k1_fe_sqrt(&r->y, &c)) - return 0; - secp256k1_fe_normalize(&r->y); - if (secp256k1_fe_is_odd(&r->y) != odd) - secp256k1_fe_negate(&r->y, &r->y, 1); - return 1; -} - -static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - secp256k1_fe_set_int(&r->z, 1); -} - -static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a) { - secp256k1_fe_t zi2; secp256k1_fe_inv_var(&zi2, &a->z); secp256k1_fe_sqr(&zi2, &zi2); - secp256k1_fe_mul(r, &a->x, &zi2); -} - -static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - r->z = a->z; - secp256k1_fe_normalize(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a) { - return a->infinity; -} - -static int secp256k1_gej_is_valid(const secp256k1_gej_t *a) { - if (a->infinity) - return 0; - /** y^2 = x^3 + 7 - * (Y/Z^3)^2 = (X/Z^2)^3 + 7 - * Y^2 / Z^6 = X^3 / Z^6 + 7 - * Y^2 = X^3 + 7*Z^6 - */ - secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z6; secp256k1_fe_sqr(&z6, &z2); secp256k1_fe_mul(&z6, &z6, &z2); - secp256k1_fe_mul_int(&z6, 7); - secp256k1_fe_add(&x3, &z6); - secp256k1_fe_normalize(&y2); - secp256k1_fe_normalize(&x3); - return secp256k1_fe_equal(&y2, &x3); -} - -static int secp256k1_ge_is_valid(const secp256k1_ge_t *a) { - if (a->infinity) - return 0; - /* y^2 = x^3 + 7 */ - secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); - secp256k1_fe_add(&x3, &c); - secp256k1_fe_normalize(&y2); - secp256k1_fe_normalize(&x3); - return secp256k1_fe_equal(&y2, &x3); -} - -static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - // For secp256k1, 2Q is infinity if and only if Q is infinity. This is because if 2Q = infinity, - // Q must equal -Q, or that Q.y == -(Q.y), or Q.y is 0. For a point on y^2 = x^3 + 7 to have - // y=0, x^3 must be -7 mod p. However, -7 has no cube root mod p. - r->infinity = a->infinity; - if (r->infinity) { - return; - } - - secp256k1_fe_t t1,t2,t3,t4; - secp256k1_fe_mul(&r->z, &a->z, &a->y); - secp256k1_fe_mul_int(&r->z, 2); /* Z' = 2*Y*Z (2) */ - secp256k1_fe_sqr(&t1, &a->x); - secp256k1_fe_mul_int(&t1, 3); /* T1 = 3*X^2 (3) */ - secp256k1_fe_sqr(&t2, &t1); /* T2 = 9*X^4 (1) */ - secp256k1_fe_sqr(&t3, &a->y); - secp256k1_fe_mul_int(&t3, 2); /* T3 = 2*Y^2 (2) */ - secp256k1_fe_sqr(&t4, &t3); - secp256k1_fe_mul_int(&t4, 2); /* T4 = 8*Y^4 (2) */ - secp256k1_fe_mul(&t3, &t3, &a->x); /* T3 = 2*X*Y^2 (1) */ - r->x = t3; - secp256k1_fe_mul_int(&r->x, 4); /* X' = 8*X*Y^2 (4) */ - secp256k1_fe_negate(&r->x, &r->x, 4); /* X' = -8*X*Y^2 (5) */ - secp256k1_fe_add(&r->x, &t2); /* X' = 9*X^4 - 8*X*Y^2 (6) */ - secp256k1_fe_negate(&t2, &t2, 1); /* T2 = -9*X^4 (2) */ - secp256k1_fe_mul_int(&t3, 6); /* T3 = 12*X*Y^2 (6) */ - secp256k1_fe_add(&t3, &t2); /* T3 = 12*X*Y^2 - 9*X^4 (8) */ - secp256k1_fe_mul(&r->y, &t1, &t3); /* Y' = 36*X^3*Y^2 - 27*X^6 (1) */ - secp256k1_fe_negate(&t2, &t4, 2); /* T2 = -8*Y^4 (3) */ - secp256k1_fe_add(&r->y, &t2); /* Y' = 36*X^3*Y^2 - 27*X^6 - 8*Y^4 (4) */ -} - -static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b) { - if (a->infinity) { - *r = *b; - return; - } - if (b->infinity) { - *r = *a; - return; - } - r->infinity = 0; - secp256k1_fe_t z22; secp256k1_fe_sqr(&z22, &b->z); - secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); - secp256k1_fe_t u1; secp256k1_fe_mul(&u1, &a->x, &z22); - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); - secp256k1_fe_t s1; secp256k1_fe_mul(&s1, &a->y, &z22); secp256k1_fe_mul(&s1, &s1, &b->z); - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_normalize(&u1); - secp256k1_fe_normalize(&u2); - if (secp256k1_fe_equal(&u1, &u2)) { - secp256k1_fe_normalize(&s1); - secp256k1_fe_normalize(&s2); - if (secp256k1_fe_equal(&s1, &s2)) { - secp256k1_gej_double_var(r, a); - } else { - r->infinity = 1; - } - return; - } - secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); - secp256k1_fe_mul(&r->z, &a->z, &b->z); secp256k1_fe_mul(&r->z, &r->z, &h); - secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { - if (a->infinity) { - r->infinity = b->infinity; - r->x = b->x; - r->y = b->y; - secp256k1_fe_set_int(&r->z, 1); - return; - } - if (b->infinity) { - *r = *a; - return; - } - r->infinity = 0; - secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); - secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); - secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_normalize(&u1); - secp256k1_fe_normalize(&u2); - if (secp256k1_fe_equal(&u1, &u2)) { - secp256k1_fe_normalize(&s1); - secp256k1_fe_normalize(&s2); - if (secp256k1_fe_equal(&s1, &s2)) { - secp256k1_gej_double_var(r, a); - } else { - r->infinity = 1; - } - return; - } - secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); - r->z = a->z; secp256k1_fe_mul(&r->z, &r->z, &h); - secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { - VERIFY_CHECK(!b->infinity); - VERIFY_CHECK(a->infinity == 0 || a->infinity == 1); - - /** In: - * Eric Brier and Marc Joye, Weierstrass Elliptic Curves and Side-Channel Attacks. - * In D. Naccache and P. Paillier, Eds., Public Key Cryptography, vol. 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002. - * we find as solution for a unified addition/doubling formula: - * lambda = ((x1 + x2)^2 - x1 * x2 + a) / (y1 + y2), with a = 0 for secp256k1's curve equation. - * x3 = lambda^2 - (x1 + x2) - * 2*y3 = lambda * (x1 + x2 - 2 * x3) - (y1 + y2). - * - * Substituting x_i = Xi / Zi^2 and yi = Yi / Zi^3, for i=1,2,3, gives: - * U1 = X1*Z2^2, U2 = X2*Z1^2 - * S1 = Y1*Z2^3, S2 = Y2*Z1^3 - * Z = Z1*Z2 - * T = U1+U2 - * M = S1+S2 - * Q = T*M^2 - * R = T^2-U1*U2 - * X3 = 4*(R^2-Q) - * Y3 = 4*(R*(3*Q-2*R^2)-M^4) - * Z3 = 2*M*Z - * (Note that the paper uses xi = Xi / Zi and yi = Yi / Zi instead.) - */ - - secp256k1_fe_t zz; secp256k1_fe_sqr(&zz, &a->z); /* z = Z1^2 */ - secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); /* u1 = U1 = X1*Z2^2 (1) */ - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &zz); /* u2 = U2 = X2*Z1^2 (1) */ - secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); /* s1 = S1 = Y1*Z2^3 (1) */ - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &zz); /* s2 = Y2*Z2^2 (1) */ - secp256k1_fe_mul(&s2, &s2, &a->z); /* s2 = S2 = Y2*Z1^3 (1) */ - secp256k1_fe_t z = a->z; /* z = Z = Z1*Z2 (8) */ - secp256k1_fe_t t = u1; secp256k1_fe_add(&t, &u2); /* t = T = U1+U2 (2) */ - secp256k1_fe_t m = s1; secp256k1_fe_add(&m, &s2); /* m = M = S1+S2 (2) */ - secp256k1_fe_t n; secp256k1_fe_sqr(&n, &m); /* n = M^2 (1) */ - secp256k1_fe_t q; secp256k1_fe_mul(&q, &n, &t); /* q = Q = T*M^2 (1) */ - secp256k1_fe_sqr(&n, &n); /* n = M^4 (1) */ - secp256k1_fe_t rr; secp256k1_fe_sqr(&rr, &t); /* rr = T^2 (1) */ - secp256k1_fe_mul(&t, &u1, &u2); secp256k1_fe_negate(&t, &t, 1); /* t = -U1*U2 (2) */ - secp256k1_fe_add(&rr, &t); /* rr = R = T^2-U1*U2 (3) */ - secp256k1_fe_sqr(&t, &rr); /* t = R^2 (1) */ - secp256k1_fe_mul(&r->z, &m, &z); /* r->z = M*Z (1) */ - secp256k1_fe_normalize(&r->z); - int infinity = secp256k1_fe_is_zero(&r->z) * (1 - a->infinity); - secp256k1_fe_mul_int(&r->z, 2 * (1 - a->infinity)); /* r->z = Z3 = 2*M*Z (2) */ - r->x = t; /* r->x = R^2 (1) */ - secp256k1_fe_negate(&q, &q, 1); /* q = -Q (2) */ - secp256k1_fe_add(&r->x, &q); /* r->x = R^2-Q (3) */ - secp256k1_fe_normalize(&r->x); - secp256k1_fe_mul_int(&q, 3); /* q = -3*Q (6) */ - secp256k1_fe_mul_int(&t, 2); /* t = 2*R^2 (2) */ - secp256k1_fe_add(&t, &q); /* t = 2*R^2-3*Q (8) */ - secp256k1_fe_mul(&t, &t, &rr); /* t = R*(2*R^2-3*Q) (1) */ - secp256k1_fe_add(&t, &n); /* t = R*(2*R^2-3*Q)+M^4 (2) */ - secp256k1_fe_negate(&r->y, &t, 2); /* r->y = R*(3*Q-2*R^2)-M^4 (3) */ - secp256k1_fe_normalize(&r->y); - secp256k1_fe_mul_int(&r->x, 4 * (1 - a->infinity)); /* r->x = X3 = 4*(R^2-Q) */ - secp256k1_fe_mul_int(&r->y, 4 * (1 - a->infinity)); /* r->y = Y3 = 4*R*(3*Q-2*R^2)-4*M^4 (4) */ - - /** In case a->infinity == 1, the above code results in r->x, r->y, and r->z all equal to 0. - * Add b->x to x, b->y to y, and 1 to z in that case. - */ - t = b->x; secp256k1_fe_mul_int(&t, a->infinity); - secp256k1_fe_add(&r->x, &t); - t = b->y; secp256k1_fe_mul_int(&t, a->infinity); - secp256k1_fe_add(&r->y, &t); - secp256k1_fe_set_int(&t, a->infinity); - secp256k1_fe_add(&r->z, &t); - r->infinity = infinity; -} - - - -static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a) { - secp256k1_gej_t c = *a; - secp256k1_ge_t t; secp256k1_ge_set_gej(&t, &c); - secp256k1_ge_get_hex(r, rlen, &t); -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - const secp256k1_fe_t *beta = &secp256k1_ge_consts->beta; - *r = *a; - secp256k1_fe_mul(&r->x, &r->x, beta); -} -#endif - -static void secp256k1_ge_start(void) { - static const unsigned char secp256k1_ge_consts_g_x[] = { - 0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC, - 0x55,0xA0,0x62,0x95,0xCE,0x87,0x0B,0x07, - 0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9, - 0x59,0xF2,0x81,0x5B,0x16,0xF8,0x17,0x98 - }; - static const unsigned char secp256k1_ge_consts_g_y[] = { - 0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65, - 0x5D,0xA4,0xFB,0xFC,0x0E,0x11,0x08,0xA8, - 0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19, - 0x9C,0x47,0xD0,0x8F,0xFB,0x10,0xD4,0xB8 - }; -#ifdef USE_ENDOMORPHISM - /* properties of secp256k1's efficiently computable endomorphism */ - static const unsigned char secp256k1_ge_consts_beta[] = { - 0x7a,0xe9,0x6a,0x2b,0x65,0x7c,0x07,0x10, - 0x6e,0x64,0x47,0x9e,0xac,0x34,0x34,0xe9, - 0x9c,0xf0,0x49,0x75,0x12,0xf5,0x89,0x95, - 0xc1,0x39,0x6c,0x28,0x71,0x95,0x01,0xee - }; -#endif - if (secp256k1_ge_consts == NULL) { - secp256k1_ge_consts_t *ret = (secp256k1_ge_consts_t*)malloc(sizeof(secp256k1_ge_consts_t)); -#ifdef USE_ENDOMORPHISM - VERIFY_CHECK(secp256k1_fe_set_b32(&ret->beta, secp256k1_ge_consts_beta)); -#endif - secp256k1_fe_t g_x, g_y; - VERIFY_CHECK(secp256k1_fe_set_b32(&g_x, secp256k1_ge_consts_g_x)); - VERIFY_CHECK(secp256k1_fe_set_b32(&g_y, secp256k1_ge_consts_g_y)); - secp256k1_ge_set_xy(&ret->g, &g_x, &g_y); - secp256k1_ge_consts = ret; - } -} - -static void secp256k1_ge_stop(void) { - if (secp256k1_ge_consts != NULL) { - secp256k1_ge_consts_t *c = (secp256k1_ge_consts_t*)secp256k1_ge_consts; - free((void*)c); - secp256k1_ge_consts = NULL; - } -} - -#endif diff --git a/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java b/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java deleted file mode 100644 index 90a498eaa..000000000 --- a/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.bitcoin; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; - -import com.google.common.base.Preconditions; - - -/** - * This class holds native methods to handle ECDSA verification. - * You can find an example library that can be used for this at - * https://github.com/sipa/secp256k1 - */ -public class NativeSecp256k1 { - public static final boolean enabled; - static { - boolean isEnabled = true; - try { - System.loadLibrary("javasecp256k1"); - } catch (UnsatisfiedLinkError e) { - isEnabled = false; - } - enabled = isEnabled; - } - - private static ThreadLocal nativeECDSABuffer = new ThreadLocal(); - /** - * Verifies the given secp256k1 signature in native code. - * Calling when enabled == false is undefined (probably library not loaded) - * - * @param data The data which was signed, must be exactly 32 bytes - * @param signature The signature - * @param pub The public key which did the signing - */ - public static boolean verify(byte[] data, byte[] signature, byte[] pub) { - Preconditions.checkArgument(data.length == 32 && signature.length <= 520 && pub.length <= 520); - - ByteBuffer byteBuff = nativeECDSABuffer.get(); - if (byteBuff == null) { - byteBuff = ByteBuffer.allocateDirect(32 + 8 + 520 + 520); - byteBuff.order(ByteOrder.nativeOrder()); - nativeECDSABuffer.set(byteBuff); - } - byteBuff.rewind(); - byteBuff.put(data); - byteBuff.putInt(signature.length); - byteBuff.putInt(pub.length); - byteBuff.put(signature); - byteBuff.put(pub); - return secp256k1_ecdsa_verify(byteBuff) == 1; - } - - /** - * @param byteBuff signature format is byte[32] data, - * native-endian int signatureLength, native-endian int pubkeyLength, - * byte[signatureLength] signature, byte[pubkeyLength] pub - * @returns 1 for valid signature, anything else for invalid - */ - private static native int secp256k1_ecdsa_verify(ByteBuffer byteBuff); -} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c deleted file mode 100644 index bb4cd7072..000000000 --- a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "org_bitcoin_NativeSecp256k1.h" -#include "include/secp256k1.h" - -JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify - (JNIEnv* env, jclass classObject, jobject byteBufferObject) -{ - unsigned char* data = (unsigned char*) (*env)->GetDirectBufferAddress(env, byteBufferObject); - int sigLen = *((int*)(data + 32)); - int pubLen = *((int*)(data + 32 + 4)); - - return secp256k1_ecdsa_verify(data, 32, data+32+8, sigLen, data+32+8+sigLen, pubLen); -} - -static void __javasecp256k1_attach(void) __attribute__((constructor)); -static void __javasecp256k1_detach(void) __attribute__((destructor)); - -static void __javasecp256k1_attach(void) { - secp256k1_start(SECP256K1_START_VERIFY); -} - -static void __javasecp256k1_detach(void) { - secp256k1_stop(); -} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h deleted file mode 100644 index d7fb004fa..000000000 --- a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h +++ /dev/null @@ -1,21 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_bitcoin_NativeSecp256k1 */ - -#ifndef _Included_org_bitcoin_NativeSecp256k1 -#define _Included_org_bitcoin_NativeSecp256k1 -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_bitcoin_NativeSecp256k1 - * Method: secp256k1_ecdsa_verify - * Signature: (Ljava/nio/ByteBuffer;)I - */ -JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify - (JNIEnv *, jclass, jobject); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/secp256k1/src/num.h b/src/secp256k1/src/num.h deleted file mode 100644 index 339b6bb6e..000000000 --- a/src/secp256k1/src/num.h +++ /dev/null @@ -1,68 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_ -#define _SECP256K1_NUM_ - -#ifndef USE_NUM_NONE - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_NUM_GMP) -#include "num_gmp.h" -#else -#error "Please select num implementation" -#endif - -/** Copy a number. */ -static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a); - -/** Convert a number's absolute value to a binary big-endian string. - * There must be enough place. */ -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a); - -/** Set a number to the value of a binary big-endian string. */ -static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen); - -/** Compute a modular inverse. The input must be less than the modulus. */ -static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m); - -/** Compare the absolute value of two numbers. */ -static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Test whether two number are equal (including sign). */ -static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Add two (signed) numbers. */ -static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Subtract two (signed) numbers. */ -static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Multiply two (signed) numbers. */ -static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Replace a number by its remainder modulo m. M's sign is ignored. The result is a number between 0 and m-1, - even if r was negative. */ -static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m); - -/** Right-shift the passed number by bits bits. */ -static void secp256k1_num_shift(secp256k1_num_t *r, int bits); - -/** Check whether a number is zero. */ -static int secp256k1_num_is_zero(const secp256k1_num_t *a); - -/** Check whether a number is strictly negative. */ -static int secp256k1_num_is_neg(const secp256k1_num_t *a); - -/** Change a number's sign. */ -static void secp256k1_num_negate(secp256k1_num_t *r); - -#endif - -#endif diff --git a/src/secp256k1/src/num_gmp.h b/src/secp256k1/src/num_gmp.h deleted file mode 100644 index baa1f2bf2..000000000 --- a/src/secp256k1/src/num_gmp.h +++ /dev/null @@ -1,20 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_REPR_ -#define _SECP256K1_NUM_REPR_ - -#include - -#define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) - -typedef struct { - mp_limb_t data[2*NUM_LIMBS]; - int neg; - int limbs; -} secp256k1_num_t; - -#endif diff --git a/src/secp256k1/src/num_gmp_impl.h b/src/secp256k1/src/num_gmp_impl.h deleted file mode 100644 index 19d474e59..000000000 --- a/src/secp256k1/src/num_gmp_impl.h +++ /dev/null @@ -1,232 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_REPR_IMPL_H_ -#define _SECP256K1_NUM_REPR_IMPL_H_ - -#include -#include -#include - -#include "util.h" -#include "num.h" - -#ifdef VERIFY -static void secp256k1_num_sanity(const secp256k1_num_t *a) { - VERIFY_CHECK(a->limbs == 1 || (a->limbs > 1 && a->data[a->limbs-1] != 0)); -} -#else -#define secp256k1_num_sanity(a) do { } while(0) -#endif - -static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a) { - *r = *a; -} - -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a) { - unsigned char tmp[65]; - int len = 0; - if (a->limbs>1 || a->data[0] != 0) { - len = mpn_get_str(tmp, 256, (mp_limb_t*)a->data, a->limbs); - } - int shift = 0; - while (shift < len && tmp[shift] == 0) shift++; - VERIFY_CHECK(len-shift <= (int)rlen); - memset(r, 0, rlen - len + shift); - if (len > shift) { - memcpy(r + rlen - len + shift, tmp + shift, len - shift); - } - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen) { - VERIFY_CHECK(alen > 0); - VERIFY_CHECK(alen <= 64); - int len = mpn_set_str(r->data, a, alen, 256); - if (len == 0) { - r->data[0] = 0; - len = 1; - } - VERIFY_CHECK(len <= NUM_LIMBS*2); - r->limbs = len; - r->neg = 0; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_add_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - mp_limb_t c = mpn_add(r->data, a->data, a->limbs, b->data, b->limbs); - r->limbs = a->limbs; - if (c != 0) { - VERIFY_CHECK(r->limbs < 2*NUM_LIMBS); - r->data[r->limbs++] = c; - } -} - -static void secp256k1_num_sub_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - mp_limb_t c = mpn_sub(r->data, a->data, a->limbs, b->data, b->limbs); - VERIFY_CHECK(c == 0); - r->limbs = a->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m) { - secp256k1_num_sanity(r); - secp256k1_num_sanity(m); - - if (r->limbs >= m->limbs) { - mp_limb_t t[2*NUM_LIMBS]; - mpn_tdiv_qr(t, r->data, 0, r->data, r->limbs, m->data, m->limbs); - memset(t, 0, sizeof(t)); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; - } - - if (r->neg && (r->limbs > 1 || r->data[0] != 0)) { - secp256k1_num_sub_abs(r, m, r); - r->neg = 0; - } -} - -static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(m); - - /** mpn_gcdext computes: (G,S) = gcdext(U,V), where - * * G = gcd(U,V) - * * G = U*S + V*T - * * U has equal or more limbs than V, and V has no padding - * If we set U to be (a padded version of) a, and V = m: - * G = a*S + m*T - * G = a*S mod m - * Assuming G=1: - * S = 1/a mod m - */ - VERIFY_CHECK(m->limbs <= NUM_LIMBS); - VERIFY_CHECK(m->data[m->limbs-1] != 0); - mp_limb_t g[NUM_LIMBS+1]; - mp_limb_t u[NUM_LIMBS+1]; - mp_limb_t v[NUM_LIMBS+1]; - for (int i=0; i < m->limbs; i++) { - u[i] = (i < a->limbs) ? a->data[i] : 0; - v[i] = m->data[i]; - } - mp_size_t sn = NUM_LIMBS+1; - mp_size_t gn = mpn_gcdext(g, r->data, &sn, u, m->limbs, v, m->limbs); - VERIFY_CHECK(gn == 1); - VERIFY_CHECK(g[0] == 1); - r->neg = a->neg ^ m->neg; - if (sn < 0) { - mpn_sub(r->data, m->data, m->limbs, r->data, -sn); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; - } else { - r->limbs = sn; - } - memset(g, 0, sizeof(g)); - memset(u, 0, sizeof(u)); - memset(v, 0, sizeof(v)); -} - -static int secp256k1_num_is_zero(const secp256k1_num_t *a) { - return (a->limbs == 1 && a->data[0] == 0); -} - -static int secp256k1_num_is_neg(const secp256k1_num_t *a) { - return (a->limbs > 1 || a->data[0] != 0) && a->neg; -} - -static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b) { - if (a->limbs > b->limbs) return 1; - if (a->limbs < b->limbs) return -1; - return mpn_cmp(a->data, b->data, a->limbs); -} - -static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b) { - if (a->limbs > b->limbs) return 0; - if (a->limbs < b->limbs) return 0; - if ((a->neg && !secp256k1_num_is_zero(a)) != (b->neg && !secp256k1_num_is_zero(b))) return 0; - return mpn_cmp(a->data, b->data, a->limbs) == 0; -} - -static void secp256k1_num_subadd(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b, int bneg) { - if (!(b->neg ^ bneg ^ a->neg)) { /* a and b have the same sign */ - r->neg = a->neg; - if (a->limbs >= b->limbs) { - secp256k1_num_add_abs(r, a, b); - } else { - secp256k1_num_add_abs(r, b, a); - } - } else { - if (secp256k1_num_cmp(a, b) > 0) { - r->neg = a->neg; - secp256k1_num_sub_abs(r, a, b); - } else { - r->neg = b->neg ^ bneg; - secp256k1_num_sub_abs(r, b, a); - } - } -} - -static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 0); -} - -static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 1); -} - -static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - - mp_limb_t tmp[2*NUM_LIMBS+1]; - VERIFY_CHECK(a->limbs + b->limbs <= 2*NUM_LIMBS+1); - if ((a->limbs==1 && a->data[0]==0) || (b->limbs==1 && b->data[0]==0)) { - r->limbs = 1; - r->neg = 0; - r->data[0] = 0; - return; - } - if (a->limbs >= b->limbs) - mpn_mul(tmp, a->data, a->limbs, b->data, b->limbs); - else - mpn_mul(tmp, b->data, b->limbs, a->data, a->limbs); - r->limbs = a->limbs + b->limbs; - if (r->limbs > 1 && tmp[r->limbs - 1]==0) r->limbs--; - VERIFY_CHECK(r->limbs <= 2*NUM_LIMBS); - mpn_copyi(r->data, tmp, r->limbs); - r->neg = a->neg ^ b->neg; - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_shift(secp256k1_num_t *r, int bits) { - if (bits % GMP_NUMB_BITS) { - // Shift within limbs. - mpn_rshift(r->data, r->data, r->limbs, bits % GMP_NUMB_BITS); - } - if (bits >= GMP_NUMB_BITS) { - // Shift full limbs. - for (int i = 0; i < r->limbs; i++) { - int index = i + (bits / GMP_NUMB_BITS); - if (index < r->limbs && index < 2*NUM_LIMBS) { - r->data[i] = r->data[index]; - } else { - r->data[i] = 0; - } - } - } - while (r->limbs>1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_negate(secp256k1_num_t *r) { - r->neg ^= 1; -} - -#endif diff --git a/src/secp256k1/src/num_impl.h b/src/secp256k1/src/num_impl.h deleted file mode 100644 index 0b0e3a072..000000000 --- a/src/secp256k1/src/num_impl.h +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_IMPL_H_ -#define _SECP256K1_NUM_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "num.h" - -#if defined(USE_NUM_GMP) -#include "num_gmp_impl.h" -#elif defined(USE_NUM_NONE) -/* Nothing. */ -#else -#error "Please select num implementation" -#endif - -#endif diff --git a/src/secp256k1/src/scalar.h b/src/secp256k1/src/scalar.h deleted file mode 100644 index 2f5ba0d44..000000000 --- a/src/secp256k1/src/scalar.h +++ /dev/null @@ -1,96 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_ -#define _SECP256K1_SCALAR_ - -#include "num.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_SCALAR_4X64) -#include "scalar_4x64.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32.h" -#else -#error "Please select scalar implementation" -#endif - -static void secp256k1_scalar_start(void); -static void secp256k1_scalar_stop(void); - -/** Clear a scalar to prevent the leak of sensitive data. */ -static void secp256k1_scalar_clear(secp256k1_scalar_t *r); - -/** Access bits from a scalar. All requested bits must belong to the same 32-bit limb. */ -static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); - -/** Access bits from a scalar. Not constant time. */ -static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); - -/** Set a scalar from a big endian byte array. */ -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *bin, int *overflow); - -/** Set a scalar to an unsigned integer. */ -static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v); - -/** Convert a scalar to a byte array. */ -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a); - -/** Add two scalars together (modulo the group order). Returns whether it overflowed. */ -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -/** Add a power of two to a scalar. The result is not allowed to overflow. */ -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit); - -/** Multiply two scalars (modulo the group order). */ -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -/** Compute the square of a scalar (modulo the group order). */ -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the inverse of a scalar (modulo the group order). */ -static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the inverse of a scalar (modulo the group order), without constant-time guarantee. */ -static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the complement of a scalar (modulo the group order). */ -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Check whether a scalar equals zero. */ -static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a); - -/** Check whether a scalar equals one. */ -static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a); - -/** Check whether a scalar is higher than the group order divided by 2. */ -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a); - -#ifndef USE_NUM_NONE -/** Convert a scalar to a number. */ -static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a); - -/** Get the order of the group as a number. */ -static void secp256k1_scalar_order_get_num(secp256k1_num_t *r); -#endif - -/** Compare two scalars. */ -static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); - -#ifdef USE_ENDOMORPHISM -/** Find r1 and r2 such that r1+r2*lambda = a, and r1 and r2 are maximum 128 bits long (see secp256k1_gej_mul_lambda). */ -static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); -#endif - -/** Multiply a and b (without taking the modulus!), divide by 2**shift, and round to the nearest integer. Shift must be at least 256. */ -static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift); - -#endif diff --git a/src/secp256k1/src/scalar_4x64.h b/src/secp256k1/src/scalar_4x64.h deleted file mode 100644 index 5a751c686..000000000 --- a/src/secp256k1/src/scalar_4x64.h +++ /dev/null @@ -1,17 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_ -#define _SECP256K1_SCALAR_REPR_ - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint64_t d[4]; -} secp256k1_scalar_t; - -#endif diff --git a/src/secp256k1/src/scalar_4x64_impl.h b/src/secp256k1/src/scalar_4x64_impl.h deleted file mode 100644 index d14477522..000000000 --- a/src/secp256k1/src/scalar_4x64_impl.h +++ /dev/null @@ -1,431 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ -#define _SECP256K1_SCALAR_REPR_IMPL_H_ - -typedef unsigned __int128 uint128_t; - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL) -#define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL) -#define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL) -#define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL) -#define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL) -#define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) -#define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6); - return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 6 == offset >> 6) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 6) + 1 < 4); - return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */ - no |= (a->d[2] < SECP256K1_N_2); - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1); - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, unsigned int overflow) { - VERIFY_CHECK(overflow <= 1); - uint128_t t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint64_t)r->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint128_t t = (uint128_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - int overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { - VERIFY_CHECK(bit < 256); - uint128_t t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F)); - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F)); - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F)); - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F)); - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 64) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { - r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56; - r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56; - r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56; - r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56; - int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { - bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3]; - bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2]; - bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1]; - bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0); - uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_H_3); - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */ - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - uint64_t th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - uint64_t tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - unsigned int over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint64_t *l) { - uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7]; - - /* 160 bit accumulator. */ - uint64_t c0, c1; - uint32_t c2; - - /* Reduce 512 bits into 385. */ - /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - uint64_t m0; extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - uint64_t m1; extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - sumadd(n0); - uint64_t m2; extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - sumadd(n1); - uint64_t m3; extract(m3); - muladd(n3, SECP256K1_N_C_1); - sumadd(n2); - uint64_t m4; extract(m4); - sumadd_fast(n3); - uint64_t m5; extract_fast(m5); - VERIFY_CHECK(c0 <= 1); - uint32_t m6 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m4, SECP256K1_N_C_0); - uint64_t p0; extract_fast(p0); - sumadd_fast(m1); - muladd(m5, SECP256K1_N_C_0); - muladd(m4, SECP256K1_N_C_1); - uint64_t p1; extract(p1); - sumadd(m2); - muladd(m6, SECP256K1_N_C_0); - muladd(m5, SECP256K1_N_C_1); - sumadd(m4); - uint64_t p2; extract(p2); - sumadd_fast(m3); - muladd_fast(m6, SECP256K1_N_C_1); - sumadd_fast(m5); - uint64_t p3; extract_fast(p3); - uint32_t p4 = c0 + m6; - VERIFY_CHECK(p4 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */ - uint128_t c = p0 + (uint128_t)SECP256K1_N_C_0 * p4; - r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p1 + (uint128_t)SECP256K1_N_C_1 * p4; - r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p2 + (uint128_t)p4; - r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p3; - r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - extract(l[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - extract(l[5]); - muladd_fast(a->d[3], b->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 <= 0); - l[7] = c0; -} - -static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar_t *a) { - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd_fast(a->d[3], a->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 == 0); - l[7] = c0; -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint64_t l[8]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint64_t l[8]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = 0; - r1->d[3] = 0; - r2->d[0] = a->d[2]; - r2->d[1] = a->d[3]; - r2->d[2] = 0; - r2->d[3] = 0; -} - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { - VERIFY_CHECK(shift >= 256); - uint64_t l[8]; - secp256k1_scalar_mul_512(l, a, b); - unsigned int shiftlimbs = shift >> 6; - unsigned int shiftlow = shift & 0x3F; - unsigned int shifthigh = 64 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0; - if ((l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1) { - secp256k1_scalar_add_bit(r, 0); - } -} - -#endif diff --git a/src/secp256k1/src/scalar_8x32.h b/src/secp256k1/src/scalar_8x32.h deleted file mode 100644 index f70328cfc..000000000 --- a/src/secp256k1/src/scalar_8x32.h +++ /dev/null @@ -1,17 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_ -#define _SECP256K1_SCALAR_REPR_ - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint32_t d[8]; -} secp256k1_scalar_t; - -#endif diff --git a/src/secp256k1/src/scalar_8x32_impl.h b/src/secp256k1/src/scalar_8x32_impl.h deleted file mode 100644 index 915cbcddb..000000000 --- a/src/secp256k1/src/scalar_8x32_impl.h +++ /dev/null @@ -1,668 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ -#define _SECP256K1_SCALAR_REPR_IMPL_H_ - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) -#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) -#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) -#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) -#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) -#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (~SECP256K1_N_2) -#define SECP256K1_N_C_3 (~SECP256K1_N_3) -#define SECP256K1_N_C_4 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) -#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) -#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) -#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) -#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 5 == offset >> 5); - return (a->d[offset >> 5] >> (offset & 0x1F)) & ((1 << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 5 == offset >> 5) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 5) + 1 < 8); - return ((a->d[offset >> 5] >> (offset & 0x1F)) | (a->d[(offset >> 5) + 1] << (32 - (offset & 0x1F)))) & ((((uint32_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_7); /* No need for a > check. */ - no |= (a->d[6] < SECP256K1_N_6); /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_5); /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_4); - yes |= (a->d[4] > SECP256K1_N_4) & ~no; - no |= (a->d[3] < SECP256K1_N_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_3) & ~no; - no |= (a->d[2] < SECP256K1_N_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, uint32_t overflow) { - VERIFY_CHECK(overflow <= 1); - uint64_t t = (uint64_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[3] + overflow * SECP256K1_N_C_3; - r->d[3] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[4] + overflow * SECP256K1_N_C_4; - r->d[4] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[5]; - r->d[5] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[6]; - r->d[6] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[7]; - r->d[7] = t & 0xFFFFFFFFUL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint64_t t = (uint64_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[4] + b->d[4]; - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[5] + b->d[5]; - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[6] + b->d[6]; - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[7] + b->d[7]; - r->d[7] = t & 0xFFFFFFFFULL; t >>= 32; - int overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { - VERIFY_CHECK(bit < 256); - uint64_t t = (uint64_t)r->d[0] + (((uint32_t)((bit >> 5) == 0)) << (bit & 0x1F)); - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[1] + (((uint32_t)((bit >> 5) == 1)) << (bit & 0x1F)); - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[2] + (((uint32_t)((bit >> 5) == 2)) << (bit & 0x1F)); - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[3] + (((uint32_t)((bit >> 5) == 3)) << (bit & 0x1F)); - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[4] + (((uint32_t)((bit >> 5) == 4)) << (bit & 0x1F)); - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[5] + (((uint32_t)((bit >> 5) == 5)) << (bit & 0x1F)); - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[6] + (((uint32_t)((bit >> 5) == 6)) << (bit & 0x1F)); - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[7] + (((uint32_t)((bit >> 5) == 7)) << (bit & 0x1F)); - r->d[7] = t & 0xFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 32) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { - r->d[0] = (uint32_t)b32[31] | (uint32_t)b32[30] << 8 | (uint32_t)b32[29] << 16 | (uint32_t)b32[28] << 24; - r->d[1] = (uint32_t)b32[27] | (uint32_t)b32[26] << 8 | (uint32_t)b32[25] << 16 | (uint32_t)b32[24] << 24; - r->d[2] = (uint32_t)b32[23] | (uint32_t)b32[22] << 8 | (uint32_t)b32[21] << 16 | (uint32_t)b32[20] << 24; - r->d[3] = (uint32_t)b32[19] | (uint32_t)b32[18] << 8 | (uint32_t)b32[17] << 16 | (uint32_t)b32[16] << 24; - r->d[4] = (uint32_t)b32[15] | (uint32_t)b32[14] << 8 | (uint32_t)b32[13] << 16 | (uint32_t)b32[12] << 24; - r->d[5] = (uint32_t)b32[11] | (uint32_t)b32[10] << 8 | (uint32_t)b32[9] << 16 | (uint32_t)b32[8] << 24; - r->d[6] = (uint32_t)b32[7] | (uint32_t)b32[6] << 8 | (uint32_t)b32[5] << 16 | (uint32_t)b32[4] << 24; - r->d[7] = (uint32_t)b32[3] | (uint32_t)b32[2] << 8 | (uint32_t)b32[1] << 16 | (uint32_t)b32[0] << 24; - int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { - bin[0] = a->d[7] >> 24; bin[1] = a->d[7] >> 16; bin[2] = a->d[7] >> 8; bin[3] = a->d[7]; - bin[4] = a->d[6] >> 24; bin[5] = a->d[6] >> 16; bin[6] = a->d[6] >> 8; bin[7] = a->d[6]; - bin[8] = a->d[5] >> 24; bin[9] = a->d[5] >> 16; bin[10] = a->d[5] >> 8; bin[11] = a->d[5]; - bin[12] = a->d[4] >> 24; bin[13] = a->d[4] >> 16; bin[14] = a->d[4] >> 8; bin[15] = a->d[4]; - bin[16] = a->d[3] >> 24; bin[17] = a->d[3] >> 16; bin[18] = a->d[3] >> 8; bin[19] = a->d[3]; - bin[20] = a->d[2] >> 24; bin[21] = a->d[2] >> 16; bin[22] = a->d[2] >> 8; bin[23] = a->d[2]; - bin[24] = a->d[1] >> 24; bin[25] = a->d[1] >> 16; bin[26] = a->d[1] >> 8; bin[27] = a->d[1]; - bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(a) == 0); - uint64_t t = (uint64_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[4]) + SECP256K1_N_4; - r->d[4] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[5]) + SECP256K1_N_5; - r->d[5] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[6]) + SECP256K1_N_6; - r->d[6] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[7]) + SECP256K1_N_7; - r->d[7] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_H_7); - yes |= (a->d[7] > SECP256K1_N_H_7) & ~no; - no |= (a->d[6] < SECP256K1_N_H_6) & ~yes; /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_H_5) & ~yes; /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_H_4) & ~yes; /* No need for a > check. */ - no |= (a->d[3] < SECP256K1_N_H_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_H_2) & ~no; - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - uint32_t th2 = th + th; /* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - uint32_t tl2 = tl + tl; /* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - unsigned int over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint32_t *l) { - uint32_t n0 = l[8], n1 = l[9], n2 = l[10], n3 = l[11], n4 = l[12], n5 = l[13], n6 = l[14], n7 = l[15]; - - /* 96 bit accumulator. */ - uint32_t c0, c1, c2; - - /* Reduce 512 bits into 385. */ - /* m[0..12] = l[0..7] + n[0..7] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - uint32_t m0; extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - uint32_t m1; extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - muladd(n0, SECP256K1_N_C_2); - uint32_t m2; extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - muladd(n1, SECP256K1_N_C_2); - muladd(n0, SECP256K1_N_C_3); - uint32_t m3; extract(m3); - sumadd(l[4]); - muladd(n4, SECP256K1_N_C_0); - muladd(n3, SECP256K1_N_C_1); - muladd(n2, SECP256K1_N_C_2); - muladd(n1, SECP256K1_N_C_3); - sumadd(n0); - uint32_t m4; extract(m4); - sumadd(l[5]); - muladd(n5, SECP256K1_N_C_0); - muladd(n4, SECP256K1_N_C_1); - muladd(n3, SECP256K1_N_C_2); - muladd(n2, SECP256K1_N_C_3); - sumadd(n1); - uint32_t m5; extract(m5); - sumadd(l[6]); - muladd(n6, SECP256K1_N_C_0); - muladd(n5, SECP256K1_N_C_1); - muladd(n4, SECP256K1_N_C_2); - muladd(n3, SECP256K1_N_C_3); - sumadd(n2); - uint32_t m6; extract(m6); - sumadd(l[7]); - muladd(n7, SECP256K1_N_C_0); - muladd(n6, SECP256K1_N_C_1); - muladd(n5, SECP256K1_N_C_2); - muladd(n4, SECP256K1_N_C_3); - sumadd(n3); - uint32_t m7; extract(m7); - muladd(n7, SECP256K1_N_C_1); - muladd(n6, SECP256K1_N_C_2); - muladd(n5, SECP256K1_N_C_3); - sumadd(n4); - uint32_t m8; extract(m8); - muladd(n7, SECP256K1_N_C_2); - muladd(n6, SECP256K1_N_C_3); - sumadd(n5); - uint32_t m9; extract(m9); - muladd(n7, SECP256K1_N_C_3); - sumadd(n6); - uint32_t m10; extract(m10); - sumadd_fast(n7); - uint32_t m11; extract_fast(m11); - VERIFY_CHECK(c0 <= 1); - uint32_t m12 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..8] = m[0..7] + m[8..12] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m8, SECP256K1_N_C_0); - uint32_t p0; extract_fast(p0); - sumadd_fast(m1); - muladd(m9, SECP256K1_N_C_0); - muladd(m8, SECP256K1_N_C_1); - uint32_t p1; extract(p1); - sumadd(m2); - muladd(m10, SECP256K1_N_C_0); - muladd(m9, SECP256K1_N_C_1); - muladd(m8, SECP256K1_N_C_2); - uint32_t p2; extract(p2); - sumadd(m3); - muladd(m11, SECP256K1_N_C_0); - muladd(m10, SECP256K1_N_C_1); - muladd(m9, SECP256K1_N_C_2); - muladd(m8, SECP256K1_N_C_3); - uint32_t p3; extract(p3); - sumadd(m4); - muladd(m12, SECP256K1_N_C_0); - muladd(m11, SECP256K1_N_C_1); - muladd(m10, SECP256K1_N_C_2); - muladd(m9, SECP256K1_N_C_3); - sumadd(m8); - uint32_t p4; extract(p4); - sumadd(m5); - muladd(m12, SECP256K1_N_C_1); - muladd(m11, SECP256K1_N_C_2); - muladd(m10, SECP256K1_N_C_3); - sumadd(m9); - uint32_t p5; extract(p5); - sumadd(m6); - muladd(m12, SECP256K1_N_C_2); - muladd(m11, SECP256K1_N_C_3); - sumadd(m10); - uint32_t p6; extract(p6); - sumadd_fast(m7); - muladd_fast(m12, SECP256K1_N_C_3); - sumadd_fast(m11); - uint32_t p7; extract_fast(p7); - uint32_t p8 = c0 + m12; - VERIFY_CHECK(p8 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..7] = p[0..7] + p[8] * SECP256K1_N_C. */ - uint64_t c = p0 + (uint64_t)SECP256K1_N_C_0 * p8; - r->d[0] = c & 0xFFFFFFFFUL; c >>= 32; - c += p1 + (uint64_t)SECP256K1_N_C_1 * p8; - r->d[1] = c & 0xFFFFFFFFUL; c >>= 32; - c += p2 + (uint64_t)SECP256K1_N_C_2 * p8; - r->d[2] = c & 0xFFFFFFFFUL; c >>= 32; - c += p3 + (uint64_t)SECP256K1_N_C_3 * p8; - r->d[3] = c & 0xFFFFFFFFUL; c >>= 32; - c += p4 + (uint64_t)p8; - r->d[4] = c & 0xFFFFFFFFUL; c >>= 32; - c += p5; - r->d[5] = c & 0xFFFFFFFFUL; c >>= 32; - c += p6; - r->d[6] = c & 0xFFFFFFFFUL; c >>= 32; - c += p7; - r->d[7] = c & 0xFFFFFFFFUL; c >>= 32; - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint32_t l[16], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7] * b[0..7]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[0], b->d[4]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - muladd(a->d[4], b->d[0]); - extract(l[4]); - muladd(a->d[0], b->d[5]); - muladd(a->d[1], b->d[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - muladd(a->d[4], b->d[1]); - muladd(a->d[5], b->d[0]); - extract(l[5]); - muladd(a->d[0], b->d[6]); - muladd(a->d[1], b->d[5]); - muladd(a->d[2], b->d[4]); - muladd(a->d[3], b->d[3]); - muladd(a->d[4], b->d[2]); - muladd(a->d[5], b->d[1]); - muladd(a->d[6], b->d[0]); - extract(l[6]); - muladd(a->d[0], b->d[7]); - muladd(a->d[1], b->d[6]); - muladd(a->d[2], b->d[5]); - muladd(a->d[3], b->d[4]); - muladd(a->d[4], b->d[3]); - muladd(a->d[5], b->d[2]); - muladd(a->d[6], b->d[1]); - muladd(a->d[7], b->d[0]); - extract(l[7]); - muladd(a->d[1], b->d[7]); - muladd(a->d[2], b->d[6]); - muladd(a->d[3], b->d[5]); - muladd(a->d[4], b->d[4]); - muladd(a->d[5], b->d[3]); - muladd(a->d[6], b->d[2]); - muladd(a->d[7], b->d[1]); - extract(l[8]); - muladd(a->d[2], b->d[7]); - muladd(a->d[3], b->d[6]); - muladd(a->d[4], b->d[5]); - muladd(a->d[5], b->d[4]); - muladd(a->d[6], b->d[3]); - muladd(a->d[7], b->d[2]); - extract(l[9]); - muladd(a->d[3], b->d[7]); - muladd(a->d[4], b->d[6]); - muladd(a->d[5], b->d[5]); - muladd(a->d[6], b->d[4]); - muladd(a->d[7], b->d[3]); - extract(l[10]); - muladd(a->d[4], b->d[7]); - muladd(a->d[5], b->d[6]); - muladd(a->d[6], b->d[5]); - muladd(a->d[7], b->d[4]); - extract(l[11]); - muladd(a->d[5], b->d[7]); - muladd(a->d[6], b->d[6]); - muladd(a->d[7], b->d[5]); - extract(l[12]); - muladd(a->d[6], b->d[7]); - muladd(a->d[7], b->d[6]); - extract(l[13]); - muladd_fast(a->d[7], b->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -static void secp256k1_scalar_sqr_512(uint32_t l[16], const secp256k1_scalar_t *a) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7]^2. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[0], a->d[4]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[0], a->d[5]); - muladd2(a->d[1], a->d[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd2(a->d[0], a->d[6]); - muladd2(a->d[1], a->d[5]); - muladd2(a->d[2], a->d[4]); - muladd(a->d[3], a->d[3]); - extract(l[6]); - muladd2(a->d[0], a->d[7]); - muladd2(a->d[1], a->d[6]); - muladd2(a->d[2], a->d[5]); - muladd2(a->d[3], a->d[4]); - extract(l[7]); - muladd2(a->d[1], a->d[7]); - muladd2(a->d[2], a->d[6]); - muladd2(a->d[3], a->d[5]); - muladd(a->d[4], a->d[4]); - extract(l[8]); - muladd2(a->d[2], a->d[7]); - muladd2(a->d[3], a->d[6]); - muladd2(a->d[4], a->d[5]); - extract(l[9]); - muladd2(a->d[3], a->d[7]); - muladd2(a->d[4], a->d[6]); - muladd(a->d[5], a->d[5]); - extract(l[10]); - muladd2(a->d[4], a->d[7]); - muladd2(a->d[5], a->d[6]); - extract(l[11]); - muladd2(a->d[5], a->d[7]); - muladd(a->d[6], a->d[6]); - extract(l[12]); - muladd2(a->d[6], a->d[7]); - extract(l[13]); - muladd_fast(a->d[7], a->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint32_t l[16]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint32_t l[16]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = a->d[2]; - r1->d[3] = a->d[3]; - r1->d[4] = 0; - r1->d[5] = 0; - r1->d[6] = 0; - r1->d[7] = 0; - r2->d[0] = a->d[4]; - r2->d[1] = a->d[5]; - r2->d[2] = a->d[6]; - r2->d[3] = a->d[7]; - r2->d[4] = 0; - r2->d[5] = 0; - r2->d[6] = 0; - r2->d[7] = 0; -} - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { - VERIFY_CHECK(shift >= 256); - uint32_t l[16]; - secp256k1_scalar_mul_512(l, a, b); - unsigned int shiftlimbs = shift >> 5; - unsigned int shiftlow = shift & 0x1F; - unsigned int shifthigh = 32 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 480 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 480 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 448 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 416 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 416 ? (l[3 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[4 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[4] = shift < 384 ? (l[4 + shiftlimbs] >> shiftlow | (shift < 352 && shiftlow ? (l[5 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[5] = shift < 352 ? (l[5 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[6 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[6] = shift < 320 ? (l[6 + shiftlimbs] >> shiftlow | (shift < 288 && shiftlow ? (l[7 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[7] = shift < 288 ? (l[7 + shiftlimbs] >> shiftlow) : 0; - if ((l[(shift - 1) >> 5] >> ((shift - 1) & 0x1f)) & 1) { - secp256k1_scalar_add_bit(r, 0); - } -} - -#endif diff --git a/src/secp256k1/src/scalar_impl.h b/src/secp256k1/src/scalar_impl.h deleted file mode 100644 index 7fc159df7..000000000 --- a/src/secp256k1/src/scalar_impl.h +++ /dev/null @@ -1,336 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_IMPL_H_ -#define _SECP256K1_SCALAR_IMPL_H_ - -#include - -#include "group.h" -#include "scalar.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_SCALAR_4X64) -#include "scalar_4x64_impl.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32_impl.h" -#else -#error "Please select scalar implementation" -#endif - -typedef struct { -#ifndef USE_NUM_NONE - secp256k1_num_t order; -#endif -#ifdef USE_ENDOMORPHISM - secp256k1_scalar_t minus_lambda, minus_b1, minus_b2, g1, g2; -#endif -} secp256k1_scalar_consts_t; - -static const secp256k1_scalar_consts_t *secp256k1_scalar_consts = NULL; - -static void secp256k1_scalar_start(void) { - if (secp256k1_scalar_consts != NULL) - return; - - /* Allocate. */ - secp256k1_scalar_consts_t *ret = (secp256k1_scalar_consts_t*)malloc(sizeof(secp256k1_scalar_consts_t)); - -#ifndef USE_NUM_NONE - static const unsigned char secp256k1_scalar_consts_order[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, - 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 - }; - secp256k1_num_set_bin(&ret->order, secp256k1_scalar_consts_order, sizeof(secp256k1_scalar_consts_order)); -#endif -#ifdef USE_ENDOMORPHISM - /** - * Lambda is a scalar which has the property for secp256k1 that point multiplication by - * it is efficiently computable (see secp256k1_gej_mul_lambda). */ - static const unsigned char secp256k1_scalar_consts_lambda[32] = { - 0x53,0x63,0xad,0x4c,0xc0,0x5c,0x30,0xe0, - 0xa5,0x26,0x1c,0x02,0x88,0x12,0x64,0x5a, - 0x12,0x2e,0x22,0xea,0x20,0x81,0x66,0x78, - 0xdf,0x02,0x96,0x7c,0x1b,0x23,0xbd,0x72 - }; - /** - * "Guide to Elliptic Curve Cryptography" (Hankerson, Menezes, Vanstone) gives an algorithm - * (algorithm 3.74) to find k1 and k2 given k, such that k1 + k2 * lambda == k mod n, and k1 - * and k2 have a small size. - * It relies on constants a1, b1, a2, b2. These constants for the value of lambda above are: - * - * - a1 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - b1 = -{0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3} - * - a2 = {0x01,0x14,0xca,0x50,0xf7,0xa8,0xe2,0xf3,0xf6,0x57,0xc1,0x10,0x8d,0x9d,0x44,0xcf,0xd8} - * - b2 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - * The algorithm then computes c1 = round(b1 * k / n) and c2 = round(b2 * k / n), and gives - * k1 = k - (c1*a1 + c2*a2) and k2 = -(c1*b1 + c2*b2). Instead, we use modular arithmetic, and - * compute k1 as k - k2 * lambda, avoiding the need for constants a1 and a2. - * - * g1, g2 are precomputed constants used to replace division with a rounded multiplication - * when decomposing the scalar for an endomorphism-based point multiplication. - * - * The possibility of using precomputed estimates is mentioned in "Guide to Elliptic Curve - * Cryptography" (Hankerson, Menezes, Vanstone) in section 3.5. - * - * The derivation is described in the paper "Efficient Software Implementation of Public-Key - * Cryptography on Sensor Networks Using the MSP430X Microcontroller" (Gouvea, Oliveira, Lopez), - * Section 4.3 (here we use a somewhat higher-precision estimate): - * d = a1*b2 - b1*a2 - * g1 = round((2^272)*b2/d) - * g2 = round((2^272)*b1/d) - * - * (Note that 'd' is also equal to the curve order here because [a1,b1] and [a2,b2] are found - * as outputs of the Extended Euclidean Algorithm on inputs 'order' and 'lambda'). - */ - static const unsigned char secp256k1_scalar_consts_minus_b1[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28, - 0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3 - }; - static const unsigned char secp256k1_scalar_consts_b2[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd, - 0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15 - }; - static const unsigned char secp256k1_scalar_consts_g1[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x86, - 0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c, - 0x90,0xe4,0x92,0x84,0xeb,0x15,0x3d,0xab - }; - static const unsigned char secp256k1_scalar_consts_g2[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xe4,0x43, - 0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54, - 0x7f,0xa9,0x0a,0xbf,0xe4,0xc4,0x22,0x12 - }; - - secp256k1_scalar_set_b32(&ret->minus_lambda, secp256k1_scalar_consts_lambda, NULL); - secp256k1_scalar_negate(&ret->minus_lambda, &ret->minus_lambda); - secp256k1_scalar_set_b32(&ret->minus_b1, secp256k1_scalar_consts_minus_b1, NULL); - secp256k1_scalar_set_b32(&ret->minus_b2, secp256k1_scalar_consts_b2, NULL); - secp256k1_scalar_negate(&ret->minus_b2, &ret->minus_b2); - secp256k1_scalar_set_b32(&ret->g1, secp256k1_scalar_consts_g1, NULL); - secp256k1_scalar_set_b32(&ret->g2, secp256k1_scalar_consts_g2, NULL); -#endif - - /* Set the global pointer. */ - secp256k1_scalar_consts = ret; -} - -static void secp256k1_scalar_stop(void) { - if (secp256k1_scalar_consts == NULL) - return; - - secp256k1_scalar_consts_t *c = (secp256k1_scalar_consts_t*)secp256k1_scalar_consts; - secp256k1_scalar_consts = NULL; - free(c); -} - -#ifndef USE_NUM_NONE -static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a) { - unsigned char c[32]; - secp256k1_scalar_get_b32(c, a); - secp256k1_num_set_bin(r, c, 32); -} - -static void secp256k1_scalar_order_get_num(secp256k1_num_t *r) { - *r = secp256k1_scalar_consts->order; -} -#endif - -static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { - /* First compute x ^ (2^N - 1) for some values of N. */ - secp256k1_scalar_t x2, x3, x4, x6, x7, x8, x15, x30, x60, x120, x127; - - secp256k1_scalar_sqr(&x2, x); - secp256k1_scalar_mul(&x2, &x2, x); - - secp256k1_scalar_sqr(&x3, &x2); - secp256k1_scalar_mul(&x3, &x3, x); - - secp256k1_scalar_sqr(&x4, &x3); - secp256k1_scalar_mul(&x4, &x4, x); - - secp256k1_scalar_sqr(&x6, &x4); - secp256k1_scalar_sqr(&x6, &x6); - secp256k1_scalar_mul(&x6, &x6, &x2); - - secp256k1_scalar_sqr(&x7, &x6); - secp256k1_scalar_mul(&x7, &x7, x); - - secp256k1_scalar_sqr(&x8, &x7); - secp256k1_scalar_mul(&x8, &x8, x); - - secp256k1_scalar_sqr(&x15, &x8); - for (int i=0; i<6; i++) - secp256k1_scalar_sqr(&x15, &x15); - secp256k1_scalar_mul(&x15, &x15, &x7); - - secp256k1_scalar_sqr(&x30, &x15); - for (int i=0; i<14; i++) - secp256k1_scalar_sqr(&x30, &x30); - secp256k1_scalar_mul(&x30, &x30, &x15); - - secp256k1_scalar_sqr(&x60, &x30); - for (int i=0; i<29; i++) - secp256k1_scalar_sqr(&x60, &x60); - secp256k1_scalar_mul(&x60, &x60, &x30); - - secp256k1_scalar_sqr(&x120, &x60); - for (int i=0; i<59; i++) - secp256k1_scalar_sqr(&x120, &x120); - secp256k1_scalar_mul(&x120, &x120, &x60); - - secp256k1_scalar_sqr(&x127, &x120); - for (int i=0; i<6; i++) - secp256k1_scalar_sqr(&x127, &x127); - secp256k1_scalar_mul(&x127, &x127, &x7); - - /* Then accumulate the final result (t starts at x127). */ - secp256k1_scalar_t *t = &x127; - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<3; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<5; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<4; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x4); /* 1111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<10; i++) /* 0000000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<9; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x8); /* 11111111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x4); /* 1111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<4; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<8; i++) /* 000000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<3; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<6; i++) /* 00000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<8; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(r, t, &x6); /* 111111 */ -} - -static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { -#if defined(USE_SCALAR_INV_BUILTIN) - secp256k1_scalar_inverse(r, x); -#elif defined(USE_SCALAR_INV_NUM) - unsigned char b[32]; - secp256k1_scalar_get_b32(b, x); - secp256k1_num_t n; - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_mod_inverse(&n, &n, &secp256k1_scalar_consts->order); - secp256k1_num_get_bin(b, 32, &n); - secp256k1_scalar_set_b32(r, b, NULL); -#else -#error "Please select scalar inverse implementation" -#endif -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - VERIFY_CHECK(r1 != a); - VERIFY_CHECK(r2 != a); - secp256k1_scalar_t c1, c2; - secp256k1_scalar_mul_shift_var(&c1, a, &secp256k1_scalar_consts->g1, 272); - secp256k1_scalar_mul_shift_var(&c2, a, &secp256k1_scalar_consts->g2, 272); - secp256k1_scalar_mul(&c1, &c1, &secp256k1_scalar_consts->minus_b1); - secp256k1_scalar_mul(&c2, &c2, &secp256k1_scalar_consts->minus_b2); - secp256k1_scalar_add(r2, &c1, &c2); - secp256k1_scalar_mul(r1, r2, &secp256k1_scalar_consts->minus_lambda); - secp256k1_scalar_add(r1, r1, a); -} -#endif - -#endif diff --git a/src/secp256k1/src/secp256k1.c b/src/secp256k1/src/secp256k1.c deleted file mode 100644 index 20fc27df7..000000000 --- a/src/secp256k1/src/secp256k1.c +++ /dev/null @@ -1,328 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#define SECP256K1_BUILD (1) - -#include "include/secp256k1.h" - -#include "util.h" -#include "num_impl.h" -#include "field_impl.h" -#include "scalar_impl.h" -#include "group_impl.h" -#include "ecmult_impl.h" -#include "ecmult_gen_impl.h" -#include "ecdsa_impl.h" -#include "eckey_impl.h" - -void secp256k1_start(unsigned int flags) { - secp256k1_fe_start(); - secp256k1_ge_start(); - secp256k1_scalar_start(); - secp256k1_ecdsa_start(); - if (flags & SECP256K1_START_SIGN) { - secp256k1_ecmult_gen_start(); - } - if (flags & SECP256K1_START_VERIFY) { - secp256k1_ecmult_start(); - } -} - -void secp256k1_stop(void) { - secp256k1_ecmult_stop(); - secp256k1_ecmult_gen_stop(); - secp256k1_ecdsa_stop(); - secp256k1_scalar_stop(); - secp256k1_ge_stop(); - secp256k1_fe_stop(); -} - -int secp256k1_ecdsa_verify(const unsigned char *msg, int msglen, const unsigned char *sig, int siglen, const unsigned char *pubkey, int pubkeylen) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(msg != NULL); - DEBUG_CHECK(msglen <= 32); - DEBUG_CHECK(sig != NULL); - DEBUG_CHECK(pubkey != NULL); - - unsigned char msg32[32] = {0}; - memcpy(msg32 + 32 - msglen, msg, msglen); - int ret = -3; - secp256k1_scalar_t m; - secp256k1_ecdsa_sig_t s; - secp256k1_ge_t q; - secp256k1_scalar_set_b32(&m, msg32, NULL); - - if (!secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen)) { - ret = -1; - goto end; - } - if (!secp256k1_ecdsa_sig_parse(&s, sig, siglen)) { - ret = -2; - goto end; - } - if (!secp256k1_ecdsa_sig_verify(&s, &q, &m)) { - ret = 0; - goto end; - } - ret = 1; -end: - return ret; -} - -int secp256k1_ecdsa_sign(const unsigned char *message, int messagelen, unsigned char *signature, int *signaturelen, const unsigned char *seckey, const unsigned char *nonce) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(message != NULL); - DEBUG_CHECK(messagelen <= 32); - DEBUG_CHECK(signature != NULL); - DEBUG_CHECK(signaturelen != NULL); - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(nonce != NULL); - - secp256k1_scalar_t sec, non, msg; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int overflow = 0; - secp256k1_scalar_set_b32(&non, nonce, &overflow); - { - unsigned char c[32] = {0}; - memcpy(c + 32 - messagelen, message, messagelen); - secp256k1_scalar_set_b32(&msg, c, NULL); - memset(c, 0, 32); - } - int ret = !secp256k1_scalar_is_zero(&non) && !overflow; - secp256k1_ecdsa_sig_t sig; - if (ret) { - ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, NULL); - } - if (ret) { - secp256k1_ecdsa_sig_serialize(signature, signaturelen, &sig); - } - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ecdsa_sign_compact(const unsigned char *message, int messagelen, unsigned char *sig64, const unsigned char *seckey, const unsigned char *nonce, int *recid) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(message != NULL); - DEBUG_CHECK(messagelen <= 32); - DEBUG_CHECK(sig64 != NULL); - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(nonce != NULL); - - secp256k1_scalar_t sec, non, msg; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int overflow = 0; - secp256k1_scalar_set_b32(&non, nonce, &overflow); - { - unsigned char c[32] = {0}; - memcpy(c + 32 - messagelen, message, messagelen); - secp256k1_scalar_set_b32(&msg, c, NULL); - memset(c, 0, 32); - } - int ret = !secp256k1_scalar_is_zero(&non) && !overflow; - secp256k1_ecdsa_sig_t sig; - if (ret) { - ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, recid); - } - if (ret) { - secp256k1_scalar_get_b32(sig64, &sig.r); - secp256k1_scalar_get_b32(sig64 + 32, &sig.s); - } - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ecdsa_recover_compact(const unsigned char *msg, int msglen, const unsigned char *sig64, unsigned char *pubkey, int *pubkeylen, int compressed, int recid) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(msg != NULL); - DEBUG_CHECK(msglen <= 32); - DEBUG_CHECK(sig64 != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - DEBUG_CHECK(recid >= 0 && recid <= 3); - - int ret = 0; - unsigned char msg32[32] = {0}; - memcpy(msg32 + 32 - msglen, msg, msglen); - secp256k1_scalar_t m; - secp256k1_ecdsa_sig_t sig; - int overflow = 0; - secp256k1_scalar_set_b32(&sig.r, sig64, &overflow); - if (overflow) { - return 0; - } - secp256k1_scalar_set_b32(&sig.s, sig64 + 32, &overflow); - if (overflow) { - return 0; - } - secp256k1_scalar_set_b32(&m, msg32, NULL); - - secp256k1_ge_t q; - if (secp256k1_ecdsa_sig_recover(&sig, &q, &m, recid)) { - ret = secp256k1_eckey_pubkey_serialize(&q, pubkey, pubkeylen, compressed); - } - return ret; -} - -int secp256k1_ec_seckey_verify(const unsigned char *seckey) { - DEBUG_CHECK(seckey != NULL); - - secp256k1_scalar_t sec; - int overflow; - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - int ret = !secp256k1_scalar_is_zero(&sec) && !overflow; - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) { - DEBUG_CHECK(pubkey != NULL); - - secp256k1_ge_t q; - return secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen); -} - -int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsigned char *seckey, int compressed) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - DEBUG_CHECK(seckey != NULL); - - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - secp256k1_gej_t pj; - secp256k1_ecmult_gen(&pj, &sec); - secp256k1_scalar_clear(&sec); - secp256k1_ge_t p; - secp256k1_ge_set_gej(&p, &pj); - return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, compressed); -} - -int secp256k1_ec_pubkey_decompress(unsigned char *pubkey, int *pubkeylen) { - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - - secp256k1_ge_t p; - if (!secp256k1_eckey_pubkey_parse(&p, pubkey, *pubkeylen)) - return 0; - return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, 0); -} - -int secp256k1_ec_privkey_tweak_add(unsigned char *seckey, const unsigned char *tweak) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t term; - int overflow = 0; - secp256k1_scalar_set_b32(&term, tweak, &overflow); - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - - int ret = secp256k1_eckey_privkey_tweak_add(&sec, &term) && !overflow; - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&term); - return ret; -} - -int secp256k1_ec_pubkey_tweak_add(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t term; - int overflow = 0; - secp256k1_scalar_set_b32(&term, tweak, &overflow); - if (overflow) { - return 0; - } - secp256k1_ge_t p; - int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); - if (ret) { - ret = secp256k1_eckey_pubkey_tweak_add(&p, &term); - } - if (ret) { - int oldlen = pubkeylen; - ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); - VERIFY_CHECK(pubkeylen == oldlen); - } - - return ret; -} - -int secp256k1_ec_privkey_tweak_mul(unsigned char *seckey, const unsigned char *tweak) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t factor; - int overflow = 0; - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int ret = secp256k1_eckey_privkey_tweak_mul(&sec, &factor) && !overflow; - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&factor); - return ret; -} - -int secp256k1_ec_pubkey_tweak_mul(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t factor; - int overflow = 0; - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - if (overflow) { - return 0; - } - secp256k1_ge_t p; - int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); - if (ret) { - ret = secp256k1_eckey_pubkey_tweak_mul(&p, &factor); - } - if (ret) { - int oldlen = pubkeylen; - ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); - VERIFY_CHECK(pubkeylen == oldlen); - } - - return ret; -} - -int secp256k1_ec_privkey_export(const unsigned char *seckey, unsigned char *privkey, int *privkeylen, int compressed) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(privkey != NULL); - DEBUG_CHECK(privkeylen != NULL); - - secp256k1_scalar_t key; - secp256k1_scalar_set_b32(&key, seckey, NULL); - int ret = secp256k1_eckey_privkey_serialize(privkey, privkeylen, &key, compressed); - secp256k1_scalar_clear(&key); - return ret; -} - -int secp256k1_ec_privkey_import(unsigned char *seckey, const unsigned char *privkey, int privkeylen) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(privkey != NULL); - - secp256k1_scalar_t key; - int ret = secp256k1_eckey_privkey_parse(&key, privkey, privkeylen); - if (ret) - secp256k1_scalar_get_b32(seckey, &key); - secp256k1_scalar_clear(&key); - return ret; -} diff --git a/src/secp256k1/src/testrand.h b/src/secp256k1/src/testrand.h deleted file mode 100644 index 018b65cd5..000000000 --- a/src/secp256k1/src/testrand.h +++ /dev/null @@ -1,26 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_TESTRAND_H_ -#define _SECP256K1_TESTRAND_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -/** Seed the pseudorandom number generator. */ -SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v); - -/** Generate a pseudorandom 32-bit number. */ -static uint32_t secp256k1_rand32(void); - -/** Generate a pseudorandom 32-byte array. */ -static void secp256k1_rand256(unsigned char *b32); - -/** Generate a pseudorandom 32-byte array with long sequences of zero and one bits. */ -static void secp256k1_rand256_test(unsigned char *b32); - -#endif diff --git a/src/secp256k1/src/testrand_impl.h b/src/secp256k1/src/testrand_impl.h deleted file mode 100644 index 677c4b9a0..000000000 --- a/src/secp256k1/src/testrand_impl.h +++ /dev/null @@ -1,60 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_TESTRAND_IMPL_H_ -#define _SECP256K1_TESTRAND_IMPL_H_ - -#include -#include - -#include "testrand.h" - -static uint32_t secp256k1_Rz = 11, secp256k1_Rw = 11; - -SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v) { - secp256k1_Rz = v >> 32; - secp256k1_Rw = v; - - if (secp256k1_Rz == 0 || secp256k1_Rz == 0x9068ffffU) { - secp256k1_Rz = 111; - } - if (secp256k1_Rw == 0 || secp256k1_Rw == 0x464fffffU) { - secp256k1_Rw = 111; - } -} - -SECP256K1_INLINE static uint32_t secp256k1_rand32(void) { - secp256k1_Rz = 36969 * (secp256k1_Rz & 0xFFFF) + (secp256k1_Rz >> 16); - secp256k1_Rw = 18000 * (secp256k1_Rw & 0xFFFF) + (secp256k1_Rw >> 16); - return (secp256k1_Rw << 16) + (secp256k1_Rw >> 16) + secp256k1_Rz; -} - -static void secp256k1_rand256(unsigned char *b32) { - for (int i=0; i<8; i++) { - uint32_t r = secp256k1_rand32(); - b32[i*4 + 0] = (r >> 0) & 0xFF; - b32[i*4 + 1] = (r >> 8) & 0xFF; - b32[i*4 + 2] = (r >> 16) & 0xFF; - b32[i*4 + 3] = (r >> 24) & 0xFF; - } -} - -static void secp256k1_rand256_test(unsigned char *b32) { - int bits=0; - memset(b32, 0, 32); - while (bits < 256) { - uint32_t ent = secp256k1_rand32(); - int now = 1 + ((ent % 64)*((ent >> 6) % 32)+16)/31; - uint32_t val = 1 & (ent >> 11); - while (now > 0 && bits < 256) { - b32[bits / 8] |= val << (bits % 8); - now--; - bits++; - } - } -} - -#endif diff --git a/src/secp256k1/src/tests.c b/src/secp256k1/src/tests.c deleted file mode 100644 index 28db45695..000000000 --- a/src/secp256k1/src/tests.c +++ /dev/null @@ -1,1223 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include - -#include "secp256k1.c" -#include "testrand_impl.h" - -#ifdef ENABLE_OPENSSL_TESTS -#include "openssl/bn.h" -#include "openssl/ec.h" -#include "openssl/ecdsa.h" -#include "openssl/obj_mac.h" -#endif - -static int count = 64; - -void random_field_element_test(secp256k1_fe_t *fe) { - do { - unsigned char b32[32]; - secp256k1_rand256_test(b32); - if (secp256k1_fe_set_b32(fe, b32)) { - break; - } - } while(1); -} - -void random_field_element_magnitude(secp256k1_fe_t *fe) { - secp256k1_fe_normalize(fe); - int n = secp256k1_rand32() % 4; - for (int i = 0; i < n; i++) { - secp256k1_fe_negate(fe, fe, 1 + 2*i); - secp256k1_fe_negate(fe, fe, 2 + 2*i); - } -} - -void random_group_element_test(secp256k1_ge_t *ge) { - secp256k1_fe_t fe; - do { - random_field_element_test(&fe); - if (secp256k1_ge_set_xo(ge, &fe, secp256k1_rand32() & 1)) - break; - } while(1); -} - -void random_group_element_jacobian_test(secp256k1_gej_t *gej, const secp256k1_ge_t *ge) { - do { - random_field_element_test(&gej->z); - if (!secp256k1_fe_is_zero(&gej->z)) { - break; - } - } while(1); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &gej->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &z2, &gej->z); - secp256k1_fe_mul(&gej->x, &ge->x, &z2); - secp256k1_fe_mul(&gej->y, &ge->y, &z3); - gej->infinity = ge->infinity; -} - -void random_scalar_order_test(secp256k1_scalar_t *num) { - do { - unsigned char b32[32]; - secp256k1_rand256_test(b32); - int overflow = 0; - secp256k1_scalar_set_b32(num, b32, &overflow); - if (overflow || secp256k1_scalar_is_zero(num)) - continue; - break; - } while(1); -} - -void random_scalar_order(secp256k1_scalar_t *num) { - do { - unsigned char b32[32]; - secp256k1_rand256(b32); - int overflow = 0; - secp256k1_scalar_set_b32(num, b32, &overflow); - if (overflow || secp256k1_scalar_is_zero(num)) - continue; - break; - } while(1); -} - -/***** NUM TESTS *****/ - -#ifndef USE_NUM_NONE -void random_num_negate(secp256k1_num_t *num) { - if (secp256k1_rand32() & 1) - secp256k1_num_negate(num); -} - -void random_num_order_test(secp256k1_num_t *num) { - secp256k1_scalar_t sc; - random_scalar_order_test(&sc); - secp256k1_scalar_get_num(num, &sc); -} - -void random_num_order(secp256k1_num_t *num) { - secp256k1_scalar_t sc; - random_scalar_order(&sc); - secp256k1_scalar_get_num(num, &sc); -} - -void test_num_negate(void) { - secp256k1_num_t n1; - secp256k1_num_t n2; - random_num_order_test(&n1); /* n1 = R */ - random_num_negate(&n1); - secp256k1_num_copy(&n2, &n1); /* n2 = R */ - secp256k1_num_sub(&n1, &n2, &n1); /* n1 = n2-n1 = 0 */ - CHECK(secp256k1_num_is_zero(&n1)); - secp256k1_num_copy(&n1, &n2); /* n1 = R */ - secp256k1_num_negate(&n1); /* n1 = -R */ - CHECK(!secp256k1_num_is_zero(&n1)); - secp256k1_num_add(&n1, &n2, &n1); /* n1 = n2+n1 = 0 */ - CHECK(secp256k1_num_is_zero(&n1)); - secp256k1_num_copy(&n1, &n2); /* n1 = R */ - secp256k1_num_negate(&n1); /* n1 = -R */ - CHECK(secp256k1_num_is_neg(&n1) != secp256k1_num_is_neg(&n2)); - secp256k1_num_negate(&n1); /* n1 = R */ - CHECK(secp256k1_num_eq(&n1, &n2)); -} - -void test_num_add_sub(void) { - int r = secp256k1_rand32(); - secp256k1_num_t n1; - secp256k1_num_t n2; - random_num_order_test(&n1); /* n1 = R1 */ - if (r & 1) { - random_num_negate(&n1); - } - random_num_order_test(&n2); /* n2 = R2 */ - if (r & 2) { - random_num_negate(&n2); - } - secp256k1_num_t n1p2, n2p1, n1m2, n2m1; - secp256k1_num_add(&n1p2, &n1, &n2); /* n1p2 = R1 + R2 */ - secp256k1_num_add(&n2p1, &n2, &n1); /* n2p1 = R2 + R1 */ - secp256k1_num_sub(&n1m2, &n1, &n2); /* n1m2 = R1 - R2 */ - secp256k1_num_sub(&n2m1, &n2, &n1); /* n2m1 = R2 - R1 */ - CHECK(secp256k1_num_eq(&n1p2, &n2p1)); - CHECK(!secp256k1_num_eq(&n1p2, &n1m2)); - secp256k1_num_negate(&n2m1); /* n2m1 = -R2 + R1 */ - CHECK(secp256k1_num_eq(&n2m1, &n1m2)); - CHECK(!secp256k1_num_eq(&n2m1, &n1)); - secp256k1_num_add(&n2m1, &n2m1, &n2); /* n2m1 = -R2 + R1 + R2 = R1 */ - CHECK(secp256k1_num_eq(&n2m1, &n1)); - CHECK(!secp256k1_num_eq(&n2p1, &n1)); - secp256k1_num_sub(&n2p1, &n2p1, &n2); /* n2p1 = R2 + R1 - R2 = R1 */ - CHECK(secp256k1_num_eq(&n2p1, &n1)); -} - -void run_num_smalltests(void) { - for (int i=0; i<100*count; i++) { - test_num_negate(); - test_num_add_sub(); - } -} -#endif - -/***** SCALAR TESTS *****/ - -void scalar_test(void) { - unsigned char c[32]; - - /* Set 's' to a random scalar, with value 'snum'. */ - secp256k1_scalar_t s; - random_scalar_order_test(&s); - - /* Set 's1' to a random scalar, with value 's1num'. */ - secp256k1_scalar_t s1; - random_scalar_order_test(&s1); - - /* Set 's2' to a random scalar, with value 'snum2', and byte array representation 'c'. */ - secp256k1_scalar_t s2; - random_scalar_order_test(&s2); - secp256k1_scalar_get_b32(c, &s2); - -#ifndef USE_NUM_NONE - secp256k1_num_t snum, s1num, s2num; - secp256k1_scalar_get_num(&snum, &s); - secp256k1_scalar_get_num(&s1num, &s1); - secp256k1_scalar_get_num(&s2num, &s2); - - secp256k1_num_t order; - secp256k1_scalar_order_get_num(&order); - secp256k1_num_t half_order = order; - secp256k1_num_shift(&half_order, 1); -#endif - - { - /* Test that fetching groups of 4 bits from a scalar and recursing n(i)=16*n(i-1)+p(i) reconstructs it. */ - secp256k1_scalar_t n; - secp256k1_scalar_set_int(&n, 0); - for (int i = 0; i < 256; i += 4) { - secp256k1_scalar_t t; - secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits(&s, 256 - 4 - i, 4)); - for (int j = 0; j < 4; j++) { - secp256k1_scalar_add(&n, &n, &n); - } - secp256k1_scalar_add(&n, &n, &t); - } - CHECK(secp256k1_scalar_eq(&n, &s)); - } - - { - /* Test that fetching groups of randomly-sized bits from a scalar and recursing n(i)=b*n(i-1)+p(i) reconstructs it. */ - secp256k1_scalar_t n; - secp256k1_scalar_set_int(&n, 0); - int i = 0; - while (i < 256) { - int now = (secp256k1_rand32() % 15) + 1; - if (now + i > 256) { - now = 256 - i; - } - secp256k1_scalar_t t; - secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits_var(&s, 256 - now - i, now)); - for (int j = 0; j < now; j++) { - secp256k1_scalar_add(&n, &n, &n); - } - secp256k1_scalar_add(&n, &n, &t); - i += now; - } - CHECK(secp256k1_scalar_eq(&n, &s)); - } - -#ifndef USE_NUM_NONE - { - /* Test that adding the scalars together is equal to adding their numbers together modulo the order. */ - secp256k1_num_t rnum; - secp256k1_num_add(&rnum, &snum, &s2num); - secp256k1_num_mod(&rnum, &order); - secp256k1_scalar_t r; - secp256k1_scalar_add(&r, &s, &s2); - secp256k1_num_t r2num; - secp256k1_scalar_get_num(&r2num, &r); - CHECK(secp256k1_num_eq(&rnum, &r2num)); - } - - { - /* Test that multipying the scalars is equal to multiplying their numbers modulo the order. */ - secp256k1_num_t rnum; - secp256k1_num_mul(&rnum, &snum, &s2num); - secp256k1_num_mod(&rnum, &order); - secp256k1_scalar_t r; - secp256k1_scalar_mul(&r, &s, &s2); - secp256k1_num_t r2num; - secp256k1_scalar_get_num(&r2num, &r); - CHECK(secp256k1_num_eq(&rnum, &r2num)); - /* The result can only be zero if at least one of the factors was zero. */ - CHECK(secp256k1_scalar_is_zero(&r) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_zero(&s2))); - /* The results can only be equal to one of the factors if that factor was zero, or the other factor was one. */ - CHECK(secp256k1_num_eq(&rnum, &snum) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_one(&s2))); - CHECK(secp256k1_num_eq(&rnum, &s2num) == (secp256k1_scalar_is_zero(&s2) || secp256k1_scalar_is_one(&s))); - } - - { - /* Check that comparison with zero matches comparison with zero on the number. */ - CHECK(secp256k1_num_is_zero(&snum) == secp256k1_scalar_is_zero(&s)); - /* Check that comparison with the half order is equal to testing for high scalar. */ - CHECK(secp256k1_scalar_is_high(&s) == (secp256k1_num_cmp(&snum, &half_order) > 0)); - secp256k1_scalar_t neg; - secp256k1_scalar_negate(&neg, &s); - secp256k1_num_t negnum; - secp256k1_num_sub(&negnum, &order, &snum); - secp256k1_num_mod(&negnum, &order); - /* Check that comparison with the half order is equal to testing for high scalar after negation. */ - CHECK(secp256k1_scalar_is_high(&neg) == (secp256k1_num_cmp(&negnum, &half_order) > 0)); - /* Negating should change the high property, unless the value was already zero. */ - CHECK((secp256k1_scalar_is_high(&s) == secp256k1_scalar_is_high(&neg)) == secp256k1_scalar_is_zero(&s)); - secp256k1_num_t negnum2; - secp256k1_scalar_get_num(&negnum2, &neg); - /* Negating a scalar should be equal to (order - n) mod order on the number. */ - CHECK(secp256k1_num_eq(&negnum, &negnum2)); - secp256k1_scalar_add(&neg, &neg, &s); - /* Adding a number to its negation should result in zero. */ - CHECK(secp256k1_scalar_is_zero(&neg)); - secp256k1_scalar_negate(&neg, &neg); - /* Negating zero should still result in zero. */ - CHECK(secp256k1_scalar_is_zero(&neg)); - } - - { - /* Test secp256k1_scalar_mul_shift_var. */ - secp256k1_scalar_t r; - unsigned int shift = 256 + (secp256k1_rand32() % 257); - secp256k1_scalar_mul_shift_var(&r, &s1, &s2, shift); - secp256k1_num_t rnum; - secp256k1_num_mul(&rnum, &s1num, &s2num); - secp256k1_num_shift(&rnum, shift - 1); - secp256k1_num_t one; - unsigned char cone[1] = {0x01}; - secp256k1_num_set_bin(&one, cone, 1); - secp256k1_num_add(&rnum, &rnum, &one); - secp256k1_num_shift(&rnum, 1); - secp256k1_num_t rnum2; - secp256k1_scalar_get_num(&rnum2, &r); - CHECK(secp256k1_num_eq(&rnum, &rnum2)); - } -#endif - - { - /* Test that scalar inverses are equal to the inverse of their number modulo the order. */ - if (!secp256k1_scalar_is_zero(&s)) { - secp256k1_scalar_t inv; - secp256k1_scalar_inverse(&inv, &s); -#ifndef USE_NUM_NONE - secp256k1_num_t invnum; - secp256k1_num_mod_inverse(&invnum, &snum, &order); - secp256k1_num_t invnum2; - secp256k1_scalar_get_num(&invnum2, &inv); - CHECK(secp256k1_num_eq(&invnum, &invnum2)); -#endif - secp256k1_scalar_mul(&inv, &inv, &s); - /* Multiplying a scalar with its inverse must result in one. */ - CHECK(secp256k1_scalar_is_one(&inv)); - secp256k1_scalar_inverse(&inv, &inv); - /* Inverting one must result in one. */ - CHECK(secp256k1_scalar_is_one(&inv)); - } - } - - { - /* Test commutativity of add. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_add(&r2, &s2, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test add_bit. */ - int bit = secp256k1_rand32() % 256; - secp256k1_scalar_t b; - secp256k1_scalar_set_int(&b, 1); - CHECK(secp256k1_scalar_is_one(&b)); - for (int i = 0; i < bit; i++) { - secp256k1_scalar_add(&b, &b, &b); - } - secp256k1_scalar_t r1 = s1, r2 = s1; - if (!secp256k1_scalar_add(&r1, &r1, &b)) { - /* No overflow happened. */ - secp256k1_scalar_add_bit(&r2, bit); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - } - - { - /* Test commutativity of mul. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_mul(&r1, &s1, &s2); - secp256k1_scalar_mul(&r2, &s2, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test associativity of add. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_add(&r1, &r1, &s); - secp256k1_scalar_add(&r2, &s2, &s); - secp256k1_scalar_add(&r2, &s1, &r2); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test associativity of mul. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_mul(&r1, &s1, &s2); - secp256k1_scalar_mul(&r1, &r1, &s); - secp256k1_scalar_mul(&r2, &s2, &s); - secp256k1_scalar_mul(&r2, &s1, &r2); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test distributitivity of mul over add. */ - secp256k1_scalar_t r1, r2, t; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_mul(&r1, &r1, &s); - secp256k1_scalar_mul(&r2, &s1, &s); - secp256k1_scalar_mul(&t, &s2, &s); - secp256k1_scalar_add(&r2, &r2, &t); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test square. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_sqr(&r1, &s1); - secp256k1_scalar_mul(&r2, &s1, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - -} - -void run_scalar_tests(void) { - for (int i = 0; i < 128 * count; i++) { - scalar_test(); - } - - { - /* (-1)+1 should be zero. */ - secp256k1_scalar_t s, o; - secp256k1_scalar_set_int(&s, 1); - secp256k1_scalar_negate(&o, &s); - secp256k1_scalar_add(&o, &o, &s); - CHECK(secp256k1_scalar_is_zero(&o)); - } - -#ifndef USE_NUM_NONE - { - /* A scalar with value of the curve order should be 0. */ - secp256k1_num_t order; - secp256k1_scalar_order_get_num(&order); - unsigned char bin[32]; - secp256k1_num_get_bin(bin, 32, &order); - secp256k1_scalar_t zero; - int overflow = 0; - secp256k1_scalar_set_b32(&zero, bin, &overflow); - CHECK(overflow == 1); - CHECK(secp256k1_scalar_is_zero(&zero)); - } -#endif -} - -/***** FIELD TESTS *****/ - -void random_fe(secp256k1_fe_t *x) { - unsigned char bin[32]; - do { - secp256k1_rand256(bin); - if (secp256k1_fe_set_b32(x, bin)) { - return; - } - } while(1); -} - -void random_fe_non_zero(secp256k1_fe_t *nz) { - int tries = 10; - while (--tries >= 0) { - random_fe(nz); - secp256k1_fe_normalize(nz); - if (!secp256k1_fe_is_zero(nz)) - break; - } - /* Infinitesimal probability of spurious failure here */ - CHECK(tries >= 0); -} - -void random_fe_non_square(secp256k1_fe_t *ns) { - random_fe_non_zero(ns); - secp256k1_fe_t r; - if (secp256k1_fe_sqrt(&r, ns)) { - secp256k1_fe_negate(ns, ns, 1); - } -} - -int check_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - secp256k1_fe_t an = *a; secp256k1_fe_normalize(&an); - secp256k1_fe_t bn = *b; secp256k1_fe_normalize(&bn); - return secp256k1_fe_equal(&an, &bn); -} - -int check_fe_inverse(const secp256k1_fe_t *a, const secp256k1_fe_t *ai) { - secp256k1_fe_t x; secp256k1_fe_mul(&x, a, ai); - secp256k1_fe_t one; secp256k1_fe_set_int(&one, 1); - return check_fe_equal(&x, &one); -} - -void run_field_inv(void) { - secp256k1_fe_t x, xi, xii; - for (int i=0; i<10*count; i++) { - random_fe_non_zero(&x); - secp256k1_fe_inv(&xi, &x); - CHECK(check_fe_inverse(&x, &xi)); - secp256k1_fe_inv(&xii, &xi); - CHECK(check_fe_equal(&x, &xii)); - } -} - -void run_field_inv_var(void) { - secp256k1_fe_t x, xi, xii; - for (int i=0; i<10*count; i++) { - random_fe_non_zero(&x); - secp256k1_fe_inv_var(&xi, &x); - CHECK(check_fe_inverse(&x, &xi)); - secp256k1_fe_inv_var(&xii, &xi); - CHECK(check_fe_equal(&x, &xii)); - } -} - -void run_field_inv_all(void) { - secp256k1_fe_t x[16], xi[16], xii[16]; - /* Check it's safe to call for 0 elements */ - secp256k1_fe_inv_all(0, xi, x); - for (int i=0; iinfinity && b->infinity) - return 1; - return check_fe_equal(&a->x, &b->x) && check_fe_equal(&a->y, &b->y); -} - -void ge_equals_gej(const secp256k1_ge_t *a, const secp256k1_gej_t *b) { - secp256k1_ge_t bb; - secp256k1_gej_t bj = *b; - secp256k1_ge_set_gej_var(&bb, &bj); - CHECK(ge_equals_ge(a, &bb)); -} - -void gej_equals_gej(const secp256k1_gej_t *a, const secp256k1_gej_t *b) { - secp256k1_ge_t aa, bb; - secp256k1_gej_t aj = *a, bj = *b; - secp256k1_ge_set_gej_var(&aa, &aj); - secp256k1_ge_set_gej_var(&bb, &bj); - CHECK(ge_equals_ge(&aa, &bb)); -} - -void test_ge(void) { - char ca[135]; - char cb[68]; - int rlen; - secp256k1_ge_t a, b, i, n; - random_group_element_test(&a); - random_group_element_test(&b); - rlen = sizeof(ca); - secp256k1_ge_get_hex(ca,&rlen,&a); - CHECK(rlen > 4 && rlen <= (int)sizeof(ca)); - rlen = sizeof(cb); - secp256k1_ge_get_hex(cb,&rlen,&b); /* Intentionally undersized buffer. */ - n = a; - secp256k1_fe_normalize(&a.y); - secp256k1_fe_negate(&n.y, &a.y, 1); - secp256k1_ge_set_infinity(&i); - random_field_element_magnitude(&a.x); - random_field_element_magnitude(&a.y); - random_field_element_magnitude(&b.x); - random_field_element_magnitude(&b.y); - random_field_element_magnitude(&n.x); - random_field_element_magnitude(&n.y); - - secp256k1_gej_t aj, bj, ij, nj; - random_group_element_jacobian_test(&aj, &a); - random_group_element_jacobian_test(&bj, &b); - secp256k1_gej_set_infinity(&ij); - random_group_element_jacobian_test(&nj, &n); - random_field_element_magnitude(&aj.x); - random_field_element_magnitude(&aj.y); - random_field_element_magnitude(&aj.z); - random_field_element_magnitude(&bj.x); - random_field_element_magnitude(&bj.y); - random_field_element_magnitude(&bj.z); - random_field_element_magnitude(&nj.x); - random_field_element_magnitude(&nj.y); - random_field_element_magnitude(&nj.z); - - /* gej + gej adds */ - secp256k1_gej_t aaj; secp256k1_gej_add_var(&aaj, &aj, &aj); - secp256k1_gej_t abj; secp256k1_gej_add_var(&abj, &aj, &bj); - secp256k1_gej_t aij; secp256k1_gej_add_var(&aij, &aj, &ij); - secp256k1_gej_t anj; secp256k1_gej_add_var(&anj, &aj, &nj); - secp256k1_gej_t iaj; secp256k1_gej_add_var(&iaj, &ij, &aj); - secp256k1_gej_t iij; secp256k1_gej_add_var(&iij, &ij, &ij); - - /* gej + ge adds */ - secp256k1_gej_t aa; secp256k1_gej_add_ge_var(&aa, &aj, &a); - secp256k1_gej_t ab; secp256k1_gej_add_ge_var(&ab, &aj, &b); - secp256k1_gej_t ai; secp256k1_gej_add_ge_var(&ai, &aj, &i); - secp256k1_gej_t an; secp256k1_gej_add_ge_var(&an, &aj, &n); - secp256k1_gej_t ia; secp256k1_gej_add_ge_var(&ia, &ij, &a); - secp256k1_gej_t ii; secp256k1_gej_add_ge_var(&ii, &ij, &i); - - /* const gej + ge adds */ - secp256k1_gej_t aac; secp256k1_gej_add_ge(&aac, &aj, &a); - secp256k1_gej_t abc; secp256k1_gej_add_ge(&abc, &aj, &b); - secp256k1_gej_t anc; secp256k1_gej_add_ge(&anc, &aj, &n); - secp256k1_gej_t iac; secp256k1_gej_add_ge(&iac, &ij, &a); - - CHECK(secp256k1_gej_is_infinity(&an)); - CHECK(secp256k1_gej_is_infinity(&anj)); - CHECK(secp256k1_gej_is_infinity(&anc)); - gej_equals_gej(&aa, &aaj); - gej_equals_gej(&aa, &aac); - gej_equals_gej(&ab, &abj); - gej_equals_gej(&ab, &abc); - gej_equals_gej(&an, &anj); - gej_equals_gej(&an, &anc); - gej_equals_gej(&ia, &iaj); - gej_equals_gej(&ai, &aij); - gej_equals_gej(&ii, &iij); - ge_equals_gej(&a, &ai); - ge_equals_gej(&a, &ai); - ge_equals_gej(&a, &iaj); - ge_equals_gej(&a, &iaj); - ge_equals_gej(&a, &iac); -} - -void run_ge(void) { - for (int i = 0; i < 2000*count; i++) { - test_ge(); - } -} - -/***** ECMULT TESTS *****/ - -void run_ecmult_chain(void) { - /* random starting point A (on the curve) */ - secp256k1_fe_t ax; VERIFY_CHECK(secp256k1_fe_set_hex(&ax, "8b30bbe9ae2a990696b22f670709dff3727fd8bc04d3362c6c7bf458e2846004", 64)); - secp256k1_fe_t ay; VERIFY_CHECK(secp256k1_fe_set_hex(&ay, "a357ae915c4a65281309edf20504740f0eb3343990216b4f81063cb65f2f7e0f", 64)); - secp256k1_gej_t a; secp256k1_gej_set_xy(&a, &ax, &ay); - /* two random initial factors xn and gn */ - static const unsigned char xni[32] = { - 0x84, 0xcc, 0x54, 0x52, 0xf7, 0xfd, 0xe1, 0xed, - 0xb4, 0xd3, 0x8a, 0x8c, 0xe9, 0xb1, 0xb8, 0x4c, - 0xce, 0xf3, 0x1f, 0x14, 0x6e, 0x56, 0x9b, 0xe9, - 0x70, 0x5d, 0x35, 0x7a, 0x42, 0x98, 0x54, 0x07 - }; - secp256k1_scalar_t xn; - secp256k1_scalar_set_b32(&xn, xni, NULL); - static const unsigned char gni[32] = { - 0xa1, 0xe5, 0x8d, 0x22, 0x55, 0x3d, 0xcd, 0x42, - 0xb2, 0x39, 0x80, 0x62, 0x5d, 0x4c, 0x57, 0xa9, - 0x6e, 0x93, 0x23, 0xd4, 0x2b, 0x31, 0x52, 0xe5, - 0xca, 0x2c, 0x39, 0x90, 0xed, 0xc7, 0xc9, 0xde - }; - secp256k1_scalar_t gn; - secp256k1_scalar_set_b32(&gn, gni, NULL); - /* two small multipliers to be applied to xn and gn in every iteration: */ - static const unsigned char xfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x13,0x37}; - secp256k1_scalar_t xf; - secp256k1_scalar_set_b32(&xf, xfi, NULL); - static const unsigned char gfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0x13}; - secp256k1_scalar_t gf; - secp256k1_scalar_set_b32(&gf, gfi, NULL); - /* accumulators with the resulting coefficients to A and G */ - secp256k1_scalar_t ae; - secp256k1_scalar_set_int(&ae, 1); - secp256k1_scalar_t ge; - secp256k1_scalar_set_int(&ge, 0); - /* the point being computed */ - secp256k1_gej_t x = a; - for (int i=0; i<200*count; i++) { - /* in each iteration, compute X = xn*X + gn*G; */ - secp256k1_ecmult(&x, &x, &xn, &gn); - /* also compute ae and ge: the actual accumulated factors for A and G */ - /* if X was (ae*A+ge*G), xn*X + gn*G results in (xn*ae*A + (xn*ge+gn)*G) */ - secp256k1_scalar_mul(&ae, &ae, &xn); - secp256k1_scalar_mul(&ge, &ge, &xn); - secp256k1_scalar_add(&ge, &ge, &gn); - /* modify xn and gn */ - secp256k1_scalar_mul(&xn, &xn, &xf); - secp256k1_scalar_mul(&gn, &gn, &gf); - - /* verify */ - if (i == 51474) { - char res[132]; int resl = 132; - secp256k1_gej_get_hex(res, &resl, &x); - CHECK(strcmp(res, "(D6E96687F9B10D092A6F35439D86CEBEA4535D0D409F53586440BD74B933E830,B95CBCA2C77DA786539BE8FD53354D2D3B4F566AE658045407ED6015EE1B2A88)") == 0); - } - } - /* redo the computation, but directly with the resulting ae and ge coefficients: */ - secp256k1_gej_t x2; secp256k1_ecmult(&x2, &a, &ae, &ge); - char res[132]; int resl = 132; - char res2[132]; int resl2 = 132; - secp256k1_gej_get_hex(res, &resl, &x); - secp256k1_gej_get_hex(res2, &resl2, &x2); - CHECK(strcmp(res, res2) == 0); - CHECK(strlen(res) == 131); -} - -void test_point_times_order(const secp256k1_gej_t *point) { - /* X * (point + G) + (order-X) * (pointer + G) = 0 */ - secp256k1_scalar_t x; - random_scalar_order_test(&x); - secp256k1_scalar_t nx; - secp256k1_scalar_negate(&nx, &x); - secp256k1_gej_t res1, res2; - secp256k1_ecmult(&res1, point, &x, &x); /* calc res1 = x * point + x * G; */ - secp256k1_ecmult(&res2, point, &nx, &nx); /* calc res2 = (order - x) * point + (order - x) * G; */ - secp256k1_gej_add_var(&res1, &res1, &res2); - CHECK(secp256k1_gej_is_infinity(&res1)); - CHECK(secp256k1_gej_is_valid(&res1) == 0); - secp256k1_ge_t res3; - secp256k1_ge_set_gej(&res3, &res1); - CHECK(secp256k1_ge_is_infinity(&res3)); - CHECK(secp256k1_ge_is_valid(&res3) == 0); -} - -void run_point_times_order(void) { - secp256k1_fe_t x; VERIFY_CHECK(secp256k1_fe_set_hex(&x, "02", 2)); - for (int i=0; i<500; i++) { - secp256k1_ge_t p; - if (secp256k1_ge_set_xo(&p, &x, 1)) { - CHECK(secp256k1_ge_is_valid(&p)); - secp256k1_gej_t j; - secp256k1_gej_set_ge(&j, &p); - CHECK(secp256k1_gej_is_valid(&j)); - test_point_times_order(&j); - } - secp256k1_fe_sqr(&x, &x); - } - char c[65]; int cl=65; - secp256k1_fe_get_hex(c, &cl, &x); - CHECK(strcmp(c, "7603CB59B0EF6C63FE6084792A0C378CDB3233A80F8A9A09A877DEAD31B38C45") == 0); -} - -void test_wnaf(const secp256k1_scalar_t *number, int w) { - secp256k1_scalar_t x, two, t; - secp256k1_scalar_set_int(&x, 0); - secp256k1_scalar_set_int(&two, 2); - int wnaf[256]; - int bits = secp256k1_ecmult_wnaf(wnaf, number, w); - CHECK(bits <= 256); - int zeroes = -1; - for (int i=bits-1; i>=0; i--) { - secp256k1_scalar_mul(&x, &x, &two); - int v = wnaf[i]; - if (v) { - CHECK(zeroes == -1 || zeroes >= w-1); /* check that distance between non-zero elements is at least w-1 */ - zeroes=0; - CHECK((v & 1) == 1); /* check non-zero elements are odd */ - CHECK(v <= (1 << (w-1)) - 1); /* check range below */ - CHECK(v >= -(1 << (w-1)) - 1); /* check range above */ - } else { - CHECK(zeroes != -1); /* check that no unnecessary zero padding exists */ - zeroes++; - } - if (v >= 0) { - secp256k1_scalar_set_int(&t, v); - } else { - secp256k1_scalar_set_int(&t, -v); - secp256k1_scalar_negate(&t, &t); - } - secp256k1_scalar_add(&x, &x, &t); - } - CHECK(secp256k1_scalar_eq(&x, number)); /* check that wnaf represents number */ -} - -void run_wnaf(void) { - secp256k1_scalar_t n; - for (int i=0; i= 0 && recid < 4); - CHECK(secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_scalar_add(&msg, &msg, &one); - CHECK(!secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); -} - -void run_ecdsa_sign_verify(void) { - for (int i=0; i<10*count; i++) { - test_ecdsa_sign_verify(); - } -} - -void test_ecdsa_end_to_end(void) { - unsigned char privkey[32]; - unsigned char message[32]; - - /* Generate a random key and message. */ - { - secp256k1_scalar_t msg, key; - random_scalar_order_test(&msg); - random_scalar_order_test(&key); - secp256k1_scalar_get_b32(privkey, &key); - secp256k1_scalar_get_b32(message, &msg); - } - - /* Construct and verify corresponding public key. */ - CHECK(secp256k1_ec_seckey_verify(privkey) == 1); - unsigned char pubkey[65]; int pubkeylen = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey, &pubkeylen, privkey, secp256k1_rand32() % 2) == 1); - CHECK(secp256k1_ec_pubkey_verify(pubkey, pubkeylen)); - - /* Verify private key import and export. */ - unsigned char seckey[300]; int seckeylen = 300; - CHECK(secp256k1_ec_privkey_export(privkey, seckey, &seckeylen, secp256k1_rand32() % 2) == 1); - unsigned char privkey2[32]; - CHECK(secp256k1_ec_privkey_import(privkey2, seckey, seckeylen) == 1); - CHECK(memcmp(privkey, privkey2, 32) == 0); - - /* Optionally tweak the keys using addition. */ - if (secp256k1_rand32() % 3 == 0) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - int ret1 = secp256k1_ec_privkey_tweak_add(privkey, rnd); - int ret2 = secp256k1_ec_pubkey_tweak_add(pubkey, pubkeylen, rnd); - CHECK(ret1 == ret2); - if (ret1 == 0) return; - unsigned char pubkey2[65]; int pubkeylen2 = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); - CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); - } - - /* Optionally tweak the keys using multiplication. */ - if (secp256k1_rand32() % 3 == 0) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - int ret1 = secp256k1_ec_privkey_tweak_mul(privkey, rnd); - int ret2 = secp256k1_ec_pubkey_tweak_mul(pubkey, pubkeylen, rnd); - CHECK(ret1 == ret2); - if (ret1 == 0) return; - unsigned char pubkey2[65]; int pubkeylen2 = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); - CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); - } - - /* Sign. */ - unsigned char signature[72]; int signaturelen = 72; - while(1) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - if (secp256k1_ecdsa_sign(message, 32, signature, &signaturelen, privkey, rnd) == 1) { - break; - } - } - /* Verify. */ - CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) == 1); - /* Destroy signature and verify again. */ - signature[signaturelen - 1 - secp256k1_rand32() % 20] += 1 + (secp256k1_rand32() % 255); - CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) != 1); - - /* Compact sign. */ - unsigned char csignature[64]; int recid = 0; - while(1) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - if (secp256k1_ecdsa_sign_compact(message, 32, csignature, privkey, rnd, &recid) == 1) { - break; - } - } - /* Recover. */ - unsigned char recpubkey[65]; int recpubkeylen = 0; - CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) == 1); - CHECK(recpubkeylen == pubkeylen); - CHECK(memcmp(pubkey, recpubkey, pubkeylen) == 0); - /* Destroy signature and verify again. */ - csignature[secp256k1_rand32() % 64] += 1 + (secp256k1_rand32() % 255); - CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) != 1 || - memcmp(pubkey, recpubkey, pubkeylen) != 0); - CHECK(recpubkeylen == pubkeylen); - -} - -void run_ecdsa_end_to_end(void) { - for (int i=0; i<64*count; i++) { - test_ecdsa_end_to_end(); - } -} - -/* Tests several edge cases. */ -void test_ecdsa_edge_cases(void) { - const unsigned char msg32[32] = { - 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', - 'a', ' ', 'v', 'e', 'r', 'y', ' ', 's', - 'e', 'c', 'r', 'e', 't', ' ', 'm', 'e', - 's', 's', 'a', 'g', 'e', '.', '.', '.' - }; - const unsigned char sig64[64] = { - /* Generated by signing the above message with nonce 'This is the nonce we will use...' - * and secret key 0 (which is not valid), resulting in recid 0. */ - 0x67, 0xCB, 0x28, 0x5F, 0x9C, 0xD1, 0x94, 0xE8, - 0x40, 0xD6, 0x29, 0x39, 0x7A, 0xF5, 0x56, 0x96, - 0x62, 0xFD, 0xE4, 0x46, 0x49, 0x99, 0x59, 0x63, - 0x17, 0x9A, 0x7D, 0xD1, 0x7B, 0xD2, 0x35, 0x32, - 0x4B, 0x1B, 0x7D, 0xF3, 0x4C, 0xE1, 0xF6, 0x8E, - 0x69, 0x4F, 0xF6, 0xF1, 0x1A, 0xC7, 0x51, 0xDD, - 0x7D, 0xD7, 0x3E, 0x38, 0x7E, 0xE4, 0xFC, 0x86, - 0x6E, 0x1B, 0xE8, 0xEC, 0xC7, 0xDD, 0x95, 0x57 - }; - unsigned char pubkey[65]; - int pubkeylen = 65; - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 0)); - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 1)); - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 2)); - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 3)); - - /* signature (r,s) = (4,4), which can be recovered with all 4 recids. */ - const unsigned char sigb64[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - }; - unsigned char pubkeyb[33]; - int pubkeyblen = 33; - for (int recid = 0; recid < 4; recid++) { - /* (4,4) encoded in DER. */ - unsigned char sigbder[8] = {0x30, 0x06, 0x02, 0x01, 0x04, 0x02, 0x01, 0x04}; - /* (order + r,4) encoded in DER. */ - unsigned char sigbderlong[40] = { - 0x30, 0x26, 0x02, 0x21, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBA, 0xAE, 0xDC, - 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, - 0x8C, 0xD0, 0x36, 0x41, 0x45, 0x02, 0x01, 0x04 - }; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkeyb, &pubkeyblen, 1, recid)); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 1); - for (int recid2 = 0; recid2 < 4; recid2++) { - unsigned char pubkey2b[33]; - int pubkey2blen = 33; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkey2b, &pubkey2blen, 1, recid2)); - /* Verifying with (order + r,4) should always fail. */ - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbderlong, sizeof(sigbderlong), pubkey2b, pubkey2blen) != 1); - } - /* Damage signature. */ - sigbder[7]++; - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 0); - } - - /* Test the case where ECDSA recomputes a point that is infinity. */ - { - secp256k1_ecdsa_sig_t sig; - secp256k1_scalar_set_int(&sig.s, 1); - secp256k1_scalar_negate(&sig.s, &sig.s); - secp256k1_scalar_inverse(&sig.s, &sig.s); - secp256k1_scalar_set_int(&sig.r, 1); - secp256k1_gej_t keyj; - secp256k1_ecmult_gen(&keyj, &sig.r); - secp256k1_ge_t key; - secp256k1_ge_set_gej(&key, &keyj); - secp256k1_scalar_t msg = sig.s; - CHECK(secp256k1_ecdsa_sig_verify(&sig, &key, &msg) == 0); - } - - /* Test r/s equal to zero */ - { - /* (1,1) encoded in DER. */ - unsigned char sigcder[8] = {0x30, 0x06, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01}; - unsigned char sigc64[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - }; - unsigned char pubkeyc[65]; - int pubkeyclen = 65; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyc, &pubkeyclen, 0, 0) == 1); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 1); - sigcder[4] = 0; - sigc64[31] = 0; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); - sigcder[4] = 1; - sigcder[7] = 0; - sigc64[31] = 1; - sigc64[63] = 0; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); - } -} - -void run_ecdsa_edge_cases(void) { - test_ecdsa_edge_cases(); -} - -#ifdef ENABLE_OPENSSL_TESTS -EC_KEY *get_openssl_key(const secp256k1_scalar_t *key) { - unsigned char privkey[300]; - int privkeylen; - int compr = secp256k1_rand32() & 1; - const unsigned char* pbegin = privkey; - EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_secp256k1); - CHECK(secp256k1_eckey_privkey_serialize(privkey, &privkeylen, key, compr)); - CHECK(d2i_ECPrivateKey(&ec_key, &pbegin, privkeylen)); - CHECK(EC_KEY_check_key(ec_key)); - return ec_key; -} - -void test_ecdsa_openssl(void) { - secp256k1_scalar_t key, msg; - unsigned char message[32]; - secp256k1_rand256_test(message); - secp256k1_scalar_set_b32(&msg, message, NULL); - random_scalar_order_test(&key); - secp256k1_gej_t qj; - secp256k1_ecmult_gen(&qj, &key); - secp256k1_ge_t q; - secp256k1_ge_set_gej(&q, &qj); - EC_KEY *ec_key = get_openssl_key(&key); - CHECK(ec_key); - unsigned char signature[80]; - unsigned int sigsize = 80; - CHECK(ECDSA_sign(0, message, sizeof(message), signature, &sigsize, ec_key)); - secp256k1_ecdsa_sig_t sig; - CHECK(secp256k1_ecdsa_sig_parse(&sig, signature, sigsize)); - CHECK(secp256k1_ecdsa_sig_verify(&sig, &q, &msg)); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_scalar_t msg2; - secp256k1_scalar_add(&msg2, &msg, &one); - CHECK(!secp256k1_ecdsa_sig_verify(&sig, &q, &msg2)); - - random_sign(&sig, &key, &msg, NULL); - int secp_sigsize = 80; - CHECK(secp256k1_ecdsa_sig_serialize(signature, &secp_sigsize, &sig)); - CHECK(ECDSA_verify(0, message, sizeof(message), signature, secp_sigsize, ec_key) == 1); - - EC_KEY_free(ec_key); -} - -void run_ecdsa_openssl(void) { - for (int i=0; i<10*count; i++) { - test_ecdsa_openssl(); - } -} -#endif - -int main(int argc, char **argv) { - /* find iteration count */ - if (argc > 1) { - count = strtol(argv[1], NULL, 0); - } - - /* find random seed */ - uint64_t seed; - if (argc > 2) { - seed = strtoull(argv[2], NULL, 0); - } else { - FILE *frand = fopen("/dev/urandom", "r"); - if (!frand || !fread(&seed, sizeof(seed), 1, frand)) { - seed = time(NULL) * 1337; - } - fclose(frand); - } - secp256k1_rand_seed(seed); - - printf("test count = %i\n", count); - printf("random seed = %llu\n", (unsigned long long)seed); - - /* initialize */ - secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); - - /* initializing a second time shouldn't cause any harm or memory leaks. */ - secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); - - /* Likewise, re-running the internal init functions should be harmless. */ - secp256k1_fe_start(); - secp256k1_ge_start(); - secp256k1_scalar_start(); - secp256k1_ecdsa_start(); - -#ifndef USE_NUM_NONE - /* num tests */ - run_num_smalltests(); -#endif - - /* scalar tests */ - run_scalar_tests(); - - /* field tests */ - run_field_inv(); - run_field_inv_var(); - run_field_inv_all(); - run_field_inv_all_var(); - run_sqr(); - run_sqrt(); - - /* group tests */ - run_ge(); - - /* ecmult tests */ - run_wnaf(); - run_point_times_order(); - run_ecmult_chain(); - - /* ecdsa tests */ - run_ecdsa_sign_verify(); - run_ecdsa_end_to_end(); - run_ecdsa_edge_cases(); -#ifdef ENABLE_OPENSSL_TESTS - run_ecdsa_openssl(); -#endif - - printf("random run = %llu\n", (unsigned long long)secp256k1_rand32() + ((unsigned long long)secp256k1_rand32() << 32)); - - /* shutdown */ - secp256k1_stop(); - - /* shutting down twice shouldn't cause any double frees. */ - secp256k1_stop(); - - /* Same for the internal shutdown functions. */ - secp256k1_fe_stop(); - secp256k1_ge_stop(); - secp256k1_scalar_stop(); - secp256k1_ecdsa_stop(); - return 0; -} diff --git a/src/secp256k1/src/util.h b/src/secp256k1/src/util.h deleted file mode 100644 index 08b23a9d3..000000000 --- a/src/secp256k1/src/util.h +++ /dev/null @@ -1,81 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_UTIL_H_ -#define _SECP256K1_UTIL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include -#include - -#ifdef DETERMINISTIC -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s\n", msg); \ - abort(); \ -} while(0); -#else -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, msg); \ - abort(); \ -} while(0) -#endif - -#ifndef HAVE_BUILTIN_EXPECT -#define EXPECT(x,c) __builtin_expect((x),(c)) -#else -#define EXPECT(x,c) (x) -#endif - -#ifdef DETERMINISTIC -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed"); \ - } \ -} while(0) -#else -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed: " #cond); \ - } \ -} while(0) -#endif - -/* Like assert(), but safe to use on expressions with side effects. */ -#ifndef NDEBUG -#define DEBUG_CHECK CHECK -#else -#define DEBUG_CHECK(cond) do { (void)(cond); } while(0) -#endif - -/* Like DEBUG_CHECK(), but when VERIFY is defined instead of NDEBUG not defined. */ -#ifdef VERIFY -#define VERIFY_CHECK CHECK -#else -#define VERIFY_CHECK(cond) do { (void)(cond); } while(0) -#endif - -/* Macro for restrict, when available and not in a VERIFY build. */ -#if defined(SECP256K1_BUILD) && defined(VERIFY) -# define SECP256K1_RESTRICT -#else -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(3,0) -# define SECP256K1_RESTRICT __restrict__ -# elif (defined(_MSC_VER) && _MSC_VER >= 1400) -# define SECP256K1_RESTRICT __restrict -# else -# define SECP256K1_RESTRICT -# endif -# else -# define SECP256K1_RESTRICT restrict -# endif -#endif - -#endif From a824d2b97dcd66893f07ccd2345b06012004cd35 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Thu, 7 Dec 2017 17:43:21 -0700 Subject: [PATCH 468/555] Initial sketch of CreateProposal --- .gitignore | 163 + Makefile | 1093 +++++++ src/Makefile | 4682 +++++++++++++++++++++++++++++ src/bitcoinrpc.cpp | 27 + src/qt/forms/ui_bip38tooldialog.h | 412 +++ src/qt/moc_bip38tooldialog.cpp | 145 + 6 files changed, 6522 insertions(+) create mode 100644 Makefile create mode 100644 src/Makefile create mode 100644 src/qt/forms/ui_bip38tooldialog.h create mode 100644 src/qt/moc_bip38tooldialog.cpp diff --git a/.gitignore b/.gitignore index 388032b7e..aef4b2d2d 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,166 @@ build-aux/m4/ltversion.m4 build-aux/m4/lt~obsolete.m4 moc_paymentserver.cpp Hyperstake-Qt.dmg + +Skip to content +Help save net neutrality! A free, open internet is once again at stake—and we need your help. +Learn more Dismiss +This repository +Search +Pull requests +Issues +Marketplace +Explore + @tuningmind + Sign out + Watch 1 + Star 0 Fork 0 presstab/voting Private + Code Issues 0 Pull requests 0 Projects 0 Wiki Insights +Branch: fouroption Find file Copy pathvoting/.gitignore +22a3064 on Oct 30 +@tuningmind tuningmind Update gitignore +2 contributors @tuningmind @presstab +RawBlameHistory +143 lines (109 sloc) 2.21 KB +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Created by https://www.gitignore.io/api/vim,osx + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Vim ### +# swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + +# End of https://www.gitignore.io/api/vim,osx + + +# Created by https://www.gitignore.io/api/clion+all + +### CLion+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Ruby plugin and RubyMine +/.rakeTasks + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### CLion+all Patch ### +# Ignores the whole idea folder +# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 + +.idea/ + +# End of https://www.gitignore.io/api/clion+all diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..f7774d083 --- /dev/null +++ b/Makefile @@ -0,0 +1,1093 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/hyperstake +pkgincludedir = $(includedir)/hyperstake +pkglibdir = $(libdir)/hyperstake +pkglibexecdir = $(libexecdir)/hyperstake +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ + $(top_srcdir)/build-aux/m4/libtool.m4 \ + $(top_srcdir)/build-aux/m4/ltoptions.m4 \ + $(top_srcdir)/build-aux/m4/ltsugar.m4 \ + $(top_srcdir)/build-aux/m4/ltversion.m4 \ + $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h +CONFIG_CLEAN_FILES = share/setup.nsi share/qt/Info.plist +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing \ + $(top_srcdir)/share/qt/Info.plist.in \ + $(top_srcdir)/share/setup.nsi.in \ + $(top_srcdir)/src/config/bitcoin-config.h.in build-aux/compile \ + build-aux/config.guess build-aux/config.sub \ + build-aux/install-sh build-aux/ltmain.sh build-aux/missing +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 0 +AR = /usr/bin/ar +AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf +AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader +AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 +AWK = gawk +BDB_CPPFLAGS = +BDB_LIBS = -ldb_cxx +BOOST_CHRONO_LIB = -lboost_chrono +BOOST_CPPFLAGS = -pthread -I/usr/include +BOOST_FILESYSTEM_LIB = -lboost_filesystem +BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu +BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono +BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options +BOOST_SYSTEM_LIB = -lboost_system +BOOST_THREAD_LIB = -lboost_thread +BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework +BREW = +BUILD_QT = qt +BUILD_TEST = test +BUILD_TEST_QT = test +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CLIENT_VERSION_BUILD = 0 +CLIENT_VERSION_IS_RELEASE = true +CLIENT_VERSION_MAJOR = 1 +CLIENT_VERSION_MINOR = 1 +CLIENT_VERSION_REVISION = 4 +COMPARISON_TOOL_REORG_TESTS = 0 +COPYRIGHT_YEAR = 2014 +CPP = gcc -E +CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 +CRYPTO_CFLAGS = +CRYPTO_LIBS = -lcrypto +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +GCOV = /usr/bin/gcov +GENHTML = +GENISOIMAGE = +GIT = /usr/bin/git +GREP = /bin/grep +HEXDUMP = /usr/bin/hexdump +INSTALL = /usr/bin/install -c +INSTALLNAMETOOL = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +JAVA = +JAVA_COMPARISON_TOOL = +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,-z,relro -Wl,-z,now +LEVELDB_CPPFLAGS = +LEVELDB_TARGET_FLAGS = +LIBLEVELDB = +LIBMEMENV = +LIBOBJS = +LIBS = -lanl +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBTOOL_APP_LDFLAGS = +LIPO = +LN_S = ln -s +LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate +MAINT = +MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo +MAKENSIS = +MANIFEST_TOOL = : +MINIUPNPC_CPPFLAGS = +MINIUPNPC_LIBS = +MKDIR_P = /bin/mkdir -p +MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc +MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) +NM = /usr/bin/nm -B +NMEDIT = +OBJCXX = g++ +OBJCXXDEPMODE = depmode=gcc3 +OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = hyperstake +PACKAGE_BUGREPORT = info@hyperstake.info +PACKAGE_NAME = Hyperstake Core +PACKAGE_STRING = Hyperstake Core 1.1.4 +PACKAGE_TARNAME = hyperstake +PACKAGE_URL = +PACKAGE_VERSION = 1.1.4 +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +PKG_CONFIG_LIBDIR = +PKG_CONFIG_PATH = +PORT = +PROTOBUF_CFLAGS = -pthread +PROTOBUF_LIBS = -lprotobuf -pthread -lpthread +PROTOC = /usr/bin/protoc +PTHREAD_CC = gcc +PTHREAD_CFLAGS = -pthread +PTHREAD_LIBS = +QR_CFLAGS = +QR_LIBS = -lqrencode +QTPLATFORM_CFLAGS = +QTPLATFORM_LIBS = +QTPRINT_CFLAGS = +QTPRINT_LIBS = +QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_LIBS = -lQt5DBus -lQt5Core +QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_LDFLAGS = +QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core +QT_SELECT = qt5 +QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_LIBS = -lQt5Test -lQt5Core +QT_TRANSLATION_DIR = +RANLIB = /usr/bin/ranlib +RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc +RELDFLAGS = -Wl,--exclude-libs,ALL +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +SSL_CFLAGS = +SSL_LIBS = -lssl +STRIP = /usr/bin/strip +TESTDEFS = -DBOOST_TEST_DYN_LINK +UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic +USE_QRCODE = +USE_UPNP = +VERSION = 1.1.4 +WINDOWS_BITS = +WINDRES = +X11XCB_CFLAGS = +X11XCB_LIBS = +XGETTEXT = /usr/bin/xgettext +abs_builddir = /home/carrie/hyperstake +abs_srcdir = /home/carrie/hyperstake +abs_top_builddir = /home/carrie/hyperstake +abs_top_srcdir = /home/carrie/hyperstake +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_OBJCXX = g++ +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +ax_pthread_config = +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +subdirs = src/secp256k1 +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +ACLOCAL_AMFLAGS = -I build-aux/m4 +SUBDIRS = src +GZIP_ENV = "-9n" +BITCOIND_BIN = $(top_builddir)/src/hyperstaked$(EXEEXT) +BITCOIN_QT_BIN = $(top_builddir)/src/qt/hyperstake-qt$(EXEEXT) +BITCOIN_WIN_INSTALLER = $(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) +OSX_APP = Hyperstake-Qt.app +OSX_DMG = Hyperstake-Qt.dmg +OSX_DEPLOY_SCRIPT = $(top_srcdir)/contrib/macdeploy/macdeployqtplus +OSX_FANCY_PLIST = $(top_srcdir)/contrib/macdeploy/fancy.plist +OSX_INSTALLER_ICONS = $(top_srcdir)/src/qt/res/icons/bitcoin.icns +OSX_PLIST = $(top_srcdir)/share/qt/Info.plist #not installed +OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW +THEMES = $(top_srcdir)/src/qt/res/themes +DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) +WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ + $(top_srcdir)/share/pixmaps/nsis-header.bmp \ + $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ + $(top_srcdir)/doc/README_windows.txt + +OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ + $(top_srcdir)/contrib/macdeploy/background.png \ + $(top_srcdir)/contrib/macdeploy/DS_Store \ + $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ + $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh + +COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ + test_bitcoin_filtered.info total_coverage.info \ + baseline_filtered.info block_test_filtered.info \ + test_bitcoin_coverage.info test_bitcoin.info + +OSX_APP_BUILT = $(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ + $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ + $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes + +APP_DIST_DIR = $(top_builddir)/dist +APP_DIST_EXTRAS = $(APP_DIST_DIR)/.background/background.png $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) +CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +src/config/bitcoin-config.h: src/config/stamp-h1 + @test -f $@ || rm -f src/config/stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) src/config/stamp-h1 + +src/config/stamp-h1: $(top_srcdir)/src/config/bitcoin-config.h.in $(top_builddir)/config.status + @rm -f src/config/stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status src/config/bitcoin-config.h +$(top_srcdir)/src/config/bitcoin-config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f src/config/stamp-h1 + touch $@ + +distclean-hdr: + -rm -f src/config/bitcoin-config.h src/config/stamp-h1 +share/setup.nsi: $(top_builddir)/config.status $(top_srcdir)/share/setup.nsi.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +share/qt/Info.plist: $(top_builddir)/config.status $(top_srcdir)/share/qt/Info.plist.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ + dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ + dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +.PHONY: deploy FORCE + +dist-hook: + -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean + -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - + +distcleancheck: + @: + +$(BITCOIN_WIN_INSTALLER): all-recursive + $(MKDIR_P) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release + @test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \ + echo error: could not build $@ + +$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE + $(MAKE) -C src $(patsubst src/%,%,$@) + +$(OSX_APP)/Contents/PkgInfo: + $(MKDIR_P) $(@D) + @echo "APPL????" > $@ + +$(OSX_APP)/Contents/Resources/empty.lproj: + $(MKDIR_P) $(@D) + @touch $@ + +$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) + $(MKDIR_P) $(@D) + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ + +$(OSX_APP)/Contents/MacOS/themes: $(THEMES) + $(MKDIR_P) $(@D) + cp -R $(THEMES) $(@D) + +#$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) +# $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 + +#deploydir: $(OSX_DMG) + +$(APP_DIST_DIR)/Applications: + @rm -f $@ + @cd $(@D); $(LN_S) /Applications $(@F) + +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt + +$(OSX_DMG): $(APP_DIST_EXTRAS) + $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o $@ dist + +$(APP_DIST_DIR)/.background/background.png: + $(MKDIR_P) $(@D) + $(INSTALL) $(top_srcdir)/contrib/macdeploy/background.png $@ +$(APP_DIST_DIR)/.DS_Store: + $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ + +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) + INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 + +deploydir: $(APP_DIST_EXTRAS) + +#appbundle: $(OSX_APP_BUILT) +#deploy: $(OSX_DMG) +#deploy: $(BITCOIN_WIN_INSTALLER) + +$(BITCOIN_QT_BIN): FORCE + $(MAKE) -C src qt/$(@F) + +$(BITCOIND_BIN): FORCE + $(MAKE) -C src $(@F) + +#baseline.info: +# $(LCOV) -c -i -d $(abs_builddir)/src -o $@ + +#baseline_filtered.info: baseline.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#baseline_filtered_combined.info: baseline_filtered.info +# $(LCOV) -a baseline_filtered.info -o $@ + +#test_bitcoin.info: baseline_filtered_combined.info +# $(MAKE) -C src/ check +# $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ +# $(LCOV) -z -d $(abs_builddir)/src + +#test_bitcoin_filtered.info: test_bitcoin.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#block_test.info: test_bitcoin_filtered.info +# $(MKDIR_P) qa/tmp +# -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 +# $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ +# $(LCOV) -z -d $(abs_builddir)/src + +#block_test_filtered.info: block_test.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info +# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -o $@ + +#total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info +# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt + +#test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info +# $(GENHTML) -s $< -o $(@D) +# @touch $@ + +#total.coverage/.dirstamp: total_coverage.info +# $(GENHTML) -s $< -o $(@D) +# @touch $@ + +#cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp + +.INTERMEDIATE: $(COVERAGE_INFO) + +clean-local: + rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 000000000..21d4e9b5e --- /dev/null +++ b/src/Makefile @@ -0,0 +1,4682 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/hyperstake +pkgincludedir = $(includedir)/hyperstake +pkglibdir = $(libdir)/hyperstake +pkglibexecdir = $(libexecdir)/hyperstake +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +am__append_1 = $(BDB_CPPFLAGS) +am__append_2 = libbitcoin_wallet.a +bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ + $(am__EXEEXT_4) +TESTS = $(am__EXEEXT_5) $(am__EXEEXT_4) +am__append_3 = hyperstaked +am__append_4 = libbitcoin_wallet.a + +# +#am__append_5 = bitcoind-res.rc +am__append_6 = test/test_bitcoin test/bitcoin-util-test.py +am__append_7 = test/test_bitcoin +am__append_8 = +am__append_9 = $(LIBBITCOIN_WALLET) +am__append_10 = $(CLEAN_BITCOIN_TEST) +am__append_11 = qt/hyperstake-qt +am__append_12 = qt/libbitcoinqt.a +am__append_13 = \ + qt/addressbookpage.cpp \ + qt/addresstablemodel.cpp \ + qt/askpassphrasedialog.cpp \ + qt/coincontroldialog.cpp \ + qt/coincontroltreewidget.cpp \ + qt/editaddressdialog.cpp \ + qt/overviewpage.cpp \ + qt/paymentserver.cpp \ + qt/sendcoinsdialog.cpp \ + qt/sendcoinsentry.cpp \ + qt/signverifymessagedialog.cpp \ + qt/transactiondesc.cpp \ + qt/transactiondescdialog.cpp \ + qt/transactionfilterproxy.cpp \ + qt/transactionrecord.cpp \ + qt/transactiontablemodel.cpp \ + qt/transactionview.cpp + +#am__append_14 = $(BITCOIN_MM) +#am__append_15 = $(BITCOIN_RC) +am__append_16 = $(LIBBITCOIN_WALLET) +am__append_17 = $(CLEAN_QT) +am__append_18 = qt/test/test_bitcoin-qt +am__append_19 = qt/test/test_bitcoin-qt +am__append_20 = $(LIBBITCOIN_WALLET) +am__append_21 = $(CLEAN_BITCOIN_QT_TEST) +subdir = src +SUBDIRS = +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ + $(top_srcdir)/build-aux/m4/libtool.m4 \ + $(top_srcdir)/build-aux/m4/ltoptions.m4 \ + $(top_srcdir)/build-aux/m4/ltsugar.m4 \ + $(top_srcdir)/build-aux/m4/ltversion.m4 \ + $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +AM_V_AR = $(am__v_AR_$(V)) +am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = +libbitcoin_common_a_AR = $(AR) $(ARFLAGS) +libbitcoin_common_a_LIBADD = +am__objects_1 = +am_libbitcoin_common_a_OBJECTS = libbitcoin_common_a-key.$(OBJEXT) \ + libbitcoin_common_a-keystore.$(OBJEXT) \ + libbitcoin_common_a-netbase.$(OBJEXT) \ + libbitcoin_common_a-protocol.$(OBJEXT) $(am__objects_1) +libbitcoin_common_a_OBJECTS = $(am_libbitcoin_common_a_OBJECTS) +libbitcoin_server_a_AR = $(AR) $(ARFLAGS) +libbitcoin_server_a_LIBADD = +am_libbitcoin_server_a_OBJECTS = \ + libbitcoin_server_a-addrman.$(OBJEXT) \ + libbitcoin_server_a-aes_helper.$(OBJEXT) \ + libbitcoin_server_a-alert.$(OBJEXT) \ + libbitcoin_server_a-bip38.$(OBJEXT) \ + libbitcoin_server_a-bitcoinrpc.$(OBJEXT) \ + libbitcoin_server_a-blake.$(OBJEXT) \ + libbitcoin_server_a-bmw.$(OBJEXT) \ + libbitcoin_server_a-checkpoints.$(OBJEXT) \ + libbitcoin_server_a-cubehash.$(OBJEXT) \ + libbitcoin_server_a-echo.$(OBJEXT) \ + libbitcoin_server_a-groestl.$(OBJEXT) \ + libbitcoin_server_a-init.$(OBJEXT) \ + libbitcoin_server_a-jh.$(OBJEXT) \ + libbitcoin_server_a-keccak.$(OBJEXT) \ + libbitcoin_server_a-kernel.$(OBJEXT) \ + libbitcoin_server_a-luffa.$(OBJEXT) \ + libbitcoin_server_a-main.$(OBJEXT) \ + libbitcoin_server_a-net.$(OBJEXT) \ + libbitcoin_server_a-noui.$(OBJEXT) \ + libbitcoin_server_a-rpcblockchain.$(OBJEXT) \ + libbitcoin_server_a-rpcmining.$(OBJEXT) \ + libbitcoin_server_a-rpcnet.$(OBJEXT) \ + libbitcoin_server_a-rpcrawtransaction.$(OBJEXT) \ + libbitcoin_server_a-script.$(OBJEXT) \ + libbitcoin_server_a-scrypt.$(OBJEXT) \ + libbitcoin_server_a-shavite.$(OBJEXT) \ + libbitcoin_server_a-simd.$(OBJEXT) \ + libbitcoin_server_a-skein.$(OBJEXT) $(am__objects_1) \ + $(am__objects_1) +libbitcoin_server_a_OBJECTS = $(am_libbitcoin_server_a_OBJECTS) +libbitcoin_util_a_AR = $(AR) $(ARFLAGS) +libbitcoin_util_a_LIBADD = +am_libbitcoin_util_a_OBJECTS = \ + libbitcoin_util_a-clientversion.$(OBJEXT) \ + libbitcoin_util_a-sync.$(OBJEXT) \ + libbitcoin_util_a-version.$(OBJEXT) \ + libbitcoin_util_a-util.$(OBJEXT) $(am__objects_1) +nodist_libbitcoin_util_a_OBJECTS = +libbitcoin_util_a_OBJECTS = $(am_libbitcoin_util_a_OBJECTS) \ + $(nodist_libbitcoin_util_a_OBJECTS) +libbitcoin_wallet_a_AR = $(AR) $(ARFLAGS) +libbitcoin_wallet_a_LIBADD = +am_libbitcoin_wallet_a_OBJECTS = libbitcoin_wallet_a-bip38.$(OBJEXT) \ + libbitcoin_wallet_a-db.$(OBJEXT) \ + libbitcoin_wallet_a-crypter.$(OBJEXT) \ + libbitcoin_wallet_a-pbkdf2.$(OBJEXT) \ + libbitcoin_wallet_a-rpcdump.$(OBJEXT) \ + libbitcoin_wallet_a-rpcwallet.$(OBJEXT) \ + libbitcoin_wallet_a-scrypt.$(OBJEXT) \ + libbitcoin_wallet_a-wallet.$(OBJEXT) \ + libbitcoin_wallet_a-walletdb.$(OBJEXT) $(am__objects_1) +libbitcoin_wallet_a_OBJECTS = $(am_libbitcoin_wallet_a_OBJECTS) +qt_libbitcoinqt_a_AR = $(AR) $(ARFLAGS) +qt_libbitcoinqt_a_LIBADD = +am__qt_libbitcoinqt_a_SOURCES_DIST = qt/aboutdialog.cpp \ + qt/bip38tooldialog.cpp qt/bitcoinaddressvalidator.cpp \ + qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ + qt/bitcoinunits.cpp qt/blockbrowser.cpp qt/calcdialog.cpp \ + qt/charitydialog.cpp qt/clientmodel.cpp qt/csvmodelwriter.cpp \ + qt/guiutil.cpp qt/monitoreddatamapper.cpp qt/networkstyle.cpp \ + qt/notificator.cpp qt/optionsdialog.cpp qt/optionsmodel.cpp \ + qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ + qt/qvaluecombobox.cpp qt/rpcconsole.cpp qt/scicon.cpp \ + qt/walletmodel.cpp qt/addressbookpage.cpp \ + qt/addresstablemodel.cpp qt/askpassphrasedialog.cpp \ + qt/coincontroldialog.cpp qt/coincontroltreewidget.cpp \ + qt/editaddressdialog.cpp qt/overviewpage.cpp \ + qt/paymentserver.cpp qt/sendcoinsdialog.cpp \ + qt/sendcoinsentry.cpp qt/signverifymessagedialog.cpp \ + qt/transactiondesc.cpp qt/transactiondescdialog.cpp \ + qt/transactionfilterproxy.cpp qt/transactionrecord.cpp \ + qt/transactiontablemodel.cpp qt/transactionview.cpp \ + qt/aboutdialog.h qt/addressbookpage.h qt/addresstablemodel.h \ + qt/askpassphrasedialog.h qt/bip38tooldialog.h \ + qt/bitcoinaddressvalidator.h qt/bitcoinamountfield.h \ + qt/bitcoingui.h qt/bitcoinunits.h qt/blockbrowser.h \ + qt/calcdialog.h qt/charitydialog.h qt/clientmodel.h \ + qt/coincontroldialog.h qt/coincontroltreewidget.h \ + qt/csvmodelwriter.h qt/editaddressdialog.h qt/guiconstants.h \ + qt/guiutil.h qt/macdockiconhandler.h \ + qt/macnotificationhandler.h qt/monitoreddatamapper.h \ + qt/networkstyle.h qt/notificator.h qt/optionsdialog.h \ + qt/optionsmodel.h qt/overviewpage.h qt/paymentserver.h \ + qt/qrcodedialog.h qt/qvalidatedlineedit.h qt/qvaluecombobox.h \ + qt/rpcconsole.h qt/scicon.h qt/sendcoinsdialog.h \ + qt/sendcoinsentry.h qt/signverifymessagedialog.h \ + qt/transactiondesc.h qt/transactiondescdialog.h \ + qt/transactionfilterproxy.h qt/transactionrecord.h \ + qt/transactiontablemodel.h qt/transactionview.h \ + qt/walletmodel.h qt/forms/aboutdialog.ui \ + qt/forms/addressbookpage.ui qt/forms/askpassphrasedialog.ui \ + qt/forms/bip38tooldialog.ui qt/forms/blockbrowser.ui \ + qt/forms/calcdialog.ui qt/forms/charitydialog.ui \ + qt/forms/coincontroldialog.ui qt/forms/editaddressdialog.ui \ + qt/forms/optionsdialog.ui qt/forms/overviewpage.ui \ + qt/forms/qrcodedialog.ui qt/forms/rpcconsole.ui \ + qt/forms/sendcoinsdialog.ui qt/forms/sendcoinsentry.ui \ + qt/forms/signverifymessagedialog.ui \ + qt/forms/transactiondescdialog.ui qt/bitcoin.qrc \ + qt/locale/bitcoin_en.ts qt/locale/bitcoin_ru.ts \ + qt/res/icons/add.png qt/res/icons/address-book.png \ + qt/res/icons/blexp.png qt/res/icons/clock1.png \ + qt/res/icons/clock2.png qt/res/icons/clock3.png \ + qt/res/icons/clock4.png qt/res/icons/clock5.png \ + qt/res/icons/configure.png qt/res/icons/connect0_16.png \ + qt/res/icons/connect1_16.png qt/res/icons/connect2_16.png \ + qt/res/icons/connect3_16.png qt/res/icons/connect4_16.png \ + qt/res/icons/debugwindow.png qt/res/icons/edit.png \ + qt/res/icons/editcopy.png qt/res/icons/editpaste.png \ + qt/res/icons/export.png qt/res/icons/filesave.png \ + qt/res/icons/history.png qt/res/icons/hyperstake-16.png \ + qt/res/icons/hyperstake-32.png qt/res/icons/hyperstake-128.png \ + qt/res/icons/info.png qt/res/icons/key.png \ + qt/res/icons/lock_closed.png qt/res/icons/lock_open.png \ + qt/res/icons/mining.png qt/res/icons/mining_inactive.png \ + qt/res/icons/notsynced.png qt/res/icons/overview.png \ + qt/res/icons/qrcode.png qt/res/icons/quit.png \ + qt/res/icons/receive.png qt/res/icons/remove.png \ + qt/res/icons/s4c.png qt/res/icons/send.png \ + qt/res/icons/synced.png qt/res/icons/transaction0.png \ + qt/res/icons/transaction2.png qt/res/icons/tx_inout.png \ + qt/res/icons/tx_input.png qt/res/icons/tx_output.png \ + qt/res/icons/tx_mined.png qt/res/images/about.png \ + qt/res/images/splash.png qt/res/images/wallet.png $(wildcard \ + qt/res/movies/*.mng) +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_2 = qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT) +am__objects_3 = \ + qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-notificator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-scicon.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT) \ + $(am__objects_2) +am_qt_libbitcoinqt_a_OBJECTS = $(am__objects_3) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) +am__objects_4 = qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT) +am__objects_5 = \ + qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT) +nodist_qt_libbitcoinqt_a_OBJECTS = $(am__objects_4) \ + $(am__objects_1) $(am__objects_5) +qt_libbitcoinqt_a_OBJECTS = $(am_qt_libbitcoinqt_a_OBJECTS) \ + $(nodist_qt_libbitcoinqt_a_OBJECTS) +am__EXEEXT_1 = hyperstaked$(EXEEXT) +am__EXEEXT_2 = test/test_bitcoin$(EXEEXT) +am__EXEEXT_3 = qt/hyperstake-qt$(EXEEXT) +am__EXEEXT_4 = qt/test/test_bitcoin-qt$(EXEEXT) +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am__hyperstaked_SOURCES_DIST = bitcoind.cpp bitcoind-res.rc +#am__objects_6 = bitcoind-res.$(OBJEXT) +am_hyperstaked_OBJECTS = hyperstaked-bitcoind.$(OBJEXT) \ + $(am__objects_6) +hyperstaked_OBJECTS = $(am_hyperstaked_OBJECTS) +am__DEPENDENCIES_1 = +hyperstaked_DEPENDENCIES = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(LIBSECP256K1) $(am__append_4) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(LIBSECP256K1) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +hyperstaked_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(hyperstaked_LDFLAGS) $(LDFLAGS) -o $@ +am__qt_hyperstake_qt_SOURCES_DIST = qt/bitcoin.cpp \ + qt/macdockiconhandler.mm qt/macnotificationhandler.mm \ + qt/res/bitcoin-qt.rc +am__objects_7 = qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT) \ + qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT) +#am__objects_8 = $(am__objects_7) +am__objects_9 = qt/res/bitcoin-qt.$(OBJEXT) +#am__objects_10 = \ +# $(am__objects_9) +am_qt_hyperstake_qt_OBJECTS = \ + qt/qt_hyperstake_qt-bitcoin.$(OBJEXT) \ + $(am__objects_8) $(am__objects_10) +qt_hyperstake_qt_OBJECTS = $(am_qt_hyperstake_qt_OBJECTS) +qt_hyperstake_qt_DEPENDENCIES = qt/libbitcoinqt.a \ + $(LIBBITCOIN_SERVER) $(am__append_16) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(LIBSECP256K1) +qt_hyperstake_qt_LINK = $(LIBTOOL) $(AM_V_lt) \ + $(qt_hyperstake_qt_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ + $(qt_hyperstake_qt_LDFLAGS) $(LDFLAGS) -o $@ +am__qt_test_test_bitcoin_qt_SOURCES_DIST = qt/test/test_main.cpp \ + qt/test/uritests.cpp qt/test/uritests.h +am_qt_test_test_bitcoin_qt_OBJECTS = qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT) \ + qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT) \ + $(am__objects_1) +am__objects_11 = qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT) +nodist_qt_test_test_bitcoin_qt_OBJECTS = \ + $(am__objects_11) +qt_test_test_bitcoin_qt_OBJECTS = \ + $(am_qt_test_test_bitcoin_qt_OBJECTS) \ + $(nodist_qt_test_test_bitcoin_qt_OBJECTS) +qt_test_test_bitcoin_qt_DEPENDENCIES = \ + $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) \ + $(am__append_20) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(LIBSECP256K1) +qt_test_test_bitcoin_qt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(qt_test_test_bitcoin_qt_LDFLAGS) \ + $(LDFLAGS) -o $@ +am__test_test_bitcoin_SOURCES_DIST = test/allocator_tests.cpp \ + test/base32_tests.cpp test/base64_tests.cpp \ + test/getarg_tests.cpp test/key_tests.cpp test/mruset_tests.cpp \ + test/netbase_tests.cpp test/test_bitcoin.cpp \ + test/sigopcount_tests.cpp test/data/script_valid.json \ + test/data/base58_keys_valid.json \ + test/data/base58_encode_decode.json \ + test/data/base58_keys_invalid.json \ + test/data/script_invalid.json +am__objects_12 = test/test_test_bitcoin-allocator_tests.$(OBJEXT) \ + test/test_test_bitcoin-base32_tests.$(OBJEXT) \ + test/test_test_bitcoin-base64_tests.$(OBJEXT) \ + test/test_test_bitcoin-getarg_tests.$(OBJEXT) \ + test/test_test_bitcoin-key_tests.$(OBJEXT) \ + test/test_test_bitcoin-mruset_tests.$(OBJEXT) \ + test/test_test_bitcoin-netbase_tests.$(OBJEXT) \ + test/test_test_bitcoin-test_bitcoin.$(OBJEXT) \ + test/test_test_bitcoin-sigopcount_tests.$(OBJEXT) +am_test_test_bitcoin_OBJECTS = $(am__objects_12) \ + $(am__objects_1) +am__objects_13 = $(am__objects_1) +nodist_test_test_bitcoin_OBJECTS = \ + $(am__objects_13) +test_test_bitcoin_OBJECTS = $(am_test_test_bitcoin_OBJECTS) \ + $(nodist_test_test_bitcoin_OBJECTS) +test_test_bitcoin_DEPENDENCIES = \ + $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__append_9) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +test_test_bitcoin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(test_test_bitcoin_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src/config +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) +LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(OBJCXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) +AM_V_OBJCXX = $(am__v_OBJCXX_$(V)) +am__v_OBJCXX_ = $(am__v_OBJCXX_$(AM_DEFAULT_VERBOSITY)) +am__v_OBJCXX_0 = @echo " OBJCXX " $@; +am__v_OBJCXX_1 = +OBJCXXLD = $(OBJCXX) +OBJCXXLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_OBJCXXLD = $(am__v_OBJCXXLD_$(V)) +am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_OBJCXXLD_0 = @echo " OBJCXXLD" $@; +am__v_OBJCXXLD_1 = +SOURCES = $(libbitcoin_common_a_SOURCES) \ + $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ + $(nodist_libbitcoin_util_a_SOURCES) \ + $(libbitcoin_wallet_a_SOURCES) $(qt_libbitcoinqt_a_SOURCES) \ + $(nodist_qt_libbitcoinqt_a_SOURCES) $(hyperstaked_SOURCES) \ + $(qt_hyperstake_qt_SOURCES) $(qt_test_test_bitcoin_qt_SOURCES) \ + $(nodist_qt_test_test_bitcoin_qt_SOURCES) \ + $(test_test_bitcoin_SOURCES) \ + $(nodist_test_test_bitcoin_SOURCES) +DIST_SOURCES = $(libbitcoin_common_a_SOURCES) \ + $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ + $(libbitcoin_wallet_a_SOURCES) \ + $(am__qt_libbitcoinqt_a_SOURCES_DIST) \ + $(am__hyperstaked_SOURCES_DIST) \ + $(am__qt_hyperstake_qt_SOURCES_DIST) \ + $(am__qt_test_test_bitcoin_qt_SOURCES_DIST) \ + $(am__test_test_bitcoin_SOURCES_DIST) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + check recheck distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +am__EXEEXT_5 = test/test_bitcoin$(EXEEXT) \ + test/bitcoin-util-test.py +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.qt.include \ + $(srcdir)/Makefile.qttest.include \ + $(srcdir)/Makefile.test.include \ + $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/test-driver +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 0 +AR = /usr/bin/ar +AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf +AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader +AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 +AWK = gawk +BDB_CPPFLAGS = +BDB_LIBS = -ldb_cxx +BOOST_CHRONO_LIB = -lboost_chrono +BOOST_CPPFLAGS = -pthread -I/usr/include +BOOST_FILESYSTEM_LIB = -lboost_filesystem +BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu +BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono +BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options +BOOST_SYSTEM_LIB = -lboost_system +BOOST_THREAD_LIB = -lboost_thread +BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework +BREW = +BUILD_QT = qt +BUILD_TEST = test +BUILD_TEST_QT = test +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CLIENT_VERSION_BUILD = 0 +CLIENT_VERSION_IS_RELEASE = true +CLIENT_VERSION_MAJOR = 1 +CLIENT_VERSION_MINOR = 1 +CLIENT_VERSION_REVISION = 4 +COMPARISON_TOOL_REORG_TESTS = 0 +COPYRIGHT_YEAR = 2014 +CPP = gcc -E +CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 +CRYPTO_CFLAGS = +CRYPTO_LIBS = -lcrypto +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +GCOV = /usr/bin/gcov +GENHTML = +GENISOIMAGE = +GIT = /usr/bin/git +GREP = /bin/grep +HEXDUMP = /usr/bin/hexdump +INSTALL = /usr/bin/install -c +INSTALLNAMETOOL = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +JAVA = +JAVA_COMPARISON_TOOL = +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,-z,relro -Wl,-z,now +LEVELDB_CPPFLAGS = +LEVELDB_TARGET_FLAGS = +LIBLEVELDB = +LIBMEMENV = +LIBOBJS = +LIBS = -lanl +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBTOOL_APP_LDFLAGS = +LIPO = +LN_S = ln -s +LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate +MAINT = +MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo +MAKENSIS = +MANIFEST_TOOL = : +MINIUPNPC_CPPFLAGS = +MINIUPNPC_LIBS = +MKDIR_P = /bin/mkdir -p +MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc +MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) +NM = /usr/bin/nm -B +NMEDIT = +OBJCXX = g++ +OBJCXXDEPMODE = depmode=gcc3 +OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = hyperstake +PACKAGE_BUGREPORT = info@hyperstake.info +PACKAGE_NAME = Hyperstake Core +PACKAGE_STRING = Hyperstake Core 1.1.4 +PACKAGE_TARNAME = hyperstake +PACKAGE_URL = +PACKAGE_VERSION = 1.1.4 +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +PKG_CONFIG_LIBDIR = +PKG_CONFIG_PATH = +PORT = +PROTOBUF_CFLAGS = -pthread +PROTOBUF_LIBS = -lprotobuf -pthread -lpthread +PROTOC = /usr/bin/protoc +PTHREAD_CC = gcc +PTHREAD_CFLAGS = -pthread +PTHREAD_LIBS = +QR_CFLAGS = +QR_LIBS = -lqrencode +QTPLATFORM_CFLAGS = +QTPLATFORM_LIBS = +QTPRINT_CFLAGS = +QTPRINT_LIBS = +QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_LIBS = -lQt5DBus -lQt5Core +QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_LDFLAGS = +QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core +QT_SELECT = qt5 +QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_LIBS = -lQt5Test -lQt5Core +QT_TRANSLATION_DIR = +RANLIB = /usr/bin/ranlib +RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc +RELDFLAGS = -Wl,--exclude-libs,ALL +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +SSL_CFLAGS = +SSL_LIBS = -lssl +STRIP = /usr/bin/strip +TESTDEFS = -DBOOST_TEST_DYN_LINK +UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic +USE_QRCODE = +USE_UPNP = +VERSION = 1.1.4 +WINDOWS_BITS = +WINDRES = +X11XCB_CFLAGS = +X11XCB_LIBS = +XGETTEXT = /usr/bin/xgettext +abs_builddir = /home/carrie/hyperstake/src +abs_srcdir = /home/carrie/hyperstake/src +abs_top_builddir = /home/carrie/hyperstake +abs_top_srcdir = /home/carrie/hyperstake +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_OBJCXX = g++ +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +ax_pthread_config = +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +subdirs = src/secp256k1 +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +DIST_SUBDIRS = secp256k1 +AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) +BITCOIN_CONFIG_INCLUDES = -I$(builddir)/config +BITCOIN_INCLUDES = -I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) \ + $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -I$(srcdir)/secp256k1/include \ + $(am__append_1) +LIBBITCOIN_SERVER = libbitcoin_server.a +LIBBITCOIN_WALLET = libbitcoin_wallet.a +LIBBITCOIN_COMMON = libbitcoin_common.a +LIBBITCOIN_UTIL = libbitcoin_util.a +LIBSECP256K1 = secp256k1/libsecp256k1.la +LIBBITCOINQT = qt/libbitcoinqt.a + +# Make is not made aware of per-object dependencies to avoid limiting building parallelization +# But to build the less dependent modules first, we manually select their order here: +noinst_LIBRARIES = libbitcoin_util.a libbitcoin_common.a \ + libbitcoin_server.a $(am__append_2) $(am__append_12) +# bitcoin core # +BITCOIN_CORE_H = \ + addrman.h \ + alert.h \ + allocators.h \ + base58.h \ + bignum.h \ + bip38.h \ + bitcoinrpc.h \ + checkpoints.h \ + clientversion.h \ + coincontrol.h \ + compat.h \ + crypter.h \ + db.h \ + hashblock.h \ + init.h \ + kernel.h \ + key.h \ + keystore.h \ + main.h \ + mruset.h \ + netbase.h \ + net.h \ + pbkdf2.h \ + protocol.h \ + script.h \ + scrypt.h \ + scrypt_mine.h \ + serialize.h \ + sph_blake.h \ + sph_bmw.h \ + sph_cubehash.h \ + sph_echo.h \ + sph_groestl.h \ + sph_jh.h \ + sph_keccak.h \ + sph_luffa.h \ + sph_shavite.h \ + sph_simd.h \ + sph_skein.h \ + sph_types.h \ + sync.h \ + tinyformat.h \ + ui_interface.h \ + uint256.h \ + util.h \ + version.h \ + wallet.h \ + walletdb.h + +JSON_H = \ + json/json_spirit.h \ + json/json_spirit_error_position.h \ + json/json_spirit_reader.h \ + json/json_spirit_reader_template.h \ + json/json_spirit_stream_reader.h \ + json/json_spirit_utils.h \ + json/json_spirit_value.h \ + json/json_spirit_writer.h \ + json/json_spirit_writer_template.h + + +# server: shared between bitcoind and bitcoin-qt +libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) +libbitcoin_server_a_SOURCES = \ + addrman.cpp \ + aes_helper.c \ + alert.cpp \ + bip38.cpp \ + bitcoinrpc.cpp \ + blake.c \ + bmw.c \ + checkpoints.cpp \ + cubehash.c \ + echo.c \ + groestl.c \ + init.cpp \ + jh.c \ + keccak.c \ + kernel.cpp \ + luffa.c \ + main.cpp \ + net.cpp \ + noui.cpp \ + rpcblockchain.cpp \ + rpcmining.cpp \ + rpcnet.cpp \ + rpcrawtransaction.cpp \ + script.cpp \ + scrypt.cpp \ + shavite.c \ + simd.c \ + skein.c \ + $(JSON_H) \ + $(BITCOIN_CORE_H) + + +# wallet: shared between bitcoind and bitcoin-qt, but only linked +# when wallet enabled +libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_SOURCES = \ + bip38.cpp \ + db.cpp \ + crypter.cpp \ + pbkdf2.cpp \ + rpcdump.cpp \ + rpcwallet.cpp \ + scrypt.cpp \ + wallet.cpp \ + walletdb.cpp \ + $(BITCOIN_CORE_H) + + +# common: shared between bitcoind, and bitcoin-qt and non-server tools +libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_common_a_SOURCES = \ + key.cpp \ + keystore.cpp \ + netbase.cpp \ + protocol.cpp \ + $(BITCOIN_CORE_H) + + +# util: shared between all executables. +# This library *must* be included to make sure that the glibc +# backward-compatibility objects and their sanity checks are linked. +libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_util_a_SOURCES = \ + clientversion.cpp \ + sync.cpp \ + version.cpp \ + util.cpp \ + $(BITCOIN_CORE_H) + +nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h +# + +# hyperstaked binary # +hyperstaked_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBLEVELDB) \ + $(LIBMEMENV) $(LIBSECP256K1) $(am__append_4) $(BOOST_LIBS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ + $(LIBSECP256K1) +hyperstaked_SOURCES = bitcoind.cpp $(am__append_5) +hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) +hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +CLEANFILES = *.gcda *.gcno $(am__append_10) $(am__append_17) \ + $(am__append_21) +DISTCLEANFILES = obj/build.h +EXTRA_DIST = $(am__append_8) +TEST_SRCDIR = test +TEST_BINARY = test/test_bitcoin$(EXEEXT) +JSON_TEST_FILES = \ + test/data/script_valid.json \ + test/data/base58_keys_valid.json \ + test/data/base58_encode_decode.json \ + test/data/base58_keys_invalid.json \ + test/data/script_invalid.json + +GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) +BITCOIN_TESTS = \ + test/allocator_tests.cpp \ + test/base32_tests.cpp \ + test/base64_tests.cpp \ + test/getarg_tests.cpp \ + test/key_tests.cpp \ + test/mruset_tests.cpp \ + test/netbase_tests.cpp \ + test/test_bitcoin.cpp \ + test/sigopcount_tests.cpp + +test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) +test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) +test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ + $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ + $(BOOST_UNIT_TEST_FRAMEWORK_LIB) \ + $(am__append_9) $(LIBBITCOIN_CONSENSUS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ + $(MINIUPNPC_LIBS) +test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static +nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) +CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) + +# bitcoin qt core # +QT_TS = \ + qt/locale/bitcoin_en.ts \ + qt/locale/bitcoin_ru.ts + +QT_FORMS_UI = \ + qt/forms/aboutdialog.ui \ + qt/forms/addressbookpage.ui \ + qt/forms/askpassphrasedialog.ui \ + qt/forms/bip38tooldialog.ui \ + qt/forms/blockbrowser.ui \ + qt/forms/calcdialog.ui \ + qt/forms/charitydialog.ui \ + qt/forms/coincontroldialog.ui \ + qt/forms/editaddressdialog.ui \ + qt/forms/optionsdialog.ui \ + qt/forms/overviewpage.ui \ + qt/forms/qrcodedialog.ui \ + qt/forms/rpcconsole.ui \ + qt/forms/sendcoinsdialog.ui \ + qt/forms/sendcoinsentry.ui \ + qt/forms/signverifymessagedialog.ui \ + qt/forms/transactiondescdialog.ui + +QT_MOC_CPP = \ + qt/moc_aboutdialog.cpp \ + qt/moc_addressbookpage.cpp \ + qt/moc_addresstablemodel.cpp \ + qt/moc_askpassphrasedialog.cpp \ + qt/moc_bip38tooldialog.cpp \ + qt/moc_bitcoinaddressvalidator.cpp \ + qt/moc_bitcoinamountfield.cpp \ + qt/moc_bitcoingui.cpp \ + qt/moc_bitcoinunits.cpp \ + qt/moc_blockbrowser.cpp \ + qt/moc_calcdialog.cpp \ + qt/moc_charitydialog.cpp \ + qt/moc_clientmodel.cpp \ + qt/moc_coincontroldialog.cpp \ + qt/moc_coincontroltreewidget.cpp \ + qt/moc_csvmodelwriter.cpp \ + qt/moc_editaddressdialog.cpp \ + qt/moc_guiutil.cpp \ + qt/moc_macdockiconhandler.cpp \ + qt/moc_macnotificationhandler.cpp \ + qt/moc_monitoreddatamapper.cpp \ + qt/moc_notificator.cpp \ + qt/moc_optionsdialog.cpp \ + qt/moc_optionsmodel.cpp \ + qt/moc_overviewpage.cpp \ + qt/moc_paymentserver.cpp \ + qt/moc_qrcodedialog.cpp \ + qt/moc_qvalidatedlineedit.cpp \ + qt/moc_qvaluecombobox.cpp \ + qt/moc_rpcconsole.cpp \ + qt/moc_sendcoinsdialog.cpp \ + qt/moc_sendcoinsentry.cpp \ + qt/moc_signverifymessagedialog.cpp \ + qt/moc_transactiondesc.cpp \ + qt/moc_transactiondescdialog.cpp \ + qt/moc_transactionfilterproxy.cpp \ + qt/moc_transactiontablemodel.cpp \ + qt/moc_transactionview.cpp \ + qt/moc_walletmodel.cpp + +BITCOIN_MM = \ + qt/macdockiconhandler.mm \ + qt/macnotificationhandler.mm + +QT_MOC = \ + qt/bitcoin.moc \ + qt/bitcoinamountfield.moc \ + qt/overviewpage.moc \ + qt/rpcconsole.moc + +QT_QRC_CPP = qt/qrc_bitcoin.cpp +QT_QRC = qt/bitcoin.qrc +BITCOIN_QT_H = \ + qt/aboutdialog.h \ + qt/addressbookpage.h \ + qt/addresstablemodel.h \ + qt/askpassphrasedialog.h \ + qt/bip38tooldialog.h \ + qt/bitcoinaddressvalidator.h \ + qt/bitcoinamountfield.h \ + qt/bitcoingui.h \ + qt/bitcoinunits.h \ + qt/blockbrowser.h \ + qt/calcdialog.h \ + qt/charitydialog.h \ + qt/clientmodel.h \ + qt/coincontroldialog.h \ + qt/coincontroltreewidget.h \ + qt/csvmodelwriter.h \ + qt/editaddressdialog.h \ + qt/guiconstants.h \ + qt/guiutil.h \ + qt/macdockiconhandler.h \ + qt/macnotificationhandler.h \ + qt/monitoreddatamapper.h \ + qt/networkstyle.h \ + qt/notificator.h \ + qt/optionsdialog.h \ + qt/optionsmodel.h \ + qt/overviewpage.h \ + qt/paymentserver.h \ + qt/qrcodedialog.h \ + qt/qvalidatedlineedit.h \ + qt/qvaluecombobox.h \ + qt/rpcconsole.h \ + qt/scicon.h \ + qt/sendcoinsdialog.h \ + qt/sendcoinsentry.h \ + qt/signverifymessagedialog.h \ + qt/transactiondesc.h \ + qt/transactiondescdialog.h \ + qt/transactionfilterproxy.h \ + qt/transactionrecord.h \ + qt/transactiontablemodel.h \ + qt/transactionview.h \ + qt/walletmodel.h + +RES_ICONS = \ + qt/res/icons/add.png \ + qt/res/icons/address-book.png \ + qt/res/icons/blexp.png \ + qt/res/icons/clock1.png \ + qt/res/icons/clock2.png \ + qt/res/icons/clock3.png \ + qt/res/icons/clock4.png \ + qt/res/icons/clock5.png \ + qt/res/icons/configure.png \ + qt/res/icons/connect0_16.png \ + qt/res/icons/connect1_16.png \ + qt/res/icons/connect2_16.png \ + qt/res/icons/connect3_16.png \ + qt/res/icons/connect4_16.png \ + qt/res/icons/debugwindow.png \ + qt/res/icons/edit.png \ + qt/res/icons/editcopy.png \ + qt/res/icons/editpaste.png \ + qt/res/icons/export.png \ + qt/res/icons/filesave.png \ + qt/res/icons/history.png \ + qt/res/icons/hyperstake-16.png \ + qt/res/icons/hyperstake-32.png \ + qt/res/icons/hyperstake-128.png \ + qt/res/icons/info.png \ + qt/res/icons/key.png \ + qt/res/icons/lock_closed.png \ + qt/res/icons/lock_open.png \ + qt/res/icons/mining.png \ + qt/res/icons/mining_inactive.png \ + qt/res/icons/notsynced.png \ + qt/res/icons/overview.png \ + qt/res/icons/qrcode.png \ + qt/res/icons/quit.png \ + qt/res/icons/receive.png \ + qt/res/icons/remove.png \ + qt/res/icons/s4c.png \ + qt/res/icons/send.png \ + qt/res/icons/synced.png \ + qt/res/icons/transaction0.png \ + qt/res/icons/transaction2.png \ + qt/res/icons/tx_inout.png \ + qt/res/icons/tx_input.png \ + qt/res/icons/tx_output.png \ + qt/res/icons/tx_mined.png + +BITCOIN_QT_CPP = qt/aboutdialog.cpp \ + qt/bip38tooldialog.cpp \ + qt/bitcoinaddressvalidator.cpp \ + qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ + qt/bitcoinunits.cpp qt/blockbrowser.cpp \ + qt/calcdialog.cpp qt/charitydialog.cpp \ + qt/clientmodel.cpp qt/csvmodelwriter.cpp \ + qt/guiutil.cpp qt/monitoreddatamapper.cpp \ + qt/networkstyle.cpp qt/notificator.cpp \ + qt/optionsdialog.cpp qt/optionsmodel.cpp \ + qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ + qt/qvaluecombobox.cpp qt/rpcconsole.cpp \ + qt/scicon.cpp qt/walletmodel.cpp \ + $(am__append_13) +RES_IMAGES = \ + qt/res/images/about.png \ + qt/res/images/splash.png \ + qt/res/images/wallet.png + +RES_STYLESHEETS = +RES_MOVIES = $(wildcard qt/res/movies/*.mng) +BITCOIN_RC = qt/res/bitcoin-qt.rc +BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ + -I$(builddir)/qt/forms + +qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) + +qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ + $(QT_QRC) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) + +nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ + $(PROTOBUF_H) $(QT_QRC_CPP) + + +# forms/foo.h -> forms/ui_foo.h +QT_FORMS_H = $(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h)))) + +# hyperstake-qt binary # +qt_hyperstake_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) + +qt_hyperstake_qt_SOURCES = qt/bitcoin.cpp \ + $(am__append_14) $(am__append_15) +qt_hyperstake_qt_LDADD = qt/libbitcoinqt.a \ + $(LIBBITCOIN_SERVER) $(am__append_16) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ + $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ + $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) \ + $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) \ + $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ + $(LIBSECP256K1) +qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX + +#locale/foo.ts -> locale/foo.qm +QT_QM = $(QT_TS:.ts=.qm) +CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno +TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp +TEST_QT_H = \ + qt/test/uritests.h + +qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) + +qt_test_test_bitcoin_qt_SOURCES = \ + qt/test/test_main.cpp \ + qt/test/uritests.cpp \ + $(TEST_QT_H) + +nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP) +qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) \ + $(LIBBITCOIN_SERVER) $(am__append_20) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) \ + $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ + $(LIBMEMENV) $(BOOST_LIBS) \ + $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \ + $(QT_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ + $(MINIUPNPC_LIBS) $(LIBSECP256K1) +qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .c .cpp .lo .log .mm .o .obj .rc .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +libbitcoin_common.a: $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_DEPENDENCIES) $(EXTRA_libbitcoin_common_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_common.a + $(AM_V_AR)$(libbitcoin_common_a_AR) libbitcoin_common.a $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_common.a + +libbitcoin_server.a: $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_DEPENDENCIES) $(EXTRA_libbitcoin_server_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_server.a + $(AM_V_AR)$(libbitcoin_server_a_AR) libbitcoin_server.a $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_server.a + +libbitcoin_util.a: $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_DEPENDENCIES) $(EXTRA_libbitcoin_util_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_util.a + $(AM_V_AR)$(libbitcoin_util_a_AR) libbitcoin_util.a $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_util.a + +libbitcoin_wallet.a: $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_DEPENDENCIES) $(EXTRA_libbitcoin_wallet_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_wallet.a + $(AM_V_AR)$(libbitcoin_wallet_a_AR) libbitcoin_wallet.a $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_wallet.a +qt/$(am__dirstamp): + @$(MKDIR_P) qt + @: > qt/$(am__dirstamp) +qt/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/$(DEPDIR) + @: > qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-notificator.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-scicon.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) + +qt/libbitcoinqt.a: $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_DEPENDENCIES) $(EXTRA_qt_libbitcoinqt_a_DEPENDENCIES) qt/$(am__dirstamp) + $(AM_V_at)-rm -f qt/libbitcoinqt.a + $(AM_V_AR)$(qt_libbitcoinqt_a_AR) qt/libbitcoinqt.a $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_LIBADD) + $(AM_V_at)$(RANLIB) qt/libbitcoinqt.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + || test -f $$p1 \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +hyperstaked$(EXEEXT): $(hyperstaked_OBJECTS) $(hyperstaked_DEPENDENCIES) $(EXTRA_hyperstaked_DEPENDENCIES) + @rm -f hyperstaked$(EXEEXT) + $(AM_V_CXXLD)$(hyperstaked_LINK) $(hyperstaked_OBJECTS) $(hyperstaked_LDADD) $(LIBS) +qt/qt_hyperstake_qt-bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/res/$(am__dirstamp): + @$(MKDIR_P) qt/res + @: > qt/res/$(am__dirstamp) +qt/res/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/res/$(DEPDIR) + @: > qt/res/$(DEPDIR)/$(am__dirstamp) +qt/res/bitcoin-qt.$(OBJEXT): qt/res/$(am__dirstamp) \ + qt/res/$(DEPDIR)/$(am__dirstamp) + +qt/hyperstake-qt$(EXEEXT): $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_DEPENDENCIES) $(EXTRA_qt_hyperstake_qt_DEPENDENCIES) qt/$(am__dirstamp) + @rm -f qt/hyperstake-qt$(EXEEXT) + $(AM_V_OBJCXXLD)$(qt_hyperstake_qt_LINK) $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_LDADD) $(LIBS) +qt/test/$(am__dirstamp): + @$(MKDIR_P) qt/test + @: > qt/test/$(am__dirstamp) +qt/test/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/test/$(DEPDIR) + @: > qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) + +qt/test/test_bitcoin-qt$(EXEEXT): $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_DEPENDENCIES) $(EXTRA_qt_test_test_bitcoin_qt_DEPENDENCIES) qt/test/$(am__dirstamp) + @rm -f qt/test/test_bitcoin-qt$(EXEEXT) + $(AM_V_CXXLD)$(qt_test_test_bitcoin_qt_LINK) $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_LDADD) $(LIBS) +test/$(am__dirstamp): + @$(MKDIR_P) test + @: > test/$(am__dirstamp) +test/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) test/$(DEPDIR) + @: > test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-allocator_tests.$(OBJEXT): \ + test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-base32_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-base64_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-getarg_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-key_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-mruset_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-netbase_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-test_bitcoin.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-sigopcount_tests.$(OBJEXT): \ + test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) + +test/test_bitcoin$(EXEEXT): $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_DEPENDENCIES) $(EXTRA_test_test_bitcoin_DEPENDENCIES) test/$(am__dirstamp) + @rm -f test/test_bitcoin$(EXEEXT) + $(AM_V_CXXLD)$(test_test_bitcoin_LINK) $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f qt/*.$(OBJEXT) + -rm -f qt/res/*.$(OBJEXT) + -rm -f qt/test/*.$(OBJEXT) + -rm -f test/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/hyperstaked-bitcoind.Po +include ./$(DEPDIR)/libbitcoin_common_a-key.Po +include ./$(DEPDIR)/libbitcoin_common_a-keystore.Po +include ./$(DEPDIR)/libbitcoin_common_a-netbase.Po +include ./$(DEPDIR)/libbitcoin_common_a-protocol.Po +include ./$(DEPDIR)/libbitcoin_server_a-addrman.Po +include ./$(DEPDIR)/libbitcoin_server_a-aes_helper.Po +include ./$(DEPDIR)/libbitcoin_server_a-alert.Po +include ./$(DEPDIR)/libbitcoin_server_a-bip38.Po +include ./$(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +include ./$(DEPDIR)/libbitcoin_server_a-blake.Po +include ./$(DEPDIR)/libbitcoin_server_a-bmw.Po +include ./$(DEPDIR)/libbitcoin_server_a-checkpoints.Po +include ./$(DEPDIR)/libbitcoin_server_a-cubehash.Po +include ./$(DEPDIR)/libbitcoin_server_a-echo.Po +include ./$(DEPDIR)/libbitcoin_server_a-groestl.Po +include ./$(DEPDIR)/libbitcoin_server_a-init.Po +include ./$(DEPDIR)/libbitcoin_server_a-jh.Po +include ./$(DEPDIR)/libbitcoin_server_a-keccak.Po +include ./$(DEPDIR)/libbitcoin_server_a-kernel.Po +include ./$(DEPDIR)/libbitcoin_server_a-luffa.Po +include ./$(DEPDIR)/libbitcoin_server_a-main.Po +include ./$(DEPDIR)/libbitcoin_server_a-net.Po +include ./$(DEPDIR)/libbitcoin_server_a-noui.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcmining.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcnet.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +include ./$(DEPDIR)/libbitcoin_server_a-script.Po +include ./$(DEPDIR)/libbitcoin_server_a-scrypt.Po +include ./$(DEPDIR)/libbitcoin_server_a-shavite.Po +include ./$(DEPDIR)/libbitcoin_server_a-simd.Po +include ./$(DEPDIR)/libbitcoin_server_a-skein.Po +include ./$(DEPDIR)/libbitcoin_util_a-clientversion.Po +include ./$(DEPDIR)/libbitcoin_util_a-sync.Po +include ./$(DEPDIR)/libbitcoin_util_a-util.Po +include ./$(DEPDIR)/libbitcoin_util_a-version.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-bip38.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-crypter.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-db.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-wallet.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +include test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po + +.c.o: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CC)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< + +libbitcoin_server_a-aes_helper.o: aes_helper.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po +# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c + +libbitcoin_server_a-aes_helper.obj: aes_helper.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po +# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` + +libbitcoin_server_a-blake.o: blake.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po +# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c + +libbitcoin_server_a-blake.obj: blake.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po +# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` + +libbitcoin_server_a-bmw.o: bmw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po +# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c + +libbitcoin_server_a-bmw.obj: bmw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po +# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` + +libbitcoin_server_a-cubehash.o: cubehash.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po +# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c + +libbitcoin_server_a-cubehash.obj: cubehash.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po +# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` + +libbitcoin_server_a-echo.o: echo.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po +# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c + +libbitcoin_server_a-echo.obj: echo.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po +# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` + +libbitcoin_server_a-groestl.o: groestl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po +# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c + +libbitcoin_server_a-groestl.obj: groestl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po +# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` + +libbitcoin_server_a-jh.o: jh.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po +# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c + +libbitcoin_server_a-jh.obj: jh.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po +# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` + +libbitcoin_server_a-keccak.o: keccak.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po +# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c + +libbitcoin_server_a-keccak.obj: keccak.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po +# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` + +libbitcoin_server_a-luffa.o: luffa.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po +# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c + +libbitcoin_server_a-luffa.obj: luffa.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po +# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` + +libbitcoin_server_a-shavite.o: shavite.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po +# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c + +libbitcoin_server_a-shavite.obj: shavite.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po +# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` + +libbitcoin_server_a-simd.o: simd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po +# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c + +libbitcoin_server_a-simd.obj: simd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po +# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` + +libbitcoin_server_a-skein.o: skein.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po +# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c + +libbitcoin_server_a-skein.obj: skein.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po +# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` + +.cpp.o: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +libbitcoin_common_a-key.o: key.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po +# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp + +libbitcoin_common_a-key.obj: key.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po +# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` + +libbitcoin_common_a-keystore.o: keystore.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po +# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp + +libbitcoin_common_a-keystore.obj: keystore.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po +# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` + +libbitcoin_common_a-netbase.o: netbase.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po +# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp + +libbitcoin_common_a-netbase.obj: netbase.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po +# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` + +libbitcoin_common_a-protocol.o: protocol.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po +# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp + +libbitcoin_common_a-protocol.obj: protocol.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po +# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` + +libbitcoin_server_a-addrman.o: addrman.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po +# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp + +libbitcoin_server_a-addrman.obj: addrman.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po +# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` + +libbitcoin_server_a-alert.o: alert.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po +# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp + +libbitcoin_server_a-alert.obj: alert.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po +# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` + +libbitcoin_server_a-bip38.o: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + +libbitcoin_server_a-bip38.obj: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + +libbitcoin_server_a-bitcoinrpc.o: bitcoinrpc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp + +libbitcoin_server_a-bitcoinrpc.obj: bitcoinrpc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` + +libbitcoin_server_a-checkpoints.o: checkpoints.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po +# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp + +libbitcoin_server_a-checkpoints.obj: checkpoints.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po +# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` + +libbitcoin_server_a-init.o: init.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po +# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp + +libbitcoin_server_a-init.obj: init.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po +# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` + +libbitcoin_server_a-kernel.o: kernel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po +# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp + +libbitcoin_server_a-kernel.obj: kernel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po +# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` + +libbitcoin_server_a-main.o: main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po +# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp + +libbitcoin_server_a-main.obj: main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po +# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` + +libbitcoin_server_a-net.o: net.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po +# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp + +libbitcoin_server_a-net.obj: net.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po +# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` + +libbitcoin_server_a-noui.o: noui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po +# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp + +libbitcoin_server_a-noui.obj: noui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po +# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` + +libbitcoin_server_a-rpcblockchain.o: rpcblockchain.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp + +libbitcoin_server_a-rpcblockchain.obj: rpcblockchain.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` + +libbitcoin_server_a-rpcmining.o: rpcmining.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po +# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp + +libbitcoin_server_a-rpcmining.obj: rpcmining.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po +# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` + +libbitcoin_server_a-rpcnet.o: rpcnet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po +# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp + +libbitcoin_server_a-rpcnet.obj: rpcnet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po +# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` + +libbitcoin_server_a-rpcrawtransaction.o: rpcrawtransaction.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp + +libbitcoin_server_a-rpcrawtransaction.obj: rpcrawtransaction.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` + +libbitcoin_server_a-script.o: script.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po +# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp + +libbitcoin_server_a-script.obj: script.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po +# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` + +libbitcoin_server_a-scrypt.o: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + +libbitcoin_server_a-scrypt.obj: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + +libbitcoin_util_a-clientversion.o: clientversion.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po +# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp + +libbitcoin_util_a-clientversion.obj: clientversion.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po +# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` + +libbitcoin_util_a-sync.o: sync.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po +# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp + +libbitcoin_util_a-sync.obj: sync.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po +# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` + +libbitcoin_util_a-version.o: version.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po +# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp + +libbitcoin_util_a-version.obj: version.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po +# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` + +libbitcoin_util_a-util.o: util.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po +# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp + +libbitcoin_util_a-util.obj: util.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po +# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` + +libbitcoin_wallet_a-bip38.o: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + +libbitcoin_wallet_a-bip38.obj: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + +libbitcoin_wallet_a-db.o: db.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po +# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp + +libbitcoin_wallet_a-db.obj: db.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po +# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` + +libbitcoin_wallet_a-crypter.o: crypter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po +# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp + +libbitcoin_wallet_a-crypter.obj: crypter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po +# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` + +libbitcoin_wallet_a-pbkdf2.o: pbkdf2.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp + +libbitcoin_wallet_a-pbkdf2.obj: pbkdf2.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` + +libbitcoin_wallet_a-rpcdump.o: rpcdump.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp + +libbitcoin_wallet_a-rpcdump.obj: rpcdump.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` + +libbitcoin_wallet_a-rpcwallet.o: rpcwallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp + +libbitcoin_wallet_a-rpcwallet.obj: rpcwallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` + +libbitcoin_wallet_a-scrypt.o: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + +libbitcoin_wallet_a-scrypt.obj: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + +libbitcoin_wallet_a-wallet.o: wallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po +# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp + +libbitcoin_wallet_a-wallet.obj: wallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po +# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` + +libbitcoin_wallet_a-walletdb.o: walletdb.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp + +libbitcoin_wallet_a-walletdb.obj: walletdb.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` + +qt/qt_libbitcoinqt_a-aboutdialog.o: qt/aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp + +qt/qt_libbitcoinqt_a-aboutdialog.obj: qt/aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-bip38tooldialog.o: qt/bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp + +qt/qt_libbitcoinqt_a-bip38tooldialog.obj: qt/bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o: qt/bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp + +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj: qt/bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinamountfield.o: qt/bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp + +qt/qt_libbitcoinqt_a-bitcoinamountfield.obj: qt/bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoingui.o: qt/bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp + +qt/qt_libbitcoinqt_a-bitcoingui.obj: qt/bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinunits.o: qt/bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp + +qt/qt_libbitcoinqt_a-bitcoinunits.obj: qt/bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` + +qt/qt_libbitcoinqt_a-blockbrowser.o: qt/blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp + +qt/qt_libbitcoinqt_a-blockbrowser.obj: qt/blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` + +qt/qt_libbitcoinqt_a-calcdialog.o: qt/calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp + +qt/qt_libbitcoinqt_a-calcdialog.obj: qt/calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-charitydialog.o: qt/charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp + +qt/qt_libbitcoinqt_a-charitydialog.obj: qt/charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-clientmodel.o: qt/clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp + +qt/qt_libbitcoinqt_a-clientmodel.obj: qt/clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-csvmodelwriter.o: qt/csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp + +qt/qt_libbitcoinqt_a-csvmodelwriter.obj: qt/csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` + +qt/qt_libbitcoinqt_a-guiutil.o: qt/guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp + +qt/qt_libbitcoinqt_a-guiutil.obj: qt/guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` + +qt/qt_libbitcoinqt_a-monitoreddatamapper.o: qt/monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp + +qt/qt_libbitcoinqt_a-monitoreddatamapper.obj: qt/monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` + +qt/qt_libbitcoinqt_a-networkstyle.o: qt/networkstyle.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp + +qt/qt_libbitcoinqt_a-networkstyle.obj: qt/networkstyle.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` + +qt/qt_libbitcoinqt_a-notificator.o: qt/notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp + +qt/qt_libbitcoinqt_a-notificator.obj: qt/notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` + +qt/qt_libbitcoinqt_a-optionsdialog.o: qt/optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp + +qt/qt_libbitcoinqt_a-optionsdialog.obj: qt/optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-optionsmodel.o: qt/optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp + +qt/qt_libbitcoinqt_a-optionsmodel.obj: qt/optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-qrcodedialog.o: qt/qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp + +qt/qt_libbitcoinqt_a-qrcodedialog.obj: qt/qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-qvalidatedlineedit.o: qt/qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp + +qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj: qt/qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` + +qt/qt_libbitcoinqt_a-qvaluecombobox.o: qt/qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp + +qt/qt_libbitcoinqt_a-qvaluecombobox.obj: qt/qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` + +qt/qt_libbitcoinqt_a-rpcconsole.o: qt/rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp + +qt/qt_libbitcoinqt_a-rpcconsole.obj: qt/rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` + +qt/qt_libbitcoinqt_a-scicon.o: qt/scicon.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp + +qt/qt_libbitcoinqt_a-scicon.obj: qt/scicon.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` + +qt/qt_libbitcoinqt_a-walletmodel.o: qt/walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp + +qt/qt_libbitcoinqt_a-walletmodel.obj: qt/walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-addressbookpage.o: qt/addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp + +qt/qt_libbitcoinqt_a-addressbookpage.obj: qt/addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-addresstablemodel.o: qt/addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp + +qt/qt_libbitcoinqt_a-addresstablemodel.obj: qt/addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-askpassphrasedialog.o: qt/askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp + +qt/qt_libbitcoinqt_a-askpassphrasedialog.obj: qt/askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-coincontroldialog.o: qt/coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp + +qt/qt_libbitcoinqt_a-coincontroldialog.obj: qt/coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-coincontroltreewidget.o: qt/coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp + +qt/qt_libbitcoinqt_a-coincontroltreewidget.obj: qt/coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` + +qt/qt_libbitcoinqt_a-editaddressdialog.o: qt/editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp + +qt/qt_libbitcoinqt_a-editaddressdialog.obj: qt/editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-overviewpage.o: qt/overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp + +qt/qt_libbitcoinqt_a-overviewpage.obj: qt/overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-paymentserver.o: qt/paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp + +qt/qt_libbitcoinqt_a-paymentserver.obj: qt/paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` + +qt/qt_libbitcoinqt_a-sendcoinsdialog.o: qt/sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp + +qt/qt_libbitcoinqt_a-sendcoinsdialog.obj: qt/sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-sendcoinsentry.o: qt/sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp + +qt/qt_libbitcoinqt_a-sendcoinsentry.obj: qt/sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` + +qt/qt_libbitcoinqt_a-signverifymessagedialog.o: qt/signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp + +qt/qt_libbitcoinqt_a-signverifymessagedialog.obj: qt/signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiondesc.o: qt/transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp + +qt/qt_libbitcoinqt_a-transactiondesc.obj: qt/transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiondescdialog.o: qt/transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp + +qt/qt_libbitcoinqt_a-transactiondescdialog.obj: qt/transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionfilterproxy.o: qt/transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp + +qt/qt_libbitcoinqt_a-transactionfilterproxy.obj: qt/transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionrecord.o: qt/transactionrecord.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp + +qt/qt_libbitcoinqt_a-transactionrecord.obj: qt/transactionrecord.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiontablemodel.o: qt/transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp + +qt/qt_libbitcoinqt_a-transactiontablemodel.obj: qt/transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionview.o: qt/transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp + +qt/qt_libbitcoinqt_a-transactionview.obj: qt/transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_aboutdialog.o: qt/moc_aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp + +qt/qt_libbitcoinqt_a-moc_aboutdialog.obj: qt/moc_aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_addressbookpage.o: qt/moc_addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp + +qt/qt_libbitcoinqt_a-moc_addressbookpage.obj: qt/moc_addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_addresstablemodel.o: qt/moc_addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp + +qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj: qt/moc_addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o: qt/moc_askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp + +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj: qt/moc_askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o: qt/moc_bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp + +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj: qt/moc_bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o: qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj: qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o: qt/moc_bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj: qt/moc_bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoingui.o: qt/moc_bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoingui.obj: qt/moc_bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinunits.o: qt/moc_bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj: qt/moc_bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_blockbrowser.o: qt/moc_blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp + +qt/qt_libbitcoinqt_a-moc_blockbrowser.obj: qt/moc_blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_calcdialog.o: qt/moc_calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp + +qt/qt_libbitcoinqt_a-moc_calcdialog.obj: qt/moc_calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_charitydialog.o: qt/moc_charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp + +qt/qt_libbitcoinqt_a-moc_charitydialog.obj: qt/moc_charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_clientmodel.o: qt/moc_clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp + +qt/qt_libbitcoinqt_a-moc_clientmodel.obj: qt/moc_clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_coincontroldialog.o: qt/moc_coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp + +qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj: qt/moc_coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o: qt/moc_coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp + +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj: qt/moc_coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o: qt/moc_csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp + +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj: qt/moc_csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_editaddressdialog.o: qt/moc_editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp + +qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj: qt/moc_editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_guiutil.o: qt/moc_guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp + +qt/qt_libbitcoinqt_a-moc_guiutil.obj: qt/moc_guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o: qt/moc_macdockiconhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp + +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj: qt/moc_macdockiconhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o: qt/moc_macnotificationhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp + +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj: qt/moc_macnotificationhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o: qt/moc_monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp + +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj: qt/moc_monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_notificator.o: qt/moc_notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp + +qt/qt_libbitcoinqt_a-moc_notificator.obj: qt/moc_notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_optionsdialog.o: qt/moc_optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp + +qt/qt_libbitcoinqt_a-moc_optionsdialog.obj: qt/moc_optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_optionsmodel.o: qt/moc_optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp + +qt/qt_libbitcoinqt_a-moc_optionsmodel.obj: qt/moc_optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_overviewpage.o: qt/moc_overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp + +qt/qt_libbitcoinqt_a-moc_overviewpage.obj: qt/moc_overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_paymentserver.o: qt/moc_paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp + +qt/qt_libbitcoinqt_a-moc_paymentserver.obj: qt/moc_paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qrcodedialog.o: qt/moc_qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp + +qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj: qt/moc_qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o: qt/moc_qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp + +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj: qt/moc_qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o: qt/moc_qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp + +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj: qt/moc_qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_rpcconsole.o: qt/moc_rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp + +qt/qt_libbitcoinqt_a-moc_rpcconsole.obj: qt/moc_rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o: qt/moc_sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp + +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj: qt/moc_sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o: qt/moc_sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp + +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj: qt/moc_sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o: qt/moc_signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp + +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj: qt/moc_signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiondesc.o: qt/moc_transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp + +qt/qt_libbitcoinqt_a-moc_transactiondesc.obj: qt/moc_transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o: qt/moc_transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp + +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj: qt/moc_transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o: qt/moc_transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp + +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj: qt/moc_transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o: qt/moc_transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp + +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj: qt/moc_transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactionview.o: qt/moc_transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp + +qt/qt_libbitcoinqt_a-moc_transactionview.obj: qt/moc_transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_walletmodel.o: qt/moc_walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp + +qt/qt_libbitcoinqt_a-moc_walletmodel.obj: qt/moc_walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-qrc_bitcoin.o: qt/qrc_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp + +qt/qt_libbitcoinqt_a-qrc_bitcoin.obj: qt/qrc_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` + +hyperstaked-bitcoind.o: bitcoind.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.o -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po +# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp + +hyperstaked-bitcoind.obj: bitcoind.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.obj -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po +# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` + +qt/qt_hyperstake_qt-bitcoin.o: qt/bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp + +qt/qt_hyperstake_qt-bitcoin.obj: qt/bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-test_main.o: qt/test/test_main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp + +qt/test/qt_test_test_bitcoin_qt-test_main.obj: qt/test/test_main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-uritests.o: qt/test/uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp + +qt/test/qt_test_test_bitcoin_qt-uritests.obj: qt/test/uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-moc_uritests.o: qt/test/moc_uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp + +qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj: qt/test/moc_uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` + +test/test_test_bitcoin-allocator_tests.o: test/allocator_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp + +test/test_test_bitcoin-allocator_tests.obj: test/allocator_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` + +test/test_test_bitcoin-base32_tests.o: test/base32_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp + +test/test_test_bitcoin-base32_tests.obj: test/base32_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` + +test/test_test_bitcoin-base64_tests.o: test/base64_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp + +test/test_test_bitcoin-base64_tests.obj: test/base64_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` + +test/test_test_bitcoin-getarg_tests.o: test/getarg_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp + +test/test_test_bitcoin-getarg_tests.obj: test/getarg_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` + +test/test_test_bitcoin-key_tests.o: test/key_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp + +test/test_test_bitcoin-key_tests.obj: test/key_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` + +test/test_test_bitcoin-mruset_tests.o: test/mruset_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp + +test/test_test_bitcoin-mruset_tests.obj: test/mruset_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` + +test/test_test_bitcoin-netbase_tests.o: test/netbase_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp + +test/test_test_bitcoin-netbase_tests.obj: test/netbase_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` + +test/test_test_bitcoin-test_bitcoin.o: test/test_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po +# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp + +test/test_test_bitcoin-test_bitcoin.obj: test/test_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po +# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` + +test/test_test_bitcoin-sigopcount_tests.o: test/sigopcount_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp + +test/test_test_bitcoin-sigopcount_tests.obj: test/sigopcount_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` + +.mm.obj: + $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_OBJCXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.mm.lo: + $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTOBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_OBJCXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(LTOBJCXXCOMPILE) -c -o $@ $< + +qt/qt_hyperstake_qt-macdockiconhandler.o: qt/macdockiconhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm + +qt/qt_hyperstake_qt-macdockiconhandler.obj: qt/macdockiconhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` + +qt/qt_hyperstake_qt-macnotificationhandler.o: qt/macnotificationhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm + +qt/qt_hyperstake_qt-macnotificationhandler.obj: qt/macnotificationhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf qt/.libs qt/_libs + -rm -rf qt/test/.libs qt/test/_libs + -rm -rf test/.libs test/_libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +test/test_bitcoin.log: test/test_bitcoin$(EXEEXT) + @p='test/test_bitcoin$(EXEEXT)'; \ + b='test/test_bitcoin'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test/bitcoin-util-test.py.log: test/bitcoin-util-test.py + @p='test/bitcoin-util-test.py'; \ + b='test/bitcoin-util-test.py'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +qt/test/test_bitcoin-qt.log: qt/test/test_bitcoin-qt$(EXEEXT) + @p='qt/test/test_bitcoin-qt$(EXEEXT)'; \ + b='qt/test/test_bitcoin-qt'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +#.test$(EXEEXT).log: +# @p='$<'; \ +# $(am__set_b); \ +# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +# --log-file $$b.log --trs-file $$b.trs \ +# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +# "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-recursive +all-am: Makefile $(LIBRARIES) $(PROGRAMS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f qt/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/$(am__dirstamp) + -rm -f qt/res/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/res/$(am__dirstamp) + -rm -f qt/test/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/test/$(am__dirstamp) + -rm -f test/$(DEPDIR)/$(am__dirstamp) + -rm -f test/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ + clean-noinstLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: $(am__recursive_targets) check-am install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-TESTS check-am clean clean-binPROGRAMS clean-generic \ + clean-libtool clean-local clean-noinstLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am recheck tags tags-am uninstall \ + uninstall-am uninstall-binPROGRAMS + +.PRECIOUS: Makefile + + +$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) + +.PHONY: FORCE + +obj/build.h: FORCE + @$(MKDIR_P) $(builddir)/obj + @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ + $(abs_top_srcdir) +libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h + +clean-local: + -$(MAKE) -C leveldb clean + -$(MAKE) -C secp256k1 clean + -rm -f config.h + +.rc.o: + @test -f $(WINDRES) + $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ + +.mm.o: + $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< + +%.pb.cc %.pb.h: %.proto + @test -f $(PROTOC) + $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $( $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" + +%.raw.h: %.raw + @$(MKDIR_P) $(@D) + @echo "namespace alert_tests{" > $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" + +# Most files will depend on the forms and moc files as includes. Generate them +# before anything else. +$(QT_MOC): $(QT_FORMS_H) +$(qt_libbitcoinqt_a_OBJECTS) $(qt_bitcoin_qt_OBJECTS) : | $(QT_MOC) + +#Generating these with a half-written protobuf header leads to wacky results. +#This makes sure it's done. +$(QT_MOC): $(PROTOBUF_H) +$(QT_MOC_CPP): $(PROTOBUF_H) + +SECONDARY: $(QT_QM) + +qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) + @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" + $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ + +translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) + @test -n $(LUPDATE) || echo "lupdate is required for updating translations" + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts + +$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) $(PROTOBUF_H) + @test -f $(RCC) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +hyperstake_qt_clean: FORCE + rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_hyperstake_qt_OBJECTS) qt/hyperstake-qt$(EXEEXT) $(LIBBITCOINQT) + +hyperstake_qt : qt/hyperstake-qt$(EXEEXT) + +ui_%.h: %.ui + @test -f $(UIC) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(UIC) -o $@ $< || (echo "Error creating $@"; false) + +%.moc: %.cpp + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +moc_%.cpp: %.h + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +%.qm: %.ts + @test -f $(LRELEASE) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LRELEASE) -silent $< -qm $@ + +test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT) + +test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE + $(MAKE) check-TESTS TESTS=$^ + +test_bitcoin_qt_clean: FORCE + rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 9804930f2..85d226eca 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -307,6 +307,33 @@ CRPCTable::CRPCTable() } } +// initial mockup of a proposal created by a user +// takes user input and returns a Vote +Value CreateProposal(const block_header, bool fHelp) +{ + // name of issue + string Name; + // description of issue - will go in different tx + CTransaction Description; + // start time - will be changed to int StartHeight + strTimestampFormat StartTime; + // number of blocks with votes to count + uint_8 CheckSpan; + // cardinal items to vote on - convert to uint8 Shift + uint_8 cardinals; + // tx fee for creating proposal + int64 Fee; + + int StartHeight = int StartTimeToHeight() + { + + } + uint_8 BitCount = uint8 CardinalToBitCount() + { + + } +} + const CRPCCommand *CRPCTable::operator[](string name) const { map::const_iterator it = mapCommands.find(name); diff --git a/src/qt/forms/ui_bip38tooldialog.h b/src/qt/forms/ui_bip38tooldialog.h new file mode 100644 index 000000000..9eaf1eb65 --- /dev/null +++ b/src/qt/forms/ui_bip38tooldialog.h @@ -0,0 +1,412 @@ +/******************************************************************************** +** Form generated from reading UI file 'bip38tooldialog.ui' +** +** Created by: Qt User Interface Compiler version 5.5.1 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_BIP38TOOLDIALOG_H +#define UI_BIP38TOOLDIALOG_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "qvalidatedlineedit.h" + +QT_BEGIN_NAMESPACE + +class Ui_Bip38ToolDialog +{ +public: + QVBoxLayout *verticalLayout; + QTabWidget *tabWidget; + QWidget *tabBip38Encrypt; + QVBoxLayout *verticalLayout_SM; + QLabel *infoLabel_ENC; + QHBoxLayout *horizontalLayout_1_ENC; + QLabel *label_5; + QValidatedLineEdit *addressIn_ENC; + QPushButton *addressBookButton_ENC; + QPushButton *pasteButton_ENC; + QHBoxLayout *horizontalLayout_5; + QLabel *label_6; + QLineEdit *passphraseIn_ENC; + QHBoxLayout *horizontalLayout_2_ENC; + QLabel *encryptedKeyLabel_ENC; + QLineEdit *encryptedKeyOut_ENC; + QPushButton *copyKeyButton_ENC; + QHBoxLayout *horizontalLayout_3_ENC; + QPushButton *encryptKeyButton_ENC; + QPushButton *clearButton_ENC; + QSpacerItem *horizontalSpacer_1_ENC; + QLabel *statusLabel_ENC; + QSpacerItem *horizontalSpacer_2_ENC; + QWidget *tabBip38Decrypt; + QVBoxLayout *verticalLayout_VM; + QLabel *infoLabel_DEC; + QHBoxLayout *horizontalLayout_3; + QLabel *label_2; + QValidatedLineEdit *encryptedKeyIn_DEC; + QHBoxLayout *horizontalLayout; + QLabel *label; + QLineEdit *passphraseIn_DEC; + QHBoxLayout *horizontalLayout_2_DEC; + QPushButton *decryptKeyButton_DEC; + QPushButton *clearButton_DEC; + QSpacerItem *horizontalSpacer_1_DEC; + QLabel *statusLabel_DEC; + QSpacerItem *horizontalSpacer_2_DEC; + QHBoxLayout *horizontalLayout_2; + QLabel *label_3; + QValidatedLineEdit *decryptedKeyOut_DEC; + QHBoxLayout *horizontalLayout_4; + QPushButton *importAddressButton_DEC; + QLabel *label_4; + QLineEdit *addressOut_DEC; + + void setupUi(QDialog *Bip38ToolDialog) + { + if (Bip38ToolDialog->objectName().isEmpty()) + Bip38ToolDialog->setObjectName(QStringLiteral("Bip38ToolDialog")); + Bip38ToolDialog->resize(700, 334); + Bip38ToolDialog->setModal(true); + verticalLayout = new QVBoxLayout(Bip38ToolDialog); + verticalLayout->setObjectName(QStringLiteral("verticalLayout")); + tabWidget = new QTabWidget(Bip38ToolDialog); + tabWidget->setObjectName(QStringLiteral("tabWidget")); + tabBip38Encrypt = new QWidget(); + tabBip38Encrypt->setObjectName(QStringLiteral("tabBip38Encrypt")); + verticalLayout_SM = new QVBoxLayout(tabBip38Encrypt); + verticalLayout_SM->setObjectName(QStringLiteral("verticalLayout_SM")); + infoLabel_ENC = new QLabel(tabBip38Encrypt); + infoLabel_ENC->setObjectName(QStringLiteral("infoLabel_ENC")); + infoLabel_ENC->setTextFormat(Qt::PlainText); + infoLabel_ENC->setWordWrap(true); + + verticalLayout_SM->addWidget(infoLabel_ENC); + + horizontalLayout_1_ENC = new QHBoxLayout(); + horizontalLayout_1_ENC->setSpacing(0); + horizontalLayout_1_ENC->setObjectName(QStringLiteral("horizontalLayout_1_ENC")); + label_5 = new QLabel(tabBip38Encrypt); + label_5->setObjectName(QStringLiteral("label_5")); + + horizontalLayout_1_ENC->addWidget(label_5); + + addressIn_ENC = new QValidatedLineEdit(tabBip38Encrypt); + addressIn_ENC->setObjectName(QStringLiteral("addressIn_ENC")); + + horizontalLayout_1_ENC->addWidget(addressIn_ENC); + + addressBookButton_ENC = new QPushButton(tabBip38Encrypt); + addressBookButton_ENC->setObjectName(QStringLiteral("addressBookButton_ENC")); + QIcon icon; + icon.addFile(QStringLiteral(":/icons/address-book"), QSize(), QIcon::Normal, QIcon::Off); + addressBookButton_ENC->setIcon(icon); + addressBookButton_ENC->setAutoDefault(false); + + horizontalLayout_1_ENC->addWidget(addressBookButton_ENC); + + pasteButton_ENC = new QPushButton(tabBip38Encrypt); + pasteButton_ENC->setObjectName(QStringLiteral("pasteButton_ENC")); + QIcon icon1; + icon1.addFile(QStringLiteral(":/icons/editpaste"), QSize(), QIcon::Normal, QIcon::Off); + pasteButton_ENC->setIcon(icon1); + pasteButton_ENC->setAutoDefault(false); + + horizontalLayout_1_ENC->addWidget(pasteButton_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_1_ENC); + + horizontalLayout_5 = new QHBoxLayout(); + horizontalLayout_5->setObjectName(QStringLiteral("horizontalLayout_5")); + label_6 = new QLabel(tabBip38Encrypt); + label_6->setObjectName(QStringLiteral("label_6")); + + horizontalLayout_5->addWidget(label_6); + + passphraseIn_ENC = new QLineEdit(tabBip38Encrypt); + passphraseIn_ENC->setObjectName(QStringLiteral("passphraseIn_ENC")); + passphraseIn_ENC->setEchoMode(QLineEdit::Password); + + horizontalLayout_5->addWidget(passphraseIn_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_5); + + horizontalLayout_2_ENC = new QHBoxLayout(); + horizontalLayout_2_ENC->setSpacing(0); + horizontalLayout_2_ENC->setObjectName(QStringLiteral("horizontalLayout_2_ENC")); + encryptedKeyLabel_ENC = new QLabel(tabBip38Encrypt); + encryptedKeyLabel_ENC->setObjectName(QStringLiteral("encryptedKeyLabel_ENC")); + encryptedKeyLabel_ENC->setTextFormat(Qt::PlainText); + + horizontalLayout_2_ENC->addWidget(encryptedKeyLabel_ENC); + + encryptedKeyOut_ENC = new QLineEdit(tabBip38Encrypt); + encryptedKeyOut_ENC->setObjectName(QStringLiteral("encryptedKeyOut_ENC")); + QFont font; + font.setItalic(true); + encryptedKeyOut_ENC->setFont(font); + encryptedKeyOut_ENC->setReadOnly(true); + + horizontalLayout_2_ENC->addWidget(encryptedKeyOut_ENC); + + copyKeyButton_ENC = new QPushButton(tabBip38Encrypt); + copyKeyButton_ENC->setObjectName(QStringLiteral("copyKeyButton_ENC")); + QIcon icon2; + icon2.addFile(QStringLiteral(":/icons/editcopy"), QSize(), QIcon::Normal, QIcon::Off); + copyKeyButton_ENC->setIcon(icon2); + copyKeyButton_ENC->setAutoDefault(false); + + horizontalLayout_2_ENC->addWidget(copyKeyButton_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_2_ENC); + + horizontalLayout_3_ENC = new QHBoxLayout(); + horizontalLayout_3_ENC->setObjectName(QStringLiteral("horizontalLayout_3_ENC")); + encryptKeyButton_ENC = new QPushButton(tabBip38Encrypt); + encryptKeyButton_ENC->setObjectName(QStringLiteral("encryptKeyButton_ENC")); + QIcon icon3; + icon3.addFile(QStringLiteral(":/icons/edit"), QSize(), QIcon::Normal, QIcon::Off); + encryptKeyButton_ENC->setIcon(icon3); + encryptKeyButton_ENC->setAutoDefault(false); + + horizontalLayout_3_ENC->addWidget(encryptKeyButton_ENC); + + clearButton_ENC = new QPushButton(tabBip38Encrypt); + clearButton_ENC->setObjectName(QStringLiteral("clearButton_ENC")); + QIcon icon4; + icon4.addFile(QStringLiteral(":/icons/remove"), QSize(), QIcon::Normal, QIcon::Off); + clearButton_ENC->setIcon(icon4); + clearButton_ENC->setAutoDefault(false); + + horizontalLayout_3_ENC->addWidget(clearButton_ENC); + + horizontalSpacer_1_ENC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_3_ENC->addItem(horizontalSpacer_1_ENC); + + statusLabel_ENC = new QLabel(tabBip38Encrypt); + statusLabel_ENC->setObjectName(QStringLiteral("statusLabel_ENC")); + QFont font1; + font1.setBold(true); + font1.setWeight(75); + statusLabel_ENC->setFont(font1); + statusLabel_ENC->setWordWrap(true); + + horizontalLayout_3_ENC->addWidget(statusLabel_ENC); + + horizontalSpacer_2_ENC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_3_ENC->addItem(horizontalSpacer_2_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_3_ENC); + + tabWidget->addTab(tabBip38Encrypt, QString()); + tabBip38Decrypt = new QWidget(); + tabBip38Decrypt->setObjectName(QStringLiteral("tabBip38Decrypt")); + verticalLayout_VM = new QVBoxLayout(tabBip38Decrypt); + verticalLayout_VM->setObjectName(QStringLiteral("verticalLayout_VM")); + infoLabel_DEC = new QLabel(tabBip38Decrypt); + infoLabel_DEC->setObjectName(QStringLiteral("infoLabel_DEC")); + infoLabel_DEC->setTextFormat(Qt::PlainText); + infoLabel_DEC->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); + infoLabel_DEC->setWordWrap(true); + + verticalLayout_VM->addWidget(infoLabel_DEC); + + horizontalLayout_3 = new QHBoxLayout(); + horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3")); + label_2 = new QLabel(tabBip38Decrypt); + label_2->setObjectName(QStringLiteral("label_2")); + + horizontalLayout_3->addWidget(label_2); + + encryptedKeyIn_DEC = new QValidatedLineEdit(tabBip38Decrypt); + encryptedKeyIn_DEC->setObjectName(QStringLiteral("encryptedKeyIn_DEC")); + + horizontalLayout_3->addWidget(encryptedKeyIn_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_3); + + horizontalLayout = new QHBoxLayout(); + horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); + label = new QLabel(tabBip38Decrypt); + label->setObjectName(QStringLiteral("label")); + + horizontalLayout->addWidget(label); + + passphraseIn_DEC = new QLineEdit(tabBip38Decrypt); + passphraseIn_DEC->setObjectName(QStringLiteral("passphraseIn_DEC")); + passphraseIn_DEC->setEchoMode(QLineEdit::Password); + + horizontalLayout->addWidget(passphraseIn_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout); + + horizontalLayout_2_DEC = new QHBoxLayout(); + horizontalLayout_2_DEC->setObjectName(QStringLiteral("horizontalLayout_2_DEC")); + decryptKeyButton_DEC = new QPushButton(tabBip38Decrypt); + decryptKeyButton_DEC->setObjectName(QStringLiteral("decryptKeyButton_DEC")); + QIcon icon5; + icon5.addFile(QStringLiteral(":/icons/transaction_0"), QSize(), QIcon::Normal, QIcon::Off); + decryptKeyButton_DEC->setIcon(icon5); + decryptKeyButton_DEC->setAutoDefault(false); + + horizontalLayout_2_DEC->addWidget(decryptKeyButton_DEC); + + clearButton_DEC = new QPushButton(tabBip38Decrypt); + clearButton_DEC->setObjectName(QStringLiteral("clearButton_DEC")); + clearButton_DEC->setIcon(icon4); + clearButton_DEC->setAutoDefault(false); + + horizontalLayout_2_DEC->addWidget(clearButton_DEC); + + horizontalSpacer_1_DEC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_2_DEC->addItem(horizontalSpacer_1_DEC); + + statusLabel_DEC = new QLabel(tabBip38Decrypt); + statusLabel_DEC->setObjectName(QStringLiteral("statusLabel_DEC")); + statusLabel_DEC->setFont(font1); + statusLabel_DEC->setWordWrap(true); + + horizontalLayout_2_DEC->addWidget(statusLabel_DEC); + + horizontalSpacer_2_DEC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_2_DEC->addItem(horizontalSpacer_2_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_2_DEC); + + horizontalLayout_2 = new QHBoxLayout(); + horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2")); + label_3 = new QLabel(tabBip38Decrypt); + label_3->setObjectName(QStringLiteral("label_3")); + + horizontalLayout_2->addWidget(label_3); + + decryptedKeyOut_DEC = new QValidatedLineEdit(tabBip38Decrypt); + decryptedKeyOut_DEC->setObjectName(QStringLiteral("decryptedKeyOut_DEC")); + + horizontalLayout_2->addWidget(decryptedKeyOut_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_2); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setObjectName(QStringLiteral("horizontalLayout_4")); + importAddressButton_DEC = new QPushButton(tabBip38Decrypt); + importAddressButton_DEC->setObjectName(QStringLiteral("importAddressButton_DEC")); + + horizontalLayout_4->addWidget(importAddressButton_DEC); + + label_4 = new QLabel(tabBip38Decrypt); + label_4->setObjectName(QStringLiteral("label_4")); + + horizontalLayout_4->addWidget(label_4); + + addressOut_DEC = new QLineEdit(tabBip38Decrypt); + addressOut_DEC->setObjectName(QStringLiteral("addressOut_DEC")); + + horizontalLayout_4->addWidget(addressOut_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_4); + + tabWidget->addTab(tabBip38Decrypt, QString()); + + verticalLayout->addWidget(tabWidget); + + + retranslateUi(Bip38ToolDialog); + + tabWidget->setCurrentIndex(1); + + + QMetaObject::connectSlotsByName(Bip38ToolDialog); + } // setupUi + + void retranslateUi(QDialog *Bip38ToolDialog) + { + Bip38ToolDialog->setWindowTitle(QApplication::translate("Bip38ToolDialog", "BIP 38 Tool", 0)); + infoLabel_ENC->setText(QApplication::translate("Bip38ToolDialog", "Enter a HYP Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key.", 0)); + label_5->setText(QApplication::translate("Bip38ToolDialog", "Address:", 0)); +#ifndef QT_NO_TOOLTIP + addressIn_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "The HYP address to encrypt", 0)); +#endif // QT_NO_TOOLTIP +#ifndef QT_NO_TOOLTIP + addressBookButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Choose previously used address", 0)); +#endif // QT_NO_TOOLTIP + addressBookButton_ENC->setText(QString()); + addressBookButton_ENC->setShortcut(QApplication::translate("Bip38ToolDialog", "Alt+A", 0)); +#ifndef QT_NO_TOOLTIP + pasteButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Paste address from clipboard", 0)); +#endif // QT_NO_TOOLTIP + pasteButton_ENC->setText(QString()); + pasteButton_ENC->setShortcut(QApplication::translate("Bip38ToolDialog", "Alt+P", 0)); + label_6->setText(QApplication::translate("Bip38ToolDialog", "Passphrase: ", 0)); + encryptedKeyLabel_ENC->setText(QApplication::translate("Bip38ToolDialog", "Encrypted Key:", 0)); +#ifndef QT_NO_TOOLTIP + copyKeyButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Copy the current signature to the system clipboard", 0)); +#endif // QT_NO_TOOLTIP + copyKeyButton_ENC->setText(QString()); +#ifndef QT_NO_TOOLTIP + encryptKeyButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Sign the message to prove you own this HYP address", 0)); +#endif // QT_NO_TOOLTIP + encryptKeyButton_ENC->setText(QApplication::translate("Bip38ToolDialog", "Encrypt &Key", 0)); +#ifndef QT_NO_TOOLTIP + clearButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Reset all sign message fields", 0)); +#endif // QT_NO_TOOLTIP + clearButton_ENC->setText(QApplication::translate("Bip38ToolDialog", "Clear &All", 0)); + statusLabel_ENC->setText(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabBip38Encrypt), QApplication::translate("Bip38ToolDialog", "&BIP 38 Encrypt", 0)); + infoLabel_DEC->setText(QApplication::translate("Bip38ToolDialog", "Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet.", 0)); + label_2->setText(QApplication::translate("Bip38ToolDialog", "Encrypted Key:", 0)); +#ifndef QT_NO_TOOLTIP + encryptedKeyIn_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "The BIP38 Encrypted Key", 0)); +#endif // QT_NO_TOOLTIP + label->setText(QApplication::translate("Bip38ToolDialog", "Passphrase: ", 0)); +#ifndef QT_NO_TOOLTIP + decryptKeyButton_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "Decrypt the encrypted key", 0)); +#endif // QT_NO_TOOLTIP + decryptKeyButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Decrypt &Key", 0)); +#ifndef QT_NO_TOOLTIP + clearButton_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "Reset all verify message fields", 0)); +#endif // QT_NO_TOOLTIP + clearButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Clear &All", 0)); + statusLabel_DEC->setText(QString()); + label_3->setText(QApplication::translate("Bip38ToolDialog", "Decrypted Key:", 0)); + importAddressButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Import Address", 0)); + label_4->setText(QApplication::translate("Bip38ToolDialog", "Address:", 0)); + tabWidget->setTabText(tabWidget->indexOf(tabBip38Decrypt), QApplication::translate("Bip38ToolDialog", "&BIP 38 Decrypt", 0)); + } // retranslateUi + +}; + +namespace Ui { + class Bip38ToolDialog: public Ui_Bip38ToolDialog {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_BIP38TOOLDIALOG_H diff --git a/src/qt/moc_bip38tooldialog.cpp b/src/qt/moc_bip38tooldialog.cpp new file mode 100644 index 000000000..790f40c3e --- /dev/null +++ b/src/qt/moc_bip38tooldialog.cpp @@ -0,0 +1,145 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'bip38tooldialog.h' +** +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "qt/bip38tooldialog.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'bip38tooldialog.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.5.1. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_Bip38ToolDialog_t { + QByteArrayData data[10]; + char stringdata0[259]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_Bip38ToolDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_Bip38ToolDialog_t qt_meta_stringdata_Bip38ToolDialog = { + { +QT_MOC_LITERAL(0, 0, 15), // "Bip38ToolDialog" +QT_MOC_LITERAL(1, 16, 32), // "on_addressBookButton_ENC_clicked" +QT_MOC_LITERAL(2, 49, 0), // "" +QT_MOC_LITERAL(3, 50, 26), // "on_pasteButton_ENC_clicked" +QT_MOC_LITERAL(4, 77, 31), // "on_encryptKeyButton_ENC_clicked" +QT_MOC_LITERAL(5, 109, 28), // "on_copyKeyButton_ENC_clicked" +QT_MOC_LITERAL(6, 138, 26), // "on_clearButton_ENC_clicked" +QT_MOC_LITERAL(7, 165, 31), // "on_decryptKeyButton_DEC_clicked" +QT_MOC_LITERAL(8, 197, 34), // "on_importAddressButton_DEC_cl..." +QT_MOC_LITERAL(9, 232, 26) // "on_clearButton_DEC_clicked" + + }, + "Bip38ToolDialog\0on_addressBookButton_ENC_clicked\0" + "\0on_pasteButton_ENC_clicked\0" + "on_encryptKeyButton_ENC_clicked\0" + "on_copyKeyButton_ENC_clicked\0" + "on_clearButton_ENC_clicked\0" + "on_decryptKeyButton_DEC_clicked\0" + "on_importAddressButton_DEC_clicked\0" + "on_clearButton_DEC_clicked" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_Bip38ToolDialog[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 8, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 0, 54, 2, 0x08 /* Private */, + 3, 0, 55, 2, 0x08 /* Private */, + 4, 0, 56, 2, 0x08 /* Private */, + 5, 0, 57, 2, 0x08 /* Private */, + 6, 0, 58, 2, 0x08 /* Private */, + 7, 0, 59, 2, 0x08 /* Private */, + 8, 0, 60, 2, 0x08 /* Private */, + 9, 0, 61, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void Bip38ToolDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Bip38ToolDialog *_t = static_cast(_o); + Q_UNUSED(_t) + switch (_id) { + case 0: _t->on_addressBookButton_ENC_clicked(); break; + case 1: _t->on_pasteButton_ENC_clicked(); break; + case 2: _t->on_encryptKeyButton_ENC_clicked(); break; + case 3: _t->on_copyKeyButton_ENC_clicked(); break; + case 4: _t->on_clearButton_ENC_clicked(); break; + case 5: _t->on_decryptKeyButton_DEC_clicked(); break; + case 6: _t->on_importAddressButton_DEC_clicked(); break; + case 7: _t->on_clearButton_DEC_clicked(); break; + default: ; + } + } + Q_UNUSED(_a); +} + +const QMetaObject Bip38ToolDialog::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_Bip38ToolDialog.data, + qt_meta_data_Bip38ToolDialog, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} +}; + + +const QMetaObject *Bip38ToolDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *Bip38ToolDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return Q_NULLPTR; + if (!strcmp(_clname, qt_meta_stringdata_Bip38ToolDialog.stringdata0)) + return static_cast(const_cast< Bip38ToolDialog*>(this)); + return QDialog::qt_metacast(_clname); +} + +int Bip38ToolDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 8) + qt_static_metacall(this, _c, _id, _a); + _id -= 8; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 8) + *reinterpret_cast(_a[0]) = -1; + _id -= 8; + } + return _id; +} +QT_END_MOC_NAMESPACE From b5ea07dff252c174daa4bcc739888860ea9b3710 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Fri, 8 Dec 2017 16:36:48 -0700 Subject: [PATCH 469/555] Set up CreateProposal in rpcblockchain --- src/bitcoinrpc.cpp | 27 ----------------- src/rpcblockchain.cpp | 63 +++++++++++++++++++++++++++++++++++++++ src/voteproposal.cpp | 4 +++ src/voteproposal.h | 68 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 27 deletions(-) create mode 100644 src/voteproposal.cpp create mode 100644 src/voteproposal.h diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 85d226eca..9804930f2 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -307,33 +307,6 @@ CRPCTable::CRPCTable() } } -// initial mockup of a proposal created by a user -// takes user input and returns a Vote -Value CreateProposal(const block_header, bool fHelp) -{ - // name of issue - string Name; - // description of issue - will go in different tx - CTransaction Description; - // start time - will be changed to int StartHeight - strTimestampFormat StartTime; - // number of blocks with votes to count - uint_8 CheckSpan; - // cardinal items to vote on - convert to uint8 Shift - uint_8 cardinals; - // tx fee for creating proposal - int64 Fee; - - int StartHeight = int StartTimeToHeight() - { - - } - uint_8 BitCount = uint8 CardinalToBitCount() - { - - } -} - const CRPCCommand *CRPCTable::operator[](string name) const { map::const_iterator it = mapCommands.find(name); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index d5e2f000e..90e0b4dbd 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -298,3 +298,66 @@ Value listblocks(const Array& params, bool fHelp) return arrRet; } + +// tuningmind +Value CreateProposal(const Array& params, bool fHelp) +{ + if (fHelp || params.size() !=6) + throw runtime_error( + "CreateProposal \n\n\n\n\n\n" + "Return new VoteProposal object with specified parameters" + ); + // name of issue + string strName = params[0].get_str(); + + // check version for existing proposals Shift + uint8_t nShift = params[1].get_int(); + + // start time - will be changed to int StartHeight + // unix time stamp + int64 nStartTime = params[2].get_int64(); + + // number of blocks with votes to count + int nCheckSpan = params[3].get_int(); + + // cardinal items to vote on - convert to uint8 CheckSpan + uint8_t nCardinals = params[4].get_int(); + + // description of issue - will go in different tx + std::string strDescription = params[5].get_str(); + + // tx fee for creating proposal + // int64 Fee; + + // int nStartHeight = StartTimeToStartHeight(nStartTime) + // { + // takes time and info about current block creation rate + // returns nStartHeight + // return 1; + // } + + // uint8_t nBitCount = CardinalsToBitCount(nCardinals) + // { + // takes nCardinals + // returns nBitCount + // return 2; + //} + + CVoteProposal NewVoteProposal() + { + return new CVoteProposal( + strName, + nShift, + CardinalsTonBitCount(nCardinals), + StartTimeTonStartHeight(StartTime), + nCheckSpan, + strDescription + ); + } + + Object results; + results.push_back(Pair("new vote proposal", NewVoteProposal)); + + return results; +} + diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp new file mode 100644 index 000000000..96817fab7 --- /dev/null +++ b/src/voteproposal.cpp @@ -0,0 +1,4 @@ +// +// Created by carrie on 12/8/17. +// + diff --git a/src/voteproposal.h b/src/voteproposal.h new file mode 100644 index 000000000..f3dc2e45b --- /dev/null +++ b/src/voteproposal.h @@ -0,0 +1,68 @@ +// +// Created by carrie on 12/8/17. +// + +#ifndef HYPERSTAKE_VOTEPROPOSAL_H +#define HYPERSTAKE_VOTEPROPOSAL_H + +#endif //HYPERSTAKE_VOTEPROPOSAL_H + +class CVoteProposal +{ +private: + // what to call the proposal + std::string strName; + + // what bit position in the block version + uint_8 nShift; + + // number of bits in the block version used for one vote + uint_8 nBitCount; + + // where in the blockchain we start counting votes + int nStartHeight; + + // how far in the blockchain are we scanning + int nCheckSpan; + + // description of the proposal; may link to additional transactions + CTransaction strDescription; +public: + void SetNull() + { + strName = ""; + nShift = 0; + nBitCount = 0; + nCheckSpan = 0; + } + + CVoteProposal() + { + SetNull(); + } + + CVoteProposal( std::string strName, + uint_8 nShift, + uint_8 nBitCount, + int nStartHeight, + int nCheckSpan, + CTransaction strDescription) + { + this->strName = strName; + this->nShift = nShift; + this->nBitCount = nBitCount; + this->nStartHeight = nStartHeight; + this->nCheckSpan = nCheckSpan; + this->strDescription = strDescription; + } + + std::string GetName() { return strName; } + void SetName(std::string strName) { this->strName = strName; } + int GetShift() { return nShift; } + void SetShift(int nShift) { this->nShift = nShift; } + int GetBitCount() { return nBitCount; } + void SetBitCount(int nBitCount) { this->nBitCount = nBitCount; } + int GetCheckSpan() { return nBlockCheckSpan; } + void SetCheckSpan(int nCheckSpan) { this->nBlockCheckSpan = nCheckSpan; } + std::string ToString() { return } +} \ No newline at end of file From d2d28c494e3bd85ce8602eedb70a0fb78f35a29a Mon Sep 17 00:00:00 2001 From: Jon Spock Date: Sat, 9 Dec 2017 09:48:45 -0800 Subject: [PATCH 470/555] Fix for C++11 compile on MacOS --- src/alert.cpp | 4 +-- src/bitcoinrpc.cpp | 2 +- src/db.cpp | 4 +-- src/init.cpp | 16 +++++------ src/kernel.cpp | 8 +++--- src/key.h | 2 +- src/main.cpp | 62 +++++++++++++++++++++---------------------- src/main.h | 38 +++++++++++++------------- src/net.cpp | 2 +- src/net.h | 2 +- src/rpcblockchain.cpp | 2 +- src/rpcnet.cpp | 2 +- src/rpcwallet.cpp | 4 +-- src/util.cpp | 11 ++++---- src/util.h | 2 +- src/wallet.cpp | 16 +++++------ src/walletdb.cpp | 8 +++--- 17 files changed, 94 insertions(+), 91 deletions(-) diff --git a/src/alert.cpp b/src/alert.cpp index fd46dfeed..be4f5f365 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -54,8 +54,8 @@ std::string CUnsignedAlert::ToString() const return strprintf( "CAlert(\n" " nVersion = %d\n" - " nRelayUntil = %"PRI64d"\n" - " nExpiration = %"PRI64d"\n" + " nRelayUntil = %lld\n" + " nExpiration = %lld\n" " nID = %d\n" " nCancel = %d\n" " setCancel = %s\n" diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 9804930f2..047eb325e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -382,7 +382,7 @@ static string HTTPReply(int nStatus, const string& strMsg, bool keepalive) "HTTP/1.1 %d %s\r\n" "Date: %s\r\n" "Connection: %s\r\n" - "Content-Length: %"PRIszu"\r\n" + "Content-Length: %lu\r\n" "Content-Type: application/json\r\n" "Server: HyperStake-json-rpc/%s\r\n" "\r\n" diff --git a/src/db.cpp b/src/db.cpp index db1597350..0793dd996 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -471,7 +471,7 @@ void CDBEnv::Flush(bool fShutdown) else mi++; } - printf("DBFlush(%s)%s ended %15"PRI64d"ms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart); + printf("DBFlush(%s)%s ended %15lldms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart); if (fShutdown) { char** listp; @@ -625,7 +625,7 @@ bool CTxDB::LoadBlockIndex() // ppcoin: calculate stake modifier checksum pindex->nStakeModifierChecksum = GetStakeModifierChecksum(pindex); if (!CheckStakeModifierCheckpoints(pindex->nHeight, pindex->nStakeModifierChecksum)) - return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016"PRI64x, pindex->nHeight, pindex->nStakeModifier); + return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016llx", pindex->nHeight, pindex->nStakeModifier); } // Load hashBestChain pointer to end of best chain diff --git a/src/init.cpp b/src/init.cpp index 41b611d4a..50270bf8e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -600,7 +600,7 @@ bool AppInit2() printf("Shutdown requested. Exiting.\n"); return false; } - printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" block index %15lldms\n", GetTimeMillis() - nStart); if (GetBoolArg("-printblockindex") || GetBoolArg("-printblocktree")) { @@ -691,7 +691,7 @@ bool AppInit2() } printf("%s", strErrors.str().c_str()); - printf(" wallet %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" wallet %15lldms\n", GetTimeMillis() - nStart); RegisterWallet(pwalletMain); @@ -711,7 +711,7 @@ bool AppInit2() printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight); nStart = GetTimeMillis(); pwalletMain->ScanForWalletTransactions(pindexRescan, true); - printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" rescan %15lldms\n", GetTimeMillis() - nStart); } // ********************************************************* Step 9: import blocks @@ -752,7 +752,7 @@ bool AppInit2() printf("Invalid or missing peers.dat; recreating\n"); } - printf("Loaded %i addresses from peers.dat %"PRI64d"ms\n", + printf("Loaded %i addresses from peers.dat %lldms\n", addrman.size(), GetTimeMillis() - nStart); // ********************************************************* Step 11: start node @@ -763,11 +763,11 @@ bool AppInit2() RandAddSeedPerfmon(); //// debug print - printf("mapBlockIndex.size() = %"PRIszu"\n", mapBlockIndex.size()); + printf("mapBlockIndex.size() = %lu\n", mapBlockIndex.size()); printf("nBestHeight = %d\n", nBestHeight); - printf("setKeyPool.size() = %"PRIszu"\n", pwalletMain->setKeyPool.size()); - printf("mapWallet.size() = %"PRIszu"\n", pwalletMain->mapWallet.size()); - printf("mapAddressBook.size() = %"PRIszu"\n", pwalletMain->mapAddressBook.size()); + printf("setKeyPool.size() = %lu\n", pwalletMain->setKeyPool.size()); + printf("mapWallet.size() = %lu\n", pwalletMain->mapWallet.size()); + printf("mapAddressBook.size() = %lu\n", pwalletMain->mapAddressBook.size()); if (!NewThread(StartNode, NULL)) InitError(_("Error: could not start node")); diff --git a/src/kernel.cpp b/src/kernel.cpp index 0813c42d6..3d1069468 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -153,7 +153,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif if (!GetLastStakeModifier(pindexPrev, nStakeModifier, nModifierTime)) return error("ComputeNextStakeModifier: unable to get last modifier"); if (fDebug) - printf("ComputeNextStakeModifier: prev modifier=0x%016"PRI64x" time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); + printf("ComputeNextStakeModifier: prev modifier=0x%016llu time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); if (nModifierTime / getIntervalVersion(fTestNet) >= pindexPrev->GetBlockTime() / getIntervalVersion(fTestNet)) return true; @@ -218,7 +218,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif } if (fDebug) { - printf("ComputeNextStakeModifier: new modifier=0x%016"PRI64x" time=%s\n", nStakeModifierNew, DateTimeStrFormat(pindexPrev->GetBlockTime()).c_str()); + printf("ComputeNextStakeModifier: new modifier=0x%016llu time=%s\n", nStakeModifierNew, DateTimeStrFormat(pindexPrev->GetBlockTime()).c_str()); } nStakeModifier = nStakeModifierNew; @@ -375,12 +375,12 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned if (fDebug || fPrintProofOfStake) { - printf("CheckStakeKernelHash() : using modifier 0x%016"PRI64x" at height=%d timestamp=%s for block from height=%d timestamp=%s\n", + printf("CheckStakeKernelHash() : using modifier 0x%016llu at height=%d timestamp=%s for block from height=%d timestamp=%s\n", nStakeModifier, nStakeModifierHeight, DateTimeStrFormat(nStakeModifierTime).c_str(), mapBlockIndex[blockFrom.GetHash()]->nHeight, DateTimeStrFormat(blockFrom.GetBlockTime()).c_str()); - printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016"PRI64x" nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", + printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016llu nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", "0.3", nStakeModifier, nTimeBlockFrom, nTxPrevOffset, nTxPrevTime, prevout.n, nTryTime, diff --git a/src/key.h b/src/key.h index 2e3bc45a7..a6b5d12e3 100644 --- a/src/key.h +++ b/src/key.h @@ -121,7 +121,7 @@ class CPubKey { template void Set(const T pbegin, const T pend) { - int len = pend == pbegin ? 0 : GetLen(pbegin[0]); + unsigned int len = pend == pbegin ? 0 : GetLen(pbegin[0]); if (len && len == (pend - pbegin)) { //memcpy(vchPubKey, (unsigned char*)&pbegin[0], len); vchPubKey.clear(); diff --git a/src/main.cpp b/src/main.cpp index cb330ff47..2485e4b27 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -216,7 +216,7 @@ bool AddOrphanTx(const CDataStream& vMsg) // at most 500 megabytes of orphans: if (pvMsg->size() > 5000) { - printf("ignoring large orphan tx (size: %"PRIszu", hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str()); + printf("ignoring large orphan tx (size: %lu, hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str()); delete pvMsg; return false; } @@ -225,7 +225,7 @@ bool AddOrphanTx(const CDataStream& vMsg) BOOST_FOREACH(const CTxIn& txin, tx.vin) mapOrphanTransactionsByPrev[txin.prevout.hash].insert(make_pair(hash, pvMsg)); - printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().substr(0,10).c_str(), + printf("stored orphan tx %s (mapsz %lu)\n", hash.ToString().substr(0,10).c_str(), mapOrphanTransactions.size()); return true; } @@ -635,7 +635,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, // Don't accept it if it can't get into a block int64 txMinFee = tx.GetMinFee(1000, false, GMF_RELAY, nSize); if (nFees < txMinFee) - return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d, + return error("CTxMemPool::accept() : not enough fees %s, %lld < %lld", hash.ToString().c_str(), nFees, txMinFee); @@ -688,7 +688,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, if (ptxOld) EraseFromWallets(ptxOld->GetHash()); - printf("CTxMemPool::accept() : accepted %s (poolsz %"PRIszu")\n", + printf("CTxMemPool::accept() : accepted %s (poolsz %lu)\n", hash.ToString().substr(0,10).c_str(), mapTx.size()); return true; @@ -1003,7 +1003,7 @@ int64 GetProofOfStakeRewardV1(int64 nCoinAge, unsigned int nBits, unsigned int n int64 nSubsidy = nCoinAge * nRewardCoinYear / 365; if (fDebug && GetBoolArg("-printcreation")) - printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); + printf("GetProofOfStakeReward(): create=%s nCoinAge=%lld nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); return nSubsidy; } @@ -1016,7 +1016,7 @@ int64 GetProofOfStakeRewardV2(int64 nCoinAge, unsigned int nBits, unsigned int n int64 nSubsidy = nCoinAge * nRewardCoinYear / 365; if (fDebug && GetBoolArg("-printcreation")) - printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); + printf("GetProofOfStakeReward(): create=%s nCoinAge=%lld nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); nSubsidy = min(nSubsidy, nSubsidyLimit); @@ -1096,12 +1096,12 @@ unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfS int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime(); if(nActualSpacing < 0) { - // printf(">> nActualSpacing = %"PRI64d" corrected to 1.\n", nActualSpacing); + // printf(">> nActualSpacing = %lld corrected to 1.\n", nActualSpacing); nActualSpacing = 1; } else if(nActualSpacing > nTargetTimespan) { - // printf(">> nActualSpacing = %"PRI64d" corrected to nTargetTimespan (900).\n", nActualSpacing); + // printf(">> nActualSpacing = %lld corrected to nTargetTimespan (900).\n", nActualSpacing); nActualSpacing = nTargetTimespan; } @@ -1116,9 +1116,9 @@ unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfS bnNew /= ((nInterval + 1) * nTargetSpacing); /* - printf(">> Height = %d, fProofOfStake = %d, nInterval = %"PRI64d", nTargetSpacing = %"PRI64d", nActualSpacing = %"PRI64d"\n", + printf(">> Height = %d, fProofOfStake = %d, nInterval = %lld, nTargetSpacing = %lld, nActualSpacing = %lld\n", pindexPrev->nHeight, fProofOfStake, nInterval, nTargetSpacing, nActualSpacing); - printf(">> pindexPrev->GetBlockTime() = %"PRI64d", pindexPrev->nHeight = %d, pindexPrevPrev->GetBlockTime() = %"PRI64d", pindexPrevPrev->nHeight = %d\n", + printf(">> pindexPrev->GetBlockTime() = %lld, pindexPrev->nHeight = %d, pindexPrevPrev->GetBlockTime() = %lld, pindexPrevPrev->nHeight = %d\n", pindexPrev->GetBlockTime(), pindexPrev->nHeight, pindexPrevPrev->GetBlockTime(), pindexPrevPrev->nHeight); */ @@ -1294,7 +1294,7 @@ bool CTransaction::FetchInputs(CTxDB& txdb, const map& mapTes // Revisit this if/when transaction replacement is implemented and allows // adding inputs: fInvalid = true; - return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); + return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %lu %lu prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); } } @@ -1367,7 +1367,7 @@ bool CTransaction::ConnectInputs(CTxDB& txdb, MapPrevTx inputs, CTransaction& txPrev = inputs[prevout.hash].second; if (prevout.n >= txPrev.vout.size() || prevout.n >= txindex.vSpent.size()) - return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); + return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %lu %lu prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); // If prev is coinbase or coinstake, check that it's matured if (txPrev.IsCoinBase() || txPrev.IsCoinStake()) @@ -1630,7 +1630,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) // ppcoin: fees are not collected by miners as in bitcoin // ppcoin: fees are destroyed to compensate the entire network if (fDebug && GetBoolArg("-printcreation")) - printf("ConnectBlock() : destroy=%s nFees=%"PRI64d"\n", FormatMoney(nFees).c_str(), nFees); + printf("ConnectBlock() : destroy=%s nFees=%lld\n", FormatMoney(nFees).c_str(), nFees); if (fJustCheck) return true; @@ -1698,8 +1698,8 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) vConnect.push_back(pindex); reverse(vConnect.begin(), vConnect.end()); - printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str()); - printf("REORGANIZE: Connect %"PRIszu" blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str()); + printf("REORGANIZE: Disconnect %lu blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str()); + printf("REORGANIZE: Connect %lu blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str()); // Disconnect shorter branch vector vResurrect; @@ -1828,7 +1828,7 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew) } if (!vpindexSecondary.empty()) - printf("Postponing %"PRIszu" reconnects\n", vpindexSecondary.size()); + printf("Postponing %lu reconnects\n", vpindexSecondary.size()); // Switch to new best branch if (!Reorganize(txdb, pindexIntermediate)) @@ -1947,7 +1947,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const bnCentSecond += CBigNum(nValueIn) * (nTime-txPrev.nTime) / CENT; if (fDebug && GetBoolArg("-printcoinage")) - printf("coin age nValueIn=%"PRI64d" nTimeDiff=%d bnCentSecond=%s\n", nValueIn, nTime - txPrev.nTime, bnCentSecond.ToString().c_str()); + printf("coin age nValueIn=%lld nTimeDiff=%d bnCentSecond=%s\n", nValueIn, nTime - txPrev.nTime, bnCentSecond.ToString().c_str()); } CBigNum bnCoinDay = bnCentSecond * CENT / COIN / (24 * 60 * 60); @@ -1975,7 +1975,7 @@ bool CBlock::GetCoinAge(uint64& nCoinAge) const if (nCoinAge == 0) // block coin age minimum 1 coin-day nCoinAge = 1; if (fDebug && GetBoolArg("-printcoinage")) - printf("block coin age total nCoinDays=%"PRI64d"\n", nCoinAge); + printf("block coin age total nCoinDays=%lld\n", nCoinAge); return true; } @@ -2021,7 +2021,7 @@ bool CBlock::AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos) pindexNew->SetStakeModifier(nStakeModifier, fGeneratedStakeModifier); pindexNew->nStakeModifierChecksum = GetStakeModifierChecksum(pindexNew); if (!CheckStakeModifierCheckpoints(pindexNew->nHeight, pindexNew->nStakeModifierChecksum)) - return error("AddToBlockIndex() : Rejected by stake modifier checkpoint height=%d, modifier=0x%016"PRI64x, pindexNew->nHeight, nStakeModifier); + return error("AddToBlockIndex() : Rejected by stake modifier checkpoint height=%d, modifier=0x%016llu", pindexNew->nHeight, nStakeModifier); // Add to mapBlockIndex map::iterator mi = mapBlockIndex.insert(make_pair(hash, pindexNew)).first; @@ -2095,7 +2095,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const // Check coinstake timestamp if (IsProofOfStake() && !CheckCoinStakeTimestamp(GetBlockTime(), (int64)vtx[1].nTime)) - return DoS(50, error("CheckBlock() : coinstake timestamp violation nTimeBlock=%"PRI64d" nTimeTx=%u", GetBlockTime(), vtx[1].nTime)); + return DoS(50, error("CheckBlock() : coinstake timestamp violation nTimeBlock=%lld nTimeTx=%u", GetBlockTime(), vtx[1].nTime)); // Check transactions BOOST_FOREACH(const CTransaction& tx, vtx) @@ -2734,7 +2734,7 @@ void PrintBlockTree() // print item CBlock block; block.ReadFromDisk(pindex); - printf("%d (%u,%u) %s %08x %s mint %7s tx %"PRIszu"", + printf("%d (%u,%u) %s %08x %s mint %7s tx %lu", pindex->nHeight, pindex->nFile, pindex->nBlockPos, @@ -2842,7 +2842,7 @@ bool LoadExternalBlockFile(FILE* fileIn) __PRETTY_FUNCTION__); } } - printf("Loaded %i blocks from external file in %"PRI64d"ms\n", nLoaded, GetTimeMillis() - nStart); + printf("Loaded %i blocks from external file in %lldms\n", nLoaded, GetTimeMillis() - nStart); return nLoaded > 0; } @@ -3000,7 +3000,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) static map mapReuseKey; RandAddSeedPerfmon(); if (fDebug) - printf("received: %s (%"PRIszu" bytes)\n", strCommand.c_str(), vRecv.size()); + printf("received: %s (%lu bytes)\n", strCommand.c_str(), vRecv.size()); if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0) { printf("dropmessagestest DROPPING RECV MESSAGE\n"); @@ -3138,7 +3138,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %lld sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } @@ -3169,7 +3169,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vAddr.size() > 1000) { pfrom->Misbehaving(20); - return error("message addr size() = %"PRIszu"", vAddr.size()); + return error("message addr size() = %lu", vAddr.size()); } // Store the new addresses @@ -3232,7 +3232,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vInv.size() > MAX_INV_SZ) { pfrom->Misbehaving(20); - return error("message inv size() = %"PRIszu"", vInv.size()); + return error("message inv size() = %lu", vInv.size()); } // find last block in inv vector @@ -3282,11 +3282,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vInv.size() > MAX_INV_SZ) { pfrom->Misbehaving(20); - return error("message getdata size() = %"PRIszu"", vInv.size()); + return error("message getdata size() = %lu", vInv.size()); } if (fDebugNet || (vInv.size() != 1)) - printf("received getdata (%"PRIszu" invsz)\n", vInv.size()); + printf("received getdata (%lu invsz)\n", vInv.size()); BOOST_FOREACH(const CInv& inv, vInv) { @@ -3552,7 +3552,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %lld sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } @@ -4337,7 +4337,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) nLastBlockSize = nBlockSize; if (fDebug && GetBoolArg("-printpriority")) - printf("CreateNewBlock(): total size %"PRI64u"\n", nBlockSize); + printf("CreateNewBlock(): total size %llu\n", nBlockSize); if (pblock->IsProofOfWork()) pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pindexPrev->nHeight+1, nFees, pindexPrev->GetBlockHash()); @@ -4548,7 +4548,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) continue; } - printf("Running BitcoinMiner with %"PRIszu" transactions in block (%u bytes)\n", pblock->vtx.size(), + printf("Running BitcoinMiner with %lu transactions in block (%u bytes)\n", pblock->vtx.size(), ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); // diff --git a/src/main.h b/src/main.h index f827635e9..31397817b 100644 --- a/src/main.h +++ b/src/main.h @@ -11,7 +11,7 @@ #include "script.h" #include "scrypt_mine.h" #include "hashblock.h" - +#include #include class CWallet; @@ -651,14 +651,14 @@ class CTransaction { std::string str; str += IsCoinBase()? "Coinbase" : (IsCoinStake()? "Coinstake" : "CTransaction"); - str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n", - GetHash().ToString().substr(0,10).c_str(), - nTime, - nVersion, - vin.size(), - vout.size(), - nLockTime - ); + str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%lu, vout.size=%lu, nLockTime=%d)\n", + GetHash().ToString().substr(0,10).c_str(), + nTime, + nVersion, + vin.size(), + vout.size(), + nLockTime + ); for (unsigned int i = 0; i < vin.size(); i++) str += " " + vin[i].ToString() + "\n"; @@ -1054,14 +1054,16 @@ class CBlock void print() const { - printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu", vchBlockSig=%s)\n", - GetHash().ToString().c_str(), - nVersion, - hashPrevBlock.ToString().c_str(), - hashMerkleRoot.ToString().c_str(), - nTime, nBits, nNonce, - vtx.size(), - HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str()); + std::cout << "CBlock(hash=" + << GetHash().ToString().c_str() + << " ver = " << nVersion + << " hashPrevBlock = " << hashPrevBlock.ToString().c_str() + << " hasMerkleRoot = " << hashMerkleRoot.ToString().c_str() + << " nTime = " << nTime + << " nBits = " << nBits + << " nNonce = " << nNonce + << " vtx = " << vtx.size() + << " vhcBlockSig = " << HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str(); for (unsigned int i = 0; i < vtx.size(); i++) { printf(" "); @@ -1305,7 +1307,7 @@ class CBlockIndex std::string ToString() const { - return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016"PRI64x", nStakeModifierChecksum=%08x, hashProofOfStake=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)", + return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016llu, nStakeModifierChecksum=%08x, hashProofOfStake=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)", pprev, pnext, nFile, nBlockPos, nHeight, FormatMoney(nMint).c_str(), FormatMoney(nMoneySupply).c_str(), GeneratedStakeModifier() ? "MOD" : "-", GetStakeEntropyBit(), IsProofOfStake()? "PoS" : "PoW", diff --git a/src/net.cpp b/src/net.cpp index 4ffba1b87..eba8cfa49 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1267,7 +1267,7 @@ void DumpAddresses() CAddrDB adb; adb.Write(addrman); - printf("Flushed %d addresses to peers.dat %"PRI64d"ms\n", + printf("Flushed %d addresses to peers.dat %lldms\n", addrman.size(), GetTimeMillis() - nStart); } diff --git a/src/net.h b/src/net.h index 5bf31037f..b7c7d7a17 100644 --- a/src/net.h +++ b/src/net.h @@ -367,7 +367,7 @@ class CNode // the key is the earliest time the request can be sent int64& nRequestTime = mapAlreadyAskedFor[inv]; if (fDebugNet) - printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); + printf("askfor %s %lld (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); // Make sure not to reuse time indexes to keep things in the same order int64 nNow = (GetTime() - 1) * 1000000; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index d5e2f000e..4865190a5 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -98,7 +98,7 @@ Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool fPri result.push_back(Pair("flags", strprintf("%s%s", blockindex->IsProofOfStake()? "proof-of-stake" : "proof-of-work", blockindex->GeneratedStakeModifier()? " stake-modifier": ""))); result.push_back(Pair("proofhash", blockindex->IsProofOfStake()? blockindex->hashProofOfStake.GetHex() : blockindex->GetBlockHash().GetHex())); result.push_back(Pair("entropybit", (int)blockindex->GetStakeEntropyBit())); - result.push_back(Pair("modifier", strprintf("%016"PRI64x, blockindex->nStakeModifier))); + result.push_back(Pair("modifier", strprintf("%016llx", blockindex->nStakeModifier))); result.push_back(Pair("modifierchecksum", strprintf("%08x", blockindex->nStakeModifierChecksum))); Array txinfo; BOOST_FOREACH (const CTransaction& tx, block.vtx) diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 4b67ecbb6..0471ab6d4 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -52,7 +52,7 @@ Value getpeerinfo(const Array& params, bool fHelp) Object obj; obj.push_back(Pair("addr", stats.addrName)); - obj.push_back(Pair("services", strprintf("%08"PRI64x, stats.nServices))); + obj.push_back(Pair("services", strprintf("%08llx", stats.nServices))); obj.push_back(Pair("lastsend", (boost::int64_t)stats.nLastSend)); obj.push_back(Pair("lastrecv", (boost::int64_t)stats.nLastRecv)); obj.push_back(Pair("conntime", (boost::int64_t)stats.nTimeConnected)); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 7015fd37e..d787ffa31 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -801,7 +801,7 @@ Value addmultisigaddress(const Array& params, bool fHelp) if ((int)keys.size() < nRequired) throw runtime_error( strprintf("not enough keys supplied " - "(got %"PRIszu" keys, but need at least %d to redeem)", keys.size(), nRequired)); + "(got %lu keys, but need at least %d to redeem)", keys.size(), nRequired)); std::vector pubkeys; pubkeys.resize(keys.size()); for (unsigned int i = 0; i < keys.size(); i++) @@ -2794,4 +2794,4 @@ Value getstakingstatus(const Array& params, bool fHelp) return obj; } - \ No newline at end of file + diff --git a/src/util.cpp b/src/util.cpp index 4fa8aaedf..1df7b141f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -372,7 +372,7 @@ string FormatMoney(int64 n, bool fPlus) int64 n_abs = (n > 0 ? n : -n); int64 quotient = n_abs/COIN; int64 remainder = n_abs%COIN; - string str = strprintf("%"PRI64d".%06"PRI64d, quotient, remainder); + string str = strprintf("%lld.%06lld", quotient, remainder); // Right-trim excess zeros before the decimal point: int nTrim = 0; @@ -491,7 +491,8 @@ long hex2long(const char* hexString) while (*hexString && ret >= 0) { - ret = (ret << 4) | hextable[*hexString++]; + int index = *hexString++; + ret = (ret << 4) | hextable[index]; } return ret; @@ -1264,7 +1265,7 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) // Add data vTimeOffsets.input(nOffsetSample); - printf("Added time data, samples %d, offset %+"PRI64d" (%+"PRI64d" minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); + printf("Added time data, samples %d, offset %+lld (%+lld minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); if (vTimeOffsets.size() >= 5 && vTimeOffsets.size() % 2 == 1) { int64 nMedian = vTimeOffsets.median(); @@ -1299,10 +1300,10 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) } if (fDebug) { BOOST_FOREACH(int64 n, vSorted) - printf("%+"PRI64d" ", n); + printf("%+lld ", n); printf("| "); } - printf("nTimeOffset = %+"PRI64d" (%+"PRI64d" minutes)\n", nTimeOffset, nTimeOffset/60); + printf("nTimeOffset = %+lld (%+lld minutes)\n", nTimeOffset, nTimeOffset/60); } } diff --git a/src/util.h b/src/util.h index 3525de858..3d7888e62 100644 --- a/src/util.h +++ b/src/util.h @@ -241,7 +241,7 @@ void runCommand(std::string strCommand); inline std::string i64tostr(int64 n) { - return strprintf("%"PRI64d, n); + return strprintf("%lld", n); } inline std::string itostr(int n) diff --git a/src/wallet.cpp b/src/wallet.cpp index 39a4ecbf4..dfa3bfcf2 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -837,7 +837,7 @@ void CWallet::ReacceptWalletTransactions() // Update fSpent if a tx got spent somewhere else by a copy of wallet.dat if (txindex.vSpent.size() != wtx.vout.size()) { - printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %"PRIszu" != wtx.vout.size() %"PRIszu"\n", txindex.vSpent.size(), wtx.vout.size()); + printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %lu != wtx.vout.size() %lu\n", txindex.vSpent.size(), wtx.vout.size()); continue; } for (unsigned int i = 0; i < txindex.vSpent.size(); i++) @@ -2084,12 +2084,12 @@ void CWallet::PrintWallet(const CBlock& block) if (block.IsProofOfWork() && mapWallet.count(block.vtx[0].GetHash())) { CWalletTx& wtx = mapWallet[block.vtx[0].GetHash()]; - printf(" mine: %d %d %"PRI64d"", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); + printf(" mine: %d %d %lld", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); } if (block.IsProofOfStake() && mapWallet.count(block.vtx[1].GetHash())) { CWalletTx& wtx = mapWallet[block.vtx[1].GetHash()]; - printf(" stake: %d %d %"PRI64d"", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); + printf(" stake: %d %d %lld", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); } } @@ -2152,7 +2152,7 @@ bool CWallet::NewKeyPool() walletdb.WritePool(nIndex, CKeyPool(GenerateNewKey())); setKeyPool.insert(nIndex); } - printf("CWallet::NewKeyPool wrote %"PRI64d" new keys\n", nKeys); + printf("CWallet::NewKeyPool wrote %lld new keys\n", nKeys); } return true; } @@ -2177,7 +2177,7 @@ bool CWallet::TopUpKeyPool() if (!walletdb.WritePool(nEnd, CKeyPool(GenerateNewKey()))) throw runtime_error("TopUpKeyPool() : writing generated key failed"); setKeyPool.insert(nEnd); - printf("keypool added key %"PRI64d", size=%"PRIszu"\n", nEnd, setKeyPool.size()); + printf("keypool added key %lld, size=%lu\n", nEnd, setKeyPool.size()); } } return true; @@ -2207,7 +2207,7 @@ void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool) throw runtime_error("ReserveKeyFromKeyPool() : unknown key in key pool"); assert(keypool.vchPubKey.IsValid()); if (fDebug && GetBoolArg("-printkeypool")) - printf("keypool reserve %"PRI64d"\n", nIndex); + printf("keypool reserve %lld\n", nIndex); } } @@ -2235,7 +2235,7 @@ void CWallet::KeepKey(int64 nIndex) walletdb.ErasePool(nIndex); } if(fDebug) - printf("keypool keep %"PRI64d"\n", nIndex); + printf("keypool keep %lld\n", nIndex); } void CWallet::ReturnKey(int64 nIndex) @@ -2246,7 +2246,7 @@ void CWallet::ReturnKey(int64 nIndex) setKeyPool.insert(nIndex); } if(fDebug) - printf("keypool return %"PRI64d"\n", nIndex); + printf("keypool return %lld\n", nIndex); } bool CWallet::GetKeyFromPool(CPubKey& result, bool fAllowReuse) diff --git a/src/walletdb.cpp b/src/walletdb.cpp index df9e1a439..e9ce9f7a8 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -236,7 +236,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, //// debug print //printf("LoadWallet %s\n", wtx.GetHash().ToString().c_str()); - //printf(" %12"PRI64d" %s %s %s\n", + //printf(" %12lld %s %s %s\n", // wtx.vout[0].nValue, // DateTimeStrFormat("%x %H:%M:%S", wtx.GetBlockTime()).c_str(), // wtx.hashBlock.ToString().substr(0,20).c_str(), @@ -587,7 +587,7 @@ void ThreadFlushWalletDB(void* parg) bitdb.CheckpointLSN(strFile); bitdb.mapFileUseCount.erase(mi++); - printf("Flushed wallet.dat %"PRI64d"ms\n", GetTimeMillis() - nStart); + printf("Flushed wallet.dat %lldms\n", GetTimeMillis() - nStart); } } } @@ -648,7 +648,7 @@ bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys) // Set -rescan so any missing transactions will be // found. int64 now = GetTime(); - std::string newFilename = strprintf("wallet.%"PRI64d".bak", now); + std::string newFilename = strprintf("wallet.%lld.bak", now); int result = dbenv.dbenv.dbrename(NULL, filename.c_str(), NULL, newFilename.c_str(), DB_AUTO_COMMIT); @@ -667,7 +667,7 @@ bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys) printf("Salvage(aggressive) found no records in %s.\n", newFilename.c_str()); return false; } - printf("Salvage(aggressive) found %"PRIszu" records\n", salvagedData.size()); + printf("Salvage(aggressive) found %lu records\n", salvagedData.size()); bool fSuccess = allOK; Db* pdbCopy = new Db(&dbenv.dbenv, 0); From ed45684aad714b2a1cd5d7d0bbe8c02a64082323 Mon Sep 17 00:00:00 2001 From: Matthew Leeds Date: Sun, 10 Dec 2017 12:21:55 -0800 Subject: [PATCH 471/555] Fix heading in README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e46d6d215..732a3f18e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#HyperStake +# HyperStake Copyright (c) 2013-2017 HyperStake Developers Copyright (c) 2013 NovaCoin Developers From a58ce3d673242a80a855bbad39e0b926ab5d9529 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 11 Dec 2017 22:21:52 -0700 Subject: [PATCH 472/555] Add fuzzbawls.pw DNS seeder for better connectivity. --- src/net.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/net.cpp b/src/net.cpp index eba8cfa49..77970e961 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1175,8 +1175,8 @@ void MapPort() // The first name is used as information source for addrman. // The second name should resolve to a list of seed addresses. static const char *strDNSSeed[][2] = { + {"fuzzbawls", "hyp.seed.fuzzbawls.pw"}, {"presstab nodes", "hypseed.presstab.pw"}, - {"CCE block explorer", "hyp.altcointech.net"}, }; void ThreadDNSAddressSeed(void* parg) From 5ba2c14f8fc7ced095c321a6d0989ddaf33d8e8a Mon Sep 17 00:00:00 2001 From: tuningmind Date: Thu, 7 Dec 2017 17:43:21 -0700 Subject: [PATCH 473/555] Initial sketch of CreateProposal --- .gitignore | 163 + Makefile | 1093 +++++++ src/Makefile | 4682 +++++++++++++++++++++++++++++ src/bitcoinrpc.cpp | 27 + src/qt/forms/ui_bip38tooldialog.h | 412 +++ src/qt/moc_bip38tooldialog.cpp | 145 + 6 files changed, 6522 insertions(+) create mode 100644 Makefile create mode 100644 src/Makefile create mode 100644 src/qt/forms/ui_bip38tooldialog.h create mode 100644 src/qt/moc_bip38tooldialog.cpp diff --git a/.gitignore b/.gitignore index 388032b7e..aef4b2d2d 100644 --- a/.gitignore +++ b/.gitignore @@ -137,3 +137,166 @@ build-aux/m4/ltversion.m4 build-aux/m4/lt~obsolete.m4 moc_paymentserver.cpp Hyperstake-Qt.dmg + +Skip to content +Help save net neutrality! A free, open internet is once again at stake—and we need your help. +Learn more Dismiss +This repository +Search +Pull requests +Issues +Marketplace +Explore + @tuningmind + Sign out + Watch 1 + Star 0 Fork 0 presstab/voting Private + Code Issues 0 Pull requests 0 Projects 0 Wiki Insights +Branch: fouroption Find file Copy pathvoting/.gitignore +22a3064 on Oct 30 +@tuningmind tuningmind Update gitignore +2 contributors @tuningmind @presstab +RawBlameHistory +143 lines (109 sloc) 2.21 KB +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Created by https://www.gitignore.io/api/vim,osx + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Vim ### +# swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags + +# End of https://www.gitignore.io/api/vim,osx + + +# Created by https://www.gitignore.io/api/clion+all + +### CLion+all ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Ruby plugin and RubyMine +/.rakeTasks + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### CLion+all Patch ### +# Ignores the whole idea folder +# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 + +.idea/ + +# End of https://www.gitignore.io/api/clion+all diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..f7774d083 --- /dev/null +++ b/Makefile @@ -0,0 +1,1093 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/hyperstake +pkgincludedir = $(includedir)/hyperstake +pkglibdir = $(libdir)/hyperstake +pkglibexecdir = $(libexecdir)/hyperstake +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ + $(top_srcdir)/build-aux/m4/libtool.m4 \ + $(top_srcdir)/build-aux/m4/ltoptions.m4 \ + $(top_srcdir)/build-aux/m4/ltsugar.m4 \ + $(top_srcdir)/build-aux/m4/ltversion.m4 \ + $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno config.status.lineno +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h +CONFIG_CLEAN_FILES = share/setup.nsi share/qt/Info.plist +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +CSCOPE = cscope +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing \ + $(top_srcdir)/share/qt/Info.plist.in \ + $(top_srcdir)/share/setup.nsi.in \ + $(top_srcdir)/src/config/bitcoin-config.h.in build-aux/compile \ + build-aux/config.guess build-aux/config.sub \ + build-aux/install-sh build-aux/ltmain.sh build-aux/missing +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +DIST_ARCHIVES = $(distdir).tar.gz +DIST_TARGETS = dist-gzip +distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' +distcleancheck_listfiles = find . -type f -print +ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 0 +AR = /usr/bin/ar +AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf +AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader +AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 +AWK = gawk +BDB_CPPFLAGS = +BDB_LIBS = -ldb_cxx +BOOST_CHRONO_LIB = -lboost_chrono +BOOST_CPPFLAGS = -pthread -I/usr/include +BOOST_FILESYSTEM_LIB = -lboost_filesystem +BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu +BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono +BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options +BOOST_SYSTEM_LIB = -lboost_system +BOOST_THREAD_LIB = -lboost_thread +BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework +BREW = +BUILD_QT = qt +BUILD_TEST = test +BUILD_TEST_QT = test +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CLIENT_VERSION_BUILD = 0 +CLIENT_VERSION_IS_RELEASE = true +CLIENT_VERSION_MAJOR = 1 +CLIENT_VERSION_MINOR = 1 +CLIENT_VERSION_REVISION = 4 +COMPARISON_TOOL_REORG_TESTS = 0 +COPYRIGHT_YEAR = 2014 +CPP = gcc -E +CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 +CRYPTO_CFLAGS = +CRYPTO_LIBS = -lcrypto +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +GCOV = /usr/bin/gcov +GENHTML = +GENISOIMAGE = +GIT = /usr/bin/git +GREP = /bin/grep +HEXDUMP = /usr/bin/hexdump +INSTALL = /usr/bin/install -c +INSTALLNAMETOOL = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +JAVA = +JAVA_COMPARISON_TOOL = +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,-z,relro -Wl,-z,now +LEVELDB_CPPFLAGS = +LEVELDB_TARGET_FLAGS = +LIBLEVELDB = +LIBMEMENV = +LIBOBJS = +LIBS = -lanl +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBTOOL_APP_LDFLAGS = +LIPO = +LN_S = ln -s +LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate +MAINT = +MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo +MAKENSIS = +MANIFEST_TOOL = : +MINIUPNPC_CPPFLAGS = +MINIUPNPC_LIBS = +MKDIR_P = /bin/mkdir -p +MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc +MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) +NM = /usr/bin/nm -B +NMEDIT = +OBJCXX = g++ +OBJCXXDEPMODE = depmode=gcc3 +OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = hyperstake +PACKAGE_BUGREPORT = info@hyperstake.info +PACKAGE_NAME = Hyperstake Core +PACKAGE_STRING = Hyperstake Core 1.1.4 +PACKAGE_TARNAME = hyperstake +PACKAGE_URL = +PACKAGE_VERSION = 1.1.4 +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +PKG_CONFIG_LIBDIR = +PKG_CONFIG_PATH = +PORT = +PROTOBUF_CFLAGS = -pthread +PROTOBUF_LIBS = -lprotobuf -pthread -lpthread +PROTOC = /usr/bin/protoc +PTHREAD_CC = gcc +PTHREAD_CFLAGS = -pthread +PTHREAD_LIBS = +QR_CFLAGS = +QR_LIBS = -lqrencode +QTPLATFORM_CFLAGS = +QTPLATFORM_LIBS = +QTPRINT_CFLAGS = +QTPRINT_LIBS = +QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_LIBS = -lQt5DBus -lQt5Core +QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_LDFLAGS = +QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core +QT_SELECT = qt5 +QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_LIBS = -lQt5Test -lQt5Core +QT_TRANSLATION_DIR = +RANLIB = /usr/bin/ranlib +RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc +RELDFLAGS = -Wl,--exclude-libs,ALL +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +SSL_CFLAGS = +SSL_LIBS = -lssl +STRIP = /usr/bin/strip +TESTDEFS = -DBOOST_TEST_DYN_LINK +UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic +USE_QRCODE = +USE_UPNP = +VERSION = 1.1.4 +WINDOWS_BITS = +WINDRES = +X11XCB_CFLAGS = +X11XCB_LIBS = +XGETTEXT = /usr/bin/xgettext +abs_builddir = /home/carrie/hyperstake +abs_srcdir = /home/carrie/hyperstake +abs_top_builddir = /home/carrie/hyperstake +abs_top_srcdir = /home/carrie/hyperstake +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_OBJCXX = g++ +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +ax_pthread_config = +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +subdirs = src/secp256k1 +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = +top_builddir = . +top_srcdir = . +ACLOCAL_AMFLAGS = -I build-aux/m4 +SUBDIRS = src +GZIP_ENV = "-9n" +BITCOIND_BIN = $(top_builddir)/src/hyperstaked$(EXEEXT) +BITCOIN_QT_BIN = $(top_builddir)/src/qt/hyperstake-qt$(EXEEXT) +BITCOIN_WIN_INSTALLER = $(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) +OSX_APP = Hyperstake-Qt.app +OSX_DMG = Hyperstake-Qt.dmg +OSX_DEPLOY_SCRIPT = $(top_srcdir)/contrib/macdeploy/macdeployqtplus +OSX_FANCY_PLIST = $(top_srcdir)/contrib/macdeploy/fancy.plist +OSX_INSTALLER_ICONS = $(top_srcdir)/src/qt/res/icons/bitcoin.icns +OSX_PLIST = $(top_srcdir)/share/qt/Info.plist #not installed +OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW +THEMES = $(top_srcdir)/src/qt/res/themes +DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) +WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ + $(top_srcdir)/share/pixmaps/nsis-header.bmp \ + $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ + $(top_srcdir)/doc/README_windows.txt + +OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ + $(top_srcdir)/contrib/macdeploy/background.png \ + $(top_srcdir)/contrib/macdeploy/DS_Store \ + $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ + $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh + +COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ + test_bitcoin_filtered.info total_coverage.info \ + baseline_filtered.info block_test_filtered.info \ + test_bitcoin_coverage.info test_bitcoin.info + +OSX_APP_BUILT = $(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ + $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ + $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes + +APP_DIST_DIR = $(top_builddir)/dist +APP_DIST_EXTRAS = $(APP_DIST_DIR)/.background/background.png $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications +EXTRA_DIST = $(top_srcdir)/share/genbuild.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) +CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) +all: all-recursive + +.SUFFIXES: +am--refresh: Makefile + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + $(am__cd) $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) +$(am__aclocal_m4_deps): + +src/config/bitcoin-config.h: src/config/stamp-h1 + @test -f $@ || rm -f src/config/stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) src/config/stamp-h1 + +src/config/stamp-h1: $(top_srcdir)/src/config/bitcoin-config.h.in $(top_builddir)/config.status + @rm -f src/config/stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status src/config/bitcoin-config.h +$(top_srcdir)/src/config/bitcoin-config.h.in: $(am__configure_deps) + ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) + rm -f src/config/stamp-h1 + touch $@ + +distclean-hdr: + -rm -f src/config/bitcoin-config.h src/config/stamp-h1 +share/setup.nsi: $(top_builddir)/config.status $(top_srcdir)/share/setup.nsi.in + cd $(top_builddir) && $(SHELL) ./config.status $@ +share/qt/Info.plist: $(top_builddir)/config.status $(top_srcdir)/share/qt/Info.plist.in + cd $(top_builddir) && $(SHELL) ./config.status $@ + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool config.lt + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files + +distdir: $(DISTFILES) + $(am__remove_distdir) + test -d "$(distdir)" || mkdir "$(distdir)" + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook + -test -n "$(am__skip_mode_fix)" \ + || find "$(distdir)" -type d ! -perm -755 \ + -exec chmod u+rwx,go+rx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r "$(distdir)" +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__post_remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) + +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) + +dist-xz: distdir + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) + +dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__post_remove_distdir) + +dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__post_remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__post_remove_distdir) + +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ + *.tar.xz*) \ + xz -dc $(distdir).tar.xz | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + chmod a-w $(distdir) + test -d $(distdir)/_build || exit 0; \ + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && am__cwd=`pwd` \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ + && cd "$$am__cwd" \ + || exit 1 + $(am__post_remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' +distuninstallcheck: + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool clean-local mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(am__recursive_targets) install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ + dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ + dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + +.PHONY: deploy FORCE + +dist-hook: + -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean + -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - + +distcleancheck: + @: + +$(BITCOIN_WIN_INSTALLER): all-recursive + $(MKDIR_P) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release + @test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \ + echo error: could not build $@ + +$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE + $(MAKE) -C src $(patsubst src/%,%,$@) + +$(OSX_APP)/Contents/PkgInfo: + $(MKDIR_P) $(@D) + @echo "APPL????" > $@ + +$(OSX_APP)/Contents/Resources/empty.lproj: + $(MKDIR_P) $(@D) + @touch $@ + +$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) + $(MKDIR_P) $(@D) + $(INSTALL_DATA) $< $@ + +$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) + $(MKDIR_P) $(@D) + STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ + +$(OSX_APP)/Contents/MacOS/themes: $(THEMES) + $(MKDIR_P) $(@D) + cp -R $(THEMES) $(@D) + +#$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) +# $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 + +#deploydir: $(OSX_DMG) + +$(APP_DIST_DIR)/Applications: + @rm -f $@ + @cd $(@D); $(LN_S) /Applications $(@F) + +$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt + +$(OSX_DMG): $(APP_DIST_EXTRAS) + $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o $@ dist + +$(APP_DIST_DIR)/.background/background.png: + $(MKDIR_P) $(@D) + $(INSTALL) $(top_srcdir)/contrib/macdeploy/background.png $@ +$(APP_DIST_DIR)/.DS_Store: + $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ + +$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) + INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 + +deploydir: $(APP_DIST_EXTRAS) + +#appbundle: $(OSX_APP_BUILT) +#deploy: $(OSX_DMG) +#deploy: $(BITCOIN_WIN_INSTALLER) + +$(BITCOIN_QT_BIN): FORCE + $(MAKE) -C src qt/$(@F) + +$(BITCOIND_BIN): FORCE + $(MAKE) -C src $(@F) + +#baseline.info: +# $(LCOV) -c -i -d $(abs_builddir)/src -o $@ + +#baseline_filtered.info: baseline.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#baseline_filtered_combined.info: baseline_filtered.info +# $(LCOV) -a baseline_filtered.info -o $@ + +#test_bitcoin.info: baseline_filtered_combined.info +# $(MAKE) -C src/ check +# $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ +# $(LCOV) -z -d $(abs_builddir)/src + +#test_bitcoin_filtered.info: test_bitcoin.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#block_test.info: test_bitcoin_filtered.info +# $(MKDIR_P) qa/tmp +# -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 +# $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ +# $(LCOV) -z -d $(abs_builddir)/src + +#block_test_filtered.info: block_test.info +# $(LCOV) -r $< "/usr/include/*" -o $@ + +#test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info +# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -o $@ + +#total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info +# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt + +#test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info +# $(GENHTML) -s $< -o $(@D) +# @touch $@ + +#total.coverage/.dirstamp: total_coverage.info +# $(GENHTML) -s $< -o $(@D) +# @touch $@ + +#cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp + +.INTERMEDIATE: $(COVERAGE_INFO) + +clean-local: + rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 000000000..21d4e9b5e --- /dev/null +++ b/src/Makefile @@ -0,0 +1,4682 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# src/Makefile. Generated from Makefile.in by configure. + +# Copyright (C) 1994-2014 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + + + + + +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/hyperstake +pkgincludedir = $(includedir)/hyperstake +pkglibdir = $(libdir)/hyperstake +pkglibexecdir = $(libexecdir)/hyperstake +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = x86_64-pc-linux-gnu +host_triplet = x86_64-pc-linux-gnu +am__append_1 = $(BDB_CPPFLAGS) +am__append_2 = libbitcoin_wallet.a +bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ + $(am__EXEEXT_4) +TESTS = $(am__EXEEXT_5) $(am__EXEEXT_4) +am__append_3 = hyperstaked +am__append_4 = libbitcoin_wallet.a + +# +#am__append_5 = bitcoind-res.rc +am__append_6 = test/test_bitcoin test/bitcoin-util-test.py +am__append_7 = test/test_bitcoin +am__append_8 = +am__append_9 = $(LIBBITCOIN_WALLET) +am__append_10 = $(CLEAN_BITCOIN_TEST) +am__append_11 = qt/hyperstake-qt +am__append_12 = qt/libbitcoinqt.a +am__append_13 = \ + qt/addressbookpage.cpp \ + qt/addresstablemodel.cpp \ + qt/askpassphrasedialog.cpp \ + qt/coincontroldialog.cpp \ + qt/coincontroltreewidget.cpp \ + qt/editaddressdialog.cpp \ + qt/overviewpage.cpp \ + qt/paymentserver.cpp \ + qt/sendcoinsdialog.cpp \ + qt/sendcoinsentry.cpp \ + qt/signverifymessagedialog.cpp \ + qt/transactiondesc.cpp \ + qt/transactiondescdialog.cpp \ + qt/transactionfilterproxy.cpp \ + qt/transactionrecord.cpp \ + qt/transactiontablemodel.cpp \ + qt/transactionview.cpp + +#am__append_14 = $(BITCOIN_MM) +#am__append_15 = $(BITCOIN_RC) +am__append_16 = $(LIBBITCOIN_WALLET) +am__append_17 = $(CLEAN_QT) +am__append_18 = qt/test/test_bitcoin-qt +am__append_19 = qt/test/test_bitcoin-qt +am__append_20 = $(LIBBITCOIN_WALLET) +am__append_21 = $(CLEAN_BITCOIN_QT_TEST) +subdir = src +SUBDIRS = +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ + $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ + $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ + $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ + $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ + $(top_srcdir)/build-aux/m4/libtool.m4 \ + $(top_srcdir)/build-aux/m4/ltoptions.m4 \ + $(top_srcdir)/build-aux/m4/ltsugar.m4 \ + $(top_srcdir)/build-aux/m4/ltversion.m4 \ + $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +LIBRARIES = $(noinst_LIBRARIES) +ARFLAGS = cru +AM_V_AR = $(am__v_AR_$(V)) +am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) +am__v_AR_0 = @echo " AR " $@; +am__v_AR_1 = +libbitcoin_common_a_AR = $(AR) $(ARFLAGS) +libbitcoin_common_a_LIBADD = +am__objects_1 = +am_libbitcoin_common_a_OBJECTS = libbitcoin_common_a-key.$(OBJEXT) \ + libbitcoin_common_a-keystore.$(OBJEXT) \ + libbitcoin_common_a-netbase.$(OBJEXT) \ + libbitcoin_common_a-protocol.$(OBJEXT) $(am__objects_1) +libbitcoin_common_a_OBJECTS = $(am_libbitcoin_common_a_OBJECTS) +libbitcoin_server_a_AR = $(AR) $(ARFLAGS) +libbitcoin_server_a_LIBADD = +am_libbitcoin_server_a_OBJECTS = \ + libbitcoin_server_a-addrman.$(OBJEXT) \ + libbitcoin_server_a-aes_helper.$(OBJEXT) \ + libbitcoin_server_a-alert.$(OBJEXT) \ + libbitcoin_server_a-bip38.$(OBJEXT) \ + libbitcoin_server_a-bitcoinrpc.$(OBJEXT) \ + libbitcoin_server_a-blake.$(OBJEXT) \ + libbitcoin_server_a-bmw.$(OBJEXT) \ + libbitcoin_server_a-checkpoints.$(OBJEXT) \ + libbitcoin_server_a-cubehash.$(OBJEXT) \ + libbitcoin_server_a-echo.$(OBJEXT) \ + libbitcoin_server_a-groestl.$(OBJEXT) \ + libbitcoin_server_a-init.$(OBJEXT) \ + libbitcoin_server_a-jh.$(OBJEXT) \ + libbitcoin_server_a-keccak.$(OBJEXT) \ + libbitcoin_server_a-kernel.$(OBJEXT) \ + libbitcoin_server_a-luffa.$(OBJEXT) \ + libbitcoin_server_a-main.$(OBJEXT) \ + libbitcoin_server_a-net.$(OBJEXT) \ + libbitcoin_server_a-noui.$(OBJEXT) \ + libbitcoin_server_a-rpcblockchain.$(OBJEXT) \ + libbitcoin_server_a-rpcmining.$(OBJEXT) \ + libbitcoin_server_a-rpcnet.$(OBJEXT) \ + libbitcoin_server_a-rpcrawtransaction.$(OBJEXT) \ + libbitcoin_server_a-script.$(OBJEXT) \ + libbitcoin_server_a-scrypt.$(OBJEXT) \ + libbitcoin_server_a-shavite.$(OBJEXT) \ + libbitcoin_server_a-simd.$(OBJEXT) \ + libbitcoin_server_a-skein.$(OBJEXT) $(am__objects_1) \ + $(am__objects_1) +libbitcoin_server_a_OBJECTS = $(am_libbitcoin_server_a_OBJECTS) +libbitcoin_util_a_AR = $(AR) $(ARFLAGS) +libbitcoin_util_a_LIBADD = +am_libbitcoin_util_a_OBJECTS = \ + libbitcoin_util_a-clientversion.$(OBJEXT) \ + libbitcoin_util_a-sync.$(OBJEXT) \ + libbitcoin_util_a-version.$(OBJEXT) \ + libbitcoin_util_a-util.$(OBJEXT) $(am__objects_1) +nodist_libbitcoin_util_a_OBJECTS = +libbitcoin_util_a_OBJECTS = $(am_libbitcoin_util_a_OBJECTS) \ + $(nodist_libbitcoin_util_a_OBJECTS) +libbitcoin_wallet_a_AR = $(AR) $(ARFLAGS) +libbitcoin_wallet_a_LIBADD = +am_libbitcoin_wallet_a_OBJECTS = libbitcoin_wallet_a-bip38.$(OBJEXT) \ + libbitcoin_wallet_a-db.$(OBJEXT) \ + libbitcoin_wallet_a-crypter.$(OBJEXT) \ + libbitcoin_wallet_a-pbkdf2.$(OBJEXT) \ + libbitcoin_wallet_a-rpcdump.$(OBJEXT) \ + libbitcoin_wallet_a-rpcwallet.$(OBJEXT) \ + libbitcoin_wallet_a-scrypt.$(OBJEXT) \ + libbitcoin_wallet_a-wallet.$(OBJEXT) \ + libbitcoin_wallet_a-walletdb.$(OBJEXT) $(am__objects_1) +libbitcoin_wallet_a_OBJECTS = $(am_libbitcoin_wallet_a_OBJECTS) +qt_libbitcoinqt_a_AR = $(AR) $(ARFLAGS) +qt_libbitcoinqt_a_LIBADD = +am__qt_libbitcoinqt_a_SOURCES_DIST = qt/aboutdialog.cpp \ + qt/bip38tooldialog.cpp qt/bitcoinaddressvalidator.cpp \ + qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ + qt/bitcoinunits.cpp qt/blockbrowser.cpp qt/calcdialog.cpp \ + qt/charitydialog.cpp qt/clientmodel.cpp qt/csvmodelwriter.cpp \ + qt/guiutil.cpp qt/monitoreddatamapper.cpp qt/networkstyle.cpp \ + qt/notificator.cpp qt/optionsdialog.cpp qt/optionsmodel.cpp \ + qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ + qt/qvaluecombobox.cpp qt/rpcconsole.cpp qt/scicon.cpp \ + qt/walletmodel.cpp qt/addressbookpage.cpp \ + qt/addresstablemodel.cpp qt/askpassphrasedialog.cpp \ + qt/coincontroldialog.cpp qt/coincontroltreewidget.cpp \ + qt/editaddressdialog.cpp qt/overviewpage.cpp \ + qt/paymentserver.cpp qt/sendcoinsdialog.cpp \ + qt/sendcoinsentry.cpp qt/signverifymessagedialog.cpp \ + qt/transactiondesc.cpp qt/transactiondescdialog.cpp \ + qt/transactionfilterproxy.cpp qt/transactionrecord.cpp \ + qt/transactiontablemodel.cpp qt/transactionview.cpp \ + qt/aboutdialog.h qt/addressbookpage.h qt/addresstablemodel.h \ + qt/askpassphrasedialog.h qt/bip38tooldialog.h \ + qt/bitcoinaddressvalidator.h qt/bitcoinamountfield.h \ + qt/bitcoingui.h qt/bitcoinunits.h qt/blockbrowser.h \ + qt/calcdialog.h qt/charitydialog.h qt/clientmodel.h \ + qt/coincontroldialog.h qt/coincontroltreewidget.h \ + qt/csvmodelwriter.h qt/editaddressdialog.h qt/guiconstants.h \ + qt/guiutil.h qt/macdockiconhandler.h \ + qt/macnotificationhandler.h qt/monitoreddatamapper.h \ + qt/networkstyle.h qt/notificator.h qt/optionsdialog.h \ + qt/optionsmodel.h qt/overviewpage.h qt/paymentserver.h \ + qt/qrcodedialog.h qt/qvalidatedlineedit.h qt/qvaluecombobox.h \ + qt/rpcconsole.h qt/scicon.h qt/sendcoinsdialog.h \ + qt/sendcoinsentry.h qt/signverifymessagedialog.h \ + qt/transactiondesc.h qt/transactiondescdialog.h \ + qt/transactionfilterproxy.h qt/transactionrecord.h \ + qt/transactiontablemodel.h qt/transactionview.h \ + qt/walletmodel.h qt/forms/aboutdialog.ui \ + qt/forms/addressbookpage.ui qt/forms/askpassphrasedialog.ui \ + qt/forms/bip38tooldialog.ui qt/forms/blockbrowser.ui \ + qt/forms/calcdialog.ui qt/forms/charitydialog.ui \ + qt/forms/coincontroldialog.ui qt/forms/editaddressdialog.ui \ + qt/forms/optionsdialog.ui qt/forms/overviewpage.ui \ + qt/forms/qrcodedialog.ui qt/forms/rpcconsole.ui \ + qt/forms/sendcoinsdialog.ui qt/forms/sendcoinsentry.ui \ + qt/forms/signverifymessagedialog.ui \ + qt/forms/transactiondescdialog.ui qt/bitcoin.qrc \ + qt/locale/bitcoin_en.ts qt/locale/bitcoin_ru.ts \ + qt/res/icons/add.png qt/res/icons/address-book.png \ + qt/res/icons/blexp.png qt/res/icons/clock1.png \ + qt/res/icons/clock2.png qt/res/icons/clock3.png \ + qt/res/icons/clock4.png qt/res/icons/clock5.png \ + qt/res/icons/configure.png qt/res/icons/connect0_16.png \ + qt/res/icons/connect1_16.png qt/res/icons/connect2_16.png \ + qt/res/icons/connect3_16.png qt/res/icons/connect4_16.png \ + qt/res/icons/debugwindow.png qt/res/icons/edit.png \ + qt/res/icons/editcopy.png qt/res/icons/editpaste.png \ + qt/res/icons/export.png qt/res/icons/filesave.png \ + qt/res/icons/history.png qt/res/icons/hyperstake-16.png \ + qt/res/icons/hyperstake-32.png qt/res/icons/hyperstake-128.png \ + qt/res/icons/info.png qt/res/icons/key.png \ + qt/res/icons/lock_closed.png qt/res/icons/lock_open.png \ + qt/res/icons/mining.png qt/res/icons/mining_inactive.png \ + qt/res/icons/notsynced.png qt/res/icons/overview.png \ + qt/res/icons/qrcode.png qt/res/icons/quit.png \ + qt/res/icons/receive.png qt/res/icons/remove.png \ + qt/res/icons/s4c.png qt/res/icons/send.png \ + qt/res/icons/synced.png qt/res/icons/transaction0.png \ + qt/res/icons/transaction2.png qt/res/icons/tx_inout.png \ + qt/res/icons/tx_input.png qt/res/icons/tx_output.png \ + qt/res/icons/tx_mined.png qt/res/images/about.png \ + qt/res/images/splash.png qt/res/images/wallet.png $(wildcard \ + qt/res/movies/*.mng) +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_2 = qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT) +am__objects_3 = \ + qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-notificator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-scicon.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT) \ + $(am__objects_2) +am_qt_libbitcoinqt_a_OBJECTS = $(am__objects_3) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) \ + $(am__objects_1) $(am__objects_1) +am__objects_4 = qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT) \ + qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT) +am__objects_5 = \ + qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT) +nodist_qt_libbitcoinqt_a_OBJECTS = $(am__objects_4) \ + $(am__objects_1) $(am__objects_5) +qt_libbitcoinqt_a_OBJECTS = $(am_qt_libbitcoinqt_a_OBJECTS) \ + $(nodist_qt_libbitcoinqt_a_OBJECTS) +am__EXEEXT_1 = hyperstaked$(EXEEXT) +am__EXEEXT_2 = test/test_bitcoin$(EXEEXT) +am__EXEEXT_3 = qt/hyperstake-qt$(EXEEXT) +am__EXEEXT_4 = qt/test/test_bitcoin-qt$(EXEEXT) +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am__hyperstaked_SOURCES_DIST = bitcoind.cpp bitcoind-res.rc +#am__objects_6 = bitcoind-res.$(OBJEXT) +am_hyperstaked_OBJECTS = hyperstaked-bitcoind.$(OBJEXT) \ + $(am__objects_6) +hyperstaked_OBJECTS = $(am_hyperstaked_OBJECTS) +am__DEPENDENCIES_1 = +hyperstaked_DEPENDENCIES = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(LIBSECP256K1) $(am__append_4) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(LIBSECP256K1) +AM_V_lt = $(am__v_lt_$(V)) +am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) +am__v_lt_0 = --silent +am__v_lt_1 = +hyperstaked_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(hyperstaked_LDFLAGS) $(LDFLAGS) -o $@ +am__qt_hyperstake_qt_SOURCES_DIST = qt/bitcoin.cpp \ + qt/macdockiconhandler.mm qt/macnotificationhandler.mm \ + qt/res/bitcoin-qt.rc +am__objects_7 = qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT) \ + qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT) +#am__objects_8 = $(am__objects_7) +am__objects_9 = qt/res/bitcoin-qt.$(OBJEXT) +#am__objects_10 = \ +# $(am__objects_9) +am_qt_hyperstake_qt_OBJECTS = \ + qt/qt_hyperstake_qt-bitcoin.$(OBJEXT) \ + $(am__objects_8) $(am__objects_10) +qt_hyperstake_qt_OBJECTS = $(am_qt_hyperstake_qt_OBJECTS) +qt_hyperstake_qt_DEPENDENCIES = qt/libbitcoinqt.a \ + $(LIBBITCOIN_SERVER) $(am__append_16) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(LIBSECP256K1) +qt_hyperstake_qt_LINK = $(LIBTOOL) $(AM_V_lt) \ + $(qt_hyperstake_qt_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ + $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ + $(qt_hyperstake_qt_LDFLAGS) $(LDFLAGS) -o $@ +am__qt_test_test_bitcoin_qt_SOURCES_DIST = qt/test/test_main.cpp \ + qt/test/uritests.cpp qt/test/uritests.h +am_qt_test_test_bitcoin_qt_OBJECTS = qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT) \ + qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT) \ + $(am__objects_1) +am__objects_11 = qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT) +nodist_qt_test_test_bitcoin_qt_OBJECTS = \ + $(am__objects_11) +qt_test_test_bitcoin_qt_OBJECTS = \ + $(am_qt_test_test_bitcoin_qt_OBJECTS) \ + $(nodist_qt_test_test_bitcoin_qt_OBJECTS) +qt_test_test_bitcoin_qt_DEPENDENCIES = \ + $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) \ + $(am__append_20) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(LIBSECP256K1) +qt_test_test_bitcoin_qt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(qt_test_test_bitcoin_qt_LDFLAGS) \ + $(LDFLAGS) -o $@ +am__test_test_bitcoin_SOURCES_DIST = test/allocator_tests.cpp \ + test/base32_tests.cpp test/base64_tests.cpp \ + test/getarg_tests.cpp test/key_tests.cpp test/mruset_tests.cpp \ + test/netbase_tests.cpp test/test_bitcoin.cpp \ + test/sigopcount_tests.cpp test/data/script_valid.json \ + test/data/base58_keys_valid.json \ + test/data/base58_encode_decode.json \ + test/data/base58_keys_invalid.json \ + test/data/script_invalid.json +am__objects_12 = test/test_test_bitcoin-allocator_tests.$(OBJEXT) \ + test/test_test_bitcoin-base32_tests.$(OBJEXT) \ + test/test_test_bitcoin-base64_tests.$(OBJEXT) \ + test/test_test_bitcoin-getarg_tests.$(OBJEXT) \ + test/test_test_bitcoin-key_tests.$(OBJEXT) \ + test/test_test_bitcoin-mruset_tests.$(OBJEXT) \ + test/test_test_bitcoin-netbase_tests.$(OBJEXT) \ + test/test_test_bitcoin-test_bitcoin.$(OBJEXT) \ + test/test_test_bitcoin-sigopcount_tests.$(OBJEXT) +am_test_test_bitcoin_OBJECTS = $(am__objects_12) \ + $(am__objects_1) +am__objects_13 = $(am__objects_1) +nodist_test_test_bitcoin_OBJECTS = \ + $(am__objects_13) +test_test_bitcoin_OBJECTS = $(am_test_test_bitcoin_OBJECTS) \ + $(nodist_test_test_bitcoin_OBJECTS) +test_test_bitcoin_DEPENDENCIES = \ + $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__append_9) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) +test_test_bitcoin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ + $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ + $(AM_CXXFLAGS) $(CXXFLAGS) $(test_test_bitcoin_LDFLAGS) \ + $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_$(V)) +am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_$(V)) +am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_$(V)) +am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I. -I$(top_builddir)/src/config +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_$(V)) +am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_$(V)) +am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_$(V)) +am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ + $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CXXLD = $(am__v_CXXLD_$(V)) +am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) +LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(OBJCXX) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) +AM_V_OBJCXX = $(am__v_OBJCXX_$(V)) +am__v_OBJCXX_ = $(am__v_OBJCXX_$(AM_DEFAULT_VERBOSITY)) +am__v_OBJCXX_0 = @echo " OBJCXX " $@; +am__v_OBJCXX_1 = +OBJCXXLD = $(OBJCXX) +OBJCXXLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ + --mode=link $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_OBJCXXLD = $(am__v_OBJCXXLD_$(V)) +am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_$(AM_DEFAULT_VERBOSITY)) +am__v_OBJCXXLD_0 = @echo " OBJCXXLD" $@; +am__v_OBJCXXLD_1 = +SOURCES = $(libbitcoin_common_a_SOURCES) \ + $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ + $(nodist_libbitcoin_util_a_SOURCES) \ + $(libbitcoin_wallet_a_SOURCES) $(qt_libbitcoinqt_a_SOURCES) \ + $(nodist_qt_libbitcoinqt_a_SOURCES) $(hyperstaked_SOURCES) \ + $(qt_hyperstake_qt_SOURCES) $(qt_test_test_bitcoin_qt_SOURCES) \ + $(nodist_qt_test_test_bitcoin_qt_SOURCES) \ + $(test_test_bitcoin_SOURCES) \ + $(nodist_test_test_bitcoin_SOURCES) +DIST_SOURCES = $(libbitcoin_common_a_SOURCES) \ + $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ + $(libbitcoin_wallet_a_SOURCES) \ + $(am__qt_libbitcoinqt_a_SOURCES_DIST) \ + $(am__hyperstaked_SOURCES_DIST) \ + $(am__qt_hyperstake_qt_SOURCES_DIST) \ + $(am__qt_test_test_bitcoin_qt_SOURCES_DIST) \ + $(am__test_test_bitcoin_SOURCES_DIST) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + check recheck distdir +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__tty_colors_dummy = \ + mgn= red= grn= lgn= blu= brg= std=; \ + am__color_tests=no +am__tty_colors = { \ + $(am__tty_colors_dummy); \ + if test "X$(AM_COLOR_TESTS)" = Xno; then \ + am__color_tests=no; \ + elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ + am__color_tests=yes; \ + elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ + am__color_tests=yes; \ + fi; \ + if test $$am__color_tests = yes; then \ + red=''; \ + grn=''; \ + lgn=''; \ + blu=''; \ + mgn=''; \ + brg=''; \ + std=''; \ + fi; \ +} +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; +am__vpath_adj = case $$p in \ + $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ + *) f=$$p;; \ + esac; +am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; +am__install_max = 40 +am__nobase_strip_setup = \ + srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` +am__nobase_strip = \ + for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" +am__nobase_list = $(am__nobase_strip_setup); \ + for p in $$list; do echo "$$p $$p"; done | \ + sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ + $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ + if (++n[$$2] == $(am__install_max)) \ + { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ + END { for (dir in files) print dir, files[dir] }' +am__base_list = \ + sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ + sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__recheck_rx = ^[ ]*:recheck:[ ]* +am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* +am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* +# A command that, given a newline-separated list of test names on the +# standard input, print the name of the tests that are to be re-run +# upon "make recheck". +am__list_recheck_tests = $(AWK) '{ \ + recheck = 1; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + { \ + if ((getline line2 < ($$0 ".log")) < 0) \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ + { \ + recheck = 0; \ + break; \ + } \ + else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ + { \ + break; \ + } \ + }; \ + if (recheck) \ + print $$0; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# A command that, given a newline-separated list of test names on the +# standard input, create the global log from their .trs and .log files. +am__create_global_log = $(AWK) ' \ +function fatal(msg) \ +{ \ + print "fatal: making $@: " msg | "cat >&2"; \ + exit 1; \ +} \ +function rst_section(header) \ +{ \ + print header; \ + len = length(header); \ + for (i = 1; i <= len; i = i + 1) \ + printf "="; \ + printf "\n\n"; \ +} \ +{ \ + copy_in_global_log = 1; \ + global_test_result = "RUN"; \ + while ((rc = (getline line < ($$0 ".trs"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".trs"); \ + if (line ~ /$(am__global_test_result_rx)/) \ + { \ + sub("$(am__global_test_result_rx)", "", line); \ + sub("[ ]*$$", "", line); \ + global_test_result = line; \ + } \ + else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ + copy_in_global_log = 0; \ + }; \ + if (copy_in_global_log) \ + { \ + rst_section(global_test_result ": " $$0); \ + while ((rc = (getline line < ($$0 ".log"))) != 0) \ + { \ + if (rc < 0) \ + fatal("failed to read from " $$0 ".log"); \ + print line; \ + }; \ + printf "\n"; \ + }; \ + close ($$0 ".trs"); \ + close ($$0 ".log"); \ +}' +# Restructured Text title. +am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } +# Solaris 10 'make', and several other traditional 'make' implementations, +# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it +# by disabling -e (using the XSI extension "set +e") if it's set. +am__sh_e_setup = case $$- in *e*) set +e;; esac +# Default flags passed to test drivers. +am__common_driver_flags = \ + --color-tests "$$am__color_tests" \ + --enable-hard-errors "$$am__enable_hard_errors" \ + --expect-failure "$$am__expect_failure" +# To be inserted before the command running the test. Creates the +# directory for the log if needed. Stores in $dir the directory +# containing $f, in $tst the test, in $log the log. Executes the +# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and +# passes TESTS_ENVIRONMENT. Set up options for the wrapper that +# will run the test scripts (or their associated LOG_COMPILER, if +# thy have one). +am__check_pre = \ +$(am__sh_e_setup); \ +$(am__vpath_adj_setup) $(am__vpath_adj) \ +$(am__tty_colors); \ +srcdir=$(srcdir); export srcdir; \ +case "$@" in \ + */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ + *) am__odir=.;; \ +esac; \ +test "x$$am__odir" = x"." || test -d "$$am__odir" \ + || $(MKDIR_P) "$$am__odir" || exit $$?; \ +if test -f "./$$f"; then dir=./; \ +elif test -f "$$f"; then dir=; \ +else dir="$(srcdir)/"; fi; \ +tst=$$dir$$f; log='$@'; \ +if test -n '$(DISABLE_HARD_ERRORS)'; then \ + am__enable_hard_errors=no; \ +else \ + am__enable_hard_errors=yes; \ +fi; \ +case " $(XFAIL_TESTS) " in \ + *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ + am__expect_failure=yes;; \ + *) \ + am__expect_failure=no;; \ +esac; \ +$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) +# A shell command to get the names of the tests scripts with any registered +# extension removed (i.e., equivalently, the names of the test logs, with +# the '.log' extension removed). The result is saved in the shell variable +# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, +# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", +# since that might cause problem with VPATH rewrites for suffix-less tests. +# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. +am__set_TESTS_bases = \ + bases='$(TEST_LOGS)'; \ + bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ + bases=`echo $$bases` +RECHECK_LOGS = $(TEST_LOGS) +am__EXEEXT_5 = test/test_bitcoin$(EXEEXT) \ + test/bitcoin-util-test.py +TEST_SUITE_LOG = test-suite.log +TEST_EXTENSIONS = .test +LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) +am__set_b = \ + case '$@' in \ + */*) \ + case '$*' in \ + */*) b='$*';; \ + *) b=`echo '$@' | sed 's/\.log$$//'`; \ + esac;; \ + *) \ + b='$*';; \ + esac +am__test_logs1 = $(TESTS:=.log) +am__test_logs2 = $(am__test_logs1:.log=.log) +TEST_LOGS = $(am__test_logs2:.test.log=.log) +TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver +TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ + $(TEST_LOG_FLAGS) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.qt.include \ + $(srcdir)/Makefile.qttest.include \ + $(srcdir)/Makefile.test.include \ + $(top_srcdir)/build-aux/depcomp \ + $(top_srcdir)/build-aux/test-driver +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 +AMTAR = $${TAR-tar} +AM_DEFAULT_VERBOSITY = 0 +AR = /usr/bin/ar +AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf +AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader +AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 +AWK = gawk +BDB_CPPFLAGS = +BDB_LIBS = -ldb_cxx +BOOST_CHRONO_LIB = -lboost_chrono +BOOST_CPPFLAGS = -pthread -I/usr/include +BOOST_FILESYSTEM_LIB = -lboost_filesystem +BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu +BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono +BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options +BOOST_SYSTEM_LIB = -lboost_system +BOOST_THREAD_LIB = -lboost_thread +BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework +BREW = +BUILD_QT = qt +BUILD_TEST = test +BUILD_TEST_QT = test +CC = gcc +CCACHE = +CCDEPMODE = depmode=gcc3 +CFLAGS = -g -O2 +CLIENT_VERSION_BUILD = 0 +CLIENT_VERSION_IS_RELEASE = true +CLIENT_VERSION_MAJOR = 1 +CLIENT_VERSION_MINOR = 1 +CLIENT_VERSION_REVISION = 4 +COMPARISON_TOOL_REORG_TESTS = 0 +COPYRIGHT_YEAR = 2014 +CPP = gcc -E +CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 +CRYPTO_CFLAGS = +CRYPTO_LIBS = -lcrypto +CXX = g++ +CXXCPP = g++ -E +CXXDEPMODE = depmode=gcc3 +CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden +CYGPATH_W = echo +DEFS = -DHAVE_CONFIG_H +DEPDIR = .deps +DLLTOOL = false +DSYMUTIL = +DUMPBIN = +ECHO_C = +ECHO_N = -n +ECHO_T = +EGREP = /bin/grep -E +EXEEXT = +FGREP = /bin/grep -F +GCOV = /usr/bin/gcov +GENHTML = +GENISOIMAGE = +GIT = /usr/bin/git +GREP = /bin/grep +HEXDUMP = /usr/bin/hexdump +INSTALL = /usr/bin/install -c +INSTALLNAMETOOL = +INSTALL_DATA = ${INSTALL} -m 644 +INSTALL_PROGRAM = ${INSTALL} +INSTALL_SCRIPT = ${INSTALL} +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s +JAVA = +JAVA_COMPARISON_TOOL = +LCOV = +LD = /usr/bin/ld -m elf_x86_64 +LDFLAGS = -Wl,-z,relro -Wl,-z,now +LEVELDB_CPPFLAGS = +LEVELDB_TARGET_FLAGS = +LIBLEVELDB = +LIBMEMENV = +LIBOBJS = +LIBS = -lanl +LIBTOOL = $(SHELL) $(top_builddir)/libtool +LIBTOOL_APP_LDFLAGS = +LIPO = +LN_S = ln -s +LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease +LTLIBOBJS = +LT_SYS_LIBRARY_PATH = +LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate +MAINT = +MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo +MAKENSIS = +MANIFEST_TOOL = : +MINIUPNPC_CPPFLAGS = +MINIUPNPC_LIBS = +MKDIR_P = /bin/mkdir -p +MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc +MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) +NM = /usr/bin/nm -B +NMEDIT = +OBJCXX = g++ +OBJCXXDEPMODE = depmode=gcc3 +OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC +OBJDUMP = objdump +OBJEXT = o +OTOOL = +OTOOL64 = +PACKAGE = hyperstake +PACKAGE_BUGREPORT = info@hyperstake.info +PACKAGE_NAME = Hyperstake Core +PACKAGE_STRING = Hyperstake Core 1.1.4 +PACKAGE_TARNAME = hyperstake +PACKAGE_URL = +PACKAGE_VERSION = 1.1.4 +PATH_SEPARATOR = : +PKG_CONFIG = /usr/bin/pkg-config +PKG_CONFIG_LIBDIR = +PKG_CONFIG_PATH = +PORT = +PROTOBUF_CFLAGS = -pthread +PROTOBUF_LIBS = -lprotobuf -pthread -lpthread +PROTOC = /usr/bin/protoc +PTHREAD_CC = gcc +PTHREAD_CFLAGS = -pthread +PTHREAD_LIBS = +QR_CFLAGS = +QR_LIBS = -lqrencode +QTPLATFORM_CFLAGS = +QTPLATFORM_LIBS = +QTPRINT_CFLAGS = +QTPRINT_LIBS = +QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_DBUS_LIBS = -lQt5DBus -lQt5Core +QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_LDFLAGS = +QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core +QT_SELECT = qt5 +QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 +QT_TEST_LIBS = -lQt5Test -lQt5Core +QT_TRANSLATION_DIR = +RANLIB = /usr/bin/ranlib +RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc +RELDFLAGS = -Wl,--exclude-libs,ALL +SED = /bin/sed +SET_MAKE = +SHELL = /bin/bash +SSL_CFLAGS = +SSL_LIBS = -lssl +STRIP = /usr/bin/strip +TESTDEFS = -DBOOST_TEST_DYN_LINK +UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic +USE_QRCODE = +USE_UPNP = +VERSION = 1.1.4 +WINDOWS_BITS = +WINDRES = +X11XCB_CFLAGS = +X11XCB_LIBS = +XGETTEXT = /usr/bin/xgettext +abs_builddir = /home/carrie/hyperstake/src +abs_srcdir = /home/carrie/hyperstake/src +abs_top_builddir = /home/carrie/hyperstake +abs_top_srcdir = /home/carrie/hyperstake +ac_ct_AR = ar +ac_ct_CC = gcc +ac_ct_CXX = g++ +ac_ct_DUMPBIN = +ac_ct_OBJCXX = g++ +am__include = include +am__leading_dot = . +am__quote = +am__tar = $${TAR-tar} chof - "$$tardir" +am__untar = $${TAR-tar} xf - +ax_pthread_config = +bindir = ${exec_prefix}/bin +build = x86_64-pc-linux-gnu +build_alias = +build_cpu = x86_64 +build_os = linux-gnu +build_vendor = pc +builddir = . +datadir = ${datarootdir} +datarootdir = ${prefix}/share +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} +dvidir = ${docdir} +exec_prefix = ${prefix} +host = x86_64-pc-linux-gnu +host_alias = +host_cpu = x86_64 +host_os = linux-gnu +host_vendor = pc +htmldir = ${docdir} +includedir = ${prefix}/include +infodir = ${datarootdir}/info +install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh +libdir = ${exec_prefix}/lib +libexecdir = ${exec_prefix}/libexec +localedir = ${datarootdir}/locale +localstatedir = ${prefix}/var +mandir = ${datarootdir}/man +mkdir_p = $(MKDIR_P) +oldincludedir = /usr/include +pdfdir = ${docdir} +prefix = /usr/local +program_transform_name = s,x,x, +psdir = ${docdir} +runstatedir = ${localstatedir}/run +sbindir = ${exec_prefix}/sbin +sharedstatedir = ${prefix}/com +srcdir = . +subdirs = src/secp256k1 +sysconfdir = ${prefix}/etc +target_alias = +top_build_prefix = ../ +top_builddir = .. +top_srcdir = .. +DIST_SUBDIRS = secp256k1 +AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) +BITCOIN_CONFIG_INCLUDES = -I$(builddir)/config +BITCOIN_INCLUDES = -I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) \ + $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -I$(srcdir)/secp256k1/include \ + $(am__append_1) +LIBBITCOIN_SERVER = libbitcoin_server.a +LIBBITCOIN_WALLET = libbitcoin_wallet.a +LIBBITCOIN_COMMON = libbitcoin_common.a +LIBBITCOIN_UTIL = libbitcoin_util.a +LIBSECP256K1 = secp256k1/libsecp256k1.la +LIBBITCOINQT = qt/libbitcoinqt.a + +# Make is not made aware of per-object dependencies to avoid limiting building parallelization +# But to build the less dependent modules first, we manually select their order here: +noinst_LIBRARIES = libbitcoin_util.a libbitcoin_common.a \ + libbitcoin_server.a $(am__append_2) $(am__append_12) +# bitcoin core # +BITCOIN_CORE_H = \ + addrman.h \ + alert.h \ + allocators.h \ + base58.h \ + bignum.h \ + bip38.h \ + bitcoinrpc.h \ + checkpoints.h \ + clientversion.h \ + coincontrol.h \ + compat.h \ + crypter.h \ + db.h \ + hashblock.h \ + init.h \ + kernel.h \ + key.h \ + keystore.h \ + main.h \ + mruset.h \ + netbase.h \ + net.h \ + pbkdf2.h \ + protocol.h \ + script.h \ + scrypt.h \ + scrypt_mine.h \ + serialize.h \ + sph_blake.h \ + sph_bmw.h \ + sph_cubehash.h \ + sph_echo.h \ + sph_groestl.h \ + sph_jh.h \ + sph_keccak.h \ + sph_luffa.h \ + sph_shavite.h \ + sph_simd.h \ + sph_skein.h \ + sph_types.h \ + sync.h \ + tinyformat.h \ + ui_interface.h \ + uint256.h \ + util.h \ + version.h \ + wallet.h \ + walletdb.h + +JSON_H = \ + json/json_spirit.h \ + json/json_spirit_error_position.h \ + json/json_spirit_reader.h \ + json/json_spirit_reader_template.h \ + json/json_spirit_stream_reader.h \ + json/json_spirit_utils.h \ + json/json_spirit_value.h \ + json/json_spirit_writer.h \ + json/json_spirit_writer_template.h + + +# server: shared between bitcoind and bitcoin-qt +libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) +libbitcoin_server_a_SOURCES = \ + addrman.cpp \ + aes_helper.c \ + alert.cpp \ + bip38.cpp \ + bitcoinrpc.cpp \ + blake.c \ + bmw.c \ + checkpoints.cpp \ + cubehash.c \ + echo.c \ + groestl.c \ + init.cpp \ + jh.c \ + keccak.c \ + kernel.cpp \ + luffa.c \ + main.cpp \ + net.cpp \ + noui.cpp \ + rpcblockchain.cpp \ + rpcmining.cpp \ + rpcnet.cpp \ + rpcrawtransaction.cpp \ + script.cpp \ + scrypt.cpp \ + shavite.c \ + simd.c \ + skein.c \ + $(JSON_H) \ + $(BITCOIN_CORE_H) + + +# wallet: shared between bitcoind and bitcoin-qt, but only linked +# when wallet enabled +libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_wallet_a_SOURCES = \ + bip38.cpp \ + db.cpp \ + crypter.cpp \ + pbkdf2.cpp \ + rpcdump.cpp \ + rpcwallet.cpp \ + scrypt.cpp \ + wallet.cpp \ + walletdb.cpp \ + $(BITCOIN_CORE_H) + + +# common: shared between bitcoind, and bitcoin-qt and non-server tools +libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_common_a_SOURCES = \ + key.cpp \ + keystore.cpp \ + netbase.cpp \ + protocol.cpp \ + $(BITCOIN_CORE_H) + + +# util: shared between all executables. +# This library *must* be included to make sure that the glibc +# backward-compatibility objects and their sanity checks are linked. +libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) +libbitcoin_util_a_SOURCES = \ + clientversion.cpp \ + sync.cpp \ + version.cpp \ + util.cpp \ + $(BITCOIN_CORE_H) + +nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h +# + +# hyperstaked binary # +hyperstaked_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ + $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBLEVELDB) \ + $(LIBMEMENV) $(LIBSECP256K1) $(am__append_4) $(BOOST_LIBS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ + $(LIBSECP256K1) +hyperstaked_SOURCES = bitcoind.cpp $(am__append_5) +hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) +hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +CLEANFILES = *.gcda *.gcno $(am__append_10) $(am__append_17) \ + $(am__append_21) +DISTCLEANFILES = obj/build.h +EXTRA_DIST = $(am__append_8) +TEST_SRCDIR = test +TEST_BINARY = test/test_bitcoin$(EXEEXT) +JSON_TEST_FILES = \ + test/data/script_valid.json \ + test/data/base58_keys_valid.json \ + test/data/base58_encode_decode.json \ + test/data/base58_keys_invalid.json \ + test/data/script_invalid.json + +GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) +BITCOIN_TESTS = \ + test/allocator_tests.cpp \ + test/base32_tests.cpp \ + test/base64_tests.cpp \ + test/getarg_tests.cpp \ + test/key_tests.cpp \ + test/mruset_tests.cpp \ + test/netbase_tests.cpp \ + test/test_bitcoin.cpp \ + test/sigopcount_tests.cpp + +test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) +test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) +test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ + $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ + $(BOOST_UNIT_TEST_FRAMEWORK_LIB) \ + $(am__append_9) $(LIBBITCOIN_CONSENSUS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ + $(MINIUPNPC_LIBS) +test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static +nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) +CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) + +# bitcoin qt core # +QT_TS = \ + qt/locale/bitcoin_en.ts \ + qt/locale/bitcoin_ru.ts + +QT_FORMS_UI = \ + qt/forms/aboutdialog.ui \ + qt/forms/addressbookpage.ui \ + qt/forms/askpassphrasedialog.ui \ + qt/forms/bip38tooldialog.ui \ + qt/forms/blockbrowser.ui \ + qt/forms/calcdialog.ui \ + qt/forms/charitydialog.ui \ + qt/forms/coincontroldialog.ui \ + qt/forms/editaddressdialog.ui \ + qt/forms/optionsdialog.ui \ + qt/forms/overviewpage.ui \ + qt/forms/qrcodedialog.ui \ + qt/forms/rpcconsole.ui \ + qt/forms/sendcoinsdialog.ui \ + qt/forms/sendcoinsentry.ui \ + qt/forms/signverifymessagedialog.ui \ + qt/forms/transactiondescdialog.ui + +QT_MOC_CPP = \ + qt/moc_aboutdialog.cpp \ + qt/moc_addressbookpage.cpp \ + qt/moc_addresstablemodel.cpp \ + qt/moc_askpassphrasedialog.cpp \ + qt/moc_bip38tooldialog.cpp \ + qt/moc_bitcoinaddressvalidator.cpp \ + qt/moc_bitcoinamountfield.cpp \ + qt/moc_bitcoingui.cpp \ + qt/moc_bitcoinunits.cpp \ + qt/moc_blockbrowser.cpp \ + qt/moc_calcdialog.cpp \ + qt/moc_charitydialog.cpp \ + qt/moc_clientmodel.cpp \ + qt/moc_coincontroldialog.cpp \ + qt/moc_coincontroltreewidget.cpp \ + qt/moc_csvmodelwriter.cpp \ + qt/moc_editaddressdialog.cpp \ + qt/moc_guiutil.cpp \ + qt/moc_macdockiconhandler.cpp \ + qt/moc_macnotificationhandler.cpp \ + qt/moc_monitoreddatamapper.cpp \ + qt/moc_notificator.cpp \ + qt/moc_optionsdialog.cpp \ + qt/moc_optionsmodel.cpp \ + qt/moc_overviewpage.cpp \ + qt/moc_paymentserver.cpp \ + qt/moc_qrcodedialog.cpp \ + qt/moc_qvalidatedlineedit.cpp \ + qt/moc_qvaluecombobox.cpp \ + qt/moc_rpcconsole.cpp \ + qt/moc_sendcoinsdialog.cpp \ + qt/moc_sendcoinsentry.cpp \ + qt/moc_signverifymessagedialog.cpp \ + qt/moc_transactiondesc.cpp \ + qt/moc_transactiondescdialog.cpp \ + qt/moc_transactionfilterproxy.cpp \ + qt/moc_transactiontablemodel.cpp \ + qt/moc_transactionview.cpp \ + qt/moc_walletmodel.cpp + +BITCOIN_MM = \ + qt/macdockiconhandler.mm \ + qt/macnotificationhandler.mm + +QT_MOC = \ + qt/bitcoin.moc \ + qt/bitcoinamountfield.moc \ + qt/overviewpage.moc \ + qt/rpcconsole.moc + +QT_QRC_CPP = qt/qrc_bitcoin.cpp +QT_QRC = qt/bitcoin.qrc +BITCOIN_QT_H = \ + qt/aboutdialog.h \ + qt/addressbookpage.h \ + qt/addresstablemodel.h \ + qt/askpassphrasedialog.h \ + qt/bip38tooldialog.h \ + qt/bitcoinaddressvalidator.h \ + qt/bitcoinamountfield.h \ + qt/bitcoingui.h \ + qt/bitcoinunits.h \ + qt/blockbrowser.h \ + qt/calcdialog.h \ + qt/charitydialog.h \ + qt/clientmodel.h \ + qt/coincontroldialog.h \ + qt/coincontroltreewidget.h \ + qt/csvmodelwriter.h \ + qt/editaddressdialog.h \ + qt/guiconstants.h \ + qt/guiutil.h \ + qt/macdockiconhandler.h \ + qt/macnotificationhandler.h \ + qt/monitoreddatamapper.h \ + qt/networkstyle.h \ + qt/notificator.h \ + qt/optionsdialog.h \ + qt/optionsmodel.h \ + qt/overviewpage.h \ + qt/paymentserver.h \ + qt/qrcodedialog.h \ + qt/qvalidatedlineedit.h \ + qt/qvaluecombobox.h \ + qt/rpcconsole.h \ + qt/scicon.h \ + qt/sendcoinsdialog.h \ + qt/sendcoinsentry.h \ + qt/signverifymessagedialog.h \ + qt/transactiondesc.h \ + qt/transactiondescdialog.h \ + qt/transactionfilterproxy.h \ + qt/transactionrecord.h \ + qt/transactiontablemodel.h \ + qt/transactionview.h \ + qt/walletmodel.h + +RES_ICONS = \ + qt/res/icons/add.png \ + qt/res/icons/address-book.png \ + qt/res/icons/blexp.png \ + qt/res/icons/clock1.png \ + qt/res/icons/clock2.png \ + qt/res/icons/clock3.png \ + qt/res/icons/clock4.png \ + qt/res/icons/clock5.png \ + qt/res/icons/configure.png \ + qt/res/icons/connect0_16.png \ + qt/res/icons/connect1_16.png \ + qt/res/icons/connect2_16.png \ + qt/res/icons/connect3_16.png \ + qt/res/icons/connect4_16.png \ + qt/res/icons/debugwindow.png \ + qt/res/icons/edit.png \ + qt/res/icons/editcopy.png \ + qt/res/icons/editpaste.png \ + qt/res/icons/export.png \ + qt/res/icons/filesave.png \ + qt/res/icons/history.png \ + qt/res/icons/hyperstake-16.png \ + qt/res/icons/hyperstake-32.png \ + qt/res/icons/hyperstake-128.png \ + qt/res/icons/info.png \ + qt/res/icons/key.png \ + qt/res/icons/lock_closed.png \ + qt/res/icons/lock_open.png \ + qt/res/icons/mining.png \ + qt/res/icons/mining_inactive.png \ + qt/res/icons/notsynced.png \ + qt/res/icons/overview.png \ + qt/res/icons/qrcode.png \ + qt/res/icons/quit.png \ + qt/res/icons/receive.png \ + qt/res/icons/remove.png \ + qt/res/icons/s4c.png \ + qt/res/icons/send.png \ + qt/res/icons/synced.png \ + qt/res/icons/transaction0.png \ + qt/res/icons/transaction2.png \ + qt/res/icons/tx_inout.png \ + qt/res/icons/tx_input.png \ + qt/res/icons/tx_output.png \ + qt/res/icons/tx_mined.png + +BITCOIN_QT_CPP = qt/aboutdialog.cpp \ + qt/bip38tooldialog.cpp \ + qt/bitcoinaddressvalidator.cpp \ + qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ + qt/bitcoinunits.cpp qt/blockbrowser.cpp \ + qt/calcdialog.cpp qt/charitydialog.cpp \ + qt/clientmodel.cpp qt/csvmodelwriter.cpp \ + qt/guiutil.cpp qt/monitoreddatamapper.cpp \ + qt/networkstyle.cpp qt/notificator.cpp \ + qt/optionsdialog.cpp qt/optionsmodel.cpp \ + qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ + qt/qvaluecombobox.cpp qt/rpcconsole.cpp \ + qt/scicon.cpp qt/walletmodel.cpp \ + $(am__append_13) +RES_IMAGES = \ + qt/res/images/about.png \ + qt/res/images/splash.png \ + qt/res/images/wallet.png + +RES_STYLESHEETS = +RES_MOVIES = $(wildcard qt/res/movies/*.mng) +BITCOIN_RC = qt/res/bitcoin-qt.rc +BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ + -I$(builddir)/qt/forms + +qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) + +qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ + $(QT_QRC) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) + +nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ + $(PROTOBUF_H) $(QT_QRC_CPP) + + +# forms/foo.h -> forms/ui_foo.h +QT_FORMS_H = $(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h)))) + +# hyperstake-qt binary # +qt_hyperstake_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) + +qt_hyperstake_qt_SOURCES = qt/bitcoin.cpp \ + $(am__append_14) $(am__append_15) +qt_hyperstake_qt_LDADD = qt/libbitcoinqt.a \ + $(LIBBITCOIN_SERVER) $(am__append_16) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ + $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ + $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) \ + $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) \ + $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ + $(LIBSECP256K1) +qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX + +#locale/foo.ts -> locale/foo.qm +QT_QM = $(QT_TS:.ts=.qm) +CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno +TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp +TEST_QT_H = \ + qt/test/uritests.h + +qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ + $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) + +qt_test_test_bitcoin_qt_SOURCES = \ + qt/test/test_main.cpp \ + qt/test/uritests.cpp \ + $(TEST_QT_H) + +nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP) +qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) \ + $(LIBBITCOIN_SERVER) $(am__append_20) \ + $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ + $(LIBBITCOIN_CRYPTO) \ + $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ + $(LIBMEMENV) $(BOOST_LIBS) \ + $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \ + $(QT_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) \ + $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ + $(MINIUPNPC_LIBS) $(LIBSECP256K1) +qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) +CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno +all: all-recursive + +.SUFFIXES: +.SUFFIXES: .c .cpp .lo .log .mm .o .obj .rc .test .test$(EXEEXT) .trs +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; +$(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__empty): + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstLIBRARIES: + -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) + +libbitcoin_common.a: $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_DEPENDENCIES) $(EXTRA_libbitcoin_common_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_common.a + $(AM_V_AR)$(libbitcoin_common_a_AR) libbitcoin_common.a $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_common.a + +libbitcoin_server.a: $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_DEPENDENCIES) $(EXTRA_libbitcoin_server_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_server.a + $(AM_V_AR)$(libbitcoin_server_a_AR) libbitcoin_server.a $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_server.a + +libbitcoin_util.a: $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_DEPENDENCIES) $(EXTRA_libbitcoin_util_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_util.a + $(AM_V_AR)$(libbitcoin_util_a_AR) libbitcoin_util.a $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_util.a + +libbitcoin_wallet.a: $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_DEPENDENCIES) $(EXTRA_libbitcoin_wallet_a_DEPENDENCIES) + $(AM_V_at)-rm -f libbitcoin_wallet.a + $(AM_V_AR)$(libbitcoin_wallet_a_AR) libbitcoin_wallet.a $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_LIBADD) + $(AM_V_at)$(RANLIB) libbitcoin_wallet.a +qt/$(am__dirstamp): + @$(MKDIR_P) qt + @: > qt/$(am__dirstamp) +qt/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/$(DEPDIR) + @: > qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-notificator.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-scicon.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) + +qt/libbitcoinqt.a: $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_DEPENDENCIES) $(EXTRA_qt_libbitcoinqt_a_DEPENDENCIES) qt/$(am__dirstamp) + $(AM_V_at)-rm -f qt/libbitcoinqt.a + $(AM_V_AR)$(qt_libbitcoinqt_a_AR) qt/libbitcoinqt.a $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_LIBADD) + $(AM_V_at)$(RANLIB) qt/libbitcoinqt.a +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + || test -f $$p1 \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list + +hyperstaked$(EXEEXT): $(hyperstaked_OBJECTS) $(hyperstaked_DEPENDENCIES) $(EXTRA_hyperstaked_DEPENDENCIES) + @rm -f hyperstaked$(EXEEXT) + $(AM_V_CXXLD)$(hyperstaked_LINK) $(hyperstaked_OBJECTS) $(hyperstaked_LDADD) $(LIBS) +qt/qt_hyperstake_qt-bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT): qt/$(am__dirstamp) \ + qt/$(DEPDIR)/$(am__dirstamp) +qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT): \ + qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) +qt/res/$(am__dirstamp): + @$(MKDIR_P) qt/res + @: > qt/res/$(am__dirstamp) +qt/res/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/res/$(DEPDIR) + @: > qt/res/$(DEPDIR)/$(am__dirstamp) +qt/res/bitcoin-qt.$(OBJEXT): qt/res/$(am__dirstamp) \ + qt/res/$(DEPDIR)/$(am__dirstamp) + +qt/hyperstake-qt$(EXEEXT): $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_DEPENDENCIES) $(EXTRA_qt_hyperstake_qt_DEPENDENCIES) qt/$(am__dirstamp) + @rm -f qt/hyperstake-qt$(EXEEXT) + $(AM_V_OBJCXXLD)$(qt_hyperstake_qt_LINK) $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_LDADD) $(LIBS) +qt/test/$(am__dirstamp): + @$(MKDIR_P) qt/test + @: > qt/test/$(am__dirstamp) +qt/test/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) qt/test/$(DEPDIR) + @: > qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) +qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT): \ + qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) + +qt/test/test_bitcoin-qt$(EXEEXT): $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_DEPENDENCIES) $(EXTRA_qt_test_test_bitcoin_qt_DEPENDENCIES) qt/test/$(am__dirstamp) + @rm -f qt/test/test_bitcoin-qt$(EXEEXT) + $(AM_V_CXXLD)$(qt_test_test_bitcoin_qt_LINK) $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_LDADD) $(LIBS) +test/$(am__dirstamp): + @$(MKDIR_P) test + @: > test/$(am__dirstamp) +test/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) test/$(DEPDIR) + @: > test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-allocator_tests.$(OBJEXT): \ + test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-base32_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-base64_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-getarg_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-key_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-mruset_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-netbase_tests.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-test_bitcoin.$(OBJEXT): test/$(am__dirstamp) \ + test/$(DEPDIR)/$(am__dirstamp) +test/test_test_bitcoin-sigopcount_tests.$(OBJEXT): \ + test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) + +test/test_bitcoin$(EXEEXT): $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_DEPENDENCIES) $(EXTRA_test_test_bitcoin_DEPENDENCIES) test/$(am__dirstamp) + @rm -f test/test_bitcoin$(EXEEXT) + $(AM_V_CXXLD)$(test_test_bitcoin_LINK) $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f qt/*.$(OBJEXT) + -rm -f qt/res/*.$(OBJEXT) + -rm -f qt/test/*.$(OBJEXT) + -rm -f test/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +include ./$(DEPDIR)/hyperstaked-bitcoind.Po +include ./$(DEPDIR)/libbitcoin_common_a-key.Po +include ./$(DEPDIR)/libbitcoin_common_a-keystore.Po +include ./$(DEPDIR)/libbitcoin_common_a-netbase.Po +include ./$(DEPDIR)/libbitcoin_common_a-protocol.Po +include ./$(DEPDIR)/libbitcoin_server_a-addrman.Po +include ./$(DEPDIR)/libbitcoin_server_a-aes_helper.Po +include ./$(DEPDIR)/libbitcoin_server_a-alert.Po +include ./$(DEPDIR)/libbitcoin_server_a-bip38.Po +include ./$(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +include ./$(DEPDIR)/libbitcoin_server_a-blake.Po +include ./$(DEPDIR)/libbitcoin_server_a-bmw.Po +include ./$(DEPDIR)/libbitcoin_server_a-checkpoints.Po +include ./$(DEPDIR)/libbitcoin_server_a-cubehash.Po +include ./$(DEPDIR)/libbitcoin_server_a-echo.Po +include ./$(DEPDIR)/libbitcoin_server_a-groestl.Po +include ./$(DEPDIR)/libbitcoin_server_a-init.Po +include ./$(DEPDIR)/libbitcoin_server_a-jh.Po +include ./$(DEPDIR)/libbitcoin_server_a-keccak.Po +include ./$(DEPDIR)/libbitcoin_server_a-kernel.Po +include ./$(DEPDIR)/libbitcoin_server_a-luffa.Po +include ./$(DEPDIR)/libbitcoin_server_a-main.Po +include ./$(DEPDIR)/libbitcoin_server_a-net.Po +include ./$(DEPDIR)/libbitcoin_server_a-noui.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcmining.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcnet.Po +include ./$(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +include ./$(DEPDIR)/libbitcoin_server_a-script.Po +include ./$(DEPDIR)/libbitcoin_server_a-scrypt.Po +include ./$(DEPDIR)/libbitcoin_server_a-shavite.Po +include ./$(DEPDIR)/libbitcoin_server_a-simd.Po +include ./$(DEPDIR)/libbitcoin_server_a-skein.Po +include ./$(DEPDIR)/libbitcoin_util_a-clientversion.Po +include ./$(DEPDIR)/libbitcoin_util_a-sync.Po +include ./$(DEPDIR)/libbitcoin_util_a-util.Po +include ./$(DEPDIR)/libbitcoin_util_a-version.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-bip38.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-crypter.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-db.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-wallet.Po +include ./$(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +include qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +include qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +include test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +include test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po + +.c.o: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< + +.c.obj: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CC)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: + $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CC)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< + +libbitcoin_server_a-aes_helper.o: aes_helper.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po +# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c + +libbitcoin_server_a-aes_helper.obj: aes_helper.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po +# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` + +libbitcoin_server_a-blake.o: blake.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po +# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c + +libbitcoin_server_a-blake.obj: blake.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po +# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` + +libbitcoin_server_a-bmw.o: bmw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po +# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c + +libbitcoin_server_a-bmw.obj: bmw.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po +# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` + +libbitcoin_server_a-cubehash.o: cubehash.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po +# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c + +libbitcoin_server_a-cubehash.obj: cubehash.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po +# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` + +libbitcoin_server_a-echo.o: echo.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po +# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c + +libbitcoin_server_a-echo.obj: echo.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po +# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` + +libbitcoin_server_a-groestl.o: groestl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po +# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c + +libbitcoin_server_a-groestl.obj: groestl.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po +# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` + +libbitcoin_server_a-jh.o: jh.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po +# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c + +libbitcoin_server_a-jh.obj: jh.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po +# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` + +libbitcoin_server_a-keccak.o: keccak.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po +# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c + +libbitcoin_server_a-keccak.obj: keccak.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po +# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` + +libbitcoin_server_a-luffa.o: luffa.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po +# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c + +libbitcoin_server_a-luffa.obj: luffa.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po +# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` + +libbitcoin_server_a-shavite.o: shavite.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po +# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c + +libbitcoin_server_a-shavite.obj: shavite.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po +# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` + +libbitcoin_server_a-simd.o: simd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po +# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c + +libbitcoin_server_a-simd.obj: simd.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po +# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` + +libbitcoin_server_a-skein.o: skein.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po +# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c + +libbitcoin_server_a-skein.obj: skein.c + $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po +# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ +# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` + +.cpp.o: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_CXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.cpp.lo: + $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< + +libbitcoin_common_a-key.o: key.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po +# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp + +libbitcoin_common_a-key.obj: key.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po +# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` + +libbitcoin_common_a-keystore.o: keystore.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po +# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp + +libbitcoin_common_a-keystore.obj: keystore.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po +# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` + +libbitcoin_common_a-netbase.o: netbase.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po +# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp + +libbitcoin_common_a-netbase.obj: netbase.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po +# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` + +libbitcoin_common_a-protocol.o: protocol.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po +# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp + +libbitcoin_common_a-protocol.obj: protocol.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po +# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` + +libbitcoin_server_a-addrman.o: addrman.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po +# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp + +libbitcoin_server_a-addrman.obj: addrman.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po +# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` + +libbitcoin_server_a-alert.o: alert.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po +# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp + +libbitcoin_server_a-alert.obj: alert.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po +# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` + +libbitcoin_server_a-bip38.o: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + +libbitcoin_server_a-bip38.obj: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + +libbitcoin_server_a-bitcoinrpc.o: bitcoinrpc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp + +libbitcoin_server_a-bitcoinrpc.obj: bitcoinrpc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po +# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` + +libbitcoin_server_a-checkpoints.o: checkpoints.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po +# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp + +libbitcoin_server_a-checkpoints.obj: checkpoints.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po +# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` + +libbitcoin_server_a-init.o: init.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po +# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp + +libbitcoin_server_a-init.obj: init.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po +# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` + +libbitcoin_server_a-kernel.o: kernel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po +# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp + +libbitcoin_server_a-kernel.obj: kernel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po +# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` + +libbitcoin_server_a-main.o: main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po +# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp + +libbitcoin_server_a-main.obj: main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po +# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` + +libbitcoin_server_a-net.o: net.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po +# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp + +libbitcoin_server_a-net.obj: net.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po +# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` + +libbitcoin_server_a-noui.o: noui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po +# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp + +libbitcoin_server_a-noui.obj: noui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po +# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` + +libbitcoin_server_a-rpcblockchain.o: rpcblockchain.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp + +libbitcoin_server_a-rpcblockchain.obj: rpcblockchain.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po +# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` + +libbitcoin_server_a-rpcmining.o: rpcmining.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po +# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp + +libbitcoin_server_a-rpcmining.obj: rpcmining.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po +# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` + +libbitcoin_server_a-rpcnet.o: rpcnet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po +# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp + +libbitcoin_server_a-rpcnet.obj: rpcnet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po +# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` + +libbitcoin_server_a-rpcrawtransaction.o: rpcrawtransaction.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp + +libbitcoin_server_a-rpcrawtransaction.obj: rpcrawtransaction.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po +# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` + +libbitcoin_server_a-script.o: script.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po +# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp + +libbitcoin_server_a-script.obj: script.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po +# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` + +libbitcoin_server_a-scrypt.o: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + +libbitcoin_server_a-scrypt.obj: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + +libbitcoin_util_a-clientversion.o: clientversion.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po +# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp + +libbitcoin_util_a-clientversion.obj: clientversion.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po +# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` + +libbitcoin_util_a-sync.o: sync.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po +# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp + +libbitcoin_util_a-sync.obj: sync.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po +# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` + +libbitcoin_util_a-version.o: version.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po +# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp + +libbitcoin_util_a-version.obj: version.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po +# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` + +libbitcoin_util_a-util.o: util.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po +# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp + +libbitcoin_util_a-util.obj: util.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po +# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` + +libbitcoin_wallet_a-bip38.o: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp + +libbitcoin_wallet_a-bip38.obj: bip38.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po +# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` + +libbitcoin_wallet_a-db.o: db.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po +# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp + +libbitcoin_wallet_a-db.obj: db.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po +# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` + +libbitcoin_wallet_a-crypter.o: crypter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po +# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp + +libbitcoin_wallet_a-crypter.obj: crypter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po +# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` + +libbitcoin_wallet_a-pbkdf2.o: pbkdf2.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp + +libbitcoin_wallet_a-pbkdf2.obj: pbkdf2.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po +# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` + +libbitcoin_wallet_a-rpcdump.o: rpcdump.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp + +libbitcoin_wallet_a-rpcdump.obj: rpcdump.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po +# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` + +libbitcoin_wallet_a-rpcwallet.o: rpcwallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp + +libbitcoin_wallet_a-rpcwallet.obj: rpcwallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po +# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` + +libbitcoin_wallet_a-scrypt.o: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp + +libbitcoin_wallet_a-scrypt.obj: scrypt.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po +# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` + +libbitcoin_wallet_a-wallet.o: wallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po +# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp + +libbitcoin_wallet_a-wallet.obj: wallet.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po +# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` + +libbitcoin_wallet_a-walletdb.o: walletdb.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp + +libbitcoin_wallet_a-walletdb.obj: walletdb.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po +# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` + +qt/qt_libbitcoinqt_a-aboutdialog.o: qt/aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp + +qt/qt_libbitcoinqt_a-aboutdialog.obj: qt/aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po +# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-bip38tooldialog.o: qt/bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp + +qt/qt_libbitcoinqt_a-bip38tooldialog.obj: qt/bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po +# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o: qt/bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp + +qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj: qt/bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinamountfield.o: qt/bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp + +qt/qt_libbitcoinqt_a-bitcoinamountfield.obj: qt/bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoingui.o: qt/bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp + +qt/qt_libbitcoinqt_a-bitcoingui.obj: qt/bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po +# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` + +qt/qt_libbitcoinqt_a-bitcoinunits.o: qt/bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp + +qt/qt_libbitcoinqt_a-bitcoinunits.obj: qt/bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po +# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` + +qt/qt_libbitcoinqt_a-blockbrowser.o: qt/blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp + +qt/qt_libbitcoinqt_a-blockbrowser.obj: qt/blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po +# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` + +qt/qt_libbitcoinqt_a-calcdialog.o: qt/calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp + +qt/qt_libbitcoinqt_a-calcdialog.obj: qt/calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po +# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-charitydialog.o: qt/charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp + +qt/qt_libbitcoinqt_a-charitydialog.obj: qt/charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po +# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-clientmodel.o: qt/clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp + +qt/qt_libbitcoinqt_a-clientmodel.obj: qt/clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po +# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-csvmodelwriter.o: qt/csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp + +qt/qt_libbitcoinqt_a-csvmodelwriter.obj: qt/csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po +# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` + +qt/qt_libbitcoinqt_a-guiutil.o: qt/guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp + +qt/qt_libbitcoinqt_a-guiutil.obj: qt/guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po +# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` + +qt/qt_libbitcoinqt_a-monitoreddatamapper.o: qt/monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp + +qt/qt_libbitcoinqt_a-monitoreddatamapper.obj: qt/monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` + +qt/qt_libbitcoinqt_a-networkstyle.o: qt/networkstyle.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp + +qt/qt_libbitcoinqt_a-networkstyle.obj: qt/networkstyle.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po +# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` + +qt/qt_libbitcoinqt_a-notificator.o: qt/notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp + +qt/qt_libbitcoinqt_a-notificator.obj: qt/notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po +# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` + +qt/qt_libbitcoinqt_a-optionsdialog.o: qt/optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp + +qt/qt_libbitcoinqt_a-optionsdialog.obj: qt/optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po +# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-optionsmodel.o: qt/optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp + +qt/qt_libbitcoinqt_a-optionsmodel.obj: qt/optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po +# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-qrcodedialog.o: qt/qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp + +qt/qt_libbitcoinqt_a-qrcodedialog.obj: qt/qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po +# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-qvalidatedlineedit.o: qt/qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp + +qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj: qt/qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` + +qt/qt_libbitcoinqt_a-qvaluecombobox.o: qt/qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp + +qt/qt_libbitcoinqt_a-qvaluecombobox.obj: qt/qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po +# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` + +qt/qt_libbitcoinqt_a-rpcconsole.o: qt/rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp + +qt/qt_libbitcoinqt_a-rpcconsole.obj: qt/rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po +# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` + +qt/qt_libbitcoinqt_a-scicon.o: qt/scicon.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp + +qt/qt_libbitcoinqt_a-scicon.obj: qt/scicon.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po +# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` + +qt/qt_libbitcoinqt_a-walletmodel.o: qt/walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp + +qt/qt_libbitcoinqt_a-walletmodel.obj: qt/walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po +# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-addressbookpage.o: qt/addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp + +qt/qt_libbitcoinqt_a-addressbookpage.obj: qt/addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po +# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-addresstablemodel.o: qt/addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp + +qt/qt_libbitcoinqt_a-addresstablemodel.obj: qt/addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po +# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-askpassphrasedialog.o: qt/askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp + +qt/qt_libbitcoinqt_a-askpassphrasedialog.obj: qt/askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-coincontroldialog.o: qt/coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp + +qt/qt_libbitcoinqt_a-coincontroldialog.obj: qt/coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po +# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-coincontroltreewidget.o: qt/coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp + +qt/qt_libbitcoinqt_a-coincontroltreewidget.obj: qt/coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` + +qt/qt_libbitcoinqt_a-editaddressdialog.o: qt/editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp + +qt/qt_libbitcoinqt_a-editaddressdialog.obj: qt/editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po +# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-overviewpage.o: qt/overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp + +qt/qt_libbitcoinqt_a-overviewpage.obj: qt/overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po +# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-paymentserver.o: qt/paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp + +qt/qt_libbitcoinqt_a-paymentserver.obj: qt/paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po +# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` + +qt/qt_libbitcoinqt_a-sendcoinsdialog.o: qt/sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp + +qt/qt_libbitcoinqt_a-sendcoinsdialog.obj: qt/sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-sendcoinsentry.o: qt/sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp + +qt/qt_libbitcoinqt_a-sendcoinsentry.obj: qt/sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po +# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` + +qt/qt_libbitcoinqt_a-signverifymessagedialog.o: qt/signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp + +qt/qt_libbitcoinqt_a-signverifymessagedialog.obj: qt/signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiondesc.o: qt/transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp + +qt/qt_libbitcoinqt_a-transactiondesc.obj: qt/transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po +# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiondescdialog.o: qt/transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp + +qt/qt_libbitcoinqt_a-transactiondescdialog.obj: qt/transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po +# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionfilterproxy.o: qt/transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp + +qt/qt_libbitcoinqt_a-transactionfilterproxy.obj: qt/transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionrecord.o: qt/transactionrecord.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp + +qt/qt_libbitcoinqt_a-transactionrecord.obj: qt/transactionrecord.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po +# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactiontablemodel.o: qt/transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp + +qt/qt_libbitcoinqt_a-transactiontablemodel.obj: qt/transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po +# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-transactionview.o: qt/transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp + +qt/qt_libbitcoinqt_a-transactionview.obj: qt/transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po +# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_aboutdialog.o: qt/moc_aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp + +qt/qt_libbitcoinqt_a-moc_aboutdialog.obj: qt/moc_aboutdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po +# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_addressbookpage.o: qt/moc_addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp + +qt/qt_libbitcoinqt_a-moc_addressbookpage.obj: qt/moc_addressbookpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po +# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_addresstablemodel.o: qt/moc_addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp + +qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj: qt/moc_addresstablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po +# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o: qt/moc_askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp + +qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj: qt/moc_askpassphrasedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po +# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o: qt/moc_bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp + +qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj: qt/moc_bip38tooldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po +# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o: qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj: qt/moc_bitcoinaddressvalidator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po +# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o: qt/moc_bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj: qt/moc_bitcoinamountfield.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po +# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoingui.o: qt/moc_bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoingui.obj: qt/moc_bitcoingui.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po +# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_bitcoinunits.o: qt/moc_bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp + +qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj: qt/moc_bitcoinunits.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po +# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_blockbrowser.o: qt/moc_blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp + +qt/qt_libbitcoinqt_a-moc_blockbrowser.obj: qt/moc_blockbrowser.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po +# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_calcdialog.o: qt/moc_calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp + +qt/qt_libbitcoinqt_a-moc_calcdialog.obj: qt/moc_calcdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po +# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_charitydialog.o: qt/moc_charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp + +qt/qt_libbitcoinqt_a-moc_charitydialog.obj: qt/moc_charitydialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po +# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_clientmodel.o: qt/moc_clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp + +qt/qt_libbitcoinqt_a-moc_clientmodel.obj: qt/moc_clientmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po +# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_coincontroldialog.o: qt/moc_coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp + +qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj: qt/moc_coincontroldialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po +# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o: qt/moc_coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp + +qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj: qt/moc_coincontroltreewidget.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po +# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o: qt/moc_csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp + +qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj: qt/moc_csvmodelwriter.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po +# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_editaddressdialog.o: qt/moc_editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp + +qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj: qt/moc_editaddressdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po +# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_guiutil.o: qt/moc_guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp + +qt/qt_libbitcoinqt_a-moc_guiutil.obj: qt/moc_guiutil.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po +# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o: qt/moc_macdockiconhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp + +qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj: qt/moc_macdockiconhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po +# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o: qt/moc_macnotificationhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp + +qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj: qt/moc_macnotificationhandler.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po +# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o: qt/moc_monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp + +qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj: qt/moc_monitoreddatamapper.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po +# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_notificator.o: qt/moc_notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp + +qt/qt_libbitcoinqt_a-moc_notificator.obj: qt/moc_notificator.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po +# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_optionsdialog.o: qt/moc_optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp + +qt/qt_libbitcoinqt_a-moc_optionsdialog.obj: qt/moc_optionsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po +# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_optionsmodel.o: qt/moc_optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp + +qt/qt_libbitcoinqt_a-moc_optionsmodel.obj: qt/moc_optionsmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po +# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_overviewpage.o: qt/moc_overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp + +qt/qt_libbitcoinqt_a-moc_overviewpage.obj: qt/moc_overviewpage.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po +# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_paymentserver.o: qt/moc_paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp + +qt/qt_libbitcoinqt_a-moc_paymentserver.obj: qt/moc_paymentserver.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po +# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qrcodedialog.o: qt/moc_qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp + +qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj: qt/moc_qrcodedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po +# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o: qt/moc_qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp + +qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj: qt/moc_qvalidatedlineedit.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po +# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o: qt/moc_qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp + +qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj: qt/moc_qvaluecombobox.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po +# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_rpcconsole.o: qt/moc_rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp + +qt/qt_libbitcoinqt_a-moc_rpcconsole.obj: qt/moc_rpcconsole.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po +# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o: qt/moc_sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp + +qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj: qt/moc_sendcoinsdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o: qt/moc_sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp + +qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj: qt/moc_sendcoinsentry.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po +# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o: qt/moc_signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp + +qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj: qt/moc_signverifymessagedialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po +# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiondesc.o: qt/moc_transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp + +qt/qt_libbitcoinqt_a-moc_transactiondesc.obj: qt/moc_transactiondesc.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po +# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o: qt/moc_transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp + +qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj: qt/moc_transactiondescdialog.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po +# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o: qt/moc_transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp + +qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj: qt/moc_transactionfilterproxy.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po +# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o: qt/moc_transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp + +qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj: qt/moc_transactiontablemodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po +# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_transactionview.o: qt/moc_transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp + +qt/qt_libbitcoinqt_a-moc_transactionview.obj: qt/moc_transactionview.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po +# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` + +qt/qt_libbitcoinqt_a-moc_walletmodel.o: qt/moc_walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp + +qt/qt_libbitcoinqt_a-moc_walletmodel.obj: qt/moc_walletmodel.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po +# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` + +qt/qt_libbitcoinqt_a-qrc_bitcoin.o: qt/qrc_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp + +qt/qt_libbitcoinqt_a-qrc_bitcoin.obj: qt/qrc_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po +# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` + +hyperstaked-bitcoind.o: bitcoind.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.o -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp + $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po +# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp + +hyperstaked-bitcoind.obj: bitcoind.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.obj -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` + $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po +# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` + +qt/qt_hyperstake_qt-bitcoin.o: qt/bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp + +qt/qt_hyperstake_qt-bitcoin.obj: qt/bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po +# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-test_main.o: qt/test/test_main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp + +qt/test/qt_test_test_bitcoin_qt-test_main.obj: qt/test/test_main.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po +# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-uritests.o: qt/test/uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp + +qt/test/qt_test_test_bitcoin_qt-uritests.obj: qt/test/uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po +# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` + +qt/test/qt_test_test_bitcoin_qt-moc_uritests.o: qt/test/moc_uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp + +qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj: qt/test/moc_uritests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` + $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po +# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` + +test/test_test_bitcoin-allocator_tests.o: test/allocator_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp + +test/test_test_bitcoin-allocator_tests.obj: test/allocator_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po +# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` + +test/test_test_bitcoin-base32_tests.o: test/base32_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp + +test/test_test_bitcoin-base32_tests.obj: test/base32_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po +# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` + +test/test_test_bitcoin-base64_tests.o: test/base64_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp + +test/test_test_bitcoin-base64_tests.obj: test/base64_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po +# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` + +test/test_test_bitcoin-getarg_tests.o: test/getarg_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp + +test/test_test_bitcoin-getarg_tests.obj: test/getarg_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po +# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` + +test/test_test_bitcoin-key_tests.o: test/key_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp + +test/test_test_bitcoin-key_tests.obj: test/key_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po +# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` + +test/test_test_bitcoin-mruset_tests.o: test/mruset_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp + +test/test_test_bitcoin-mruset_tests.obj: test/mruset_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po +# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` + +test/test_test_bitcoin-netbase_tests.o: test/netbase_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp + +test/test_test_bitcoin-netbase_tests.obj: test/netbase_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po +# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` + +test/test_test_bitcoin-test_bitcoin.o: test/test_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po +# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp + +test/test_test_bitcoin-test_bitcoin.obj: test/test_bitcoin.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po +# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` + +test/test_test_bitcoin-sigopcount_tests.o: test/sigopcount_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp + +test/test_test_bitcoin-sigopcount_tests.obj: test/sigopcount_tests.cpp + $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` + $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po +# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ +# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` + +.mm.obj: + $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ + $(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ + $(am__mv) $$depbase.Tpo $$depbase.Po +# $(AM_V_OBJCXX)source='$<' object='$@' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.mm.lo: + $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ + $(LTOBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ + $(am__mv) $$depbase.Tpo $$depbase.Plo +# $(AM_V_OBJCXX)source='$<' object='$@' libtool=yes \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(LTOBJCXXCOMPILE) -c -o $@ $< + +qt/qt_hyperstake_qt-macdockiconhandler.o: qt/macdockiconhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm + +qt/qt_hyperstake_qt-macdockiconhandler.obj: qt/macdockiconhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po +# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` + +qt/qt_hyperstake_qt-macnotificationhandler.o: qt/macnotificationhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.o' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm + +qt/qt_hyperstake_qt-macnotificationhandler.obj: qt/macnotificationhandler.mm + $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` + $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po +# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.obj' libtool=no \ +# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ +# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + -rm -rf qt/.libs qt/_libs + -rm -rf qt/test/.libs qt/test/_libs + -rm -rf test/.libs test/_libs + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +# Recover from deleted '.trs' file; this should ensure that +# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create +# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells +# to avoid problems with "make -n". +.log.trs: + rm -f $< $@ + $(MAKE) $(AM_MAKEFLAGS) $< + +# Leading 'am--fnord' is there to ensure the list of targets does not +# expand to empty, as could happen e.g. with make check TESTS=''. +am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) +am--force-recheck: + @: + +$(TEST_SUITE_LOG): $(TEST_LOGS) + @$(am__set_TESTS_bases); \ + am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ + redo_bases=`for i in $$bases; do \ + am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ + done`; \ + if test -n "$$redo_bases"; then \ + redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ + redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ + if $(am__make_dryrun); then :; else \ + rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ + fi; \ + fi; \ + if test -n "$$am__remaking_logs"; then \ + echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ + "recursion detected" >&2; \ + elif test -n "$$redo_logs"; then \ + am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ + fi; \ + if $(am__make_dryrun); then :; else \ + st=0; \ + errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ + for i in $$redo_bases; do \ + test -f $$i.trs && test -r $$i.trs \ + || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ + test -f $$i.log && test -r $$i.log \ + || { echo "$$errmsg $$i.log" >&2; st=1; }; \ + done; \ + test $$st -eq 0 || exit 1; \ + fi + @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ + ws='[ ]'; \ + results=`for b in $$bases; do echo $$b.trs; done`; \ + test -n "$$results" || results=/dev/null; \ + all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ + pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ + fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ + skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ + xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ + xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ + error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ + if test `expr $$fail + $$xpass + $$error` -eq 0; then \ + success=true; \ + else \ + success=false; \ + fi; \ + br='==================='; br=$$br$$br$$br$$br; \ + result_count () \ + { \ + if test x"$$1" = x"--maybe-color"; then \ + maybe_colorize=yes; \ + elif test x"$$1" = x"--no-color"; then \ + maybe_colorize=no; \ + else \ + echo "$@: invalid 'result_count' usage" >&2; exit 4; \ + fi; \ + shift; \ + desc=$$1 count=$$2; \ + if test $$maybe_colorize = yes && test $$count -gt 0; then \ + color_start=$$3 color_end=$$std; \ + else \ + color_start= color_end=; \ + fi; \ + echo "$${color_start}# $$desc $$count$${color_end}"; \ + }; \ + create_testsuite_report () \ + { \ + result_count $$1 "TOTAL:" $$all "$$brg"; \ + result_count $$1 "PASS: " $$pass "$$grn"; \ + result_count $$1 "SKIP: " $$skip "$$blu"; \ + result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ + result_count $$1 "FAIL: " $$fail "$$red"; \ + result_count $$1 "XPASS:" $$xpass "$$red"; \ + result_count $$1 "ERROR:" $$error "$$mgn"; \ + }; \ + { \ + echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ + $(am__rst_title); \ + create_testsuite_report --no-color; \ + echo; \ + echo ".. contents:: :depth: 2"; \ + echo; \ + for b in $$bases; do echo $$b; done \ + | $(am__create_global_log); \ + } >$(TEST_SUITE_LOG).tmp || exit 1; \ + mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ + if $$success; then \ + col="$$grn"; \ + else \ + col="$$red"; \ + test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ + fi; \ + echo "$${col}$$br$${std}"; \ + echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}$$br$${std}"; \ + create_testsuite_report --maybe-color; \ + echo "$$col$$br$$std"; \ + if $$success; then :; else \ + echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ + if test -n "$(PACKAGE_BUGREPORT)"; then \ + echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ + fi; \ + echo "$$col$$br$$std"; \ + fi; \ + $$success || exit 1 + +check-TESTS: + @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list + @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + trs_list=`for i in $$bases; do echo $$i.trs; done`; \ + log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ + exit $$?; +recheck: all + @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + @set +e; $(am__set_TESTS_bases); \ + bases=`for i in $$bases; do echo $$i; done \ + | $(am__list_recheck_tests)` || exit 1; \ + log_list=`for i in $$bases; do echo $$i.log; done`; \ + log_list=`echo $$log_list`; \ + $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ + am__force_recheck=am--force-recheck \ + TEST_LOGS="$$log_list"; \ + exit $$? +test/test_bitcoin.log: test/test_bitcoin$(EXEEXT) + @p='test/test_bitcoin$(EXEEXT)'; \ + b='test/test_bitcoin'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +test/bitcoin-util-test.py.log: test/bitcoin-util-test.py + @p='test/bitcoin-util-test.py'; \ + b='test/bitcoin-util-test.py'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +qt/test/test_bitcoin-qt.log: qt/test/test_bitcoin-qt$(EXEEXT) + @p='qt/test/test_bitcoin-qt$(EXEEXT)'; \ + b='qt/test/test_bitcoin-qt'; \ + $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +.test.log: + @p='$<'; \ + $(am__set_b); \ + $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ + --log-file $$b.log --trs-file $$b.trs \ + $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ + "$$tst" $(AM_TESTS_FD_REDIRECT) +#.test$(EXEEXT).log: +# @p='$<'; \ +# $(am__set_b); \ +# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ +# --log-file $$b.log --trs-file $$b.trs \ +# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ +# "$$tst" $(AM_TESTS_FD_REDIRECT) + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am + $(MAKE) $(AM_MAKEFLAGS) check-TESTS +check: check-recursive +all-am: Makefile $(LIBRARIES) $(PROGRAMS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) + -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) + -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f qt/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/$(am__dirstamp) + -rm -f qt/res/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/res/$(am__dirstamp) + -rm -f qt/test/$(DEPDIR)/$(am__dirstamp) + -rm -f qt/test/$(am__dirstamp) + -rm -f test/$(DEPDIR)/$(am__dirstamp) + -rm -f test/$(am__dirstamp) + -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ + clean-noinstLIBRARIES mostlyclean-am + +distclean: distclean-recursive + -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: $(am__recursive_targets) check-am install-am install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ + check-TESTS check-am clean clean-binPROGRAMS clean-generic \ + clean-libtool clean-local clean-noinstLIBRARIES cscopelist-am \ + ctags ctags-am distclean distclean-compile distclean-generic \ + distclean-libtool distclean-tags distdir dvi dvi-am html \ + html-am info info-am install install-am install-binPROGRAMS \ + install-data install-data-am install-dvi install-dvi-am \ + install-exec install-exec-am install-html install-html-am \ + install-info install-info-am install-man install-pdf \ + install-pdf-am install-ps install-ps-am install-strip \ + installcheck installcheck-am installdirs installdirs-am \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am recheck tags tags-am uninstall \ + uninstall-am uninstall-binPROGRAMS + +.PRECIOUS: Makefile + + +$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) + $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) + +.PHONY: FORCE + +obj/build.h: FORCE + @$(MKDIR_P) $(builddir)/obj + @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ + $(abs_top_srcdir) +libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h + +clean-local: + -$(MAKE) -C leveldb clean + -$(MAKE) -C secp256k1 clean + -rm -f config.h + +.rc.o: + @test -f $(WINDRES) + $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ + +.mm.o: + $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< + +%.pb.cc %.pb.h: %.proto + @test -f $(PROTOC) + $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $( $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" + +%.raw.h: %.raw + @$(MKDIR_P) $(@D) + @echo "namespace alert_tests{" > $@ + @echo "static unsigned const char $(*F)[] = {" >> $@ + @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ + @echo "};};" >> $@ + @echo "Generated $@" + +# Most files will depend on the forms and moc files as includes. Generate them +# before anything else. +$(QT_MOC): $(QT_FORMS_H) +$(qt_libbitcoinqt_a_OBJECTS) $(qt_bitcoin_qt_OBJECTS) : | $(QT_MOC) + +#Generating these with a half-written protobuf header leads to wacky results. +#This makes sure it's done. +$(QT_MOC): $(PROTOBUF_H) +$(QT_MOC_CPP): $(PROTOBUF_H) + +SECONDARY: $(QT_QM) + +qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) + @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" + $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ + +translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) + @test -n $(LUPDATE) || echo "lupdate is required for updating translations" + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts + +$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) $(PROTOBUF_H) + @test -f $(RCC) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +hyperstake_qt_clean: FORCE + rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_hyperstake_qt_OBJECTS) qt/hyperstake-qt$(EXEEXT) $(LIBBITCOINQT) + +hyperstake_qt : qt/hyperstake-qt$(EXEEXT) + +ui_%.h: %.ui + @test -f $(UIC) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(UIC) -o $@ $< || (echo "Error creating $@"; false) + +%.moc: %.cpp + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +moc_%.cpp: %.h + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ + $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ + +%.qm: %.ts + @test -f $(LRELEASE) + @$(MKDIR_P) $(@D) + $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LRELEASE) -silent $< -qm $@ + +test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT) + +test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE + $(MAKE) check-TESTS TESTS=$^ + +test_bitcoin_qt_clean: FORCE + rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS) + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 047eb325e..ff649647f 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -307,6 +307,33 @@ CRPCTable::CRPCTable() } } +// initial mockup of a proposal created by a user +// takes user input and returns a Vote +Value CreateProposal(const block_header, bool fHelp) +{ + // name of issue + string Name; + // description of issue - will go in different tx + CTransaction Description; + // start time - will be changed to int StartHeight + strTimestampFormat StartTime; + // number of blocks with votes to count + uint_8 CheckSpan; + // cardinal items to vote on - convert to uint8 Shift + uint_8 cardinals; + // tx fee for creating proposal + int64 Fee; + + int StartHeight = int StartTimeToHeight() + { + + } + uint_8 BitCount = uint8 CardinalToBitCount() + { + + } +} + const CRPCCommand *CRPCTable::operator[](string name) const { map::const_iterator it = mapCommands.find(name); diff --git a/src/qt/forms/ui_bip38tooldialog.h b/src/qt/forms/ui_bip38tooldialog.h new file mode 100644 index 000000000..9eaf1eb65 --- /dev/null +++ b/src/qt/forms/ui_bip38tooldialog.h @@ -0,0 +1,412 @@ +/******************************************************************************** +** Form generated from reading UI file 'bip38tooldialog.ui' +** +** Created by: Qt User Interface Compiler version 5.5.1 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_BIP38TOOLDIALOG_H +#define UI_BIP38TOOLDIALOG_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "qvalidatedlineedit.h" + +QT_BEGIN_NAMESPACE + +class Ui_Bip38ToolDialog +{ +public: + QVBoxLayout *verticalLayout; + QTabWidget *tabWidget; + QWidget *tabBip38Encrypt; + QVBoxLayout *verticalLayout_SM; + QLabel *infoLabel_ENC; + QHBoxLayout *horizontalLayout_1_ENC; + QLabel *label_5; + QValidatedLineEdit *addressIn_ENC; + QPushButton *addressBookButton_ENC; + QPushButton *pasteButton_ENC; + QHBoxLayout *horizontalLayout_5; + QLabel *label_6; + QLineEdit *passphraseIn_ENC; + QHBoxLayout *horizontalLayout_2_ENC; + QLabel *encryptedKeyLabel_ENC; + QLineEdit *encryptedKeyOut_ENC; + QPushButton *copyKeyButton_ENC; + QHBoxLayout *horizontalLayout_3_ENC; + QPushButton *encryptKeyButton_ENC; + QPushButton *clearButton_ENC; + QSpacerItem *horizontalSpacer_1_ENC; + QLabel *statusLabel_ENC; + QSpacerItem *horizontalSpacer_2_ENC; + QWidget *tabBip38Decrypt; + QVBoxLayout *verticalLayout_VM; + QLabel *infoLabel_DEC; + QHBoxLayout *horizontalLayout_3; + QLabel *label_2; + QValidatedLineEdit *encryptedKeyIn_DEC; + QHBoxLayout *horizontalLayout; + QLabel *label; + QLineEdit *passphraseIn_DEC; + QHBoxLayout *horizontalLayout_2_DEC; + QPushButton *decryptKeyButton_DEC; + QPushButton *clearButton_DEC; + QSpacerItem *horizontalSpacer_1_DEC; + QLabel *statusLabel_DEC; + QSpacerItem *horizontalSpacer_2_DEC; + QHBoxLayout *horizontalLayout_2; + QLabel *label_3; + QValidatedLineEdit *decryptedKeyOut_DEC; + QHBoxLayout *horizontalLayout_4; + QPushButton *importAddressButton_DEC; + QLabel *label_4; + QLineEdit *addressOut_DEC; + + void setupUi(QDialog *Bip38ToolDialog) + { + if (Bip38ToolDialog->objectName().isEmpty()) + Bip38ToolDialog->setObjectName(QStringLiteral("Bip38ToolDialog")); + Bip38ToolDialog->resize(700, 334); + Bip38ToolDialog->setModal(true); + verticalLayout = new QVBoxLayout(Bip38ToolDialog); + verticalLayout->setObjectName(QStringLiteral("verticalLayout")); + tabWidget = new QTabWidget(Bip38ToolDialog); + tabWidget->setObjectName(QStringLiteral("tabWidget")); + tabBip38Encrypt = new QWidget(); + tabBip38Encrypt->setObjectName(QStringLiteral("tabBip38Encrypt")); + verticalLayout_SM = new QVBoxLayout(tabBip38Encrypt); + verticalLayout_SM->setObjectName(QStringLiteral("verticalLayout_SM")); + infoLabel_ENC = new QLabel(tabBip38Encrypt); + infoLabel_ENC->setObjectName(QStringLiteral("infoLabel_ENC")); + infoLabel_ENC->setTextFormat(Qt::PlainText); + infoLabel_ENC->setWordWrap(true); + + verticalLayout_SM->addWidget(infoLabel_ENC); + + horizontalLayout_1_ENC = new QHBoxLayout(); + horizontalLayout_1_ENC->setSpacing(0); + horizontalLayout_1_ENC->setObjectName(QStringLiteral("horizontalLayout_1_ENC")); + label_5 = new QLabel(tabBip38Encrypt); + label_5->setObjectName(QStringLiteral("label_5")); + + horizontalLayout_1_ENC->addWidget(label_5); + + addressIn_ENC = new QValidatedLineEdit(tabBip38Encrypt); + addressIn_ENC->setObjectName(QStringLiteral("addressIn_ENC")); + + horizontalLayout_1_ENC->addWidget(addressIn_ENC); + + addressBookButton_ENC = new QPushButton(tabBip38Encrypt); + addressBookButton_ENC->setObjectName(QStringLiteral("addressBookButton_ENC")); + QIcon icon; + icon.addFile(QStringLiteral(":/icons/address-book"), QSize(), QIcon::Normal, QIcon::Off); + addressBookButton_ENC->setIcon(icon); + addressBookButton_ENC->setAutoDefault(false); + + horizontalLayout_1_ENC->addWidget(addressBookButton_ENC); + + pasteButton_ENC = new QPushButton(tabBip38Encrypt); + pasteButton_ENC->setObjectName(QStringLiteral("pasteButton_ENC")); + QIcon icon1; + icon1.addFile(QStringLiteral(":/icons/editpaste"), QSize(), QIcon::Normal, QIcon::Off); + pasteButton_ENC->setIcon(icon1); + pasteButton_ENC->setAutoDefault(false); + + horizontalLayout_1_ENC->addWidget(pasteButton_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_1_ENC); + + horizontalLayout_5 = new QHBoxLayout(); + horizontalLayout_5->setObjectName(QStringLiteral("horizontalLayout_5")); + label_6 = new QLabel(tabBip38Encrypt); + label_6->setObjectName(QStringLiteral("label_6")); + + horizontalLayout_5->addWidget(label_6); + + passphraseIn_ENC = new QLineEdit(tabBip38Encrypt); + passphraseIn_ENC->setObjectName(QStringLiteral("passphraseIn_ENC")); + passphraseIn_ENC->setEchoMode(QLineEdit::Password); + + horizontalLayout_5->addWidget(passphraseIn_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_5); + + horizontalLayout_2_ENC = new QHBoxLayout(); + horizontalLayout_2_ENC->setSpacing(0); + horizontalLayout_2_ENC->setObjectName(QStringLiteral("horizontalLayout_2_ENC")); + encryptedKeyLabel_ENC = new QLabel(tabBip38Encrypt); + encryptedKeyLabel_ENC->setObjectName(QStringLiteral("encryptedKeyLabel_ENC")); + encryptedKeyLabel_ENC->setTextFormat(Qt::PlainText); + + horizontalLayout_2_ENC->addWidget(encryptedKeyLabel_ENC); + + encryptedKeyOut_ENC = new QLineEdit(tabBip38Encrypt); + encryptedKeyOut_ENC->setObjectName(QStringLiteral("encryptedKeyOut_ENC")); + QFont font; + font.setItalic(true); + encryptedKeyOut_ENC->setFont(font); + encryptedKeyOut_ENC->setReadOnly(true); + + horizontalLayout_2_ENC->addWidget(encryptedKeyOut_ENC); + + copyKeyButton_ENC = new QPushButton(tabBip38Encrypt); + copyKeyButton_ENC->setObjectName(QStringLiteral("copyKeyButton_ENC")); + QIcon icon2; + icon2.addFile(QStringLiteral(":/icons/editcopy"), QSize(), QIcon::Normal, QIcon::Off); + copyKeyButton_ENC->setIcon(icon2); + copyKeyButton_ENC->setAutoDefault(false); + + horizontalLayout_2_ENC->addWidget(copyKeyButton_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_2_ENC); + + horizontalLayout_3_ENC = new QHBoxLayout(); + horizontalLayout_3_ENC->setObjectName(QStringLiteral("horizontalLayout_3_ENC")); + encryptKeyButton_ENC = new QPushButton(tabBip38Encrypt); + encryptKeyButton_ENC->setObjectName(QStringLiteral("encryptKeyButton_ENC")); + QIcon icon3; + icon3.addFile(QStringLiteral(":/icons/edit"), QSize(), QIcon::Normal, QIcon::Off); + encryptKeyButton_ENC->setIcon(icon3); + encryptKeyButton_ENC->setAutoDefault(false); + + horizontalLayout_3_ENC->addWidget(encryptKeyButton_ENC); + + clearButton_ENC = new QPushButton(tabBip38Encrypt); + clearButton_ENC->setObjectName(QStringLiteral("clearButton_ENC")); + QIcon icon4; + icon4.addFile(QStringLiteral(":/icons/remove"), QSize(), QIcon::Normal, QIcon::Off); + clearButton_ENC->setIcon(icon4); + clearButton_ENC->setAutoDefault(false); + + horizontalLayout_3_ENC->addWidget(clearButton_ENC); + + horizontalSpacer_1_ENC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_3_ENC->addItem(horizontalSpacer_1_ENC); + + statusLabel_ENC = new QLabel(tabBip38Encrypt); + statusLabel_ENC->setObjectName(QStringLiteral("statusLabel_ENC")); + QFont font1; + font1.setBold(true); + font1.setWeight(75); + statusLabel_ENC->setFont(font1); + statusLabel_ENC->setWordWrap(true); + + horizontalLayout_3_ENC->addWidget(statusLabel_ENC); + + horizontalSpacer_2_ENC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_3_ENC->addItem(horizontalSpacer_2_ENC); + + + verticalLayout_SM->addLayout(horizontalLayout_3_ENC); + + tabWidget->addTab(tabBip38Encrypt, QString()); + tabBip38Decrypt = new QWidget(); + tabBip38Decrypt->setObjectName(QStringLiteral("tabBip38Decrypt")); + verticalLayout_VM = new QVBoxLayout(tabBip38Decrypt); + verticalLayout_VM->setObjectName(QStringLiteral("verticalLayout_VM")); + infoLabel_DEC = new QLabel(tabBip38Decrypt); + infoLabel_DEC->setObjectName(QStringLiteral("infoLabel_DEC")); + infoLabel_DEC->setTextFormat(Qt::PlainText); + infoLabel_DEC->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop); + infoLabel_DEC->setWordWrap(true); + + verticalLayout_VM->addWidget(infoLabel_DEC); + + horizontalLayout_3 = new QHBoxLayout(); + horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3")); + label_2 = new QLabel(tabBip38Decrypt); + label_2->setObjectName(QStringLiteral("label_2")); + + horizontalLayout_3->addWidget(label_2); + + encryptedKeyIn_DEC = new QValidatedLineEdit(tabBip38Decrypt); + encryptedKeyIn_DEC->setObjectName(QStringLiteral("encryptedKeyIn_DEC")); + + horizontalLayout_3->addWidget(encryptedKeyIn_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_3); + + horizontalLayout = new QHBoxLayout(); + horizontalLayout->setObjectName(QStringLiteral("horizontalLayout")); + label = new QLabel(tabBip38Decrypt); + label->setObjectName(QStringLiteral("label")); + + horizontalLayout->addWidget(label); + + passphraseIn_DEC = new QLineEdit(tabBip38Decrypt); + passphraseIn_DEC->setObjectName(QStringLiteral("passphraseIn_DEC")); + passphraseIn_DEC->setEchoMode(QLineEdit::Password); + + horizontalLayout->addWidget(passphraseIn_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout); + + horizontalLayout_2_DEC = new QHBoxLayout(); + horizontalLayout_2_DEC->setObjectName(QStringLiteral("horizontalLayout_2_DEC")); + decryptKeyButton_DEC = new QPushButton(tabBip38Decrypt); + decryptKeyButton_DEC->setObjectName(QStringLiteral("decryptKeyButton_DEC")); + QIcon icon5; + icon5.addFile(QStringLiteral(":/icons/transaction_0"), QSize(), QIcon::Normal, QIcon::Off); + decryptKeyButton_DEC->setIcon(icon5); + decryptKeyButton_DEC->setAutoDefault(false); + + horizontalLayout_2_DEC->addWidget(decryptKeyButton_DEC); + + clearButton_DEC = new QPushButton(tabBip38Decrypt); + clearButton_DEC->setObjectName(QStringLiteral("clearButton_DEC")); + clearButton_DEC->setIcon(icon4); + clearButton_DEC->setAutoDefault(false); + + horizontalLayout_2_DEC->addWidget(clearButton_DEC); + + horizontalSpacer_1_DEC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_2_DEC->addItem(horizontalSpacer_1_DEC); + + statusLabel_DEC = new QLabel(tabBip38Decrypt); + statusLabel_DEC->setObjectName(QStringLiteral("statusLabel_DEC")); + statusLabel_DEC->setFont(font1); + statusLabel_DEC->setWordWrap(true); + + horizontalLayout_2_DEC->addWidget(statusLabel_DEC); + + horizontalSpacer_2_DEC = new QSpacerItem(40, 48, QSizePolicy::Expanding, QSizePolicy::Minimum); + + horizontalLayout_2_DEC->addItem(horizontalSpacer_2_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_2_DEC); + + horizontalLayout_2 = new QHBoxLayout(); + horizontalLayout_2->setObjectName(QStringLiteral("horizontalLayout_2")); + label_3 = new QLabel(tabBip38Decrypt); + label_3->setObjectName(QStringLiteral("label_3")); + + horizontalLayout_2->addWidget(label_3); + + decryptedKeyOut_DEC = new QValidatedLineEdit(tabBip38Decrypt); + decryptedKeyOut_DEC->setObjectName(QStringLiteral("decryptedKeyOut_DEC")); + + horizontalLayout_2->addWidget(decryptedKeyOut_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_2); + + horizontalLayout_4 = new QHBoxLayout(); + horizontalLayout_4->setObjectName(QStringLiteral("horizontalLayout_4")); + importAddressButton_DEC = new QPushButton(tabBip38Decrypt); + importAddressButton_DEC->setObjectName(QStringLiteral("importAddressButton_DEC")); + + horizontalLayout_4->addWidget(importAddressButton_DEC); + + label_4 = new QLabel(tabBip38Decrypt); + label_4->setObjectName(QStringLiteral("label_4")); + + horizontalLayout_4->addWidget(label_4); + + addressOut_DEC = new QLineEdit(tabBip38Decrypt); + addressOut_DEC->setObjectName(QStringLiteral("addressOut_DEC")); + + horizontalLayout_4->addWidget(addressOut_DEC); + + + verticalLayout_VM->addLayout(horizontalLayout_4); + + tabWidget->addTab(tabBip38Decrypt, QString()); + + verticalLayout->addWidget(tabWidget); + + + retranslateUi(Bip38ToolDialog); + + tabWidget->setCurrentIndex(1); + + + QMetaObject::connectSlotsByName(Bip38ToolDialog); + } // setupUi + + void retranslateUi(QDialog *Bip38ToolDialog) + { + Bip38ToolDialog->setWindowTitle(QApplication::translate("Bip38ToolDialog", "BIP 38 Tool", 0)); + infoLabel_ENC->setText(QApplication::translate("Bip38ToolDialog", "Enter a HYP Address that you would like to encrypt using BIP 38. Enter a passphrase in the middle box. Press encrypt to compute the encrypted private key.", 0)); + label_5->setText(QApplication::translate("Bip38ToolDialog", "Address:", 0)); +#ifndef QT_NO_TOOLTIP + addressIn_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "The HYP address to encrypt", 0)); +#endif // QT_NO_TOOLTIP +#ifndef QT_NO_TOOLTIP + addressBookButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Choose previously used address", 0)); +#endif // QT_NO_TOOLTIP + addressBookButton_ENC->setText(QString()); + addressBookButton_ENC->setShortcut(QApplication::translate("Bip38ToolDialog", "Alt+A", 0)); +#ifndef QT_NO_TOOLTIP + pasteButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Paste address from clipboard", 0)); +#endif // QT_NO_TOOLTIP + pasteButton_ENC->setText(QString()); + pasteButton_ENC->setShortcut(QApplication::translate("Bip38ToolDialog", "Alt+P", 0)); + label_6->setText(QApplication::translate("Bip38ToolDialog", "Passphrase: ", 0)); + encryptedKeyLabel_ENC->setText(QApplication::translate("Bip38ToolDialog", "Encrypted Key:", 0)); +#ifndef QT_NO_TOOLTIP + copyKeyButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Copy the current signature to the system clipboard", 0)); +#endif // QT_NO_TOOLTIP + copyKeyButton_ENC->setText(QString()); +#ifndef QT_NO_TOOLTIP + encryptKeyButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Sign the message to prove you own this HYP address", 0)); +#endif // QT_NO_TOOLTIP + encryptKeyButton_ENC->setText(QApplication::translate("Bip38ToolDialog", "Encrypt &Key", 0)); +#ifndef QT_NO_TOOLTIP + clearButton_ENC->setToolTip(QApplication::translate("Bip38ToolDialog", "Reset all sign message fields", 0)); +#endif // QT_NO_TOOLTIP + clearButton_ENC->setText(QApplication::translate("Bip38ToolDialog", "Clear &All", 0)); + statusLabel_ENC->setText(QString()); + tabWidget->setTabText(tabWidget->indexOf(tabBip38Encrypt), QApplication::translate("Bip38ToolDialog", "&BIP 38 Encrypt", 0)); + infoLabel_DEC->setText(QApplication::translate("Bip38ToolDialog", "Enter the BIP 38 encrypted private key. Enter the passphrase in the middle box. Click Decrypt Key to compute the private key. After the key is decrypted, clicking 'Import Address' will add this private key to the wallet.", 0)); + label_2->setText(QApplication::translate("Bip38ToolDialog", "Encrypted Key:", 0)); +#ifndef QT_NO_TOOLTIP + encryptedKeyIn_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "The BIP38 Encrypted Key", 0)); +#endif // QT_NO_TOOLTIP + label->setText(QApplication::translate("Bip38ToolDialog", "Passphrase: ", 0)); +#ifndef QT_NO_TOOLTIP + decryptKeyButton_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "Decrypt the encrypted key", 0)); +#endif // QT_NO_TOOLTIP + decryptKeyButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Decrypt &Key", 0)); +#ifndef QT_NO_TOOLTIP + clearButton_DEC->setToolTip(QApplication::translate("Bip38ToolDialog", "Reset all verify message fields", 0)); +#endif // QT_NO_TOOLTIP + clearButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Clear &All", 0)); + statusLabel_DEC->setText(QString()); + label_3->setText(QApplication::translate("Bip38ToolDialog", "Decrypted Key:", 0)); + importAddressButton_DEC->setText(QApplication::translate("Bip38ToolDialog", "Import Address", 0)); + label_4->setText(QApplication::translate("Bip38ToolDialog", "Address:", 0)); + tabWidget->setTabText(tabWidget->indexOf(tabBip38Decrypt), QApplication::translate("Bip38ToolDialog", "&BIP 38 Decrypt", 0)); + } // retranslateUi + +}; + +namespace Ui { + class Bip38ToolDialog: public Ui_Bip38ToolDialog {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_BIP38TOOLDIALOG_H diff --git a/src/qt/moc_bip38tooldialog.cpp b/src/qt/moc_bip38tooldialog.cpp new file mode 100644 index 000000000..790f40c3e --- /dev/null +++ b/src/qt/moc_bip38tooldialog.cpp @@ -0,0 +1,145 @@ +/**************************************************************************** +** Meta object code from reading C++ file 'bip38tooldialog.h' +** +** +** WARNING! All changes made in this file will be lost! +*****************************************************************************/ + +#include "qt/bip38tooldialog.h" +#include +#include +#if !defined(Q_MOC_OUTPUT_REVISION) +#error "The header file 'bip38tooldialog.h' doesn't include ." +#elif Q_MOC_OUTPUT_REVISION != 67 +#error "This file was generated using the moc from 5.5.1. It" +#error "cannot be used with the include files from this version of Qt." +#error "(The moc has changed too much.)" +#endif + +QT_BEGIN_MOC_NAMESPACE +struct qt_meta_stringdata_Bip38ToolDialog_t { + QByteArrayData data[10]; + char stringdata0[259]; +}; +#define QT_MOC_LITERAL(idx, ofs, len) \ + Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ + qptrdiff(offsetof(qt_meta_stringdata_Bip38ToolDialog_t, stringdata0) + ofs \ + - idx * sizeof(QByteArrayData)) \ + ) +static const qt_meta_stringdata_Bip38ToolDialog_t qt_meta_stringdata_Bip38ToolDialog = { + { +QT_MOC_LITERAL(0, 0, 15), // "Bip38ToolDialog" +QT_MOC_LITERAL(1, 16, 32), // "on_addressBookButton_ENC_clicked" +QT_MOC_LITERAL(2, 49, 0), // "" +QT_MOC_LITERAL(3, 50, 26), // "on_pasteButton_ENC_clicked" +QT_MOC_LITERAL(4, 77, 31), // "on_encryptKeyButton_ENC_clicked" +QT_MOC_LITERAL(5, 109, 28), // "on_copyKeyButton_ENC_clicked" +QT_MOC_LITERAL(6, 138, 26), // "on_clearButton_ENC_clicked" +QT_MOC_LITERAL(7, 165, 31), // "on_decryptKeyButton_DEC_clicked" +QT_MOC_LITERAL(8, 197, 34), // "on_importAddressButton_DEC_cl..." +QT_MOC_LITERAL(9, 232, 26) // "on_clearButton_DEC_clicked" + + }, + "Bip38ToolDialog\0on_addressBookButton_ENC_clicked\0" + "\0on_pasteButton_ENC_clicked\0" + "on_encryptKeyButton_ENC_clicked\0" + "on_copyKeyButton_ENC_clicked\0" + "on_clearButton_ENC_clicked\0" + "on_decryptKeyButton_DEC_clicked\0" + "on_importAddressButton_DEC_clicked\0" + "on_clearButton_DEC_clicked" +}; +#undef QT_MOC_LITERAL + +static const uint qt_meta_data_Bip38ToolDialog[] = { + + // content: + 7, // revision + 0, // classname + 0, 0, // classinfo + 8, 14, // methods + 0, 0, // properties + 0, 0, // enums/sets + 0, 0, // constructors + 0, // flags + 0, // signalCount + + // slots: name, argc, parameters, tag, flags + 1, 0, 54, 2, 0x08 /* Private */, + 3, 0, 55, 2, 0x08 /* Private */, + 4, 0, 56, 2, 0x08 /* Private */, + 5, 0, 57, 2, 0x08 /* Private */, + 6, 0, 58, 2, 0x08 /* Private */, + 7, 0, 59, 2, 0x08 /* Private */, + 8, 0, 60, 2, 0x08 /* Private */, + 9, 0, 61, 2, 0x08 /* Private */, + + // slots: parameters + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + QMetaType::Void, + + 0 // eod +}; + +void Bip38ToolDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) +{ + if (_c == QMetaObject::InvokeMetaMethod) { + Bip38ToolDialog *_t = static_cast(_o); + Q_UNUSED(_t) + switch (_id) { + case 0: _t->on_addressBookButton_ENC_clicked(); break; + case 1: _t->on_pasteButton_ENC_clicked(); break; + case 2: _t->on_encryptKeyButton_ENC_clicked(); break; + case 3: _t->on_copyKeyButton_ENC_clicked(); break; + case 4: _t->on_clearButton_ENC_clicked(); break; + case 5: _t->on_decryptKeyButton_DEC_clicked(); break; + case 6: _t->on_importAddressButton_DEC_clicked(); break; + case 7: _t->on_clearButton_DEC_clicked(); break; + default: ; + } + } + Q_UNUSED(_a); +} + +const QMetaObject Bip38ToolDialog::staticMetaObject = { + { &QDialog::staticMetaObject, qt_meta_stringdata_Bip38ToolDialog.data, + qt_meta_data_Bip38ToolDialog, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} +}; + + +const QMetaObject *Bip38ToolDialog::metaObject() const +{ + return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; +} + +void *Bip38ToolDialog::qt_metacast(const char *_clname) +{ + if (!_clname) return Q_NULLPTR; + if (!strcmp(_clname, qt_meta_stringdata_Bip38ToolDialog.stringdata0)) + return static_cast(const_cast< Bip38ToolDialog*>(this)); + return QDialog::qt_metacast(_clname); +} + +int Bip38ToolDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) +{ + _id = QDialog::qt_metacall(_c, _id, _a); + if (_id < 0) + return _id; + if (_c == QMetaObject::InvokeMetaMethod) { + if (_id < 8) + qt_static_metacall(this, _c, _id, _a); + _id -= 8; + } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { + if (_id < 8) + *reinterpret_cast(_a[0]) = -1; + _id -= 8; + } + return _id; +} +QT_END_MOC_NAMESPACE From c06c9a432d668dde22e474bf78dbb981e987b538 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Fri, 8 Dec 2017 16:36:48 -0700 Subject: [PATCH 474/555] Set up CreateProposal in rpcblockchain --- src/bitcoinrpc.cpp | 27 ----------------- src/rpcblockchain.cpp | 63 +++++++++++++++++++++++++++++++++++++++ src/voteproposal.cpp | 4 +++ src/voteproposal.h | 68 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 135 insertions(+), 27 deletions(-) create mode 100644 src/voteproposal.cpp create mode 100644 src/voteproposal.h diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index ff649647f..047eb325e 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -307,33 +307,6 @@ CRPCTable::CRPCTable() } } -// initial mockup of a proposal created by a user -// takes user input and returns a Vote -Value CreateProposal(const block_header, bool fHelp) -{ - // name of issue - string Name; - // description of issue - will go in different tx - CTransaction Description; - // start time - will be changed to int StartHeight - strTimestampFormat StartTime; - // number of blocks with votes to count - uint_8 CheckSpan; - // cardinal items to vote on - convert to uint8 Shift - uint_8 cardinals; - // tx fee for creating proposal - int64 Fee; - - int StartHeight = int StartTimeToHeight() - { - - } - uint_8 BitCount = uint8 CardinalToBitCount() - { - - } -} - const CRPCCommand *CRPCTable::operator[](string name) const { map::const_iterator it = mapCommands.find(name); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 4865190a5..1eba9c551 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -298,3 +298,66 @@ Value listblocks(const Array& params, bool fHelp) return arrRet; } + +// tuningmind +Value CreateProposal(const Array& params, bool fHelp) +{ + if (fHelp || params.size() !=6) + throw runtime_error( + "CreateProposal \n\n\n\n\n\n" + "Return new VoteProposal object with specified parameters" + ); + // name of issue + string strName = params[0].get_str(); + + // check version for existing proposals Shift + uint8_t nShift = params[1].get_int(); + + // start time - will be changed to int StartHeight + // unix time stamp + int64 nStartTime = params[2].get_int64(); + + // number of blocks with votes to count + int nCheckSpan = params[3].get_int(); + + // cardinal items to vote on - convert to uint8 CheckSpan + uint8_t nCardinals = params[4].get_int(); + + // description of issue - will go in different tx + std::string strDescription = params[5].get_str(); + + // tx fee for creating proposal + // int64 Fee; + + // int nStartHeight = StartTimeToStartHeight(nStartTime) + // { + // takes time and info about current block creation rate + // returns nStartHeight + // return 1; + // } + + // uint8_t nBitCount = CardinalsToBitCount(nCardinals) + // { + // takes nCardinals + // returns nBitCount + // return 2; + //} + + CVoteProposal NewVoteProposal() + { + return new CVoteProposal( + strName, + nShift, + CardinalsTonBitCount(nCardinals), + StartTimeTonStartHeight(StartTime), + nCheckSpan, + strDescription + ); + } + + Object results; + results.push_back(Pair("new vote proposal", NewVoteProposal)); + + return results; +} + diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp new file mode 100644 index 000000000..96817fab7 --- /dev/null +++ b/src/voteproposal.cpp @@ -0,0 +1,4 @@ +// +// Created by carrie on 12/8/17. +// + diff --git a/src/voteproposal.h b/src/voteproposal.h new file mode 100644 index 000000000..f3dc2e45b --- /dev/null +++ b/src/voteproposal.h @@ -0,0 +1,68 @@ +// +// Created by carrie on 12/8/17. +// + +#ifndef HYPERSTAKE_VOTEPROPOSAL_H +#define HYPERSTAKE_VOTEPROPOSAL_H + +#endif //HYPERSTAKE_VOTEPROPOSAL_H + +class CVoteProposal +{ +private: + // what to call the proposal + std::string strName; + + // what bit position in the block version + uint_8 nShift; + + // number of bits in the block version used for one vote + uint_8 nBitCount; + + // where in the blockchain we start counting votes + int nStartHeight; + + // how far in the blockchain are we scanning + int nCheckSpan; + + // description of the proposal; may link to additional transactions + CTransaction strDescription; +public: + void SetNull() + { + strName = ""; + nShift = 0; + nBitCount = 0; + nCheckSpan = 0; + } + + CVoteProposal() + { + SetNull(); + } + + CVoteProposal( std::string strName, + uint_8 nShift, + uint_8 nBitCount, + int nStartHeight, + int nCheckSpan, + CTransaction strDescription) + { + this->strName = strName; + this->nShift = nShift; + this->nBitCount = nBitCount; + this->nStartHeight = nStartHeight; + this->nCheckSpan = nCheckSpan; + this->strDescription = strDescription; + } + + std::string GetName() { return strName; } + void SetName(std::string strName) { this->strName = strName; } + int GetShift() { return nShift; } + void SetShift(int nShift) { this->nShift = nShift; } + int GetBitCount() { return nBitCount; } + void SetBitCount(int nBitCount) { this->nBitCount = nBitCount; } + int GetCheckSpan() { return nBlockCheckSpan; } + void SetCheckSpan(int nCheckSpan) { this->nBlockCheckSpan = nCheckSpan; } + std::string ToString() { return } +} \ No newline at end of file From e98a1243aa46d1ac37cc5768c501fc8cee5a97ab Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 12 Dec 2017 17:43:28 -0700 Subject: [PATCH 475/555] RPC createproposal working --- src/bitcoinrpc.cpp | 5 ++++ src/bitcoinrpc.h | 1 + src/rpcblockchain.cpp | 60 +++++++++++++++---------------------------- src/voteproposal.cpp | 1 + src/voteproposal.h | 49 ++++++++++++++++------------------- 5 files changed, 49 insertions(+), 67 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 9804930f2..0f47c8525 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -287,6 +287,7 @@ static const CRPCCommand vRPCCommands[] = { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, + { "createproposal", &createproposal, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, @@ -1230,6 +1231,10 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); if (strMethod == "listblocks" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 2) ConvertTo(params[2]); + if (strMethod == "createproposal" && n > 3) ConvertTo(params[3]); + if (strMethod == "createproposal" && n > 4) ConvertTo(params[4]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 51cf6cb62..b1062f29a 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -231,6 +231,7 @@ extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp) extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 90e0b4dbd..00093604d 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -5,6 +5,7 @@ #include "main.h" #include "bitcoinrpc.h" +#include "voteproposal.h" #include #include @@ -300,63 +301,42 @@ Value listblocks(const Array& params, bool fHelp) } // tuningmind -Value CreateProposal(const Array& params, bool fHelp) +Value createproposal(const Array& params, bool fHelp) { - if (fHelp || params.size() !=6) + if (fHelp || params.size() != 6) throw runtime_error( "CreateProposal \n\n\n\n\n\n" - "Return new VoteProposal object with specified parameters" - ); + "Returns new VoteProposal object with specified parameters\n"); // name of issue string strName = params[0].get_str(); - // check version for existing proposals Shift uint8_t nShift = params[1].get_int(); - - // start time - will be changed to int StartHeight - // unix time stamp - int64 nStartTime = params[2].get_int64(); - + // start time - will be changed to int StartHeight. unix time stamp + int64 nStartTime = params[2].get_int(); // number of blocks with votes to count int nCheckSpan = params[3].get_int(); - // cardinal items to vote on - convert to uint8 CheckSpan uint8_t nCardinals = params[4].get_int(); - // description of issue - will go in different tx std::string strDescription = params[5].get_str(); - // tx fee for creating proposal - // int64 Fee; - - // int nStartHeight = StartTimeToStartHeight(nStartTime) - // { - // takes time and info about current block creation rate - // returns nStartHeight - // return 1; - // } - - // uint8_t nBitCount = CardinalsToBitCount(nCardinals) - // { - // takes nCardinals - // returns nBitCount - // return 2; - //} - - CVoteProposal NewVoteProposal() - { - return new CVoteProposal( - strName, - nShift, - CardinalsTonBitCount(nCardinals), - StartTimeTonStartHeight(StartTime), - nCheckSpan, - strDescription - ); - } + CVoteProposal* NewVoteProposal = new CVoteProposal( + strName, + nShift, + nStartTime, + nCheckSpan, + nCardinals, + strDescription + ); Object results; results.push_back(Pair("new vote proposal", NewVoteProposal)); + results.push_back(Pair("name", strName)); + results.push_back(Pair("shift", nShift)); + results.push_back(Pair("start time", (boost::int64_t)nStartTime)); + results.push_back(Pair("check span", nCheckSpan)); + results.push_back(Pair("cardinals", nCardinals)); + results.push_back(Pair("description", strDescription)); return results; } diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 96817fab7..5ad4ec43d 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -2,3 +2,4 @@ // Created by carrie on 12/8/17. // + diff --git a/src/voteproposal.h b/src/voteproposal.h index f3dc2e45b..b8c6dbaf2 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -2,10 +2,10 @@ // Created by carrie on 12/8/17. // -#ifndef HYPERSTAKE_VOTEPROPOSAL_H -#define HYPERSTAKE_VOTEPROPOSAL_H +#ifndef VOTEPROPOSAL_H +#define VOTEPROPOSAL_H -#endif //HYPERSTAKE_VOTEPROPOSAL_H +#include class CVoteProposal { @@ -14,26 +14,28 @@ class CVoteProposal std::string strName; // what bit position in the block version - uint_8 nShift; - - // number of bits in the block version used for one vote - uint_8 nBitCount; + uint8_t nShift; - // where in the blockchain we start counting votes - int nStartHeight; + // where in the blockchain we start counting votes, nStartHeight + int nStartTime; // how far in the blockchain are we scanning int nCheckSpan; + // number of bits in the block version used for one vote, nBitCount + uint8_t nCardinals; + // description of the proposal; may link to additional transactions - CTransaction strDescription; + std::string strDescription; public: void SetNull() { strName = ""; nShift = 0; - nBitCount = 0; + nStartTime = 0; nCheckSpan = 0; + nCardinals = 0; + strDescription = ""; } CVoteProposal() @@ -42,27 +44,20 @@ class CVoteProposal } CVoteProposal( std::string strName, - uint_8 nShift, - uint_8 nBitCount, - int nStartHeight, + uint8_t nShift, + int nStartTime, int nCheckSpan, - CTransaction strDescription) + uint8_t nCardinals, + std::string strDescription) { this->strName = strName; this->nShift = nShift; - this->nBitCount = nBitCount; - this->nStartHeight = nStartHeight; + this->nStartTime = nStartTime; this->nCheckSpan = nCheckSpan; + this->nCardinals = nCardinals; this->strDescription = strDescription; } - std::string GetName() { return strName; } - void SetName(std::string strName) { this->strName = strName; } - int GetShift() { return nShift; } - void SetShift(int nShift) { this->nShift = nShift; } - int GetBitCount() { return nBitCount; } - void SetBitCount(int nBitCount) { this->nBitCount = nBitCount; } - int GetCheckSpan() { return nBlockCheckSpan; } - void SetCheckSpan(int nCheckSpan) { this->nBlockCheckSpan = nCheckSpan; } - std::string ToString() { return } -} \ No newline at end of file +}; + +#endif //HYPERSTAKE_VOTEPROPOSAL_H From fb148a59615c2bdbfe491b4ac8f3798972c7bc4a Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 12 Dec 2017 17:44:44 -0700 Subject: [PATCH 476/555] Update .gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index aef4b2d2d..627ae30cb 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,8 @@ release/* makefile.release makefile.debug makefile +Makefile +src/Makefile HyperStake-qt.pro.user autom4te.cache aclocal.m4 @@ -49,6 +51,7 @@ src/qt/moc_aboutdialog.cpp src/qt/moc_addressbookpage.cpp src/qt/moc_addresstablemodel.cpp src/qt/moc_askpassphrasedialog.cpp +src/qt/moc_bip38tooldialog.cpp src/qt/moc_bitcoinaddressvalidator.cpp src/qt/moc_bitcoinamountfield.cpp src/qt/moc_bitcoingui.cpp From af191cf0c15b5b32865198c32d85f071f990cb52 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 12 Dec 2017 17:43:28 -0700 Subject: [PATCH 477/555] RPC createproposal working --- src/bitcoinrpc.cpp | 5 ++++ src/bitcoinrpc.h | 1 + src/rpcblockchain.cpp | 60 +++++++++++++++---------------------------- src/voteproposal.cpp | 1 + src/voteproposal.h | 49 ++++++++++++++++------------------- 5 files changed, 49 insertions(+), 67 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 047eb325e..502eee14f 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -287,6 +287,7 @@ static const CRPCCommand vRPCCommands[] = { "setgenerate", &setgenerate, true, false }, { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, + { "createproposal", &createproposal, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, @@ -1230,6 +1231,10 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); if (strMethod == "listblocks" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 2) ConvertTo(params[2]); + if (strMethod == "createproposal" && n > 3) ConvertTo(params[3]); + if (strMethod == "createproposal" && n > 4) ConvertTo(params[4]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 51cf6cb62..b1062f29a 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -231,6 +231,7 @@ extern json_spirit::Value getblock(const json_spirit::Array& params, bool fHelp) extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 1eba9c551..cd87ee273 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -5,6 +5,7 @@ #include "main.h" #include "bitcoinrpc.h" +#include "voteproposal.h" #include #include @@ -300,63 +301,42 @@ Value listblocks(const Array& params, bool fHelp) } // tuningmind -Value CreateProposal(const Array& params, bool fHelp) +Value createproposal(const Array& params, bool fHelp) { - if (fHelp || params.size() !=6) + if (fHelp || params.size() != 6) throw runtime_error( "CreateProposal \n\n\n\n\n\n" - "Return new VoteProposal object with specified parameters" - ); + "Returns new VoteProposal object with specified parameters\n"); // name of issue string strName = params[0].get_str(); - // check version for existing proposals Shift uint8_t nShift = params[1].get_int(); - - // start time - will be changed to int StartHeight - // unix time stamp - int64 nStartTime = params[2].get_int64(); - + // start time - will be changed to int StartHeight. unix time stamp + int64 nStartTime = params[2].get_int(); // number of blocks with votes to count int nCheckSpan = params[3].get_int(); - // cardinal items to vote on - convert to uint8 CheckSpan uint8_t nCardinals = params[4].get_int(); - // description of issue - will go in different tx std::string strDescription = params[5].get_str(); - // tx fee for creating proposal - // int64 Fee; - - // int nStartHeight = StartTimeToStartHeight(nStartTime) - // { - // takes time and info about current block creation rate - // returns nStartHeight - // return 1; - // } - - // uint8_t nBitCount = CardinalsToBitCount(nCardinals) - // { - // takes nCardinals - // returns nBitCount - // return 2; - //} - - CVoteProposal NewVoteProposal() - { - return new CVoteProposal( - strName, - nShift, - CardinalsTonBitCount(nCardinals), - StartTimeTonStartHeight(StartTime), - nCheckSpan, - strDescription - ); - } + CVoteProposal* NewVoteProposal = new CVoteProposal( + strName, + nShift, + nStartTime, + nCheckSpan, + nCardinals, + strDescription + ); Object results; results.push_back(Pair("new vote proposal", NewVoteProposal)); + results.push_back(Pair("name", strName)); + results.push_back(Pair("shift", nShift)); + results.push_back(Pair("start time", (boost::int64_t)nStartTime)); + results.push_back(Pair("check span", nCheckSpan)); + results.push_back(Pair("cardinals", nCardinals)); + results.push_back(Pair("description", strDescription)); return results; } diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 96817fab7..5ad4ec43d 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -2,3 +2,4 @@ // Created by carrie on 12/8/17. // + diff --git a/src/voteproposal.h b/src/voteproposal.h index f3dc2e45b..b8c6dbaf2 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -2,10 +2,10 @@ // Created by carrie on 12/8/17. // -#ifndef HYPERSTAKE_VOTEPROPOSAL_H -#define HYPERSTAKE_VOTEPROPOSAL_H +#ifndef VOTEPROPOSAL_H +#define VOTEPROPOSAL_H -#endif //HYPERSTAKE_VOTEPROPOSAL_H +#include class CVoteProposal { @@ -14,26 +14,28 @@ class CVoteProposal std::string strName; // what bit position in the block version - uint_8 nShift; - - // number of bits in the block version used for one vote - uint_8 nBitCount; + uint8_t nShift; - // where in the blockchain we start counting votes - int nStartHeight; + // where in the blockchain we start counting votes, nStartHeight + int nStartTime; // how far in the blockchain are we scanning int nCheckSpan; + // number of bits in the block version used for one vote, nBitCount + uint8_t nCardinals; + // description of the proposal; may link to additional transactions - CTransaction strDescription; + std::string strDescription; public: void SetNull() { strName = ""; nShift = 0; - nBitCount = 0; + nStartTime = 0; nCheckSpan = 0; + nCardinals = 0; + strDescription = ""; } CVoteProposal() @@ -42,27 +44,20 @@ class CVoteProposal } CVoteProposal( std::string strName, - uint_8 nShift, - uint_8 nBitCount, - int nStartHeight, + uint8_t nShift, + int nStartTime, int nCheckSpan, - CTransaction strDescription) + uint8_t nCardinals, + std::string strDescription) { this->strName = strName; this->nShift = nShift; - this->nBitCount = nBitCount; - this->nStartHeight = nStartHeight; + this->nStartTime = nStartTime; this->nCheckSpan = nCheckSpan; + this->nCardinals = nCardinals; this->strDescription = strDescription; } - std::string GetName() { return strName; } - void SetName(std::string strName) { this->strName = strName; } - int GetShift() { return nShift; } - void SetShift(int nShift) { this->nShift = nShift; } - int GetBitCount() { return nBitCount; } - void SetBitCount(int nBitCount) { this->nBitCount = nBitCount; } - int GetCheckSpan() { return nBlockCheckSpan; } - void SetCheckSpan(int nCheckSpan) { this->nBlockCheckSpan = nCheckSpan; } - std::string ToString() { return } -} \ No newline at end of file +}; + +#endif //HYPERSTAKE_VOTEPROPOSAL_H From 14fb746d77b12090a2f051100d05078c00b0bd9f Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 12 Dec 2017 18:20:50 -0700 Subject: [PATCH 478/555] Initial mock out of CastVote --- src/CastVote.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/CastVote.h diff --git a/src/CastVote.h b/src/CastVote.h new file mode 100644 index 000000000..1f93a1f5e --- /dev/null +++ b/src/CastVote.h @@ -0,0 +1,19 @@ +// +// Created by carrie on 12/12/17. +// + +#ifndef HYPERSTAKE_CASTVOTE_H +#define HYPERSTAKE_CASTVOTE_H + +class CCastVote { +private: + uint32_t nVersion; + CVoteProposal voteProposal; +public: + CCastVote(uint32_t nVersion, CVoteProposal voteProposal) { + this->nVersion = nVersion; + this->voteProposal = voteProposal; + } +}; + +#endif //HYPERSTAKE_CASTVOTE_H From 55c1b79f652968676669f11cab74f9367372b14d Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 13 Dec 2017 13:18:19 -0700 Subject: [PATCH 479/555] Add VoteProposal serialization and the ability to add to a transaction. Vote Proposal objects can be added to transactions. They will be in the format of a "data carrier" transaction (OP_RETURN), and will be marked by having the first 5 bytes after the OP code being "PROP" in ASCII. --- Makefile | 1093 ---------- src/Makefile | 4682 ------------------------------------------ src/main.cpp | 19 + src/main.h | 1 + src/script.h | 5 + src/voteproposal.cpp | 50 +- src/voteproposal.h | 30 +- 7 files changed, 93 insertions(+), 5787 deletions(-) delete mode 100644 Makefile delete mode 100644 src/Makefile diff --git a/Makefile b/Makefile deleted file mode 100644 index f7774d083..000000000 --- a/Makefile +++ /dev/null @@ -1,1093 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/hyperstake -pkgincludedir = $(includedir)/hyperstake -pkglibdir = $(libdir)/hyperstake -pkglibexecdir = $(libexecdir)/hyperstake -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ - $(top_srcdir)/build-aux/m4/libtool.m4 \ - $(top_srcdir)/build-aux/m4/ltoptions.m4 \ - $(top_srcdir)/build-aux/m4/ltsugar.m4 \ - $(top_srcdir)/build-aux/m4/ltversion.m4 \ - $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h -CONFIG_CLEAN_FILES = share/setup.nsi share/qt/Info.plist -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/missing \ - $(top_srcdir)/share/qt/Info.plist.in \ - $(top_srcdir)/share/setup.nsi.in \ - $(top_srcdir)/src/config/bitcoin-config.h.in build-aux/compile \ - build-aux/config.guess build-aux/config.sub \ - build-aux/install-sh build-aux/ltmain.sh build-aux/missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = /usr/bin/ar -AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 -AWK = gawk -BDB_CPPFLAGS = -BDB_LIBS = -ldb_cxx -BOOST_CHRONO_LIB = -lboost_chrono -BOOST_CPPFLAGS = -pthread -I/usr/include -BOOST_FILESYSTEM_LIB = -lboost_filesystem -BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu -BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options -BOOST_SYSTEM_LIB = -lboost_system -BOOST_THREAD_LIB = -lboost_thread -BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework -BREW = -BUILD_QT = qt -BUILD_TEST = test -BUILD_TEST_QT = test -CC = gcc -CCACHE = -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CLIENT_VERSION_BUILD = 0 -CLIENT_VERSION_IS_RELEASE = true -CLIENT_VERSION_MAJOR = 1 -CLIENT_VERSION_MINOR = 1 -CLIENT_VERSION_REVISION = 4 -COMPARISON_TOOL_REORG_TESTS = 0 -COPYRIGHT_YEAR = 2014 -CPP = gcc -E -CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -CRYPTO_CFLAGS = -CRYPTO_LIBS = -lcrypto -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = /usr/bin/gcov -GENHTML = -GENISOIMAGE = -GIT = /usr/bin/git -GREP = /bin/grep -HEXDUMP = /usr/bin/hexdump -INSTALL = /usr/bin/install -c -INSTALLNAMETOOL = -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JAVA = -JAVA_COMPARISON_TOOL = -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -Wl,-z,relro -Wl,-z,now -LEVELDB_CPPFLAGS = -LEVELDB_TARGET_FLAGS = -LIBLEVELDB = -LIBMEMENV = -LIBOBJS = -LIBS = -lanl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBTOOL_APP_LDFLAGS = -LIPO = -LN_S = ln -s -LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate -MAINT = -MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo -MAKENSIS = -MANIFEST_TOOL = : -MINIUPNPC_CPPFLAGS = -MINIUPNPC_LIBS = -MKDIR_P = /bin/mkdir -p -MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc -MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) -NM = /usr/bin/nm -B -NMEDIT = -OBJCXX = g++ -OBJCXXDEPMODE = depmode=gcc3 -OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = hyperstake -PACKAGE_BUGREPORT = info@hyperstake.info -PACKAGE_NAME = Hyperstake Core -PACKAGE_STRING = Hyperstake Core 1.1.4 -PACKAGE_TARNAME = hyperstake -PACKAGE_URL = -PACKAGE_VERSION = 1.1.4 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = -PORT = -PROTOBUF_CFLAGS = -pthread -PROTOBUF_LIBS = -lprotobuf -pthread -lpthread -PROTOC = /usr/bin/protoc -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -pthread -PTHREAD_LIBS = -QR_CFLAGS = -QR_LIBS = -lqrencode -QTPLATFORM_CFLAGS = -QTPLATFORM_LIBS = -QTPRINT_CFLAGS = -QTPRINT_LIBS = -QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_LIBS = -lQt5DBus -lQt5Core -QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_LDFLAGS = -QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core -QT_SELECT = qt5 -QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_LIBS = -lQt5Test -lQt5Core -QT_TRANSLATION_DIR = -RANLIB = /usr/bin/ranlib -RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc -RELDFLAGS = -Wl,--exclude-libs,ALL -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SSL_CFLAGS = -SSL_LIBS = -lssl -STRIP = /usr/bin/strip -TESTDEFS = -DBOOST_TEST_DYN_LINK -UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic -USE_QRCODE = -USE_UPNP = -VERSION = 1.1.4 -WINDOWS_BITS = -WINDRES = -X11XCB_CFLAGS = -X11XCB_LIBS = -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/carrie/hyperstake -abs_srcdir = /home/carrie/hyperstake -abs_top_builddir = /home/carrie/hyperstake -abs_top_srcdir = /home/carrie/hyperstake -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -ac_ct_OBJCXX = g++ -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -subdirs = src/secp256k1 -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = . -ACLOCAL_AMFLAGS = -I build-aux/m4 -SUBDIRS = src -GZIP_ENV = "-9n" -BITCOIND_BIN = $(top_builddir)/src/hyperstaked$(EXEEXT) -BITCOIN_QT_BIN = $(top_builddir)/src/qt/hyperstake-qt$(EXEEXT) -BITCOIN_WIN_INSTALLER = $(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) -OSX_APP = Hyperstake-Qt.app -OSX_DMG = Hyperstake-Qt.dmg -OSX_DEPLOY_SCRIPT = $(top_srcdir)/contrib/macdeploy/macdeployqtplus -OSX_FANCY_PLIST = $(top_srcdir)/contrib/macdeploy/fancy.plist -OSX_INSTALLER_ICONS = $(top_srcdir)/src/qt/res/icons/bitcoin.icns -OSX_PLIST = $(top_srcdir)/share/qt/Info.plist #not installed -OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW -THEMES = $(top_srcdir)/src/qt/res/themes -DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) -WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ - $(top_srcdir)/share/pixmaps/nsis-header.bmp \ - $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ - $(top_srcdir)/doc/README_windows.txt - -OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ - $(top_srcdir)/contrib/macdeploy/background.png \ - $(top_srcdir)/contrib/macdeploy/DS_Store \ - $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ - $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh - -COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ - test_bitcoin_filtered.info total_coverage.info \ - baseline_filtered.info block_test_filtered.info \ - test_bitcoin_coverage.info test_bitcoin.info - -OSX_APP_BUILT = $(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ - $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes - -APP_DIST_DIR = $(top_builddir)/dist -APP_DIST_EXTRAS = $(APP_DIST_DIR)/.background/background.png $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) -CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -src/config/bitcoin-config.h: src/config/stamp-h1 - @test -f $@ || rm -f src/config/stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) src/config/stamp-h1 - -src/config/stamp-h1: $(top_srcdir)/src/config/bitcoin-config.h.in $(top_builddir)/config.status - @rm -f src/config/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status src/config/bitcoin-config.h -$(top_srcdir)/src/config/bitcoin-config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f src/config/stamp-h1 - touch $@ - -distclean-hdr: - -rm -f src/config/bitcoin-config.h src/config/stamp-h1 -share/setup.nsi: $(top_builddir)/config.status $(top_srcdir)/share/setup.nsi.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -share/qt/Info.plist: $(top_builddir)/config.status $(top_srcdir)/share/qt/Info.plist.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ - dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -.PHONY: deploy FORCE - -dist-hook: - -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean - -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - - -distcleancheck: - @: - -$(BITCOIN_WIN_INSTALLER): all-recursive - $(MKDIR_P) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release - @test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \ - echo error: could not build $@ - -$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE - $(MAKE) -C src $(patsubst src/%,%,$@) - -$(OSX_APP)/Contents/PkgInfo: - $(MKDIR_P) $(@D) - @echo "APPL????" > $@ - -$(OSX_APP)/Contents/Resources/empty.lproj: - $(MKDIR_P) $(@D) - @touch $@ - -$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) - $(MKDIR_P) $(@D) - $(INSTALL_DATA) $< $@ - -$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) - $(MKDIR_P) $(@D) - $(INSTALL_DATA) $< $@ - -$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) - $(MKDIR_P) $(@D) - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ - -$(OSX_APP)/Contents/MacOS/themes: $(THEMES) - $(MKDIR_P) $(@D) - cp -R $(THEMES) $(@D) - -#$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) -# $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 - -#deploydir: $(OSX_DMG) - -$(APP_DIST_DIR)/Applications: - @rm -f $@ - @cd $(@D); $(LN_S) /Applications $(@F) - -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt - -$(OSX_DMG): $(APP_DIST_EXTRAS) - $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o $@ dist - -$(APP_DIST_DIR)/.background/background.png: - $(MKDIR_P) $(@D) - $(INSTALL) $(top_srcdir)/contrib/macdeploy/background.png $@ -$(APP_DIST_DIR)/.DS_Store: - $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ - -$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) - INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 - -deploydir: $(APP_DIST_EXTRAS) - -#appbundle: $(OSX_APP_BUILT) -#deploy: $(OSX_DMG) -#deploy: $(BITCOIN_WIN_INSTALLER) - -$(BITCOIN_QT_BIN): FORCE - $(MAKE) -C src qt/$(@F) - -$(BITCOIND_BIN): FORCE - $(MAKE) -C src $(@F) - -#baseline.info: -# $(LCOV) -c -i -d $(abs_builddir)/src -o $@ - -#baseline_filtered.info: baseline.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#baseline_filtered_combined.info: baseline_filtered.info -# $(LCOV) -a baseline_filtered.info -o $@ - -#test_bitcoin.info: baseline_filtered_combined.info -# $(MAKE) -C src/ check -# $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ -# $(LCOV) -z -d $(abs_builddir)/src - -#test_bitcoin_filtered.info: test_bitcoin.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#block_test.info: test_bitcoin_filtered.info -# $(MKDIR_P) qa/tmp -# -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 -# $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ -# $(LCOV) -z -d $(abs_builddir)/src - -#block_test_filtered.info: block_test.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info -# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -o $@ - -#total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info -# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt - -#test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info -# $(GENHTML) -s $< -o $(@D) -# @touch $@ - -#total.coverage/.dirstamp: total_coverage.info -# $(GENHTML) -s $< -o $(@D) -# @touch $@ - -#cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp - -.INTERMEDIATE: $(COVERAGE_INFO) - -clean-local: - rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 21d4e9b5e..000000000 --- a/src/Makefile +++ /dev/null @@ -1,4682 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# src/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/hyperstake -pkgincludedir = $(includedir)/hyperstake -pkglibdir = $(libdir)/hyperstake -pkglibexecdir = $(libexecdir)/hyperstake -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -am__append_1 = $(BDB_CPPFLAGS) -am__append_2 = libbitcoin_wallet.a -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ - $(am__EXEEXT_4) -TESTS = $(am__EXEEXT_5) $(am__EXEEXT_4) -am__append_3 = hyperstaked -am__append_4 = libbitcoin_wallet.a - -# -#am__append_5 = bitcoind-res.rc -am__append_6 = test/test_bitcoin test/bitcoin-util-test.py -am__append_7 = test/test_bitcoin -am__append_8 = -am__append_9 = $(LIBBITCOIN_WALLET) -am__append_10 = $(CLEAN_BITCOIN_TEST) -am__append_11 = qt/hyperstake-qt -am__append_12 = qt/libbitcoinqt.a -am__append_13 = \ - qt/addressbookpage.cpp \ - qt/addresstablemodel.cpp \ - qt/askpassphrasedialog.cpp \ - qt/coincontroldialog.cpp \ - qt/coincontroltreewidget.cpp \ - qt/editaddressdialog.cpp \ - qt/overviewpage.cpp \ - qt/paymentserver.cpp \ - qt/sendcoinsdialog.cpp \ - qt/sendcoinsentry.cpp \ - qt/signverifymessagedialog.cpp \ - qt/transactiondesc.cpp \ - qt/transactiondescdialog.cpp \ - qt/transactionfilterproxy.cpp \ - qt/transactionrecord.cpp \ - qt/transactiontablemodel.cpp \ - qt/transactionview.cpp - -#am__append_14 = $(BITCOIN_MM) -#am__append_15 = $(BITCOIN_RC) -am__append_16 = $(LIBBITCOIN_WALLET) -am__append_17 = $(CLEAN_QT) -am__append_18 = qt/test/test_bitcoin-qt -am__append_19 = qt/test/test_bitcoin-qt -am__append_20 = $(LIBBITCOIN_WALLET) -am__append_21 = $(CLEAN_BITCOIN_QT_TEST) -subdir = src -SUBDIRS = -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ - $(top_srcdir)/build-aux/m4/libtool.m4 \ - $(top_srcdir)/build-aux/m4/ltoptions.m4 \ - $(top_srcdir)/build-aux/m4/ltsugar.m4 \ - $(top_srcdir)/build-aux/m4/ltversion.m4 \ - $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libbitcoin_common_a_AR = $(AR) $(ARFLAGS) -libbitcoin_common_a_LIBADD = -am__objects_1 = -am_libbitcoin_common_a_OBJECTS = libbitcoin_common_a-key.$(OBJEXT) \ - libbitcoin_common_a-keystore.$(OBJEXT) \ - libbitcoin_common_a-netbase.$(OBJEXT) \ - libbitcoin_common_a-protocol.$(OBJEXT) $(am__objects_1) -libbitcoin_common_a_OBJECTS = $(am_libbitcoin_common_a_OBJECTS) -libbitcoin_server_a_AR = $(AR) $(ARFLAGS) -libbitcoin_server_a_LIBADD = -am_libbitcoin_server_a_OBJECTS = \ - libbitcoin_server_a-addrman.$(OBJEXT) \ - libbitcoin_server_a-aes_helper.$(OBJEXT) \ - libbitcoin_server_a-alert.$(OBJEXT) \ - libbitcoin_server_a-bip38.$(OBJEXT) \ - libbitcoin_server_a-bitcoinrpc.$(OBJEXT) \ - libbitcoin_server_a-blake.$(OBJEXT) \ - libbitcoin_server_a-bmw.$(OBJEXT) \ - libbitcoin_server_a-checkpoints.$(OBJEXT) \ - libbitcoin_server_a-cubehash.$(OBJEXT) \ - libbitcoin_server_a-echo.$(OBJEXT) \ - libbitcoin_server_a-groestl.$(OBJEXT) \ - libbitcoin_server_a-init.$(OBJEXT) \ - libbitcoin_server_a-jh.$(OBJEXT) \ - libbitcoin_server_a-keccak.$(OBJEXT) \ - libbitcoin_server_a-kernel.$(OBJEXT) \ - libbitcoin_server_a-luffa.$(OBJEXT) \ - libbitcoin_server_a-main.$(OBJEXT) \ - libbitcoin_server_a-net.$(OBJEXT) \ - libbitcoin_server_a-noui.$(OBJEXT) \ - libbitcoin_server_a-rpcblockchain.$(OBJEXT) \ - libbitcoin_server_a-rpcmining.$(OBJEXT) \ - libbitcoin_server_a-rpcnet.$(OBJEXT) \ - libbitcoin_server_a-rpcrawtransaction.$(OBJEXT) \ - libbitcoin_server_a-script.$(OBJEXT) \ - libbitcoin_server_a-scrypt.$(OBJEXT) \ - libbitcoin_server_a-shavite.$(OBJEXT) \ - libbitcoin_server_a-simd.$(OBJEXT) \ - libbitcoin_server_a-skein.$(OBJEXT) $(am__objects_1) \ - $(am__objects_1) -libbitcoin_server_a_OBJECTS = $(am_libbitcoin_server_a_OBJECTS) -libbitcoin_util_a_AR = $(AR) $(ARFLAGS) -libbitcoin_util_a_LIBADD = -am_libbitcoin_util_a_OBJECTS = \ - libbitcoin_util_a-clientversion.$(OBJEXT) \ - libbitcoin_util_a-sync.$(OBJEXT) \ - libbitcoin_util_a-version.$(OBJEXT) \ - libbitcoin_util_a-util.$(OBJEXT) $(am__objects_1) -nodist_libbitcoin_util_a_OBJECTS = -libbitcoin_util_a_OBJECTS = $(am_libbitcoin_util_a_OBJECTS) \ - $(nodist_libbitcoin_util_a_OBJECTS) -libbitcoin_wallet_a_AR = $(AR) $(ARFLAGS) -libbitcoin_wallet_a_LIBADD = -am_libbitcoin_wallet_a_OBJECTS = libbitcoin_wallet_a-bip38.$(OBJEXT) \ - libbitcoin_wallet_a-db.$(OBJEXT) \ - libbitcoin_wallet_a-crypter.$(OBJEXT) \ - libbitcoin_wallet_a-pbkdf2.$(OBJEXT) \ - libbitcoin_wallet_a-rpcdump.$(OBJEXT) \ - libbitcoin_wallet_a-rpcwallet.$(OBJEXT) \ - libbitcoin_wallet_a-scrypt.$(OBJEXT) \ - libbitcoin_wallet_a-wallet.$(OBJEXT) \ - libbitcoin_wallet_a-walletdb.$(OBJEXT) $(am__objects_1) -libbitcoin_wallet_a_OBJECTS = $(am_libbitcoin_wallet_a_OBJECTS) -qt_libbitcoinqt_a_AR = $(AR) $(ARFLAGS) -qt_libbitcoinqt_a_LIBADD = -am__qt_libbitcoinqt_a_SOURCES_DIST = qt/aboutdialog.cpp \ - qt/bip38tooldialog.cpp qt/bitcoinaddressvalidator.cpp \ - qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ - qt/bitcoinunits.cpp qt/blockbrowser.cpp qt/calcdialog.cpp \ - qt/charitydialog.cpp qt/clientmodel.cpp qt/csvmodelwriter.cpp \ - qt/guiutil.cpp qt/monitoreddatamapper.cpp qt/networkstyle.cpp \ - qt/notificator.cpp qt/optionsdialog.cpp qt/optionsmodel.cpp \ - qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ - qt/qvaluecombobox.cpp qt/rpcconsole.cpp qt/scicon.cpp \ - qt/walletmodel.cpp qt/addressbookpage.cpp \ - qt/addresstablemodel.cpp qt/askpassphrasedialog.cpp \ - qt/coincontroldialog.cpp qt/coincontroltreewidget.cpp \ - qt/editaddressdialog.cpp qt/overviewpage.cpp \ - qt/paymentserver.cpp qt/sendcoinsdialog.cpp \ - qt/sendcoinsentry.cpp qt/signverifymessagedialog.cpp \ - qt/transactiondesc.cpp qt/transactiondescdialog.cpp \ - qt/transactionfilterproxy.cpp qt/transactionrecord.cpp \ - qt/transactiontablemodel.cpp qt/transactionview.cpp \ - qt/aboutdialog.h qt/addressbookpage.h qt/addresstablemodel.h \ - qt/askpassphrasedialog.h qt/bip38tooldialog.h \ - qt/bitcoinaddressvalidator.h qt/bitcoinamountfield.h \ - qt/bitcoingui.h qt/bitcoinunits.h qt/blockbrowser.h \ - qt/calcdialog.h qt/charitydialog.h qt/clientmodel.h \ - qt/coincontroldialog.h qt/coincontroltreewidget.h \ - qt/csvmodelwriter.h qt/editaddressdialog.h qt/guiconstants.h \ - qt/guiutil.h qt/macdockiconhandler.h \ - qt/macnotificationhandler.h qt/monitoreddatamapper.h \ - qt/networkstyle.h qt/notificator.h qt/optionsdialog.h \ - qt/optionsmodel.h qt/overviewpage.h qt/paymentserver.h \ - qt/qrcodedialog.h qt/qvalidatedlineedit.h qt/qvaluecombobox.h \ - qt/rpcconsole.h qt/scicon.h qt/sendcoinsdialog.h \ - qt/sendcoinsentry.h qt/signverifymessagedialog.h \ - qt/transactiondesc.h qt/transactiondescdialog.h \ - qt/transactionfilterproxy.h qt/transactionrecord.h \ - qt/transactiontablemodel.h qt/transactionview.h \ - qt/walletmodel.h qt/forms/aboutdialog.ui \ - qt/forms/addressbookpage.ui qt/forms/askpassphrasedialog.ui \ - qt/forms/bip38tooldialog.ui qt/forms/blockbrowser.ui \ - qt/forms/calcdialog.ui qt/forms/charitydialog.ui \ - qt/forms/coincontroldialog.ui qt/forms/editaddressdialog.ui \ - qt/forms/optionsdialog.ui qt/forms/overviewpage.ui \ - qt/forms/qrcodedialog.ui qt/forms/rpcconsole.ui \ - qt/forms/sendcoinsdialog.ui qt/forms/sendcoinsentry.ui \ - qt/forms/signverifymessagedialog.ui \ - qt/forms/transactiondescdialog.ui qt/bitcoin.qrc \ - qt/locale/bitcoin_en.ts qt/locale/bitcoin_ru.ts \ - qt/res/icons/add.png qt/res/icons/address-book.png \ - qt/res/icons/blexp.png qt/res/icons/clock1.png \ - qt/res/icons/clock2.png qt/res/icons/clock3.png \ - qt/res/icons/clock4.png qt/res/icons/clock5.png \ - qt/res/icons/configure.png qt/res/icons/connect0_16.png \ - qt/res/icons/connect1_16.png qt/res/icons/connect2_16.png \ - qt/res/icons/connect3_16.png qt/res/icons/connect4_16.png \ - qt/res/icons/debugwindow.png qt/res/icons/edit.png \ - qt/res/icons/editcopy.png qt/res/icons/editpaste.png \ - qt/res/icons/export.png qt/res/icons/filesave.png \ - qt/res/icons/history.png qt/res/icons/hyperstake-16.png \ - qt/res/icons/hyperstake-32.png qt/res/icons/hyperstake-128.png \ - qt/res/icons/info.png qt/res/icons/key.png \ - qt/res/icons/lock_closed.png qt/res/icons/lock_open.png \ - qt/res/icons/mining.png qt/res/icons/mining_inactive.png \ - qt/res/icons/notsynced.png qt/res/icons/overview.png \ - qt/res/icons/qrcode.png qt/res/icons/quit.png \ - qt/res/icons/receive.png qt/res/icons/remove.png \ - qt/res/icons/s4c.png qt/res/icons/send.png \ - qt/res/icons/synced.png qt/res/icons/transaction0.png \ - qt/res/icons/transaction2.png qt/res/icons/tx_inout.png \ - qt/res/icons/tx_input.png qt/res/icons/tx_output.png \ - qt/res/icons/tx_mined.png qt/res/images/about.png \ - qt/res/images/splash.png qt/res/images/wallet.png $(wildcard \ - qt/res/movies/*.mng) -am__dirstamp = $(am__leading_dot)dirstamp -am__objects_2 = qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT) -am__objects_3 = \ - qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-notificator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-scicon.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT) \ - $(am__objects_2) -am_qt_libbitcoinqt_a_OBJECTS = $(am__objects_3) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) -am__objects_4 = qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT) -am__objects_5 = \ - qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT) -nodist_qt_libbitcoinqt_a_OBJECTS = $(am__objects_4) \ - $(am__objects_1) $(am__objects_5) -qt_libbitcoinqt_a_OBJECTS = $(am_qt_libbitcoinqt_a_OBJECTS) \ - $(nodist_qt_libbitcoinqt_a_OBJECTS) -am__EXEEXT_1 = hyperstaked$(EXEEXT) -am__EXEEXT_2 = test/test_bitcoin$(EXEEXT) -am__EXEEXT_3 = qt/hyperstake-qt$(EXEEXT) -am__EXEEXT_4 = qt/test/test_bitcoin-qt$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am__hyperstaked_SOURCES_DIST = bitcoind.cpp bitcoind-res.rc -#am__objects_6 = bitcoind-res.$(OBJEXT) -am_hyperstaked_OBJECTS = hyperstaked-bitcoind.$(OBJEXT) \ - $(am__objects_6) -hyperstaked_OBJECTS = $(am_hyperstaked_OBJECTS) -am__DEPENDENCIES_1 = -hyperstaked_DEPENDENCIES = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(LIBSECP256K1) $(am__append_4) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(LIBSECP256K1) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -hyperstaked_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(hyperstaked_LDFLAGS) $(LDFLAGS) -o $@ -am__qt_hyperstake_qt_SOURCES_DIST = qt/bitcoin.cpp \ - qt/macdockiconhandler.mm qt/macnotificationhandler.mm \ - qt/res/bitcoin-qt.rc -am__objects_7 = qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT) \ - qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT) -#am__objects_8 = $(am__objects_7) -am__objects_9 = qt/res/bitcoin-qt.$(OBJEXT) -#am__objects_10 = \ -# $(am__objects_9) -am_qt_hyperstake_qt_OBJECTS = \ - qt/qt_hyperstake_qt-bitcoin.$(OBJEXT) \ - $(am__objects_8) $(am__objects_10) -qt_hyperstake_qt_OBJECTS = $(am_qt_hyperstake_qt_OBJECTS) -qt_hyperstake_qt_DEPENDENCIES = qt/libbitcoinqt.a \ - $(LIBBITCOIN_SERVER) $(am__append_16) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(LIBSECP256K1) -qt_hyperstake_qt_LINK = $(LIBTOOL) $(AM_V_lt) \ - $(qt_hyperstake_qt_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ - $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ - $(qt_hyperstake_qt_LDFLAGS) $(LDFLAGS) -o $@ -am__qt_test_test_bitcoin_qt_SOURCES_DIST = qt/test/test_main.cpp \ - qt/test/uritests.cpp qt/test/uritests.h -am_qt_test_test_bitcoin_qt_OBJECTS = qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT) \ - qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT) \ - $(am__objects_1) -am__objects_11 = qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT) -nodist_qt_test_test_bitcoin_qt_OBJECTS = \ - $(am__objects_11) -qt_test_test_bitcoin_qt_OBJECTS = \ - $(am_qt_test_test_bitcoin_qt_OBJECTS) \ - $(nodist_qt_test_test_bitcoin_qt_OBJECTS) -qt_test_test_bitcoin_qt_DEPENDENCIES = \ - $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) \ - $(am__append_20) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(LIBSECP256K1) -qt_test_test_bitcoin_qt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(qt_test_test_bitcoin_qt_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__test_test_bitcoin_SOURCES_DIST = test/allocator_tests.cpp \ - test/base32_tests.cpp test/base64_tests.cpp \ - test/getarg_tests.cpp test/key_tests.cpp test/mruset_tests.cpp \ - test/netbase_tests.cpp test/test_bitcoin.cpp \ - test/sigopcount_tests.cpp test/data/script_valid.json \ - test/data/base58_keys_valid.json \ - test/data/base58_encode_decode.json \ - test/data/base58_keys_invalid.json \ - test/data/script_invalid.json -am__objects_12 = test/test_test_bitcoin-allocator_tests.$(OBJEXT) \ - test/test_test_bitcoin-base32_tests.$(OBJEXT) \ - test/test_test_bitcoin-base64_tests.$(OBJEXT) \ - test/test_test_bitcoin-getarg_tests.$(OBJEXT) \ - test/test_test_bitcoin-key_tests.$(OBJEXT) \ - test/test_test_bitcoin-mruset_tests.$(OBJEXT) \ - test/test_test_bitcoin-netbase_tests.$(OBJEXT) \ - test/test_test_bitcoin-test_bitcoin.$(OBJEXT) \ - test/test_test_bitcoin-sigopcount_tests.$(OBJEXT) -am_test_test_bitcoin_OBJECTS = $(am__objects_12) \ - $(am__objects_1) -am__objects_13 = $(am__objects_1) -nodist_test_test_bitcoin_OBJECTS = \ - $(am__objects_13) -test_test_bitcoin_OBJECTS = $(am_test_test_bitcoin_OBJECTS) \ - $(nodist_test_test_bitcoin_OBJECTS) -test_test_bitcoin_DEPENDENCIES = \ - $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__append_9) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -test_test_bitcoin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(test_test_bitcoin_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir)/src/config -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_$(V)) -am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CXXLD = $(am__v_CXXLD_$(V)) -am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(OBJCXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -AM_V_OBJCXX = $(am__v_OBJCXX_$(V)) -am__v_OBJCXX_ = $(am__v_OBJCXX_$(AM_DEFAULT_VERBOSITY)) -am__v_OBJCXX_0 = @echo " OBJCXX " $@; -am__v_OBJCXX_1 = -OBJCXXLD = $(OBJCXX) -OBJCXXLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_OBJCXXLD = $(am__v_OBJCXXLD_$(V)) -am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_$(AM_DEFAULT_VERBOSITY)) -am__v_OBJCXXLD_0 = @echo " OBJCXXLD" $@; -am__v_OBJCXXLD_1 = -SOURCES = $(libbitcoin_common_a_SOURCES) \ - $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ - $(nodist_libbitcoin_util_a_SOURCES) \ - $(libbitcoin_wallet_a_SOURCES) $(qt_libbitcoinqt_a_SOURCES) \ - $(nodist_qt_libbitcoinqt_a_SOURCES) $(hyperstaked_SOURCES) \ - $(qt_hyperstake_qt_SOURCES) $(qt_test_test_bitcoin_qt_SOURCES) \ - $(nodist_qt_test_test_bitcoin_qt_SOURCES) \ - $(test_test_bitcoin_SOURCES) \ - $(nodist_test_test_bitcoin_SOURCES) -DIST_SOURCES = $(libbitcoin_common_a_SOURCES) \ - $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ - $(libbitcoin_wallet_a_SOURCES) \ - $(am__qt_libbitcoinqt_a_SOURCES_DIST) \ - $(am__hyperstaked_SOURCES_DIST) \ - $(am__qt_hyperstake_qt_SOURCES_DIST) \ - $(am__qt_test_test_bitcoin_qt_SOURCES_DIST) \ - $(am__test_test_bitcoin_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -am__EXEEXT_5 = test/test_bitcoin$(EXEEXT) \ - test/bitcoin-util-test.py -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.qt.include \ - $(srcdir)/Makefile.qttest.include \ - $(srcdir)/Makefile.test.include \ - $(top_srcdir)/build-aux/depcomp \ - $(top_srcdir)/build-aux/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = /usr/bin/ar -AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 -AWK = gawk -BDB_CPPFLAGS = -BDB_LIBS = -ldb_cxx -BOOST_CHRONO_LIB = -lboost_chrono -BOOST_CPPFLAGS = -pthread -I/usr/include -BOOST_FILESYSTEM_LIB = -lboost_filesystem -BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu -BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options -BOOST_SYSTEM_LIB = -lboost_system -BOOST_THREAD_LIB = -lboost_thread -BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework -BREW = -BUILD_QT = qt -BUILD_TEST = test -BUILD_TEST_QT = test -CC = gcc -CCACHE = -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CLIENT_VERSION_BUILD = 0 -CLIENT_VERSION_IS_RELEASE = true -CLIENT_VERSION_MAJOR = 1 -CLIENT_VERSION_MINOR = 1 -CLIENT_VERSION_REVISION = 4 -COMPARISON_TOOL_REORG_TESTS = 0 -COPYRIGHT_YEAR = 2014 -CPP = gcc -E -CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -CRYPTO_CFLAGS = -CRYPTO_LIBS = -lcrypto -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = /usr/bin/gcov -GENHTML = -GENISOIMAGE = -GIT = /usr/bin/git -GREP = /bin/grep -HEXDUMP = /usr/bin/hexdump -INSTALL = /usr/bin/install -c -INSTALLNAMETOOL = -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JAVA = -JAVA_COMPARISON_TOOL = -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -Wl,-z,relro -Wl,-z,now -LEVELDB_CPPFLAGS = -LEVELDB_TARGET_FLAGS = -LIBLEVELDB = -LIBMEMENV = -LIBOBJS = -LIBS = -lanl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBTOOL_APP_LDFLAGS = -LIPO = -LN_S = ln -s -LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate -MAINT = -MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo -MAKENSIS = -MANIFEST_TOOL = : -MINIUPNPC_CPPFLAGS = -MINIUPNPC_LIBS = -MKDIR_P = /bin/mkdir -p -MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc -MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) -NM = /usr/bin/nm -B -NMEDIT = -OBJCXX = g++ -OBJCXXDEPMODE = depmode=gcc3 -OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = hyperstake -PACKAGE_BUGREPORT = info@hyperstake.info -PACKAGE_NAME = Hyperstake Core -PACKAGE_STRING = Hyperstake Core 1.1.4 -PACKAGE_TARNAME = hyperstake -PACKAGE_URL = -PACKAGE_VERSION = 1.1.4 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = -PORT = -PROTOBUF_CFLAGS = -pthread -PROTOBUF_LIBS = -lprotobuf -pthread -lpthread -PROTOC = /usr/bin/protoc -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -pthread -PTHREAD_LIBS = -QR_CFLAGS = -QR_LIBS = -lqrencode -QTPLATFORM_CFLAGS = -QTPLATFORM_LIBS = -QTPRINT_CFLAGS = -QTPRINT_LIBS = -QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_LIBS = -lQt5DBus -lQt5Core -QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_LDFLAGS = -QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core -QT_SELECT = qt5 -QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_LIBS = -lQt5Test -lQt5Core -QT_TRANSLATION_DIR = -RANLIB = /usr/bin/ranlib -RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc -RELDFLAGS = -Wl,--exclude-libs,ALL -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SSL_CFLAGS = -SSL_LIBS = -lssl -STRIP = /usr/bin/strip -TESTDEFS = -DBOOST_TEST_DYN_LINK -UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic -USE_QRCODE = -USE_UPNP = -VERSION = 1.1.4 -WINDOWS_BITS = -WINDRES = -X11XCB_CFLAGS = -X11XCB_LIBS = -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/carrie/hyperstake/src -abs_srcdir = /home/carrie/hyperstake/src -abs_top_builddir = /home/carrie/hyperstake -abs_top_srcdir = /home/carrie/hyperstake -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -ac_ct_OBJCXX = g++ -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -subdirs = src/secp256k1 -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -DIST_SUBDIRS = secp256k1 -AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) -BITCOIN_CONFIG_INCLUDES = -I$(builddir)/config -BITCOIN_INCLUDES = -I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) \ - $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -I$(srcdir)/secp256k1/include \ - $(am__append_1) -LIBBITCOIN_SERVER = libbitcoin_server.a -LIBBITCOIN_WALLET = libbitcoin_wallet.a -LIBBITCOIN_COMMON = libbitcoin_common.a -LIBBITCOIN_UTIL = libbitcoin_util.a -LIBSECP256K1 = secp256k1/libsecp256k1.la -LIBBITCOINQT = qt/libbitcoinqt.a - -# Make is not made aware of per-object dependencies to avoid limiting building parallelization -# But to build the less dependent modules first, we manually select their order here: -noinst_LIBRARIES = libbitcoin_util.a libbitcoin_common.a \ - libbitcoin_server.a $(am__append_2) $(am__append_12) -# bitcoin core # -BITCOIN_CORE_H = \ - addrman.h \ - alert.h \ - allocators.h \ - base58.h \ - bignum.h \ - bip38.h \ - bitcoinrpc.h \ - checkpoints.h \ - clientversion.h \ - coincontrol.h \ - compat.h \ - crypter.h \ - db.h \ - hashblock.h \ - init.h \ - kernel.h \ - key.h \ - keystore.h \ - main.h \ - mruset.h \ - netbase.h \ - net.h \ - pbkdf2.h \ - protocol.h \ - script.h \ - scrypt.h \ - scrypt_mine.h \ - serialize.h \ - sph_blake.h \ - sph_bmw.h \ - sph_cubehash.h \ - sph_echo.h \ - sph_groestl.h \ - sph_jh.h \ - sph_keccak.h \ - sph_luffa.h \ - sph_shavite.h \ - sph_simd.h \ - sph_skein.h \ - sph_types.h \ - sync.h \ - tinyformat.h \ - ui_interface.h \ - uint256.h \ - util.h \ - version.h \ - wallet.h \ - walletdb.h - -JSON_H = \ - json/json_spirit.h \ - json/json_spirit_error_position.h \ - json/json_spirit_reader.h \ - json/json_spirit_reader_template.h \ - json/json_spirit_stream_reader.h \ - json/json_spirit_utils.h \ - json/json_spirit_value.h \ - json/json_spirit_writer.h \ - json/json_spirit_writer_template.h - - -# server: shared between bitcoind and bitcoin-qt -libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) -libbitcoin_server_a_SOURCES = \ - addrman.cpp \ - aes_helper.c \ - alert.cpp \ - bip38.cpp \ - bitcoinrpc.cpp \ - blake.c \ - bmw.c \ - checkpoints.cpp \ - cubehash.c \ - echo.c \ - groestl.c \ - init.cpp \ - jh.c \ - keccak.c \ - kernel.cpp \ - luffa.c \ - main.cpp \ - net.cpp \ - noui.cpp \ - rpcblockchain.cpp \ - rpcmining.cpp \ - rpcnet.cpp \ - rpcrawtransaction.cpp \ - script.cpp \ - scrypt.cpp \ - shavite.c \ - simd.c \ - skein.c \ - $(JSON_H) \ - $(BITCOIN_CORE_H) - - -# wallet: shared between bitcoind and bitcoin-qt, but only linked -# when wallet enabled -libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_wallet_a_SOURCES = \ - bip38.cpp \ - db.cpp \ - crypter.cpp \ - pbkdf2.cpp \ - rpcdump.cpp \ - rpcwallet.cpp \ - scrypt.cpp \ - wallet.cpp \ - walletdb.cpp \ - $(BITCOIN_CORE_H) - - -# common: shared between bitcoind, and bitcoin-qt and non-server tools -libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_common_a_SOURCES = \ - key.cpp \ - keystore.cpp \ - netbase.cpp \ - protocol.cpp \ - $(BITCOIN_CORE_H) - - -# util: shared between all executables. -# This library *must* be included to make sure that the glibc -# backward-compatibility objects and their sanity checks are linked. -libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_util_a_SOURCES = \ - clientversion.cpp \ - sync.cpp \ - version.cpp \ - util.cpp \ - $(BITCOIN_CORE_H) - -nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h -# - -# hyperstaked binary # -hyperstaked_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBLEVELDB) \ - $(LIBMEMENV) $(LIBSECP256K1) $(am__append_4) $(BOOST_LIBS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ - $(LIBSECP256K1) -hyperstaked_SOURCES = bitcoind.cpp $(am__append_5) -hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) -hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -CLEANFILES = *.gcda *.gcno $(am__append_10) $(am__append_17) \ - $(am__append_21) -DISTCLEANFILES = obj/build.h -EXTRA_DIST = $(am__append_8) -TEST_SRCDIR = test -TEST_BINARY = test/test_bitcoin$(EXEEXT) -JSON_TEST_FILES = \ - test/data/script_valid.json \ - test/data/base58_keys_valid.json \ - test/data/base58_encode_decode.json \ - test/data/base58_keys_invalid.json \ - test/data/script_invalid.json - -GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) -BITCOIN_TESTS = \ - test/allocator_tests.cpp \ - test/base32_tests.cpp \ - test/base64_tests.cpp \ - test/getarg_tests.cpp \ - test/key_tests.cpp \ - test/mruset_tests.cpp \ - test/netbase_tests.cpp \ - test/test_bitcoin.cpp \ - test/sigopcount_tests.cpp - -test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) -test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) -test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ - $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ - $(BOOST_UNIT_TEST_FRAMEWORK_LIB) \ - $(am__append_9) $(LIBBITCOIN_CONSENSUS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ - $(MINIUPNPC_LIBS) -test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static -nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) -CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) - -# bitcoin qt core # -QT_TS = \ - qt/locale/bitcoin_en.ts \ - qt/locale/bitcoin_ru.ts - -QT_FORMS_UI = \ - qt/forms/aboutdialog.ui \ - qt/forms/addressbookpage.ui \ - qt/forms/askpassphrasedialog.ui \ - qt/forms/bip38tooldialog.ui \ - qt/forms/blockbrowser.ui \ - qt/forms/calcdialog.ui \ - qt/forms/charitydialog.ui \ - qt/forms/coincontroldialog.ui \ - qt/forms/editaddressdialog.ui \ - qt/forms/optionsdialog.ui \ - qt/forms/overviewpage.ui \ - qt/forms/qrcodedialog.ui \ - qt/forms/rpcconsole.ui \ - qt/forms/sendcoinsdialog.ui \ - qt/forms/sendcoinsentry.ui \ - qt/forms/signverifymessagedialog.ui \ - qt/forms/transactiondescdialog.ui - -QT_MOC_CPP = \ - qt/moc_aboutdialog.cpp \ - qt/moc_addressbookpage.cpp \ - qt/moc_addresstablemodel.cpp \ - qt/moc_askpassphrasedialog.cpp \ - qt/moc_bip38tooldialog.cpp \ - qt/moc_bitcoinaddressvalidator.cpp \ - qt/moc_bitcoinamountfield.cpp \ - qt/moc_bitcoingui.cpp \ - qt/moc_bitcoinunits.cpp \ - qt/moc_blockbrowser.cpp \ - qt/moc_calcdialog.cpp \ - qt/moc_charitydialog.cpp \ - qt/moc_clientmodel.cpp \ - qt/moc_coincontroldialog.cpp \ - qt/moc_coincontroltreewidget.cpp \ - qt/moc_csvmodelwriter.cpp \ - qt/moc_editaddressdialog.cpp \ - qt/moc_guiutil.cpp \ - qt/moc_macdockiconhandler.cpp \ - qt/moc_macnotificationhandler.cpp \ - qt/moc_monitoreddatamapper.cpp \ - qt/moc_notificator.cpp \ - qt/moc_optionsdialog.cpp \ - qt/moc_optionsmodel.cpp \ - qt/moc_overviewpage.cpp \ - qt/moc_paymentserver.cpp \ - qt/moc_qrcodedialog.cpp \ - qt/moc_qvalidatedlineedit.cpp \ - qt/moc_qvaluecombobox.cpp \ - qt/moc_rpcconsole.cpp \ - qt/moc_sendcoinsdialog.cpp \ - qt/moc_sendcoinsentry.cpp \ - qt/moc_signverifymessagedialog.cpp \ - qt/moc_transactiondesc.cpp \ - qt/moc_transactiondescdialog.cpp \ - qt/moc_transactionfilterproxy.cpp \ - qt/moc_transactiontablemodel.cpp \ - qt/moc_transactionview.cpp \ - qt/moc_walletmodel.cpp - -BITCOIN_MM = \ - qt/macdockiconhandler.mm \ - qt/macnotificationhandler.mm - -QT_MOC = \ - qt/bitcoin.moc \ - qt/bitcoinamountfield.moc \ - qt/overviewpage.moc \ - qt/rpcconsole.moc - -QT_QRC_CPP = qt/qrc_bitcoin.cpp -QT_QRC = qt/bitcoin.qrc -BITCOIN_QT_H = \ - qt/aboutdialog.h \ - qt/addressbookpage.h \ - qt/addresstablemodel.h \ - qt/askpassphrasedialog.h \ - qt/bip38tooldialog.h \ - qt/bitcoinaddressvalidator.h \ - qt/bitcoinamountfield.h \ - qt/bitcoingui.h \ - qt/bitcoinunits.h \ - qt/blockbrowser.h \ - qt/calcdialog.h \ - qt/charitydialog.h \ - qt/clientmodel.h \ - qt/coincontroldialog.h \ - qt/coincontroltreewidget.h \ - qt/csvmodelwriter.h \ - qt/editaddressdialog.h \ - qt/guiconstants.h \ - qt/guiutil.h \ - qt/macdockiconhandler.h \ - qt/macnotificationhandler.h \ - qt/monitoreddatamapper.h \ - qt/networkstyle.h \ - qt/notificator.h \ - qt/optionsdialog.h \ - qt/optionsmodel.h \ - qt/overviewpage.h \ - qt/paymentserver.h \ - qt/qrcodedialog.h \ - qt/qvalidatedlineedit.h \ - qt/qvaluecombobox.h \ - qt/rpcconsole.h \ - qt/scicon.h \ - qt/sendcoinsdialog.h \ - qt/sendcoinsentry.h \ - qt/signverifymessagedialog.h \ - qt/transactiondesc.h \ - qt/transactiondescdialog.h \ - qt/transactionfilterproxy.h \ - qt/transactionrecord.h \ - qt/transactiontablemodel.h \ - qt/transactionview.h \ - qt/walletmodel.h - -RES_ICONS = \ - qt/res/icons/add.png \ - qt/res/icons/address-book.png \ - qt/res/icons/blexp.png \ - qt/res/icons/clock1.png \ - qt/res/icons/clock2.png \ - qt/res/icons/clock3.png \ - qt/res/icons/clock4.png \ - qt/res/icons/clock5.png \ - qt/res/icons/configure.png \ - qt/res/icons/connect0_16.png \ - qt/res/icons/connect1_16.png \ - qt/res/icons/connect2_16.png \ - qt/res/icons/connect3_16.png \ - qt/res/icons/connect4_16.png \ - qt/res/icons/debugwindow.png \ - qt/res/icons/edit.png \ - qt/res/icons/editcopy.png \ - qt/res/icons/editpaste.png \ - qt/res/icons/export.png \ - qt/res/icons/filesave.png \ - qt/res/icons/history.png \ - qt/res/icons/hyperstake-16.png \ - qt/res/icons/hyperstake-32.png \ - qt/res/icons/hyperstake-128.png \ - qt/res/icons/info.png \ - qt/res/icons/key.png \ - qt/res/icons/lock_closed.png \ - qt/res/icons/lock_open.png \ - qt/res/icons/mining.png \ - qt/res/icons/mining_inactive.png \ - qt/res/icons/notsynced.png \ - qt/res/icons/overview.png \ - qt/res/icons/qrcode.png \ - qt/res/icons/quit.png \ - qt/res/icons/receive.png \ - qt/res/icons/remove.png \ - qt/res/icons/s4c.png \ - qt/res/icons/send.png \ - qt/res/icons/synced.png \ - qt/res/icons/transaction0.png \ - qt/res/icons/transaction2.png \ - qt/res/icons/tx_inout.png \ - qt/res/icons/tx_input.png \ - qt/res/icons/tx_output.png \ - qt/res/icons/tx_mined.png - -BITCOIN_QT_CPP = qt/aboutdialog.cpp \ - qt/bip38tooldialog.cpp \ - qt/bitcoinaddressvalidator.cpp \ - qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ - qt/bitcoinunits.cpp qt/blockbrowser.cpp \ - qt/calcdialog.cpp qt/charitydialog.cpp \ - qt/clientmodel.cpp qt/csvmodelwriter.cpp \ - qt/guiutil.cpp qt/monitoreddatamapper.cpp \ - qt/networkstyle.cpp qt/notificator.cpp \ - qt/optionsdialog.cpp qt/optionsmodel.cpp \ - qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ - qt/qvaluecombobox.cpp qt/rpcconsole.cpp \ - qt/scicon.cpp qt/walletmodel.cpp \ - $(am__append_13) -RES_IMAGES = \ - qt/res/images/about.png \ - qt/res/images/splash.png \ - qt/res/images/wallet.png - -RES_STYLESHEETS = -RES_MOVIES = $(wildcard qt/res/movies/*.mng) -BITCOIN_RC = qt/res/bitcoin-qt.rc -BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ - -I$(builddir)/qt/forms - -qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) - -qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ - $(QT_QRC) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) - -nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ - $(PROTOBUF_H) $(QT_QRC_CPP) - - -# forms/foo.h -> forms/ui_foo.h -QT_FORMS_H = $(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h)))) - -# hyperstake-qt binary # -qt_hyperstake_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) - -qt_hyperstake_qt_SOURCES = qt/bitcoin.cpp \ - $(am__append_14) $(am__append_15) -qt_hyperstake_qt_LDADD = qt/libbitcoinqt.a \ - $(LIBBITCOIN_SERVER) $(am__append_16) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ - $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ - $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) \ - $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) \ - $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ - $(LIBSECP256K1) -qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX - -#locale/foo.ts -> locale/foo.qm -QT_QM = $(QT_TS:.ts=.qm) -CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno -TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp -TEST_QT_H = \ - qt/test/uritests.h - -qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) - -qt_test_test_bitcoin_qt_SOURCES = \ - qt/test/test_main.cpp \ - qt/test/uritests.cpp \ - $(TEST_QT_H) - -nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP) -qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) \ - $(LIBBITCOIN_SERVER) $(am__append_20) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) \ - $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ - $(LIBMEMENV) $(BOOST_LIBS) \ - $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \ - $(QT_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ - $(MINIUPNPC_LIBS) $(LIBSECP256K1) -qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .c .cpp .lo .log .mm .o .obj .rc .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libbitcoin_common.a: $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_DEPENDENCIES) $(EXTRA_libbitcoin_common_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_common.a - $(AM_V_AR)$(libbitcoin_common_a_AR) libbitcoin_common.a $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_common.a - -libbitcoin_server.a: $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_DEPENDENCIES) $(EXTRA_libbitcoin_server_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_server.a - $(AM_V_AR)$(libbitcoin_server_a_AR) libbitcoin_server.a $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_server.a - -libbitcoin_util.a: $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_DEPENDENCIES) $(EXTRA_libbitcoin_util_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_util.a - $(AM_V_AR)$(libbitcoin_util_a_AR) libbitcoin_util.a $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_util.a - -libbitcoin_wallet.a: $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_DEPENDENCIES) $(EXTRA_libbitcoin_wallet_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_wallet.a - $(AM_V_AR)$(libbitcoin_wallet_a_AR) libbitcoin_wallet.a $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_wallet.a -qt/$(am__dirstamp): - @$(MKDIR_P) qt - @: > qt/$(am__dirstamp) -qt/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/$(DEPDIR) - @: > qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-notificator.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-scicon.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) - -qt/libbitcoinqt.a: $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_DEPENDENCIES) $(EXTRA_qt_libbitcoinqt_a_DEPENDENCIES) qt/$(am__dirstamp) - $(AM_V_at)-rm -f qt/libbitcoinqt.a - $(AM_V_AR)$(qt_libbitcoinqt_a_AR) qt/libbitcoinqt.a $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_LIBADD) - $(AM_V_at)$(RANLIB) qt/libbitcoinqt.a -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -hyperstaked$(EXEEXT): $(hyperstaked_OBJECTS) $(hyperstaked_DEPENDENCIES) $(EXTRA_hyperstaked_DEPENDENCIES) - @rm -f hyperstaked$(EXEEXT) - $(AM_V_CXXLD)$(hyperstaked_LINK) $(hyperstaked_OBJECTS) $(hyperstaked_LDADD) $(LIBS) -qt/qt_hyperstake_qt-bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/res/$(am__dirstamp): - @$(MKDIR_P) qt/res - @: > qt/res/$(am__dirstamp) -qt/res/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/res/$(DEPDIR) - @: > qt/res/$(DEPDIR)/$(am__dirstamp) -qt/res/bitcoin-qt.$(OBJEXT): qt/res/$(am__dirstamp) \ - qt/res/$(DEPDIR)/$(am__dirstamp) - -qt/hyperstake-qt$(EXEEXT): $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_DEPENDENCIES) $(EXTRA_qt_hyperstake_qt_DEPENDENCIES) qt/$(am__dirstamp) - @rm -f qt/hyperstake-qt$(EXEEXT) - $(AM_V_OBJCXXLD)$(qt_hyperstake_qt_LINK) $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_LDADD) $(LIBS) -qt/test/$(am__dirstamp): - @$(MKDIR_P) qt/test - @: > qt/test/$(am__dirstamp) -qt/test/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/test/$(DEPDIR) - @: > qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) - -qt/test/test_bitcoin-qt$(EXEEXT): $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_DEPENDENCIES) $(EXTRA_qt_test_test_bitcoin_qt_DEPENDENCIES) qt/test/$(am__dirstamp) - @rm -f qt/test/test_bitcoin-qt$(EXEEXT) - $(AM_V_CXXLD)$(qt_test_test_bitcoin_qt_LINK) $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_LDADD) $(LIBS) -test/$(am__dirstamp): - @$(MKDIR_P) test - @: > test/$(am__dirstamp) -test/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) test/$(DEPDIR) - @: > test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-allocator_tests.$(OBJEXT): \ - test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-base32_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-base64_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-getarg_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-key_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-mruset_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-netbase_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-test_bitcoin.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-sigopcount_tests.$(OBJEXT): \ - test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) - -test/test_bitcoin$(EXEEXT): $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_DEPENDENCIES) $(EXTRA_test_test_bitcoin_DEPENDENCIES) test/$(am__dirstamp) - @rm -f test/test_bitcoin$(EXEEXT) - $(AM_V_CXXLD)$(test_test_bitcoin_LINK) $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f qt/*.$(OBJEXT) - -rm -f qt/res/*.$(OBJEXT) - -rm -f qt/test/*.$(OBJEXT) - -rm -f test/*.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/hyperstaked-bitcoind.Po -include ./$(DEPDIR)/libbitcoin_common_a-key.Po -include ./$(DEPDIR)/libbitcoin_common_a-keystore.Po -include ./$(DEPDIR)/libbitcoin_common_a-netbase.Po -include ./$(DEPDIR)/libbitcoin_common_a-protocol.Po -include ./$(DEPDIR)/libbitcoin_server_a-addrman.Po -include ./$(DEPDIR)/libbitcoin_server_a-aes_helper.Po -include ./$(DEPDIR)/libbitcoin_server_a-alert.Po -include ./$(DEPDIR)/libbitcoin_server_a-bip38.Po -include ./$(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -include ./$(DEPDIR)/libbitcoin_server_a-blake.Po -include ./$(DEPDIR)/libbitcoin_server_a-bmw.Po -include ./$(DEPDIR)/libbitcoin_server_a-checkpoints.Po -include ./$(DEPDIR)/libbitcoin_server_a-cubehash.Po -include ./$(DEPDIR)/libbitcoin_server_a-echo.Po -include ./$(DEPDIR)/libbitcoin_server_a-groestl.Po -include ./$(DEPDIR)/libbitcoin_server_a-init.Po -include ./$(DEPDIR)/libbitcoin_server_a-jh.Po -include ./$(DEPDIR)/libbitcoin_server_a-keccak.Po -include ./$(DEPDIR)/libbitcoin_server_a-kernel.Po -include ./$(DEPDIR)/libbitcoin_server_a-luffa.Po -include ./$(DEPDIR)/libbitcoin_server_a-main.Po -include ./$(DEPDIR)/libbitcoin_server_a-net.Po -include ./$(DEPDIR)/libbitcoin_server_a-noui.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcmining.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcnet.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -include ./$(DEPDIR)/libbitcoin_server_a-script.Po -include ./$(DEPDIR)/libbitcoin_server_a-scrypt.Po -include ./$(DEPDIR)/libbitcoin_server_a-shavite.Po -include ./$(DEPDIR)/libbitcoin_server_a-simd.Po -include ./$(DEPDIR)/libbitcoin_server_a-skein.Po -include ./$(DEPDIR)/libbitcoin_util_a-clientversion.Po -include ./$(DEPDIR)/libbitcoin_util_a-sync.Po -include ./$(DEPDIR)/libbitcoin_util_a-util.Po -include ./$(DEPDIR)/libbitcoin_util_a-version.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-bip38.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-crypter.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-db.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-wallet.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -include test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libbitcoin_server_a-aes_helper.o: aes_helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po -# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c - -libbitcoin_server_a-aes_helper.obj: aes_helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po -# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` - -libbitcoin_server_a-blake.o: blake.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po -# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c - -libbitcoin_server_a-blake.obj: blake.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po -# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` - -libbitcoin_server_a-bmw.o: bmw.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po -# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c - -libbitcoin_server_a-bmw.obj: bmw.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po -# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` - -libbitcoin_server_a-cubehash.o: cubehash.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po -# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c - -libbitcoin_server_a-cubehash.obj: cubehash.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po -# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` - -libbitcoin_server_a-echo.o: echo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po -# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c - -libbitcoin_server_a-echo.obj: echo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po -# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` - -libbitcoin_server_a-groestl.o: groestl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po -# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c - -libbitcoin_server_a-groestl.obj: groestl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po -# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` - -libbitcoin_server_a-jh.o: jh.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po -# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c - -libbitcoin_server_a-jh.obj: jh.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po -# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` - -libbitcoin_server_a-keccak.o: keccak.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po -# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c - -libbitcoin_server_a-keccak.obj: keccak.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po -# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` - -libbitcoin_server_a-luffa.o: luffa.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po -# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c - -libbitcoin_server_a-luffa.obj: luffa.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po -# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` - -libbitcoin_server_a-shavite.o: shavite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po -# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c - -libbitcoin_server_a-shavite.obj: shavite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po -# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` - -libbitcoin_server_a-simd.o: simd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po -# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c - -libbitcoin_server_a-simd.obj: simd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po -# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` - -libbitcoin_server_a-skein.o: skein.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po -# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c - -libbitcoin_server_a-skein.obj: skein.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po -# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` - -.cpp.o: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< - -libbitcoin_common_a-key.o: key.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po -# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp - -libbitcoin_common_a-key.obj: key.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po -# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` - -libbitcoin_common_a-keystore.o: keystore.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po -# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp - -libbitcoin_common_a-keystore.obj: keystore.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po -# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` - -libbitcoin_common_a-netbase.o: netbase.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po -# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp - -libbitcoin_common_a-netbase.obj: netbase.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po -# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` - -libbitcoin_common_a-protocol.o: protocol.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po -# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp - -libbitcoin_common_a-protocol.obj: protocol.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po -# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` - -libbitcoin_server_a-addrman.o: addrman.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po -# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp - -libbitcoin_server_a-addrman.obj: addrman.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po -# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` - -libbitcoin_server_a-alert.o: alert.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po -# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp - -libbitcoin_server_a-alert.obj: alert.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po -# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` - -libbitcoin_server_a-bip38.o: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - -libbitcoin_server_a-bip38.obj: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - -libbitcoin_server_a-bitcoinrpc.o: bitcoinrpc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp - -libbitcoin_server_a-bitcoinrpc.obj: bitcoinrpc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` - -libbitcoin_server_a-checkpoints.o: checkpoints.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po -# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp - -libbitcoin_server_a-checkpoints.obj: checkpoints.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po -# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` - -libbitcoin_server_a-init.o: init.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po -# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp - -libbitcoin_server_a-init.obj: init.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po -# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` - -libbitcoin_server_a-kernel.o: kernel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po -# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp - -libbitcoin_server_a-kernel.obj: kernel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po -# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` - -libbitcoin_server_a-main.o: main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po -# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp - -libbitcoin_server_a-main.obj: main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po -# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` - -libbitcoin_server_a-net.o: net.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po -# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp - -libbitcoin_server_a-net.obj: net.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po -# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` - -libbitcoin_server_a-noui.o: noui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po -# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp - -libbitcoin_server_a-noui.obj: noui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po -# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` - -libbitcoin_server_a-rpcblockchain.o: rpcblockchain.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp - -libbitcoin_server_a-rpcblockchain.obj: rpcblockchain.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` - -libbitcoin_server_a-rpcmining.o: rpcmining.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po -# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp - -libbitcoin_server_a-rpcmining.obj: rpcmining.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po -# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` - -libbitcoin_server_a-rpcnet.o: rpcnet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po -# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp - -libbitcoin_server_a-rpcnet.obj: rpcnet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po -# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` - -libbitcoin_server_a-rpcrawtransaction.o: rpcrawtransaction.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp - -libbitcoin_server_a-rpcrawtransaction.obj: rpcrawtransaction.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` - -libbitcoin_server_a-script.o: script.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po -# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp - -libbitcoin_server_a-script.obj: script.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po -# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` - -libbitcoin_server_a-scrypt.o: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - -libbitcoin_server_a-scrypt.obj: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - -libbitcoin_util_a-clientversion.o: clientversion.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po -# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp - -libbitcoin_util_a-clientversion.obj: clientversion.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po -# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` - -libbitcoin_util_a-sync.o: sync.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po -# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp - -libbitcoin_util_a-sync.obj: sync.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po -# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` - -libbitcoin_util_a-version.o: version.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po -# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp - -libbitcoin_util_a-version.obj: version.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po -# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` - -libbitcoin_util_a-util.o: util.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po -# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp - -libbitcoin_util_a-util.obj: util.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po -# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` - -libbitcoin_wallet_a-bip38.o: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - -libbitcoin_wallet_a-bip38.obj: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - -libbitcoin_wallet_a-db.o: db.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po -# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp - -libbitcoin_wallet_a-db.obj: db.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po -# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` - -libbitcoin_wallet_a-crypter.o: crypter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po -# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp - -libbitcoin_wallet_a-crypter.obj: crypter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po -# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` - -libbitcoin_wallet_a-pbkdf2.o: pbkdf2.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp - -libbitcoin_wallet_a-pbkdf2.obj: pbkdf2.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` - -libbitcoin_wallet_a-rpcdump.o: rpcdump.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp - -libbitcoin_wallet_a-rpcdump.obj: rpcdump.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` - -libbitcoin_wallet_a-rpcwallet.o: rpcwallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp - -libbitcoin_wallet_a-rpcwallet.obj: rpcwallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` - -libbitcoin_wallet_a-scrypt.o: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - -libbitcoin_wallet_a-scrypt.obj: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - -libbitcoin_wallet_a-wallet.o: wallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po -# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp - -libbitcoin_wallet_a-wallet.obj: wallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po -# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` - -libbitcoin_wallet_a-walletdb.o: walletdb.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp - -libbitcoin_wallet_a-walletdb.obj: walletdb.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` - -qt/qt_libbitcoinqt_a-aboutdialog.o: qt/aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp - -qt/qt_libbitcoinqt_a-aboutdialog.obj: qt/aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-bip38tooldialog.o: qt/bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp - -qt/qt_libbitcoinqt_a-bip38tooldialog.obj: qt/bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o: qt/bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp - -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj: qt/bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinamountfield.o: qt/bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp - -qt/qt_libbitcoinqt_a-bitcoinamountfield.obj: qt/bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoingui.o: qt/bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp - -qt/qt_libbitcoinqt_a-bitcoingui.obj: qt/bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinunits.o: qt/bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp - -qt/qt_libbitcoinqt_a-bitcoinunits.obj: qt/bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` - -qt/qt_libbitcoinqt_a-blockbrowser.o: qt/blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp - -qt/qt_libbitcoinqt_a-blockbrowser.obj: qt/blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` - -qt/qt_libbitcoinqt_a-calcdialog.o: qt/calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp - -qt/qt_libbitcoinqt_a-calcdialog.obj: qt/calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-charitydialog.o: qt/charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp - -qt/qt_libbitcoinqt_a-charitydialog.obj: qt/charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-clientmodel.o: qt/clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp - -qt/qt_libbitcoinqt_a-clientmodel.obj: qt/clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-csvmodelwriter.o: qt/csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp - -qt/qt_libbitcoinqt_a-csvmodelwriter.obj: qt/csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` - -qt/qt_libbitcoinqt_a-guiutil.o: qt/guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp - -qt/qt_libbitcoinqt_a-guiutil.obj: qt/guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` - -qt/qt_libbitcoinqt_a-monitoreddatamapper.o: qt/monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp - -qt/qt_libbitcoinqt_a-monitoreddatamapper.obj: qt/monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` - -qt/qt_libbitcoinqt_a-networkstyle.o: qt/networkstyle.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp - -qt/qt_libbitcoinqt_a-networkstyle.obj: qt/networkstyle.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` - -qt/qt_libbitcoinqt_a-notificator.o: qt/notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp - -qt/qt_libbitcoinqt_a-notificator.obj: qt/notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` - -qt/qt_libbitcoinqt_a-optionsdialog.o: qt/optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp - -qt/qt_libbitcoinqt_a-optionsdialog.obj: qt/optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-optionsmodel.o: qt/optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp - -qt/qt_libbitcoinqt_a-optionsmodel.obj: qt/optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-qrcodedialog.o: qt/qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp - -qt/qt_libbitcoinqt_a-qrcodedialog.obj: qt/qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-qvalidatedlineedit.o: qt/qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp - -qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj: qt/qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` - -qt/qt_libbitcoinqt_a-qvaluecombobox.o: qt/qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp - -qt/qt_libbitcoinqt_a-qvaluecombobox.obj: qt/qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` - -qt/qt_libbitcoinqt_a-rpcconsole.o: qt/rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp - -qt/qt_libbitcoinqt_a-rpcconsole.obj: qt/rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` - -qt/qt_libbitcoinqt_a-scicon.o: qt/scicon.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp - -qt/qt_libbitcoinqt_a-scicon.obj: qt/scicon.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` - -qt/qt_libbitcoinqt_a-walletmodel.o: qt/walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp - -qt/qt_libbitcoinqt_a-walletmodel.obj: qt/walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-addressbookpage.o: qt/addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp - -qt/qt_libbitcoinqt_a-addressbookpage.obj: qt/addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-addresstablemodel.o: qt/addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp - -qt/qt_libbitcoinqt_a-addresstablemodel.obj: qt/addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-askpassphrasedialog.o: qt/askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp - -qt/qt_libbitcoinqt_a-askpassphrasedialog.obj: qt/askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-coincontroldialog.o: qt/coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp - -qt/qt_libbitcoinqt_a-coincontroldialog.obj: qt/coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-coincontroltreewidget.o: qt/coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp - -qt/qt_libbitcoinqt_a-coincontroltreewidget.obj: qt/coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` - -qt/qt_libbitcoinqt_a-editaddressdialog.o: qt/editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp - -qt/qt_libbitcoinqt_a-editaddressdialog.obj: qt/editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-overviewpage.o: qt/overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp - -qt/qt_libbitcoinqt_a-overviewpage.obj: qt/overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-paymentserver.o: qt/paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp - -qt/qt_libbitcoinqt_a-paymentserver.obj: qt/paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` - -qt/qt_libbitcoinqt_a-sendcoinsdialog.o: qt/sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp - -qt/qt_libbitcoinqt_a-sendcoinsdialog.obj: qt/sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-sendcoinsentry.o: qt/sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp - -qt/qt_libbitcoinqt_a-sendcoinsentry.obj: qt/sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` - -qt/qt_libbitcoinqt_a-signverifymessagedialog.o: qt/signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp - -qt/qt_libbitcoinqt_a-signverifymessagedialog.obj: qt/signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiondesc.o: qt/transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp - -qt/qt_libbitcoinqt_a-transactiondesc.obj: qt/transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiondescdialog.o: qt/transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp - -qt/qt_libbitcoinqt_a-transactiondescdialog.obj: qt/transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionfilterproxy.o: qt/transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp - -qt/qt_libbitcoinqt_a-transactionfilterproxy.obj: qt/transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionrecord.o: qt/transactionrecord.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp - -qt/qt_libbitcoinqt_a-transactionrecord.obj: qt/transactionrecord.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiontablemodel.o: qt/transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp - -qt/qt_libbitcoinqt_a-transactiontablemodel.obj: qt/transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionview.o: qt/transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp - -qt/qt_libbitcoinqt_a-transactionview.obj: qt/transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_aboutdialog.o: qt/moc_aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp - -qt/qt_libbitcoinqt_a-moc_aboutdialog.obj: qt/moc_aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_addressbookpage.o: qt/moc_addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp - -qt/qt_libbitcoinqt_a-moc_addressbookpage.obj: qt/moc_addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_addresstablemodel.o: qt/moc_addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp - -qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj: qt/moc_addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o: qt/moc_askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp - -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj: qt/moc_askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o: qt/moc_bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp - -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj: qt/moc_bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o: qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj: qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o: qt/moc_bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj: qt/moc_bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoingui.o: qt/moc_bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoingui.obj: qt/moc_bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinunits.o: qt/moc_bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj: qt/moc_bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_blockbrowser.o: qt/moc_blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp - -qt/qt_libbitcoinqt_a-moc_blockbrowser.obj: qt/moc_blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_calcdialog.o: qt/moc_calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp - -qt/qt_libbitcoinqt_a-moc_calcdialog.obj: qt/moc_calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_charitydialog.o: qt/moc_charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp - -qt/qt_libbitcoinqt_a-moc_charitydialog.obj: qt/moc_charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_clientmodel.o: qt/moc_clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp - -qt/qt_libbitcoinqt_a-moc_clientmodel.obj: qt/moc_clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_coincontroldialog.o: qt/moc_coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp - -qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj: qt/moc_coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o: qt/moc_coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp - -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj: qt/moc_coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o: qt/moc_csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp - -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj: qt/moc_csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_editaddressdialog.o: qt/moc_editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp - -qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj: qt/moc_editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_guiutil.o: qt/moc_guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp - -qt/qt_libbitcoinqt_a-moc_guiutil.obj: qt/moc_guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o: qt/moc_macdockiconhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp - -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj: qt/moc_macdockiconhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o: qt/moc_macnotificationhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp - -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj: qt/moc_macnotificationhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o: qt/moc_monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp - -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj: qt/moc_monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_notificator.o: qt/moc_notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp - -qt/qt_libbitcoinqt_a-moc_notificator.obj: qt/moc_notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_optionsdialog.o: qt/moc_optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp - -qt/qt_libbitcoinqt_a-moc_optionsdialog.obj: qt/moc_optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_optionsmodel.o: qt/moc_optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp - -qt/qt_libbitcoinqt_a-moc_optionsmodel.obj: qt/moc_optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_overviewpage.o: qt/moc_overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp - -qt/qt_libbitcoinqt_a-moc_overviewpage.obj: qt/moc_overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_paymentserver.o: qt/moc_paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp - -qt/qt_libbitcoinqt_a-moc_paymentserver.obj: qt/moc_paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qrcodedialog.o: qt/moc_qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp - -qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj: qt/moc_qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o: qt/moc_qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp - -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj: qt/moc_qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o: qt/moc_qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp - -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj: qt/moc_qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_rpcconsole.o: qt/moc_rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp - -qt/qt_libbitcoinqt_a-moc_rpcconsole.obj: qt/moc_rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o: qt/moc_sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp - -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj: qt/moc_sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o: qt/moc_sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp - -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj: qt/moc_sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o: qt/moc_signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp - -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj: qt/moc_signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiondesc.o: qt/moc_transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp - -qt/qt_libbitcoinqt_a-moc_transactiondesc.obj: qt/moc_transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o: qt/moc_transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp - -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj: qt/moc_transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o: qt/moc_transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp - -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj: qt/moc_transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o: qt/moc_transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp - -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj: qt/moc_transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactionview.o: qt/moc_transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp - -qt/qt_libbitcoinqt_a-moc_transactionview.obj: qt/moc_transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_walletmodel.o: qt/moc_walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp - -qt/qt_libbitcoinqt_a-moc_walletmodel.obj: qt/moc_walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-qrc_bitcoin.o: qt/qrc_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp - -qt/qt_libbitcoinqt_a-qrc_bitcoin.obj: qt/qrc_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` - -hyperstaked-bitcoind.o: bitcoind.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.o -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po -# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp - -hyperstaked-bitcoind.obj: bitcoind.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.obj -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po -# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` - -qt/qt_hyperstake_qt-bitcoin.o: qt/bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp - -qt/qt_hyperstake_qt-bitcoin.obj: qt/bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-test_main.o: qt/test/test_main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp - -qt/test/qt_test_test_bitcoin_qt-test_main.obj: qt/test/test_main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-uritests.o: qt/test/uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp - -qt/test/qt_test_test_bitcoin_qt-uritests.obj: qt/test/uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-moc_uritests.o: qt/test/moc_uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp - -qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj: qt/test/moc_uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` - -test/test_test_bitcoin-allocator_tests.o: test/allocator_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp - -test/test_test_bitcoin-allocator_tests.obj: test/allocator_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` - -test/test_test_bitcoin-base32_tests.o: test/base32_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp - -test/test_test_bitcoin-base32_tests.obj: test/base32_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` - -test/test_test_bitcoin-base64_tests.o: test/base64_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp - -test/test_test_bitcoin-base64_tests.obj: test/base64_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` - -test/test_test_bitcoin-getarg_tests.o: test/getarg_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp - -test/test_test_bitcoin-getarg_tests.obj: test/getarg_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` - -test/test_test_bitcoin-key_tests.o: test/key_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp - -test/test_test_bitcoin-key_tests.obj: test/key_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` - -test/test_test_bitcoin-mruset_tests.o: test/mruset_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp - -test/test_test_bitcoin-mruset_tests.obj: test/mruset_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` - -test/test_test_bitcoin-netbase_tests.o: test/netbase_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp - -test/test_test_bitcoin-netbase_tests.obj: test/netbase_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` - -test/test_test_bitcoin-test_bitcoin.o: test/test_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po -# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp - -test/test_test_bitcoin-test_bitcoin.obj: test/test_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po -# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` - -test/test_test_bitcoin-sigopcount_tests.o: test/sigopcount_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp - -test/test_test_bitcoin-sigopcount_tests.obj: test/sigopcount_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` - -.mm.obj: - $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_OBJCXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.mm.lo: - $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTOBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_OBJCXX)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(LTOBJCXXCOMPILE) -c -o $@ $< - -qt/qt_hyperstake_qt-macdockiconhandler.o: qt/macdockiconhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm - -qt/qt_hyperstake_qt-macdockiconhandler.obj: qt/macdockiconhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` - -qt/qt_hyperstake_qt-macnotificationhandler.o: qt/macnotificationhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm - -qt/qt_hyperstake_qt-macnotificationhandler.obj: qt/macnotificationhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf qt/.libs qt/_libs - -rm -rf qt/test/.libs qt/test/_libs - -rm -rf test/.libs test/_libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -test/test_bitcoin.log: test/test_bitcoin$(EXEEXT) - @p='test/test_bitcoin$(EXEEXT)'; \ - b='test/test_bitcoin'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test/bitcoin-util-test.py.log: test/bitcoin-util-test.py - @p='test/bitcoin-util-test.py'; \ - b='test/bitcoin-util-test.py'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -qt/test/test_bitcoin-qt.log: qt/test/test_bitcoin-qt$(EXEEXT) - @p='qt/test/test_bitcoin-qt$(EXEEXT)'; \ - b='qt/test/test_bitcoin-qt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f qt/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/$(am__dirstamp) - -rm -f qt/res/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/res/$(am__dirstamp) - -rm -f qt/test/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/test/$(am__dirstamp) - -rm -f test/$(DEPDIR)/$(am__dirstamp) - -rm -f test/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: $(am__recursive_targets) check-am install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-binPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - -.PHONY: FORCE - -obj/build.h: FORCE - @$(MKDIR_P) $(builddir)/obj - @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ - $(abs_top_srcdir) -libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h - -clean-local: - -$(MAKE) -C leveldb clean - -$(MAKE) -C secp256k1 clean - -rm -f config.h - -.rc.o: - @test -f $(WINDRES) - $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ - -.mm.o: - $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< - -%.pb.cc %.pb.h: %.proto - @test -f $(PROTOC) - $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $( $@ - @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ - @echo "};};" >> $@ - @echo "Generated $@" - -%.raw.h: %.raw - @$(MKDIR_P) $(@D) - @echo "namespace alert_tests{" > $@ - @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ - @echo "};};" >> $@ - @echo "Generated $@" - -# Most files will depend on the forms and moc files as includes. Generate them -# before anything else. -$(QT_MOC): $(QT_FORMS_H) -$(qt_libbitcoinqt_a_OBJECTS) $(qt_bitcoin_qt_OBJECTS) : | $(QT_MOC) - -#Generating these with a half-written protobuf header leads to wacky results. -#This makes sure it's done. -$(QT_MOC): $(PROTOBUF_H) -$(QT_MOC_CPP): $(PROTOBUF_H) - -SECONDARY: $(QT_QM) - -qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) - @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" - $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ - -translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) - @test -n $(LUPDATE) || echo "lupdate is required for updating translations" - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts - -$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) $(PROTOBUF_H) - @test -f $(RCC) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -hyperstake_qt_clean: FORCE - rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_hyperstake_qt_OBJECTS) qt/hyperstake-qt$(EXEEXT) $(LIBBITCOINQT) - -hyperstake_qt : qt/hyperstake-qt$(EXEEXT) - -ui_%.h: %.ui - @test -f $(UIC) - @$(MKDIR_P) $(@D) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(UIC) -o $@ $< || (echo "Error creating $@"; false) - -%.moc: %.cpp - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -moc_%.cpp: %.h - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -%.qm: %.ts - @test -f $(LRELEASE) - @$(MKDIR_P) $(@D) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LRELEASE) -silent $< -qm $@ - -test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT) - -test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE - $(MAKE) check-TESTS TESTS=$^ - -test_bitcoin_qt_clean: FORCE - rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/main.cpp b/src/main.cpp index 2485e4b27..72c9471f4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -322,6 +322,25 @@ bool CTransaction::IsStandard() const return true; } +bool CTransaction::IsProposal() const +{ + for (CTxOut out : vout) { + CScript scriptPubKey = out.scriptPubKey; + if (scriptPubKey.IsDataCarrier()) { + if (scriptPubKey.size() > 5) { + // "PROP" in ascii + if (scriptPubKey.at(1) == 0x70 && + scriptPubKey.at(2) == 0x72 && + scriptPubKey.at(3) == 0x6f && + scriptPubKey.at(4) == 0x70) + return true; + } + } + } + + return false; +} + // // Check transaction inputs, and make sure any // pay-to-script-hash transactions are evaluating IsStandard scripts diff --git a/src/main.h b/src/main.h index 31397817b..f63c307dd 100644 --- a/src/main.h +++ b/src/main.h @@ -538,6 +538,7 @@ class CTransaction return (IsCoinBase() || IsCoinStake()); } + bool IsProposal() const; /** Check for standard transaction types @return True if all outputs (scriptPubKeys) use only standard transaction forms diff --git a/src/script.h b/src/script.h index 99465cb10..b7a3911d0 100644 --- a/src/script.h +++ b/src/script.h @@ -537,6 +537,11 @@ class CScript : public std::vector return true; } + bool IsDataCarrier() const + { + return (this->size() > 0 && this->at(0) == OP_RETURN); + } + void SetDestination(const CTxDestination& address); void SetMultisig(int nRequired, const std::vector& keys); diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 5ad4ec43d..9d7a3af21 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -1,5 +1,49 @@ -// -// Created by carrie on 12/8/17. -// +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include "voteproposal.h" +using namespace std; + + +/** +* The vote proposal is serialized and added to a CTransaction as a data object via OP_RETURN transaction output. +* The transaction is marked as a proposal by marking the first 4 bytes as "PROP" in ASCII +*/ +bool CVoteProposal::ConstructTransaction(CTransaction& tx) +{ + if (tx.vin.empty()) { + printf("%s : transaction does not have any inputs!\n", __func__); + return false; + } + + if (this->IsNull()) { + printf("%s : vote proposal is null!\n", __func__); + return false; + } + + CScript scriptProposal; + scriptProposal << OP_RETURN << 0x70726f70; //"PROP" in ASCII + + //serialize the vote proposal + CDataStream serializedProposal(SER_NETWORK, PROTOCOL_VERSION); + serializedProposal << this; + vector vchData(serializedProposal.begin(), serializedProposal.end()); + + //Add serialized proposal to the script + scriptProposal << vchData.size() << vchData; + + //Create txout and add it to the transaction + CTxOut out; + out.scriptPubKey = scriptProposal; + out.nValue = 0; + tx.vout.emplace_back(out); + + if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION)) { + printf("%s : transaction size is too large!\n", __func__); + return false; + } + + return true; +} \ No newline at end of file diff --git a/src/voteproposal.h b/src/voteproposal.h index b8c6dbaf2..d33edd64c 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -1,11 +1,13 @@ -// -// Created by carrie on 12/8/17. -// +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef VOTEPROPOSAL_H #define VOTEPROPOSAL_H #include +#include "main.h" +#include "serialize.h" class CVoteProposal { @@ -38,17 +40,15 @@ class CVoteProposal strDescription = ""; } + bool IsNull () { return strName == ""; } + CVoteProposal() { SetNull(); } - CVoteProposal( std::string strName, - uint8_t nShift, - int nStartTime, - int nCheckSpan, - uint8_t nCardinals, - std::string strDescription) + CVoteProposal(std::string strName, uint8_t nShift, int nStartTime, int nCheckSpan, uint8_t nCardinals, + std::string strDescription) { this->strName = strName; this->nShift = nShift; @@ -58,6 +58,18 @@ class CVoteProposal this->strDescription = strDescription; } + IMPLEMENT_SERIALIZE + ( + READWRITE(strName); + READWRITE(nShift); + READWRITE(nStartTime); + READWRITE(nCheckSpan); + READWRITE(nCardinals); + READWRITE(strDescription); + ) + + bool ConstructTransaction(CTransaction& tx); + }; #endif //HYPERSTAKE_VOTEPROPOSAL_H From 8fdadb229daebd0a77897ff6685ec4541f1b227f Mon Sep 17 00:00:00 2001 From: tuningmind Date: Wed, 13 Dec 2017 17:41:59 -0700 Subject: [PATCH 480/555] Outline voteobject --- .gitignore | 3 + HyperStake-qt.pro | 49 +- Makefile | 1093 --- README.md | 2 +- compile-hyp.sh | 18 + depends/Makefile | 134 - src/Makefile | 4682 --------- src/Makefile.am | 13 +- src/Makefile.qt.include | 2 +- src/Makefile.qttest.include | 2 +- src/alert.cpp | 4 +- src/bip38.cpp | 140 +- src/bip38.h | 14 - src/bitcoinrpc.cpp | 2 +- src/castvote.cpp | 4 + src/{CastVote.h => castvote.h} | 6 +- src/checkpoints.cpp | 3 +- src/db.cpp | 4 +- src/init.cpp | 16 +- src/kernel.cpp | 8 +- src/key.h | 2 +- src/main.cpp | 113 +- src/main.h | 39 +- src/net.cpp | 4 +- src/net.h | 2 +- src/qt/moc_bip38tooldialog.cpp | 145 - src/rpcblockchain.cpp | 2 +- src/rpcnet.cpp | 2 +- src/rpcwallet.cpp | 4 +- src/script.h | 5 + src/scrypt.cpp | 6 +- src/secp256k1/.deps/bench_inv-bench_inv.Po | 1 + src/secp256k1/.deps/bench_sign.Po | 1 + src/secp256k1/.deps/bench_verify.Po | 1 + .../.deps/libsecp256k1_la-secp256k1.Plo | 180 + src/secp256k1/.deps/tests-tests.Po | 1 + src/secp256k1/.gitignore | 35 - src/secp256k1/.travis.yml | 27 - src/secp256k1/COPYING | 19 - src/secp256k1/Makefile.am | 89 - src/secp256k1/README.md | 55 - src/secp256k1/TODO | 3 - src/secp256k1/autogen.sh | 3 - src/secp256k1/build-aux/compile | 347 + src/secp256k1/build-aux/config.guess | 1441 +++ src/secp256k1/build-aux/config.sub | 1813 ++++ src/secp256k1/build-aux/depcomp | 791 ++ src/secp256k1/build-aux/install-sh | 508 + src/secp256k1/build-aux/m4/libtool.m4 | 8388 +++++++++++++++++ src/secp256k1/build-aux/m4/ltoptions.m4 | 437 + src/secp256k1/build-aux/m4/ltsugar.m4 | 124 + src/secp256k1/build-aux/m4/ltversion.m4 | 23 + src/secp256k1/build-aux/m4/lt~obsolete.m4 | 99 + src/secp256k1/build-aux/missing | 215 + src/secp256k1/build-aux/test-driver | 148 + src/secp256k1/configure.ac | 284 - src/secp256k1/include/secp256k1.h | 240 - .../{libsecp256k1.pc.in => libsecp256k1.pc} | 12 +- src/secp256k1/nasm_lt.sh | 57 - src/secp256k1/obj/.gitignore | 0 src/secp256k1/src/bench_inv.c | 41 - src/secp256k1/src/bench_sign.c | 49 - src/secp256k1/src/bench_verify.c | 44 - src/secp256k1/src/ecdsa.h | 27 - src/secp256k1/src/ecdsa_impl.h | 205 - src/secp256k1/src/eckey.h | 24 - src/secp256k1/src/eckey_impl.h | 191 - src/secp256k1/src/ecmult.h | 19 - src/secp256k1/src/ecmult_gen.h | 19 - src/secp256k1/src/ecmult_gen_impl.h | 121 - src/secp256k1/src/ecmult_impl.h | 245 - src/secp256k1/src/field.h | 122 - src/secp256k1/src/field_10x26.h | 21 - src/secp256k1/src/field_10x26_impl.h | 923 -- src/secp256k1/src/field_5x52.h | 21 - src/secp256k1/src/field_5x52_asm.asm | 469 - src/secp256k1/src/field_5x52_asm_impl.h | 13 - src/secp256k1/src/field_5x52_impl.h | 294 - src/secp256k1/src/field_5x52_int128_impl.h | 277 - src/secp256k1/src/field_gmp.h | 18 - src/secp256k1/src/field_gmp_impl.h | 180 - src/secp256k1/src/field_impl.h | 297 - src/secp256k1/src/group.h | 120 - src/secp256k1/src/group_impl.h | 457 - .../src/java/org/bitcoin/NativeSecp256k1.java | 60 - .../src/java/org_bitcoin_NativeSecp256k1.c | 23 - .../src/java/org_bitcoin_NativeSecp256k1.h | 21 - src/secp256k1/src/libsecp256k1-config.h | 124 + src/secp256k1/src/libsecp256k1-config.h.in | 123 + src/secp256k1/src/num.h | 68 - src/secp256k1/src/num_gmp.h | 20 - src/secp256k1/src/num_gmp_impl.h | 232 - src/secp256k1/src/num_impl.h | 24 - src/secp256k1/src/scalar.h | 96 - src/secp256k1/src/scalar_4x64.h | 17 - src/secp256k1/src/scalar_4x64_impl.h | 431 - src/secp256k1/src/scalar_8x32.h | 17 - src/secp256k1/src/scalar_8x32_impl.h | 668 -- src/secp256k1/src/scalar_impl.h | 336 - src/secp256k1/src/secp256k1.c | 328 - src/secp256k1/src/stamp-h1 | 1 + src/secp256k1/src/testrand.h | 26 - src/secp256k1/src/testrand_impl.h | 60 - src/secp256k1/src/tests.c | 1223 --- src/secp256k1/src/util.h | 81 - src/util.cpp | 11 +- src/util.h | 2 +- src/voteobject.cpp | 21 + src/voteobject.h | 29 + src/voteproposal.cpp | 52 +- src/voteproposal.h | 30 +- src/wallet.cpp | 16 +- src/walletdb.cpp | 8 +- 113 files changed, 15112 insertions(+), 15098 deletions(-) delete mode 100644 Makefile create mode 100755 compile-hyp.sh delete mode 100644 depends/Makefile delete mode 100644 src/Makefile create mode 100644 src/castvote.cpp rename src/{CastVote.h => castvote.h} (63%) delete mode 100644 src/qt/moc_bip38tooldialog.cpp create mode 100644 src/secp256k1/.deps/bench_inv-bench_inv.Po create mode 100644 src/secp256k1/.deps/bench_sign.Po create mode 100644 src/secp256k1/.deps/bench_verify.Po create mode 100644 src/secp256k1/.deps/libsecp256k1_la-secp256k1.Plo create mode 100644 src/secp256k1/.deps/tests-tests.Po delete mode 100644 src/secp256k1/.gitignore delete mode 100644 src/secp256k1/.travis.yml delete mode 100644 src/secp256k1/COPYING delete mode 100644 src/secp256k1/Makefile.am delete mode 100644 src/secp256k1/README.md delete mode 100644 src/secp256k1/TODO delete mode 100755 src/secp256k1/autogen.sh create mode 100755 src/secp256k1/build-aux/compile create mode 100755 src/secp256k1/build-aux/config.guess create mode 100755 src/secp256k1/build-aux/config.sub create mode 100755 src/secp256k1/build-aux/depcomp create mode 100755 src/secp256k1/build-aux/install-sh create mode 100644 src/secp256k1/build-aux/m4/libtool.m4 create mode 100644 src/secp256k1/build-aux/m4/ltoptions.m4 create mode 100644 src/secp256k1/build-aux/m4/ltsugar.m4 create mode 100644 src/secp256k1/build-aux/m4/ltversion.m4 create mode 100644 src/secp256k1/build-aux/m4/lt~obsolete.m4 create mode 100755 src/secp256k1/build-aux/missing create mode 100755 src/secp256k1/build-aux/test-driver delete mode 100644 src/secp256k1/configure.ac delete mode 100644 src/secp256k1/include/secp256k1.h rename src/secp256k1/{libsecp256k1.pc.in => libsecp256k1.pc} (58%) delete mode 100755 src/secp256k1/nasm_lt.sh delete mode 100644 src/secp256k1/obj/.gitignore delete mode 100644 src/secp256k1/src/bench_inv.c delete mode 100644 src/secp256k1/src/bench_sign.c delete mode 100644 src/secp256k1/src/bench_verify.c delete mode 100644 src/secp256k1/src/ecdsa.h delete mode 100644 src/secp256k1/src/ecdsa_impl.h delete mode 100644 src/secp256k1/src/eckey.h delete mode 100644 src/secp256k1/src/eckey_impl.h delete mode 100644 src/secp256k1/src/ecmult.h delete mode 100644 src/secp256k1/src/ecmult_gen.h delete mode 100644 src/secp256k1/src/ecmult_gen_impl.h delete mode 100644 src/secp256k1/src/ecmult_impl.h delete mode 100644 src/secp256k1/src/field.h delete mode 100644 src/secp256k1/src/field_10x26.h delete mode 100644 src/secp256k1/src/field_10x26_impl.h delete mode 100644 src/secp256k1/src/field_5x52.h delete mode 100644 src/secp256k1/src/field_5x52_asm.asm delete mode 100644 src/secp256k1/src/field_5x52_asm_impl.h delete mode 100644 src/secp256k1/src/field_5x52_impl.h delete mode 100644 src/secp256k1/src/field_5x52_int128_impl.h delete mode 100644 src/secp256k1/src/field_gmp.h delete mode 100644 src/secp256k1/src/field_gmp_impl.h delete mode 100644 src/secp256k1/src/field_impl.h delete mode 100644 src/secp256k1/src/group.h delete mode 100644 src/secp256k1/src/group_impl.h delete mode 100644 src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java delete mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c delete mode 100644 src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h create mode 100644 src/secp256k1/src/libsecp256k1-config.h create mode 100644 src/secp256k1/src/libsecp256k1-config.h.in delete mode 100644 src/secp256k1/src/num.h delete mode 100644 src/secp256k1/src/num_gmp.h delete mode 100644 src/secp256k1/src/num_gmp_impl.h delete mode 100644 src/secp256k1/src/num_impl.h delete mode 100644 src/secp256k1/src/scalar.h delete mode 100644 src/secp256k1/src/scalar_4x64.h delete mode 100644 src/secp256k1/src/scalar_4x64_impl.h delete mode 100644 src/secp256k1/src/scalar_8x32.h delete mode 100644 src/secp256k1/src/scalar_8x32_impl.h delete mode 100644 src/secp256k1/src/scalar_impl.h delete mode 100644 src/secp256k1/src/secp256k1.c create mode 100644 src/secp256k1/src/stamp-h1 delete mode 100644 src/secp256k1/src/testrand.h delete mode 100644 src/secp256k1/src/testrand_impl.h delete mode 100644 src/secp256k1/src/tests.c delete mode 100644 src/secp256k1/src/util.h create mode 100644 src/voteobject.cpp create mode 100644 src/voteobject.h diff --git a/.gitignore b/.gitignore index aef4b2d2d..627ae30cb 100644 --- a/.gitignore +++ b/.gitignore @@ -35,6 +35,8 @@ release/* makefile.release makefile.debug makefile +Makefile +src/Makefile HyperStake-qt.pro.user autom4te.cache aclocal.m4 @@ -49,6 +51,7 @@ src/qt/moc_aboutdialog.cpp src/qt/moc_addressbookpage.cpp src/qt/moc_addresstablemodel.cpp src/qt/moc_askpassphrasedialog.cpp +src/qt/moc_bip38tooldialog.cpp src/qt/moc_bitcoinaddressvalidator.cpp src/qt/moc_bitcoinamountfield.cpp src/qt/moc_bitcoingui.cpp diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 3930522bf..0e141ee11 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -20,25 +20,25 @@ unix:!macx { } -win32{ +#win32{ #uncomment the following section to enable building on windows: - windows:LIBS += -lshlwapi - LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) - LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX - windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 - LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 - BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 - BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 - BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib - BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix - BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix - OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include - OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g - MINIUPNPC_LIB_PATH=C:/deps/miniupnpc - MINIUPNPC_INCLUDE_PATH=c:/deps - QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 - QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs -} + # windows:LIBS += -lshlwapi + # LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) + # LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX + # windows:LIBS += -lws2_32 -lole32 -loleaut32 -luuid -lgdi32 + # LIBS += -lboost_system-mgw48-mt-s-1_55 -lboost_filesystem-mgw48-mt-s-1_55 -lboost_program_options-mgw48-mt-s-1_55 -lboost_thread-mgw48-mt-s-1_55 + # BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55 + # BOOST_INCLUDE_PATH=C:/deps/boost_1_55_0 + # BOOST_LIB_PATH=C:/deps/boost_1_55_0/stage/lib + # BDB_INCLUDE_PATH=C:/deps/db-4.8.30.NC/build_unix + # BDB_LIB_PATH=C:/deps/db-4.8.30.NC/build_unix + # OPENSSL_INCLUDE_PATH=C:/deps/openssl-1.0.1g/include + # OPENSSL_LIB_PATH=C:/deps/openssl-1.0.1g + # MINIUPNPC_LIB_PATH=C:/deps/miniupnpc + # MINIUPNPC_INCLUDE_PATH=c:/deps + # QRENCODE_INCLUDE_PATH=C:/deps/qrencode-3.4.3 + # QRENCODE_LIB_PATH=C:/deps/qrencode-3.4.3/.libs +#} OBJECTS_DIR = build MOC_DIR = build @@ -149,12 +149,14 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/addressbookpage.h \ src/qt/signverifymessagedialog.h \ src/qt/aboutdialog.h \ + src/qt/bip38tooldialog.h \ src/qt/calcdialog.h \ src/qt/editaddressdialog.h \ src/qt/bitcoinaddressvalidator.h \ src/alert.h \ src/addrman.h \ src/base58.h \ + src/bip38.h \ src/bignum.h \ src/checkpoints.h \ src/compat.h \ @@ -172,6 +174,7 @@ HEADERS += src/qt/bitcoingui.h \ src/db.h \ src/walletdb.h \ src/script.h \ + src/scrypt.h \ src/init.h \ src/mruset.h \ src/json/json_spirit_writer_template.h \ @@ -230,7 +233,7 @@ HEADERS += src/qt/bitcoingui.h \ src/sph_echo.h \ src/sph_shavite.h \ src/sph_simd.h \ - src/sph_types.h \ + src/sph_types.h \ src/qt/networkstyle.h \ src/qt/scicon.h @@ -247,12 +250,15 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/calcdialog.cpp \ src/qt/editaddressdialog.cpp \ src/qt/bitcoinaddressvalidator.cpp \ + src/qt/bip38tooldialog.cpp \ src/alert.cpp \ + src/bip38.cpp \ src/version.cpp \ src/sync.cpp \ src/util.cpp \ src/netbase.cpp \ src/key.cpp \ + src/scrypt.cpp \ src/script.cpp \ src/main.cpp \ src/init.cpp \ @@ -332,7 +338,8 @@ FORMS += \ src/qt/forms/sendcoinsentry.ui \ src/qt/forms/askpassphrasedialog.ui \ src/qt/forms/rpcconsole.ui \ - src/qt/forms/optionsdialog.ui + src/qt/forms/optionsdialog.ui \ + src/qt/forms/bip38tooldialog.ui contains(USE_QRCODE, 1) { HEADERS += src/qt/qrcodedialog.h @@ -435,7 +442,7 @@ macx:QMAKE_CXXFLAGS_THREAD += -pthread # Set libraries and includes at end, to use platform-defined defaults if not overridden INCLUDEPATH += $$BOOST_INCLUDE_PATH $$BDB_INCLUDE_PATH $$OPENSSL_INCLUDE_PATH $$QRENCODE_INCLUDE_PATH -LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) +LIBS += $$join(BOOST_LIB_PATH,,-L,) $$join(BDB_LIB_PATH,,-L,) $$join(OPENSSL_LIB_PATH,,-L,) $$join(QRENCODE_LIB_PATH,,-L,) $$join() LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX # -lgdi32 has to happen after -lcrypto (see #681) windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 diff --git a/Makefile b/Makefile deleted file mode 100644 index f7774d083..000000000 --- a/Makefile +++ /dev/null @@ -1,1093 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/hyperstake -pkgincludedir = $(includedir)/hyperstake -pkglibdir = $(libdir)/hyperstake -pkglibexecdir = $(libexecdir)/hyperstake -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -subdir = . -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ - $(top_srcdir)/build-aux/m4/libtool.m4 \ - $(top_srcdir)/build-aux/m4/ltoptions.m4 \ - $(top_srcdir)/build-aux/m4/ltsugar.m4 \ - $(top_srcdir)/build-aux/m4/ltversion.m4 \ - $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h -CONFIG_CLEAN_FILES = share/setup.nsi share/qt/Info.plist -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in \ - $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/missing \ - $(top_srcdir)/share/qt/Info.plist.in \ - $(top_srcdir)/share/setup.nsi.in \ - $(top_srcdir)/src/config/bitcoin-config.h.in build-aux/compile \ - build-aux/config.guess build-aux/config.sub \ - build-aux/install-sh build-aux/ltmain.sh build-aux/missing -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = /usr/bin/ar -AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 -AWK = gawk -BDB_CPPFLAGS = -BDB_LIBS = -ldb_cxx -BOOST_CHRONO_LIB = -lboost_chrono -BOOST_CPPFLAGS = -pthread -I/usr/include -BOOST_FILESYSTEM_LIB = -lboost_filesystem -BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu -BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options -BOOST_SYSTEM_LIB = -lboost_system -BOOST_THREAD_LIB = -lboost_thread -BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework -BREW = -BUILD_QT = qt -BUILD_TEST = test -BUILD_TEST_QT = test -CC = gcc -CCACHE = -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CLIENT_VERSION_BUILD = 0 -CLIENT_VERSION_IS_RELEASE = true -CLIENT_VERSION_MAJOR = 1 -CLIENT_VERSION_MINOR = 1 -CLIENT_VERSION_REVISION = 4 -COMPARISON_TOOL_REORG_TESTS = 0 -COPYRIGHT_YEAR = 2014 -CPP = gcc -E -CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -CRYPTO_CFLAGS = -CRYPTO_LIBS = -lcrypto -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = /usr/bin/gcov -GENHTML = -GENISOIMAGE = -GIT = /usr/bin/git -GREP = /bin/grep -HEXDUMP = /usr/bin/hexdump -INSTALL = /usr/bin/install -c -INSTALLNAMETOOL = -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JAVA = -JAVA_COMPARISON_TOOL = -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -Wl,-z,relro -Wl,-z,now -LEVELDB_CPPFLAGS = -LEVELDB_TARGET_FLAGS = -LIBLEVELDB = -LIBMEMENV = -LIBOBJS = -LIBS = -lanl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBTOOL_APP_LDFLAGS = -LIPO = -LN_S = ln -s -LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate -MAINT = -MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo -MAKENSIS = -MANIFEST_TOOL = : -MINIUPNPC_CPPFLAGS = -MINIUPNPC_LIBS = -MKDIR_P = /bin/mkdir -p -MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc -MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) -NM = /usr/bin/nm -B -NMEDIT = -OBJCXX = g++ -OBJCXXDEPMODE = depmode=gcc3 -OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = hyperstake -PACKAGE_BUGREPORT = info@hyperstake.info -PACKAGE_NAME = Hyperstake Core -PACKAGE_STRING = Hyperstake Core 1.1.4 -PACKAGE_TARNAME = hyperstake -PACKAGE_URL = -PACKAGE_VERSION = 1.1.4 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = -PORT = -PROTOBUF_CFLAGS = -pthread -PROTOBUF_LIBS = -lprotobuf -pthread -lpthread -PROTOC = /usr/bin/protoc -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -pthread -PTHREAD_LIBS = -QR_CFLAGS = -QR_LIBS = -lqrencode -QTPLATFORM_CFLAGS = -QTPLATFORM_LIBS = -QTPRINT_CFLAGS = -QTPRINT_LIBS = -QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_LIBS = -lQt5DBus -lQt5Core -QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_LDFLAGS = -QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core -QT_SELECT = qt5 -QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_LIBS = -lQt5Test -lQt5Core -QT_TRANSLATION_DIR = -RANLIB = /usr/bin/ranlib -RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc -RELDFLAGS = -Wl,--exclude-libs,ALL -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SSL_CFLAGS = -SSL_LIBS = -lssl -STRIP = /usr/bin/strip -TESTDEFS = -DBOOST_TEST_DYN_LINK -UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic -USE_QRCODE = -USE_UPNP = -VERSION = 1.1.4 -WINDOWS_BITS = -WINDRES = -X11XCB_CFLAGS = -X11XCB_LIBS = -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/carrie/hyperstake -abs_srcdir = /home/carrie/hyperstake -abs_top_builddir = /home/carrie/hyperstake -abs_top_srcdir = /home/carrie/hyperstake -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -ac_ct_OBJCXX = g++ -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -subdirs = src/secp256k1 -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = -top_builddir = . -top_srcdir = . -ACLOCAL_AMFLAGS = -I build-aux/m4 -SUBDIRS = src -GZIP_ENV = "-9n" -BITCOIND_BIN = $(top_builddir)/src/hyperstaked$(EXEEXT) -BITCOIN_QT_BIN = $(top_builddir)/src/qt/hyperstake-qt$(EXEEXT) -BITCOIN_WIN_INSTALLER = $(PACKAGE)-$(PACKAGE_VERSION)-win$(WINDOWS_BITS)-setup$(EXEEXT) -OSX_APP = Hyperstake-Qt.app -OSX_DMG = Hyperstake-Qt.dmg -OSX_DEPLOY_SCRIPT = $(top_srcdir)/contrib/macdeploy/macdeployqtplus -OSX_FANCY_PLIST = $(top_srcdir)/contrib/macdeploy/fancy.plist -OSX_INSTALLER_ICONS = $(top_srcdir)/src/qt/res/icons/bitcoin.icns -OSX_PLIST = $(top_srcdir)/share/qt/Info.plist #not installed -OSX_QT_TRANSLATIONS = da,de,es,hu,ru,uk,zh_CN,zh_TW -THEMES = $(top_srcdir)/src/qt/res/themes -DIST_DOCS = $(wildcard doc/*.md) $(wildcard doc/release-notes/*.md) -WINDOWS_PACKAGING = $(top_srcdir)/share/pixmaps/bitcoin.ico \ - $(top_srcdir)/share/pixmaps/nsis-header.bmp \ - $(top_srcdir)/share/pixmaps/nsis-wizard.bmp \ - $(top_srcdir)/doc/README_windows.txt - -OSX_PACKAGING = $(OSX_DEPLOY_SCRIPT) $(OSX_FANCY_PLIST) $(OSX_INSTALLER_ICONS) \ - $(top_srcdir)/contrib/macdeploy/background.png \ - $(top_srcdir)/contrib/macdeploy/DS_Store \ - $(top_srcdir)/contrib/macdeploy/detached-sig-apply.sh \ - $(top_srcdir)/contrib/macdeploy/detached-sig-create.sh - -COVERAGE_INFO = baseline_filtered_combined.info baseline.info block_test.info \ - test_bitcoin_filtered.info total_coverage.info \ - baseline_filtered.info block_test_filtered.info \ - test_bitcoin_coverage.info test_bitcoin.info - -OSX_APP_BUILT = $(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ - $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes - -APP_DIST_DIR = $(top_builddir)/dist -APP_DIST_EXTRAS = $(APP_DIST_DIR)/.background/background.png $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications -EXTRA_DIST = $(top_srcdir)/share/genbuild.sh $(DIST_DOCS) $(WINDOWS_PACKAGING) $(OSX_PACKAGING) -CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) -all: all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -src/config/bitcoin-config.h: src/config/stamp-h1 - @test -f $@ || rm -f src/config/stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) src/config/stamp-h1 - -src/config/stamp-h1: $(top_srcdir)/src/config/bitcoin-config.h.in $(top_builddir)/config.status - @rm -f src/config/stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status src/config/bitcoin-config.h -$(top_srcdir)/src/config/bitcoin-config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f src/config/stamp-h1 - touch $@ - -distclean-hdr: - -rm -f src/config/bitcoin-config.h src/config/stamp-h1 -share/setup.nsi: $(top_builddir)/config.status $(top_srcdir)/share/setup.nsi.in - cd $(top_builddir) && $(SHELL) ./config.status $@ -share/qt/Info.plist: $(top_builddir)/config.status $(top_srcdir)/share/qt/Info.plist.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool clean-local mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ - dist dist-all dist-bzip2 dist-gzip dist-hook dist-lzip \ - dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - -.PHONY: deploy FORCE - -dist-hook: - -$(MAKE) -C $(top_distdir)/src/secp256k1 distclean - -$(GIT) archive --format=tar HEAD -- src/clientversion.cpp | $(AMTAR) -C $(top_distdir) -xf - - -distcleancheck: - @: - -$(BITCOIN_WIN_INSTALLER): all-recursive - $(MKDIR_P) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIND_BIN) $(top_builddir)/release - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $(BITCOIN_QT_BIN) $(top_builddir)/release - @test -f $(MAKENSIS) && $(MAKENSIS) $(top_builddir)/share/setup.nsi || \ - echo error: could not build $@ - -$(if $(findstring src/,$(MAKECMDGOALS)),$(MAKECMDGOALS), none): FORCE - $(MAKE) -C src $(patsubst src/%,%,$@) - -$(OSX_APP)/Contents/PkgInfo: - $(MKDIR_P) $(@D) - @echo "APPL????" > $@ - -$(OSX_APP)/Contents/Resources/empty.lproj: - $(MKDIR_P) $(@D) - @touch $@ - -$(OSX_APP)/Contents/Info.plist: $(OSX_PLIST) - $(MKDIR_P) $(@D) - $(INSTALL_DATA) $< $@ - -$(OSX_APP)/Contents/Resources/bitcoin.icns: $(OSX_INSTALLER_ICONS) - $(MKDIR_P) $(@D) - $(INSTALL_DATA) $< $@ - -$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) - $(MKDIR_P) $(@D) - STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ - -$(OSX_APP)/Contents/MacOS/themes: $(THEMES) - $(MKDIR_P) $(@D) - cp -R $(THEMES) $(@D) - -#$(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) -# $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -add-qt-tr $(OSX_QT_TRANSLATIONS) -translations-dir=$(QT_TRANSLATION_DIR) -dmg -fancy $(OSX_FANCY_PLIST) -verbose 2 - -#deploydir: $(OSX_DMG) - -$(APP_DIST_DIR)/Applications: - @rm -f $@ - @cd $(@D); $(LN_S) /Applications $(@F) - -$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt - -$(OSX_DMG): $(APP_DIST_EXTRAS) - $(GENISOIMAGE) -no-cache-inodes -D -l -probe -V "Hyperstake-Qt" -no-pad -r -apple -o $@ dist - -$(APP_DIST_DIR)/.background/background.png: - $(MKDIR_P) $(@D) - $(INSTALL) $(top_srcdir)/contrib/macdeploy/background.png $@ -$(APP_DIST_DIR)/.DS_Store: - $(INSTALL) $(top_srcdir)/contrib/macdeploy/DS_Store $@ - -$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING) - INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) -translations-dir=$(QT_TRANSLATION_DIR) -add-qt-tr $(OSX_QT_TRANSLATIONS) -verbose 2 - -deploydir: $(APP_DIST_EXTRAS) - -#appbundle: $(OSX_APP_BUILT) -#deploy: $(OSX_DMG) -#deploy: $(BITCOIN_WIN_INSTALLER) - -$(BITCOIN_QT_BIN): FORCE - $(MAKE) -C src qt/$(@F) - -$(BITCOIND_BIN): FORCE - $(MAKE) -C src $(@F) - -#baseline.info: -# $(LCOV) -c -i -d $(abs_builddir)/src -o $@ - -#baseline_filtered.info: baseline.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#baseline_filtered_combined.info: baseline_filtered.info -# $(LCOV) -a baseline_filtered.info -o $@ - -#test_bitcoin.info: baseline_filtered_combined.info -# $(MAKE) -C src/ check -# $(LCOV) -c -d $(abs_builddir)/src -t test_bitcoin -o $@ -# $(LCOV) -z -d $(abs_builddir)/src - -#test_bitcoin_filtered.info: test_bitcoin.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#block_test.info: test_bitcoin_filtered.info -# $(MKDIR_P) qa/tmp -# -@TIMEOUT=15 qa/pull-tester/run-bitcoind-for-test.sh $(JAVA) -jar $(JAVA_COMPARISON_TOOL) qa/tmp/compTool 0 -# $(LCOV) -c -d $(abs_builddir)/src --t BitcoinJBlockTest -o $@ -# $(LCOV) -z -d $(abs_builddir)/src - -#block_test_filtered.info: block_test.info -# $(LCOV) -r $< "/usr/include/*" -o $@ - -#test_bitcoin_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info -# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -o $@ - -#total_coverage.info: baseline_filtered_combined.info test_bitcoin_filtered.info block_test_filtered.info -# $(LCOV) -a baseline_filtered.info -a test_bitcoin_filtered.info -a block_test_filtered.info -o $@ | $(GREP) "\%" | $(AWK) '{ print substr($$3,2,50) "/" $$5 }' > coverage_percent.txt - -#test_bitcoin.coverage/.dirstamp: test_bitcoin_coverage.info -# $(GENHTML) -s $< -o $(@D) -# @touch $@ - -#total.coverage/.dirstamp: total_coverage.info -# $(GENHTML) -s $< -o $(@D) -# @touch $@ - -#cov: test_bitcoin.coverage/.dirstamp total.coverage/.dirstamp - -.INTERMEDIATE: $(COVERAGE_INFO) - -clean-local: - rm -rf test_bitcoin.coverage/ total.coverage/ $(OSX_APP) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/README.md b/README.md index e46d6d215..732a3f18e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -#HyperStake +# HyperStake Copyright (c) 2013-2017 HyperStake Developers Copyright (c) 2013 NovaCoin Developers diff --git a/compile-hyp.sh b/compile-hyp.sh new file mode 100755 index 000000000..afc6d0725 --- /dev/null +++ b/compile-hyp.sh @@ -0,0 +1,18 @@ +#!/bin/bash +MXE_INCLUDE_PATH=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/include +MXE_LIB_PATH=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/lib + +i686-w64-mingw32.static-qmake-qt5 \ + BOOST_LIB_SUFFIX=-mt \ + BOOST_THREAD_LIB_SUFFIX=_win32-mt \ + BOOST_INCLUDE_PATH=$MXE_INCLUDE_PATH/boost \ + BOOST_LIB_PATH=$MXE_LIB_PATH \ + OPENSSL_INCLUDE_PATH=$MXE_INCLUDE_PATH/openssl \ + OPENSSL_LIB_PATH=$MXE_LIB_PATH \ + BDB_INCLUDE_PATH=$MXE_INCLUDE_PATH \ + BDB_LIB_PATH=$MXE_LIB_PATH \ + MINIUPNPC_INCLUDE_PATH=$MXE_INCLUDE_PATH \ + MINIUPNPC_LIB_PATH=$MXE_LIB_PATH \ + QMAKE_LRELEASE=/home/pt/workspace/mxe/usr/i686-w64-mingw32.static/qt5/bin/lrelease HyperStake-qt.pro + +make -j6 -f Makefile.Release diff --git a/depends/Makefile b/depends/Makefile deleted file mode 100644 index e2ef7ee49..000000000 --- a/depends/Makefile +++ /dev/null @@ -1,134 +0,0 @@ -.NOTPARALLEL : - -SOURCES_PATH ?= $(BASEDIR)/sources -BASE_CACHE ?= $(BASEDIR)/built -SDK_PATH ?= $(BASEDIR)/SDKs -NO_QT ?= -NO_WALLET ?= -NO_UPNP ?= -USE_LINUX_STATIC_QT5 ?= -FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources - -BUILD = $(shell ./config.guess) -HOST ?= $(BUILD) -PATCHES_PATH = $(BASEDIR)/patches -BASEDIR = $(CURDIR) -HASH_LENGTH:=11 -DOWNLOAD_CONNECT_TIMEOUT:=10 -DOWNLOAD_RETRIES:=3 - -host:=$(BUILD) -ifneq ($(HOST),) -host:=$(HOST) -host_toolchain:=$(HOST)- -endif - -ifneq ($(DEBUG),) -release_type=debug -else -release_type=release -endif - -base_build_dir=$(BASEDIR)/work/build -base_staging_dir=$(BASEDIR)/work/staging -base_download_dir=$(BASEDIR)/work/download -canonical_host:=$(shell ./config.sub $(HOST)) -build:=$(shell ./config.sub $(BUILD)) - -build_arch =$(firstword $(subst -, ,$(build))) -build_vendor=$(word 2,$(subst -, ,$(build))) -full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build)) -build_os:=$(findstring linux,$(full_build_os)) -build_os+=$(findstring darwin,$(full_build_os)) -build_os:=$(strip $(build_os)) -ifeq ($(build_os),) -build_os=$(full_build_os) -endif - -host_arch=$(firstword $(subst -, ,$(canonical_host))) -host_vendor=$(word 2,$(subst -, ,$(canonical_host))) -full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host)) -host_os:=$(findstring linux,$(full_host_os)) -host_os+=$(findstring darwin,$(full_host_os)) -host_os+=$(findstring mingw32,$(full_host_os)) -host_os:=$(strip $(host_os)) -ifeq ($(host_os),) -host_os=$(full_host_os) -endif - -$(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host) -$(host_arch)_$(host_os)_host=$(host) -host_prefix=$($(host_arch)_$(host_os)_prefix) -build_prefix=$(host_prefix)/native -build_host=$(build) - -AT_$(V):= -AT_:=@ -AT:=$(AT_$(V)) - -all: install - -include hosts/$(host_os).mk -include hosts/default.mk -include builders/$(build_os).mk -include builders/default.mk -include packages/packages.mk - -qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) -qt_native_packages_$(NO_QT) = $(qt_native_packages) -wallet_packages_$(NO_WALLET) = $(wallet_packages) -upnp_packages_$(NO_UPNP) = $(upnp_packages) - -packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_) -native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) $(qt_native_packages_) -all_packages = $(packages) $(native_packages) - -meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk - -$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain) - -include funcs.mk - -toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin) -final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in) -final_build_id+=$(shell echo -n $(final_build_id_long) | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)) -$(host_prefix)/.stamp_$(final_build_id): | $(native_packages) $(packages) - $(AT)rm -rf $(@D) - $(AT)mkdir -p $(@D) - $(AT)echo copying packages: $| - $(AT)echo to: $(@D) - $(AT)cd $(@D); $(foreach package,$|, tar xf $($(package)_cached); ) - $(AT)touch $@ - -$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id) - $(AT)@mkdir -p $(@D) - $(AT)sed -e 's|@HOST@|$(host)|' \ - -e 's|@CC@|$(toolchain_path)$(host_CC)|' \ - -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \ - -e 's|@AR@|$(toolchain_path)$(host_AR)|' \ - -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \ - -e 's|@NM@|$(toolchain_path)$(host_NM)|' \ - -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \ - -e 's|@build_os@|$(build_os)|' \ - -e 's|@host_os@|$(host_os)|' \ - -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \ - -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \ - -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \ - -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \ - -e 's|@no_qt@|$(NO_QT)|' \ - -e 's|@no_wallet@|$(NO_WALLET)|' \ - -e 's|@no_upnp@|$(NO_UPNP)|' \ - -e 's|@debug@|$(DEBUG)|' \ - $< > $@ - $(AT)touch $@ - -install: $(host_prefix)/share/config.site -download-one: $(all_sources) -download-osx: - @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one -download-linux: - @$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one -download-win: - @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one -download: download-osx download-linux download-win -.PHONY: install cached download-one download-osx download-linux download-win download diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 21d4e9b5e..000000000 --- a/src/Makefile +++ /dev/null @@ -1,4682 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# src/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/hyperstake -pkgincludedir = $(includedir)/hyperstake -pkglibdir = $(libdir)/hyperstake -pkglibexecdir = $(libexecdir)/hyperstake -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-pc-linux-gnu -host_triplet = x86_64-pc-linux-gnu -am__append_1 = $(BDB_CPPFLAGS) -am__append_2 = libbitcoin_wallet.a -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \ - $(am__EXEEXT_4) -TESTS = $(am__EXEEXT_5) $(am__EXEEXT_4) -am__append_3 = hyperstaked -am__append_4 = libbitcoin_wallet.a - -# -#am__append_5 = bitcoind-res.rc -am__append_6 = test/test_bitcoin test/bitcoin-util-test.py -am__append_7 = test/test_bitcoin -am__append_8 = -am__append_9 = $(LIBBITCOIN_WALLET) -am__append_10 = $(CLEAN_BITCOIN_TEST) -am__append_11 = qt/hyperstake-qt -am__append_12 = qt/libbitcoinqt.a -am__append_13 = \ - qt/addressbookpage.cpp \ - qt/addresstablemodel.cpp \ - qt/askpassphrasedialog.cpp \ - qt/coincontroldialog.cpp \ - qt/coincontroltreewidget.cpp \ - qt/editaddressdialog.cpp \ - qt/overviewpage.cpp \ - qt/paymentserver.cpp \ - qt/sendcoinsdialog.cpp \ - qt/sendcoinsentry.cpp \ - qt/signverifymessagedialog.cpp \ - qt/transactiondesc.cpp \ - qt/transactiondescdialog.cpp \ - qt/transactionfilterproxy.cpp \ - qt/transactionrecord.cpp \ - qt/transactiontablemodel.cpp \ - qt/transactionview.cpp - -#am__append_14 = $(BITCOIN_MM) -#am__append_15 = $(BITCOIN_RC) -am__append_16 = $(LIBBITCOIN_WALLET) -am__append_17 = $(CLEAN_QT) -am__append_18 = qt/test/test_bitcoin-qt -am__append_19 = qt/test/test_bitcoin-qt -am__append_20 = $(LIBBITCOIN_WALLET) -am__append_21 = $(CLEAN_BITCOIN_QT_TEST) -subdir = src -SUBDIRS = -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/build-aux/m4/ax_boost_base.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_chrono.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_filesystem.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_program_options.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_system.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_thread.m4 \ - $(top_srcdir)/build-aux/m4/ax_boost_unit_test_framework.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_compile_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_link_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_check_preproc_flag.m4 \ - $(top_srcdir)/build-aux/m4/ax_gcc_func_attribute.m4 \ - $(top_srcdir)/build-aux/m4/ax_pthread.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_find_bdb48.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_qt.m4 \ - $(top_srcdir)/build-aux/m4/bitcoin_subdir_to_include.m4 \ - $(top_srcdir)/build-aux/m4/libtool.m4 \ - $(top_srcdir)/build-aux/m4/ltoptions.m4 \ - $(top_srcdir)/build-aux/m4/ltsugar.m4 \ - $(top_srcdir)/build-aux/m4/ltversion.m4 \ - $(top_srcdir)/build-aux/m4/lt~obsolete.m4 $(top_srcdir)/pkg.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/src/config/bitcoin-config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_$(V)) -am__v_AR_ = $(am__v_AR_$(AM_DEFAULT_VERBOSITY)) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libbitcoin_common_a_AR = $(AR) $(ARFLAGS) -libbitcoin_common_a_LIBADD = -am__objects_1 = -am_libbitcoin_common_a_OBJECTS = libbitcoin_common_a-key.$(OBJEXT) \ - libbitcoin_common_a-keystore.$(OBJEXT) \ - libbitcoin_common_a-netbase.$(OBJEXT) \ - libbitcoin_common_a-protocol.$(OBJEXT) $(am__objects_1) -libbitcoin_common_a_OBJECTS = $(am_libbitcoin_common_a_OBJECTS) -libbitcoin_server_a_AR = $(AR) $(ARFLAGS) -libbitcoin_server_a_LIBADD = -am_libbitcoin_server_a_OBJECTS = \ - libbitcoin_server_a-addrman.$(OBJEXT) \ - libbitcoin_server_a-aes_helper.$(OBJEXT) \ - libbitcoin_server_a-alert.$(OBJEXT) \ - libbitcoin_server_a-bip38.$(OBJEXT) \ - libbitcoin_server_a-bitcoinrpc.$(OBJEXT) \ - libbitcoin_server_a-blake.$(OBJEXT) \ - libbitcoin_server_a-bmw.$(OBJEXT) \ - libbitcoin_server_a-checkpoints.$(OBJEXT) \ - libbitcoin_server_a-cubehash.$(OBJEXT) \ - libbitcoin_server_a-echo.$(OBJEXT) \ - libbitcoin_server_a-groestl.$(OBJEXT) \ - libbitcoin_server_a-init.$(OBJEXT) \ - libbitcoin_server_a-jh.$(OBJEXT) \ - libbitcoin_server_a-keccak.$(OBJEXT) \ - libbitcoin_server_a-kernel.$(OBJEXT) \ - libbitcoin_server_a-luffa.$(OBJEXT) \ - libbitcoin_server_a-main.$(OBJEXT) \ - libbitcoin_server_a-net.$(OBJEXT) \ - libbitcoin_server_a-noui.$(OBJEXT) \ - libbitcoin_server_a-rpcblockchain.$(OBJEXT) \ - libbitcoin_server_a-rpcmining.$(OBJEXT) \ - libbitcoin_server_a-rpcnet.$(OBJEXT) \ - libbitcoin_server_a-rpcrawtransaction.$(OBJEXT) \ - libbitcoin_server_a-script.$(OBJEXT) \ - libbitcoin_server_a-scrypt.$(OBJEXT) \ - libbitcoin_server_a-shavite.$(OBJEXT) \ - libbitcoin_server_a-simd.$(OBJEXT) \ - libbitcoin_server_a-skein.$(OBJEXT) $(am__objects_1) \ - $(am__objects_1) -libbitcoin_server_a_OBJECTS = $(am_libbitcoin_server_a_OBJECTS) -libbitcoin_util_a_AR = $(AR) $(ARFLAGS) -libbitcoin_util_a_LIBADD = -am_libbitcoin_util_a_OBJECTS = \ - libbitcoin_util_a-clientversion.$(OBJEXT) \ - libbitcoin_util_a-sync.$(OBJEXT) \ - libbitcoin_util_a-version.$(OBJEXT) \ - libbitcoin_util_a-util.$(OBJEXT) $(am__objects_1) -nodist_libbitcoin_util_a_OBJECTS = -libbitcoin_util_a_OBJECTS = $(am_libbitcoin_util_a_OBJECTS) \ - $(nodist_libbitcoin_util_a_OBJECTS) -libbitcoin_wallet_a_AR = $(AR) $(ARFLAGS) -libbitcoin_wallet_a_LIBADD = -am_libbitcoin_wallet_a_OBJECTS = libbitcoin_wallet_a-bip38.$(OBJEXT) \ - libbitcoin_wallet_a-db.$(OBJEXT) \ - libbitcoin_wallet_a-crypter.$(OBJEXT) \ - libbitcoin_wallet_a-pbkdf2.$(OBJEXT) \ - libbitcoin_wallet_a-rpcdump.$(OBJEXT) \ - libbitcoin_wallet_a-rpcwallet.$(OBJEXT) \ - libbitcoin_wallet_a-scrypt.$(OBJEXT) \ - libbitcoin_wallet_a-wallet.$(OBJEXT) \ - libbitcoin_wallet_a-walletdb.$(OBJEXT) $(am__objects_1) -libbitcoin_wallet_a_OBJECTS = $(am_libbitcoin_wallet_a_OBJECTS) -qt_libbitcoinqt_a_AR = $(AR) $(ARFLAGS) -qt_libbitcoinqt_a_LIBADD = -am__qt_libbitcoinqt_a_SOURCES_DIST = qt/aboutdialog.cpp \ - qt/bip38tooldialog.cpp qt/bitcoinaddressvalidator.cpp \ - qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ - qt/bitcoinunits.cpp qt/blockbrowser.cpp qt/calcdialog.cpp \ - qt/charitydialog.cpp qt/clientmodel.cpp qt/csvmodelwriter.cpp \ - qt/guiutil.cpp qt/monitoreddatamapper.cpp qt/networkstyle.cpp \ - qt/notificator.cpp qt/optionsdialog.cpp qt/optionsmodel.cpp \ - qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ - qt/qvaluecombobox.cpp qt/rpcconsole.cpp qt/scicon.cpp \ - qt/walletmodel.cpp qt/addressbookpage.cpp \ - qt/addresstablemodel.cpp qt/askpassphrasedialog.cpp \ - qt/coincontroldialog.cpp qt/coincontroltreewidget.cpp \ - qt/editaddressdialog.cpp qt/overviewpage.cpp \ - qt/paymentserver.cpp qt/sendcoinsdialog.cpp \ - qt/sendcoinsentry.cpp qt/signverifymessagedialog.cpp \ - qt/transactiondesc.cpp qt/transactiondescdialog.cpp \ - qt/transactionfilterproxy.cpp qt/transactionrecord.cpp \ - qt/transactiontablemodel.cpp qt/transactionview.cpp \ - qt/aboutdialog.h qt/addressbookpage.h qt/addresstablemodel.h \ - qt/askpassphrasedialog.h qt/bip38tooldialog.h \ - qt/bitcoinaddressvalidator.h qt/bitcoinamountfield.h \ - qt/bitcoingui.h qt/bitcoinunits.h qt/blockbrowser.h \ - qt/calcdialog.h qt/charitydialog.h qt/clientmodel.h \ - qt/coincontroldialog.h qt/coincontroltreewidget.h \ - qt/csvmodelwriter.h qt/editaddressdialog.h qt/guiconstants.h \ - qt/guiutil.h qt/macdockiconhandler.h \ - qt/macnotificationhandler.h qt/monitoreddatamapper.h \ - qt/networkstyle.h qt/notificator.h qt/optionsdialog.h \ - qt/optionsmodel.h qt/overviewpage.h qt/paymentserver.h \ - qt/qrcodedialog.h qt/qvalidatedlineedit.h qt/qvaluecombobox.h \ - qt/rpcconsole.h qt/scicon.h qt/sendcoinsdialog.h \ - qt/sendcoinsentry.h qt/signverifymessagedialog.h \ - qt/transactiondesc.h qt/transactiondescdialog.h \ - qt/transactionfilterproxy.h qt/transactionrecord.h \ - qt/transactiontablemodel.h qt/transactionview.h \ - qt/walletmodel.h qt/forms/aboutdialog.ui \ - qt/forms/addressbookpage.ui qt/forms/askpassphrasedialog.ui \ - qt/forms/bip38tooldialog.ui qt/forms/blockbrowser.ui \ - qt/forms/calcdialog.ui qt/forms/charitydialog.ui \ - qt/forms/coincontroldialog.ui qt/forms/editaddressdialog.ui \ - qt/forms/optionsdialog.ui qt/forms/overviewpage.ui \ - qt/forms/qrcodedialog.ui qt/forms/rpcconsole.ui \ - qt/forms/sendcoinsdialog.ui qt/forms/sendcoinsentry.ui \ - qt/forms/signverifymessagedialog.ui \ - qt/forms/transactiondescdialog.ui qt/bitcoin.qrc \ - qt/locale/bitcoin_en.ts qt/locale/bitcoin_ru.ts \ - qt/res/icons/add.png qt/res/icons/address-book.png \ - qt/res/icons/blexp.png qt/res/icons/clock1.png \ - qt/res/icons/clock2.png qt/res/icons/clock3.png \ - qt/res/icons/clock4.png qt/res/icons/clock5.png \ - qt/res/icons/configure.png qt/res/icons/connect0_16.png \ - qt/res/icons/connect1_16.png qt/res/icons/connect2_16.png \ - qt/res/icons/connect3_16.png qt/res/icons/connect4_16.png \ - qt/res/icons/debugwindow.png qt/res/icons/edit.png \ - qt/res/icons/editcopy.png qt/res/icons/editpaste.png \ - qt/res/icons/export.png qt/res/icons/filesave.png \ - qt/res/icons/history.png qt/res/icons/hyperstake-16.png \ - qt/res/icons/hyperstake-32.png qt/res/icons/hyperstake-128.png \ - qt/res/icons/info.png qt/res/icons/key.png \ - qt/res/icons/lock_closed.png qt/res/icons/lock_open.png \ - qt/res/icons/mining.png qt/res/icons/mining_inactive.png \ - qt/res/icons/notsynced.png qt/res/icons/overview.png \ - qt/res/icons/qrcode.png qt/res/icons/quit.png \ - qt/res/icons/receive.png qt/res/icons/remove.png \ - qt/res/icons/s4c.png qt/res/icons/send.png \ - qt/res/icons/synced.png qt/res/icons/transaction0.png \ - qt/res/icons/transaction2.png qt/res/icons/tx_inout.png \ - qt/res/icons/tx_input.png qt/res/icons/tx_output.png \ - qt/res/icons/tx_mined.png qt/res/images/about.png \ - qt/res/images/splash.png qt/res/images/wallet.png $(wildcard \ - qt/res/movies/*.mng) -am__dirstamp = $(am__leading_dot)dirstamp -am__objects_2 = qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT) -am__objects_3 = \ - qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-notificator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-scicon.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT) \ - $(am__objects_2) -am_qt_libbitcoinqt_a_OBJECTS = $(am__objects_3) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) \ - $(am__objects_1) $(am__objects_1) -am__objects_4 = qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT) \ - qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT) -am__objects_5 = \ - qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT) -nodist_qt_libbitcoinqt_a_OBJECTS = $(am__objects_4) \ - $(am__objects_1) $(am__objects_5) -qt_libbitcoinqt_a_OBJECTS = $(am_qt_libbitcoinqt_a_OBJECTS) \ - $(nodist_qt_libbitcoinqt_a_OBJECTS) -am__EXEEXT_1 = hyperstaked$(EXEEXT) -am__EXEEXT_2 = test/test_bitcoin$(EXEEXT) -am__EXEEXT_3 = qt/hyperstake-qt$(EXEEXT) -am__EXEEXT_4 = qt/test/test_bitcoin-qt$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" -PROGRAMS = $(bin_PROGRAMS) -am__hyperstaked_SOURCES_DIST = bitcoind.cpp bitcoind-res.rc -#am__objects_6 = bitcoind-res.$(OBJEXT) -am_hyperstaked_OBJECTS = hyperstaked-bitcoind.$(OBJEXT) \ - $(am__objects_6) -hyperstaked_OBJECTS = $(am_hyperstaked_OBJECTS) -am__DEPENDENCIES_1 = -hyperstaked_DEPENDENCIES = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(LIBSECP256K1) $(am__append_4) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(LIBSECP256K1) -AM_V_lt = $(am__v_lt_$(V)) -am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) -am__v_lt_0 = --silent -am__v_lt_1 = -hyperstaked_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(hyperstaked_LDFLAGS) $(LDFLAGS) -o $@ -am__qt_hyperstake_qt_SOURCES_DIST = qt/bitcoin.cpp \ - qt/macdockiconhandler.mm qt/macnotificationhandler.mm \ - qt/res/bitcoin-qt.rc -am__objects_7 = qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT) \ - qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT) -#am__objects_8 = $(am__objects_7) -am__objects_9 = qt/res/bitcoin-qt.$(OBJEXT) -#am__objects_10 = \ -# $(am__objects_9) -am_qt_hyperstake_qt_OBJECTS = \ - qt/qt_hyperstake_qt-bitcoin.$(OBJEXT) \ - $(am__objects_8) $(am__objects_10) -qt_hyperstake_qt_OBJECTS = $(am_qt_hyperstake_qt_OBJECTS) -qt_hyperstake_qt_DEPENDENCIES = qt/libbitcoinqt.a \ - $(LIBBITCOIN_SERVER) $(am__append_16) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(LIBSECP256K1) -qt_hyperstake_qt_LINK = $(LIBTOOL) $(AM_V_lt) \ - $(qt_hyperstake_qt_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ - $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ - $(qt_hyperstake_qt_LDFLAGS) $(LDFLAGS) -o $@ -am__qt_test_test_bitcoin_qt_SOURCES_DIST = qt/test/test_main.cpp \ - qt/test/uritests.cpp qt/test/uritests.h -am_qt_test_test_bitcoin_qt_OBJECTS = qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT) \ - qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT) \ - $(am__objects_1) -am__objects_11 = qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT) -nodist_qt_test_test_bitcoin_qt_OBJECTS = \ - $(am__objects_11) -qt_test_test_bitcoin_qt_OBJECTS = \ - $(am_qt_test_test_bitcoin_qt_OBJECTS) \ - $(nodist_qt_test_test_bitcoin_qt_OBJECTS) -qt_test_test_bitcoin_qt_DEPENDENCIES = \ - $(LIBBITCOINQT) $(LIBBITCOIN_SERVER) \ - $(am__append_20) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(LIBSECP256K1) -qt_test_test_bitcoin_qt_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(qt_test_test_bitcoin_qt_LDFLAGS) \ - $(LDFLAGS) -o $@ -am__test_test_bitcoin_SOURCES_DIST = test/allocator_tests.cpp \ - test/base32_tests.cpp test/base64_tests.cpp \ - test/getarg_tests.cpp test/key_tests.cpp test/mruset_tests.cpp \ - test/netbase_tests.cpp test/test_bitcoin.cpp \ - test/sigopcount_tests.cpp test/data/script_valid.json \ - test/data/base58_keys_valid.json \ - test/data/base58_encode_decode.json \ - test/data/base58_keys_invalid.json \ - test/data/script_invalid.json -am__objects_12 = test/test_test_bitcoin-allocator_tests.$(OBJEXT) \ - test/test_test_bitcoin-base32_tests.$(OBJEXT) \ - test/test_test_bitcoin-base64_tests.$(OBJEXT) \ - test/test_test_bitcoin-getarg_tests.$(OBJEXT) \ - test/test_test_bitcoin-key_tests.$(OBJEXT) \ - test/test_test_bitcoin-mruset_tests.$(OBJEXT) \ - test/test_test_bitcoin-netbase_tests.$(OBJEXT) \ - test/test_test_bitcoin-test_bitcoin.$(OBJEXT) \ - test/test_test_bitcoin-sigopcount_tests.$(OBJEXT) -am_test_test_bitcoin_OBJECTS = $(am__objects_12) \ - $(am__objects_1) -am__objects_13 = $(am__objects_1) -nodist_test_test_bitcoin_OBJECTS = \ - $(am__objects_13) -test_test_bitcoin_OBJECTS = $(am_test_test_bitcoin_OBJECTS) \ - $(nodist_test_test_bitcoin_OBJECTS) -test_test_bitcoin_DEPENDENCIES = \ - $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__append_9) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) -test_test_bitcoin_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(AM_CXXFLAGS) $(CXXFLAGS) $(test_test_bitcoin_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I. -I$(top_builddir)/src/config -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_$(V)) -am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_$(V)) -am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CXXFLAGS) $(CXXFLAGS) -AM_V_CXX = $(am__v_CXX_$(V)) -am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) -am__v_CXX_0 = @echo " CXX " $@; -am__v_CXX_1 = -CXXLD = $(CXX) -CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ - $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CXXLD = $(am__v_CXXLD_$(V)) -am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) -am__v_CXXLD_0 = @echo " CXXLD " $@; -am__v_CXXLD_1 = -OBJCXXCOMPILE = $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -LTOBJCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(OBJCXX) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -AM_V_OBJCXX = $(am__v_OBJCXX_$(V)) -am__v_OBJCXX_ = $(am__v_OBJCXX_$(AM_DEFAULT_VERBOSITY)) -am__v_OBJCXX_0 = @echo " OBJCXX " $@; -am__v_OBJCXX_1 = -OBJCXXLD = $(OBJCXX) -OBJCXXLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ - --mode=link $(OBJCXXLD) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_OBJCXXLD = $(am__v_OBJCXXLD_$(V)) -am__v_OBJCXXLD_ = $(am__v_OBJCXXLD_$(AM_DEFAULT_VERBOSITY)) -am__v_OBJCXXLD_0 = @echo " OBJCXXLD" $@; -am__v_OBJCXXLD_1 = -SOURCES = $(libbitcoin_common_a_SOURCES) \ - $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ - $(nodist_libbitcoin_util_a_SOURCES) \ - $(libbitcoin_wallet_a_SOURCES) $(qt_libbitcoinqt_a_SOURCES) \ - $(nodist_qt_libbitcoinqt_a_SOURCES) $(hyperstaked_SOURCES) \ - $(qt_hyperstake_qt_SOURCES) $(qt_test_test_bitcoin_qt_SOURCES) \ - $(nodist_qt_test_test_bitcoin_qt_SOURCES) \ - $(test_test_bitcoin_SOURCES) \ - $(nodist_test_test_bitcoin_SOURCES) -DIST_SOURCES = $(libbitcoin_common_a_SOURCES) \ - $(libbitcoin_server_a_SOURCES) $(libbitcoin_util_a_SOURCES) \ - $(libbitcoin_wallet_a_SOURCES) \ - $(am__qt_libbitcoinqt_a_SOURCES_DIST) \ - $(am__hyperstaked_SOURCES_DIST) \ - $(am__qt_hyperstake_qt_SOURCES_DIST) \ - $(am__qt_test_test_bitcoin_qt_SOURCES_DIST) \ - $(am__test_test_bitcoin_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - check recheck distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__recheck_rx = ^[ ]*:recheck:[ ]* -am__global_test_result_rx = ^[ ]*:global-test-result:[ ]* -am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]* -# A command that, given a newline-separated list of test names on the -# standard input, print the name of the tests that are to be re-run -# upon "make recheck". -am__list_recheck_tests = $(AWK) '{ \ - recheck = 1; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - { \ - if ((getline line2 < ($$0 ".log")) < 0) \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \ - { \ - recheck = 0; \ - break; \ - } \ - else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \ - { \ - break; \ - } \ - }; \ - if (recheck) \ - print $$0; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# A command that, given a newline-separated list of test names on the -# standard input, create the global log from their .trs and .log files. -am__create_global_log = $(AWK) ' \ -function fatal(msg) \ -{ \ - print "fatal: making $@: " msg | "cat >&2"; \ - exit 1; \ -} \ -function rst_section(header) \ -{ \ - print header; \ - len = length(header); \ - for (i = 1; i <= len; i = i + 1) \ - printf "="; \ - printf "\n\n"; \ -} \ -{ \ - copy_in_global_log = 1; \ - global_test_result = "RUN"; \ - while ((rc = (getline line < ($$0 ".trs"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".trs"); \ - if (line ~ /$(am__global_test_result_rx)/) \ - { \ - sub("$(am__global_test_result_rx)", "", line); \ - sub("[ ]*$$", "", line); \ - global_test_result = line; \ - } \ - else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \ - copy_in_global_log = 0; \ - }; \ - if (copy_in_global_log) \ - { \ - rst_section(global_test_result ": " $$0); \ - while ((rc = (getline line < ($$0 ".log"))) != 0) \ - { \ - if (rc < 0) \ - fatal("failed to read from " $$0 ".log"); \ - print line; \ - }; \ - printf "\n"; \ - }; \ - close ($$0 ".trs"); \ - close ($$0 ".log"); \ -}' -# Restructured Text title. -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -# Solaris 10 'make', and several other traditional 'make' implementations, -# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it -# by disabling -e (using the XSI extension "set +e") if it's set. -am__sh_e_setup = case $$- in *e*) set +e;; esac -# Default flags passed to test drivers. -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -# To be inserted before the command running the test. Creates the -# directory for the log if needed. Stores in $dir the directory -# containing $f, in $tst the test, in $log the log. Executes the -# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and -# passes TESTS_ENVIRONMENT. Set up options for the wrapper that -# will run the test scripts (or their associated LOG_COMPILER, if -# thy have one). -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; \ -case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \ - am__expect_failure=yes;; \ - *) \ - am__expect_failure=no;; \ -esac; \ -$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT) -# A shell command to get the names of the tests scripts with any registered -# extension removed (i.e., equivalently, the names of the test logs, with -# the '.log' extension removed). The result is saved in the shell variable -# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly, -# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)", -# since that might cause problem with VPATH rewrites for suffix-less tests. -# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'. -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -am__EXEEXT_5 = test/test_bitcoin$(EXEEXT) \ - test/bitcoin-util-test.py -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS) -am__set_b = \ - case '$@' in \ - */*) \ - case '$*' in \ - */*) b='$*';; \ - *) b=`echo '$@' | sed 's/\.log$$//'`; \ - esac;; \ - *) \ - b='$*';; \ - esac -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/build-aux/test-driver -TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ - $(TEST_LOG_FLAGS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.qt.include \ - $(srcdir)/Makefile.qttest.include \ - $(srcdir)/Makefile.test.include \ - $(top_srcdir)/build-aux/depcomp \ - $(top_srcdir)/build-aux/test-driver -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = ${SHELL} /home/carrie/hyperstake/build-aux/missing aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 0 -AR = /usr/bin/ar -AUTOCONF = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/carrie/hyperstake/build-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/carrie/hyperstake/build-aux/missing automake-1.15 -AWK = gawk -BDB_CPPFLAGS = -BDB_LIBS = -ldb_cxx -BOOST_CHRONO_LIB = -lboost_chrono -BOOST_CPPFLAGS = -pthread -I/usr/include -BOOST_FILESYSTEM_LIB = -lboost_filesystem -BOOST_LDFLAGS = -L/usr/lib/x86_64-linux-gnu -BOOST_LIBS = -L/usr/lib/x86_64-linux-gnu -lboost_system -lboost_filesystem -lboost_program_options -lboost_thread -lboost_chrono -BOOST_PROGRAM_OPTIONS_LIB = -lboost_program_options -BOOST_SYSTEM_LIB = -lboost_system -BOOST_THREAD_LIB = -lboost_thread -BOOST_UNIT_TEST_FRAMEWORK_LIB = -lboost_unit_test_framework -BREW = -BUILD_QT = qt -BUILD_TEST = test -BUILD_TEST_QT = test -CC = gcc -CCACHE = -CCDEPMODE = depmode=gcc3 -CFLAGS = -g -O2 -CLIENT_VERSION_BUILD = 0 -CLIENT_VERSION_IS_RELEASE = true -CLIENT_VERSION_MAJOR = 1 -CLIENT_VERSION_MINOR = 1 -CLIENT_VERSION_REVISION = 4 -COMPARISON_TOOL_REORG_TESTS = 0 -COPYRIGHT_YEAR = 2014 -CPP = gcc -E -CPPFLAGS = -DBOOST_SPIRIT_THREADSAFE -DHAVE_BUILD_INFO -D__STDC_FORMAT_MACROS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -CRYPTO_CFLAGS = -CRYPTO_LIBS = -lcrypto -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -fvisibility=hidden -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = false -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /bin/grep -E -EXEEXT = -FGREP = /bin/grep -F -GCOV = /usr/bin/gcov -GENHTML = -GENISOIMAGE = -GIT = /usr/bin/git -GREP = /bin/grep -HEXDUMP = /usr/bin/hexdump -INSTALL = /usr/bin/install -c -INSTALLNAMETOOL = -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -JAVA = -JAVA_COMPARISON_TOOL = -LCOV = -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -Wl,-z,relro -Wl,-z,now -LEVELDB_CPPFLAGS = -LEVELDB_TARGET_FLAGS = -LIBLEVELDB = -LIBMEMENV = -LIBOBJS = -LIBS = -lanl -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBTOOL_APP_LDFLAGS = -LIPO = -LN_S = ln -s -LRELEASE = /usr/lib/x86_64-linux-gnu/qt5/bin/lrelease -LTLIBOBJS = -LT_SYS_LIBRARY_PATH = -LUPDATE = /usr/lib/x86_64-linux-gnu/qt5/bin/lupdate -MAINT = -MAKEINFO = ${SHELL} /home/carrie/hyperstake/build-aux/missing makeinfo -MAKENSIS = -MANIFEST_TOOL = : -MINIUPNPC_CPPFLAGS = -MINIUPNPC_LIBS = -MKDIR_P = /bin/mkdir -p -MOC = /usr/lib/x86_64-linux-gnu/qt5/bin/moc -MOC_DEFS = -DHAVE_CONFIG_H -I$(srcdir) -NM = /usr/bin/nm -B -NMEDIT = -OBJCXX = g++ -OBJCXXDEPMODE = depmode=gcc3 -OBJCXXFLAGS = -g -O2 -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fstack-protector-all -fPIC -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = hyperstake -PACKAGE_BUGREPORT = info@hyperstake.info -PACKAGE_NAME = Hyperstake Core -PACKAGE_STRING = Hyperstake Core 1.1.4 -PACKAGE_TARNAME = hyperstake -PACKAGE_URL = -PACKAGE_VERSION = 1.1.4 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = -PORT = -PROTOBUF_CFLAGS = -pthread -PROTOBUF_LIBS = -lprotobuf -pthread -lpthread -PROTOC = /usr/bin/protoc -PTHREAD_CC = gcc -PTHREAD_CFLAGS = -pthread -PTHREAD_LIBS = -QR_CFLAGS = -QR_LIBS = -lqrencode -QTPLATFORM_CFLAGS = -QTPLATFORM_LIBS = -QTPRINT_CFLAGS = -QTPRINT_LIBS = -QT_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtDBus -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_DBUS_LIBS = -lQt5DBus -lQt5Core -QT_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_LDFLAGS = -QT_LIBS = -lQt5Network -lQt5Widgets -lQt5Gui -lQt5Core -QT_SELECT = qt5 -QT_TEST_CFLAGS = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_INCLUDES = -I/usr/include/x86_64-linux-gnu/qt5/QtTest -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5 -QT_TEST_LIBS = -lQt5Test -lQt5Core -QT_TRANSLATION_DIR = -RANLIB = /usr/bin/ranlib -RCC = /usr/lib/x86_64-linux-gnu/qt5/bin/rcc -RELDFLAGS = -Wl,--exclude-libs,ALL -SED = /bin/sed -SET_MAKE = -SHELL = /bin/bash -SSL_CFLAGS = -SSL_LIBS = -lssl -STRIP = /usr/bin/strip -TESTDEFS = -DBOOST_TEST_DYN_LINK -UIC = /usr/lib/x86_64-linux-gnu/qt5/bin/uic -USE_QRCODE = -USE_UPNP = -VERSION = 1.1.4 -WINDOWS_BITS = -WINDRES = -X11XCB_CFLAGS = -X11XCB_LIBS = -XGETTEXT = /usr/bin/xgettext -abs_builddir = /home/carrie/hyperstake/src -abs_srcdir = /home/carrie/hyperstake/src -abs_top_builddir = /home/carrie/hyperstake -abs_top_srcdir = /home/carrie/hyperstake -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -ac_ct_OBJCXX = g++ -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -ax_pthread_config = -bindir = ${exec_prefix}/bin -build = x86_64-pc-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = pc -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-pc-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = pc -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/carrie/hyperstake/build-aux/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -runstatedir = ${localstatedir}/run -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -subdirs = src/secp256k1 -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../ -top_builddir = .. -top_srcdir = .. -DIST_SUBDIRS = secp256k1 -AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) -BITCOIN_CONFIG_INCLUDES = -I$(builddir)/config -BITCOIN_INCLUDES = -I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) \ - $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -I$(srcdir)/secp256k1/include \ - $(am__append_1) -LIBBITCOIN_SERVER = libbitcoin_server.a -LIBBITCOIN_WALLET = libbitcoin_wallet.a -LIBBITCOIN_COMMON = libbitcoin_common.a -LIBBITCOIN_UTIL = libbitcoin_util.a -LIBSECP256K1 = secp256k1/libsecp256k1.la -LIBBITCOINQT = qt/libbitcoinqt.a - -# Make is not made aware of per-object dependencies to avoid limiting building parallelization -# But to build the less dependent modules first, we manually select their order here: -noinst_LIBRARIES = libbitcoin_util.a libbitcoin_common.a \ - libbitcoin_server.a $(am__append_2) $(am__append_12) -# bitcoin core # -BITCOIN_CORE_H = \ - addrman.h \ - alert.h \ - allocators.h \ - base58.h \ - bignum.h \ - bip38.h \ - bitcoinrpc.h \ - checkpoints.h \ - clientversion.h \ - coincontrol.h \ - compat.h \ - crypter.h \ - db.h \ - hashblock.h \ - init.h \ - kernel.h \ - key.h \ - keystore.h \ - main.h \ - mruset.h \ - netbase.h \ - net.h \ - pbkdf2.h \ - protocol.h \ - script.h \ - scrypt.h \ - scrypt_mine.h \ - serialize.h \ - sph_blake.h \ - sph_bmw.h \ - sph_cubehash.h \ - sph_echo.h \ - sph_groestl.h \ - sph_jh.h \ - sph_keccak.h \ - sph_luffa.h \ - sph_shavite.h \ - sph_simd.h \ - sph_skein.h \ - sph_types.h \ - sync.h \ - tinyformat.h \ - ui_interface.h \ - uint256.h \ - util.h \ - version.h \ - wallet.h \ - walletdb.h - -JSON_H = \ - json/json_spirit.h \ - json/json_spirit_error_position.h \ - json/json_spirit_reader.h \ - json/json_spirit_reader_template.h \ - json/json_spirit_stream_reader.h \ - json/json_spirit_utils.h \ - json/json_spirit_value.h \ - json/json_spirit_writer.h \ - json/json_spirit_writer_template.h - - -# server: shared between bitcoind and bitcoin-qt -libbitcoin_server_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(MINIUPNPC_CPPFLAGS) -libbitcoin_server_a_SOURCES = \ - addrman.cpp \ - aes_helper.c \ - alert.cpp \ - bip38.cpp \ - bitcoinrpc.cpp \ - blake.c \ - bmw.c \ - checkpoints.cpp \ - cubehash.c \ - echo.c \ - groestl.c \ - init.cpp \ - jh.c \ - keccak.c \ - kernel.cpp \ - luffa.c \ - main.cpp \ - net.cpp \ - noui.cpp \ - rpcblockchain.cpp \ - rpcmining.cpp \ - rpcnet.cpp \ - rpcrawtransaction.cpp \ - script.cpp \ - scrypt.cpp \ - shavite.c \ - simd.c \ - skein.c \ - $(JSON_H) \ - $(BITCOIN_CORE_H) - - -# wallet: shared between bitcoind and bitcoin-qt, but only linked -# when wallet enabled -libbitcoin_wallet_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_wallet_a_SOURCES = \ - bip38.cpp \ - db.cpp \ - crypter.cpp \ - pbkdf2.cpp \ - rpcdump.cpp \ - rpcwallet.cpp \ - scrypt.cpp \ - wallet.cpp \ - walletdb.cpp \ - $(BITCOIN_CORE_H) - - -# common: shared between bitcoind, and bitcoin-qt and non-server tools -libbitcoin_common_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_common_a_SOURCES = \ - key.cpp \ - keystore.cpp \ - netbase.cpp \ - protocol.cpp \ - $(BITCOIN_CORE_H) - - -# util: shared between all executables. -# This library *must* be included to make sure that the glibc -# backward-compatibility objects and their sanity checks are linked. -libbitcoin_util_a_CPPFLAGS = $(BITCOIN_INCLUDES) -libbitcoin_util_a_SOURCES = \ - clientversion.cpp \ - sync.cpp \ - version.cpp \ - util.cpp \ - $(BITCOIN_CORE_H) - -nodist_libbitcoin_util_a_SOURCES = $(srcdir)/obj/build.h -# - -# hyperstaked binary # -hyperstaked_LDADD = $(LIBBITCOIN_SERVER) $(LIBBITCOIN_COMMON) \ - $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBLEVELDB) \ - $(LIBMEMENV) $(LIBSECP256K1) $(am__append_4) $(BOOST_LIBS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ - $(LIBSECP256K1) -hyperstaked_SOURCES = bitcoind.cpp $(am__append_5) -hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) -hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -CLEANFILES = *.gcda *.gcno $(am__append_10) $(am__append_17) \ - $(am__append_21) -DISTCLEANFILES = obj/build.h -EXTRA_DIST = $(am__append_8) -TEST_SRCDIR = test -TEST_BINARY = test/test_bitcoin$(EXEEXT) -JSON_TEST_FILES = \ - test/data/script_valid.json \ - test/data/base58_keys_valid.json \ - test/data/base58_encode_decode.json \ - test/data/base58_keys_invalid.json \ - test/data/script_invalid.json - -GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) -BITCOIN_TESTS = \ - test/allocator_tests.cpp \ - test/base32_tests.cpp \ - test/base64_tests.cpp \ - test/getarg_tests.cpp \ - test/key_tests.cpp \ - test/mruset_tests.cpp \ - test/netbase_tests.cpp \ - test/test_bitcoin.cpp \ - test/sigopcount_tests.cpp - -test_test_bitcoin_SOURCES = $(BITCOIN_TESTS) $(JSON_TEST_FILES) $(RAW_TEST_FILES) -test_test_bitcoin_CPPFLAGS = $(BITCOIN_INCLUDES) -I$(builddir)/test/ $(TESTDEFS) -test_test_bitcoin_LDADD = $(LIBBITCOIN_SERVER) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ - $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ - $(BOOST_UNIT_TEST_FRAMEWORK_LIB) \ - $(am__append_9) $(LIBBITCOIN_CONSENSUS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ - $(MINIUPNPC_LIBS) -test_test_bitcoin_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -static -nodist_test_test_bitcoin_SOURCES = $(GENERATED_TEST_FILES) -CLEAN_BITCOIN_TEST = test/*.gcda test/*.gcno $(GENERATED_TEST_FILES) - -# bitcoin qt core # -QT_TS = \ - qt/locale/bitcoin_en.ts \ - qt/locale/bitcoin_ru.ts - -QT_FORMS_UI = \ - qt/forms/aboutdialog.ui \ - qt/forms/addressbookpage.ui \ - qt/forms/askpassphrasedialog.ui \ - qt/forms/bip38tooldialog.ui \ - qt/forms/blockbrowser.ui \ - qt/forms/calcdialog.ui \ - qt/forms/charitydialog.ui \ - qt/forms/coincontroldialog.ui \ - qt/forms/editaddressdialog.ui \ - qt/forms/optionsdialog.ui \ - qt/forms/overviewpage.ui \ - qt/forms/qrcodedialog.ui \ - qt/forms/rpcconsole.ui \ - qt/forms/sendcoinsdialog.ui \ - qt/forms/sendcoinsentry.ui \ - qt/forms/signverifymessagedialog.ui \ - qt/forms/transactiondescdialog.ui - -QT_MOC_CPP = \ - qt/moc_aboutdialog.cpp \ - qt/moc_addressbookpage.cpp \ - qt/moc_addresstablemodel.cpp \ - qt/moc_askpassphrasedialog.cpp \ - qt/moc_bip38tooldialog.cpp \ - qt/moc_bitcoinaddressvalidator.cpp \ - qt/moc_bitcoinamountfield.cpp \ - qt/moc_bitcoingui.cpp \ - qt/moc_bitcoinunits.cpp \ - qt/moc_blockbrowser.cpp \ - qt/moc_calcdialog.cpp \ - qt/moc_charitydialog.cpp \ - qt/moc_clientmodel.cpp \ - qt/moc_coincontroldialog.cpp \ - qt/moc_coincontroltreewidget.cpp \ - qt/moc_csvmodelwriter.cpp \ - qt/moc_editaddressdialog.cpp \ - qt/moc_guiutil.cpp \ - qt/moc_macdockiconhandler.cpp \ - qt/moc_macnotificationhandler.cpp \ - qt/moc_monitoreddatamapper.cpp \ - qt/moc_notificator.cpp \ - qt/moc_optionsdialog.cpp \ - qt/moc_optionsmodel.cpp \ - qt/moc_overviewpage.cpp \ - qt/moc_paymentserver.cpp \ - qt/moc_qrcodedialog.cpp \ - qt/moc_qvalidatedlineedit.cpp \ - qt/moc_qvaluecombobox.cpp \ - qt/moc_rpcconsole.cpp \ - qt/moc_sendcoinsdialog.cpp \ - qt/moc_sendcoinsentry.cpp \ - qt/moc_signverifymessagedialog.cpp \ - qt/moc_transactiondesc.cpp \ - qt/moc_transactiondescdialog.cpp \ - qt/moc_transactionfilterproxy.cpp \ - qt/moc_transactiontablemodel.cpp \ - qt/moc_transactionview.cpp \ - qt/moc_walletmodel.cpp - -BITCOIN_MM = \ - qt/macdockiconhandler.mm \ - qt/macnotificationhandler.mm - -QT_MOC = \ - qt/bitcoin.moc \ - qt/bitcoinamountfield.moc \ - qt/overviewpage.moc \ - qt/rpcconsole.moc - -QT_QRC_CPP = qt/qrc_bitcoin.cpp -QT_QRC = qt/bitcoin.qrc -BITCOIN_QT_H = \ - qt/aboutdialog.h \ - qt/addressbookpage.h \ - qt/addresstablemodel.h \ - qt/askpassphrasedialog.h \ - qt/bip38tooldialog.h \ - qt/bitcoinaddressvalidator.h \ - qt/bitcoinamountfield.h \ - qt/bitcoingui.h \ - qt/bitcoinunits.h \ - qt/blockbrowser.h \ - qt/calcdialog.h \ - qt/charitydialog.h \ - qt/clientmodel.h \ - qt/coincontroldialog.h \ - qt/coincontroltreewidget.h \ - qt/csvmodelwriter.h \ - qt/editaddressdialog.h \ - qt/guiconstants.h \ - qt/guiutil.h \ - qt/macdockiconhandler.h \ - qt/macnotificationhandler.h \ - qt/monitoreddatamapper.h \ - qt/networkstyle.h \ - qt/notificator.h \ - qt/optionsdialog.h \ - qt/optionsmodel.h \ - qt/overviewpage.h \ - qt/paymentserver.h \ - qt/qrcodedialog.h \ - qt/qvalidatedlineedit.h \ - qt/qvaluecombobox.h \ - qt/rpcconsole.h \ - qt/scicon.h \ - qt/sendcoinsdialog.h \ - qt/sendcoinsentry.h \ - qt/signverifymessagedialog.h \ - qt/transactiondesc.h \ - qt/transactiondescdialog.h \ - qt/transactionfilterproxy.h \ - qt/transactionrecord.h \ - qt/transactiontablemodel.h \ - qt/transactionview.h \ - qt/walletmodel.h - -RES_ICONS = \ - qt/res/icons/add.png \ - qt/res/icons/address-book.png \ - qt/res/icons/blexp.png \ - qt/res/icons/clock1.png \ - qt/res/icons/clock2.png \ - qt/res/icons/clock3.png \ - qt/res/icons/clock4.png \ - qt/res/icons/clock5.png \ - qt/res/icons/configure.png \ - qt/res/icons/connect0_16.png \ - qt/res/icons/connect1_16.png \ - qt/res/icons/connect2_16.png \ - qt/res/icons/connect3_16.png \ - qt/res/icons/connect4_16.png \ - qt/res/icons/debugwindow.png \ - qt/res/icons/edit.png \ - qt/res/icons/editcopy.png \ - qt/res/icons/editpaste.png \ - qt/res/icons/export.png \ - qt/res/icons/filesave.png \ - qt/res/icons/history.png \ - qt/res/icons/hyperstake-16.png \ - qt/res/icons/hyperstake-32.png \ - qt/res/icons/hyperstake-128.png \ - qt/res/icons/info.png \ - qt/res/icons/key.png \ - qt/res/icons/lock_closed.png \ - qt/res/icons/lock_open.png \ - qt/res/icons/mining.png \ - qt/res/icons/mining_inactive.png \ - qt/res/icons/notsynced.png \ - qt/res/icons/overview.png \ - qt/res/icons/qrcode.png \ - qt/res/icons/quit.png \ - qt/res/icons/receive.png \ - qt/res/icons/remove.png \ - qt/res/icons/s4c.png \ - qt/res/icons/send.png \ - qt/res/icons/synced.png \ - qt/res/icons/transaction0.png \ - qt/res/icons/transaction2.png \ - qt/res/icons/tx_inout.png \ - qt/res/icons/tx_input.png \ - qt/res/icons/tx_output.png \ - qt/res/icons/tx_mined.png - -BITCOIN_QT_CPP = qt/aboutdialog.cpp \ - qt/bip38tooldialog.cpp \ - qt/bitcoinaddressvalidator.cpp \ - qt/bitcoinamountfield.cpp qt/bitcoingui.cpp \ - qt/bitcoinunits.cpp qt/blockbrowser.cpp \ - qt/calcdialog.cpp qt/charitydialog.cpp \ - qt/clientmodel.cpp qt/csvmodelwriter.cpp \ - qt/guiutil.cpp qt/monitoreddatamapper.cpp \ - qt/networkstyle.cpp qt/notificator.cpp \ - qt/optionsdialog.cpp qt/optionsmodel.cpp \ - qt/qrcodedialog.cpp qt/qvalidatedlineedit.cpp \ - qt/qvaluecombobox.cpp qt/rpcconsole.cpp \ - qt/scicon.cpp qt/walletmodel.cpp \ - $(am__append_13) -RES_IMAGES = \ - qt/res/images/about.png \ - qt/res/images/splash.png \ - qt/res/images/wallet.png - -RES_STYLESHEETS = -RES_MOVIES = $(wildcard qt/res/movies/*.mng) -BITCOIN_RC = qt/res/bitcoin-qt.rc -BITCOIN_QT_INCLUDES = -I$(builddir)/qt -I$(srcdir)/qt -I$(srcdir)/qt/forms \ - -I$(builddir)/qt/forms - -qt_libbitcoinqt_a_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(QT_DBUS_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) - -qt_libbitcoinqt_a_SOURCES = $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(QT_FORMS_UI) \ - $(QT_QRC) $(QT_TS) $(PROTOBUF_PROTO) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) - -nodist_qt_libbitcoinqt_a_SOURCES = $(QT_MOC_CPP) $(QT_MOC) $(PROTOBUF_CC) \ - $(PROTOBUF_H) $(QT_QRC_CPP) - - -# forms/foo.h -> forms/ui_foo.h -QT_FORMS_H = $(join $(dir $(QT_FORMS_UI)),$(addprefix ui_, $(notdir $(QT_FORMS_UI:.ui=.h)))) - -# hyperstake-qt binary # -qt_hyperstake_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(PROTOBUF_CFLAGS) $(QR_CFLAGS) - -qt_hyperstake_qt_SOURCES = qt/bitcoin.cpp \ - $(am__append_14) $(am__append_15) -qt_hyperstake_qt_LDADD = qt/libbitcoinqt.a \ - $(LIBBITCOIN_SERVER) $(am__append_16) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) \ - $(LIBLEVELDB) $(LIBMEMENV) $(BOOST_LIBS) \ - $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) \ - $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) \ - $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) \ - $(LIBSECP256K1) -qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX - -#locale/foo.ts -> locale/foo.qm -QT_QM = $(QT_TS:.ts=.qm) -CLEAN_QT = $(nodist_qt_libbitcoinqt_a_SOURCES) $(QT_QM) $(QT_FORMS_H) qt/*.gcda qt/*.gcno -TEST_QT_MOC_CPP = qt/test/moc_uritests.cpp -TEST_QT_H = \ - qt/test/uritests.h - -qt_test_test_bitcoin_qt_CPPFLAGS = $(BITCOIN_INCLUDES) $(BITCOIN_QT_INCLUDES) \ - $(QT_INCLUDES) $(QT_TEST_INCLUDES) $(PROTOBUF_CFLAGS) - -qt_test_test_bitcoin_qt_SOURCES = \ - qt/test/test_main.cpp \ - qt/test/uritests.cpp \ - $(TEST_QT_H) - -nodist_qt_test_test_bitcoin_qt_SOURCES = $(TEST_QT_MOC_CPP) -qt_test_test_bitcoin_qt_LDADD = $(LIBBITCOINQT) \ - $(LIBBITCOIN_SERVER) $(am__append_20) \ - $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) \ - $(LIBBITCOIN_CRYPTO) \ - $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ - $(LIBMEMENV) $(BOOST_LIBS) \ - $(QT_DBUS_LIBS) $(QT_TEST_LIBS) \ - $(QT_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) \ - $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) \ - $(MINIUPNPC_LIBS) $(LIBSECP256K1) -qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) -CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .c .cpp .lo .log .mm .o .obj .rc .test .test$(EXEEXT) .trs -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/Makefile.test.include $(srcdir)/Makefile.qt.include $(srcdir)/Makefile.qttest.include $(am__empty): - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libbitcoin_common.a: $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_DEPENDENCIES) $(EXTRA_libbitcoin_common_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_common.a - $(AM_V_AR)$(libbitcoin_common_a_AR) libbitcoin_common.a $(libbitcoin_common_a_OBJECTS) $(libbitcoin_common_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_common.a - -libbitcoin_server.a: $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_DEPENDENCIES) $(EXTRA_libbitcoin_server_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_server.a - $(AM_V_AR)$(libbitcoin_server_a_AR) libbitcoin_server.a $(libbitcoin_server_a_OBJECTS) $(libbitcoin_server_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_server.a - -libbitcoin_util.a: $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_DEPENDENCIES) $(EXTRA_libbitcoin_util_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_util.a - $(AM_V_AR)$(libbitcoin_util_a_AR) libbitcoin_util.a $(libbitcoin_util_a_OBJECTS) $(libbitcoin_util_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_util.a - -libbitcoin_wallet.a: $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_DEPENDENCIES) $(EXTRA_libbitcoin_wallet_a_DEPENDENCIES) - $(AM_V_at)-rm -f libbitcoin_wallet.a - $(AM_V_AR)$(libbitcoin_wallet_a_AR) libbitcoin_wallet.a $(libbitcoin_wallet_a_OBJECTS) $(libbitcoin_wallet_a_LIBADD) - $(AM_V_at)$(RANLIB) libbitcoin_wallet.a -qt/$(am__dirstamp): - @$(MKDIR_P) qt - @: > qt/$(am__dirstamp) -qt/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/$(DEPDIR) - @: > qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bip38tooldialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinamountfield.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-guiutil.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-monitoreddatamapper.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-networkstyle.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-notificator.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qvalidatedlineedit.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-scicon.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-addressbookpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-addresstablemodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-askpassphrasedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-coincontroldialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-coincontroltreewidget.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-editaddressdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-sendcoinsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-signverifymessagedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiondesc.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiondescdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionfilterproxy.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionrecord.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactiontablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-transactionview.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_aboutdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_addressbookpage.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_addresstablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoingui.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_bitcoinunits.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_blockbrowser.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_calcdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_charitydialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_clientmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_coincontroldialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_editaddressdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_guiutil.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_notificator.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_optionsdialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_optionsmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_overviewpage.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_paymentserver.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qrcodedialog.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_rpcconsole.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiondesc.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_transactionview.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-moc_walletmodel.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_libbitcoinqt_a-qrc_bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) - -qt/libbitcoinqt.a: $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_DEPENDENCIES) $(EXTRA_qt_libbitcoinqt_a_DEPENDENCIES) qt/$(am__dirstamp) - $(AM_V_at)-rm -f qt/libbitcoinqt.a - $(AM_V_AR)$(qt_libbitcoinqt_a_AR) qt/libbitcoinqt.a $(qt_libbitcoinqt_a_OBJECTS) $(qt_libbitcoinqt_a_LIBADD) - $(AM_V_at)$(RANLIB) qt/libbitcoinqt.a -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -hyperstaked$(EXEEXT): $(hyperstaked_OBJECTS) $(hyperstaked_DEPENDENCIES) $(EXTRA_hyperstaked_DEPENDENCIES) - @rm -f hyperstaked$(EXEEXT) - $(AM_V_CXXLD)$(hyperstaked_LINK) $(hyperstaked_OBJECTS) $(hyperstaked_LDADD) $(LIBS) -qt/qt_hyperstake_qt-bitcoin.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_hyperstake_qt-macdockiconhandler.$(OBJEXT): qt/$(am__dirstamp) \ - qt/$(DEPDIR)/$(am__dirstamp) -qt/qt_hyperstake_qt-macnotificationhandler.$(OBJEXT): \ - qt/$(am__dirstamp) qt/$(DEPDIR)/$(am__dirstamp) -qt/res/$(am__dirstamp): - @$(MKDIR_P) qt/res - @: > qt/res/$(am__dirstamp) -qt/res/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/res/$(DEPDIR) - @: > qt/res/$(DEPDIR)/$(am__dirstamp) -qt/res/bitcoin-qt.$(OBJEXT): qt/res/$(am__dirstamp) \ - qt/res/$(DEPDIR)/$(am__dirstamp) - -qt/hyperstake-qt$(EXEEXT): $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_DEPENDENCIES) $(EXTRA_qt_hyperstake_qt_DEPENDENCIES) qt/$(am__dirstamp) - @rm -f qt/hyperstake-qt$(EXEEXT) - $(AM_V_OBJCXXLD)$(qt_hyperstake_qt_LINK) $(qt_hyperstake_qt_OBJECTS) $(qt_hyperstake_qt_LDADD) $(LIBS) -qt/test/$(am__dirstamp): - @$(MKDIR_P) qt/test - @: > qt/test/$(am__dirstamp) -qt/test/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) qt/test/$(DEPDIR) - @: > qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-test_main.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-uritests.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) -qt/test/qt_test_test_bitcoin_qt-moc_uritests.$(OBJEXT): \ - qt/test/$(am__dirstamp) qt/test/$(DEPDIR)/$(am__dirstamp) - -qt/test/test_bitcoin-qt$(EXEEXT): $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_DEPENDENCIES) $(EXTRA_qt_test_test_bitcoin_qt_DEPENDENCIES) qt/test/$(am__dirstamp) - @rm -f qt/test/test_bitcoin-qt$(EXEEXT) - $(AM_V_CXXLD)$(qt_test_test_bitcoin_qt_LINK) $(qt_test_test_bitcoin_qt_OBJECTS) $(qt_test_test_bitcoin_qt_LDADD) $(LIBS) -test/$(am__dirstamp): - @$(MKDIR_P) test - @: > test/$(am__dirstamp) -test/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) test/$(DEPDIR) - @: > test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-allocator_tests.$(OBJEXT): \ - test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-base32_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-base64_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-getarg_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-key_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-mruset_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-netbase_tests.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-test_bitcoin.$(OBJEXT): test/$(am__dirstamp) \ - test/$(DEPDIR)/$(am__dirstamp) -test/test_test_bitcoin-sigopcount_tests.$(OBJEXT): \ - test/$(am__dirstamp) test/$(DEPDIR)/$(am__dirstamp) - -test/test_bitcoin$(EXEEXT): $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_DEPENDENCIES) $(EXTRA_test_test_bitcoin_DEPENDENCIES) test/$(am__dirstamp) - @rm -f test/test_bitcoin$(EXEEXT) - $(AM_V_CXXLD)$(test_test_bitcoin_LINK) $(test_test_bitcoin_OBJECTS) $(test_test_bitcoin_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -rm -f qt/*.$(OBJEXT) - -rm -f qt/res/*.$(OBJEXT) - -rm -f qt/test/*.$(OBJEXT) - -rm -f test/*.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -include ./$(DEPDIR)/hyperstaked-bitcoind.Po -include ./$(DEPDIR)/libbitcoin_common_a-key.Po -include ./$(DEPDIR)/libbitcoin_common_a-keystore.Po -include ./$(DEPDIR)/libbitcoin_common_a-netbase.Po -include ./$(DEPDIR)/libbitcoin_common_a-protocol.Po -include ./$(DEPDIR)/libbitcoin_server_a-addrman.Po -include ./$(DEPDIR)/libbitcoin_server_a-aes_helper.Po -include ./$(DEPDIR)/libbitcoin_server_a-alert.Po -include ./$(DEPDIR)/libbitcoin_server_a-bip38.Po -include ./$(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -include ./$(DEPDIR)/libbitcoin_server_a-blake.Po -include ./$(DEPDIR)/libbitcoin_server_a-bmw.Po -include ./$(DEPDIR)/libbitcoin_server_a-checkpoints.Po -include ./$(DEPDIR)/libbitcoin_server_a-cubehash.Po -include ./$(DEPDIR)/libbitcoin_server_a-echo.Po -include ./$(DEPDIR)/libbitcoin_server_a-groestl.Po -include ./$(DEPDIR)/libbitcoin_server_a-init.Po -include ./$(DEPDIR)/libbitcoin_server_a-jh.Po -include ./$(DEPDIR)/libbitcoin_server_a-keccak.Po -include ./$(DEPDIR)/libbitcoin_server_a-kernel.Po -include ./$(DEPDIR)/libbitcoin_server_a-luffa.Po -include ./$(DEPDIR)/libbitcoin_server_a-main.Po -include ./$(DEPDIR)/libbitcoin_server_a-net.Po -include ./$(DEPDIR)/libbitcoin_server_a-noui.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcmining.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcnet.Po -include ./$(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -include ./$(DEPDIR)/libbitcoin_server_a-script.Po -include ./$(DEPDIR)/libbitcoin_server_a-scrypt.Po -include ./$(DEPDIR)/libbitcoin_server_a-shavite.Po -include ./$(DEPDIR)/libbitcoin_server_a-simd.Po -include ./$(DEPDIR)/libbitcoin_server_a-skein.Po -include ./$(DEPDIR)/libbitcoin_util_a-clientversion.Po -include ./$(DEPDIR)/libbitcoin_util_a-sync.Po -include ./$(DEPDIR)/libbitcoin_util_a-util.Po -include ./$(DEPDIR)/libbitcoin_util_a-version.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-bip38.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-crypter.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-db.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-wallet.Po -include ./$(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -include qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -include qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -include qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -include test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -include test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po - -.c.o: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ $< - -.c.obj: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CC)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: - $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CC)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(LTCOMPILE) -c -o $@ $< - -libbitcoin_server_a-aes_helper.o: aes_helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po -# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.o `test -f 'aes_helper.c' || echo '$(srcdir)/'`aes_helper.c - -libbitcoin_server_a-aes_helper.obj: aes_helper.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-aes_helper.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-aes_helper.Tpo $(DEPDIR)/libbitcoin_server_a-aes_helper.Po -# $(AM_V_CC)source='aes_helper.c' object='libbitcoin_server_a-aes_helper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-aes_helper.obj `if test -f 'aes_helper.c'; then $(CYGPATH_W) 'aes_helper.c'; else $(CYGPATH_W) '$(srcdir)/aes_helper.c'; fi` - -libbitcoin_server_a-blake.o: blake.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po -# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.o `test -f 'blake.c' || echo '$(srcdir)/'`blake.c - -libbitcoin_server_a-blake.obj: blake.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-blake.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-blake.Tpo -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-blake.Tpo $(DEPDIR)/libbitcoin_server_a-blake.Po -# $(AM_V_CC)source='blake.c' object='libbitcoin_server_a-blake.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-blake.obj `if test -f 'blake.c'; then $(CYGPATH_W) 'blake.c'; else $(CYGPATH_W) '$(srcdir)/blake.c'; fi` - -libbitcoin_server_a-bmw.o: bmw.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po -# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.o `test -f 'bmw.c' || echo '$(srcdir)/'`bmw.c - -libbitcoin_server_a-bmw.obj: bmw.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-bmw.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bmw.Tpo -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bmw.Tpo $(DEPDIR)/libbitcoin_server_a-bmw.Po -# $(AM_V_CC)source='bmw.c' object='libbitcoin_server_a-bmw.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-bmw.obj `if test -f 'bmw.c'; then $(CYGPATH_W) 'bmw.c'; else $(CYGPATH_W) '$(srcdir)/bmw.c'; fi` - -libbitcoin_server_a-cubehash.o: cubehash.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po -# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.o `test -f 'cubehash.c' || echo '$(srcdir)/'`cubehash.c - -libbitcoin_server_a-cubehash.obj: cubehash.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-cubehash.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-cubehash.Tpo $(DEPDIR)/libbitcoin_server_a-cubehash.Po -# $(AM_V_CC)source='cubehash.c' object='libbitcoin_server_a-cubehash.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-cubehash.obj `if test -f 'cubehash.c'; then $(CYGPATH_W) 'cubehash.c'; else $(CYGPATH_W) '$(srcdir)/cubehash.c'; fi` - -libbitcoin_server_a-echo.o: echo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po -# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.o `test -f 'echo.c' || echo '$(srcdir)/'`echo.c - -libbitcoin_server_a-echo.obj: echo.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-echo.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-echo.Tpo -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-echo.Tpo $(DEPDIR)/libbitcoin_server_a-echo.Po -# $(AM_V_CC)source='echo.c' object='libbitcoin_server_a-echo.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-echo.obj `if test -f 'echo.c'; then $(CYGPATH_W) 'echo.c'; else $(CYGPATH_W) '$(srcdir)/echo.c'; fi` - -libbitcoin_server_a-groestl.o: groestl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po -# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.o `test -f 'groestl.c' || echo '$(srcdir)/'`groestl.c - -libbitcoin_server_a-groestl.obj: groestl.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-groestl.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-groestl.Tpo -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-groestl.Tpo $(DEPDIR)/libbitcoin_server_a-groestl.Po -# $(AM_V_CC)source='groestl.c' object='libbitcoin_server_a-groestl.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-groestl.obj `if test -f 'groestl.c'; then $(CYGPATH_W) 'groestl.c'; else $(CYGPATH_W) '$(srcdir)/groestl.c'; fi` - -libbitcoin_server_a-jh.o: jh.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po -# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.o `test -f 'jh.c' || echo '$(srcdir)/'`jh.c - -libbitcoin_server_a-jh.obj: jh.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-jh.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-jh.Tpo -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-jh.Tpo $(DEPDIR)/libbitcoin_server_a-jh.Po -# $(AM_V_CC)source='jh.c' object='libbitcoin_server_a-jh.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-jh.obj `if test -f 'jh.c'; then $(CYGPATH_W) 'jh.c'; else $(CYGPATH_W) '$(srcdir)/jh.c'; fi` - -libbitcoin_server_a-keccak.o: keccak.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po -# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.o `test -f 'keccak.c' || echo '$(srcdir)/'`keccak.c - -libbitcoin_server_a-keccak.obj: keccak.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-keccak.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-keccak.Tpo -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-keccak.Tpo $(DEPDIR)/libbitcoin_server_a-keccak.Po -# $(AM_V_CC)source='keccak.c' object='libbitcoin_server_a-keccak.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-keccak.obj `if test -f 'keccak.c'; then $(CYGPATH_W) 'keccak.c'; else $(CYGPATH_W) '$(srcdir)/keccak.c'; fi` - -libbitcoin_server_a-luffa.o: luffa.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po -# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.o `test -f 'luffa.c' || echo '$(srcdir)/'`luffa.c - -libbitcoin_server_a-luffa.obj: luffa.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-luffa.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-luffa.Tpo -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-luffa.Tpo $(DEPDIR)/libbitcoin_server_a-luffa.Po -# $(AM_V_CC)source='luffa.c' object='libbitcoin_server_a-luffa.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-luffa.obj `if test -f 'luffa.c'; then $(CYGPATH_W) 'luffa.c'; else $(CYGPATH_W) '$(srcdir)/luffa.c'; fi` - -libbitcoin_server_a-shavite.o: shavite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po -# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.o `test -f 'shavite.c' || echo '$(srcdir)/'`shavite.c - -libbitcoin_server_a-shavite.obj: shavite.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-shavite.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-shavite.Tpo -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-shavite.Tpo $(DEPDIR)/libbitcoin_server_a-shavite.Po -# $(AM_V_CC)source='shavite.c' object='libbitcoin_server_a-shavite.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-shavite.obj `if test -f 'shavite.c'; then $(CYGPATH_W) 'shavite.c'; else $(CYGPATH_W) '$(srcdir)/shavite.c'; fi` - -libbitcoin_server_a-simd.o: simd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po -# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.o `test -f 'simd.c' || echo '$(srcdir)/'`simd.c - -libbitcoin_server_a-simd.obj: simd.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-simd.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-simd.Tpo -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-simd.Tpo $(DEPDIR)/libbitcoin_server_a-simd.Po -# $(AM_V_CC)source='simd.c' object='libbitcoin_server_a-simd.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-simd.obj `if test -f 'simd.c'; then $(CYGPATH_W) 'simd.c'; else $(CYGPATH_W) '$(srcdir)/simd.c'; fi` - -libbitcoin_server_a-skein.o: skein.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po -# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.o `test -f 'skein.c' || echo '$(srcdir)/'`skein.c - -libbitcoin_server_a-skein.obj: skein.c - $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libbitcoin_server_a-skein.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-skein.Tpo -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-skein.Tpo $(DEPDIR)/libbitcoin_server_a-skein.Po -# $(AM_V_CC)source='skein.c' object='libbitcoin_server_a-skein.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ -# $(AM_V_CC_no)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libbitcoin_server_a-skein.obj `if test -f 'skein.c'; then $(CYGPATH_W) 'skein.c'; else $(CYGPATH_W) '$(srcdir)/skein.c'; fi` - -.cpp.o: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ - $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ $< - -.cpp.obj: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_CXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.cpp.lo: - $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_CXX)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(LTCXXCOMPILE) -c -o $@ $< - -libbitcoin_common_a-key.o: key.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po -# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.o `test -f 'key.cpp' || echo '$(srcdir)/'`key.cpp - -libbitcoin_common_a-key.obj: key.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-key.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-key.Tpo -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-key.Tpo $(DEPDIR)/libbitcoin_common_a-key.Po -# $(AM_V_CXX)source='key.cpp' object='libbitcoin_common_a-key.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-key.obj `if test -f 'key.cpp'; then $(CYGPATH_W) 'key.cpp'; else $(CYGPATH_W) '$(srcdir)/key.cpp'; fi` - -libbitcoin_common_a-keystore.o: keystore.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po -# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.o `test -f 'keystore.cpp' || echo '$(srcdir)/'`keystore.cpp - -libbitcoin_common_a-keystore.obj: keystore.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-keystore.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-keystore.Tpo -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-keystore.Tpo $(DEPDIR)/libbitcoin_common_a-keystore.Po -# $(AM_V_CXX)source='keystore.cpp' object='libbitcoin_common_a-keystore.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-keystore.obj `if test -f 'keystore.cpp'; then $(CYGPATH_W) 'keystore.cpp'; else $(CYGPATH_W) '$(srcdir)/keystore.cpp'; fi` - -libbitcoin_common_a-netbase.o: netbase.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po -# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.o `test -f 'netbase.cpp' || echo '$(srcdir)/'`netbase.cpp - -libbitcoin_common_a-netbase.obj: netbase.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-netbase.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-netbase.Tpo -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-netbase.Tpo $(DEPDIR)/libbitcoin_common_a-netbase.Po -# $(AM_V_CXX)source='netbase.cpp' object='libbitcoin_common_a-netbase.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-netbase.obj `if test -f 'netbase.cpp'; then $(CYGPATH_W) 'netbase.cpp'; else $(CYGPATH_W) '$(srcdir)/netbase.cpp'; fi` - -libbitcoin_common_a-protocol.o: protocol.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.o -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po -# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.o `test -f 'protocol.cpp' || echo '$(srcdir)/'`protocol.cpp - -libbitcoin_common_a-protocol.obj: protocol.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_common_a-protocol.obj -MD -MP -MF $(DEPDIR)/libbitcoin_common_a-protocol.Tpo -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_common_a-protocol.Tpo $(DEPDIR)/libbitcoin_common_a-protocol.Po -# $(AM_V_CXX)source='protocol.cpp' object='libbitcoin_common_a-protocol.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_common_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_common_a-protocol.obj `if test -f 'protocol.cpp'; then $(CYGPATH_W) 'protocol.cpp'; else $(CYGPATH_W) '$(srcdir)/protocol.cpp'; fi` - -libbitcoin_server_a-addrman.o: addrman.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po -# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.o `test -f 'addrman.cpp' || echo '$(srcdir)/'`addrman.cpp - -libbitcoin_server_a-addrman.obj: addrman.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-addrman.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-addrman.Tpo -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-addrman.Tpo $(DEPDIR)/libbitcoin_server_a-addrman.Po -# $(AM_V_CXX)source='addrman.cpp' object='libbitcoin_server_a-addrman.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-addrman.obj `if test -f 'addrman.cpp'; then $(CYGPATH_W) 'addrman.cpp'; else $(CYGPATH_W) '$(srcdir)/addrman.cpp'; fi` - -libbitcoin_server_a-alert.o: alert.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po -# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.o `test -f 'alert.cpp' || echo '$(srcdir)/'`alert.cpp - -libbitcoin_server_a-alert.obj: alert.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-alert.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-alert.Tpo -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-alert.Tpo $(DEPDIR)/libbitcoin_server_a-alert.Po -# $(AM_V_CXX)source='alert.cpp' object='libbitcoin_server_a-alert.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-alert.obj `if test -f 'alert.cpp'; then $(CYGPATH_W) 'alert.cpp'; else $(CYGPATH_W) '$(srcdir)/alert.cpp'; fi` - -libbitcoin_server_a-bip38.o: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - -libbitcoin_server_a-bip38.obj: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bip38.Tpo -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bip38.Tpo $(DEPDIR)/libbitcoin_server_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_server_a-bip38.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - -libbitcoin_server_a-bitcoinrpc.o: bitcoinrpc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.o `test -f 'bitcoinrpc.cpp' || echo '$(srcdir)/'`bitcoinrpc.cpp - -libbitcoin_server_a-bitcoinrpc.obj: bitcoinrpc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-bitcoinrpc.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Tpo $(DEPDIR)/libbitcoin_server_a-bitcoinrpc.Po -# $(AM_V_CXX)source='bitcoinrpc.cpp' object='libbitcoin_server_a-bitcoinrpc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-bitcoinrpc.obj `if test -f 'bitcoinrpc.cpp'; then $(CYGPATH_W) 'bitcoinrpc.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoinrpc.cpp'; fi` - -libbitcoin_server_a-checkpoints.o: checkpoints.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po -# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.o `test -f 'checkpoints.cpp' || echo '$(srcdir)/'`checkpoints.cpp - -libbitcoin_server_a-checkpoints.obj: checkpoints.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-checkpoints.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-checkpoints.Tpo $(DEPDIR)/libbitcoin_server_a-checkpoints.Po -# $(AM_V_CXX)source='checkpoints.cpp' object='libbitcoin_server_a-checkpoints.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-checkpoints.obj `if test -f 'checkpoints.cpp'; then $(CYGPATH_W) 'checkpoints.cpp'; else $(CYGPATH_W) '$(srcdir)/checkpoints.cpp'; fi` - -libbitcoin_server_a-init.o: init.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po -# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.o `test -f 'init.cpp' || echo '$(srcdir)/'`init.cpp - -libbitcoin_server_a-init.obj: init.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-init.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-init.Tpo -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-init.Tpo $(DEPDIR)/libbitcoin_server_a-init.Po -# $(AM_V_CXX)source='init.cpp' object='libbitcoin_server_a-init.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-init.obj `if test -f 'init.cpp'; then $(CYGPATH_W) 'init.cpp'; else $(CYGPATH_W) '$(srcdir)/init.cpp'; fi` - -libbitcoin_server_a-kernel.o: kernel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po -# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.o `test -f 'kernel.cpp' || echo '$(srcdir)/'`kernel.cpp - -libbitcoin_server_a-kernel.obj: kernel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-kernel.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-kernel.Tpo -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-kernel.Tpo $(DEPDIR)/libbitcoin_server_a-kernel.Po -# $(AM_V_CXX)source='kernel.cpp' object='libbitcoin_server_a-kernel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-kernel.obj `if test -f 'kernel.cpp'; then $(CYGPATH_W) 'kernel.cpp'; else $(CYGPATH_W) '$(srcdir)/kernel.cpp'; fi` - -libbitcoin_server_a-main.o: main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po -# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.o `test -f 'main.cpp' || echo '$(srcdir)/'`main.cpp - -libbitcoin_server_a-main.obj: main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-main.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-main.Tpo -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-main.Tpo $(DEPDIR)/libbitcoin_server_a-main.Po -# $(AM_V_CXX)source='main.cpp' object='libbitcoin_server_a-main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-main.obj `if test -f 'main.cpp'; then $(CYGPATH_W) 'main.cpp'; else $(CYGPATH_W) '$(srcdir)/main.cpp'; fi` - -libbitcoin_server_a-net.o: net.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po -# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.o `test -f 'net.cpp' || echo '$(srcdir)/'`net.cpp - -libbitcoin_server_a-net.obj: net.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-net.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-net.Tpo -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-net.Tpo $(DEPDIR)/libbitcoin_server_a-net.Po -# $(AM_V_CXX)source='net.cpp' object='libbitcoin_server_a-net.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-net.obj `if test -f 'net.cpp'; then $(CYGPATH_W) 'net.cpp'; else $(CYGPATH_W) '$(srcdir)/net.cpp'; fi` - -libbitcoin_server_a-noui.o: noui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po -# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.o `test -f 'noui.cpp' || echo '$(srcdir)/'`noui.cpp - -libbitcoin_server_a-noui.obj: noui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-noui.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-noui.Tpo -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-noui.Tpo $(DEPDIR)/libbitcoin_server_a-noui.Po -# $(AM_V_CXX)source='noui.cpp' object='libbitcoin_server_a-noui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-noui.obj `if test -f 'noui.cpp'; then $(CYGPATH_W) 'noui.cpp'; else $(CYGPATH_W) '$(srcdir)/noui.cpp'; fi` - -libbitcoin_server_a-rpcblockchain.o: rpcblockchain.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.o `test -f 'rpcblockchain.cpp' || echo '$(srcdir)/'`rpcblockchain.cpp - -libbitcoin_server_a-rpcblockchain.obj: rpcblockchain.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcblockchain.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Tpo $(DEPDIR)/libbitcoin_server_a-rpcblockchain.Po -# $(AM_V_CXX)source='rpcblockchain.cpp' object='libbitcoin_server_a-rpcblockchain.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcblockchain.obj `if test -f 'rpcblockchain.cpp'; then $(CYGPATH_W) 'rpcblockchain.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcblockchain.cpp'; fi` - -libbitcoin_server_a-rpcmining.o: rpcmining.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po -# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.o `test -f 'rpcmining.cpp' || echo '$(srcdir)/'`rpcmining.cpp - -libbitcoin_server_a-rpcmining.obj: rpcmining.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcmining.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcmining.Tpo $(DEPDIR)/libbitcoin_server_a-rpcmining.Po -# $(AM_V_CXX)source='rpcmining.cpp' object='libbitcoin_server_a-rpcmining.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcmining.obj `if test -f 'rpcmining.cpp'; then $(CYGPATH_W) 'rpcmining.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcmining.cpp'; fi` - -libbitcoin_server_a-rpcnet.o: rpcnet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po -# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.o `test -f 'rpcnet.cpp' || echo '$(srcdir)/'`rpcnet.cpp - -libbitcoin_server_a-rpcnet.obj: rpcnet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcnet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcnet.Tpo $(DEPDIR)/libbitcoin_server_a-rpcnet.Po -# $(AM_V_CXX)source='rpcnet.cpp' object='libbitcoin_server_a-rpcnet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcnet.obj `if test -f 'rpcnet.cpp'; then $(CYGPATH_W) 'rpcnet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcnet.cpp'; fi` - -libbitcoin_server_a-rpcrawtransaction.o: rpcrawtransaction.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.o `test -f 'rpcrawtransaction.cpp' || echo '$(srcdir)/'`rpcrawtransaction.cpp - -libbitcoin_server_a-rpcrawtransaction.obj: rpcrawtransaction.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-rpcrawtransaction.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Tpo $(DEPDIR)/libbitcoin_server_a-rpcrawtransaction.Po -# $(AM_V_CXX)source='rpcrawtransaction.cpp' object='libbitcoin_server_a-rpcrawtransaction.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-rpcrawtransaction.obj `if test -f 'rpcrawtransaction.cpp'; then $(CYGPATH_W) 'rpcrawtransaction.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcrawtransaction.cpp'; fi` - -libbitcoin_server_a-script.o: script.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po -# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.o `test -f 'script.cpp' || echo '$(srcdir)/'`script.cpp - -libbitcoin_server_a-script.obj: script.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-script.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-script.Tpo -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-script.Tpo $(DEPDIR)/libbitcoin_server_a-script.Po -# $(AM_V_CXX)source='script.cpp' object='libbitcoin_server_a-script.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-script.obj `if test -f 'script.cpp'; then $(CYGPATH_W) 'script.cpp'; else $(CYGPATH_W) '$(srcdir)/script.cpp'; fi` - -libbitcoin_server_a-scrypt.o: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - -libbitcoin_server_a-scrypt.obj: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_server_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_server_a-scrypt.Tpo $(DEPDIR)/libbitcoin_server_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_server_a-scrypt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_server_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_server_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - -libbitcoin_util_a-clientversion.o: clientversion.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po -# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.o `test -f 'clientversion.cpp' || echo '$(srcdir)/'`clientversion.cpp - -libbitcoin_util_a-clientversion.obj: clientversion.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-clientversion.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-clientversion.Tpo $(DEPDIR)/libbitcoin_util_a-clientversion.Po -# $(AM_V_CXX)source='clientversion.cpp' object='libbitcoin_util_a-clientversion.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-clientversion.obj `if test -f 'clientversion.cpp'; then $(CYGPATH_W) 'clientversion.cpp'; else $(CYGPATH_W) '$(srcdir)/clientversion.cpp'; fi` - -libbitcoin_util_a-sync.o: sync.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po -# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.o `test -f 'sync.cpp' || echo '$(srcdir)/'`sync.cpp - -libbitcoin_util_a-sync.obj: sync.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-sync.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-sync.Tpo -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-sync.Tpo $(DEPDIR)/libbitcoin_util_a-sync.Po -# $(AM_V_CXX)source='sync.cpp' object='libbitcoin_util_a-sync.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-sync.obj `if test -f 'sync.cpp'; then $(CYGPATH_W) 'sync.cpp'; else $(CYGPATH_W) '$(srcdir)/sync.cpp'; fi` - -libbitcoin_util_a-version.o: version.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po -# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.o `test -f 'version.cpp' || echo '$(srcdir)/'`version.cpp - -libbitcoin_util_a-version.obj: version.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-version.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-version.Tpo -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-version.Tpo $(DEPDIR)/libbitcoin_util_a-version.Po -# $(AM_V_CXX)source='version.cpp' object='libbitcoin_util_a-version.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-version.obj `if test -f 'version.cpp'; then $(CYGPATH_W) 'version.cpp'; else $(CYGPATH_W) '$(srcdir)/version.cpp'; fi` - -libbitcoin_util_a-util.o: util.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.o -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po -# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.o `test -f 'util.cpp' || echo '$(srcdir)/'`util.cpp - -libbitcoin_util_a-util.obj: util.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_util_a-util.obj -MD -MP -MF $(DEPDIR)/libbitcoin_util_a-util.Tpo -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_util_a-util.Tpo $(DEPDIR)/libbitcoin_util_a-util.Po -# $(AM_V_CXX)source='util.cpp' object='libbitcoin_util_a-util.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_util_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_util_a-util.obj `if test -f 'util.cpp'; then $(CYGPATH_W) 'util.cpp'; else $(CYGPATH_W) '$(srcdir)/util.cpp'; fi` - -libbitcoin_wallet_a-bip38.o: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.o `test -f 'bip38.cpp' || echo '$(srcdir)/'`bip38.cpp - -libbitcoin_wallet_a-bip38.obj: bip38.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-bip38.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-bip38.Tpo $(DEPDIR)/libbitcoin_wallet_a-bip38.Po -# $(AM_V_CXX)source='bip38.cpp' object='libbitcoin_wallet_a-bip38.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-bip38.obj `if test -f 'bip38.cpp'; then $(CYGPATH_W) 'bip38.cpp'; else $(CYGPATH_W) '$(srcdir)/bip38.cpp'; fi` - -libbitcoin_wallet_a-db.o: db.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po -# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.o `test -f 'db.cpp' || echo '$(srcdir)/'`db.cpp - -libbitcoin_wallet_a-db.obj: db.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-db.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-db.Tpo -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-db.Tpo $(DEPDIR)/libbitcoin_wallet_a-db.Po -# $(AM_V_CXX)source='db.cpp' object='libbitcoin_wallet_a-db.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-db.obj `if test -f 'db.cpp'; then $(CYGPATH_W) 'db.cpp'; else $(CYGPATH_W) '$(srcdir)/db.cpp'; fi` - -libbitcoin_wallet_a-crypter.o: crypter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po -# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.o `test -f 'crypter.cpp' || echo '$(srcdir)/'`crypter.cpp - -libbitcoin_wallet_a-crypter.obj: crypter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-crypter.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-crypter.Tpo $(DEPDIR)/libbitcoin_wallet_a-crypter.Po -# $(AM_V_CXX)source='crypter.cpp' object='libbitcoin_wallet_a-crypter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-crypter.obj `if test -f 'crypter.cpp'; then $(CYGPATH_W) 'crypter.cpp'; else $(CYGPATH_W) '$(srcdir)/crypter.cpp'; fi` - -libbitcoin_wallet_a-pbkdf2.o: pbkdf2.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.o `test -f 'pbkdf2.cpp' || echo '$(srcdir)/'`pbkdf2.cpp - -libbitcoin_wallet_a-pbkdf2.obj: pbkdf2.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-pbkdf2.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Tpo $(DEPDIR)/libbitcoin_wallet_a-pbkdf2.Po -# $(AM_V_CXX)source='pbkdf2.cpp' object='libbitcoin_wallet_a-pbkdf2.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-pbkdf2.obj `if test -f 'pbkdf2.cpp'; then $(CYGPATH_W) 'pbkdf2.cpp'; else $(CYGPATH_W) '$(srcdir)/pbkdf2.cpp'; fi` - -libbitcoin_wallet_a-rpcdump.o: rpcdump.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.o `test -f 'rpcdump.cpp' || echo '$(srcdir)/'`rpcdump.cpp - -libbitcoin_wallet_a-rpcdump.obj: rpcdump.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcdump.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcdump.Po -# $(AM_V_CXX)source='rpcdump.cpp' object='libbitcoin_wallet_a-rpcdump.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcdump.obj `if test -f 'rpcdump.cpp'; then $(CYGPATH_W) 'rpcdump.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcdump.cpp'; fi` - -libbitcoin_wallet_a-rpcwallet.o: rpcwallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.o `test -f 'rpcwallet.cpp' || echo '$(srcdir)/'`rpcwallet.cpp - -libbitcoin_wallet_a-rpcwallet.obj: rpcwallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-rpcwallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-rpcwallet.Po -# $(AM_V_CXX)source='rpcwallet.cpp' object='libbitcoin_wallet_a-rpcwallet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-rpcwallet.obj `if test -f 'rpcwallet.cpp'; then $(CYGPATH_W) 'rpcwallet.cpp'; else $(CYGPATH_W) '$(srcdir)/rpcwallet.cpp'; fi` - -libbitcoin_wallet_a-scrypt.o: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.o `test -f 'scrypt.cpp' || echo '$(srcdir)/'`scrypt.cpp - -libbitcoin_wallet_a-scrypt.obj: scrypt.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-scrypt.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-scrypt.Tpo $(DEPDIR)/libbitcoin_wallet_a-scrypt.Po -# $(AM_V_CXX)source='scrypt.cpp' object='libbitcoin_wallet_a-scrypt.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-scrypt.obj `if test -f 'scrypt.cpp'; then $(CYGPATH_W) 'scrypt.cpp'; else $(CYGPATH_W) '$(srcdir)/scrypt.cpp'; fi` - -libbitcoin_wallet_a-wallet.o: wallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po -# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.o `test -f 'wallet.cpp' || echo '$(srcdir)/'`wallet.cpp - -libbitcoin_wallet_a-wallet.obj: wallet.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-wallet.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-wallet.Tpo $(DEPDIR)/libbitcoin_wallet_a-wallet.Po -# $(AM_V_CXX)source='wallet.cpp' object='libbitcoin_wallet_a-wallet.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-wallet.obj `if test -f 'wallet.cpp'; then $(CYGPATH_W) 'wallet.cpp'; else $(CYGPATH_W) '$(srcdir)/wallet.cpp'; fi` - -libbitcoin_wallet_a-walletdb.o: walletdb.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.o -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.o `test -f 'walletdb.cpp' || echo '$(srcdir)/'`walletdb.cpp - -libbitcoin_wallet_a-walletdb.obj: walletdb.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libbitcoin_wallet_a-walletdb.obj -MD -MP -MF $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/libbitcoin_wallet_a-walletdb.Tpo $(DEPDIR)/libbitcoin_wallet_a-walletdb.Po -# $(AM_V_CXX)source='walletdb.cpp' object='libbitcoin_wallet_a-walletdb.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libbitcoin_wallet_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libbitcoin_wallet_a-walletdb.obj `if test -f 'walletdb.cpp'; then $(CYGPATH_W) 'walletdb.cpp'; else $(CYGPATH_W) '$(srcdir)/walletdb.cpp'; fi` - -qt/qt_libbitcoinqt_a-aboutdialog.o: qt/aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.o `test -f 'qt/aboutdialog.cpp' || echo '$(srcdir)/'`qt/aboutdialog.cpp - -qt/qt_libbitcoinqt_a-aboutdialog.obj: qt/aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-aboutdialog.Po -# $(AM_V_CXX)source='qt/aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-aboutdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-aboutdialog.obj `if test -f 'qt/aboutdialog.cpp'; then $(CYGPATH_W) 'qt/aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/aboutdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-bip38tooldialog.o: qt/bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.o `test -f 'qt/bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/bip38tooldialog.cpp - -qt/qt_libbitcoinqt_a-bip38tooldialog.obj: qt/bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bip38tooldialog.Po -# $(AM_V_CXX)source='qt/bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-bip38tooldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bip38tooldialog.obj `if test -f 'qt/bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bip38tooldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o: qt/bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.o `test -f 'qt/bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/bitcoinaddressvalidator.cpp - -qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj: qt/bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinaddressvalidator.obj `if test -f 'qt/bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinaddressvalidator.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinamountfield.o: qt/bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.o `test -f 'qt/bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/bitcoinamountfield.cpp - -qt/qt_libbitcoinqt_a-bitcoinamountfield.obj: qt/bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-bitcoinamountfield.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinamountfield.obj `if test -f 'qt/bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinamountfield.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoingui.o: qt/bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.o `test -f 'qt/bitcoingui.cpp' || echo '$(srcdir)/'`qt/bitcoingui.cpp - -qt/qt_libbitcoinqt_a-bitcoingui.obj: qt/bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoingui.Po -# $(AM_V_CXX)source='qt/bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-bitcoingui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoingui.obj `if test -f 'qt/bitcoingui.cpp'; then $(CYGPATH_W) 'qt/bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoingui.cpp'; fi` - -qt/qt_libbitcoinqt_a-bitcoinunits.o: qt/bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.o `test -f 'qt/bitcoinunits.cpp' || echo '$(srcdir)/'`qt/bitcoinunits.cpp - -qt/qt_libbitcoinqt_a-bitcoinunits.obj: qt/bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-bitcoinunits.Po -# $(AM_V_CXX)source='qt/bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-bitcoinunits.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-bitcoinunits.obj `if test -f 'qt/bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoinunits.cpp'; fi` - -qt/qt_libbitcoinqt_a-blockbrowser.o: qt/blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.o `test -f 'qt/blockbrowser.cpp' || echo '$(srcdir)/'`qt/blockbrowser.cpp - -qt/qt_libbitcoinqt_a-blockbrowser.obj: qt/blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-blockbrowser.Po -# $(AM_V_CXX)source='qt/blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-blockbrowser.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-blockbrowser.obj `if test -f 'qt/blockbrowser.cpp'; then $(CYGPATH_W) 'qt/blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/blockbrowser.cpp'; fi` - -qt/qt_libbitcoinqt_a-calcdialog.o: qt/calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.o `test -f 'qt/calcdialog.cpp' || echo '$(srcdir)/'`qt/calcdialog.cpp - -qt/qt_libbitcoinqt_a-calcdialog.obj: qt/calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-calcdialog.Po -# $(AM_V_CXX)source='qt/calcdialog.cpp' object='qt/qt_libbitcoinqt_a-calcdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-calcdialog.obj `if test -f 'qt/calcdialog.cpp'; then $(CYGPATH_W) 'qt/calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/calcdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-charitydialog.o: qt/charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.o `test -f 'qt/charitydialog.cpp' || echo '$(srcdir)/'`qt/charitydialog.cpp - -qt/qt_libbitcoinqt_a-charitydialog.obj: qt/charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-charitydialog.Po -# $(AM_V_CXX)source='qt/charitydialog.cpp' object='qt/qt_libbitcoinqt_a-charitydialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-charitydialog.obj `if test -f 'qt/charitydialog.cpp'; then $(CYGPATH_W) 'qt/charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/charitydialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-clientmodel.o: qt/clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.o `test -f 'qt/clientmodel.cpp' || echo '$(srcdir)/'`qt/clientmodel.cpp - -qt/qt_libbitcoinqt_a-clientmodel.obj: qt/clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-clientmodel.Po -# $(AM_V_CXX)source='qt/clientmodel.cpp' object='qt/qt_libbitcoinqt_a-clientmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-clientmodel.obj `if test -f 'qt/clientmodel.cpp'; then $(CYGPATH_W) 'qt/clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/clientmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-csvmodelwriter.o: qt/csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.o `test -f 'qt/csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/csvmodelwriter.cpp - -qt/qt_libbitcoinqt_a-csvmodelwriter.obj: qt/csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-csvmodelwriter.Po -# $(AM_V_CXX)source='qt/csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-csvmodelwriter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-csvmodelwriter.obj `if test -f 'qt/csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/csvmodelwriter.cpp'; fi` - -qt/qt_libbitcoinqt_a-guiutil.o: qt/guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.o `test -f 'qt/guiutil.cpp' || echo '$(srcdir)/'`qt/guiutil.cpp - -qt/qt_libbitcoinqt_a-guiutil.obj: qt/guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-guiutil.Po -# $(AM_V_CXX)source='qt/guiutil.cpp' object='qt/qt_libbitcoinqt_a-guiutil.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-guiutil.obj `if test -f 'qt/guiutil.cpp'; then $(CYGPATH_W) 'qt/guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/guiutil.cpp'; fi` - -qt/qt_libbitcoinqt_a-monitoreddatamapper.o: qt/monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.o `test -f 'qt/monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/monitoreddatamapper.cpp - -qt/qt_libbitcoinqt_a-monitoreddatamapper.obj: qt/monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-monitoreddatamapper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-monitoreddatamapper.obj `if test -f 'qt/monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/monitoreddatamapper.cpp'; fi` - -qt/qt_libbitcoinqt_a-networkstyle.o: qt/networkstyle.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.o `test -f 'qt/networkstyle.cpp' || echo '$(srcdir)/'`qt/networkstyle.cpp - -qt/qt_libbitcoinqt_a-networkstyle.obj: qt/networkstyle.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-networkstyle.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-networkstyle.Po -# $(AM_V_CXX)source='qt/networkstyle.cpp' object='qt/qt_libbitcoinqt_a-networkstyle.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-networkstyle.obj `if test -f 'qt/networkstyle.cpp'; then $(CYGPATH_W) 'qt/networkstyle.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/networkstyle.cpp'; fi` - -qt/qt_libbitcoinqt_a-notificator.o: qt/notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.o `test -f 'qt/notificator.cpp' || echo '$(srcdir)/'`qt/notificator.cpp - -qt/qt_libbitcoinqt_a-notificator.obj: qt/notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-notificator.Po -# $(AM_V_CXX)source='qt/notificator.cpp' object='qt/qt_libbitcoinqt_a-notificator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-notificator.obj `if test -f 'qt/notificator.cpp'; then $(CYGPATH_W) 'qt/notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/notificator.cpp'; fi` - -qt/qt_libbitcoinqt_a-optionsdialog.o: qt/optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.o `test -f 'qt/optionsdialog.cpp' || echo '$(srcdir)/'`qt/optionsdialog.cpp - -qt/qt_libbitcoinqt_a-optionsdialog.obj: qt/optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsdialog.Po -# $(AM_V_CXX)source='qt/optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-optionsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsdialog.obj `if test -f 'qt/optionsdialog.cpp'; then $(CYGPATH_W) 'qt/optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-optionsmodel.o: qt/optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.o `test -f 'qt/optionsmodel.cpp' || echo '$(srcdir)/'`qt/optionsmodel.cpp - -qt/qt_libbitcoinqt_a-optionsmodel.obj: qt/optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-optionsmodel.Po -# $(AM_V_CXX)source='qt/optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-optionsmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-optionsmodel.obj `if test -f 'qt/optionsmodel.cpp'; then $(CYGPATH_W) 'qt/optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/optionsmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-qrcodedialog.o: qt/qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.o `test -f 'qt/qrcodedialog.cpp' || echo '$(srcdir)/'`qt/qrcodedialog.cpp - -qt/qt_libbitcoinqt_a-qrcodedialog.obj: qt/qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrcodedialog.Po -# $(AM_V_CXX)source='qt/qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-qrcodedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrcodedialog.obj `if test -f 'qt/qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrcodedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-qvalidatedlineedit.o: qt/qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.o `test -f 'qt/qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/qvalidatedlineedit.cpp - -qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj: qt/qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvalidatedlineedit.obj `if test -f 'qt/qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvalidatedlineedit.cpp'; fi` - -qt/qt_libbitcoinqt_a-qvaluecombobox.o: qt/qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.o `test -f 'qt/qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/qvaluecombobox.cpp - -qt/qt_libbitcoinqt_a-qvaluecombobox.obj: qt/qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qvaluecombobox.Po -# $(AM_V_CXX)source='qt/qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-qvaluecombobox.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qvaluecombobox.obj `if test -f 'qt/qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qvaluecombobox.cpp'; fi` - -qt/qt_libbitcoinqt_a-rpcconsole.o: qt/rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.o `test -f 'qt/rpcconsole.cpp' || echo '$(srcdir)/'`qt/rpcconsole.cpp - -qt/qt_libbitcoinqt_a-rpcconsole.obj: qt/rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-rpcconsole.Po -# $(AM_V_CXX)source='qt/rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-rpcconsole.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-rpcconsole.obj `if test -f 'qt/rpcconsole.cpp'; then $(CYGPATH_W) 'qt/rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/rpcconsole.cpp'; fi` - -qt/qt_libbitcoinqt_a-scicon.o: qt/scicon.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.o `test -f 'qt/scicon.cpp' || echo '$(srcdir)/'`qt/scicon.cpp - -qt/qt_libbitcoinqt_a-scicon.obj: qt/scicon.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-scicon.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-scicon.Po -# $(AM_V_CXX)source='qt/scicon.cpp' object='qt/qt_libbitcoinqt_a-scicon.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-scicon.obj `if test -f 'qt/scicon.cpp'; then $(CYGPATH_W) 'qt/scicon.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/scicon.cpp'; fi` - -qt/qt_libbitcoinqt_a-walletmodel.o: qt/walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.o `test -f 'qt/walletmodel.cpp' || echo '$(srcdir)/'`qt/walletmodel.cpp - -qt/qt_libbitcoinqt_a-walletmodel.obj: qt/walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-walletmodel.Po -# $(AM_V_CXX)source='qt/walletmodel.cpp' object='qt/qt_libbitcoinqt_a-walletmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-walletmodel.obj `if test -f 'qt/walletmodel.cpp'; then $(CYGPATH_W) 'qt/walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/walletmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-addressbookpage.o: qt/addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.o `test -f 'qt/addressbookpage.cpp' || echo '$(srcdir)/'`qt/addressbookpage.cpp - -qt/qt_libbitcoinqt_a-addressbookpage.obj: qt/addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addressbookpage.Po -# $(AM_V_CXX)source='qt/addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-addressbookpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addressbookpage.obj `if test -f 'qt/addressbookpage.cpp'; then $(CYGPATH_W) 'qt/addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addressbookpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-addresstablemodel.o: qt/addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.o `test -f 'qt/addresstablemodel.cpp' || echo '$(srcdir)/'`qt/addresstablemodel.cpp - -qt/qt_libbitcoinqt_a-addresstablemodel.obj: qt/addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-addresstablemodel.Po -# $(AM_V_CXX)source='qt/addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-addresstablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-addresstablemodel.obj `if test -f 'qt/addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/addresstablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-askpassphrasedialog.o: qt/askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.o `test -f 'qt/askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/askpassphrasedialog.cpp - -qt/qt_libbitcoinqt_a-askpassphrasedialog.obj: qt/askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-askpassphrasedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-askpassphrasedialog.obj `if test -f 'qt/askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/askpassphrasedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-coincontroldialog.o: qt/coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.o `test -f 'qt/coincontroldialog.cpp' || echo '$(srcdir)/'`qt/coincontroldialog.cpp - -qt/qt_libbitcoinqt_a-coincontroldialog.obj: qt/coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroldialog.Po -# $(AM_V_CXX)source='qt/coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-coincontroldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroldialog.obj `if test -f 'qt/coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-coincontroltreewidget.o: qt/coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.o `test -f 'qt/coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/coincontroltreewidget.cpp - -qt/qt_libbitcoinqt_a-coincontroltreewidget.obj: qt/coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-coincontroltreewidget.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-coincontroltreewidget.obj `if test -f 'qt/coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/coincontroltreewidget.cpp'; fi` - -qt/qt_libbitcoinqt_a-editaddressdialog.o: qt/editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.o `test -f 'qt/editaddressdialog.cpp' || echo '$(srcdir)/'`qt/editaddressdialog.cpp - -qt/qt_libbitcoinqt_a-editaddressdialog.obj: qt/editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-editaddressdialog.Po -# $(AM_V_CXX)source='qt/editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-editaddressdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-editaddressdialog.obj `if test -f 'qt/editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/editaddressdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-overviewpage.o: qt/overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.o `test -f 'qt/overviewpage.cpp' || echo '$(srcdir)/'`qt/overviewpage.cpp - -qt/qt_libbitcoinqt_a-overviewpage.obj: qt/overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-overviewpage.Po -# $(AM_V_CXX)source='qt/overviewpage.cpp' object='qt/qt_libbitcoinqt_a-overviewpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-overviewpage.obj `if test -f 'qt/overviewpage.cpp'; then $(CYGPATH_W) 'qt/overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/overviewpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-paymentserver.o: qt/paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.o `test -f 'qt/paymentserver.cpp' || echo '$(srcdir)/'`qt/paymentserver.cpp - -qt/qt_libbitcoinqt_a-paymentserver.obj: qt/paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-paymentserver.Po -# $(AM_V_CXX)source='qt/paymentserver.cpp' object='qt/qt_libbitcoinqt_a-paymentserver.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-paymentserver.obj `if test -f 'qt/paymentserver.cpp'; then $(CYGPATH_W) 'qt/paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/paymentserver.cpp'; fi` - -qt/qt_libbitcoinqt_a-sendcoinsdialog.o: qt/sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.o `test -f 'qt/sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/sendcoinsdialog.cpp - -qt/qt_libbitcoinqt_a-sendcoinsdialog.obj: qt/sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsdialog.obj `if test -f 'qt/sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-sendcoinsentry.o: qt/sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.o `test -f 'qt/sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/sendcoinsentry.cpp - -qt/qt_libbitcoinqt_a-sendcoinsentry.obj: qt/sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-sendcoinsentry.Po -# $(AM_V_CXX)source='qt/sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-sendcoinsentry.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-sendcoinsentry.obj `if test -f 'qt/sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/sendcoinsentry.cpp'; fi` - -qt/qt_libbitcoinqt_a-signverifymessagedialog.o: qt/signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.o `test -f 'qt/signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/signverifymessagedialog.cpp - -qt/qt_libbitcoinqt_a-signverifymessagedialog.obj: qt/signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-signverifymessagedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-signverifymessagedialog.obj `if test -f 'qt/signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/signverifymessagedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiondesc.o: qt/transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.o `test -f 'qt/transactiondesc.cpp' || echo '$(srcdir)/'`qt/transactiondesc.cpp - -qt/qt_libbitcoinqt_a-transactiondesc.obj: qt/transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondesc.Po -# $(AM_V_CXX)source='qt/transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-transactiondesc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondesc.obj `if test -f 'qt/transactiondesc.cpp'; then $(CYGPATH_W) 'qt/transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondesc.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiondescdialog.o: qt/transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.o `test -f 'qt/transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/transactiondescdialog.cpp - -qt/qt_libbitcoinqt_a-transactiondescdialog.obj: qt/transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiondescdialog.Po -# $(AM_V_CXX)source='qt/transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-transactiondescdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiondescdialog.obj `if test -f 'qt/transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiondescdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionfilterproxy.o: qt/transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.o `test -f 'qt/transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/transactionfilterproxy.cpp - -qt/qt_libbitcoinqt_a-transactionfilterproxy.obj: qt/transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-transactionfilterproxy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionfilterproxy.obj `if test -f 'qt/transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionfilterproxy.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionrecord.o: qt/transactionrecord.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.o `test -f 'qt/transactionrecord.cpp' || echo '$(srcdir)/'`qt/transactionrecord.cpp - -qt/qt_libbitcoinqt_a-transactionrecord.obj: qt/transactionrecord.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionrecord.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionrecord.Po -# $(AM_V_CXX)source='qt/transactionrecord.cpp' object='qt/qt_libbitcoinqt_a-transactionrecord.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionrecord.obj `if test -f 'qt/transactionrecord.cpp'; then $(CYGPATH_W) 'qt/transactionrecord.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionrecord.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactiontablemodel.o: qt/transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.o `test -f 'qt/transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/transactiontablemodel.cpp - -qt/qt_libbitcoinqt_a-transactiontablemodel.obj: qt/transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactiontablemodel.Po -# $(AM_V_CXX)source='qt/transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-transactiontablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactiontablemodel.obj `if test -f 'qt/transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactiontablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-transactionview.o: qt/transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.o `test -f 'qt/transactionview.cpp' || echo '$(srcdir)/'`qt/transactionview.cpp - -qt/qt_libbitcoinqt_a-transactionview.obj: qt/transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-transactionview.Po -# $(AM_V_CXX)source='qt/transactionview.cpp' object='qt/qt_libbitcoinqt_a-transactionview.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-transactionview.obj `if test -f 'qt/transactionview.cpp'; then $(CYGPATH_W) 'qt/transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/transactionview.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_aboutdialog.o: qt/moc_aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.o `test -f 'qt/moc_aboutdialog.cpp' || echo '$(srcdir)/'`qt/moc_aboutdialog.cpp - -qt/qt_libbitcoinqt_a-moc_aboutdialog.obj: qt/moc_aboutdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_aboutdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_aboutdialog.Po -# $(AM_V_CXX)source='qt/moc_aboutdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_aboutdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_aboutdialog.obj `if test -f 'qt/moc_aboutdialog.cpp'; then $(CYGPATH_W) 'qt/moc_aboutdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_aboutdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_addressbookpage.o: qt/moc_addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.o `test -f 'qt/moc_addressbookpage.cpp' || echo '$(srcdir)/'`qt/moc_addressbookpage.cpp - -qt/qt_libbitcoinqt_a-moc_addressbookpage.obj: qt/moc_addressbookpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addressbookpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addressbookpage.Po -# $(AM_V_CXX)source='qt/moc_addressbookpage.cpp' object='qt/qt_libbitcoinqt_a-moc_addressbookpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addressbookpage.obj `if test -f 'qt/moc_addressbookpage.cpp'; then $(CYGPATH_W) 'qt/moc_addressbookpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addressbookpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_addresstablemodel.o: qt/moc_addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.o `test -f 'qt/moc_addresstablemodel.cpp' || echo '$(srcdir)/'`qt/moc_addresstablemodel.cpp - -qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj: qt/moc_addresstablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_addresstablemodel.Po -# $(AM_V_CXX)source='qt/moc_addresstablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_addresstablemodel.obj `if test -f 'qt/moc_addresstablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_addresstablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_addresstablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o: qt/moc_askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.o `test -f 'qt/moc_askpassphrasedialog.cpp' || echo '$(srcdir)/'`qt/moc_askpassphrasedialog.cpp - -qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj: qt/moc_askpassphrasedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_askpassphrasedialog.Po -# $(AM_V_CXX)source='qt/moc_askpassphrasedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_askpassphrasedialog.obj `if test -f 'qt/moc_askpassphrasedialog.cpp'; then $(CYGPATH_W) 'qt/moc_askpassphrasedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_askpassphrasedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o: qt/moc_bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.o `test -f 'qt/moc_bip38tooldialog.cpp' || echo '$(srcdir)/'`qt/moc_bip38tooldialog.cpp - -qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj: qt/moc_bip38tooldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bip38tooldialog.Po -# $(AM_V_CXX)source='qt/moc_bip38tooldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bip38tooldialog.obj `if test -f 'qt/moc_bip38tooldialog.cpp'; then $(CYGPATH_W) 'qt/moc_bip38tooldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bip38tooldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o: qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.o `test -f 'qt/moc_bitcoinaddressvalidator.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinaddressvalidator.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj: qt/moc_bitcoinaddressvalidator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.Po -# $(AM_V_CXX)source='qt/moc_bitcoinaddressvalidator.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinaddressvalidator.obj `if test -f 'qt/moc_bitcoinaddressvalidator.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinaddressvalidator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinaddressvalidator.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o: qt/moc_bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.o `test -f 'qt/moc_bitcoinamountfield.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinamountfield.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj: qt/moc_bitcoinamountfield.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinamountfield.Po -# $(AM_V_CXX)source='qt/moc_bitcoinamountfield.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinamountfield.obj `if test -f 'qt/moc_bitcoinamountfield.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinamountfield.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinamountfield.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoingui.o: qt/moc_bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.o `test -f 'qt/moc_bitcoingui.cpp' || echo '$(srcdir)/'`qt/moc_bitcoingui.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoingui.obj: qt/moc_bitcoingui.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoingui.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoingui.Po -# $(AM_V_CXX)source='qt/moc_bitcoingui.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoingui.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoingui.obj `if test -f 'qt/moc_bitcoingui.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoingui.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoingui.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_bitcoinunits.o: qt/moc_bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.o `test -f 'qt/moc_bitcoinunits.cpp' || echo '$(srcdir)/'`qt/moc_bitcoinunits.cpp - -qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj: qt/moc_bitcoinunits.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_bitcoinunits.Po -# $(AM_V_CXX)source='qt/moc_bitcoinunits.cpp' object='qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_bitcoinunits.obj `if test -f 'qt/moc_bitcoinunits.cpp'; then $(CYGPATH_W) 'qt/moc_bitcoinunits.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_bitcoinunits.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_blockbrowser.o: qt/moc_blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.o `test -f 'qt/moc_blockbrowser.cpp' || echo '$(srcdir)/'`qt/moc_blockbrowser.cpp - -qt/qt_libbitcoinqt_a-moc_blockbrowser.obj: qt/moc_blockbrowser.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_blockbrowser.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_blockbrowser.Po -# $(AM_V_CXX)source='qt/moc_blockbrowser.cpp' object='qt/qt_libbitcoinqt_a-moc_blockbrowser.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_blockbrowser.obj `if test -f 'qt/moc_blockbrowser.cpp'; then $(CYGPATH_W) 'qt/moc_blockbrowser.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_blockbrowser.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_calcdialog.o: qt/moc_calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.o `test -f 'qt/moc_calcdialog.cpp' || echo '$(srcdir)/'`qt/moc_calcdialog.cpp - -qt/qt_libbitcoinqt_a-moc_calcdialog.obj: qt/moc_calcdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_calcdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_calcdialog.Po -# $(AM_V_CXX)source='qt/moc_calcdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_calcdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_calcdialog.obj `if test -f 'qt/moc_calcdialog.cpp'; then $(CYGPATH_W) 'qt/moc_calcdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_calcdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_charitydialog.o: qt/moc_charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.o `test -f 'qt/moc_charitydialog.cpp' || echo '$(srcdir)/'`qt/moc_charitydialog.cpp - -qt/qt_libbitcoinqt_a-moc_charitydialog.obj: qt/moc_charitydialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_charitydialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_charitydialog.Po -# $(AM_V_CXX)source='qt/moc_charitydialog.cpp' object='qt/qt_libbitcoinqt_a-moc_charitydialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_charitydialog.obj `if test -f 'qt/moc_charitydialog.cpp'; then $(CYGPATH_W) 'qt/moc_charitydialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_charitydialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_clientmodel.o: qt/moc_clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.o `test -f 'qt/moc_clientmodel.cpp' || echo '$(srcdir)/'`qt/moc_clientmodel.cpp - -qt/qt_libbitcoinqt_a-moc_clientmodel.obj: qt/moc_clientmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_clientmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_clientmodel.Po -# $(AM_V_CXX)source='qt/moc_clientmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_clientmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_clientmodel.obj `if test -f 'qt/moc_clientmodel.cpp'; then $(CYGPATH_W) 'qt/moc_clientmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_clientmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_coincontroldialog.o: qt/moc_coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.o `test -f 'qt/moc_coincontroldialog.cpp' || echo '$(srcdir)/'`qt/moc_coincontroldialog.cpp - -qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj: qt/moc_coincontroldialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroldialog.Po -# $(AM_V_CXX)source='qt/moc_coincontroldialog.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroldialog.obj `if test -f 'qt/moc_coincontroldialog.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroldialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroldialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o: qt/moc_coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.o `test -f 'qt/moc_coincontroltreewidget.cpp' || echo '$(srcdir)/'`qt/moc_coincontroltreewidget.cpp - -qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj: qt/moc_coincontroltreewidget.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_coincontroltreewidget.Po -# $(AM_V_CXX)source='qt/moc_coincontroltreewidget.cpp' object='qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_coincontroltreewidget.obj `if test -f 'qt/moc_coincontroltreewidget.cpp'; then $(CYGPATH_W) 'qt/moc_coincontroltreewidget.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_coincontroltreewidget.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o: qt/moc_csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.o `test -f 'qt/moc_csvmodelwriter.cpp' || echo '$(srcdir)/'`qt/moc_csvmodelwriter.cpp - -qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj: qt/moc_csvmodelwriter.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_csvmodelwriter.Po -# $(AM_V_CXX)source='qt/moc_csvmodelwriter.cpp' object='qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_csvmodelwriter.obj `if test -f 'qt/moc_csvmodelwriter.cpp'; then $(CYGPATH_W) 'qt/moc_csvmodelwriter.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_csvmodelwriter.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_editaddressdialog.o: qt/moc_editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.o `test -f 'qt/moc_editaddressdialog.cpp' || echo '$(srcdir)/'`qt/moc_editaddressdialog.cpp - -qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj: qt/moc_editaddressdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_editaddressdialog.Po -# $(AM_V_CXX)source='qt/moc_editaddressdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_editaddressdialog.obj `if test -f 'qt/moc_editaddressdialog.cpp'; then $(CYGPATH_W) 'qt/moc_editaddressdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_editaddressdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_guiutil.o: qt/moc_guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.o `test -f 'qt/moc_guiutil.cpp' || echo '$(srcdir)/'`qt/moc_guiutil.cpp - -qt/qt_libbitcoinqt_a-moc_guiutil.obj: qt/moc_guiutil.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_guiutil.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_guiutil.Po -# $(AM_V_CXX)source='qt/moc_guiutil.cpp' object='qt/qt_libbitcoinqt_a-moc_guiutil.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_guiutil.obj `if test -f 'qt/moc_guiutil.cpp'; then $(CYGPATH_W) 'qt/moc_guiutil.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_guiutil.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o: qt/moc_macdockiconhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.o `test -f 'qt/moc_macdockiconhandler.cpp' || echo '$(srcdir)/'`qt/moc_macdockiconhandler.cpp - -qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj: qt/moc_macdockiconhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macdockiconhandler.Po -# $(AM_V_CXX)source='qt/moc_macdockiconhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macdockiconhandler.obj `if test -f 'qt/moc_macdockiconhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macdockiconhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macdockiconhandler.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o: qt/moc_macnotificationhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.o `test -f 'qt/moc_macnotificationhandler.cpp' || echo '$(srcdir)/'`qt/moc_macnotificationhandler.cpp - -qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj: qt/moc_macnotificationhandler.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_macnotificationhandler.Po -# $(AM_V_CXX)source='qt/moc_macnotificationhandler.cpp' object='qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_macnotificationhandler.obj `if test -f 'qt/moc_macnotificationhandler.cpp'; then $(CYGPATH_W) 'qt/moc_macnotificationhandler.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_macnotificationhandler.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o: qt/moc_monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.o `test -f 'qt/moc_monitoreddatamapper.cpp' || echo '$(srcdir)/'`qt/moc_monitoreddatamapper.cpp - -qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj: qt/moc_monitoreddatamapper.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_monitoreddatamapper.Po -# $(AM_V_CXX)source='qt/moc_monitoreddatamapper.cpp' object='qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_monitoreddatamapper.obj `if test -f 'qt/moc_monitoreddatamapper.cpp'; then $(CYGPATH_W) 'qt/moc_monitoreddatamapper.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_monitoreddatamapper.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_notificator.o: qt/moc_notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.o `test -f 'qt/moc_notificator.cpp' || echo '$(srcdir)/'`qt/moc_notificator.cpp - -qt/qt_libbitcoinqt_a-moc_notificator.obj: qt/moc_notificator.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_notificator.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_notificator.Po -# $(AM_V_CXX)source='qt/moc_notificator.cpp' object='qt/qt_libbitcoinqt_a-moc_notificator.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_notificator.obj `if test -f 'qt/moc_notificator.cpp'; then $(CYGPATH_W) 'qt/moc_notificator.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_notificator.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_optionsdialog.o: qt/moc_optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.o `test -f 'qt/moc_optionsdialog.cpp' || echo '$(srcdir)/'`qt/moc_optionsdialog.cpp - -qt/qt_libbitcoinqt_a-moc_optionsdialog.obj: qt/moc_optionsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsdialog.Po -# $(AM_V_CXX)source='qt/moc_optionsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsdialog.obj `if test -f 'qt/moc_optionsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_optionsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_optionsmodel.o: qt/moc_optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.o `test -f 'qt/moc_optionsmodel.cpp' || echo '$(srcdir)/'`qt/moc_optionsmodel.cpp - -qt/qt_libbitcoinqt_a-moc_optionsmodel.obj: qt/moc_optionsmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_optionsmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_optionsmodel.Po -# $(AM_V_CXX)source='qt/moc_optionsmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_optionsmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_optionsmodel.obj `if test -f 'qt/moc_optionsmodel.cpp'; then $(CYGPATH_W) 'qt/moc_optionsmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_optionsmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_overviewpage.o: qt/moc_overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.o `test -f 'qt/moc_overviewpage.cpp' || echo '$(srcdir)/'`qt/moc_overviewpage.cpp - -qt/qt_libbitcoinqt_a-moc_overviewpage.obj: qt/moc_overviewpage.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_overviewpage.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_overviewpage.Po -# $(AM_V_CXX)source='qt/moc_overviewpage.cpp' object='qt/qt_libbitcoinqt_a-moc_overviewpage.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_overviewpage.obj `if test -f 'qt/moc_overviewpage.cpp'; then $(CYGPATH_W) 'qt/moc_overviewpage.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_overviewpage.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_paymentserver.o: qt/moc_paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.o `test -f 'qt/moc_paymentserver.cpp' || echo '$(srcdir)/'`qt/moc_paymentserver.cpp - -qt/qt_libbitcoinqt_a-moc_paymentserver.obj: qt/moc_paymentserver.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_paymentserver.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_paymentserver.Po -# $(AM_V_CXX)source='qt/moc_paymentserver.cpp' object='qt/qt_libbitcoinqt_a-moc_paymentserver.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_paymentserver.obj `if test -f 'qt/moc_paymentserver.cpp'; then $(CYGPATH_W) 'qt/moc_paymentserver.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_paymentserver.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qrcodedialog.o: qt/moc_qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.o `test -f 'qt/moc_qrcodedialog.cpp' || echo '$(srcdir)/'`qt/moc_qrcodedialog.cpp - -qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj: qt/moc_qrcodedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qrcodedialog.Po -# $(AM_V_CXX)source='qt/moc_qrcodedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qrcodedialog.obj `if test -f 'qt/moc_qrcodedialog.cpp'; then $(CYGPATH_W) 'qt/moc_qrcodedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qrcodedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o: qt/moc_qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.o `test -f 'qt/moc_qvalidatedlineedit.cpp' || echo '$(srcdir)/'`qt/moc_qvalidatedlineedit.cpp - -qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj: qt/moc_qvalidatedlineedit.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvalidatedlineedit.Po -# $(AM_V_CXX)source='qt/moc_qvalidatedlineedit.cpp' object='qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvalidatedlineedit.obj `if test -f 'qt/moc_qvalidatedlineedit.cpp'; then $(CYGPATH_W) 'qt/moc_qvalidatedlineedit.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvalidatedlineedit.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o: qt/moc_qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.o `test -f 'qt/moc_qvaluecombobox.cpp' || echo '$(srcdir)/'`qt/moc_qvaluecombobox.cpp - -qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj: qt/moc_qvaluecombobox.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_qvaluecombobox.Po -# $(AM_V_CXX)source='qt/moc_qvaluecombobox.cpp' object='qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_qvaluecombobox.obj `if test -f 'qt/moc_qvaluecombobox.cpp'; then $(CYGPATH_W) 'qt/moc_qvaluecombobox.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_qvaluecombobox.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_rpcconsole.o: qt/moc_rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.o `test -f 'qt/moc_rpcconsole.cpp' || echo '$(srcdir)/'`qt/moc_rpcconsole.cpp - -qt/qt_libbitcoinqt_a-moc_rpcconsole.obj: qt/moc_rpcconsole.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_rpcconsole.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_rpcconsole.Po -# $(AM_V_CXX)source='qt/moc_rpcconsole.cpp' object='qt/qt_libbitcoinqt_a-moc_rpcconsole.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_rpcconsole.obj `if test -f 'qt/moc_rpcconsole.cpp'; then $(CYGPATH_W) 'qt/moc_rpcconsole.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_rpcconsole.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o: qt/moc_sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.o `test -f 'qt/moc_sendcoinsdialog.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsdialog.cpp - -qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj: qt/moc_sendcoinsdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsdialog.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsdialog.obj `if test -f 'qt/moc_sendcoinsdialog.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o: qt/moc_sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.o `test -f 'qt/moc_sendcoinsentry.cpp' || echo '$(srcdir)/'`qt/moc_sendcoinsentry.cpp - -qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj: qt/moc_sendcoinsentry.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_sendcoinsentry.Po -# $(AM_V_CXX)source='qt/moc_sendcoinsentry.cpp' object='qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_sendcoinsentry.obj `if test -f 'qt/moc_sendcoinsentry.cpp'; then $(CYGPATH_W) 'qt/moc_sendcoinsentry.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_sendcoinsentry.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o: qt/moc_signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.o `test -f 'qt/moc_signverifymessagedialog.cpp' || echo '$(srcdir)/'`qt/moc_signverifymessagedialog.cpp - -qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj: qt/moc_signverifymessagedialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_signverifymessagedialog.Po -# $(AM_V_CXX)source='qt/moc_signverifymessagedialog.cpp' object='qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_signverifymessagedialog.obj `if test -f 'qt/moc_signverifymessagedialog.cpp'; then $(CYGPATH_W) 'qt/moc_signverifymessagedialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_signverifymessagedialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiondesc.o: qt/moc_transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.o `test -f 'qt/moc_transactiondesc.cpp' || echo '$(srcdir)/'`qt/moc_transactiondesc.cpp - -qt/qt_libbitcoinqt_a-moc_transactiondesc.obj: qt/moc_transactiondesc.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondesc.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondesc.Po -# $(AM_V_CXX)source='qt/moc_transactiondesc.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondesc.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondesc.obj `if test -f 'qt/moc_transactiondesc.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondesc.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondesc.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o: qt/moc_transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.o `test -f 'qt/moc_transactiondescdialog.cpp' || echo '$(srcdir)/'`qt/moc_transactiondescdialog.cpp - -qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj: qt/moc_transactiondescdialog.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiondescdialog.Po -# $(AM_V_CXX)source='qt/moc_transactiondescdialog.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiondescdialog.obj `if test -f 'qt/moc_transactiondescdialog.cpp'; then $(CYGPATH_W) 'qt/moc_transactiondescdialog.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiondescdialog.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o: qt/moc_transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.o `test -f 'qt/moc_transactionfilterproxy.cpp' || echo '$(srcdir)/'`qt/moc_transactionfilterproxy.cpp - -qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj: qt/moc_transactionfilterproxy.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionfilterproxy.Po -# $(AM_V_CXX)source='qt/moc_transactionfilterproxy.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionfilterproxy.obj `if test -f 'qt/moc_transactionfilterproxy.cpp'; then $(CYGPATH_W) 'qt/moc_transactionfilterproxy.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionfilterproxy.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o: qt/moc_transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.o `test -f 'qt/moc_transactiontablemodel.cpp' || echo '$(srcdir)/'`qt/moc_transactiontablemodel.cpp - -qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj: qt/moc_transactiontablemodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactiontablemodel.Po -# $(AM_V_CXX)source='qt/moc_transactiontablemodel.cpp' object='qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactiontablemodel.obj `if test -f 'qt/moc_transactiontablemodel.cpp'; then $(CYGPATH_W) 'qt/moc_transactiontablemodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactiontablemodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_transactionview.o: qt/moc_transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.o `test -f 'qt/moc_transactionview.cpp' || echo '$(srcdir)/'`qt/moc_transactionview.cpp - -qt/qt_libbitcoinqt_a-moc_transactionview.obj: qt/moc_transactionview.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_transactionview.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_transactionview.Po -# $(AM_V_CXX)source='qt/moc_transactionview.cpp' object='qt/qt_libbitcoinqt_a-moc_transactionview.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_transactionview.obj `if test -f 'qt/moc_transactionview.cpp'; then $(CYGPATH_W) 'qt/moc_transactionview.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_transactionview.cpp'; fi` - -qt/qt_libbitcoinqt_a-moc_walletmodel.o: qt/moc_walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.o `test -f 'qt/moc_walletmodel.cpp' || echo '$(srcdir)/'`qt/moc_walletmodel.cpp - -qt/qt_libbitcoinqt_a-moc_walletmodel.obj: qt/moc_walletmodel.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-moc_walletmodel.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-moc_walletmodel.Po -# $(AM_V_CXX)source='qt/moc_walletmodel.cpp' object='qt/qt_libbitcoinqt_a-moc_walletmodel.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-moc_walletmodel.obj `if test -f 'qt/moc_walletmodel.cpp'; then $(CYGPATH_W) 'qt/moc_walletmodel.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/moc_walletmodel.cpp'; fi` - -qt/qt_libbitcoinqt_a-qrc_bitcoin.o: qt/qrc_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.o `test -f 'qt/qrc_bitcoin.cpp' || echo '$(srcdir)/'`qt/qrc_bitcoin.cpp - -qt/qt_libbitcoinqt_a-qrc_bitcoin.obj: qt/qrc_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_libbitcoinqt_a-qrc_bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Tpo qt/$(DEPDIR)/qt_libbitcoinqt_a-qrc_bitcoin.Po -# $(AM_V_CXX)source='qt/qrc_bitcoin.cpp' object='qt/qt_libbitcoinqt_a-qrc_bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_libbitcoinqt_a_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_libbitcoinqt_a-qrc_bitcoin.obj `if test -f 'qt/qrc_bitcoin.cpp'; then $(CYGPATH_W) 'qt/qrc_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/qrc_bitcoin.cpp'; fi` - -hyperstaked-bitcoind.o: bitcoind.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.o -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp - $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po -# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.o `test -f 'bitcoind.cpp' || echo '$(srcdir)/'`bitcoind.cpp - -hyperstaked-bitcoind.obj: bitcoind.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT hyperstaked-bitcoind.obj -MD -MP -MF $(DEPDIR)/hyperstaked-bitcoind.Tpo -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` - $(AM_V_at)$(am__mv) $(DEPDIR)/hyperstaked-bitcoind.Tpo $(DEPDIR)/hyperstaked-bitcoind.Po -# $(AM_V_CXX)source='bitcoind.cpp' object='hyperstaked-bitcoind.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(hyperstaked_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o hyperstaked-bitcoind.obj `if test -f 'bitcoind.cpp'; then $(CYGPATH_W) 'bitcoind.cpp'; else $(CYGPATH_W) '$(srcdir)/bitcoind.cpp'; fi` - -qt/qt_hyperstake_qt-bitcoin.o: qt/bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.o `test -f 'qt/bitcoin.cpp' || echo '$(srcdir)/'`qt/bitcoin.cpp - -qt/qt_hyperstake_qt-bitcoin.obj: qt/bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/qt_hyperstake_qt-bitcoin.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-bitcoin.Po -# $(AM_V_CXX)source='qt/bitcoin.cpp' object='qt/qt_hyperstake_qt-bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/qt_hyperstake_qt-bitcoin.obj `if test -f 'qt/bitcoin.cpp'; then $(CYGPATH_W) 'qt/bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/bitcoin.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-test_main.o: qt/test/test_main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.o `test -f 'qt/test/test_main.cpp' || echo '$(srcdir)/'`qt/test/test_main.cpp - -qt/test/qt_test_test_bitcoin_qt-test_main.obj: qt/test/test_main.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-test_main.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-test_main.Po -# $(AM_V_CXX)source='qt/test/test_main.cpp' object='qt/test/qt_test_test_bitcoin_qt-test_main.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-test_main.obj `if test -f 'qt/test/test_main.cpp'; then $(CYGPATH_W) 'qt/test/test_main.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/test_main.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-uritests.o: qt/test/uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.o `test -f 'qt/test/uritests.cpp' || echo '$(srcdir)/'`qt/test/uritests.cpp - -qt/test/qt_test_test_bitcoin_qt-uritests.obj: qt/test/uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-uritests.Po -# $(AM_V_CXX)source='qt/test/uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-uritests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-uritests.obj `if test -f 'qt/test/uritests.cpp'; then $(CYGPATH_W) 'qt/test/uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/uritests.cpp'; fi` - -qt/test/qt_test_test_bitcoin_qt-moc_uritests.o: qt/test/moc_uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.o -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.o `test -f 'qt/test/moc_uritests.cpp' || echo '$(srcdir)/'`qt/test/moc_uritests.cpp - -qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj: qt/test/moc_uritests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj -MD -MP -MF qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` - $(AM_V_at)$(am__mv) qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Tpo qt/test/$(DEPDIR)/qt_test_test_bitcoin_qt-moc_uritests.Po -# $(AM_V_CXX)source='qt/test/moc_uritests.cpp' object='qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_test_test_bitcoin_qt_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o qt/test/qt_test_test_bitcoin_qt-moc_uritests.obj `if test -f 'qt/test/moc_uritests.cpp'; then $(CYGPATH_W) 'qt/test/moc_uritests.cpp'; else $(CYGPATH_W) '$(srcdir)/qt/test/moc_uritests.cpp'; fi` - -test/test_test_bitcoin-allocator_tests.o: test/allocator_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.o `test -f 'test/allocator_tests.cpp' || echo '$(srcdir)/'`test/allocator_tests.cpp - -test/test_test_bitcoin-allocator_tests.obj: test/allocator_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-allocator_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-allocator_tests.Po -# $(AM_V_CXX)source='test/allocator_tests.cpp' object='test/test_test_bitcoin-allocator_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-allocator_tests.obj `if test -f 'test/allocator_tests.cpp'; then $(CYGPATH_W) 'test/allocator_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/allocator_tests.cpp'; fi` - -test/test_test_bitcoin-base32_tests.o: test/base32_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.o `test -f 'test/base32_tests.cpp' || echo '$(srcdir)/'`test/base32_tests.cpp - -test/test_test_bitcoin-base32_tests.obj: test/base32_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base32_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base32_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base32_tests.Po -# $(AM_V_CXX)source='test/base32_tests.cpp' object='test/test_test_bitcoin-base32_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base32_tests.obj `if test -f 'test/base32_tests.cpp'; then $(CYGPATH_W) 'test/base32_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base32_tests.cpp'; fi` - -test/test_test_bitcoin-base64_tests.o: test/base64_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.o `test -f 'test/base64_tests.cpp' || echo '$(srcdir)/'`test/base64_tests.cpp - -test/test_test_bitcoin-base64_tests.obj: test/base64_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-base64_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-base64_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-base64_tests.Po -# $(AM_V_CXX)source='test/base64_tests.cpp' object='test/test_test_bitcoin-base64_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-base64_tests.obj `if test -f 'test/base64_tests.cpp'; then $(CYGPATH_W) 'test/base64_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/base64_tests.cpp'; fi` - -test/test_test_bitcoin-getarg_tests.o: test/getarg_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.o `test -f 'test/getarg_tests.cpp' || echo '$(srcdir)/'`test/getarg_tests.cpp - -test/test_test_bitcoin-getarg_tests.obj: test/getarg_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-getarg_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-getarg_tests.Po -# $(AM_V_CXX)source='test/getarg_tests.cpp' object='test/test_test_bitcoin-getarg_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-getarg_tests.obj `if test -f 'test/getarg_tests.cpp'; then $(CYGPATH_W) 'test/getarg_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/getarg_tests.cpp'; fi` - -test/test_test_bitcoin-key_tests.o: test/key_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.o `test -f 'test/key_tests.cpp' || echo '$(srcdir)/'`test/key_tests.cpp - -test/test_test_bitcoin-key_tests.obj: test/key_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-key_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-key_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-key_tests.Po -# $(AM_V_CXX)source='test/key_tests.cpp' object='test/test_test_bitcoin-key_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-key_tests.obj `if test -f 'test/key_tests.cpp'; then $(CYGPATH_W) 'test/key_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/key_tests.cpp'; fi` - -test/test_test_bitcoin-mruset_tests.o: test/mruset_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.o `test -f 'test/mruset_tests.cpp' || echo '$(srcdir)/'`test/mruset_tests.cpp - -test/test_test_bitcoin-mruset_tests.obj: test/mruset_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-mruset_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-mruset_tests.Po -# $(AM_V_CXX)source='test/mruset_tests.cpp' object='test/test_test_bitcoin-mruset_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-mruset_tests.obj `if test -f 'test/mruset_tests.cpp'; then $(CYGPATH_W) 'test/mruset_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/mruset_tests.cpp'; fi` - -test/test_test_bitcoin-netbase_tests.o: test/netbase_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.o `test -f 'test/netbase_tests.cpp' || echo '$(srcdir)/'`test/netbase_tests.cpp - -test/test_test_bitcoin-netbase_tests.obj: test/netbase_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-netbase_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-netbase_tests.Po -# $(AM_V_CXX)source='test/netbase_tests.cpp' object='test/test_test_bitcoin-netbase_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-netbase_tests.obj `if test -f 'test/netbase_tests.cpp'; then $(CYGPATH_W) 'test/netbase_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/netbase_tests.cpp'; fi` - -test/test_test_bitcoin-test_bitcoin.o: test/test_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po -# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.o `test -f 'test/test_bitcoin.cpp' || echo '$(srcdir)/'`test/test_bitcoin.cpp - -test/test_test_bitcoin-test_bitcoin.obj: test/test_bitcoin.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-test_bitcoin.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Tpo test/$(DEPDIR)/test_test_bitcoin-test_bitcoin.Po -# $(AM_V_CXX)source='test/test_bitcoin.cpp' object='test/test_test_bitcoin-test_bitcoin.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-test_bitcoin.obj `if test -f 'test/test_bitcoin.cpp'; then $(CYGPATH_W) 'test/test_bitcoin.cpp'; else $(CYGPATH_W) '$(srcdir)/test/test_bitcoin.cpp'; fi` - -test/test_test_bitcoin-sigopcount_tests.o: test/sigopcount_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.o -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.o `test -f 'test/sigopcount_tests.cpp' || echo '$(srcdir)/'`test/sigopcount_tests.cpp - -test/test_test_bitcoin-sigopcount_tests.obj: test/sigopcount_tests.cpp - $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test/test_test_bitcoin-sigopcount_tests.obj -MD -MP -MF test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` - $(AM_V_at)$(am__mv) test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Tpo test/$(DEPDIR)/test_test_bitcoin-sigopcount_tests.Po -# $(AM_V_CXX)source='test/sigopcount_tests.cpp' object='test/test_test_bitcoin-sigopcount_tests.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) \ -# $(AM_V_CXX_no)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(test_test_bitcoin_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test/test_test_bitcoin-sigopcount_tests.obj `if test -f 'test/sigopcount_tests.cpp'; then $(CYGPATH_W) 'test/sigopcount_tests.cpp'; else $(CYGPATH_W) '$(srcdir)/test/sigopcount_tests.cpp'; fi` - -.mm.obj: - $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ - $(OBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ - $(am__mv) $$depbase.Tpo $$depbase.Po -# $(AM_V_OBJCXX)source='$<' object='$@' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.mm.lo: - $(AM_V_OBJCXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ - $(LTOBJCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ - $(am__mv) $$depbase.Tpo $$depbase.Plo -# $(AM_V_OBJCXX)source='$<' object='$@' libtool=yes \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(LTOBJCXXCOMPILE) -c -o $@ $< - -qt/qt_hyperstake_qt-macdockiconhandler.o: qt/macdockiconhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.o `test -f 'qt/macdockiconhandler.mm' || echo '$(srcdir)/'`qt/macdockiconhandler.mm - -qt/qt_hyperstake_qt-macdockiconhandler.obj: qt/macdockiconhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macdockiconhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macdockiconhandler.Po -# $(AM_V_OBJCXX)source='qt/macdockiconhandler.mm' object='qt/qt_hyperstake_qt-macdockiconhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macdockiconhandler.obj `if test -f 'qt/macdockiconhandler.mm'; then $(CYGPATH_W) 'qt/macdockiconhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macdockiconhandler.mm'; fi` - -qt/qt_hyperstake_qt-macnotificationhandler.o: qt/macnotificationhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.o -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.o' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.o `test -f 'qt/macnotificationhandler.mm' || echo '$(srcdir)/'`qt/macnotificationhandler.mm - -qt/qt_hyperstake_qt-macnotificationhandler.obj: qt/macnotificationhandler.mm - $(AM_V_OBJCXX)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -MT qt/qt_hyperstake_qt-macnotificationhandler.obj -MD -MP -MF qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` - $(AM_V_at)$(am__mv) qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Tpo qt/$(DEPDIR)/qt_hyperstake_qt-macnotificationhandler.Po -# $(AM_V_OBJCXX)source='qt/macnotificationhandler.mm' object='qt/qt_hyperstake_qt-macnotificationhandler.obj' libtool=no \ -# DEPDIR=$(DEPDIR) $(OBJCXXDEPMODE) $(depcomp) \ -# $(AM_V_OBJCXX_no)$(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(qt_hyperstake_qt_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCXXFLAGS) $(OBJCXXFLAGS) -c -o qt/qt_hyperstake_qt-macnotificationhandler.obj `if test -f 'qt/macnotificationhandler.mm'; then $(CYGPATH_W) 'qt/macnotificationhandler.mm'; else $(CYGPATH_W) '$(srcdir)/qt/macnotificationhandler.mm'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -rm -rf qt/.libs qt/_libs - -rm -rf qt/test/.libs qt/test/_libs - -rm -rf test/.libs test/_libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -# Recover from deleted '.trs' file; this should ensure that -# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create -# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells -# to avoid problems with "make -n". -.log.trs: - rm -f $< $@ - $(MAKE) $(AM_MAKEFLAGS) $< - -# Leading 'am--fnord' is there to ensure the list of targets does not -# expand to empty, as could happen e.g. with make check TESTS=''. -am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck) -am--force-recheck: - @: - -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - if test -n "$$redo_bases"; then \ - redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \ - redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \ - if $(am__make_dryrun); then :; else \ - rm -f $$redo_logs && rm -f $$redo_results || exit 1; \ - fi; \ - fi; \ - if test -n "$$am__remaking_logs"; then \ - echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ - "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ - am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ - fi; \ - if $(am__make_dryrun); then :; else \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; \ - fi - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done \ - | $(am__create_global_log); \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - if test -n "$(PACKAGE_BUGREPORT)"; then \ - echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \ - fi; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 - -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - trs_list=`for i in $$bases; do echo $$i.trs; done`; \ - log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -recheck: all - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - bases=`for i in $$bases; do echo $$i; done \ - | $(am__list_recheck_tests)` || exit 1; \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \ - am__force_recheck=am--force-recheck \ - TEST_LOGS="$$log_list"; \ - exit $$? -test/test_bitcoin.log: test/test_bitcoin$(EXEEXT) - @p='test/test_bitcoin$(EXEEXT)'; \ - b='test/test_bitcoin'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -test/bitcoin-util-test.py.log: test/bitcoin-util-test.py - @p='test/bitcoin-util-test.py'; \ - b='test/bitcoin-util-test.py'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -qt/test/test_bitcoin-qt.log: qt/test/test_bitcoin-qt$(EXEEXT) - @p='qt/test/test_bitcoin-qt$(EXEEXT)'; \ - b='qt/test/test_bitcoin-qt'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -.test.log: - @p='$<'; \ - $(am__set_b); \ - $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -#.test$(EXEEXT).log: -# @p='$<'; \ -# $(am__set_b); \ -# $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \ -# --log-file $$b.log --trs-file $$b.trs \ -# $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \ -# "$$tst" $(AM_TESTS_FD_REDIRECT) - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(bindir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS) - -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs) - -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -rm -f qt/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/$(am__dirstamp) - -rm -f qt/res/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/res/$(am__dirstamp) - -rm -f qt/test/$(DEPDIR)/$(am__dirstamp) - -rm -f qt/test/$(am__dirstamp) - -rm -f test/$(DEPDIR)/$(am__dirstamp) - -rm -f test/$(am__dirstamp) - -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-binPROGRAMS clean-generic clean-libtool clean-local \ - clean-noinstLIBRARIES mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) qt/$(DEPDIR) qt/test/$(DEPDIR) test/$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-binPROGRAMS - -.MAKE: $(am__recursive_targets) check-am install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-TESTS check-am clean clean-binPROGRAMS clean-generic \ - clean-libtool clean-local clean-noinstLIBRARIES cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs installdirs-am \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am recheck tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS - -.PRECIOUS: Makefile - - -$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - -.PHONY: FORCE - -obj/build.h: FORCE - @$(MKDIR_P) $(builddir)/obj - @$(top_srcdir)/share/genbuild.sh $(abs_top_builddir)/src/obj/build.h \ - $(abs_top_srcdir) -libbitcoin_util_a-clientversion.$(OBJEXT): obj/build.h - -clean-local: - -$(MAKE) -C leveldb clean - -$(MAKE) -C secp256k1 clean - -rm -f config.h - -.rc.o: - @test -f $(WINDRES) - $(AM_V_GEN) $(WINDRES) -DWINDRES_PREPROC -i $< -o $@ - -.mm.o: - $(AM_V_CXX) $(OBJCXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CXXFLAGS) $(QT_INCLUDES) $(CXXFLAGS) -c -o $@ $< - -%.pb.cc %.pb.h: %.proto - @test -f $(PROTOC) - $(AM_V_GEN) $(PROTOC) --cpp_out=$(@D) --proto_path=$(abspath $( $@ - @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ - @echo "};};" >> $@ - @echo "Generated $@" - -%.raw.h: %.raw - @$(MKDIR_P) $(@D) - @echo "namespace alert_tests{" > $@ - @echo "static unsigned const char $(*F)[] = {" >> $@ - @$(HEXDUMP) -v -e '8/1 "0x%02x, "' -e '"\n"' $< | $(SED) -e 's/0x ,//g' >> $@ - @echo "};};" >> $@ - @echo "Generated $@" - -# Most files will depend on the forms and moc files as includes. Generate them -# before anything else. -$(QT_MOC): $(QT_FORMS_H) -$(qt_libbitcoinqt_a_OBJECTS) $(qt_bitcoin_qt_OBJECTS) : | $(QT_MOC) - -#Generating these with a half-written protobuf header leads to wacky results. -#This makes sure it's done. -$(QT_MOC): $(PROTOBUF_H) -$(QT_MOC_CPP): $(PROTOBUF_H) - -SECONDARY: $(QT_QM) - -qt/bitcoinstrings.cpp: $(libbitcoin_server_a_SOURCES) $(libbitcoin_wallet_a_SOURCES) - @test -n $(XGETTEXT) || echo "xgettext is required for updating translations" - $(AM_V_GEN) cd $(srcdir); XGETTEXT=$(XGETTEXT) ../share/qt/extract_strings_qt.py $^ - -translate: qt/bitcoinstrings.cpp $(QT_FORMS_UI) $(QT_FORMS_UI) $(BITCOIN_QT_CPP) $(BITCOIN_QT_H) $(BITCOIN_MM) - @test -n $(LUPDATE) || echo "lupdate is required for updating translations" - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LUPDATE) $^ -locations relative -no-obsolete -ts qt/locale/bitcoin_en.ts - -$(QT_QRC_CPP): $(QT_QRC) $(QT_FORMS_H) $(RES_ICONS) $(RES_IMAGES) $(RES_MOVIES) $(RES_STYLESHEETS) $(PROTOBUF_H) - @test -f $(RCC) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(RCC) -name bitcoin $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -hyperstake_qt_clean: FORCE - rm -f $(CLEAN_QT) $(qt_libbitcoinqt_a_OBJECTS) $(qt_hyperstake_qt_OBJECTS) qt/hyperstake-qt$(EXEEXT) $(LIBBITCOINQT) - -hyperstake_qt : qt/hyperstake-qt$(EXEEXT) - -ui_%.h: %.ui - @test -f $(UIC) - @$(MKDIR_P) $(@D) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(UIC) -o $@ $< || (echo "Error creating $@"; false) - -%.moc: %.cpp - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -moc_%.cpp: %.h - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(MOC) $(QT_INCLUDES) $(MOC_DEFS) $< | \ - $(SED) -e '/^\*\*.*Created:/d' -e '/^\*\*.*by:/d' > $@ - -%.qm: %.ts - @test -f $(LRELEASE) - @$(MKDIR_P) $(@D) - $(AM_V_GEN) QT_SELECT=$(QT_SELECT) $(LRELEASE) -silent $< -qm $@ - -test_bitcoin_qt : qt/test/test_bitcoin-qt$(EXEEXT) - -test_bitcoin_qt_check : qt/test/test_bitcoin-qt$(EXEEXT) FORCE - $(MAKE) check-TESTS TESTS=$^ - -test_bitcoin_qt_clean: FORCE - rm -f $(CLEAN_BITCOIN_QT_TEST) $(qt_test_test_bitcoin_qt_OBJECTS) - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/src/Makefile.am b/src/Makefile.am index 98057b7ce..b5868f227 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,22 +1,16 @@ -DIST_SUBDIRS = secp256k1 AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) BITCOIN_CONFIG_INCLUDES=-I$(builddir)/config BITCOIN_INCLUDES=-I$(builddir) -I$(builddir)/obj $(BOOST_CPPFLAGS) $(CRYPTO_CFLAGS) $(SSL_CFLAGS) -BITCOIN_INCLUDES += -I$(srcdir)/secp256k1/include LIBBITCOIN_SERVER=libbitcoin_server.a LIBBITCOIN_WALLET=libbitcoin_wallet.a LIBBITCOIN_COMMON=libbitcoin_common.a LIBBITCOIN_UTIL=libbitcoin_util.a -LIBSECP256K1=secp256k1/libsecp256k1.la LIBBITCOINQT=qt/libbitcoinqt.a -$(LIBSECP256K1): $(wildcard secp256k1/src/*) $(wildcard secp256k1/include/*) - $(AM_V_at)$(MAKE) $(AM_MAKEFLAGS) -C $(@D) $(@F) - # Make is not made aware of per-object dependencies to avoid limiting building parallelization # But to build the less dependent modules first, we manually select their order here: noinst_LIBRARIES = \ @@ -183,8 +177,7 @@ hyperstaked_LDADD = \ $(LIBBITCOIN_UTIL) \ $(LIBBITCOIN_CRYPTO) \ $(LIBLEVELDB) \ - $(LIBMEMENV) \ - $(LIBSECP256K1) + $(LIBMEMENV) if ENABLE_WALLET hyperstaked_LDADD += libbitcoin_wallet.a @@ -198,7 +191,7 @@ if TARGET_WINDOWS hyperstaked_SOURCES += bitcoind-res.rc endif -hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) +hyperstaked_LDADD += $(BOOST_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) hyperstaked_CPPFLAGS = $(BITCOIN_INCLUDES) hyperstaked_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) @@ -210,8 +203,6 @@ DISTCLEANFILES = obj/build.h EXTRA_DIST = clean-local: - -$(MAKE) -C leveldb clean - -$(MAKE) -C secp256k1 clean -rm -f config.h .rc.o: diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index 9651d247f..b5e0381e6 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -269,7 +269,7 @@ if ENABLE_WALLET qt_hyperstake_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_hyperstake_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) $(LIBMEMENV) \ - $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) + $(BOOST_LIBS) $(QT_LIBS) $(QT_DBUS_LIBS) $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_hyperstake_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) qt_hyperstake_qt_LIBTOOLFLAGS = --tag CXX diff --git a/src/Makefile.qttest.include b/src/Makefile.qttest.include index cc3ecf852..743f46848 100644 --- a/src/Makefile.qttest.include +++ b/src/Makefile.qttest.include @@ -27,7 +27,7 @@ qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_WALLET) endif qt_test_test_bitcoin_qt_LDADD += $(LIBBITCOIN_COMMON) $(LIBBITCOIN_UTIL) $(LIBBITCOIN_CRYPTO) $(LIBBITCOIN_UNIVALUE) $(LIBLEVELDB) \ $(LIBMEMENV) $(BOOST_LIBS) $(QT_DBUS_LIBS) $(QT_TEST_LIBS) $(QT_LIBS) \ - $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) $(LIBSECP256K1) + $(QR_LIBS) $(PROTOBUF_LIBS) $(BDB_LIBS) $(SSL_LIBS) $(CRYPTO_LIBS) $(MINIUPNPC_LIBS) qt_test_test_bitcoin_qt_LDFLAGS = $(RELDFLAGS) $(AM_LDFLAGS) $(QT_LDFLAGS) $(LIBTOOL_APP_LDFLAGS) CLEAN_BITCOIN_QT_TEST = $(TEST_QT_MOC_CPP) qt/test/*.gcda qt/test/*.gcno diff --git a/src/alert.cpp b/src/alert.cpp index fd46dfeed..be4f5f365 100644 --- a/src/alert.cpp +++ b/src/alert.cpp @@ -54,8 +54,8 @@ std::string CUnsignedAlert::ToString() const return strprintf( "CAlert(\n" " nVersion = %d\n" - " nRelayUntil = %"PRI64d"\n" - " nExpiration = %"PRI64d"\n" + " nRelayUntil = %lld\n" + " nExpiration = %lld\n" " nID = %d\n" " nCancel = %d\n" " setCancel = %s\n" diff --git a/src/bip38.cpp b/src/bip38.cpp index d00b7be2b..e25be8a21 100644 --- a/src/bip38.cpp +++ b/src/bip38.cpp @@ -2,11 +2,12 @@ #include "bip38.h" #include "base58.h" #include "scrypt.h" +#include "key.h" #include "util.h" #include #include -#include + #include @@ -28,43 +29,6 @@ void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output) AES_decrypt(encryptedIn.begin(), output.begin(), &key); } -void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor) -{ - //passfactor is the scrypt hash of passphrase and ownersalt (NOTE this needs to handle alt cases too in the future) - uint64_t s = uint256(ReverseEndianString(strSalt)).Get64(); - scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(s), strSalt.size() / 2, BEGIN(prefactor), 16384, 8, 8, 32); -} - -void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor) -{ - //concat prefactor and ownersalt - uint512 temp(ReverseEndianString(HexStr(prefactor) + ownersalt)); - Hash(temp.begin(), 40, passfactor.begin()); //40 bytes is the length of prefactor + salt - Hash(passfactor.begin(), 32, passfactor.begin()); -} - -bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint) -{ - //passpoint is the ec_mult of passfactor on secp256k1 - int clen = 65; - return secp256k1_ec_pubkey_create(UBEGIN(passpoint), &clen, passfactor.begin(), true) != 0; -} - -void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass) -{ - // Derive decryption key for seedb using scrypt with passpoint, addresshash, and ownerentropy - string salt = ReverseEndianString(strAddressHash + strOwnerSalt); - uint256 s2(salt); - scrypt(BEGIN(passpoint), HexStr(passpoint).size() / 2, BEGIN(s2), salt.size() / 2, BEGIN(seedBPass), 1024, 1, 1, 64); -} - -void ComputeFactorB(uint256 seedB, uint256& factorB) -{ - //factorB - a double sha256 hash of seedb - Hash(seedB.begin(), 24, factorB.begin()); //seedB is only 24 bytes - Hash(factorB.begin(), 32, factorB.begin()); -} - std::string AddressToBip38Hash(std::string address) { uint256 addrCheck; @@ -76,7 +40,6 @@ std::string AddressToBip38Hash(std::string address) std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey) { - printf("***priv key 79 %s\n", privKey.GetHex().c_str()); string strAddressHash = AddressToBip38Hash(strAddress); uint512 hashed; @@ -137,97 +100,30 @@ bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint2 fCompressed = (flag & uint256(0x20)) != 0; - //not ec multiplied - if (type == uint256(0x42)) { - uint512 hashed; - encryptedPart1 = uint256(ReverseEndianString(strKey.substr(14, 32))); - uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); - scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); - - uint256 derivedHalf1(hashed.ToString().substr(64, 64)); - uint256 derivedHalf2(hashed.ToString().substr(0, 64)); - - uint256 decryptedPart1; - DecryptAES(encryptedPart1, derivedHalf2, decryptedPart1); - - uint256 decryptedPart2; - DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); - - //combine decrypted parts into 64 bytes - uint256 temp1 = decryptedPart2 << 128; - temp1 = temp1 | decryptedPart1; - - //xor the decryption with the derived half 1 for the final key - privKey = temp1 ^ derivedHalf1; - - return true; - } else if (type != uint256(0x43)) //invalid type + //no support for keys that are ec multiplied + if (type != uint256(0x42)) return false; - bool fLotSequence = (flag & 0x04) != 0; - - std::string prefactorSalt = ownersalt; - if (fLotSequence) - prefactorSalt = ownersalt.substr(0, 8); - - uint256 prefactor; - ComputePreFactor(strPassphrase, prefactorSalt, prefactor); - - uint256 passfactor; - if (fLotSequence) - ComputePassfactor(ownersalt, prefactor, passfactor); - else - passfactor = prefactor; - - CPubKey passpoint; - if (!ComputePasspoint(passfactor, passpoint)) - return false; + uint512 hashed; + encryptedPart1 = uint256(ReverseEndianString(strKey.substr(14, 32))); + uint64_t salt = uint256(ReverseEndianString(strAddressHash)).Get64(); + scrypt(strPassphrase.c_str(), strPassphrase.size(), BEGIN(salt), strAddressHash.size() / 2, BEGIN(hashed), 16384, 8, 8, 64); - uint512 seedBPass; - ComputeSeedBPass(passpoint, strAddressHash, ownersalt, seedBPass); + uint256 derivedHalf1(hashed.ToString().substr(64, 64)); + uint256 derivedHalf2(hashed.ToString().substr(0, 64)); - //get derived halfs, being mindful for endian switch - uint256 derivedHalf1(seedBPass.ToString().substr(64, 64)); - uint256 derivedHalf2(seedBPass.ToString().substr(0, 64)); + uint256 decryptedPart1; + DecryptAES(encryptedPart1, derivedHalf2, decryptedPart1); - /** Decrypt encryptedpart2 using AES256Decrypt to yield the last 8 bytes of seedb and the last 8 bytes of encryptedpart1. **/ uint256 decryptedPart2; DecryptAES(encryptedPart2, derivedHalf2, decryptedPart2); - //xor decryptedPart2 and 2nd half of derived half 1 - uint256 x0 = derivedHalf1 >> 128; //drop off the first half (note: endian) - uint256 x1 = decryptedPart2 ^ x0; - uint256 seedbPart2 = x1 >> 64; - - /** Decrypt encryptedpart1 to yield the remainder of seedb. **/ - uint256 decryptedPart1; - uint256 x2 = x1 & uint256("0xffffffffffffffff"); // set x2 to seedbPart1 (still encrypted) - x2 = x2 << 64; //make room to add encryptedPart1 to the front - x2 = encryptedPart1 | x2; //combine with encryptedPart1 - DecryptAES(x2, derivedHalf2, decryptedPart1); - - //decrypted part 1: seedb[0..15] xor derivedhalf1[0..15] - uint256 x3 = derivedHalf1 & uint256("0xffffffffffffffffffffffffffffffff"); - uint256 seedbPart1 = decryptedPart1 ^ x3; - uint256 seedB = seedbPart1 | (seedbPart2 << 128); - - uint256 factorB; - ComputeFactorB(seedB, factorB); - - //multiply passfactor by factorb mod N to yield the priv key - privKey = factorB; - if (!secp256k1_ec_privkey_tweak_mul(privKey.begin(), passfactor.begin())) - return false; - -// CBigNum bnFactorB(factorB); -// CBigNum bnPriv = bnFactorB.mul_mod(); + //combine decrypted parts into 64 bytes + uint256 temp1 = decryptedPart2 << 128; + temp1 = temp1 | decryptedPart1; - //double check that the address hash matches our final privkey - CKey k; - k.SetPrivKey(static_cast(privKey.begin()), privKey.size()); - //k.Set(privKey.begin(), privKey.end(), fCompressed); - CPubKey pubkey = k.GetPubKey(); - string address = CBitcoinAddress(pubkey.GetID()).ToString(); + //xor the decryption with the derived half 1 for the final key + privKey = temp1 ^ derivedHalf1; - return strAddressHash == AddressToBip38Hash(address); + return true; } diff --git a/src/bip38.h b/src/bip38.h index 0e84900b8..f1d8e507d 100644 --- a/src/bip38.h +++ b/src/bip38.h @@ -20,22 +20,8 @@ */ void DecryptAES(uint256 encryptedIn, uint256 decryptionKey, uint256& output); - -void ComputePreFactor(std::string strPassphrase, std::string strSalt, uint256& prefactor); - -void ComputePassfactor(std::string ownersalt, uint256 prefactor, uint256& passfactor); - -bool ComputePasspoint(uint256 passfactor, CPubKey& passpoint); - - -void ComputeSeedBPass(CPubKey passpoint, std::string strAddressHash, std::string strOwnerSalt, uint512& seedBPass); - - -void ComputeFactorB(uint256 seedB, uint256& factorB); - std::string BIP38_Encrypt(std::string strAddress, std::string strPassphrase, uint256 privKey); bool BIP38_Decrypt(std::string strPassphrase, std::string strEncryptedKey, uint256& privKey, bool& fCompressed); - std::string AddressToBip38Hash(std::string address); /** Compute the 256-bit hash of a std::string */ diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 0f47c8525..502eee14f 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -383,7 +383,7 @@ static string HTTPReply(int nStatus, const string& strMsg, bool keepalive) "HTTP/1.1 %d %s\r\n" "Date: %s\r\n" "Connection: %s\r\n" - "Content-Length: %"PRIszu"\r\n" + "Content-Length: %lu\r\n" "Content-Type: application/json\r\n" "Server: HyperStake-json-rpc/%s\r\n" "\r\n" diff --git a/src/castvote.cpp b/src/castvote.cpp new file mode 100644 index 000000000..7b6dbed5f --- /dev/null +++ b/src/castvote.cpp @@ -0,0 +1,4 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + diff --git a/src/CastVote.h b/src/castvote.h similarity index 63% rename from src/CastVote.h rename to src/castvote.h index 1f93a1f5e..98791d46b 100644 --- a/src/CastVote.h +++ b/src/castvote.h @@ -1,6 +1,6 @@ -// -// Created by carrie on 12/12/17. -// +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef HYPERSTAKE_CASTVOTE_H #define HYPERSTAKE_CASTVOTE_H diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 1cb7ad91d..11e5d363a 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -33,12 +33,13 @@ namespace Checkpoints (235999, uint256("0xafe60dd0ab56ef529db21ea648ea4fd8de758a11b6a8ac1fa5cd2d4959162106")) (399999, uint256("0x875356232916a420c100b83d87cc9ce3eb9a174750b48d2fd1eefba7292163b5")) (499999, uint256("0x8e370d8ab8bdb6e6a5a4882dda755b23b5f284f633e04c12e6f73f92de15e68e")) + (1207950, uint256("0xbad0a0f14081129f34d42fdc617638756158fd7b1413f4d3a2916bed2c1a61d4")) ; static MapCheckpoints mapCheckpointsTestnet = boost::assign::map_list_of ( 0, hashGenesisBlockTestNet ) - (10, uint256("0x0000004936d34deb2ad5c10d19b5352939bedbb05f028aa8a8f7bb9023ce7902")) + (70, uint256("0x97c81df9aab50f1bef2e09ec8d806c3cc7ec6b7b7f13c70f1b854d8e40ed77c9")) ; bool CheckHardened(int nHeight, const uint256& hash) diff --git a/src/db.cpp b/src/db.cpp index db1597350..0793dd996 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -471,7 +471,7 @@ void CDBEnv::Flush(bool fShutdown) else mi++; } - printf("DBFlush(%s)%s ended %15"PRI64d"ms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart); + printf("DBFlush(%s)%s ended %15lldms\n", fShutdown ? "true" : "false", fDbEnvInit ? "" : " db not started", GetTimeMillis() - nStart); if (fShutdown) { char** listp; @@ -625,7 +625,7 @@ bool CTxDB::LoadBlockIndex() // ppcoin: calculate stake modifier checksum pindex->nStakeModifierChecksum = GetStakeModifierChecksum(pindex); if (!CheckStakeModifierCheckpoints(pindex->nHeight, pindex->nStakeModifierChecksum)) - return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016"PRI64x, pindex->nHeight, pindex->nStakeModifier); + return error("CTxDB::LoadBlockIndex() : Failed stake modifier checkpoint height=%d, modifier=0x%016llx", pindex->nHeight, pindex->nStakeModifier); } // Load hashBestChain pointer to end of best chain diff --git a/src/init.cpp b/src/init.cpp index 41b611d4a..50270bf8e 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -600,7 +600,7 @@ bool AppInit2() printf("Shutdown requested. Exiting.\n"); return false; } - printf(" block index %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" block index %15lldms\n", GetTimeMillis() - nStart); if (GetBoolArg("-printblockindex") || GetBoolArg("-printblocktree")) { @@ -691,7 +691,7 @@ bool AppInit2() } printf("%s", strErrors.str().c_str()); - printf(" wallet %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" wallet %15lldms\n", GetTimeMillis() - nStart); RegisterWallet(pwalletMain); @@ -711,7 +711,7 @@ bool AppInit2() printf("Rescanning last %i blocks (from block %i)...\n", pindexBest->nHeight - pindexRescan->nHeight, pindexRescan->nHeight); nStart = GetTimeMillis(); pwalletMain->ScanForWalletTransactions(pindexRescan, true); - printf(" rescan %15"PRI64d"ms\n", GetTimeMillis() - nStart); + printf(" rescan %15lldms\n", GetTimeMillis() - nStart); } // ********************************************************* Step 9: import blocks @@ -752,7 +752,7 @@ bool AppInit2() printf("Invalid or missing peers.dat; recreating\n"); } - printf("Loaded %i addresses from peers.dat %"PRI64d"ms\n", + printf("Loaded %i addresses from peers.dat %lldms\n", addrman.size(), GetTimeMillis() - nStart); // ********************************************************* Step 11: start node @@ -763,11 +763,11 @@ bool AppInit2() RandAddSeedPerfmon(); //// debug print - printf("mapBlockIndex.size() = %"PRIszu"\n", mapBlockIndex.size()); + printf("mapBlockIndex.size() = %lu\n", mapBlockIndex.size()); printf("nBestHeight = %d\n", nBestHeight); - printf("setKeyPool.size() = %"PRIszu"\n", pwalletMain->setKeyPool.size()); - printf("mapWallet.size() = %"PRIszu"\n", pwalletMain->mapWallet.size()); - printf("mapAddressBook.size() = %"PRIszu"\n", pwalletMain->mapAddressBook.size()); + printf("setKeyPool.size() = %lu\n", pwalletMain->setKeyPool.size()); + printf("mapWallet.size() = %lu\n", pwalletMain->mapWallet.size()); + printf("mapAddressBook.size() = %lu\n", pwalletMain->mapAddressBook.size()); if (!NewThread(StartNode, NULL)) InitError(_("Error: could not start node")); diff --git a/src/kernel.cpp b/src/kernel.cpp index 0813c42d6..3d1069468 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -153,7 +153,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif if (!GetLastStakeModifier(pindexPrev, nStakeModifier, nModifierTime)) return error("ComputeNextStakeModifier: unable to get last modifier"); if (fDebug) - printf("ComputeNextStakeModifier: prev modifier=0x%016"PRI64x" time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); + printf("ComputeNextStakeModifier: prev modifier=0x%016llu time=%s\n", nStakeModifier, DateTimeStrFormat(nModifierTime).c_str()); if (nModifierTime / getIntervalVersion(fTestNet) >= pindexPrev->GetBlockTime() / getIntervalVersion(fTestNet)) return true; @@ -218,7 +218,7 @@ bool ComputeNextStakeModifier(const CBlockIndex* pindexPrev, uint64& nStakeModif } if (fDebug) { - printf("ComputeNextStakeModifier: new modifier=0x%016"PRI64x" time=%s\n", nStakeModifierNew, DateTimeStrFormat(pindexPrev->GetBlockTime()).c_str()); + printf("ComputeNextStakeModifier: new modifier=0x%016llu time=%s\n", nStakeModifierNew, DateTimeStrFormat(pindexPrev->GetBlockTime()).c_str()); } nStakeModifier = nStakeModifierNew; @@ -375,12 +375,12 @@ bool CheckStakeKernelHash(unsigned int nBits, const CBlock& blockFrom, unsigned if (fDebug || fPrintProofOfStake) { - printf("CheckStakeKernelHash() : using modifier 0x%016"PRI64x" at height=%d timestamp=%s for block from height=%d timestamp=%s\n", + printf("CheckStakeKernelHash() : using modifier 0x%016llu at height=%d timestamp=%s for block from height=%d timestamp=%s\n", nStakeModifier, nStakeModifierHeight, DateTimeStrFormat(nStakeModifierTime).c_str(), mapBlockIndex[blockFrom.GetHash()]->nHeight, DateTimeStrFormat(blockFrom.GetBlockTime()).c_str()); - printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016"PRI64x" nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", + printf("CheckStakeKernelHash() : pass protocol=%s modifier=0x%016llu nTimeBlockFrom=%u nTxPrevOffset=%u nTimeTxPrev=%u nPrevout=%u nTimeTx=%u hashProof=%s\n", "0.3", nStakeModifier, nTimeBlockFrom, nTxPrevOffset, nTxPrevTime, prevout.n, nTryTime, diff --git a/src/key.h b/src/key.h index 2e3bc45a7..a6b5d12e3 100644 --- a/src/key.h +++ b/src/key.h @@ -121,7 +121,7 @@ class CPubKey { template void Set(const T pbegin, const T pend) { - int len = pend == pbegin ? 0 : GetLen(pbegin[0]); + unsigned int len = pend == pbegin ? 0 : GetLen(pbegin[0]); if (len && len == (pend - pbegin)) { //memcpy(vchPubKey, (unsigned char*)&pbegin[0], len); vchPubKey.clear(); diff --git a/src/main.cpp b/src/main.cpp index 0172ef9fa..72c9471f4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -216,7 +216,7 @@ bool AddOrphanTx(const CDataStream& vMsg) // at most 500 megabytes of orphans: if (pvMsg->size() > 5000) { - printf("ignoring large orphan tx (size: %"PRIszu", hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str()); + printf("ignoring large orphan tx (size: %lu, hash: %s)\n", pvMsg->size(), hash.ToString().substr(0,10).c_str()); delete pvMsg; return false; } @@ -225,7 +225,7 @@ bool AddOrphanTx(const CDataStream& vMsg) BOOST_FOREACH(const CTxIn& txin, tx.vin) mapOrphanTransactionsByPrev[txin.prevout.hash].insert(make_pair(hash, pvMsg)); - printf("stored orphan tx %s (mapsz %"PRIszu")\n", hash.ToString().substr(0,10).c_str(), + printf("stored orphan tx %s (mapsz %lu)\n", hash.ToString().substr(0,10).c_str(), mapOrphanTransactions.size()); return true; } @@ -322,6 +322,25 @@ bool CTransaction::IsStandard() const return true; } +bool CTransaction::IsProposal() const +{ + for (CTxOut out : vout) { + CScript scriptPubKey = out.scriptPubKey; + if (scriptPubKey.IsDataCarrier()) { + if (scriptPubKey.size() > 5) { + // "PROP" in ascii + if (scriptPubKey.at(1) == 0x70 && + scriptPubKey.at(2) == 0x72 && + scriptPubKey.at(3) == 0x6f && + scriptPubKey.at(4) == 0x70) + return true; + } + } + } + + return false; +} + // // Check transaction inputs, and make sure any // pay-to-script-hash transactions are evaluating IsStandard scripts @@ -635,7 +654,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, // Don't accept it if it can't get into a block int64 txMinFee = tx.GetMinFee(1000, false, GMF_RELAY, nSize); if (nFees < txMinFee) - return error("CTxMemPool::accept() : not enough fees %s, %"PRI64d" < %"PRI64d, + return error("CTxMemPool::accept() : not enough fees %s, %lld < %lld", hash.ToString().c_str(), nFees, txMinFee); @@ -688,7 +707,7 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, if (ptxOld) EraseFromWallets(ptxOld->GetHash()); - printf("CTxMemPool::accept() : accepted %s (poolsz %"PRIszu")\n", + printf("CTxMemPool::accept() : accepted %s (poolsz %lu)\n", hash.ToString().substr(0,10).c_str(), mapTx.size()); return true; @@ -1003,7 +1022,7 @@ int64 GetProofOfStakeRewardV1(int64 nCoinAge, unsigned int nBits, unsigned int n int64 nSubsidy = nCoinAge * nRewardCoinYear / 365; if (fDebug && GetBoolArg("-printcreation")) - printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); + printf("GetProofOfStakeReward(): create=%s nCoinAge=%lld nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); return nSubsidy; } @@ -1016,7 +1035,7 @@ int64 GetProofOfStakeRewardV2(int64 nCoinAge, unsigned int nBits, unsigned int n int64 nSubsidy = nCoinAge * nRewardCoinYear / 365; if (fDebug && GetBoolArg("-printcreation")) - printf("GetProofOfStakeReward(): create=%s nCoinAge=%"PRI64d" nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); + printf("GetProofOfStakeReward(): create=%s nCoinAge=%lld nBits=%d\n", FormatMoney(nSubsidy).c_str(), nCoinAge, nBits); nSubsidy = min(nSubsidy, nSubsidyLimit); @@ -1096,12 +1115,12 @@ unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfS int64 nActualSpacing = pindexPrev->GetBlockTime() - pindexPrevPrev->GetBlockTime(); if(nActualSpacing < 0) { - // printf(">> nActualSpacing = %"PRI64d" corrected to 1.\n", nActualSpacing); + // printf(">> nActualSpacing = %lld corrected to 1.\n", nActualSpacing); nActualSpacing = 1; } else if(nActualSpacing > nTargetTimespan) { - // printf(">> nActualSpacing = %"PRI64d" corrected to nTargetTimespan (900).\n", nActualSpacing); + // printf(">> nActualSpacing = %lld corrected to nTargetTimespan (900).\n", nActualSpacing); nActualSpacing = nTargetTimespan; } @@ -1116,9 +1135,9 @@ unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfS bnNew /= ((nInterval + 1) * nTargetSpacing); /* - printf(">> Height = %d, fProofOfStake = %d, nInterval = %"PRI64d", nTargetSpacing = %"PRI64d", nActualSpacing = %"PRI64d"\n", + printf(">> Height = %d, fProofOfStake = %d, nInterval = %lld, nTargetSpacing = %lld, nActualSpacing = %lld\n", pindexPrev->nHeight, fProofOfStake, nInterval, nTargetSpacing, nActualSpacing); - printf(">> pindexPrev->GetBlockTime() = %"PRI64d", pindexPrev->nHeight = %d, pindexPrevPrev->GetBlockTime() = %"PRI64d", pindexPrevPrev->nHeight = %d\n", + printf(">> pindexPrev->GetBlockTime() = %lld, pindexPrev->nHeight = %d, pindexPrevPrev->GetBlockTime() = %lld, pindexPrevPrev->nHeight = %d\n", pindexPrev->GetBlockTime(), pindexPrev->nHeight, pindexPrevPrev->GetBlockTime(), pindexPrevPrev->nHeight); */ @@ -1294,7 +1313,7 @@ bool CTransaction::FetchInputs(CTxDB& txdb, const map& mapTes // Revisit this if/when transaction replacement is implemented and allows // adding inputs: fInvalid = true; - return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); + return DoS(100, error("FetchInputs() : %s prevout.n out of range %d %lu %lu prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); } } @@ -1367,7 +1386,7 @@ bool CTransaction::ConnectInputs(CTxDB& txdb, MapPrevTx inputs, CTransaction& txPrev = inputs[prevout.hash].second; if (prevout.n >= txPrev.vout.size() || prevout.n >= txindex.vSpent.size()) - return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %"PRIszu" %"PRIszu" prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); + return DoS(100, error("ConnectInputs() : %s prevout.n out of range %d %lu %lu prev tx %s\n%s", GetHash().ToString().substr(0,10).c_str(), prevout.n, txPrev.vout.size(), txindex.vSpent.size(), prevout.hash.ToString().substr(0,10).c_str(), txPrev.ToString().c_str())); // If prev is coinbase or coinstake, check that it's matured if (txPrev.IsCoinBase() || txPrev.IsCoinStake()) @@ -1630,7 +1649,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) // ppcoin: fees are not collected by miners as in bitcoin // ppcoin: fees are destroyed to compensate the entire network if (fDebug && GetBoolArg("-printcreation")) - printf("ConnectBlock() : destroy=%s nFees=%"PRI64d"\n", FormatMoney(nFees).c_str(), nFees); + printf("ConnectBlock() : destroy=%s nFees=%lld\n", FormatMoney(nFees).c_str(), nFees); if (fJustCheck) return true; @@ -1698,8 +1717,8 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) vConnect.push_back(pindex); reverse(vConnect.begin(), vConnect.end()); - printf("REORGANIZE: Disconnect %"PRIszu" blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str()); - printf("REORGANIZE: Connect %"PRIszu" blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str()); + printf("REORGANIZE: Disconnect %lu blocks; %s..%s\n", vDisconnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexBest->GetBlockHash().ToString().substr(0,20).c_str()); + printf("REORGANIZE: Connect %lu blocks; %s..%s\n", vConnect.size(), pfork->GetBlockHash().ToString().substr(0,20).c_str(), pindexNew->GetBlockHash().ToString().substr(0,20).c_str()); // Disconnect shorter branch vector vResurrect; @@ -1828,7 +1847,7 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew) } if (!vpindexSecondary.empty()) - printf("Postponing %"PRIszu" reconnects\n", vpindexSecondary.size()); + printf("Postponing %lu reconnects\n", vpindexSecondary.size()); // Switch to new best branch if (!Reorganize(txdb, pindexIntermediate)) @@ -1880,22 +1899,22 @@ bool CBlock::SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew) printf("Stake checkpoint: %x\n", pindexBest->nStakeModifierChecksum); // Check the version of the last 100 blocks to see if we need to upgrade: - if (!fIsInitialDownload) - { - int nUpgraded = 0; - const CBlockIndex* pindex = pindexBest; - for (int i = 0; i < 100 && pindex != NULL; i++) - { - if (pindex->nVersion > CBlock::CURRENT_VERSION) - ++nUpgraded; - pindex = pindex->pprev; - } - if (nUpgraded > 0) - printf("SetBestChain: %d of last 100 blocks above version %d\n", nUpgraded, CBlock::CURRENT_VERSION); - if (nUpgraded > 100/2) - // strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user: - strMiscWarning = _("Warning: This version is obsolete, upgrade required!"); - } +// if (!fIsInitialDownload) +// { +// int nUpgraded = 0; +// const CBlockIndex* pindex = pindexBest; +// for (int i = 0; i < 100 && pindex != NULL; i++) +// { +// if (pindex->nVersion > CBlock::CURRENT_VERSION) +// ++nUpgraded; +// pindex = pindex->pprev; +// } +// if (nUpgraded > 0) +// printf("SetBestChain: %d of last 100 blocks above version %d\n", nUpgraded, CBlock::CURRENT_VERSION); +// if (nUpgraded > 100/2) +// // strMiscWarning is read by GetWarnings(), called by Qt and the JSON-RPC code to warn the user: +// strMiscWarning = _("Warning: This version is obsolete, upgrade required!"); +// } std::string strCmd = GetArg("-blocknotify", ""); @@ -1947,7 +1966,7 @@ bool CTransaction::GetCoinAge(CTxDB& txdb, uint64& nCoinAge) const bnCentSecond += CBigNum(nValueIn) * (nTime-txPrev.nTime) / CENT; if (fDebug && GetBoolArg("-printcoinage")) - printf("coin age nValueIn=%"PRI64d" nTimeDiff=%d bnCentSecond=%s\n", nValueIn, nTime - txPrev.nTime, bnCentSecond.ToString().c_str()); + printf("coin age nValueIn=%lld nTimeDiff=%d bnCentSecond=%s\n", nValueIn, nTime - txPrev.nTime, bnCentSecond.ToString().c_str()); } CBigNum bnCoinDay = bnCentSecond * CENT / COIN / (24 * 60 * 60); @@ -1975,7 +1994,7 @@ bool CBlock::GetCoinAge(uint64& nCoinAge) const if (nCoinAge == 0) // block coin age minimum 1 coin-day nCoinAge = 1; if (fDebug && GetBoolArg("-printcoinage")) - printf("block coin age total nCoinDays=%"PRI64d"\n", nCoinAge); + printf("block coin age total nCoinDays=%lld\n", nCoinAge); return true; } @@ -2021,7 +2040,7 @@ bool CBlock::AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos) pindexNew->SetStakeModifier(nStakeModifier, fGeneratedStakeModifier); pindexNew->nStakeModifierChecksum = GetStakeModifierChecksum(pindexNew); if (!CheckStakeModifierCheckpoints(pindexNew->nHeight, pindexNew->nStakeModifierChecksum)) - return error("AddToBlockIndex() : Rejected by stake modifier checkpoint height=%d, modifier=0x%016"PRI64x, pindexNew->nHeight, nStakeModifier); + return error("AddToBlockIndex() : Rejected by stake modifier checkpoint height=%d, modifier=0x%016llu", pindexNew->nHeight, nStakeModifier); // Add to mapBlockIndex map::iterator mi = mapBlockIndex.insert(make_pair(hash, pindexNew)).first; @@ -2095,7 +2114,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const // Check coinstake timestamp if (IsProofOfStake() && !CheckCoinStakeTimestamp(GetBlockTime(), (int64)vtx[1].nTime)) - return DoS(50, error("CheckBlock() : coinstake timestamp violation nTimeBlock=%"PRI64d" nTimeTx=%u", GetBlockTime(), vtx[1].nTime)); + return DoS(50, error("CheckBlock() : coinstake timestamp violation nTimeBlock=%lld nTimeTx=%u", GetBlockTime(), vtx[1].nTime)); // Check transactions BOOST_FOREACH(const CTransaction& tx, vtx) @@ -2734,7 +2753,7 @@ void PrintBlockTree() // print item CBlock block; block.ReadFromDisk(pindex); - printf("%d (%u,%u) %s %08x %s mint %7s tx %"PRIszu"", + printf("%d (%u,%u) %s %08x %s mint %7s tx %lu", pindex->nHeight, pindex->nFile, pindex->nBlockPos, @@ -2842,7 +2861,7 @@ bool LoadExternalBlockFile(FILE* fileIn) __PRETTY_FUNCTION__); } } - printf("Loaded %i blocks from external file in %"PRI64d"ms\n", nLoaded, GetTimeMillis() - nStart); + printf("Loaded %i blocks from external file in %lldms\n", nLoaded, GetTimeMillis() - nStart); return nLoaded > 0; } @@ -3000,7 +3019,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) static map mapReuseKey; RandAddSeedPerfmon(); if (fDebug) - printf("received: %s (%"PRIszu" bytes)\n", strCommand.c_str(), vRecv.size()); + printf("received: %s (%lu bytes)\n", strCommand.c_str(), vRecv.size()); if (mapArgs.count("-dropmessagestest") && GetRand(atoi(mapArgs["-dropmessagestest"])) == 0) { printf("dropmessagestest DROPPING RECV MESSAGE\n"); @@ -3138,7 +3157,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %lld sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } @@ -3169,7 +3188,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vAddr.size() > 1000) { pfrom->Misbehaving(20); - return error("message addr size() = %"PRIszu"", vAddr.size()); + return error("message addr size() = %lu", vAddr.size()); } // Store the new addresses @@ -3232,7 +3251,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vInv.size() > MAX_INV_SZ) { pfrom->Misbehaving(20); - return error("message inv size() = %"PRIszu"", vInv.size()); + return error("message inv size() = %lu", vInv.size()); } // find last block in inv vector @@ -3282,11 +3301,11 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) if (vInv.size() > MAX_INV_SZ) { pfrom->Misbehaving(20); - return error("message getdata size() = %"PRIszu"", vInv.size()); + return error("message getdata size() = %lu", vInv.size()); } if (fDebugNet || (vInv.size() != 1)) - printf("received getdata (%"PRIszu" invsz)\n", vInv.size()); + printf("received getdata (%lu invsz)\n", vInv.size()); BOOST_FOREACH(const CInv& inv, vInv) { @@ -3552,7 +3571,7 @@ bool static ProcessMessage(CNode* pfrom, string strCommand, CDataStream& vRecv) int64 TimeSinceBestBlock = GetTime() - nTimeBestReceived; if (TimeSinceBestBlock > MAX_TIME_SINCE_BEST_BLOCK) { - printf("INFO: Waiting %"PRI64d" sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); + printf("INFO: Waiting %lld sec which is too long. Sending GetBlocks(0)\n", TimeSinceBestBlock); pfrom->PushGetBlocks(pindexBest, uint256(0)); } } @@ -4337,7 +4356,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) nLastBlockSize = nBlockSize; if (fDebug && GetBoolArg("-printpriority")) - printf("CreateNewBlock(): total size %"PRI64u"\n", nBlockSize); + printf("CreateNewBlock(): total size %llu\n", nBlockSize); if (pblock->IsProofOfWork()) pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pindexPrev->nHeight+1, nFees, pindexPrev->GetBlockHash()); @@ -4548,7 +4567,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) continue; } - printf("Running BitcoinMiner with %"PRIszu" transactions in block (%u bytes)\n", pblock->vtx.size(), + printf("Running BitcoinMiner with %lu transactions in block (%u bytes)\n", pblock->vtx.size(), ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); // diff --git a/src/main.h b/src/main.h index f827635e9..f63c307dd 100644 --- a/src/main.h +++ b/src/main.h @@ -11,7 +11,7 @@ #include "script.h" #include "scrypt_mine.h" #include "hashblock.h" - +#include #include class CWallet; @@ -538,6 +538,7 @@ class CTransaction return (IsCoinBase() || IsCoinStake()); } + bool IsProposal() const; /** Check for standard transaction types @return True if all outputs (scriptPubKeys) use only standard transaction forms @@ -651,14 +652,14 @@ class CTransaction { std::string str; str += IsCoinBase()? "Coinbase" : (IsCoinStake()? "Coinstake" : "CTransaction"); - str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n", - GetHash().ToString().substr(0,10).c_str(), - nTime, - nVersion, - vin.size(), - vout.size(), - nLockTime - ); + str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%lu, vout.size=%lu, nLockTime=%d)\n", + GetHash().ToString().substr(0,10).c_str(), + nTime, + nVersion, + vin.size(), + vout.size(), + nLockTime + ); for (unsigned int i = 0; i < vin.size(); i++) str += " " + vin[i].ToString() + "\n"; @@ -1054,14 +1055,16 @@ class CBlock void print() const { - printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu", vchBlockSig=%s)\n", - GetHash().ToString().c_str(), - nVersion, - hashPrevBlock.ToString().c_str(), - hashMerkleRoot.ToString().c_str(), - nTime, nBits, nNonce, - vtx.size(), - HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str()); + std::cout << "CBlock(hash=" + << GetHash().ToString().c_str() + << " ver = " << nVersion + << " hashPrevBlock = " << hashPrevBlock.ToString().c_str() + << " hasMerkleRoot = " << hashMerkleRoot.ToString().c_str() + << " nTime = " << nTime + << " nBits = " << nBits + << " nNonce = " << nNonce + << " vtx = " << vtx.size() + << " vhcBlockSig = " << HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str(); for (unsigned int i = 0; i < vtx.size(); i++) { printf(" "); @@ -1305,7 +1308,7 @@ class CBlockIndex std::string ToString() const { - return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016"PRI64x", nStakeModifierChecksum=%08x, hashProofOfStake=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)", + return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016llu, nStakeModifierChecksum=%08x, hashProofOfStake=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)", pprev, pnext, nFile, nBlockPos, nHeight, FormatMoney(nMint).c_str(), FormatMoney(nMoneySupply).c_str(), GeneratedStakeModifier() ? "MOD" : "-", GetStakeEntropyBit(), IsProofOfStake()? "PoS" : "PoW", diff --git a/src/net.cpp b/src/net.cpp index 4ffba1b87..77970e961 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1175,8 +1175,8 @@ void MapPort() // The first name is used as information source for addrman. // The second name should resolve to a list of seed addresses. static const char *strDNSSeed[][2] = { + {"fuzzbawls", "hyp.seed.fuzzbawls.pw"}, {"presstab nodes", "hypseed.presstab.pw"}, - {"CCE block explorer", "hyp.altcointech.net"}, }; void ThreadDNSAddressSeed(void* parg) @@ -1267,7 +1267,7 @@ void DumpAddresses() CAddrDB adb; adb.Write(addrman); - printf("Flushed %d addresses to peers.dat %"PRI64d"ms\n", + printf("Flushed %d addresses to peers.dat %lldms\n", addrman.size(), GetTimeMillis() - nStart); } diff --git a/src/net.h b/src/net.h index 5bf31037f..b7c7d7a17 100644 --- a/src/net.h +++ b/src/net.h @@ -367,7 +367,7 @@ class CNode // the key is the earliest time the request can be sent int64& nRequestTime = mapAlreadyAskedFor[inv]; if (fDebugNet) - printf("askfor %s %"PRI64d" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); + printf("askfor %s %lld (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str()); // Make sure not to reuse time indexes to keep things in the same order int64 nNow = (GetTime() - 1) * 1000000; diff --git a/src/qt/moc_bip38tooldialog.cpp b/src/qt/moc_bip38tooldialog.cpp deleted file mode 100644 index 790f40c3e..000000000 --- a/src/qt/moc_bip38tooldialog.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** -** Meta object code from reading C++ file 'bip38tooldialog.h' -** -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include "qt/bip38tooldialog.h" -#include -#include -#if !defined(Q_MOC_OUTPUT_REVISION) -#error "The header file 'bip38tooldialog.h' doesn't include ." -#elif Q_MOC_OUTPUT_REVISION != 67 -#error "This file was generated using the moc from 5.5.1. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -QT_BEGIN_MOC_NAMESPACE -struct qt_meta_stringdata_Bip38ToolDialog_t { - QByteArrayData data[10]; - char stringdata0[259]; -}; -#define QT_MOC_LITERAL(idx, ofs, len) \ - Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ - qptrdiff(offsetof(qt_meta_stringdata_Bip38ToolDialog_t, stringdata0) + ofs \ - - idx * sizeof(QByteArrayData)) \ - ) -static const qt_meta_stringdata_Bip38ToolDialog_t qt_meta_stringdata_Bip38ToolDialog = { - { -QT_MOC_LITERAL(0, 0, 15), // "Bip38ToolDialog" -QT_MOC_LITERAL(1, 16, 32), // "on_addressBookButton_ENC_clicked" -QT_MOC_LITERAL(2, 49, 0), // "" -QT_MOC_LITERAL(3, 50, 26), // "on_pasteButton_ENC_clicked" -QT_MOC_LITERAL(4, 77, 31), // "on_encryptKeyButton_ENC_clicked" -QT_MOC_LITERAL(5, 109, 28), // "on_copyKeyButton_ENC_clicked" -QT_MOC_LITERAL(6, 138, 26), // "on_clearButton_ENC_clicked" -QT_MOC_LITERAL(7, 165, 31), // "on_decryptKeyButton_DEC_clicked" -QT_MOC_LITERAL(8, 197, 34), // "on_importAddressButton_DEC_cl..." -QT_MOC_LITERAL(9, 232, 26) // "on_clearButton_DEC_clicked" - - }, - "Bip38ToolDialog\0on_addressBookButton_ENC_clicked\0" - "\0on_pasteButton_ENC_clicked\0" - "on_encryptKeyButton_ENC_clicked\0" - "on_copyKeyButton_ENC_clicked\0" - "on_clearButton_ENC_clicked\0" - "on_decryptKeyButton_DEC_clicked\0" - "on_importAddressButton_DEC_clicked\0" - "on_clearButton_DEC_clicked" -}; -#undef QT_MOC_LITERAL - -static const uint qt_meta_data_Bip38ToolDialog[] = { - - // content: - 7, // revision - 0, // classname - 0, 0, // classinfo - 8, 14, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - // slots: name, argc, parameters, tag, flags - 1, 0, 54, 2, 0x08 /* Private */, - 3, 0, 55, 2, 0x08 /* Private */, - 4, 0, 56, 2, 0x08 /* Private */, - 5, 0, 57, 2, 0x08 /* Private */, - 6, 0, 58, 2, 0x08 /* Private */, - 7, 0, 59, 2, 0x08 /* Private */, - 8, 0, 60, 2, 0x08 /* Private */, - 9, 0, 61, 2, 0x08 /* Private */, - - // slots: parameters - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - - 0 // eod -}; - -void Bip38ToolDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) -{ - if (_c == QMetaObject::InvokeMetaMethod) { - Bip38ToolDialog *_t = static_cast(_o); - Q_UNUSED(_t) - switch (_id) { - case 0: _t->on_addressBookButton_ENC_clicked(); break; - case 1: _t->on_pasteButton_ENC_clicked(); break; - case 2: _t->on_encryptKeyButton_ENC_clicked(); break; - case 3: _t->on_copyKeyButton_ENC_clicked(); break; - case 4: _t->on_clearButton_ENC_clicked(); break; - case 5: _t->on_decryptKeyButton_DEC_clicked(); break; - case 6: _t->on_importAddressButton_DEC_clicked(); break; - case 7: _t->on_clearButton_DEC_clicked(); break; - default: ; - } - } - Q_UNUSED(_a); -} - -const QMetaObject Bip38ToolDialog::staticMetaObject = { - { &QDialog::staticMetaObject, qt_meta_stringdata_Bip38ToolDialog.data, - qt_meta_data_Bip38ToolDialog, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} -}; - - -const QMetaObject *Bip38ToolDialog::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; -} - -void *Bip38ToolDialog::qt_metacast(const char *_clname) -{ - if (!_clname) return Q_NULLPTR; - if (!strcmp(_clname, qt_meta_stringdata_Bip38ToolDialog.stringdata0)) - return static_cast(const_cast< Bip38ToolDialog*>(this)); - return QDialog::qt_metacast(_clname); -} - -int Bip38ToolDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QDialog::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 8) - qt_static_metacall(this, _c, _id, _a); - _id -= 8; - } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 8) - *reinterpret_cast(_a[0]) = -1; - _id -= 8; - } - return _id; -} -QT_END_MOC_NAMESPACE diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 00093604d..cd87ee273 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -99,7 +99,7 @@ Object blockToJSON(const CBlock& block, const CBlockIndex* blockindex, bool fPri result.push_back(Pair("flags", strprintf("%s%s", blockindex->IsProofOfStake()? "proof-of-stake" : "proof-of-work", blockindex->GeneratedStakeModifier()? " stake-modifier": ""))); result.push_back(Pair("proofhash", blockindex->IsProofOfStake()? blockindex->hashProofOfStake.GetHex() : blockindex->GetBlockHash().GetHex())); result.push_back(Pair("entropybit", (int)blockindex->GetStakeEntropyBit())); - result.push_back(Pair("modifier", strprintf("%016"PRI64x, blockindex->nStakeModifier))); + result.push_back(Pair("modifier", strprintf("%016llx", blockindex->nStakeModifier))); result.push_back(Pair("modifierchecksum", strprintf("%08x", blockindex->nStakeModifierChecksum))); Array txinfo; BOOST_FOREACH (const CTransaction& tx, block.vtx) diff --git a/src/rpcnet.cpp b/src/rpcnet.cpp index 4b67ecbb6..0471ab6d4 100644 --- a/src/rpcnet.cpp +++ b/src/rpcnet.cpp @@ -52,7 +52,7 @@ Value getpeerinfo(const Array& params, bool fHelp) Object obj; obj.push_back(Pair("addr", stats.addrName)); - obj.push_back(Pair("services", strprintf("%08"PRI64x, stats.nServices))); + obj.push_back(Pair("services", strprintf("%08llx", stats.nServices))); obj.push_back(Pair("lastsend", (boost::int64_t)stats.nLastSend)); obj.push_back(Pair("lastrecv", (boost::int64_t)stats.nLastRecv)); obj.push_back(Pair("conntime", (boost::int64_t)stats.nTimeConnected)); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 7015fd37e..d787ffa31 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -801,7 +801,7 @@ Value addmultisigaddress(const Array& params, bool fHelp) if ((int)keys.size() < nRequired) throw runtime_error( strprintf("not enough keys supplied " - "(got %"PRIszu" keys, but need at least %d to redeem)", keys.size(), nRequired)); + "(got %lu keys, but need at least %d to redeem)", keys.size(), nRequired)); std::vector pubkeys; pubkeys.resize(keys.size()); for (unsigned int i = 0; i < keys.size(); i++) @@ -2794,4 +2794,4 @@ Value getstakingstatus(const Array& params, bool fHelp) return obj; } - \ No newline at end of file + diff --git a/src/script.h b/src/script.h index 99465cb10..b7a3911d0 100644 --- a/src/script.h +++ b/src/script.h @@ -537,6 +537,11 @@ class CScript : public std::vector return true; } + bool IsDataCarrier() const + { + return (this->size() > 0 && this->at(0) == OP_RETURN); + } + void SetDestination(const CTxDestination& address); void SetMultisig(int nRequired, const std::vector& keys); diff --git a/src/scrypt.cpp b/src/scrypt.cpp index fa9b71b0c..06b94654a 100644 --- a/src/scrypt.cpp +++ b/src/scrypt.cpp @@ -121,7 +121,7 @@ HMAC_SHA256_Final(unsigned char digest[32], HMAC_SHA256_CTX *ctx) * write the output to buf. The value dkLen must be at most 32 * (2^32 - 1). */ void -PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, +PBKDF2_SHA256_s(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen) { HMAC_SHA256_CTX PShctx, hctx; @@ -369,14 +369,14 @@ void scrypt(const char* pass, unsigned int pLen, const char* salt, unsigned int uint32_t* V = (uint32_t *)(((uintptr_t)(V0) + 63) & ~ (uintptr_t)(63)); uint32_t* XY = (uint32_t *)(((uintptr_t)(XY0) + 63) & ~ (uintptr_t)(63)); - PBKDF2_SHA256((const uint8_t *)pass, pLen, (const uint8_t *)salt, sLen, 1, B, p * 128 * r); + PBKDF2_SHA256_s((const uint8_t *)pass, pLen, (const uint8_t *)salt, sLen, 1, B, p * 128 * r); for(unsigned int i = 0; i < p; i++) { SMix(&B[i * 128 * r], r, N, V, XY); } - PBKDF2_SHA256((const uint8_t *)pass, pLen, B, p * 128 * r, 1, (uint8_t *)output, dkLen); + PBKDF2_SHA256_s((const uint8_t *)pass, pLen, B, p * 128 * r, 1, (uint8_t *)output, dkLen); free(V0); free(XY0); diff --git a/src/secp256k1/.deps/bench_inv-bench_inv.Po b/src/secp256k1/.deps/bench_inv-bench_inv.Po new file mode 100644 index 000000000..9ce06a81e --- /dev/null +++ b/src/secp256k1/.deps/bench_inv-bench_inv.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/secp256k1/.deps/bench_sign.Po b/src/secp256k1/.deps/bench_sign.Po new file mode 100644 index 000000000..9ce06a81e --- /dev/null +++ b/src/secp256k1/.deps/bench_sign.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/secp256k1/.deps/bench_verify.Po b/src/secp256k1/.deps/bench_verify.Po new file mode 100644 index 000000000..9ce06a81e --- /dev/null +++ b/src/secp256k1/.deps/bench_verify.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/secp256k1/.deps/libsecp256k1_la-secp256k1.Plo b/src/secp256k1/.deps/libsecp256k1_la-secp256k1.Plo new file mode 100644 index 000000000..198d4d2de --- /dev/null +++ b/src/secp256k1/.deps/libsecp256k1_la-secp256k1.Plo @@ -0,0 +1,180 @@ +libsecp256k1_la-secp256k1.lo: src/secp256k1.c /usr/include/stdc-predef.h \ + include/secp256k1.h src/util.h src/libsecp256k1-config.h \ + /usr/include/stdlib.h /usr/include/features.h \ + /usr/include/x86_64-linux-gnu/sys/cdefs.h \ + /usr/include/x86_64-linux-gnu/bits/wordsize.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs.h \ + /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h \ + /usr/include/x86_64-linux-gnu/bits/waitflags.h \ + /usr/include/x86_64-linux-gnu/bits/waitstatus.h /usr/include/endian.h \ + /usr/include/x86_64-linux-gnu/bits/endian.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap.h \ + /usr/include/x86_64-linux-gnu/bits/types.h \ + /usr/include/x86_64-linux-gnu/bits/typesizes.h \ + /usr/include/x86_64-linux-gnu/bits/byteswap-16.h \ + /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/time.h \ + /usr/include/x86_64-linux-gnu/sys/select.h \ + /usr/include/x86_64-linux-gnu/bits/select.h \ + /usr/include/x86_64-linux-gnu/bits/sigset.h \ + /usr/include/x86_64-linux-gnu/bits/time.h \ + /usr/include/x86_64-linux-gnu/bits/select2.h \ + /usr/include/x86_64-linux-gnu/sys/sysmacros.h \ + /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h /usr/include/alloca.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ + /usr/include/x86_64-linux-gnu/bits/stdlib.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h /usr/include/stdint.h \ + /usr/include/x86_64-linux-gnu/bits/wchar.h /usr/include/stdio.h \ + /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \ + /usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h \ + /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ + /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ + /usr/include/x86_64-linux-gnu/bits/stdio.h \ + /usr/include/x86_64-linux-gnu/bits/stdio2.h src/num_impl.h src/num.h \ + src/field_impl.h src/field_10x26_impl.h /usr/include/string.h \ + /usr/include/xlocale.h /usr/include/x86_64-linux-gnu/bits/string.h \ + /usr/include/x86_64-linux-gnu/bits/string2.h \ + /usr/include/x86_64-linux-gnu/bits/string3.h src/field.h \ + src/field_10x26.h src/scalar_impl.h src/group.h src/scalar.h \ + src/scalar_8x32.h src/scalar_8x32_impl.h src/group_impl.h \ + src/ecmult_impl.h src/ecmult.h src/ecmult_gen_impl.h src/ecmult_gen.h \ + src/ecdsa_impl.h src/ecdsa.h src/eckey_impl.h src/eckey.h + +/usr/include/stdc-predef.h: + +include/secp256k1.h: + +src/util.h: + +src/libsecp256k1-config.h: + +/usr/include/stdlib.h: + +/usr/include/features.h: + +/usr/include/x86_64-linux-gnu/sys/cdefs.h: + +/usr/include/x86_64-linux-gnu/bits/wordsize.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs.h: + +/usr/include/x86_64-linux-gnu/gnu/stubs-64.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stddef.h: + +/usr/include/x86_64-linux-gnu/bits/waitflags.h: + +/usr/include/x86_64-linux-gnu/bits/waitstatus.h: + +/usr/include/endian.h: + +/usr/include/x86_64-linux-gnu/bits/endian.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap.h: + +/usr/include/x86_64-linux-gnu/bits/types.h: + +/usr/include/x86_64-linux-gnu/bits/typesizes.h: + +/usr/include/x86_64-linux-gnu/bits/byteswap-16.h: + +/usr/include/x86_64-linux-gnu/sys/types.h: + +/usr/include/time.h: + +/usr/include/x86_64-linux-gnu/sys/select.h: + +/usr/include/x86_64-linux-gnu/bits/select.h: + +/usr/include/x86_64-linux-gnu/bits/sigset.h: + +/usr/include/x86_64-linux-gnu/bits/time.h: + +/usr/include/x86_64-linux-gnu/bits/select2.h: + +/usr/include/x86_64-linux-gnu/sys/sysmacros.h: + +/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/alloca.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib-float.h: + +/usr/include/x86_64-linux-gnu/bits/stdlib.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/x86_64-linux-gnu/bits/wchar.h: + +/usr/include/stdio.h: + +/usr/include/libio.h: + +/usr/include/_G_config.h: + +/usr/include/wchar.h: + +/usr/lib/gcc/x86_64-linux-gnu/5/include/stdarg.h: + +/usr/include/x86_64-linux-gnu/bits/stdio_lim.h: + +/usr/include/x86_64-linux-gnu/bits/sys_errlist.h: + +/usr/include/x86_64-linux-gnu/bits/stdio.h: + +/usr/include/x86_64-linux-gnu/bits/stdio2.h: + +src/num_impl.h: + +src/num.h: + +src/field_impl.h: + +src/field_10x26_impl.h: + +/usr/include/string.h: + +/usr/include/xlocale.h: + +/usr/include/x86_64-linux-gnu/bits/string.h: + +/usr/include/x86_64-linux-gnu/bits/string2.h: + +/usr/include/x86_64-linux-gnu/bits/string3.h: + +src/field.h: + +src/field_10x26.h: + +src/scalar_impl.h: + +src/group.h: + +src/scalar.h: + +src/scalar_8x32.h: + +src/scalar_8x32_impl.h: + +src/group_impl.h: + +src/ecmult_impl.h: + +src/ecmult.h: + +src/ecmult_gen_impl.h: + +src/ecmult_gen.h: + +src/ecdsa_impl.h: + +src/ecdsa.h: + +src/eckey_impl.h: + +src/eckey.h: diff --git a/src/secp256k1/.deps/tests-tests.Po b/src/secp256k1/.deps/tests-tests.Po new file mode 100644 index 000000000..9ce06a81e --- /dev/null +++ b/src/secp256k1/.deps/tests-tests.Po @@ -0,0 +1 @@ +# dummy diff --git a/src/secp256k1/.gitignore b/src/secp256k1/.gitignore deleted file mode 100644 index f0a54077a..000000000 --- a/src/secp256k1/.gitignore +++ /dev/null @@ -1,35 +0,0 @@ -bench_inv -bench_sign -bench_verify -tests -*.exe -*.so -*.a -!.gitignore - -Makefile -configure -.libs/ -Makefile.in -aclocal.m4 -autom4te.cache/ -config.log -config.status -*.tar.gz -*.la -libtool -.deps/ -.dirstamp -build-aux/ -*.lo -*.o -*~ -src/libsecp256k1-config.h -src/libsecp256k1-config.h.in -m4/libtool.m4 -m4/ltoptions.m4 -m4/ltsugar.m4 -m4/ltversion.m4 -m4/lt~obsolete.m4 -src/stamp-h1 -libsecp256k1.pc diff --git a/src/secp256k1/.travis.yml b/src/secp256k1/.travis.yml deleted file mode 100644 index 3a85e8cba..000000000 --- a/src/secp256k1/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: cpp -compiler: gcc -install: - - sudo apt-get install -qq libssl-dev - - if [ "$BIGNUM" = "gmp" -o "$BIGNUM" = "auto" -o "$FIELD" = "gmp" ]; then sudo apt-get install -qq libgmp-dev; fi - - if [ "$FIELD" = "64bit_asm" ]; then sudo apt-get install -qq yasm; fi -env: - global: - - FIELD=auto BIGNUM=auto SCALAR=auto ENDOMORPHISM=no BUILD=check EXTRAFLAGS= - matrix: - - SCALAR=32bit - - SCALAR=64bit - - FIELD=gmp - - FIELD=gmp ENDOMORPHISM=yes - - FIELD=64bit_asm - - FIELD=64bit_asm ENDOMORPHISM=yes - - FIELD=64bit - - FIELD=64bit ENDOMORPHISM=yes - - FIELD=32bit - - FIELD=32bit ENDOMORPHISM=yes - - BIGNUM=none - - BIGNUM=none ENDOMORPHISM=yes - - BUILD=distcheck - - EXTRAFLAGS=CFLAGS=-DDETERMINISTIC -before_script: ./autogen.sh -script: ./configure --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-scalar=$SCALAR $EXTRAFLAGS && make -j2 $BUILD -os: linux diff --git a/src/secp256k1/COPYING b/src/secp256k1/COPYING deleted file mode 100644 index 4522a5990..000000000 --- a/src/secp256k1/COPYING +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013 Pieter Wuille - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/src/secp256k1/Makefile.am b/src/secp256k1/Makefile.am deleted file mode 100644 index dbf1790f3..000000000 --- a/src/secp256k1/Makefile.am +++ /dev/null @@ -1,89 +0,0 @@ -ACLOCAL_AMFLAGS = -I build-aux/m4 - -lib_LTLIBRARIES = libsecp256k1.la -if USE_ASM -COMMON_LIB = libsecp256k1_common.la -else -COMMON_LIB = -endif -noinst_LTLIBRARIES = $(COMMON_LIB) -include_HEADERS = include/secp256k1.h -noinst_HEADERS = -noinst_HEADERS += src/scalar.h -noinst_HEADERS += src/scalar_4x64.h -noinst_HEADERS += src/scalar_8x32.h -noinst_HEADERS += src/scalar_impl.h -noinst_HEADERS += src/scalar_4x64_impl.h -noinst_HEADERS += src/scalar_8x32_impl.h -noinst_HEADERS += src/group.h -noinst_HEADERS += src/group_impl.h -noinst_HEADERS += src/num_gmp.h -noinst_HEADERS += src/num_gmp_impl.h -noinst_HEADERS += src/ecdsa.h -noinst_HEADERS += src/ecdsa_impl.h -noinst_HEADERS += src/eckey.h -noinst_HEADERS += src/eckey_impl.h -noinst_HEADERS += src/ecmult.h -noinst_HEADERS += src/ecmult_impl.h -noinst_HEADERS += src/ecmult_gen.h -noinst_HEADERS += src/ecmult_gen_impl.h -noinst_HEADERS += src/num.h -noinst_HEADERS += src/num_impl.h -noinst_HEADERS += src/field_10x26.h -noinst_HEADERS += src/field_10x26_impl.h -noinst_HEADERS += src/field_5x52.h -noinst_HEADERS += src/field_5x52_impl.h -noinst_HEADERS += src/field_5x52_int128_impl.h -noinst_HEADERS += src/field_5x52_asm_impl.h -noinst_HEADERS += src/java/org_bitcoin_NativeSecp256k1.h -noinst_HEADERS += src/util.h -noinst_HEADERS += src/testrand.h -noinst_HEADERS += src/testrand_impl.h -noinst_HEADERS += src/field_gmp.h -noinst_HEADERS += src/field_gmp_impl.h -noinst_HEADERS += src/field.h -noinst_HEADERS += src/field_impl.h - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libsecp256k1.pc - -if USE_ASM -libsecp256k1_common_la_SOURCES = src/field_5x52_asm.asm -endif - -libsecp256k1_la_SOURCES = src/secp256k1.c -libsecp256k1_la_CPPFLAGS = -I$(top_srcdir)/include $(SECP_INCLUDES) -libsecp256k1_la_LIBADD = $(COMMON_LIB) $(SECP_LIBS) - - -noinst_PROGRAMS = -if USE_BENCHMARK -noinst_PROGRAMS += bench_verify bench_sign bench_inv -bench_verify_SOURCES = src/bench_verify.c -bench_verify_LDADD = libsecp256k1.la $(SECP_LIBS) -bench_verify_LDFLAGS = -static -bench_sign_SOURCES = src/bench_sign.c -bench_sign_LDADD = libsecp256k1.la $(SECP_LIBS) -bench_sign_LDFLAGS = -static -bench_inv_SOURCES = src/bench_inv.c -bench_inv_LDADD = $(COMMON_LIB) $(SECP_LIBS) -bench_inv_LDFLAGS = -static -bench_inv_CPPFLAGS = $(SECP_INCLUDES) -endif - -if USE_TESTS -noinst_PROGRAMS += tests -tests_SOURCES = src/tests.c -tests_CPPFLAGS = -DVERIFY $(SECP_INCLUDES) $(SECP_TEST_INCLUDES) -tests_LDADD = $(COMMON_LIB) $(SECP_LIBS) $(SECP_TEST_LIBS) -tests_LDFLAGS = -static -TESTS = tests -endif - -EXTRA_DIST = autogen.sh nasm_lt.sh - -#x86_64 only -if USE_ASM -.asm.lo: - $(LIBTOOL) --mode=compile --tag YASM $(srcdir)/nasm_lt.sh $(YASM) -f $(YASM_BINFMT) $(YAFLAGS) -I$(srcdir) -I. $< -o $@ -endif diff --git a/src/secp256k1/README.md b/src/secp256k1/README.md deleted file mode 100644 index 1e49f4941..000000000 --- a/src/secp256k1/README.md +++ /dev/null @@ -1,55 +0,0 @@ -libsecp256k1 -============ - -[![Build Status](https://travis-ci.org/bitcoin/secp256k1.svg?branch=master)](https://travis-ci.org/bitcoin/secp256k1) - -Optimized C library for EC operations on curve secp256k1. - -This library is experimental, so use at your own risk. - -Features: -* Low-level field and group operations on secp256k1. -* ECDSA signing/verification and key generation. -* Adding/multiplying private/public keys. -* Serialization/parsing of private keys, public keys, signatures. -* Very efficient implementation. - -Implementation details ----------------------- - -* General - * Avoid dynamic memory usage almost everywhere. -* Field operations - * Optimized implementation of arithmetic modulo the curve's field size (2^256 - 0x1000003D1). - * Using 5 52-bit limbs (including hand-optimized assembly for x86_64, by Diederik Huys). - * Using 10 26-bit limbs. - * Using GMP. - * Field inverses and square roots using a sliding window over blocks of 1s (by Peter Dettman). -* Scalar operations - * Optimized implementation without data-dependent branches of arithmetic modulo the curve's order. - * Using 4 64-bit limbs (relying on __int128 support in the compiler). - * Using 8 32-bit limbs. -* Group operations - * Point addition formula specifically simplified for the curve equation (y^2 = x^3 + 7). - * Use addition between points in Jacobian and affine coordinates where possible. - * Use a unified addition/doubling formula where necessary to avoid data-dependent branches. -* Point multiplication for verification (a*P + b*G). - * Use wNAF notation for point multiplicands. - * Use a much larger window for multiples of G, using precomputed multiples. - * Use Shamir's trick to do the multiplication with the public key and the generator simultaneously. - * Optionally use secp256k1's efficiently-computable endomorphism to split the multiplicands into 4 half-sized ones first. -* Point multiplication for signing - * Use a precomputed table of multiples of powers of 16 multiplied with the generator, so general multiplication becomes a series of additions. - * Slice the precomputed table in memory per byte, so memory access to the table becomes uniform. - * No data-dependent branches - * The precomputed tables add and eventually subtract points for which no known scalar (private key) is known, preventing even an attacker with control over the private key used to control the data internally. - -Build steps ------------ - -libsecp256k1 is built using autotools: - - $ ./autogen.sh - $ ./configure - $ make - $ sudo make install # optional diff --git a/src/secp256k1/TODO b/src/secp256k1/TODO deleted file mode 100644 index a300e1c5e..000000000 --- a/src/secp256k1/TODO +++ /dev/null @@ -1,3 +0,0 @@ -* Unit tests for fieldelem/groupelem, including ones intended to - trigger fieldelem's boundary cases. -* Complete constant-time operations for signing/keygen diff --git a/src/secp256k1/autogen.sh b/src/secp256k1/autogen.sh deleted file mode 100755 index 65286b935..000000000 --- a/src/secp256k1/autogen.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -set -e -autoreconf -if --warnings=all diff --git a/src/secp256k1/build-aux/compile b/src/secp256k1/build-aux/compile new file mode 100755 index 000000000..a85b723c7 --- /dev/null +++ b/src/secp256k1/build-aux/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Written by Tom Tromey . +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +nl=' +' + +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent tools from complaining about whitespace usage. +IFS=" "" $nl" + +file_conv= + +# func_file_conv build_file lazy +# Convert a $build file to $host form and store it in $file +# Currently only supports Windows hosts. If the determined conversion +# type is listed in (the comma separated) LAZY, no conversion will +# take place. +func_file_conv () +{ + file=$1 + case $file in + / | /[!/]*) # absolute file, and not a UNC file + if test -z "$file_conv"; then + # lazily determine how to convert abs files + case `uname -s` in + MINGW*) + file_conv=mingw + ;; + CYGWIN*) + file_conv=cygwin + ;; + *) + file_conv=wine + ;; + esac + fi + case $file_conv/,$2, in + *,$file_conv,*) + ;; + mingw/*) + file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` + ;; + cygwin/*) + file=`cygpath -m "$file" || echo "$file"` + ;; + wine/*) + file=`winepath -w "$file" || echo "$file"` + ;; + esac + ;; + esac +} + +# func_cl_dashL linkdir +# Make cl look for libraries in LINKDIR +func_cl_dashL () +{ + func_file_conv "$1" + if test -z "$lib_path"; then + lib_path=$file + else + lib_path="$lib_path;$file" + fi + linker_opts="$linker_opts -LIBPATH:$file" +} + +# func_cl_dashl library +# Do a library search-path lookup for cl +func_cl_dashl () +{ + lib=$1 + found=no + save_IFS=$IFS + IFS=';' + for dir in $lib_path $LIB + do + IFS=$save_IFS + if $shared && test -f "$dir/$lib.dll.lib"; then + found=yes + lib=$dir/$lib.dll.lib + break + fi + if test -f "$dir/$lib.lib"; then + found=yes + lib=$dir/$lib.lib + break + fi + if test -f "$dir/lib$lib.a"; then + found=yes + lib=$dir/lib$lib.a + break + fi + done + IFS=$save_IFS + + if test "$found" != yes; then + lib=$lib.lib + fi +} + +# func_cl_wrapper cl arg... +# Adjust compile command to suit cl +func_cl_wrapper () +{ + # Assume a capable shell + lib_path= + shared=: + linker_opts= + for arg + do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + eat=1 + case $2 in + *.o | *.[oO][bB][jJ]) + func_file_conv "$2" + set x "$@" -Fo"$file" + shift + ;; + *) + func_file_conv "$2" + set x "$@" -Fe"$file" + shift + ;; + esac + ;; + -I) + eat=1 + func_file_conv "$2" mingw + set x "$@" -I"$file" + shift + ;; + -I*) + func_file_conv "${1#-I}" mingw + set x "$@" -I"$file" + shift + ;; + -l) + eat=1 + func_cl_dashl "$2" + set x "$@" "$lib" + shift + ;; + -l*) + func_cl_dashl "${1#-l}" + set x "$@" "$lib" + shift + ;; + -L) + eat=1 + func_cl_dashL "$2" + ;; + -L*) + func_cl_dashL "${1#-L}" + ;; + -static) + shared=false + ;; + -Wl,*) + arg=${1#-Wl,} + save_ifs="$IFS"; IFS=',' + for flag in $arg; do + IFS="$save_ifs" + linker_opts="$linker_opts $flag" + done + IFS="$save_ifs" + ;; + -Xlinker) + eat=1 + linker_opts="$linker_opts $2" + ;; + -*) + set x "$@" "$1" + shift + ;; + *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) + func_file_conv "$1" + set x "$@" -Tp"$file" + shift + ;; + *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) + func_file_conv "$1" mingw + set x "$@" "$file" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift + done + if test -n "$linker_opts"; then + linker_opts="-link$linker_opts" + fi + exec "$@" $linker_opts + exit 1 +} + +eat= + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: compile [--help] [--version] PROGRAM [ARGS] + +Wrapper for compilers which do not understand '-c -o'. +Remove '-o dest.o' from ARGS, run PROGRAM with the remaining +arguments, and rename the output as expected. + +If you are trying to build a whole package this is not the +right script to run: please start by reading the file 'INSTALL'. + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "compile $scriptversion" + exit $? + ;; + cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) + func_cl_wrapper "$@" # Doesn't return... + ;; +esac + +ofile= +cfile= + +for arg +do + if test -n "$eat"; then + eat= + else + case $1 in + -o) + # configure might choose to run compile as 'compile cc -o foo foo.c'. + # So we strip '-o arg' only if arg is an object. + eat=1 + case $2 in + *.o | *.obj) + ofile=$2 + ;; + *) + set x "$@" -o "$2" + shift + ;; + esac + ;; + *.c) + cfile=$1 + set x "$@" "$1" + shift + ;; + *) + set x "$@" "$1" + shift + ;; + esac + fi + shift +done + +if test -z "$ofile" || test -z "$cfile"; then + # If no '-o' option was seen then we might have been invoked from a + # pattern rule where we don't need one. That is ok -- this is a + # normal compilation that the losing compiler can handle. If no + # '.c' file was seen then we are probably linking. That is also + # ok. + exec "$@" +fi + +# Name of file we expect compiler to create. +cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` + +# Create the lock directory. +# Note: use '[/\\:.-]' here to ensure that we don't use the same name +# that we are using for the .o file. Also, base the name on the expected +# object file name, since that is what matters with a parallel build. +lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d +while true; do + if mkdir "$lockdir" >/dev/null 2>&1; then + break + fi + sleep 1 +done +# FIXME: race condition here if user kills between mkdir and trap. +trap "rmdir '$lockdir'; exit 1" 1 2 15 + +# Run the compile. +"$@" +ret=$? + +if test -f "$cofile"; then + test "$cofile" = "$ofile" || mv "$cofile" "$ofile" +elif test -f "${cofile}bj"; then + test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" +fi + +rmdir "$lockdir" +exit $ret + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/src/secp256k1/build-aux/config.guess b/src/secp256k1/build-aux/config.guess new file mode 100755 index 000000000..16592509d --- /dev/null +++ b/src/secp256k1/build-aux/config.guess @@ -0,0 +1,1441 @@ +#! /bin/sh +# Attempt to guess a canonical system name. +# Copyright 1992-2015 Free Software Foundation, Inc. + +timestamp='2015-08-20' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# +# Please send patches to . + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2015 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +trap 'exit 1' 1 2 15 + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +set_cc_for_build=' +trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; +trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; +: ${TMPDIR=/tmp} ; + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; +dummy=$tmp/dummy ; +tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; +case $CC_FOR_BUILD,$HOST_CC,$CC in + ,,) echo "int x;" > $dummy.c ; + for c in cc gcc c89 c99 ; do + if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then + CC_FOR_BUILD="$c"; break ; + fi ; + done ; + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found ; + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; +esac ; set_cc_for_build= ;' + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if (test -f /.attbin/uname) >/dev/null 2>&1 ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case "${UNAME_SYSTEM}" in +Linux|GNU|GNU/*) + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + LIBC=gnu + + eval $set_cc_for_build + cat <<-EOF > $dummy.c + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #else + LIBC=gnu + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + sysctl="sysctl -n hw.machine_arch" + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` + case "${UNAME_MACHINE_ARCH}" in + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=${UNAME_MACHINE_ARCH}-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently, or will in the future. + case "${UNAME_MACHINE_ARCH}" in + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) + eval $set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case "${UNAME_VERSION}" in + Debian*) + release='-gnu' + ;; + *) + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + echo "${machine}-${os}${release}${abi}" + exit ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} + exit ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} + exit ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit ;; + *:SolidBSD:*:*) + echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} + exit ;; + macppc:MirBSD:*:*) + echo powerpc-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; + alpha:OSF1:*:*) + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case "$ALPHA_CPU_TYPE" in + "EV4 (21064)") + UNAME_MACHINE="alpha" ;; + "EV4.5 (21064)") + UNAME_MACHINE="alpha" ;; + "LCA4 (21066/21068)") + UNAME_MACHINE="alpha" ;; + "EV5 (21164)") + UNAME_MACHINE="alphaev5" ;; + "EV5.6 (21164A)") + UNAME_MACHINE="alphaev56" ;; + "EV5.6 (21164PC)") + UNAME_MACHINE="alphapca56" ;; + "EV5.7 (21164PC)") + UNAME_MACHINE="alphapca57" ;; + "EV6 (21264)") + UNAME_MACHINE="alphaev6" ;; + "EV6.7 (21264A)") + UNAME_MACHINE="alphaev67" ;; + "EV6.8CB (21264C)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8AL (21264B)") + UNAME_MACHINE="alphaev68" ;; + "EV6.8CX (21264D)") + UNAME_MACHINE="alphaev68" ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE="alphaev69" ;; + "EV7 (21364)") + UNAME_MACHINE="alphaev7" ;; + "EV7.9 (21364A)") + UNAME_MACHINE="alphaev79" ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + exitcode=$? + trap '' 0 + exit $exitcode ;; + Alpha\ *:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # Should we change UNAME_MACHINE based on the output of uname instead + # of the specific Alpha model? + echo alpha-pc-interix + exit ;; + 21064:Windows_NT:50:3) + echo alpha-dec-winnt3.5 + exit ;; + Amiga*:UNIX_System_V:4.0:*) + echo m68k-unknown-sysv4 + exit ;; + *:[Aa]miga[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-amigaos + exit ;; + *:[Mm]orph[Oo][Ss]:*:*) + echo ${UNAME_MACHINE}-unknown-morphos + exit ;; + *:OS/390:*:*) + echo i370-ibm-openedition + exit ;; + *:z/VM:*:*) + echo s390-ibm-zvmoe + exit ;; + *:OS400:*:*) + echo powerpc-ibm-os400 + exit ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + echo arm-acorn-riscix${UNAME_RELEASE} + exit ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + echo arm-unknown-riscos + exit ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + echo hppa1.1-hitachi-hiuxmpp + exit ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + if test "`(/bin/universe) 2>/dev/null`" = att ; then + echo pyramid-pyramid-sysv3 + else + echo pyramid-pyramid-bsd + fi + exit ;; + NILE*:*:*:dcosx) + echo pyramid-pyramid-svr4 + exit ;; + DRS?6000:unix:4.0:6*) + echo sparc-icl-nx6 + exit ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) echo sparc-icl-nx7; exit ;; + esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4H:SunOS:5.*:*) + echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + sun4*:SunOS:*:*) + case "`/usr/bin/arch -k`" in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` + exit ;; + sun3*:SunOS:*:*) + echo m68k-sun-sunos${UNAME_RELEASE} + exit ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + case "`/bin/arch`" in + sun3) + echo m68k-sun-sunos${UNAME_RELEASE} + ;; + sun4) + echo sparc-sun-sunos${UNAME_RELEASE} + ;; + esac + exit ;; + aushp:SunOS:*:*) + echo sparc-auspex-sunos${UNAME_RELEASE} + exit ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + echo m68k-atari-mint${UNAME_RELEASE} + exit ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + echo m68k-milan-mint${UNAME_RELEASE} + exit ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + echo m68k-hades-mint${UNAME_RELEASE} + exit ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + echo m68k-unknown-mint${UNAME_RELEASE} + exit ;; + m68k:machten:*:*) + echo m68k-apple-machten${UNAME_RELEASE} + exit ;; + powerpc:machten:*:*) + echo powerpc-apple-machten${UNAME_RELEASE} + exit ;; + RISC*:Mach:*:*) + echo mips-dec-mach_bsd4.3 + exit ;; + RISC*:ULTRIX:*:*) + echo mips-dec-ultrix${UNAME_RELEASE} + exit ;; + VAX*:ULTRIX*:*:*) + echo vax-dec-ultrix${UNAME_RELEASE} + exit ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + echo clipper-intergraph-clix${UNAME_RELEASE} + exit ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && + dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`$dummy $dummyarg` && + { echo "$SYSTEM_NAME"; exit; } + echo mips-mips-riscos${UNAME_RELEASE} + exit ;; + Motorola:PowerMAX_OS:*:*) + echo powerpc-motorola-powermax + exit ;; + Motorola:*:4.3:PL8-*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + echo powerpc-harris-powermax + exit ;; + Night_Hawk:Power_UNIX:*:*) + echo powerpc-harris-powerunix + exit ;; + m88k:CX/UX:7*:*) + echo m88k-harris-cxux7 + exit ;; + m88k:*:4*:R4*) + echo m88k-motorola-sysv4 + exit ;; + m88k:*:3*:R3*) + echo m88k-motorola-sysv3 + exit ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] + then + if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ + [ ${TARGET_BINARY_INTERFACE}x = x ] + then + echo m88k-dg-dgux${UNAME_RELEASE} + else + echo m88k-dg-dguxbcs${UNAME_RELEASE} + fi + else + echo i586-dg-dgux${UNAME_RELEASE} + fi + exit ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + echo m88k-dolphin-sysv3 + exit ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + echo m88k-motorola-sysv3 + exit ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + echo m88k-tektronix-sysv3 + exit ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + echo m68k-tektronix-bsd + exit ;; + *:IRIX*:*:*) + echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` + exit ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id + exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + echo i386-ibm-aix + exit ;; + ia64:AIX:*:*) + if [ -x /usr/bin/oslevel ] ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} + exit ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` + then + echo "$SYSTEM_NAME" + else + echo rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + echo rs6000-ibm-aix3.2.4 + else + echo rs6000-ibm-aix3.2 + fi + exit ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} + fi + echo ${IBM_ARCH}-ibm-aix${IBM_REV} + exit ;; + *:AIX:*:*) + echo rs6000-ibm-aix + exit ;; + ibmrt:4.4BSD:*|romp-ibm:BSD:*) + echo romp-ibm-bsd4.4 + exit ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to + exit ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + echo rs6000-bull-bosx + exit ;; + DPX/2?00:B.O.S.:*:*) + echo m68k-bull-sysv3 + exit ;; + 9000/[34]??:4.3bsd:1.*:*) + echo m68k-hp-bsd + exit ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + echo m68k-hp-bsd4.4 + exit ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + case "${UNAME_MACHINE}" in + 9000/31? ) HP_ARCH=m68000 ;; + 9000/[34]?? ) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if [ -x /usr/bin/getconf ]; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case "${sc_cpu_version}" in + 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 + 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case "${sc_kernel_bits}" in + 32) HP_ARCH="hppa2.0n" ;; + 64) HP_ARCH="hppa2.0w" ;; + '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + esac ;; + esac + fi + if [ "${HP_ARCH}" = "" ]; then + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if [ ${HP_ARCH} = "hppa2.0w" ] + then + eval $set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH="hppa2.0w" + else + HP_ARCH="hppa64" + fi + fi + echo ${HP_ARCH}-hp-hpux${HPUX_REV} + exit ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` + echo ia64-hp-hpux${HPUX_REV} + exit ;; + 3050*:HI-UX:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + echo unknown-hitachi-hiuxwe2 + exit ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) + echo hppa1.1-hp-bsd + exit ;; + 9000/8??:4.3bsd:*:*) + echo hppa1.0-hp-bsd + exit ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + echo hppa1.0-hp-mpeix + exit ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) + echo hppa1.1-hp-osf + exit ;; + hp8??:OSF1:*:*) + echo hppa1.0-hp-osf + exit ;; + i*86:OSF1:*:*) + if [ -x /usr/sbin/sysversion ] ; then + echo ${UNAME_MACHINE}-unknown-osf1mk + else + echo ${UNAME_MACHINE}-unknown-osf1 + fi + exit ;; + parisc*:Lites*:*:*) + echo hppa1.1-hp-lites + exit ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + echo c1-convex-bsd + exit ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + echo c34-convex-bsd + exit ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + echo c38-convex-bsd + exit ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + echo c4-convex-bsd + exit ;; + CRAY*Y-MP:*:*:*) + echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*[A-Z]90:*:*:*) + echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*T3E:*:*:*) + echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*SV1:*:*:*) + echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + *:UNICOS/mp:*:*) + echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' + exit ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` + echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" + exit ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} + exit ;; + sparc*:BSD/OS:*:*) + echo sparc-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:BSD/OS:*:*) + echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} + exit ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in + amd64) + echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + *) + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + esac + exit ;; + i*:CYGWIN*:*) + echo ${UNAME_MACHINE}-pc-cygwin + exit ;; + *:MINGW64*:*) + echo ${UNAME_MACHINE}-pc-mingw64 + exit ;; + *:MINGW*:*) + echo ${UNAME_MACHINE}-pc-mingw32 + exit ;; + *:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; + i*:windows32*:*) + # uname -m includes "-pc" on this system. + echo ${UNAME_MACHINE}-mingw32 + exit ;; + i*:PW*:*) + echo ${UNAME_MACHINE}-pc-pw32 + exit ;; + *:Interix*:*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + authenticamd | genuineintel | EM64T) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; + [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) + echo i${UNAME_MACHINE}-pc-mks + exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; + i*:Windows_NT*:* | Pentium*:Windows_NT*:*) + # How do we know it's Interix rather than the generic POSIX subsystem? + # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we + # UNAME_MACHINE based on the output of uname instead of i386? + echo i586-pc-interix + exit ;; + i*:UWIN*:*) + echo ${UNAME_MACHINE}-pc-uwin + exit ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + echo x86_64-unknown-cygwin + exit ;; + p*:CYGWIN*:*) + echo powerpcle-unknown-cygwin + exit ;; + prep*:SunOS:5.*:*) + echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; + *:GNU:*:*) + # the GNU system + echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` + exit ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + exit ;; + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arc:Linux:*:* | arceb:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + arm*:Linux:*:*) + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi + else + echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf + fi + fi + exit ;; + avr32*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + cris:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + crisv32:Linux:*:*) + echo ${UNAME_MACHINE}-axis-linux-${LIBC} + exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + frv:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + ia64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + m68*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #undef CPU + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + CPU=${UNAME_MACHINE}el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + CPU=${UNAME_MACHINE} + #else + CPU= + #endif + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` + test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } + ;; + openrisc*:Linux:*:*) + echo or1k-unknown-linux-${LIBC} + exit ;; + or32:Linux:*:* | or1k*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-${LIBC} + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-${LIBC} + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; + PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; + *) echo hppa-unknown-linux-${LIBC} ;; + esac + exit ;; + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-${LIBC} + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-${LIBC} + exit ;; + ppc64le:Linux:*:*) + echo powerpc64le-unknown-linux-${LIBC} + exit ;; + ppcle:Linux:*:*) + echo powerpcle-unknown-linux-${LIBC} + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) + echo ${UNAME_MACHINE}-ibm-linux-${LIBC} + exit ;; + sh64*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sh*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + tile*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + vax:Linux:*:*) + echo ${UNAME_MACHINE}-dec-linux-${LIBC} + exit ;; + x86_64:Linux:*:*) + echo ${UNAME_MACHINE}-pc-linux-${LIBC} + exit ;; + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + echo i386-sequent-sysv4 + exit ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} + exit ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + echo ${UNAME_MACHINE}-pc-os2-emx + exit ;; + i*86:XTS-300:*:STOP) + echo ${UNAME_MACHINE}-unknown-stop + exit ;; + i*86:atheos:*:*) + echo ${UNAME_MACHINE}-unknown-atheos + exit ;; + i*86:syllable:*:*) + echo ${UNAME_MACHINE}-pc-syllable + exit ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + echo i386-unknown-lynxos${UNAME_RELEASE} + exit ;; + i*86:*DOS:*:*) + echo ${UNAME_MACHINE}-pc-msdosdjgpp + exit ;; + i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) + UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} + else + echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} + fi + exit ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + exit ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + echo ${UNAME_MACHINE}-pc-sco$UNAME_REL + else + echo ${UNAME_MACHINE}-pc-sysv32 + fi + exit ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp + exit ;; + Intel:Mach:3*:*) + echo i386-pc-mach3 + exit ;; + paragon:*:*:*) + echo i860-intel-osf1 + exit ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 + fi + exit ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + echo m68010-convergent-sysv + exit ;; + mc68k:UNIX:SYSTEM5:3.51m) + echo m68k-convergent-sysv + exit ;; + M680?0:D-NIX:5.3:*) + echo m68k-diab-dnix + exit ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + echo m68k-unknown-lynxos${UNAME_RELEASE} + exit ;; + mc68030:UNIX_System_V:4.*:*) + echo m68k-atari-sysv4 + exit ;; + TSUNAMI:LynxOS:2.*:*) + echo sparc-unknown-lynxos${UNAME_RELEASE} + exit ;; + rs6000:LynxOS:2.*:*) + echo rs6000-unknown-lynxos${UNAME_RELEASE} + exit ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + echo powerpc-unknown-lynxos${UNAME_RELEASE} + exit ;; + SM[BE]S:UNIX_SV:*:*) + echo mips-dde-sysv${UNAME_RELEASE} + exit ;; + RM*:ReliantUNIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + RM*:SINIX-*:*:*) + echo mips-sni-sysv4 + exit ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + echo ${UNAME_MACHINE}-sni-sysv4 + else + echo ns32k-sni-sysv + fi + exit ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + echo i586-unisys-sysv4 + exit ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + echo hppa1.1-stratus-sysv4 + exit ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + echo i860-stratus-sysv4 + exit ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + echo ${UNAME_MACHINE}-stratus-vos + exit ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + echo hppa1.1-stratus-vos + exit ;; + mc68*:A/UX:*:*) + echo m68k-apple-aux${UNAME_RELEASE} + exit ;; + news*:NEWS-OS:6*:*) + echo mips-sony-newsos6 + exit ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if [ -d /usr/nec ]; then + echo mips-nec-sysv${UNAME_RELEASE} + else + echo mips-unknown-sysv${UNAME_RELEASE} + fi + exit ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + echo powerpc-be-beos + exit ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + echo powerpc-apple-beos + exit ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + echo i586-pc-beos + exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; + x86_64:Haiku:*:*) + echo x86_64-unknown-haiku + exit ;; + SX-4:SUPER-UX:*:*) + echo sx4-nec-superux${UNAME_RELEASE} + exit ;; + SX-5:SUPER-UX:*:*) + echo sx5-nec-superux${UNAME_RELEASE} + exit ;; + SX-6:SUPER-UX:*:*) + echo sx6-nec-superux${UNAME_RELEASE} + exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; + Power*:Rhapsody:*:*) + echo powerpc-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Rhapsody:*:*) + echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} + exit ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown + eval $set_cc_for_build + if test "$UNAME_PROCESSOR" = unknown ; then + UNAME_PROCESSOR=powerpc + fi + if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # Avoid executing cc on OS X 10.9, as it ships with a stub + # that puts up a graphical alert prompting to install + # developer tools. Any system running Mac OS X 10.7 or + # later (Darwin 11 and later) is required to have a 64-bit + # processor. This is not true of the ARM version of Darwin + # that Apple uses in portable devices. + UNAME_PROCESSOR=x86_64 + fi + echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} + exit ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = "x86"; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} + exit ;; + *:QNX:*:4*) + echo i386-pc-qnx + exit ;; + NEO-?:NONSTOP_KERNEL:*:*) + echo neo-tandem-nsk${UNAME_RELEASE} + exit ;; + NSE-*:NONSTOP_KERNEL:*:*) + echo nse-tandem-nsk${UNAME_RELEASE} + exit ;; + NSR-?:NONSTOP_KERNEL:*:*) + echo nsr-tandem-nsk${UNAME_RELEASE} + exit ;; + *:NonStop-UX:*:*) + echo mips-compaq-nonstopux + exit ;; + BS2000:POSIX*:*:*) + echo bs2000-siemens-sysv + exit ;; + DS/*:UNIX_System_V:*:*) + echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} + exit ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "$cputype" = "386"; then + UNAME_MACHINE=i386 + else + UNAME_MACHINE="$cputype" + fi + echo ${UNAME_MACHINE}-unknown-plan9 + exit ;; + *:TOPS-10:*:*) + echo pdp10-unknown-tops10 + exit ;; + *:TENEX:*:*) + echo pdp10-unknown-tenex + exit ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + echo pdp10-dec-tops20 + exit ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + echo pdp10-xkl-tops20 + exit ;; + *:TOPS-20:*:*) + echo pdp10-unknown-tops20 + exit ;; + *:ITS:*:*) + echo pdp10-unknown-its + exit ;; + SEI:*:*:SEIUX) + echo mips-sei-seiux${UNAME_RELEASE} + exit ;; + *:DragonFly:*:*) + echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` + exit ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case "${UNAME_MACHINE}" in + A*) echo alpha-dec-vms ; exit ;; + I*) echo ia64-dec-vms ; exit ;; + V*) echo vax-dec-vms ; exit ;; + esac ;; + *:XENIX:*:SysV) + echo i386-pc-xenix + exit ;; + i*86:skyos:*:*) + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + exit ;; + i*86:rdos:*:*) + echo ${UNAME_MACHINE}-pc-rdos + exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; +esac + +cat >&2 < in order to provide the needed +information to handle your system. + +config.guess timestamp = $timestamp + +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = ${UNAME_MACHINE} +UNAME_RELEASE = ${UNAME_RELEASE} +UNAME_SYSTEM = ${UNAME_SYSTEM} +UNAME_VERSION = ${UNAME_VERSION} +EOF + +exit 1 + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/src/secp256k1/build-aux/config.sub b/src/secp256k1/build-aux/config.sub new file mode 100755 index 000000000..1acc966a3 --- /dev/null +++ b/src/secp256k1/build-aux/config.sub @@ -0,0 +1,1813 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2015 Free Software Foundation, Inc. + +timestamp='2015-08-20' + +# This file is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS + $0 [OPTION] ALIAS + +Canonicalize a configuration name. + +Operation modes: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2015 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo $1 + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). +# Here we must recognize all the valid KERNEL-OS combinations. +maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` +case $maybe_os in + nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ + linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | \ + storm-chaos* | os2-emx* | rtmk-nova*) + os=-$maybe_os + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` + ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; + *) + basic_machine=`echo $1 | sed 's/-[^-]*$//'` + if [ $basic_machine != $1 ] + then os=`echo $1 | sed 's/.*-/-/'` + else os=; fi + ;; +esac + +### Let's recognize common machines as not being operating systems so +### that things like config.sub decstation-3100 work. We also +### recognize some manufacturers as not being operating systems, so we +### can provide default operating systems below. +case $os in + -sun*os*) + # Prevent following clause from handling this invalid input. + ;; + -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ + -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ + -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ + -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ + -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ + -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ + -apple | -axis | -knuth | -cray | -microblaze*) + os= + basic_machine=$1 + ;; + -bluegene*) + os=-cnk + ;; + -sim | -cisco | -oki | -wec | -winbond) + os= + basic_machine=$1 + ;; + -scout) + ;; + -wrs) + os=-vxworks + basic_machine=$1 + ;; + -chorusos*) + os=-chorusos + basic_machine=$1 + ;; + -chorusrdb) + os=-chorusrdb + basic_machine=$1 + ;; + -hiux*) + os=-hiuxwe2 + ;; + -sco6) + os=-sco5v6 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5) + os=-sco3.2v5 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco4) + os=-sco3.2v4 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2.[4-9]*) + os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco3.2v[4-9]*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco5v6*) + # Don't forget version if it is 3.2v4 or newer. + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -sco*) + os=-sco3.2v2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -udk*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -isc) + os=-isc2.2 + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -clix*) + basic_machine=clipper-intergraph + ;; + -isc*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` + ;; + -lynx*178) + os=-lynxos178 + ;; + -lynx*5) + os=-lynxos5 + ;; + -lynx*) + os=-lynxos + ;; + -ptx*) + basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` + ;; + -windowsnt*) + os=`echo $os | sed -e 's/windowsnt/winnt/'` + ;; + -psos*) + os=-psos + ;; + -mint | -mint[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; +esac + +# Decode aliases for certain CPU-COMPANY combinations. +case $basic_machine in + # Recognize the basic CPU types without company name. + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ + | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ + | arc | arceb \ + | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ + | avr | avr32 \ + | ba \ + | be32 | be64 \ + | bfin \ + | c4x | c8051 | clipper \ + | d10v | d30v | dlx | dsp16xx \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ + | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ + | i370 | i860 | i960 | ia64 \ + | ip2k | iq2000 \ + | k1om \ + | le32 | le64 \ + | lm32 \ + | m32c | m32r | m32rle | m68000 | m68k | m88k \ + | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ + | mips | mipsbe | mipseb | mipsel | mipsle \ + | mips16 \ + | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ + | mips64vr | mips64vrel \ + | mips64vr4100 | mips64vr4100el \ + | mips64vr4300 | mips64vr4300el \ + | mips64vr5000 | mips64vr5000el \ + | mips64vr5900 | mips64vr5900el \ + | mipsisa32 | mipsisa32el \ + | mipsisa32r2 | mipsisa32r2el \ + | mipsisa32r6 | mipsisa32r6el \ + | mipsisa64 | mipsisa64el \ + | mipsisa64r2 | mipsisa64r2el \ + | mipsisa64r6 | mipsisa64r6el \ + | mipsisa64sb1 | mipsisa64sb1el \ + | mipsisa64sr71k | mipsisa64sr71kel \ + | mipsr5900 | mipsr5900el \ + | mipstx39 | mipstx39el \ + | mn10200 | mn10300 \ + | moxie \ + | mt \ + | msp430 \ + | nds32 | nds32le | nds32be \ + | nios | nios2 | nios2eb | nios2el \ + | ns16k | ns32k \ + | open8 | or1k | or1knd | or32 \ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pyramid \ + | riscv32 | riscv64 \ + | rl78 | rx \ + | score \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ + | spu \ + | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ + | ubicom32 \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | we32k \ + | x86 | xc16x | xstormy16 | xtensa \ + | z8k | z80) + basic_machine=$basic_machine-unknown + ;; + c54x) + basic_machine=tic54x-unknown + ;; + c55x) + basic_machine=tic55x-unknown + ;; + c6x) + basic_machine=tic6x-unknown + ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) + basic_machine=$basic_machine-unknown + os=-none + ;; + m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) + ;; + ms1) + basic_machine=mt-unknown + ;; + + strongarm | thumb | xscale) + basic_machine=arm-unknown + ;; + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; + xscaleeb) + basic_machine=armeb-unknown + ;; + + xscaleel) + basic_machine=armel-unknown + ;; + + # We use `pc' rather than `unknown' + # because (1) that's what they normally are, and + # (2) the word "unknown" tends to confuse beginning users. + i*86 | x86_64) + basic_machine=$basic_machine-pc + ;; + # Object if more than one company name word. + *-*-*) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ + | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ + | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ + | avr-* | avr32-* \ + | ba-* \ + | be32-* | be64-* \ + | bfin-* | bs2000-* \ + | c[123]* | c30-* | [cjt]90-* | c4x-* \ + | c8051-* | clipper-* | craynv-* | cydra-* \ + | d10v-* | d30v-* | dlx-* \ + | e2k-* | elxsi-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ + | h8300-* | h8500-* \ + | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ + | i*86-* | i860-* | i960-* | ia64-* \ + | ip2k-* | iq2000-* \ + | k1om-* \ + | le32-* | le64-* \ + | lm32-* \ + | m32c-* | m32r-* | m32rle-* \ + | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | microblaze-* | microblazeel-* \ + | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ + | mips16-* \ + | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ + | mips64vr-* | mips64vrel-* \ + | mips64vr4100-* | mips64vr4100el-* \ + | mips64vr4300-* | mips64vr4300el-* \ + | mips64vr5000-* | mips64vr5000el-* \ + | mips64vr5900-* | mips64vr5900el-* \ + | mipsisa32-* | mipsisa32el-* \ + | mipsisa32r2-* | mipsisa32r2el-* \ + | mipsisa32r6-* | mipsisa32r6el-* \ + | mipsisa64-* | mipsisa64el-* \ + | mipsisa64r2-* | mipsisa64r2el-* \ + | mipsisa64r6-* | mipsisa64r6el-* \ + | mipsisa64sb1-* | mipsisa64sb1el-* \ + | mipsisa64sr71k-* | mipsisa64sr71kel-* \ + | mipsr5900-* | mipsr5900el-* \ + | mipstx39-* | mipstx39el-* \ + | mmix-* \ + | mt-* \ + | msp430-* \ + | nds32-* | nds32le-* | nds32be-* \ + | nios-* | nios2-* | nios2eb-* | nios2el-* \ + | none-* | np1-* | ns16k-* | ns32k-* \ + | open8-* \ + | or1k*-* \ + | orion-* \ + | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pyramid-* \ + | riscv32-* | riscv64-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ + | sparclite-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ + | tahoe-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tile*-* \ + | tron-* \ + | ubicom32-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ + | visium-* \ + | we32k-* \ + | x86-* | x86_64-* | xc16x-* | xps100-* \ + | xstormy16-* | xtensa*-* \ + | ymp-* \ + | z8k-* | z80-*) + ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 386bsd) + basic_machine=i386-unknown + os=-bsd + ;; + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + basic_machine=m68000-att + ;; + 3b*) + basic_machine=we32k-att + ;; + a29khif) + basic_machine=a29k-amd + os=-udi + ;; + abacus) + basic_machine=abacus-unknown + ;; + adobe68k) + basic_machine=m68010-adobe + os=-scout + ;; + alliant | fx80) + basic_machine=fx80-alliant + ;; + altos | altos3068) + basic_machine=m68k-altos + ;; + am29k) + basic_machine=a29k-none + os=-bsd + ;; + amd64) + basic_machine=x86_64-pc + ;; + amd64-*) + basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + amdahl) + basic_machine=580-amdahl + os=-sysv + ;; + amiga | amiga-*) + basic_machine=m68k-unknown + ;; + amigaos | amigados) + basic_machine=m68k-unknown + os=-amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + os=-sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + os=-sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + os=-bsd + ;; + aros) + basic_machine=i386-pc + os=-aros + ;; + asmjs) + basic_machine=asmjs-unknown + ;; + aux) + basic_machine=m68k-apple + os=-aux + ;; + balance) + basic_machine=ns32k-sequent + os=-dynix + ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; + c54x-*) + basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c55x-*) + basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c6x-*) + basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + c90) + basic_machine=c90-cray + os=-unicos + ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; + convex-c1) + basic_machine=c1-convex + os=-bsd + ;; + convex-c2) + basic_machine=c2-convex + os=-bsd + ;; + convex-c32) + basic_machine=c32-convex + os=-bsd + ;; + convex-c34) + basic_machine=c34-convex + os=-bsd + ;; + convex-c38) + basic_machine=c38-convex + os=-bsd + ;; + cray | j90) + basic_machine=j90-cray + os=-unicos + ;; + craynv) + basic_machine=craynv-cray + os=-unicosmp + ;; + cr16 | cr16-*) + basic_machine=cr16-unknown + os=-elf + ;; + crds | unos) + basic_machine=m68k-crds + ;; + crisv32 | crisv32-* | etraxfs*) + basic_machine=crisv32-axis + ;; + cris | cris-* | etrax*) + basic_machine=cris-axis + ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; + da30 | da30-*) + basic_machine=m68k-da30 + ;; + decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) + basic_machine=mips-dec + ;; + decsystem10* | dec10*) + basic_machine=pdp10-dec + os=-tops10 + ;; + decsystem20* | dec20*) + basic_machine=pdp10-dec + os=-tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + basic_machine=m68k-motorola + ;; + delta88) + basic_machine=m88k-motorola + os=-sysv3 + ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; + djgpp) + basic_machine=i586-pc + os=-msdosdjgpp + ;; + dpx20 | dpx20-*) + basic_machine=rs6000-bull + os=-bosx + ;; + dpx2* | dpx2*-bull) + basic_machine=m68k-bull + os=-sysv3 + ;; + ebmon29k) + basic_machine=a29k-amd + os=-ebmon + ;; + elxsi) + basic_machine=elxsi-elxsi + os=-bsd + ;; + encore | umax | mmax) + basic_machine=ns32k-encore + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + os=-ose + ;; + fx2800) + basic_machine=i860-alliant + ;; + genix) + basic_machine=ns32k-ns + ;; + gmicro) + basic_machine=tron-gmicro + os=-sysv + ;; + go32) + basic_machine=i386-pc + os=-go32 + ;; + h3050r* | hiux*) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + h8300hms) + basic_machine=h8300-hitachi + os=-hms + ;; + h8300xray) + basic_machine=h8300-hitachi + os=-xray + ;; + h8500hms) + basic_machine=h8500-hitachi + os=-hms + ;; + harris) + basic_machine=m88k-harris + os=-sysv3 + ;; + hp300-*) + basic_machine=m68k-hp + ;; + hp300bsd) + basic_machine=m68k-hp + os=-bsd + ;; + hp300hpux) + basic_machine=m68k-hp + os=-hpux + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + basic_machine=m68000-hp + ;; + hp9k3[2-9][0-9]) + basic_machine=m68k-hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + basic_machine=hppa1.1-hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + basic_machine=hppa1.1-hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + basic_machine=hppa1.0-hp + ;; + hppa-next) + os=-nextstep3 + ;; + hppaosf) + basic_machine=hppa1.1-hp + os=-osf + ;; + hppro) + basic_machine=hppa1.1-hp + os=-proelf + ;; + i370-ibm* | ibm*) + basic_machine=i370-ibm + ;; + i*86v32) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv32 + ;; + i*86v4*) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv4 + ;; + i*86v) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-sysv + ;; + i*86sol2) + basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` + os=-solaris2 + ;; + i386mach) + basic_machine=i386-mach + os=-mach + ;; + i386-vsta | vsta) + basic_machine=i386-unknown + os=-vsta + ;; + iris | iris4d) + basic_machine=mips-sgi + case $os in + -irix*) + ;; + *) + os=-irix4 + ;; + esac + ;; + isi68 | isi) + basic_machine=m68k-isi + os=-sysv + ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + m88k-omron*) + basic_machine=m88k-omron + ;; + magnum | m3230) + basic_machine=mips-mips + os=-sysv + ;; + merlin) + basic_machine=ns32k-utek + os=-sysv + ;; + microblaze*) + basic_machine=microblaze-xilinx + ;; + mingw64) + basic_machine=x86_64-pc + os=-mingw64 + ;; + mingw32) + basic_machine=i686-pc + os=-mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; + miniframe) + basic_machine=m68000-convergent + ;; + *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) + basic_machine=m68k-atari + os=-mint + ;; + mips3*-*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` + ;; + mips3*) + basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown + ;; + monitor) + basic_machine=m68k-rom68k + os=-coff + ;; + morphos) + basic_machine=powerpc-unknown + os=-morphos + ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; + msdos) + basic_machine=i386-pc + os=-msdos + ;; + ms1-*) + basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` + ;; + msys) + basic_machine=i686-pc + os=-msys + ;; + mvs) + basic_machine=i370-ibm + os=-mvs + ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; + ncr3000) + basic_machine=i486-ncr + os=-sysv4 + ;; + netbsd386) + basic_machine=i386-unknown + os=-netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + os=-linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + os=-newsos + ;; + news1000) + basic_machine=m68030-sony + os=-newsos + ;; + news-3600 | risc-news) + basic_machine=mips-sony + os=-newsos + ;; + necv70) + basic_machine=v70-nec + os=-sysv + ;; + next | m*-next ) + basic_machine=m68k-next + case $os in + -nextstep* ) + ;; + -ns2*) + os=-nextstep2 + ;; + *) + os=-nextstep3 + ;; + esac + ;; + nh3000) + basic_machine=m68k-harris + os=-cxux + ;; + nh[45]000) + basic_machine=m88k-harris + os=-cxux + ;; + nindy960) + basic_machine=i960-intel + os=-nindy + ;; + mon960) + basic_machine=i960-intel + os=-mon960 + ;; + nonstopux) + basic_machine=mips-compaq + os=-nonstopux + ;; + np1) + basic_machine=np1-gould + ;; + neo-tandem) + basic_machine=neo-tandem + ;; + nse-tandem) + basic_machine=nse-tandem + ;; + nsr-tandem) + basic_machine=nsr-tandem + ;; + op50n-* | op60c-*) + basic_machine=hppa1.1-oki + os=-proelf + ;; + openrisc | openrisc-*) + basic_machine=or32-unknown + ;; + os400) + basic_machine=powerpc-ibm + os=-os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + os=-ose + ;; + os68k) + basic_machine=m68k-none + os=-os68k + ;; + pa-hitachi) + basic_machine=hppa1.1-hitachi + os=-hiuxwe2 + ;; + paragon) + basic_machine=i860-intel + os=-osf + ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + pbd) + basic_machine=sparc-tti + ;; + pbb) + basic_machine=m68k-tti + ;; + pc532 | pc532-*) + basic_machine=ns32k-pc532 + ;; + pc98) + basic_machine=i386-pc + ;; + pc98-*) + basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium | p5 | k5 | k6 | nexgen | viac3) + basic_machine=i586-pc + ;; + pentiumpro | p6 | 6x86 | athlon | athlon_*) + basic_machine=i686-pc + ;; + pentiumii | pentium2 | pentiumiii | pentium3) + basic_machine=i686-pc + ;; + pentium4) + basic_machine=i786-pc + ;; + pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) + basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumpro-* | p6-* | 6x86-* | athlon-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) + basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pentium4-*) + basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + pn) + basic_machine=pn-gould + ;; + power) basic_machine=power-ibm + ;; + ppc | ppcbe) basic_machine=powerpc-unknown + ;; + ppc-* | ppcbe-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppcle | powerpclittle | ppc-le | powerpc-little) + basic_machine=powerpcle-unknown + ;; + ppcle-* | powerpclittle-*) + basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64) basic_machine=powerpc64-unknown + ;; + ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ppc64le | powerpc64little | ppc64-le | powerpc64-little) + basic_machine=powerpc64le-unknown + ;; + ppc64le-* | powerpc64little-*) + basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + ps2) + basic_machine=i386-ibm + ;; + pw32) + basic_machine=i586-unknown + os=-pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + os=-rdos + ;; + rdos32) + basic_machine=i386-pc + os=-rdos + ;; + rom68k) + basic_machine=m68k-rom68k + os=-coff + ;; + rm[46]00) + basic_machine=mips-siemens + ;; + rtpc | rtpc-*) + basic_machine=romp-ibm + ;; + s390 | s390-*) + basic_machine=s390-ibm + ;; + s390x | s390x-*) + basic_machine=s390x-ibm + ;; + sa29200) + basic_machine=a29k-amd + os=-udi + ;; + sb1) + basic_machine=mipsisa64sb1-unknown + ;; + sb1el) + basic_machine=mipsisa64sb1el-unknown + ;; + sde) + basic_machine=mipsisa32-sde + os=-elf + ;; + sei) + basic_machine=mips-sei + os=-seiux + ;; + sequent) + basic_machine=i386-sequent + ;; + sh) + basic_machine=sh-hitachi + os=-hms + ;; + sh5el) + basic_machine=sh5le-unknown + ;; + sh64) + basic_machine=sh64-unknown + ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks + ;; + sps7) + basic_machine=m68k-bull + os=-sysv2 + ;; + spur) + basic_machine=spur-unknown + ;; + st2000) + basic_machine=m68k-tandem + ;; + stratus) + basic_machine=i860-stratus + os=-sysv4 + ;; + strongarm-* | thumb-*) + basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` + ;; + sun2) + basic_machine=m68000-sun + ;; + sun2os3) + basic_machine=m68000-sun + os=-sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + os=-sunos4 + ;; + sun3os3) + basic_machine=m68k-sun + os=-sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + os=-sunos4 + ;; + sun4os3) + basic_machine=sparc-sun + os=-sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + os=-sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + os=-solaris2 + ;; + sun3 | sun3-*) + basic_machine=m68k-sun + ;; + sun4) + basic_machine=sparc-sun + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + ;; + sv1) + basic_machine=sv1-cray + os=-unicos + ;; + symmetry) + basic_machine=i386-sequent + os=-dynix + ;; + t3e) + basic_machine=alphaev5-cray + os=-unicos + ;; + t90) + basic_machine=t90-cray + os=-unicos + ;; + tile*) + basic_machine=$basic_machine-unknown + os=-linux-gnu + ;; + tx39) + basic_machine=mipstx39-unknown + ;; + tx39el) + basic_machine=mipstx39el-unknown + ;; + toad1) + basic_machine=pdp10-xkl + os=-tops20 + ;; + tower | tower-32) + basic_machine=m68k-ncr + ;; + tpf) + basic_machine=s390x-ibm + os=-tpf + ;; + udi29k) + basic_machine=a29k-amd + os=-udi + ;; + ultra3) + basic_machine=a29k-nyu + os=-sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + os=-none + ;; + vaxv) + basic_machine=vax-dec + os=-sysv + ;; + vms) + basic_machine=vax-dec + os=-vms + ;; + vpp*|vx|vx-*) + basic_machine=f301-fujitsu + ;; + vxworks960) + basic_machine=i960-wrs + os=-vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + os=-vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + os=-vxworks + ;; + w65*) + basic_machine=w65-wdc + os=-none + ;; + w89k-*) + basic_machine=hppa1.1-winbond + os=-proelf + ;; + xbox) + basic_machine=i686-pc + os=-mingw32 + ;; + xps | xps100) + basic_machine=xps100-honeywell + ;; + xscale-* | xscalee[bl]-*) + basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` + ;; + ymp) + basic_machine=ymp-cray + os=-unicos + ;; + z8k-*-coff) + basic_machine=z8k-unknown + os=-sim + ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; + none) + basic_machine=none-none + os=-none + ;; + +# Here we handle the default manufacturer of certain CPU types. It is in +# some cases the only manufacturer, in others, it is the most popular. + w89k) + basic_machine=hppa1.1-winbond + ;; + op50n) + basic_machine=hppa1.1-oki + ;; + op60c) + basic_machine=hppa1.1-oki + ;; + romp) + basic_machine=romp-ibm + ;; + mmix) + basic_machine=mmix-knuth + ;; + rs6000) + basic_machine=rs6000-ibm + ;; + vax) + basic_machine=vax-dec + ;; + pdp10) + # there are many clones, so DEC is not a safe bet + basic_machine=pdp10-unknown + ;; + pdp11) + basic_machine=pdp11-dec + ;; + we32k) + basic_machine=we32k-att + ;; + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) + basic_machine=sparc-sun + ;; + cydra) + basic_machine=cydra-cydrome + ;; + orion) + basic_machine=orion-highlevel + ;; + orion105) + basic_machine=clipper-highlevel + ;; + mac | mpw | mac-mpw) + basic_machine=m68k-apple + ;; + pmac | pmac-mpw) + basic_machine=powerpc-apple + ;; + *-unknown) + # Make sure to match an already-canonicalized machine name. + ;; + *) + echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 + exit 1 + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $basic_machine in + *-digital*) + basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` + ;; + *-commodore*) + basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if [ x"$os" != x"" ] +then +case $os in + # First match some system type aliases + # that might get confused with valid system types. + # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; + -solaris1 | -solaris1.*) + os=`echo $os | sed -e 's|solaris1|sunos4|'` + ;; + -solaris) + os=-solaris2 + ;; + -svr4*) + os=-sysv4 + ;; + -unixware*) + os=-sysv4.2uw + ;; + -gnu/linux*) + os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` + ;; + # First accept the basic system types. + # The portable systems comes first. + # Each alternative MUST END IN A *, to match a version number. + # -sysv* is not here because it comes later, after sysvr4. + -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* | -plan9* \ + | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ + | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ + | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ + | -bitrig* | -openbsd* | -solidbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ + | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ + | -chorusos* | -chorusrdb* | -cegcc* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -linux-newlib* | -linux-musl* | -linux-uclibc* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ + | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ + | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ + | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ + | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ + | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ + | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + # Remember, each alternative MUST END IN *, to match a version number. + ;; + -qnx*) + case $basic_machine in + x86-* | i*86-*) + ;; + *) + os=-nto$os + ;; + esac + ;; + -nto-qnx*) + ;; + -nto*) + os=`echo $os | sed -e 's|nto|nto-qnx|'` + ;; + -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ + | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ + | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) + ;; + -mac*) + os=`echo $os | sed -e 's|mac|macos|'` + ;; + -linux-dietlibc) + os=-linux-dietlibc + ;; + -linux*) + os=`echo $os | sed -e 's|linux|linux-gnu|'` + ;; + -sunos5*) + os=`echo $os | sed -e 's|sunos5|solaris2|'` + ;; + -sunos6*) + os=`echo $os | sed -e 's|sunos6|solaris3|'` + ;; + -opened*) + os=-openedition + ;; + -os400*) + os=-os400 + ;; + -wince*) + os=-wince + ;; + -osfrose*) + os=-osfrose + ;; + -osf*) + os=-osf + ;; + -utek*) + os=-bsd + ;; + -dynix*) + os=-bsd + ;; + -acis*) + os=-aos + ;; + -atheos*) + os=-atheos + ;; + -syllable*) + os=-syllable + ;; + -386bsd) + os=-bsd + ;; + -ctix* | -uts*) + os=-sysv + ;; + -nova*) + os=-rtmk-nova + ;; + -ns2 ) + os=-nextstep2 + ;; + -nsk*) + os=-nsk + ;; + # Preserve the version number of sinix5. + -sinix5.*) + os=`echo $os | sed -e 's|sinix|sysv|'` + ;; + -sinix*) + os=-sysv4 + ;; + -tpf*) + os=-tpf + ;; + -triton*) + os=-sysv3 + ;; + -oss*) + os=-sysv3 + ;; + -svr4) + os=-sysv4 + ;; + -svr3) + os=-sysv3 + ;; + -sysvr4) + os=-sysv4 + ;; + # This must come after -sysvr4. + -sysv*) + ;; + -ose*) + os=-ose + ;; + -es1800*) + os=-ose + ;; + -xenix) + os=-xenix + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + os=-mint + ;; + -aros*) + os=-aros + ;; + -zvmoe) + os=-zvmoe + ;; + -dicos*) + os=-dicos + ;; + -nacl*) + ;; + -none) + ;; + *) + # Get rid of the `-' at the beginning of $os. + os=`echo $os | sed 's/[^-]*-//'` + echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 + exit 1 + ;; +esac +else + +# Here we handle the default operating systems that come with various machines. +# The value should be what the vendor currently ships out the door with their +# machine or put another way, the most popular os provided with the machine. + +# Note that if you're going to try to match "-MANUFACTURER" here (say, +# "-sun"), then you have to tell the case statement up towards the top +# that MANUFACTURER isn't an operating system. Otherwise, code above +# will signal an error saying that MANUFACTURER isn't an operating +# system, and we'll never get to this point. + +case $basic_machine in + score-*) + os=-elf + ;; + spu-*) + os=-elf + ;; + *-acorn) + os=-riscix1.2 + ;; + arm*-rebel) + os=-linux + ;; + arm*-semi) + os=-aout + ;; + c4x-* | tic4x-*) + os=-coff + ;; + c8051-*) + os=-elf + ;; + hexagon-*) + os=-elf + ;; + tic54x-*) + os=-coff + ;; + tic55x-*) + os=-coff + ;; + tic6x-*) + os=-coff + ;; + # This must come before the *-dec entry. + pdp10-*) + os=-tops20 + ;; + pdp11-*) + os=-none + ;; + *-dec | vax-*) + os=-ultrix4.2 + ;; + m68*-apollo) + os=-domain + ;; + i386-sun) + os=-sunos4.0.2 + ;; + m68000-sun) + os=-sunos3 + ;; + m68*-cisco) + os=-aout + ;; + mep-*) + os=-elf + ;; + mips*-cisco) + os=-elf + ;; + mips*-*) + os=-elf + ;; + or32-*) + os=-coff + ;; + *-tti) # must be before sparc entry or we get the wrong os. + os=-sysv3 + ;; + sparc-* | *-sun) + os=-sunos4.1.1 + ;; + *-be) + os=-beos + ;; + *-haiku) + os=-haiku + ;; + *-ibm) + os=-aix + ;; + *-knuth) + os=-mmixware + ;; + *-wec) + os=-proelf + ;; + *-winbond) + os=-proelf + ;; + *-oki) + os=-proelf + ;; + *-hp) + os=-hpux + ;; + *-hitachi) + os=-hiux + ;; + i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) + os=-sysv + ;; + *-cbm) + os=-amigaos + ;; + *-dg) + os=-dgux + ;; + *-dolphin) + os=-sysv3 + ;; + m68k-ccur) + os=-rtu + ;; + m88k-omron*) + os=-luna + ;; + *-next ) + os=-nextstep + ;; + *-sequent) + os=-ptx + ;; + *-crds) + os=-unos + ;; + *-ns) + os=-genix + ;; + i370-*) + os=-mvs + ;; + *-next) + os=-nextstep3 + ;; + *-gould) + os=-sysv + ;; + *-highlevel) + os=-bsd + ;; + *-encore) + os=-bsd + ;; + *-sgi) + os=-irix + ;; + *-siemens) + os=-sysv4 + ;; + *-masscomp) + os=-rtu + ;; + f30[01]-fujitsu | f700-fujitsu) + os=-uxpv + ;; + *-rom68k) + os=-coff + ;; + *-*bug) + os=-coff + ;; + *-apple) + os=-macos + ;; + *-atari*) + os=-mint + ;; + *) + os=-none + ;; +esac +fi + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +vendor=unknown +case $basic_machine in + *-unknown) + case $os in + -riscix*) + vendor=acorn + ;; + -sunos*) + vendor=sun + ;; + -cnk*|-aix*) + vendor=ibm + ;; + -beos*) + vendor=be + ;; + -hpux*) + vendor=hp + ;; + -mpeix*) + vendor=hp + ;; + -hiux*) + vendor=hitachi + ;; + -unos*) + vendor=crds + ;; + -dgux*) + vendor=dg + ;; + -luna*) + vendor=omron + ;; + -genix*) + vendor=ns + ;; + -mvs* | -opened*) + vendor=ibm + ;; + -os400*) + vendor=ibm + ;; + -ptx*) + vendor=sequent + ;; + -tpf*) + vendor=ibm + ;; + -vxsim* | -vxworks* | -windiss*) + vendor=wrs + ;; + -aux*) + vendor=apple + ;; + -hms*) + vendor=hitachi + ;; + -mpw* | -macos*) + vendor=apple + ;; + -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) + vendor=atari + ;; + -vos*) + vendor=stratus + ;; + esac + basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` + ;; +esac + +echo $basic_machine$os +exit + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/src/secp256k1/build-aux/depcomp b/src/secp256k1/build-aux/depcomp new file mode 100755 index 000000000..fc98710e2 --- /dev/null +++ b/src/secp256k1/build-aux/depcomp @@ -0,0 +1,791 @@ +#! /bin/sh +# depcomp - compile a program generating dependencies as side-effects + +scriptversion=2013-05-30.07; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# Originally written by Alexandre Oliva . + +case $1 in + '') + echo "$0: No command. Try '$0 --help' for more information." 1>&2 + exit 1; + ;; + -h | --h*) + cat <<\EOF +Usage: depcomp [--help] [--version] PROGRAM [ARGS] + +Run PROGRAMS ARGS to compile a file, generating dependencies +as side-effects. + +Environment variables: + depmode Dependency tracking mode. + source Source file read by 'PROGRAMS ARGS'. + object Object file output by 'PROGRAMS ARGS'. + DEPDIR directory where to store dependencies. + depfile Dependency file to output. + tmpdepfile Temporary file to use when outputting dependencies. + libtool Whether libtool is used (yes/no). + +Report bugs to . +EOF + exit $? + ;; + -v | --v*) + echo "depcomp $scriptversion" + exit $? + ;; +esac + +# Get the directory component of the given path, and save it in the +# global variables '$dir'. Note that this directory component will +# be either empty or ending with a '/' character. This is deliberate. +set_dir_from () +{ + case $1 in + */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; + *) dir=;; + esac +} + +# Get the suffix-stripped basename of the given path, and save it the +# global variable '$base'. +set_base_from () +{ + base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` +} + +# If no dependency file was actually created by the compiler invocation, +# we still have to create a dummy depfile, to avoid errors with the +# Makefile "include basename.Plo" scheme. +make_dummy_depfile () +{ + echo "#dummy" > "$depfile" +} + +# Factor out some common post-processing of the generated depfile. +# Requires the auxiliary global variable '$tmpdepfile' to be set. +aix_post_process_depfile () +{ + # If the compiler actually managed to produce a dependency file, + # post-process it. + if test -f "$tmpdepfile"; then + # Each line is of the form 'foo.o: dependency.h'. + # Do two passes, one to just change these to + # $object: dependency.h + # and one to simply output + # dependency.h: + # which is needed to avoid the deleted-header problem. + { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" + sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" + } > "$depfile" + rm -f "$tmpdepfile" + else + make_dummy_depfile + fi +} + +# A tabulation character. +tab=' ' +# A newline character. +nl=' +' +# Character ranges might be problematic outside the C locale. +# These definitions help. +upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ +lower=abcdefghijklmnopqrstuvwxyz +digits=0123456789 +alpha=${upper}${lower} + +if test -z "$depmode" || test -z "$source" || test -z "$object"; then + echo "depcomp: Variables source, object and depmode must be set" 1>&2 + exit 1 +fi + +# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. +depfile=${depfile-`echo "$object" | + sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} +tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} + +rm -f "$tmpdepfile" + +# Avoid interferences from the environment. +gccflag= dashmflag= + +# Some modes work just like other modes, but use different flags. We +# parameterize here, but still list the modes in the big case below, +# to make depend.m4 easier to write. Note that we *cannot* use a case +# here, because this file can only contain one case statement. +if test "$depmode" = hp; then + # HP compiler uses -M and no extra arg. + gccflag=-M + depmode=gcc +fi + +if test "$depmode" = dashXmstdout; then + # This is just like dashmstdout with a different argument. + dashmflag=-xM + depmode=dashmstdout +fi + +cygpath_u="cygpath -u -f -" +if test "$depmode" = msvcmsys; then + # This is just like msvisualcpp but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvisualcpp +fi + +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + +if test "$depmode" = xlc; then + # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. + gccflag=-qmakedep=gcc,-MF + depmode=gcc +fi + +case "$depmode" in +gcc3) +## gcc 3 implements dependency tracking that does exactly what +## we want. Yay! Note: for some reason libtool 1.4 doesn't like +## it if -MD -MP comes after the -MF stuff. Hmm. +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + mv "$tmpdepfile" "$depfile" + ;; + +gcc) +## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. +## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. +## (see the conditional assignment to $gccflag above). +## There are various ways to get dependency output from gcc. Here's +## why we pick this rather obscure method: +## - Don't want to use -MD because we'd like the dependencies to end +## up in a subdir. Having to rename by hand is ugly. +## (We might end up doing this anyway to support other compilers.) +## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like +## -MM, not -M (despite what the docs say). Also, it might not be +## supported by the other compilers which use the 'gcc' depmode. +## - Using -M directly means running the compiler twice (even worse +## than renaming). + if test -z "$gccflag"; then + gccflag=-MD, + fi + "$@" -Wp,"$gccflag$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The second -e expression handles DOS-style file names with drive + # letters. + sed -e 's/^[^:]*: / /' \ + -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" +## This next piece of magic avoids the "deleted header file" problem. +## The problem is that when a header file which appears in a .P file +## is deleted, the dependency causes make to die (because there is +## typically no way to rebuild the header). We avoid this by adding +## dummy dependencies for each header file. Too bad gcc doesn't do +## this for us directly. +## Some versions of gcc put a space before the ':'. On the theory +## that the space means something, we add a space to the output as +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. +## Some versions of the HPUX 10.20 sed can't process this invocation +## correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +sgi) + if test "$libtool" = yes; then + "$@" "-Wp,-MDupdate,$tmpdepfile" + else + "$@" -MDupdate "$tmpdepfile" + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + + if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files + echo "$object : \\" > "$depfile" + # Clip off the initial element (the dependent). Don't try to be + # clever and replace this with sed code, as IRIX sed won't handle + # lines with more than a fixed number of characters (4096 in + # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; + # the IRIX cc adds comments like '#:fec' to the end of the + # dependency line. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ + | tr "$nl" ' ' >> "$depfile" + echo >> "$depfile" + # The second pass generates a dummy entry for each header file. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ + >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" + ;; + +xlc) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +aix) + # The C for AIX Compiler uses -M and outputs the dependencies + # in a .u file. In older versions, this file always lives in the + # current directory. Also, the AIX compiler puts '$object:' at the + # start of each line; $object doesn't have directory information. + # Version 6 uses the directory in both cases. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u + "$@" -Wc,-M + else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u + "$@" -M + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + aix_post_process_depfile + ;; + +tcc) + # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 + # FIXME: That version still under development at the moment of writing. + # Make that this statement remains true also for stable, released + # versions. + # It will wrap lines (doesn't matter whether long or short) with a + # trailing '\', as in: + # + # foo.o : \ + # foo.c \ + # foo.h \ + # + # It will put a trailing '\' even on the last line, and will use leading + # spaces rather than leading tabs (at least since its commit 0394caf7 + # "Emit spaces for -MD"). + "$@" -MD -MF "$tmpdepfile" + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. + # We have to change lines of the first kind to '$object: \'. + sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" + # And for each line of the second kind, we have to emit a 'dep.h:' + # dummy dependency, to avoid the deleted-header problem. + sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" + rm -f "$tmpdepfile" + ;; + +## The order of this option in the case statement is important, since the +## shell code in configure will try each of these formats in the order +## listed in this file. A plain '-MD' option would be understood by many +## compilers, so we must ensure this comes after the gcc and icc options. +pgcc) + # Portland's C compiler understands '-MD'. + # Will always output deps to 'file.d' where file is the root name of the + # source file under compilation, even if file resides in a subdirectory. + # The object file name does not affect the name of the '.d' file. + # pgcc 10.2 will output + # foo.o: sub/foo.c sub/foo.h + # and will wrap long lines using '\' : + # foo.o: sub/foo.c ... \ + # sub/foo.h ... \ + # ... + set_dir_from "$object" + # Use the source, not the object, to determine the base name, since + # that's sadly what pgcc will do too. + set_base_from "$source" + tmpdepfile=$base.d + + # For projects that build the same source file twice into different object + # files, the pgcc approach of using the *source* file root name can cause + # problems in parallel builds. Use a locking strategy to avoid stomping on + # the same $tmpdepfile. + lockdir=$base.d-lock + trap " + echo '$0: caught signal, cleaning up...' >&2 + rmdir '$lockdir' + exit 1 + " 1 2 13 15 + numtries=100 + i=$numtries + while test $i -gt 0; do + # mkdir is a portable test-and-set. + if mkdir "$lockdir" 2>/dev/null; then + # This process acquired the lock. + "$@" -MD + stat=$? + # Release the lock. + rmdir "$lockdir" + break + else + # If the lock is being held by a different process, wait + # until the winning process is done or we timeout. + while test -d "$lockdir" && test $i -gt 0; do + sleep 1 + i=`expr $i - 1` + done + fi + i=`expr $i - 1` + done + trap - 1 2 13 15 + if test $i -le 0; then + echo "$0: failed to acquire lock after $numtries attempts" >&2 + echo "$0: check lockdir '$lockdir'" >&2 + exit 1 + fi + + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + # Each line is of the form `foo.o: dependent.h', + # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. + # Do two passes, one to just change these to + # `$object: dependent.h' and one to simply `dependent.h:'. + sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + set_dir_from "$object" + set_base_from "$object" + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" + # Add 'dependent.h:' lines. + sed -ne '2,${ + s/^ *// + s/ \\*$// + s/$/:/ + p + }' "$tmpdepfile" >> "$depfile" + else + make_dummy_depfile + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + +tru64) + # The Tru64 compiler uses -MD to generate dependencies as a side + # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. + # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put + # dependencies in 'foo.d' instead, so we check for that too. + # Subdirectories are respected. + set_dir_from "$object" + set_base_from "$object" + + if test "$libtool" = yes; then + # Libtool generates 2 separate objects for the 2 libraries. These + # two compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir$base.o.d # libtool 1.5 + tmpdepfile2=$dir.libs/$base.o.d # Likewise. + tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 + "$@" -Wc,-MD + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + "$@" -MD + fi + + stat=$? + if test $stat -ne 0; then + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done + # Same post-processing that is required for AIX mode. + aix_post_process_depfile + ;; + +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test $stat -ne 0; then + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/'"$tab"'\1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/'"$tab"'/ + G + p +}' >> "$depfile" + echo >> "$depfile" # make sure the fragment doesn't end with a backslash + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +#nosideeffect) + # This comment above is used by automake to tell side-effect + # dependency tracking mechanisms from slower ones. + +dashmstdout) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout, regardless of -o. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + test -z "$dashmflag" && dashmflag=-M + # Require at least two characters before searching for ':' + # in the target name. This is to cope with DOS-style filenames: + # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. + "$@" $dashmflag | + sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" + rm -f "$depfile" + cat < "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process this sed invocation + # correctly. Breaking it into two sed invocations is a workaround. + tr ' ' "$nl" < "$tmpdepfile" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +dashXmstdout) + # This case only exists to satisfy depend.m4. It is never actually + # run, as this mode is specially recognized in the preamble. + exit 1 + ;; + +makedepend) + "$@" || exit $? + # Remove any Libtool call + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + # X makedepend + shift + cleared=no eat=no + for arg + do + case $cleared in + no) + set ""; shift + cleared=yes ;; + esac + if test $eat = yes; then + eat=no + continue + fi + case "$arg" in + -D*|-I*) + set fnord "$@" "$arg"; shift ;; + # Strip any option that makedepend may not understand. Remove + # the object too, otherwise makedepend will parse it as a source file. + -arch) + eat=yes ;; + -*|$object) + ;; + *) + set fnord "$@" "$arg"; shift ;; + esac + done + obj_suffix=`echo "$object" | sed 's/^.*\././'` + touch "$tmpdepfile" + ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" + rm -f "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" + # Some versions of the HPUX 10.20 sed can't process the last invocation + # correctly. Breaking it into two sed invocations is a workaround. + sed '1,2d' "$tmpdepfile" \ + | tr ' ' "$nl" \ + | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" "$tmpdepfile".bak + ;; + +cpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + # Remove '-o $object'. + IFS=" " + for arg + do + case $arg in + -o) + shift + ;; + $object) + shift + ;; + *) + set fnord "$@" "$arg" + shift # fnord + shift # $arg + ;; + esac + done + + "$@" -E \ + | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + | sed '$ s: \\$::' > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + cat < "$tmpdepfile" >> "$depfile" + sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvisualcpp) + # Important note: in order to support this mode, a compiler *must* + # always write the preprocessed file to stdout. + "$@" || exit $? + + # Remove the call to Libtool. + if test "$libtool" = yes; then + while test "X$1" != 'X--mode=compile'; do + shift + done + shift + fi + + IFS=" " + for arg + do + case "$arg" in + -o) + shift + ;; + $object) + shift + ;; + "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") + set fnord "$@" + shift + shift + ;; + *) + set fnord "$@" "$arg" + shift + shift + ;; + esac + done + "$@" -E 2>/dev/null | + sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" + rm -f "$depfile" + echo "$object : \\" > "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" + echo "$tab" >> "$depfile" + sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvcmsys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + +none) + exec "$@" + ;; + +*) + echo "Unknown depmode $depmode" 1>&2 + exit 1 + ;; +esac + +exit 0 + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/src/secp256k1/build-aux/install-sh b/src/secp256k1/build-aux/install-sh new file mode 100755 index 000000000..59990a104 --- /dev/null +++ b/src/secp256k1/build-aux/install-sh @@ -0,0 +1,508 @@ +#!/bin/sh +# install - install a program, script, or datafile + +scriptversion=2014-09-12.12; # UTC + +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. +# +# Copyright (C) 1994 X Consortium +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to +# deal in the Software without restriction, including without limitation the +# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +# sell copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. +# +# Calling this script install-sh is preferred over install.sh, to prevent +# 'make' implicit rules from creating a file called install from it +# when there is no Makefile. +# +# This script is compatible with the BSD install script, but was written +# from scratch. + +tab=' ' +nl=' +' +IFS=" $tab$nl" + +# Set DOITPROG to "echo" to test this script. + +doit=${DOITPROG-} +doit_exec=${doit:-exec} + +# Put in absolute file names if you don't have them in your path; +# or use environment vars. + +chgrpprog=${CHGRPPROG-chgrp} +chmodprog=${CHMODPROG-chmod} +chownprog=${CHOWNPROG-chown} +cmpprog=${CMPPROG-cmp} +cpprog=${CPPROG-cp} +mkdirprog=${MKDIRPROG-mkdir} +mvprog=${MVPROG-mv} +rmprog=${RMPROG-rm} +stripprog=${STRIPPROG-strip} + +posix_mkdir= + +# Desired mode of installed file. +mode=0755 + +chgrpcmd= +chmodcmd=$chmodprog +chowncmd= +mvcmd=$mvprog +rmcmd="$rmprog -f" +stripcmd= + +src= +dst= +dir_arg= +dst_arg= + +copy_on_change=false +is_target_a_directory=possibly + +usage="\ +Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE + or: $0 [OPTION]... SRCFILES... DIRECTORY + or: $0 [OPTION]... -t DIRECTORY SRCFILES... + or: $0 [OPTION]... -d DIRECTORIES... + +In the 1st form, copy SRCFILE to DSTFILE. +In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. +In the 4th, create DIRECTORIES. + +Options: + --help display this help and exit. + --version display version info and exit. + + -c (ignored) + -C install only if different (preserve the last data modification time) + -d create directories instead of installing files. + -g GROUP $chgrpprog installed files to GROUP. + -m MODE $chmodprog installed files to MODE. + -o USER $chownprog installed files to USER. + -s $stripprog installed files. + -t DIRECTORY install into DIRECTORY. + -T report an error if DSTFILE is a directory. + +Environment variables override the default commands: + CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG + RMPROG STRIPPROG +" + +while test $# -ne 0; do + case $1 in + -c) ;; + + -C) copy_on_change=true;; + + -d) dir_arg=true;; + + -g) chgrpcmd="$chgrpprog $2" + shift;; + + --help) echo "$usage"; exit $?;; + + -m) mode=$2 + case $mode in + *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) + echo "$0: invalid mode: $mode" >&2 + exit 1;; + esac + shift;; + + -o) chowncmd="$chownprog $2" + shift;; + + -s) stripcmd=$stripprog;; + + -t) + is_target_a_directory=always + dst_arg=$2 + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + shift;; + + -T) is_target_a_directory=never;; + + --version) echo "$0 $scriptversion"; exit $?;; + + --) shift + break;; + + -*) echo "$0: invalid option: $1" >&2 + exit 1;; + + *) break;; + esac + shift +done + +# We allow the use of options -d and -T together, by making -d +# take the precedence; this is for compatibility with GNU install. + +if test -n "$dir_arg"; then + if test -n "$dst_arg"; then + echo "$0: target directory not allowed when installing a directory." >&2 + exit 1 + fi +fi + +if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then + # When -d is used, all remaining arguments are directories to create. + # When -t is used, the destination is already specified. + # Otherwise, the last argument is the destination. Remove it from $@. + for arg + do + if test -n "$dst_arg"; then + # $@ is not empty: it contains at least $arg. + set fnord "$@" "$dst_arg" + shift # fnord + fi + shift # arg + dst_arg=$arg + # Protect names problematic for 'test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac + done +fi + +if test $# -eq 0; then + if test -z "$dir_arg"; then + echo "$0: no input file specified." >&2 + exit 1 + fi + # It's OK to call 'install-sh -d' without argument. + # This can happen when creating conditional directories. + exit 0 +fi + +if test -z "$dir_arg"; then + if test $# -gt 1 || test "$is_target_a_directory" = always; then + if test ! -d "$dst_arg"; then + echo "$0: $dst_arg: Is not a directory." >&2 + exit 1 + fi + fi +fi + +if test -z "$dir_arg"; then + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 + + # Set umask so as not to create temps with too-generous modes. + # However, 'strip' requires both read and write access to temps. + case $mode in + # Optimize common cases. + *644) cp_umask=133;; + *755) cp_umask=22;; + + *[0-7]) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw='% 200' + fi + cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; + *) + if test -z "$stripcmd"; then + u_plus_rw= + else + u_plus_rw=,u+rw + fi + cp_umask=$mode$u_plus_rw;; + esac +fi + +for src +do + # Protect names problematic for 'test' and other utilities. + case $src in + -* | [=\(\)!]) src=./$src;; + esac + + if test -n "$dir_arg"; then + dst=$src + dstdir=$dst + test -d "$dstdir" + dstdir_status=$? + else + + # Waiting for this to be detected by the "$cpprog $src $dsttmp" command + # might cause directories to be created, which would be especially bad + # if $src (and thus $dsttmp) contains '*'. + if test ! -f "$src" && test ! -d "$src"; then + echo "$0: $src does not exist." >&2 + exit 1 + fi + + if test -z "$dst_arg"; then + echo "$0: no destination specified." >&2 + exit 1 + fi + dst=$dst_arg + + # If destination is a directory, append the input filename; won't work + # if double slashes aren't ignored. + if test -d "$dst"; then + if test "$is_target_a_directory" = never; then + echo "$0: $dst_arg: Is a directory" >&2 + exit 1 + fi + dstdir=$dst + dst=$dstdir/`basename "$src"` + dstdir_status=0 + else + dstdir=`dirname "$dst"` + test -d "$dstdir" + dstdir_status=$? + fi + fi + + obsolete_mkdir_used=false + + if test $dstdir_status != 0; then + case $posix_mkdir in + '') + # Create intermediate dirs using mode 755 as modified by the umask. + # This is like FreeBSD 'install' as of 1997-10-28. + umask=`umask` + case $stripcmd.$umask in + # Optimize common cases. + *[2367][2367]) mkdir_umask=$umask;; + .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; + + *[0-7]) + mkdir_umask=`expr $umask + 22 \ + - $umask % 100 % 40 + $umask % 20 \ + - $umask % 10 % 4 + $umask % 2 + `;; + *) mkdir_umask=$umask,go-w;; + esac + + # With -d, create the new directory with the user-specified mode. + # Otherwise, rely on $mkdir_umask. + if test -n "$dir_arg"; then + mkdir_mode=-m$mode + else + mkdir_mode= + fi + + posix_mkdir=false + case $umask in + *[123567][0-7][0-7]) + # POSIX mkdir -p sets u+wx bits regardless of umask, which + # is incompatible with FreeBSD 'install' when (umask & 300) != 0. + ;; + *) + # $RANDOM is not portable (e.g. dash); use it when possible to + # lower collision chance + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 + + # As "mkdir -p" follows symlinks and we work in /tmp possibly; so + # create the $tmpdir first (and fail if unsuccessful) to make sure + # that nobody tries to guess the $tmpdir name. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; + esac;; + esac + + if + $posix_mkdir && ( + umask $mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" + ) + then : + else + + # The umask is ridiculous, or mkdir does not conform to POSIX, + # or it failed possibly due to a race condition. Create the + # directory the slow way, step by step, checking for races as we go. + + case $dstdir in + /*) prefix='/';; + [-=\(\)!]*) prefix='./';; + *) prefix='';; + esac + + oIFS=$IFS + IFS=/ + set -f + set fnord $dstdir + shift + set +f + IFS=$oIFS + + prefixes= + + for d + do + test X"$d" = X && continue + + prefix=$prefix$d + if test -d "$prefix"; then + prefixes= + else + if $posix_mkdir; then + (umask=$mkdir_umask && + $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break + # Don't fail if two instances are running concurrently. + test -d "$prefix" || exit 1 + else + case $prefix in + *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; + *) qprefix=$prefix;; + esac + prefixes="$prefixes '$qprefix'" + fi + fi + prefix=$prefix/ + done + + if test -n "$prefixes"; then + # Don't fail if two instances are running concurrently. + (umask $mkdir_umask && + eval "\$doit_exec \$mkdirprog $prefixes") || + test -d "$dstdir" || exit 1 + obsolete_mkdir_used=true + fi + fi + fi + + if test -n "$dir_arg"; then + { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && + { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || + test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 + else + + # Make a couple of temp file names in the proper directory. + dsttmp=$dstdir/_inst.$$_ + rmtmp=$dstdir/_rm.$$_ + + # Trap to clean up those temp files at exit. + trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 + + # Copy the file name to the temp name. + (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + + # and set any options; do chmod last to preserve setuid bits. + # + # If any of these fail, we abort the whole thing. If we want to + # ignore errors from any of these, just make sure not to ignore + # errors from the above "$doit $cpprog $src $dsttmp" command. + # + { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && + { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && + { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && + { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && + + # If -C, don't bother to copy if it wouldn't change the file. + if $copy_on_change && + old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && + new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && + set -f && + set X $old && old=:$2:$4:$5:$6 && + set X $new && new=:$2:$4:$5:$6 && + set +f && + test "$old" = "$new" && + $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 + then + rm -f "$dsttmp" + else + # Rename the file to the real destination. + $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || + + # The rename failed, perhaps because mv can't rename something else + # to itself, or perhaps because mv is so ancient that it does not + # support -f. + { + # Now remove or move aside any old file at destination location. + # We try this two ways since rm can't unlink itself on some + # systems and the destination file might be busy for other + # reasons. In this case, the final cleanup might fail but the new + # file should still install successfully. + { + test ! -f "$dst" || + $doit $rmcmd -f "$dst" 2>/dev/null || + { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && + { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + } || + { echo "$0: cannot unlink or rename $dst" >&2 + (exit 1); exit 1 + } + } && + + # Now rename the file to the real destination. + $doit $mvcmd "$dsttmp" "$dst" + } + fi || exit 1 + + trap '' 0 + fi +done + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/src/secp256k1/build-aux/m4/libtool.m4 b/src/secp256k1/build-aux/m4/libtool.m4 new file mode 100644 index 000000000..10ab2844c --- /dev/null +++ b/src/secp256k1/build-aux/m4/libtool.m4 @@ -0,0 +1,8388 @@ +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +# +# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc. +# Written by Gordon Matzigkeit, 1996 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +m4_define([_LT_COPYING], [dnl +# Copyright (C) 2014 Free Software Foundation, Inc. +# This is free software; see the source for copying conditions. There is NO +# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +# GNU Libtool is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of of the License, or +# (at your option) any later version. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program or library that is built +# using GNU Libtool, you may include this file under the same +# distribution terms that you use for the rest of that program. +# +# GNU Libtool is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +]) + +# serial 58 LT_INIT + + +# LT_PREREQ(VERSION) +# ------------------ +# Complain and exit if this libtool version is less that VERSION. +m4_defun([LT_PREREQ], +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, + [m4_default([$3], + [m4_fatal([Libtool version $1 or higher is required], + 63)])], + [$2])]) + + +# _LT_CHECK_BUILDDIR +# ------------------ +# Complain if the absolute build directory name contains unusual characters +m4_defun([_LT_CHECK_BUILDDIR], +[case `pwd` in + *\ * | *\ *) + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +esac +]) + + +# LT_INIT([OPTIONS]) +# ------------------ +AC_DEFUN([LT_INIT], +[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK +AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl +AC_BEFORE([$0], [LT_LANG])dnl +AC_BEFORE([$0], [LT_OUTPUT])dnl +AC_BEFORE([$0], [LTDL_INIT])dnl +m4_require([_LT_CHECK_BUILDDIR])dnl + +dnl Autoconf doesn't catch unexpanded LT_ macros by default: +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +dnl unless we require an AC_DEFUNed macro: +AC_REQUIRE([LTOPTIONS_VERSION])dnl +AC_REQUIRE([LTSUGAR_VERSION])dnl +AC_REQUIRE([LTVERSION_VERSION])dnl +AC_REQUIRE([LTOBSOLETE_VERSION])dnl +m4_require([_LT_PROG_LTMAIN])dnl + +_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) + +dnl Parse OPTIONS +_LT_SET_OPTIONS([$0], [$1]) + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +_LT_SETUP + +# Only expand once: +m4_define([LT_INIT]) +])# LT_INIT + +# Old names: +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) + + +# _LT_PREPARE_CC_BASENAME +# ----------------------- +m4_defun([_LT_PREPARE_CC_BASENAME], [ +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in @S|@*""; do + case $cc_temp in + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} +])# _LT_PREPARE_CC_BASENAME + + +# _LT_CC_BASENAME(CC) +# ------------------- +# It would be clearer to call AC_REQUIREs from _LT_PREPARE_CC_BASENAME, +# but that macro is also expanded into generated libtool script, which +# arranges for $SED and $ECHO to be set by different means. +m4_defun([_LT_CC_BASENAME], +[m4_require([_LT_PREPARE_CC_BASENAME])dnl +AC_REQUIRE([_LT_DECL_SED])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl +func_cc_basename $1 +cc_basename=$func_cc_basename_result +]) + + +# _LT_FILEUTILS_DEFAULTS +# ---------------------- +# It is okay to use these file commands and assume they have been set +# sensibly after 'm4_require([_LT_FILEUTILS_DEFAULTS])'. +m4_defun([_LT_FILEUTILS_DEFAULTS], +[: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} +])# _LT_FILEUTILS_DEFAULTS + + +# _LT_SETUP +# --------- +m4_defun([_LT_SETUP], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl + +_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl +dnl +_LT_DECL([], [host_alias], [0], [The host system])dnl +_LT_DECL([], [host], [0])dnl +_LT_DECL([], [host_os], [0])dnl +dnl +_LT_DECL([], [build_alias], [0], [The build system])dnl +_LT_DECL([], [build], [0])dnl +_LT_DECL([], [build_os], [0])dnl +dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +dnl +AC_REQUIRE([AC_PROG_LN_S])dnl +test -z "$LN_S" && LN_S="ln -s" +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +dnl +AC_REQUIRE([LT_CMD_MAX_LEN])dnl +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl +m4_require([_LT_CMD_RELOAD])dnl +m4_require([_LT_CHECK_MAGIC_METHOD])dnl +m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl +m4_require([_LT_CMD_OLD_ARCHIVE])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_WITH_SYSROOT])dnl +m4_require([_LT_CMD_TRUNCATE])dnl + +_LT_CONFIG_LIBTOOL_INIT([ +# See if we are running on zsh, and set the options that allow our +# commands through without removal of \ escapes INIT. +if test -n "\${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi +]) +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +_LT_CHECK_OBJDIR + +m4_require([_LT_TAG_COMPILER])dnl + +case $host_os in +aix3*) + # AIX sometimes has problems with the GCC collect2 program. For some + # reason, if we set the COLLECT_NAMES environment variable, the problems + # vanish in a puff of smoke. + if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# Global variables: +ofile=libtool +can_build_shared=yes + +# All known linkers require a '.a' archive for static linking (except MSVC, +# which needs '.lib'). +libext=a + +with_gnu_ld=$lt_cv_prog_gnu_ld + +old_CC=$CC +old_CFLAGS=$CFLAGS + +# Set sane defaults for various variables +test -z "$CC" && CC=cc +test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +test -z "$LD" && LD=ld +test -z "$ac_objext" && ac_objext=o + +_LT_CC_BASENAME([$compiler]) + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + _LT_PATH_MAGIC + fi + ;; +esac + +# Use C for the default configuration in the libtool script +LT_SUPPORTED_TAG([CC]) +_LT_LANG_C_CONFIG +_LT_LANG_DEFAULT_CONFIG +_LT_CONFIG_COMMANDS +])# _LT_SETUP + + +# _LT_PREPARE_SED_QUOTE_VARS +# -------------------------- +# Define a few sed substitution that help us do robust quoting. +m4_defun([_LT_PREPARE_SED_QUOTE_VARS], +[# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\([["`\\]]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' +]) + +# _LT_PROG_LTMAIN +# --------------- +# Note that this code is called both from 'configure', and 'config.status' +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +# 'config.status' has no value for ac_aux_dir unless we are using Automake, +# so we pass a copy along to make sure it has a sensible value anyway. +m4_defun([_LT_PROG_LTMAIN], +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +ltmain=$ac_aux_dir/ltmain.sh +])# _LT_PROG_LTMAIN + + +## ------------------------------------- ## +## Accumulate code for creating libtool. ## +## ------------------------------------- ## + +# So that we can recreate a full libtool script including additional +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +# in macros and then make a single call at the end using the 'libtool' +# label. + + +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +# ---------------------------------------- +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL_INIT], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) + + +# _LT_CONFIG_LIBTOOL([COMMANDS]) +# ------------------------------ +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +m4_define([_LT_CONFIG_LIBTOOL], +[m4_ifval([$1], + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], + [$1 +])])]) + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) + + +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +# ----------------------------------------------------- +m4_defun([_LT_CONFIG_SAVE_COMMANDS], +[_LT_CONFIG_LIBTOOL([$1]) +_LT_CONFIG_LIBTOOL_INIT([$2]) +]) + + +# _LT_FORMAT_COMMENT([COMMENT]) +# ----------------------------- +# Add leading comment marks to the start of each line, and a trailing +# full-stop to the whole comment if one is not present already. +m4_define([_LT_FORMAT_COMMENT], +[m4_ifval([$1], [ +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +)]) + + + +## ------------------------ ## +## FIXME: Eliminate VARNAME ## +## ------------------------ ## + + +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +# ------------------------------------------------------------------- +# CONFIGNAME is the name given to the value in the libtool script. +# VARNAME is the (base) name used in the configure script. +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +# VARNAME. Any other value will be used directly. +m4_define([_LT_DECL], +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], + [m4_ifval([$1], [$1], [$2])]) + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) + m4_ifval([$4], + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) + lt_dict_add_subkey([lt_decl_dict], [$2], + [tagged?], [m4_ifval([$5], [yes], [no])])]) +]) + + +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +# -------------------------------------------------------- +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) + + +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_tag_varnames], +[_lt_decl_filter([tagged?], [yes], $@)]) + + +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +# --------------------------------------------------------- +m4_define([_lt_decl_filter], +[m4_case([$#], + [0], [m4_fatal([$0: too few arguments: $#])], + [1], [m4_fatal([$0: too few arguments: $#: $1])], + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], + [lt_dict_filter([lt_decl_dict], $@)])[]dnl +]) + + +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +# -------------------------------------------------- +m4_define([lt_decl_quote_varnames], +[_lt_decl_filter([value], [1], $@)]) + + +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_dquote_varnames], +[_lt_decl_filter([value], [2], $@)]) + + +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +# --------------------------------------------------- +m4_define([lt_decl_varnames_tagged], +[m4_assert([$# <= 2])dnl +_$0(m4_quote(m4_default([$1], [[, ]])), + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +m4_define([_lt_decl_varnames_tagged], +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) + + +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +# ------------------------------------------------ +m4_define([lt_decl_all_varnames], +[_$0(m4_quote(m4_default([$1], [[, ]])), + m4_if([$2], [], + m4_quote(lt_decl_varnames), + m4_quote(m4_shift($@))))[]dnl +]) +m4_define([_lt_decl_all_varnames], +[lt_join($@, lt_decl_varnames_tagged([$1], + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +]) + + +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +# ------------------------------------ +# Quote a variable value, and forward it to 'config.status' so that its +# declaration there will have the same value as in 'configure'. VARNAME +# must have a single quote delimited value for this to work. +m4_define([_LT_CONFIG_STATUS_DECLARE], +[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) + + +# _LT_CONFIG_STATUS_DECLARATIONS +# ------------------------------ +# We delimit libtool config variables with single quotes, so when +# we write them to config.status, we have to be sure to quote all +# embedded single quotes properly. In configure, this macro expands +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +# +# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAGS +# ---------------- +# Output comment and list of tags supported by the script +m4_defun([_LT_LIBTOOL_TAGS], +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +available_tags='_LT_TAGS'dnl +]) + + +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +# ----------------------------------- +# Extract the dictionary values for VARNAME (optionally with TAG) and +# expand to a commented shell variable setting: +# +# # Some comment about what VAR is for. +# visible_name=$lt_internal_name +m4_define([_LT_LIBTOOL_DECLARE], +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], + [description])))[]dnl +m4_pushdef([_libtool_name], + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), + [0], [_libtool_name=[$]$1], + [1], [_libtool_name=$lt_[]$1], + [2], [_libtool_name=$lt_[]$1], + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +]) + + +# _LT_LIBTOOL_CONFIG_VARS +# ----------------------- +# Produce commented declarations of non-tagged libtool config variables +# suitable for insertion in the LIBTOOL CONFIG section of the 'libtool' +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +# section) are produced by _LT_LIBTOOL_TAG_VARS. +m4_defun([_LT_LIBTOOL_CONFIG_VARS], +[m4_foreach([_lt_var], + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) + + +# _LT_LIBTOOL_TAG_VARS(TAG) +# ------------------------- +m4_define([_LT_LIBTOOL_TAG_VARS], +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) + + +# _LT_TAGVAR(VARNAME, [TAGNAME]) +# ------------------------------ +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) + + +# _LT_CONFIG_COMMANDS +# ------------------- +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +# variables for single and double quote escaping we saved from calls +# to _LT_DECL, we can put quote escaped variables declarations +# into 'config.status', and then the shell code to quote escape them in +# for loops in 'config.status'. Finally, any additional code accumulated +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +m4_defun([_LT_CONFIG_COMMANDS], +[AC_PROVIDE_IFELSE([LT_OUTPUT], + dnl If the libtool generation code has been placed in $CONFIG_LT, + dnl instead of duplicating it all over again into config.status, + dnl then we will have config.status run $CONFIG_LT later, so it + dnl needs to know what name is stored there: + [AC_CONFIG_COMMANDS([libtool], + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], + dnl If the libtool generation code is destined for config.status, + dnl expand the accumulated commands and init code now: + [AC_CONFIG_COMMANDS([libtool], + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +])#_LT_CONFIG_COMMANDS + + +# Initialize. +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +[ + +# The HP-UX ksh and POSIX shell print the target directory to stdout +# if CDPATH is set. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +sed_quote_subst='$sed_quote_subst' +double_quote_subst='$double_quote_subst' +delay_variable_subst='$delay_variable_subst' +_LT_CONFIG_STATUS_DECLARATIONS +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$[]1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_quote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +# Double-quote double-evaled strings. +for var in lt_decl_all_varnames([[ \ +]], lt_decl_dquote_varnames); do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[[\\\\\\\`\\"\\\$]]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +_LT_OUTPUT_LIBTOOL_INIT +]) + +# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) +# ------------------------------------ +# Generate a child script FILE with all initialization necessary to +# reuse the environment learned by the parent script, and make the +# file executable. If COMMENT is supplied, it is inserted after the +# '#!' sequence but before initialization text begins. After this +# macro, additional text can be appended to FILE to form the body of +# the child script. The macro ends with non-zero status if the +# file could not be fully written (such as if the disk is full). +m4_ifdef([AS_INIT_GENERATED], +[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], +[m4_defun([_LT_GENERATED_FILE_INIT], +[m4_require([AS_PREPARE])]dnl +[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl +[lt_write_fail=0 +cat >$1 <<_ASEOF || lt_write_fail=1 +#! $SHELL +# Generated by $as_me. +$2 +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$1 <<\_ASEOF || lt_write_fail=1 +AS_SHELL_SANITIZE +_AS_PREPARE +exec AS_MESSAGE_FD>&1 +_ASEOF +test 0 = "$lt_write_fail" && chmod +x $1[]dnl +m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT + +# LT_OUTPUT +# --------- +# This macro allows early generation of the libtool script (before +# AC_OUTPUT is called), incase it is used in configure for compilation +# tests. +AC_DEFUN([LT_OUTPUT], +[: ${CONFIG_LT=./config.lt} +AC_MSG_NOTICE([creating $CONFIG_LT]) +_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], +[# Run this file to recreate a libtool stub with the current configuration.]) + +cat >>"$CONFIG_LT" <<\_LTEOF +lt_cl_silent=false +exec AS_MESSAGE_LOG_FD>>config.log +{ + echo + AS_BOX([Running $as_me.]) +} >&AS_MESSAGE_LOG_FD + +lt_cl_help="\ +'$as_me' creates a local libtool stub from the current configuration, +for use in further configure time tests before the real libtool is +generated. + +Usage: $[0] [[OPTIONS]] + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + +Report bugs to ." + +lt_cl_version="\ +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +configured by $[0], generated by m4_PACKAGE_STRING. + +Copyright (C) 2011 Free Software Foundation, Inc. +This config.lt script is free software; the Free Software Foundation +gives unlimited permision to copy, distribute and modify it." + +while test 0 != $[#] +do + case $[1] in + --version | --v* | -V ) + echo "$lt_cl_version"; exit 0 ;; + --help | --h* | -h ) + echo "$lt_cl_help"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --quiet | --q* | --silent | --s* | -q ) + lt_cl_silent=: ;; + + -*) AC_MSG_ERROR([unrecognized option: $[1] +Try '$[0] --help' for more information.]) ;; + + *) AC_MSG_ERROR([unrecognized argument: $[1] +Try '$[0] --help' for more information.]) ;; + esac + shift +done + +if $lt_cl_silent; then + exec AS_MESSAGE_FD>/dev/null +fi +_LTEOF + +cat >>"$CONFIG_LT" <<_LTEOF +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +_LTEOF + +cat >>"$CONFIG_LT" <<\_LTEOF +AC_MSG_NOTICE([creating $ofile]) +_LT_OUTPUT_LIBTOOL_COMMANDS +AS_EXIT(0) +_LTEOF +chmod +x "$CONFIG_LT" + +# configure is writing to config.log, but config.lt does its own redirection, +# appending to config.log, which fails on DOS, as config.log is still kept +# open by configure. Here we exec the FD to /dev/null, effectively closing +# config.log, so it can be properly (re)opened and appended to by config.lt. +lt_cl_success=: +test yes = "$silent" && + lt_config_lt_args="$lt_config_lt_args --quiet" +exec AS_MESSAGE_LOG_FD>/dev/null +$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +exec AS_MESSAGE_LOG_FD>>config.log +$lt_cl_success || AS_EXIT(1) +])# LT_OUTPUT + + +# _LT_CONFIG(TAG) +# --------------- +# If TAG is the built-in tag, create an initial libtool script with a +# default configuration from the untagged config vars. Otherwise add code +# to config.status for appending the configuration named by TAG from the +# matching tagged config vars. +m4_defun([_LT_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_CONFIG_SAVE_COMMANDS([ + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl + m4_if(_LT_TAG, [C], [ + # See if we are running on zsh, and set the options that allow our + # commands through without removal of \ escapes. + if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST + fi + + cfgfile=${ofile}T + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 + $RM "$cfgfile" + + cat <<_LT_EOF >> "$cfgfile" +#! $SHELL +# Generated automatically by $as_me ($PACKAGE) $VERSION +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +# NOTE: Changes made to this file will be lost: look at ltmain.sh. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +_LT_COPYING +_LT_LIBTOOL_TAGS + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### BEGIN LIBTOOL CONFIG +_LT_LIBTOOL_CONFIG_VARS +_LT_LIBTOOL_TAG_VARS +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +_LT_PREPARE_MUNGE_PATH_LIST +_LT_PREPARE_CC_BASENAME + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_LT_EOF + + case $host_os in + aix3*) + cat <<\_LT_EOF >> "$cfgfile" +# AIX sometimes has problems with the GCC collect2 program. For some +# reason, if we set the COLLECT_NAMES environment variable, the problems +# vanish in a puff of smoke. +if test set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES +fi +_LT_EOF + ;; + esac + + _LT_PROG_LTMAIN + + # We use sed instead of cat because bash on DJGPP gets confused if + # if finds mixed CR/LF and LF-only lines. Since sed operates in + # text mode, it properly converts lines to CR/LF. This bash problem + # is reportedly fixed, but why not run on old versions too? + sed '$q' "$ltmain" >> "$cfgfile" \ + || (rm -f "$cfgfile"; exit 1) + + mv -f "$cfgfile" "$ofile" || + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") + chmod +x "$ofile" +], +[cat <<_LT_EOF >> "$ofile" + +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +dnl in a comment (ie after a #). +# ### BEGIN LIBTOOL TAG CONFIG: $1 +_LT_LIBTOOL_TAG_VARS(_LT_TAG) +# ### END LIBTOOL TAG CONFIG: $1 +_LT_EOF +])dnl /m4_if +], +[m4_if([$1], [], [ + PACKAGE='$PACKAGE' + VERSION='$VERSION' + RM='$RM' + ofile='$ofile'], []) +])dnl /_LT_CONFIG_SAVE_COMMANDS +])# _LT_CONFIG + + +# LT_SUPPORTED_TAG(TAG) +# --------------------- +# Trace this macro to discover what tags are supported by the libtool +# --tag option, using: +# autoconf --trace 'LT_SUPPORTED_TAG:$1' +AC_DEFUN([LT_SUPPORTED_TAG], []) + + +# C support is built-in for now +m4_define([_LT_LANG_C_enabled], []) +m4_define([_LT_TAGS], []) + + +# LT_LANG(LANG) +# ------------- +# Enable libtool support for the given language if not already enabled. +AC_DEFUN([LT_LANG], +[AC_BEFORE([$0], [LT_OUTPUT])dnl +m4_case([$1], + [C], [_LT_LANG(C)], + [C++], [_LT_LANG(CXX)], + [Go], [_LT_LANG(GO)], + [Java], [_LT_LANG(GCJ)], + [Fortran 77], [_LT_LANG(F77)], + [Fortran], [_LT_LANG(FC)], + [Windows Resource], [_LT_LANG(RC)], + [m4_ifdef([_LT_LANG_]$1[_CONFIG], + [_LT_LANG($1)], + [m4_fatal([$0: unsupported language: "$1"])])])dnl +])# LT_LANG + + +# _LT_LANG(LANGNAME) +# ------------------ +m4_defun([_LT_LANG], +[m4_ifdef([_LT_LANG_]$1[_enabled], [], + [LT_SUPPORTED_TAG([$1])dnl + m4_append([_LT_TAGS], [$1 ])dnl + m4_define([_LT_LANG_]$1[_enabled], [])dnl + _LT_LANG_$1_CONFIG($1)])dnl +])# _LT_LANG + + +m4_ifndef([AC_PROG_GO], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_GO. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ +m4_defun([AC_PROG_GO], +[AC_LANG_PUSH(Go)dnl +AC_ARG_VAR([GOC], [Go compiler command])dnl +AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl +_AC_ARG_VAR_LDFLAGS()dnl +AC_CHECK_TOOL(GOC, gccgo) +if test -z "$GOC"; then + if test -n "$ac_tool_prefix"; then + AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) + fi +fi +if test -z "$GOC"; then + AC_CHECK_PROG(GOC, gccgo, gccgo, false) +fi +])#m4_defun +])#m4_ifndef + + +# _LT_LANG_DEFAULT_CONFIG +# ----------------------- +m4_defun([_LT_LANG_DEFAULT_CONFIG], +[AC_PROVIDE_IFELSE([AC_PROG_CXX], + [LT_LANG(CXX)], + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) + +AC_PROVIDE_IFELSE([AC_PROG_F77], + [LT_LANG(F77)], + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) + +AC_PROVIDE_IFELSE([AC_PROG_FC], + [LT_LANG(FC)], + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) + +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +dnl pulling things in needlessly. +AC_PROVIDE_IFELSE([AC_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], + [LT_LANG(GCJ)], + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], + [LT_LANG(GCJ)], + [m4_ifdef([AC_PROG_GCJ], + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([A][M_PROG_GCJ], + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) + m4_ifdef([LT_PROG_GCJ], + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) + +AC_PROVIDE_IFELSE([AC_PROG_GO], + [LT_LANG(GO)], + [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) + +AC_PROVIDE_IFELSE([LT_PROG_RC], + [LT_LANG(RC)], + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +])# _LT_LANG_DEFAULT_CONFIG + +# Obsolete macros: +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +dnl AC_DEFUN([AC_LIBTOOL_F77], []) +dnl AC_DEFUN([AC_LIBTOOL_FC], []) +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +dnl AC_DEFUN([AC_LIBTOOL_RC], []) + + +# _LT_TAG_COMPILER +# ---------------- +m4_defun([_LT_TAG_COMPILER], +[AC_REQUIRE([AC_PROG_CC])dnl + +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC +])# _LT_TAG_COMPILER + + +# _LT_COMPILER_BOILERPLATE +# ------------------------ +# Check for compiler boilerplate output or warnings with +# the simple compiler test code. +m4_defun([_LT_COMPILER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* +])# _LT_COMPILER_BOILERPLATE + + +# _LT_LINKER_BOILERPLATE +# ---------------------- +# Check for linker boilerplate output or warnings with +# the simple link test code. +m4_defun([_LT_LINKER_BOILERPLATE], +[m4_require([_LT_DECL_SED])dnl +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* +])# _LT_LINKER_BOILERPLATE + +# _LT_REQUIRED_DARWIN_CHECKS +# ------------------------- +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ + case $host_os in + rhapsody* | darwin*) + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) + AC_CHECK_TOOL([LIPO], [lipo], [:]) + AC_CHECK_TOOL([OTOOL], [otool], [:]) + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) + _LT_DECL([], [DSYMUTIL], [1], + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) + _LT_DECL([], [NMEDIT], [1], + [Tool to change global to local symbols on Mac OS X]) + _LT_DECL([], [LIPO], [1], + [Tool to manipulate fat objects and archives on Mac OS X]) + _LT_DECL([], [OTOOL], [1], + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) + _LT_DECL([], [OTOOL64], [1], + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) + + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], + [lt_cv_apple_cc_single_mod=no + if test -z "$LT_MULTI_MODULE"; then + # By default we will add the -single_module flag. You can override + # by either setting the environment variable LT_MULTI_MODULE + # non-empty at configure time, or by adding -multi_module to the + # link flags. + rm -rf libconftest.dylib* + echo "int foo(void){return 1;}" > conftest.c + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err + _lt_result=$? + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi]) + + AC_CACHE_CHECK([for -exported_symbols_list linker flag], + [lt_cv_ld_exported_symbols_list], + [lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [lt_cv_ld_exported_symbols_list=yes], + [lt_cv_ld_exported_symbols_list=no]) + LDFLAGS=$save_LDFLAGS + ]) + + AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], + [lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD + echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD + $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&AS_MESSAGE_LOG_FD + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&AS_MESSAGE_LOG_FD + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + ]) + case $host_os in + rhapsody* | darwin1.[[012]]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[[012]][[,.]]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac +]) + + +# _LT_DARWIN_LINKER_FEATURES([TAG]) +# --------------------------------- +# Checks for linker and compiler features on darwin +m4_defun([_LT_DARWIN_LINKER_FEATURES], +[ + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_automatic, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + if test yes = "$lt_cv_ld_force_load"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], + [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='' + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + m4_if([$1], [CXX], +[ if test yes != "$lt_cv_apple_cc_single_mod"; then + _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil" + _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil" + fi +],[]) + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi +]) + +# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) +# ---------------------------------- +# Links a minimal program and checks the executable +# for the system default hardcoded library path. In most cases, +# this is /usr/lib:/lib, but when the MPI compilers are used +# the location of the communication and MPI libs are included too. +# If we don't find anything, use the default library path according +# to the aix ld manual. +# Store the results from the different compilers for each TAGNAME. +# Allow to override them for all tags through lt_cv_aix_libpath. +m4_defun([_LT_SYS_MODULE_PATH_AIX], +[m4_require([_LT_DECL_SED])dnl +if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], + [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ + lt_aix_libpath_sed='[ + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }]' + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + # Check for a 64-bit object if we didn't find anything. + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi],[]) + if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then + _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=/usr/lib:/lib + fi + ]) + aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) +fi +])# _LT_SYS_MODULE_PATH_AIX + + +# _LT_SHELL_INIT(ARG) +# ------------------- +m4_define([_LT_SHELL_INIT], +[m4_divert_text([M4SH-INIT], [$1 +])])# _LT_SHELL_INIT + + + +# _LT_PROG_ECHO_BACKSLASH +# ----------------------- +# Find how we can fake an echo command that does not interpret backslash. +# In particular, with Autoconf 2.60 or later we add some code to the start +# of the generated configure script that will find a shell with a builtin +# printf (that we can use as an echo command). +m4_defun([_LT_PROG_ECHO_BACKSLASH], +[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +AC_MSG_CHECKING([how to print strings]) +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' +else + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$[]1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' +fi + +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "$*" +} + +case $ECHO in + printf*) AC_MSG_RESULT([printf]) ;; + print*) AC_MSG_RESULT([print -r]) ;; + *) AC_MSG_RESULT([cat]) ;; +esac + +m4_ifdef([_AS_DETECT_SUGGESTED], +[_AS_DETECT_SUGGESTED([ + test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO + ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test "X`printf %s $ECHO`" = "X$ECHO" \ + || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) + +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) +])# _LT_PROG_ECHO_BACKSLASH + + +# _LT_WITH_SYSROOT +# ---------------- +AC_DEFUN([_LT_WITH_SYSROOT], +[AC_MSG_CHECKING([for sysroot]) +AC_ARG_WITH([sysroot], +[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@], + [Search for dependent libraries within DIR (or the compiler's sysroot + if not specified).])], +[], [with_sysroot=no]) + +dnl lt_sysroot will always be passed unquoted. We quote it here +dnl in case the user passed a directory name. +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + AC_MSG_RESULT([$with_sysroot]) + AC_MSG_ERROR([The sysroot must be an absolute path.]) + ;; +esac + + AC_MSG_RESULT([${lt_sysroot:-no}]) +_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl +[dependent libraries, and where our libraries should be installed.])]) + +# _LT_ENABLE_LOCK +# --------------- +m4_defun([_LT_ENABLE_LOCK], +[AC_ARG_ENABLE([libtool-lock], + [AS_HELP_STRING([--disable-libtool-lock], + [avoid locking (might break parallel builds)])]) +test no = "$enable_libtool_lock" || enable_libtool_lock=yes + +# Some flags need to be propagated to the compiler or linker for good +# libtool support. +case $host in +ia64-*-hpux*) + # Find out what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* + ;; +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + if test yes = "$lt_cv_prog_gnu_ld"; then + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -melf32bsmip" + ;; + *N32*) + LD="${LD-ld} -melf32bmipn32" + ;; + *64-bit*) + LD="${LD-ld} -melf64bmip" + ;; + esac + else + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + LD="${LD-ld} -32" + ;; + *N32*) + LD="${LD-ld} -n32" + ;; + *64-bit*) + LD="${LD-ld} -64" + ;; + esac + fi + fi + rm -rf conftest* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + powerpc64-*linux*) + LD="${LD-ld} -m elf32ppclinux" + ;; + s390x-*linux*) + LD="${LD-ld} -m elf_s390" + ;; + sparc64-*linux*) + LD="${LD-ld} -m elf32_sparc" + ;; + esac + ;; + *64-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_x86_64_fbsd" + ;; + x86_64-*linux*) + LD="${LD-ld} -m elf_x86_64" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_LANG_PUSH(C) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) + AC_LANG_POP]) + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then + LD="${LD-ld} -64" + fi + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; +esac + +need_locks=$enable_libtool_lock +])# _LT_ENABLE_LOCK + + +# _LT_PROG_AR +# ----------- +m4_defun([_LT_PROG_AR], +[AC_CHECK_TOOLS(AR, [ar], false) +: ${AR=ar} +: ${AR_FLAGS=cru} +_LT_DECL([], [AR], [1], [The archiver]) +_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) + +AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], + [lt_cv_ar_at_file=no + AC_COMPILE_IFELSE([AC_LANG_PROGRAM], + [echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' + AC_TRY_EVAL([lt_ar_try]) + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + AC_TRY_EVAL([lt_ar_try]) + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + ]) + ]) + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi +_LT_DECL([], [archiver_list_spec], [1], + [How to feed a file listing to the archiver]) +])# _LT_PROG_AR + + +# _LT_CMD_OLD_ARCHIVE +# ------------------- +m4_defun([_LT_CMD_OLD_ARCHIVE], +[_LT_PROG_AR + +AC_CHECK_TOOL(STRIP, strip, :) +test -z "$STRIP" && STRIP=: +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) + +AC_CHECK_TOOL(RANLIB, ranlib, :) +test -z "$RANLIB" && RANLIB=: +_LT_DECL([], [RANLIB], [1], + [Commands used to install an old-style archive]) + +# Determine commands to create old-style static archives. +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +old_postinstall_cmds='chmod 644 $oldlib' +old_postuninstall_cmds= + +if test -n "$RANLIB"; then + case $host_os in + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac +_LT_DECL([], [old_postinstall_cmds], [2]) +_LT_DECL([], [old_postuninstall_cmds], [2]) +_LT_TAGDECL([], [old_archive_cmds], [2], + [Commands used to build an old-style archive]) +_LT_DECL([], [lock_old_archive_extraction], [0], + [Whether to use a lock for old archive extraction]) +])# _LT_CMD_OLD_ARCHIVE + + +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------------------- +# Check whether the given compiler option works +AC_DEFUN([_LT_COMPILER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$3" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + fi + $RM conftest* +]) + +if test yes = "[$]$2"; then + m4_if([$5], , :, [$5]) +else + m4_if([$6], , :, [$6]) +fi +])# _LT_COMPILER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) + + +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +# [ACTION-SUCCESS], [ACTION-FAILURE]) +# ---------------------------------------------------- +# Check whether the given linker option works +AC_DEFUN([_LT_LINKER_OPTION], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_SED])dnl +AC_CACHE_CHECK([$1], [$2], + [$2=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $3" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&AS_MESSAGE_LOG_FD + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + $2=yes + fi + else + $2=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS +]) + +if test yes = "[$]$2"; then + m4_if([$4], , :, [$4]) +else + m4_if([$5], , :, [$5]) +fi +])# _LT_LINKER_OPTION + +# Old name: +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) + + +# LT_CMD_MAX_LEN +#--------------- +AC_DEFUN([LT_CMD_MAX_LEN], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +# find the maximum length of command line arguments +AC_MSG_CHECKING([the maximum length of command line arguments]) +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl + i=0 + teststring=ABCD + + case $build_os in + msdosdjgpp*) + # On DJGPP, this test can blow up pretty badly due to problems in libc + # (any single argument exceeding 2000 bytes causes a buffer overrun + # during glob expansion). Even if it were fixed, the result of this + # check would be larger than it should be. + lt_cv_sys_max_cmd_len=12288; # 12K is about right + ;; + + gnu*) + # Under GNU Hurd, this test is not required because there is + # no limit to the length of command line arguments. + # Libtool will interpret -1 as no limit whatsoever + lt_cv_sys_max_cmd_len=-1; + ;; + + cygwin* | mingw* | cegcc*) + # On Win9x/ME, this test blows up -- it succeeds, but takes + # about 5 minutes as the teststring grows exponentially. + # Worse, since 9x/ME are not pre-emptively multitasking, + # you end up with a "frozen" computer, even though with patience + # the test eventually succeeds (with a max line length of 256k). + # Instead, let's just punt: use the minimum linelength reported by + # all of the supported platforms: 8192 (on NT/2K/XP). + lt_cv_sys_max_cmd_len=8192; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + osf*) + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not + # nice to cause kernel panics so lets avoid the loop below. + # First set a reasonable default. + lt_cv_sys_max_cmd_len=16384 + # + if test -x /sbin/sysconfig; then + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in + *1*) lt_cv_sys_max_cmd_len=-1 ;; + esac + fi + ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; + *) + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` + if test -n "$lt_cv_sys_max_cmd_len" && \ + test undefined != "$lt_cv_sys_max_cmd_len"; then + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` + else + # Make teststring a little bigger before we do anything with it. + # a 1K string should be a reasonable start. + for i in 1 2 3 4 5 6 7 8; do + teststring=$teststring$teststring + done + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + # If test is not a shell built-in, we'll probably end up computing a + # maximum length that is only half of the actual maximum length, but + # we can't tell. + while { test X`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac +]) +if test -n "$lt_cv_sys_max_cmd_len"; then + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +else + AC_MSG_RESULT(none) +fi +max_cmd_len=$lt_cv_sys_max_cmd_len +_LT_DECL([], [max_cmd_len], [0], + [What is the maximum length of a command?]) +])# LT_CMD_MAX_LEN + +# Old name: +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) + + +# _LT_HEADER_DLFCN +# ---------------- +m4_defun([_LT_HEADER_DLFCN], +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +])# _LT_HEADER_DLFCN + + +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +# ---------------------------------------------------------------- +m4_defun([_LT_TRY_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes = "$cross_compiling"; then : + [$4] +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +[#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#endif + +#include + +#ifdef RTLD_GLOBAL +# define LT_DLGLOBAL RTLD_GLOBAL +#else +# ifdef DL_GLOBAL +# define LT_DLGLOBAL DL_GLOBAL +# else +# define LT_DLGLOBAL 0 +# endif +#endif + +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we + find out it does not work in some platform. */ +#ifndef LT_DLLAZY_OR_NOW +# ifdef RTLD_LAZY +# define LT_DLLAZY_OR_NOW RTLD_LAZY +# else +# ifdef DL_LAZY +# define LT_DLLAZY_OR_NOW DL_LAZY +# else +# ifdef RTLD_NOW +# define LT_DLLAZY_OR_NOW RTLD_NOW +# else +# ifdef DL_NOW +# define LT_DLLAZY_OR_NOW DL_NOW +# else +# define LT_DLLAZY_OR_NOW 0 +# endif +# endif +# endif +# endif +#endif + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +}] +_LT_EOF + if AC_TRY_EVAL(ac_link) && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) $1 ;; + x$lt_dlneed_uscore) $2 ;; + x$lt_dlunknown|x*) $3 ;; + esac + else : + # compilation failed + $3 + fi +fi +rm -fr conftest* +])# _LT_TRY_DLOPEN_SELF + + +# LT_SYS_DLOPEN_SELF +# ------------------ +AC_DEFUN([LT_SYS_DLOPEN_SELF], +[m4_require([_LT_HEADER_DLFCN])dnl +if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl],[ + lt_cv_dlopen=dyld + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ]) + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + AC_CHECK_FUNC([shl_load], + [lt_cv_dlopen=shl_load], + [AC_CHECK_LIB([dld], [shl_load], + [lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld], + [AC_CHECK_FUNC([dlopen], + [lt_cv_dlopen=dlopen], + [AC_CHECK_LIB([dl], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl], + [AC_CHECK_LIB([svld], [dlopen], + [lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld], + [AC_CHECK_LIB([dld], [dld_link], + [lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld]) + ]) + ]) + ]) + ]) + ]) + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + AC_CACHE_CHECK([whether a program can dlopen itself], + lt_cv_dlopen_self, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) + ]) + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], + lt_cv_dlopen_self_static, [dnl + _LT_TRY_DLOPEN_SELF( + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) + ]) + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi +_LT_DECL([dlopen_support], [enable_dlopen], [0], + [Whether dlopen is supported]) +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], + [Whether dlopen of programs is supported]) +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], + [Whether dlopen of statically linked programs is supported]) +])# LT_SYS_DLOPEN_SELF + +# Old name: +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) + + +# _LT_COMPILER_C_O([TAGNAME]) +# --------------------------- +# Check to see if options -c and -o are simultaneously supported by compiler. +# This macro does not hard code the compiler like AC_PROG_CC_C_O. +m4_defun([_LT_COMPILER_C_O], +[m4_require([_LT_DECL_SED])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + fi + fi + chmod u+w . 2>&AS_MESSAGE_LOG_FD + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* +]) +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], + [Does compiler simultaneously support -c and -o options?]) +])# _LT_COMPILER_C_O + + +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +# ---------------------------------- +# Check to see if we can do hard links to lock some files if needed +m4_defun([_LT_COMPILER_FILE_LOCKS], +[m4_require([_LT_ENABLE_LOCK])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +_LT_COMPILER_C_O([$1]) + +hard_links=nottested +if test no = "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + AC_MSG_CHECKING([if we can lock with hard links]) + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + AC_MSG_RESULT([$hard_links]) + if test no = "$hard_links"; then + AC_MSG_WARN(['$CC' does not support '-c -o', so 'make -j' may be unsafe]) + need_locks=warn + fi +else + need_locks=no +fi +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +])# _LT_COMPILER_FILE_LOCKS + + +# _LT_CHECK_OBJDIR +# ---------------- +m4_defun([_LT_CHECK_OBJDIR], +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +[rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null]) +objdir=$lt_cv_objdir +_LT_DECL([], [objdir], [0], + [The name of the directory that contains temporary libtool files])dnl +m4_pattern_allow([LT_OBJDIR])dnl +AC_DEFINE_UNQUOTED([LT_OBJDIR], "$lt_cv_objdir/", + [Define to the sub-directory where libtool stores uninstalled libraries.]) +])# _LT_CHECK_OBJDIR + + +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +# -------------------------------------- +# Check hardcoding attributes. +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +[AC_MSG_CHECKING([how to hardcode library paths into programs]) +_LT_TAGVAR(hardcode_action, $1)= +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || + test -n "$_LT_TAGVAR(runpath_var, $1)" || + test yes = "$_LT_TAGVAR(hardcode_automatic, $1)"; then + + # We can hardcode non-existent directories. + if test no != "$_LT_TAGVAR(hardcode_direct, $1)" && + # If the only mechanism to avoid hardcoding is shlibpath_var, we + # have to relink, otherwise we might link with an installed library + # when we should be linking with a yet-to-be-installed one + ## test no != "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" && + test no != "$_LT_TAGVAR(hardcode_minus_L, $1)"; then + # Linking always hardcodes the temporary library directory. + _LT_TAGVAR(hardcode_action, $1)=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + _LT_TAGVAR(hardcode_action, $1)=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + _LT_TAGVAR(hardcode_action, $1)=unsupported +fi +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) + +if test relink = "$_LT_TAGVAR(hardcode_action, $1)" || + test yes = "$_LT_TAGVAR(inherit_rpath, $1)"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi +_LT_TAGDECL([], [hardcode_action], [0], + [How to hardcode a shared library path into an executable]) +])# _LT_LINKER_HARDCODE_LIBPATH + + +# _LT_CMD_STRIPLIB +# ---------------- +m4_defun([_LT_CMD_STRIPLIB], +[m4_require([_LT_DECL_EGREP]) +striplib= +old_striplib= +AC_MSG_CHECKING([whether stripping libraries is possible]) +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) + AC_MSG_RESULT([no]) + ;; + esac +fi +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +_LT_DECL([], [striplib], [1]) +])# _LT_CMD_STRIPLIB + + +# _LT_PREPARE_MUNGE_PATH_LIST +# --------------------------- +# Make sure func_munge_path_list() is defined correctly. +m4_defun([_LT_PREPARE_MUNGE_PATH_LIST], +[[# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x@S|@2 in + x) + ;; + *:) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'` \@S|@@S|@1\" + ;; + x:*) + eval @S|@1=\"\@S|@@S|@1 `$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval @S|@1=\"\@S|@@S|@1\ `$ECHO @S|@2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval @S|@1=\"`$ECHO @S|@2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \@S|@@S|@1\" + ;; + *) + eval @S|@1=\"`$ECHO @S|@2 | $SED 's/:/ /g'`\" + ;; + esac +} +]])# _LT_PREPARE_PATH_LIST + + +# _LT_SYS_DYNAMIC_LINKER([TAG]) +# ----------------------------- +# PORTME Fill in your ld.so characteristics +m4_defun([_LT_SYS_DYNAMIC_LINKER], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_OBJDUMP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CHECK_SHELL_FEATURES])dnl +m4_require([_LT_PREPARE_MUNGE_PATH_LIST])dnl +AC_MSG_CHECKING([dynamic linker characteristics]) +m4_if([$1], + [], [ +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + for lt_sys_path in $lt_search_path_spec; do + if test -d "$lt_sys_path$lt_multi_os_dir"; then + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path$lt_multi_os_dir" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[[lt_foo]]++; } + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([[A-Za-z]]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi]) +library_names_spec= +libname_spec='lib$name' +soname_spec= +shrext_cmds=.so +postinstall_cmds= +postuninstall_cmds= +finish_cmds= +finish_eval= +shlibpath_var= +shlibpath_overrides_runpath=unknown +version_type=none +dynamic_linker="$host_os ld.so" +sys_lib_dlsearch_path_spec="/lib /usr/lib" +need_lib_prefix=unknown +hardcode_into_libs=no + +# when you set need_version to no, make sure it does not cause -set_version +# flags to be left without arguments +need_version=unknown + +AC_ARG_VAR([LT_SYS_LIBRARY_PATH], +[User-defined run-time library search path.]) + +case $host_os in +aix3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname.a' + shlibpath_var=LIBPATH + + # AIX 3 has no versioning support, so we append a major version to the name. + soname_spec='$libname$release$shared_ext$major' + ;; + +aix[[4-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; then + # AIX 5 supports IA64 + library_names_spec='$libname$release$shared_ext$major $libname$release$shared_ext$versuffix $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + else + # With GCC up to 2.95.x, collect2 would create an import file + # for dependence libraries. The import file would start with + # the line '#! .'. This would cause the generated library to + # depend on '.', always an invalid library. This was fixed in + # development snapshots of GCC prior to 3.0. + case $host_os in + aix4 | aix4.[[01]] | aix4.[[01]].*) + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' + echo ' yes ' + echo '#endif'; } | $CC -E - | $GREP yes > /dev/null; then + : + else + can_build_shared=no + fi + ;; + esac + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # If using run time linking (on AIX 4.2 or later) use lib.so + # instead of lib.a to let people know that these are not + # typical AIX shared libraries. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a[(]lib.so.V[)]' + # We preserve .a as extension for shared libraries through AIX4.2 + # and later when we are not doing run time linking. + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V[(]$shared_archive_member_spec.o[)], lib.a[(]lib.so.V[)]" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a[(]lib.so.V[)], lib.so.V[(]$shared_archive_member_spec.o[)]" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' + ;; + esac + ;; + +beos*) + library_names_spec='$libname$shared_ext' + dynamic_linker="$host_os ld.so" + shlibpath_var=LIBRARY_PATH + ;; + +bsdi[[45]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" + # the default ld.so.conf also contains /usr/contrib/lib and + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow + # libtool to hard-code these into programs + ;; + +cygwin* | mingw* | pw32* | cegcc*) + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + + case $GCC,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then + # It is most probably a Windows format PATH. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` + else + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + fi + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # FIXME: first we should search . and the directory the executable is in + shlibpath_var=PATH + ;; + +darwin* | rhapsody*) + dynamic_linker="$host_os dyld" + version_type=darwin + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$major$shared_ext $libname$shared_ext' + soname_spec='$libname$release$major$shared_ext' + shlibpath_overrides_runpath=yes + shlibpath_var=DYLD_LIBRARY_PATH + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +m4_if([$1], [],[ + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +freebsd* | dragonfly*) + # DragonFly does not have aout. When/if they implement a new + # versioning mechanism, adjust this. + if test -x /usr/bin/objformat; then + objformat=`/usr/bin/objformat` + else + case $host_os in + freebsd[[23]].*) objformat=aout ;; + *) objformat=elf ;; + esac + fi + version_type=freebsd-$objformat + case $version_type in + freebsd-elf*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + need_version=no + need_lib_prefix=no + ;; + freebsd-*) + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + need_version=yes + ;; + esac + shlibpath_var=LD_LIBRARY_PATH + case $host_os in + freebsd2.*) + shlibpath_overrides_runpath=yes + ;; + freebsd3.[[01]]* | freebsdelf3.[[01]]*) + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + *) # from 4.6 on, and DragonFly + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + esac + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + version_type=sunos + need_lib_prefix=no + need_version=no + case $host_cpu in + ia64*) + shrext_cmds='.so' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.so" + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + if test 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[[3-9]]*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +irix5* | irix6* | nonstopux*) + case $host_os in + nonstopux*) version_type=nonstopux ;; + *) + if test yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + else + version_type=irix + fi ;; + esac + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$release$shared_ext $libname$shared_ext' + case $host_os in + irix5* | nonstopux*) + libsuff= shlibsuff= + ;; + *) + case $LD in # libtool.m4 will add one of these switches to LD + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") + libsuff= shlibsuff= libmagic=32-bit;; + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") + libsuff=32 shlibsuff=N32 libmagic=N32;; + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") + libsuff=64 shlibsuff=64 libmagic=64-bit;; + *) libsuff= shlibsuff= libmagic=never-match;; + esac + ;; + esac + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH + shlibpath_overrides_runpath=no + sys_lib_search_path_spec="/usr/lib$libsuff /lib$libsuff /usr/local/lib$libsuff" + sys_lib_dlsearch_path_spec="/usr/lib$libsuff /lib$libsuff" + hardcode_into_libs=yes + ;; + +# No shared lib support for Linux oldld, aout, or coff. +linux*oldld* | linux*aout* | linux*coff*) + dynamic_linker=no + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + + # Some binutils ld are patched to set DT_RUNPATH + AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], + [lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], + [lt_cv_shlibpath_overrides_runpath=yes])]) + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + ]) + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + +netbsd*) + version_type=sunos + need_lib_prefix=no + need_version=no + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + dynamic_linker='NetBSD (a.out) ld.so' + else + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='NetBSD ld.elf_so' + fi + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; + +newsos6) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +*nto* | *qnx*) + version_type=qnx + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='ldqnx.so' + ;; + +openbsd* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; $ECHO \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; $ECHO \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + ;; + +osf3* | osf4* | osf5*) + version_type=osf + need_lib_prefix=no + need_version=no + soname_spec='$libname$release$shared_ext$major' + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + +rdos*) + dynamic_linker=no + ;; + +solaris*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + # ldd complains unless libraries are executable + postinstall_cmds='chmod +x $lib' + ;; + +sunos4*) + version_type=sunos + library_names_spec='$libname$release$shared_ext$versuffix $libname$shared_ext$versuffix' + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + if test yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + case $host_vendor in + sni) + shlibpath_overrides_runpath=no + need_lib_prefix=no + runpath_var=LD_RUN_PATH + ;; + siemens) + need_lib_prefix=no + ;; + motorola) + need_lib_prefix=no + need_version=no + shlibpath_overrides_runpath=no + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' + ;; + esac + ;; + +sysv4*MP*) + if test -d /usr/nec; then + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$shared_ext.$versuffix $libname$shared_ext.$major $libname$shared_ext' + soname_spec='$libname$shared_ext.$major' + shlibpath_var=LD_LIBRARY_PATH + fi + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=sco + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + if test yes = "$with_gnu_ld"; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + +tpf*) + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + +uts4*) + version_type=linux # correct to gnu/linux during the next big refactor + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + ;; + +*) + dynamic_linker=no + ;; +esac +AC_MSG_RESULT([$dynamic_linker]) +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + +_LT_DECL([], [variables_saved_for_relink], [1], + [Variables whose values should be saved in libtool wrapper scripts and + restored at link time]) +_LT_DECL([], [need_lib_prefix], [0], + [Do we need the "lib" prefix for modules?]) +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +_LT_DECL([], [version_type], [0], [Library versioning type]) +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +_LT_DECL([], [shlibpath_overrides_runpath], [0], + [Is shlibpath searched before the hard-coded library search path?]) +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +_LT_DECL([], [library_names_spec], [1], + [[List of archive names. First name is the real one, the rest are links. + The last name is the one that the linker finds with -lNAME]]) +_LT_DECL([], [soname_spec], [1], + [[The coded name of the library, if different from the real name]]) +_LT_DECL([], [install_override_mode], [1], + [Permission mode override for installation of shared libraries]) +_LT_DECL([], [postinstall_cmds], [2], + [Command to use after installation of a shared archive]) +_LT_DECL([], [postuninstall_cmds], [2], + [Command to use after uninstallation of a shared archive]) +_LT_DECL([], [finish_cmds], [2], + [Commands used to finish a libtool library installation in a directory]) +_LT_DECL([], [finish_eval], [1], + [[As "finish_cmds", except a single script fragment to be evaled but + not shown]]) +_LT_DECL([], [hardcode_into_libs], [0], + [Whether we should hardcode library paths into libraries]) +_LT_DECL([], [sys_lib_search_path_spec], [2], + [Compile-time system search path for libraries]) +_LT_DECL([sys_lib_dlsearch_path_spec], [configure_time_dlsearch_path], [2], + [Detected run-time system search path for libraries]) +_LT_DECL([], [configure_time_lt_sys_library_path], [2], + [Explicit LT_SYS_LIBRARY_PATH set during ./configure time]) +])# _LT_SYS_DYNAMIC_LINKER + + +# _LT_PATH_TOOL_PREFIX(TOOL) +# -------------------------- +# find a file program that can recognize shared library +AC_DEFUN([_LT_PATH_TOOL_PREFIX], +[m4_require([_LT_DECL_EGREP])dnl +AC_MSG_CHECKING([for $1]) +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +[case $MAGIC_CMD in +[[\\/*] | ?:[\\/]*]) + lt_cv_path_MAGIC_CMD=$MAGIC_CMD # Let the user override the test with a path. + ;; +*) + lt_save_MAGIC_CMD=$MAGIC_CMD + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR +dnl $ac_dummy forces splitting on constant user-supplied paths. +dnl POSIX.2 word splitting is done only on the output of word expansions, +dnl not every word. This closes a longstanding sh security hole. + ac_dummy="m4_if([$2], , $PATH, [$2])" + for ac_dir in $ac_dummy; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$1"; then + lt_cv_path_MAGIC_CMD=$ac_dir/"$1" + if test -n "$file_magic_test_file"; then + case $deplibs_check_method in + "file_magic "*) + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` + MAGIC_CMD=$lt_cv_path_MAGIC_CMD + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | + $EGREP "$file_magic_regex" > /dev/null; then + : + else + cat <<_LT_EOF 1>&2 + +*** Warning: the command libtool uses to detect shared libraries, +*** $file_magic_cmd, produces output that libtool cannot recognize. +*** The result is that libtool may fail to recognize shared libraries +*** as such. This will affect the creation of libtool libraries that +*** depend on shared libraries, but programs linked with such libtool +*** libraries will work regardless of this problem. Nevertheless, you +*** may want to report the problem to your system manager and/or to +*** bug-libtool@gnu.org + +_LT_EOF + fi ;; + esac + fi + break + fi + done + IFS=$lt_save_ifs + MAGIC_CMD=$lt_save_MAGIC_CMD + ;; +esac]) +MAGIC_CMD=$lt_cv_path_MAGIC_CMD +if test -n "$MAGIC_CMD"; then + AC_MSG_RESULT($MAGIC_CMD) +else + AC_MSG_RESULT(no) +fi +_LT_DECL([], [MAGIC_CMD], [0], + [Used to examine libraries when file_magic_cmd begins with "file"])dnl +])# _LT_PATH_TOOL_PREFIX + +# Old name: +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) + + +# _LT_PATH_MAGIC +# -------------- +# find a file program that can recognize a shared library +m4_defun([_LT_PATH_MAGIC], +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) + else + MAGIC_CMD=: + fi +fi +])# _LT_PATH_MAGIC + + +# LT_PATH_LD +# ---------- +# find the pathname to the GNU or non-GNU linker +AC_DEFUN([LT_PATH_LD], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PROG_ECHO_BACKSLASH])dnl + +AC_ARG_WITH([gnu-ld], + [AS_HELP_STRING([--with-gnu-ld], + [assume the C compiler uses GNU ld @<:@default=no@:>@])], + [test no = "$withval" || with_gnu_ld=yes], + [with_gnu_ld=no])dnl + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + AC_MSG_CHECKING([for ld used by $CC]) + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [[\\/]]* | ?:[[\\/]]*) + re_direlt='/[[^/]][[^/]]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + AC_MSG_CHECKING([for GNU ld]) +else + AC_MSG_CHECKING([for non-GNU ld]) +fi +AC_CACHE_VAL(lt_cv_path_LD, +[if test -z "$LD"; then + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + lt_cv_path_LD=$ac_dir/$ac_prog + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$lt_cv_path_LD" -v 2>&1 &1 conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +AC_PATH_PROGS_FEATURE_CHECK([lt_DD], [dd], +[if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi]) +rm -f conftest.i conftest2.i conftest.out]) +])# _LT_PATH_DD + + +# _LT_CMD_TRUNCATE +# ---------------- +# find command to truncate a binary pipe +m4_defun([_LT_CMD_TRUNCATE], +[m4_require([_LT_PATH_DD]) +AC_CACHE_CHECK([how to truncate binary pipes], [lt_cv_truncate_bin], +[printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q"]) +_LT_DECL([lt_truncate_bin], [lt_cv_truncate_bin], [1], + [Command to truncate a binary pipe]) +])# _LT_CMD_TRUNCATE + + +# _LT_CHECK_MAGIC_METHOD +# ---------------------- +# how to check for library dependencies +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_MAGIC_METHOD], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +AC_CACHE_CHECK([how to recognize dependent libraries], +lt_cv_deplibs_check_method, +[lt_cv_file_magic_cmd='$MAGIC_CMD' +lt_cv_file_magic_test_file= +lt_cv_deplibs_check_method='unknown' +# Need to set the preceding variable on all platforms that support +# interlibrary dependencies. +# 'none' -- dependencies not supported. +# 'unknown' -- same as none, but documents that we really don't know. +# 'pass_all' -- all dependencies passed with no checks. +# 'test_compile' -- check by making test program. +# 'file_magic [[regex]]' -- check by looking for files in library path +# that responds to the $file_magic_cmd with a given extended regex. +# If you have 'file' or equivalent on your system and you're not sure +# whether 'pass_all' will *always* work, you probably want this one. + +case $host_os in +aix[[4-9]]*) + lt_cv_deplibs_check_method=pass_all + ;; + +beos*) + lt_cv_deplibs_check_method=pass_all + ;; + +bsdi[[45]]*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' + lt_cv_file_magic_cmd='/usr/bin/file -L' + lt_cv_file_magic_test_file=/shlib/libc.so + ;; + +cygwin*) + # func_win32_libid is a shell function defined in ltmain.sh + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + ;; + +mingw* | pw32*) + # Base MSYS/MinGW do not provide the 'file' command needed by + # func_win32_libid shell function, so use a weaker test based on 'objdump', + # unless we find 'file', for example because we are cross-compiling. + if ( file / ) >/dev/null 2>&1; then + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' + lt_cv_file_magic_cmd='func_win32_libid' + else + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # use the weaker test based on 'objdump'. See mingw*. + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' + lt_cv_file_magic_cmd='$OBJDUMP -f' + ;; + +darwin* | rhapsody*) + lt_cv_deplibs_check_method=pass_all + ;; + +freebsd* | dragonfly*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + case $host_cpu in + i*86 ) + # Not sure whether the presence of OpenBSD here was a mistake. + # Let's accept both of them until this is cleared up. + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` + ;; + esac + else + lt_cv_deplibs_check_method=pass_all + fi + ;; + +haiku*) + lt_cv_deplibs_check_method=pass_all + ;; + +hpux10.20* | hpux11*) + lt_cv_file_magic_cmd=/usr/bin/file + case $host_cpu in + ia64*) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so + ;; + hppa*64*) + [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +interix[[3-9]]*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + +irix5* | irix6* | nonstopux*) + case $LD in + *-32|*"-32 ") libmagic=32-bit;; + *-n32|*"-n32 ") libmagic=N32;; + *-64|*"-64 ") libmagic=64-bit;; + *) libmagic=never-match;; + esac + lt_cv_deplibs_check_method=pass_all + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' + fi + ;; + +newos6*) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' + lt_cv_file_magic_cmd=/usr/bin/file + lt_cv_file_magic_test_file=/usr/lib/libnls.so + ;; + +*nto* | *qnx*) + lt_cv_deplibs_check_method=pass_all + ;; + +openbsd* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' + else + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' + fi + ;; + +osf3* | osf4* | osf5*) + lt_cv_deplibs_check_method=pass_all + ;; + +rdos*) + lt_cv_deplibs_check_method=pass_all + ;; + +solaris*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + lt_cv_deplibs_check_method=pass_all + ;; + +sysv4 | sysv4.3*) + case $host_vendor in + motorola) + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` + ;; + ncr) + lt_cv_deplibs_check_method=pass_all + ;; + sequent) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' + ;; + sni) + lt_cv_file_magic_cmd='/bin/file' + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" + lt_cv_file_magic_test_file=/lib/libc.so + ;; + siemens) + lt_cv_deplibs_check_method=pass_all + ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; + esac + ;; + +tpf*) + lt_cv_deplibs_check_method=pass_all + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac +]) + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` + fi + ;; + esac +fi + +file_magic_cmd=$lt_cv_file_magic_cmd +deplibs_check_method=$lt_cv_deplibs_check_method +test -z "$deplibs_check_method" && deplibs_check_method=unknown + +_LT_DECL([], [deplibs_check_method], [1], + [Method to check whether dependent libraries are shared objects]) +_LT_DECL([], [file_magic_cmd], [1], + [Command to use when deplibs_check_method = "file_magic"]) +_LT_DECL([], [file_magic_glob], [1], + [How to find potential files when deplibs_check_method = "file_magic"]) +_LT_DECL([], [want_nocaseglob], [1], + [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) +])# _LT_CHECK_MAGIC_METHOD + + +# LT_PATH_NM +# ---------- +# find the pathname to a BSD- or MS-compatible name lister +AC_DEFUN([LT_PATH_NM], +[AC_REQUIRE([AC_PROG_CC])dnl +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +[if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM +else + lt_nm_to_check=${ac_tool_prefix}nm + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs=$IFS; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS=$lt_save_ifs + test -z "$ac_dir" && ac_dir=. + tmp_nm=$ac_dir/$lt_tmp_nm + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext"; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the 'sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac + ;; + esac + fi + done + IFS=$lt_save_ifs + done + : ${lt_cv_path_NM=no} +fi]) +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM +else + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. + else + AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" + ;; + *) + DUMPBIN=: + ;; + esac + fi + AC_SUBST([DUMPBIN]) + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi +fi +test -z "$NM" && NM=nm +AC_SUBST([NM]) +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl + +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], + [lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&AS_MESSAGE_LOG_FD + (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) + cat conftest.out >&AS_MESSAGE_LOG_FD + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" + fi + rm -f conftest*]) +])# LT_PATH_NM + +# Old names: +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_PROG_NM], []) +dnl AC_DEFUN([AC_PROG_NM], []) + +# _LT_CHECK_SHAREDLIB_FROM_LINKLIB +# -------------------------------- +# how to determine the name of the shared library +# associated with a specific link library. +# -- PORTME fill in with the dynamic library characteristics +m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], +[m4_require([_LT_DECL_EGREP]) +m4_require([_LT_DECL_OBJDUMP]) +m4_require([_LT_DECL_DLLTOOL]) +AC_CACHE_CHECK([how to associate runtime and link libraries], +lt_cv_sharedlib_from_linklib_cmd, +[lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac +]) +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + +_LT_DECL([], [sharedlib_from_linklib_cmd], [1], + [Command to associate shared and link libraries]) +])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB + + +# _LT_PATH_MANIFEST_TOOL +# ---------------------- +# locate the manifest tool +m4_defun([_LT_PATH_MANIFEST_TOOL], +[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], + [lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&AS_MESSAGE_LOG_FD + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest*]) +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi +_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl +])# _LT_PATH_MANIFEST_TOOL + + +# _LT_DLL_DEF_P([FILE]) +# --------------------- +# True iff FILE is a Windows DLL '.def' file. +# Keep in sync with func_dll_def_p in the libtool script +AC_DEFUN([_LT_DLL_DEF_P], +[dnl + test DEF = "`$SED -n dnl + -e '\''s/^[[ ]]*//'\'' dnl Strip leading whitespace + -e '\''/^\(;.*\)*$/d'\'' dnl Delete empty lines and comments + -e '\''s/^\(EXPORTS\|LIBRARY\)\([[ ]].*\)*$/DEF/p'\'' dnl + -e q dnl Only consider the first "real" line + $1`" dnl +])# _LT_DLL_DEF_P + + +# LT_LIB_M +# -------- +# check for math library +AC_DEFUN([LT_LIB_M], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case $host in +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) + # These system don't have libm, or don't need it + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM=-lmw) + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, cos, LIBM=-lm) + ;; +esac +AC_SUBST([LIBM]) +])# LT_LIB_M + +# Old name: +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_CHECK_LIBM], []) + + +# _LT_COMPILER_NO_RTTI([TAGNAME]) +# ------------------------------- +m4_defun([_LT_COMPILER_NO_RTTI], +[m4_require([_LT_TAG_COMPILER])dnl + +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; + *) + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; + esac + + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], + lt_cv_prog_compiler_rtti_exceptions, + [-fno-rtti -fno-exceptions], [], + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +fi +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], + [Compiler flag to turn off builtin functions]) +])# _LT_COMPILER_NO_RTTI + + +# _LT_CMD_GLOBAL_SYMBOLS +# ---------------------- +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_PROG_AWK])dnl +AC_REQUIRE([LT_PATH_NM])dnl +AC_REQUIRE([LT_PATH_LD])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_TAG_COMPILER])dnl + +# Check for command to grab the raw symbol name followed by C symbol from nm. +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +[ +# These are sane defaults that work on at least a few old systems. +# [They come from Ultrix. What could be older than Ultrix?!! ;)] + +# Character class describing NM global symbol codes. +symcode='[[BCDEGRST]]' + +# Regexp to match symbols that can be accessed directly from C. +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' + +# Define system-specific variables. +case $host_os in +aix*) + symcode='[[BCDT]]' + ;; +cygwin* | mingw* | pw32* | cegcc*) + symcode='[[ABCDGISTW]]' + ;; +hpux*) + if test ia64 = "$host_cpu"; then + symcode='[[ABCDEGRST]]' + fi + ;; +irix* | nonstopux*) + symcode='[[BCDEGRST]]' + ;; +osf*) + symcode='[[BCDEGQRST]]' + ;; +solaris*) + symcode='[[BDRT]]' + ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; +sysv4) + symcode='[[DFNSTU]]' + ;; +esac + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[[ABCDGIRSTW]]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" +else + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= +fi + +# Transform an extracted symbol line into a proper C declaration. +# Some systems (esp. on ia64) link data and code symbols differently, +# so use this general approach. +lt_cv_sys_global_symbol_to_cdecl="sed -n"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" + +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" + +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/p'" + +# Handle CRLF in mingw tool chain +opt_cr= +case $build_os in +mingw*) + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp + ;; +esac + +# Try without a prefix underscore, then with it. +for ac_symprfx in "" "_"; do + + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. + symxfrm="\\1 $ac_symprfx\\2 \\2" + + # Write the raw and C identifiers. + if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Fake it for dumpbin and say T for any non-static function, + # D for any global variable and I for any imported variable. + # Also find C++ and __fastcall symbols from MSVC++, + # which start with @ or ?. + lt_cv_sys_global_symbol_pipe="$AWK ['"\ +" {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\ +" ' prfx=^$ac_symprfx]" + else + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" + fi + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if AC_TRY_EVAL(ac_compile); then + # Now try to grab the symbols. + nlist=conftest.nm + if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT@&t@_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT@&t@_DLSYM_CONST +#else +# define LT@&t@_DLSYM_CONST const +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +_LT_EOF + # Now generate the symbol file. + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' + + cat <<_LT_EOF >> conftest.$ac_ext + +/* The mapping between symbol names and symbols. */ +LT@&t@_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[[]] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext + cat <<\_LT_EOF >> conftest.$ac_ext + {0, (void *) 0} +}; + +/* This works around a problem in FreeBSD linker */ +#ifdef FREEBSD_WORKAROUND +static const void *lt_preloaded_setup() { + return lt__PROGRAM__LTX_preloaded_symbols; +} +#endif + +#ifdef __cplusplus +} +#endif +_LT_EOF + # Now try linking the two files. + mv conftest.$ac_objext conftstm.$ac_objext + lt_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" + if AC_TRY_EVAL(ac_link) && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_save_CFLAGS + else + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD + fi + else + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD + fi + else + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD + cat conftest.$ac_ext >&5 + fi + rm -rf conftest* conftst* + + # Do not use the global_symbol_pipe unless it works. + if test yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done +]) +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + AC_MSG_RESULT(failed) +else + AC_MSG_RESULT(ok) +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then + nm_file_list_spec='@' +fi + +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], + [Take the output of nm and produce a listing of raw symbols and C names]) +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], + [Transform the output of nm in a proper C declaration]) +_LT_DECL([global_symbol_to_import], [lt_cv_sys_global_symbol_to_import], [1], + [Transform the output of nm into a list of symbols to manually relocate]) +_LT_DECL([global_symbol_to_c_name_address], + [lt_cv_sys_global_symbol_to_c_name_address], [1], + [Transform the output of nm in a C name address pair]) +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], + [Transform the output of nm in a C name address pair when lib prefix is needed]) +_LT_DECL([nm_interface], [lt_cv_nm_interface], [1], + [The name lister interface]) +_LT_DECL([], [nm_file_list_spec], [1], + [Specify filename containing input files for $NM]) +]) # _LT_CMD_GLOBAL_SYMBOLS + + +# _LT_COMPILER_PIC([TAGNAME]) +# --------------------------- +m4_defun([_LT_COMPILER_PIC], +[m4_require([_LT_TAG_COMPILER])dnl +_LT_TAGVAR(lt_prog_compiler_wl, $1)= +_LT_TAGVAR(lt_prog_compiler_pic, $1)= +_LT_TAGVAR(lt_prog_compiler_static, $1)= + +m4_if([$1], [CXX], [ + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + else + case $host_os in + aix[[4-9]]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" + ;; + esac + ;; + mingw* | cygwin* | os2* | pw32* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + ;; + dgux*) + case $cc_basename in + ec++*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + fi + ;; + aCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + ;; + *) + ;; + esac + ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; + irix5* | irix6* | nonstopux*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + cxx*) + # Compaq C++ + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + cxx*) + # Digital/Compaq C++ + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + lcc*) + # Lucid + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +], +[ + if test yes = "$GCC"; then + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + m68k) + # FIXME: we need at least 68020 code to build shared libraries, but + # adding the '-m68020' flag to GCC prevents building anything better, + # like '-m68040'. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' + ;; + esac + ;; + + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + # PIC is the default for these OSes. + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + _LT_TAGVAR(lt_prog_compiler_static, $1)= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + ;; + + interix[[3-9]]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic + fi + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' + if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" + fi + ;; + esac + else + # PORTME Check for flag to pass linker flags through the system compiler. + case $host_os in + aix*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + else + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + + mingw* | cygwin* | pw32* | os2* | cegcc*) + # This hack is so that the source file can tell whether it is being + # built for inclusion in a dll (and should export symbols for example). + m4_if([$1], [GCJ], [], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) + case $host_os in + os2*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + _LT_TAGVAR(lt_prog_compiler_static, $1)='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # PIC (with -KPIC) is the default. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + # old Intel for x86_64, which still supported -KPIC. + ecc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # icc used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + icc* | ifort*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + # Lahey Fortran 8.1. + lf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' + ;; + nagfor*) + # NAG Fortran compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + ccc*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All Alpha code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' + ;; + *Sun\ F* | *Sun*Fortran*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + *Intel*\ [[CF]]*Compiler*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *Portland\ Group*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + # All OSF/1 code is PIC. + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + rdos*) + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' + ;; + + solaris*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; + *) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; + esac + ;; + + sunos4*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + unicos*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + + uts4*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + + *) + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no + ;; + esac + fi +]) +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + _LT_TAGVAR(lt_prog_compiler_pic, $1)= + ;; + *) + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" + ;; +esac + +AC_CACHE_CHECK([for $compiler option to produce PIC], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], + [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in + "" | " "*) ;; + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; + esac], + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +fi +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], + [Additional compiler flags for building library objects]) + +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], + [How to pass a linker flag through the compiler]) +# +# Check to make sure the static flag actually works. +# +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], + [Compiler flag to prevent dynamic linking]) +])# _LT_COMPILER_PIC + + +# _LT_LINKER_SHLIBS([TAGNAME]) +# ---------------------------- +# See if the linker supports building shared libraries. +m4_defun([_LT_LINKER_SHLIBS], +[AC_REQUIRE([LT_PATH_LD])dnl +AC_REQUIRE([LT_PATH_NM])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_DECL_SED])dnl +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +m4_require([_LT_TAG_COMPILER])dnl +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +m4_if([$1], [CXX], [ + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + case $host_os in + aix[[4-9]]*) + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + *) + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac +], [ + runpath_var= + _LT_TAGVAR(allow_undefined_flag, $1)= + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(archive_cmds, $1)= + _LT_TAGVAR(archive_expsym_cmds, $1)= + _LT_TAGVAR(compiler_needs_object, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(hardcode_automatic, $1)=no + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(hardcode_libdir_separator, $1)= + _LT_TAGVAR(hardcode_minus_L, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_TAGVAR(inherit_rpath, $1)=no + _LT_TAGVAR(link_all_deplibs, $1)=unknown + _LT_TAGVAR(module_cmds, $1)= + _LT_TAGVAR(module_expsym_cmds, $1)= + _LT_TAGVAR(old_archive_from_new_cmds, $1)= + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= + _LT_TAGVAR(thread_safe_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + # include_expsyms should be a list of space-separated symbols to be *always* + # included in the symbol list + _LT_TAGVAR(include_expsyms, $1)= + # exclude_expsyms can be an extended regexp of symbols to exclude + # it will be wrapped by ' (' and ')$', so one must not match beginning or + # end of line. Example: 'a|bc|.*d.*' will exclude the symbols 'a' and 'bc', + # as well as any symbol that contains 'd'. + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out + # platforms (ab)use it in PIC code, but their linkers get confused if + # the symbol is explicitly referenced. Since portable code cannot + # rely on this symbol name, it's probably fine to never include it in + # preloaded symbol tables. + # Exclude shared library initialization/finalization symbols. +dnl Note also adjust exclude_expsyms for C++ above. + extract_expsyms_cmds= + + case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + # FIXME: the MSVC++ port hasn't been tested in a loooong time + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + if test yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; + esac + + _LT_TAGVAR(ld_shlibs, $1)=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; + *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; then + # If archive_cmds runs LD, not CC, wlarc should be empty + wlarc='$wl' + + # Set some defaults for GNU ld with shared library support. These + # are reset later if shared libraries are not supported. Putting them + # here allows them to be overridden if necessary. + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + # ancient GNU ld didn't support --whole-archive et. al. + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + supports_anon_versioning=no + case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[[3-9]]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' + _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; then + case $cc_basename in + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) + esac + fi + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ + && test no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + _LT_TAGVAR(whole_archive_flag_spec, $1)= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + + case $cc_basename in + tcc*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' + wlarc= + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + fi + ;; + + solaris*) + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: The releases 2.8.* of the GNU linker cannot reliably +*** create shared libraries on Solaris systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.9.1 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 cannot +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + sunos4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + + if test no = "$_LT_TAGVAR(ld_shlibs, $1)"; then + runpath_var= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= + _LT_TAGVAR(export_dynamic_flag_spec, $1)= + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + # PORTME fill in a description of your system's linker (not GNU ld) + case $host_os in + aix3*) + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' + # Note: this linker hardcodes the directories in LIBPATH if there + # are no directories specified by -L. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + if test yes = "$GCC" && test -z "$lt_prog_compiler_static"; then + # Neither direct hardcoding nor static linking is supported with a + # broken collect2. + _LT_TAGVAR(hardcode_direct, $1)=unsupported + fi + ;; + + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + # If we're using GNU nm, then we don't want the "-C" option. + # -C means demangle to GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + _LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GCC"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + ;; + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='' + ;; + m68k) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + ;; + + bsdi[[45]]*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # When not using gcc, we currently assume that we are using + # Microsoft Visual C++. + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + case $cc_basename in + cl*) + # Native MSVC + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + # FIXME: Should let the user specify the lib program. + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + esac + ;; + + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + dgux*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor + # support. Future versions do this automatically, but an explicit c++rt0.o + # does not break anything, and helps significantly (at the cost of a little + # extra space). + freebsd2.2*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # Unfortunately, older versions of FreeBSD 2 do not have this feature. + freebsd2.*) + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. + freebsd* | dragonfly*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + hpux9*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + + hpux10*) + if test yes,no = "$GCC,$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test yes,no = "$GCC,$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + else + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + m4_if($1, [], [ + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + _LT_LINKER_OPTION([if $CC understands -b], + _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], + [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], + [_LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) + ;; + esac + fi + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_TAGVAR(hardcode_minus_L, $1)=yes + ;; + esac + fi + ;; + + irix5* | irix6* | nonstopux*) + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # Try to use the -exported_symbol ld option, if it does not + # work, assume that -exports_file does not work either and + # implicitly export all symbols. + # This should be the same for all languages, so no per-tag cache variable. + AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], + [lt_cv_irix_exported_symbol], + [save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + AC_LINK_IFELSE( + [AC_LANG_SOURCE( + [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], + [C++], [[int foo (void) { return 0; }]], + [Fortran 77], [[ + subroutine foo + end]], + [Fortran], [[ + subroutine foo + end]])])], + [lt_cv_irix_exported_symbol=yes], + [lt_cv_irix_exported_symbol=no]) + LDFLAGS=$save_LDFLAGS]) + if test yes = "$lt_cv_irix_exported_symbol"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + _LT_TAGVAR(link_all_deplibs, $1)=no + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + _LT_TAGVAR(ld_shlibs, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out + else + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + newsos6) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *nto* | *qnx*) + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags $wl-retain-symbols-file,$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + fi + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + osf3*) + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + else + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # Both c and cxx compiler support -rpath directly + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + ;; + + solaris*) + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' + if test yes = "$GCC"; then + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $wl-z ${wl}text $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag $wl-z ${wl}text $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + else + case `$CC -V 2>&1` in + *"Compilers 5.0"*) + wlarc='' + _LT_TAGVAR(archive_cmds, $1)='$LD -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $LD -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' + ;; + *) + wlarc='$wl' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h $soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' + ;; + esac + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. GCC discards it without '$wl', + # but is careful enough not to reorder. + # Supported since Solaris 2.6 (maybe 2.5.1?) + if test yes = "$GCC"; then + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + fi + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + sunos4*) + if test sequent = "$host_vendor"; then + # Use $CC to link under sequent, because it throws in some extra .o + # files that make .init and .fini sections work. + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h $soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' + fi + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4) + case $host_vendor in + sni) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? + ;; + siemens) + ## LD is ld it makes a PLAMLIB + ## CC just makes a GrossModule. + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' + _LT_TAGVAR(hardcode_direct, $1)=no + ;; + motorola) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie + ;; + esac + runpath_var='LD_RUN_PATH' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + sysv4.3*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var=LD_RUN_PATH + hardcode_runpath_var=yes + _LT_TAGVAR(ld_shlibs, $1)=yes + fi + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + if test yes = "$GCC"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + fi + ;; + + uts4*) + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + + *) + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + if test sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Blargedynsym' + ;; + esac + fi + fi +]) +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld + +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +_LT_DECL([], [extract_expsyms_cmds], [2], + [The commands to extract the exported symbol list from a shared archive]) + +# +# Do we need to explicitly link libc? +# +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +x|xyes) + # Assume -lc should be added + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $_LT_TAGVAR(archive_cmds, $1) in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + AC_CACHE_CHECK([whether -lc should be explicitly linked in], + [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), + [$RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) + _LT_TAGVAR(allow_undefined_flag, $1)= + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) + then + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no + else + lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes + fi + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + ]) + _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) + ;; + esac + fi + ;; +esac + +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], + [Whether or not to add -lc for building shared libraries]) +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], + [enable_shared_with_static_runtimes], [0], + [Whether or not to disallow shared libs when runtime libs are static]) +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], + [Compiler flag to allow reflexive dlopens]) +_LT_TAGDECL([], [whole_archive_flag_spec], [1], + [Compiler flag to generate shared objects directly from archives]) +_LT_TAGDECL([], [compiler_needs_object], [1], + [Whether the compiler copes with passing no objects directly]) +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], + [Create an old-style archive from a shared archive]) +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], + [Create a temporary old-style archive to link instead of a shared archive]) +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +_LT_TAGDECL([], [archive_expsym_cmds], [2]) +_LT_TAGDECL([], [module_cmds], [2], + [Commands used to build a loadable module if different from building + a shared archive.]) +_LT_TAGDECL([], [module_expsym_cmds], [2]) +_LT_TAGDECL([], [with_gnu_ld], [1], + [Whether we are building with GNU ld or not]) +_LT_TAGDECL([], [allow_undefined_flag], [1], + [Flag that allows shared libraries with undefined symbols to be built]) +_LT_TAGDECL([], [no_undefined_flag], [1], + [Flag that enforces no undefined symbols]) +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], + [Flag to hardcode $libdir into a binary during linking. + This must work even if $libdir does not exist]) +_LT_TAGDECL([], [hardcode_libdir_separator], [1], + [Whether we need a single "-rpath" flag with a separated argument]) +_LT_TAGDECL([], [hardcode_direct], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary]) +_LT_TAGDECL([], [hardcode_direct_absolute], [0], + [Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes + DIR into the resulting binary and the resulting library dependency is + "absolute", i.e impossible to change by setting $shlibpath_var if the + library is relocated]) +_LT_TAGDECL([], [hardcode_minus_L], [0], + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR + into the resulting binary]) +_LT_TAGDECL([], [hardcode_automatic], [0], + [Set to "yes" if building a shared library automatically hardcodes DIR + into the library and all subsequent libraries and executables linked + against it]) +_LT_TAGDECL([], [inherit_rpath], [0], + [Set to yes if linker adds runtime paths of dependent libraries + to runtime path list]) +_LT_TAGDECL([], [link_all_deplibs], [0], + [Whether libtool must link a program against all its dependency libraries]) +_LT_TAGDECL([], [always_export_symbols], [0], + [Set to "yes" if exported symbols are required]) +_LT_TAGDECL([], [export_symbols_cmds], [2], + [The commands to list exported symbols]) +_LT_TAGDECL([], [exclude_expsyms], [1], + [Symbols that should not be listed in the preloaded symbols]) +_LT_TAGDECL([], [include_expsyms], [1], + [Symbols that must always be exported]) +_LT_TAGDECL([], [prelink_cmds], [2], + [Commands necessary for linking programs (against libraries) with templates]) +_LT_TAGDECL([], [postlink_cmds], [2], + [Commands necessary for finishing linking programs]) +_LT_TAGDECL([], [file_list_spec], [1], + [Specify filename containing input files]) +dnl FIXME: Not yet implemented +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +dnl [Compiler flag to generate thread safe objects]) +])# _LT_LINKER_SHLIBS + + +# _LT_LANG_C_CONFIG([TAG]) +# ------------------------ +# Ensure that the configuration variables for a C compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_C_CONFIG], +[m4_require([_LT_DECL_EGREP])dnl +lt_save_CC=$CC +AC_LANG_PUSH(C) + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + +_LT_TAG_COMPILER +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + LT_SYS_DLOPEN_SELF + _LT_CMD_STRIPLIB + + # Report what library types will actually be built + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_CONFIG($1) +fi +AC_LANG_POP +CC=$lt_save_CC +])# _LT_LANG_C_CONFIG + + +# _LT_LANG_CXX_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a C++ compiler are suitably +# defined. These variables are subsequently used by _LT_CONFIG to write +# the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_CXX_CONFIG], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +m4_require([_LT_DECL_EGREP])dnl +m4_require([_LT_PATH_MANIFEST_TOOL])dnl +if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + AC_PROG_CXXCPP +else + _lt_caught_CXX_error=yes +fi + +AC_LANG_PUSH(C++) +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(compiler_needs_object, $1)=no +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the CXX compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_caught_CXX_error"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="int some_variable = 0;" + + # Code to be used in simple link tests + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + lt_save_LD=$LD + lt_save_GCC=$GCC + GCC=$GXX + lt_save_with_gnu_ld=$with_gnu_ld + lt_save_path_LD=$lt_cv_path_LD + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx + else + $as_unset lt_cv_prog_gnu_ld + fi + if test -n "${lt_cv_path_LDCXX+set}"; then + lt_cv_path_LD=$lt_cv_path_LDCXX + else + $as_unset lt_cv_path_LD + fi + test -z "${LDCXX+set}" || LD=$LDCXX + CC=${CXX-"c++"} + CFLAGS=$CXXFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' + else + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + LT_PATH_LD + + # Check if GNU C++ uses GNU ld as the underlying linker, since the + # archiving commands below assume that GNU ld is being used. + if test yes = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # If archive_cmds runs LD, not CC, wlarc should be empty + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to + # investigate it a little bit more. (MM) + wlarc='$wl' + + # ancient GNU ld didn't support --whole-archive et. al. + if eval "`$CC -print-prog-name=ld` --help 2>&1" | + $GREP 'no-whole-archive' > /dev/null; then + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + _LT_TAGVAR(whole_archive_flag_spec, $1)= + fi + else + with_gnu_ld=no + wlarc= + + # A generic and very simple default shared library creation + # command for GNU C++ for the case where it uses the native + # linker, instead of GNU ld. If possible, this setting should + # overridden to take advantage of the native linker features on + # the platform it is being used on. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + fi + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) + _LT_TAGVAR(ld_shlibs, $1)=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aix[[4-9]]*) + if test ia64 = "$host_cpu"; then + # On IA64, the linker does run time linking by default, so we don't + # have to do anything special. + aix_use_runtimelinking=no + exp_sym_flag='-Bexport' + no_entry_flag= + else + aix_use_runtimelinking=no + + # Test if we are trying to use run time linking or normal + # AIX style linking. If -brtl is somewhere in LDFLAGS, we + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) + for ld_flag in $LDFLAGS; do + case $ld_flag in + *-brtl*) + aix_use_runtimelinking=yes + break + ;; + esac + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + esac + + exp_sym_flag='-bexport' + no_entry_flag='-bnoentry' + fi + + # When large executables or shared objects are built, AIX ld can + # have problems creating the table of contents. If linking a library + # or program results in "error TOC overflow" add -mminimal-toc to + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. + + _LT_TAGVAR(archive_cmds, $1)='' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=no + ;; + esac + + if test yes = "$GXX"; then + case $host_os in aix4.[[012]]|aix4.[[012]].*) + # We only want to do this on AIX 4.2 and lower, the check + # below for broken collect2 doesn't work under 4.3+ + collect2name=`$CC -print-prog-name=collect2` + if test -f "$collect2name" && + strings "$collect2name" | $GREP resolve_lib_name >/dev/null + then + # We have reworked collect2 + : + else + # We have old collect2 + _LT_TAGVAR(hardcode_direct, $1)=unsupported + # It fails to find uninstalled libraries when the uninstalled + # path is not listed in the libpath. Setting hardcode_minus_L + # to unsupported forces relinking + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; then + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release + # chokes on -Wl,-G. The following line is correct: + shared_flag='-G' + else + if test yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-bexpall' + # It seems that -bexpall does not export symbols beginning with + # underscore (_), so it is better to generate a list of symbols to + # export. + _LT_TAGVAR(always_export_symbols, $1)=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + _LT_TAGVAR(no_undefined_flag, $1)='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $libdir:/usr/lib:/lib' + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" + _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\$wl$no_entry_flag"' $compiler_flags $wl$allow_undefined_flag '"\$wl$exp_sym_flag:\$export_symbols" + else + # Determine the default libpath from the value encoded in an + # empty executable. + _LT_SYS_MODULE_PATH_AIX([$1]) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-blibpath:$libdir:'"$aix_libpath" + # Warning - without using the other run time loading flags, + # -berok will link without error, but may produce a broken library. + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-bernotok' + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' + fi + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes + _LT_TAGVAR(archive_expsym_cmds, $1)='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([[, ]]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + _LT_TAGVAR(archive_expsym_cmds, $1)="$_LT_TAGVAR(archive_expsym_cmds, $1)"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + # Don't use ranlib + _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' + _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, + # as there is no search path for DLLs. + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-all-symbols' + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + _LT_TAGVAR(always_export_symbols, $1)=no + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + # If the export-symbols file already is a .def file, use it as + # is; otherwise, prepend EXPORTS... + _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + _LT_DARWIN_LINKER_FEATURES($1) + ;; + + os2*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' + _LT_TAGVAR(hardcode_minus_L, $1)=yes + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported + shrext_cmds=.dll + _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(archive_expsym_cmds, $1)='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + freebsd-elf*) + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + haiku*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + + hpux9*) + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl+b $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + ;; + *) + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, + # but as the default + # location of the library. + ;; + esac + + case $cc_basename in + CC*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + esac + fi + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + interix[[3-9]]*) + _LT_TAGVAR(hardcode_direct, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + irix5* | irix6*) + case $cc_basename in + CC*) + # SGI C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + _LT_TAGVAR(link_all_deplibs, $1)=yes + ;; + esac + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + _LT_TAGVAR(inherit_rpath, $1)=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib $wl-retain-symbols-file,$export_symbols; mv \$templib $lib' + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' + ;; + icpc* | ecpc* ) + # Intel C++ + with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + tmp_idyn= + case $host_cpu in + ia64*) tmp_idyn=' -i_dynamic';; + esac + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ + $RANLIB $oldlib' + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl--rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib $wl-retain-symbols-file $wl$export_symbols' + + runpath_var=LD_RUN_PATH + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl--export-dynamic' + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib' + fi + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + _LT_TAGVAR(compiler_needs_object, $1)=yes + + # Not sure whether something based on + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 + # would be better. + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + fi + # Workaround some broken pre-1.5 toolchains + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' + ;; + + *nto* | *qnx*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + _LT_TAGVAR(hardcode_direct, $1)=yes + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-E' + _LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + # Kuck and Associates, Inc. (KAI) C++ Compiler + + # KCC will only create a shared library if the output file + # ends with ".so" (or ".sl" for HP-UX), so rename the library + # to its proper name (with version) after linking. + _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\$tempext\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + cxx*) + case $host in + osf3*) + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + ;; + *) + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' + _LT_TAGVAR(archive_cmds, $1)='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ + echo "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname $wl-input $wl$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + # + # There doesn't appear to be a way to prevent this compiler from + # explicitly linking system object files so we need to strip them + # from the output so that they don't get included in the library + # dependencies. + output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(allow_undefined_flag, $1)=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=: + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' + _LT_TAGVAR(archive_cmds, $1)='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G$allow_undefined_flag $wl-M $wl$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + # The compiler driver will combine and reorder linker options, + # but understands '-z linker_flag'. + # Supported since Solaris 2.6 (maybe 2.5.1?) + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' + ;; + esac + _LT_TAGVAR(link_all_deplibs, $1)=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + + # The C++ compiler must be used to create the archive. + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + _LT_TAGVAR(no_undefined_flag, $1)=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -G -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' + + # Commands to make compiler produce verbose output that lists + # what "hidden" libraries, object files and flags are used when + # linking a shared library. + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + fi + + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' + case $host_os in + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; + *) + _LT_TAGVAR(whole_archive_flag_spec, $1)='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_TAGVAR(no_undefined_flag, $1)='$wl-z,text' + _LT_TAGVAR(allow_undefined_flag, $1)='$wl-z,nodefs' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R,$libdir' + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(export_dynamic_flag_spec, $1)='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_TAGVAR(archive_cmds, $1)='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ + '"$_LT_TAGVAR(old_archive_cmds, $1)" + _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ + '"$_LT_TAGVAR(reload_cmds, $1)" + ;; + *) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + + *) + # FIXME: insert proper C++ library support + _LT_TAGVAR(ld_shlibs, $1)=no + ;; + esac + + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) + test no = "$_LT_TAGVAR(ld_shlibs, $1)" && can_build_shared=no + + _LT_TAGVAR(GCC, $1)=$GXX + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + LDCXX=$LD + LD=$lt_save_LD + GCC=$lt_save_GCC + with_gnu_ld=$lt_save_with_gnu_ld + lt_cv_path_LDCXX=$lt_cv_path_LD + lt_cv_path_LD=$lt_save_path_LD + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +fi # test yes != "$_lt_caught_CXX_error" + +AC_LANG_POP +])# _LT_LANG_CXX_CONFIG + + +# _LT_FUNC_STRIPNAME_CNF +# ---------------------- +# func_stripname_cnf prefix suffix name +# strip PREFIX and SUFFIX off of NAME. +# PREFIX and SUFFIX must not contain globbing or regex special +# characters, hashes, percent signs, but SUFFIX may contain a leading +# dot (in which case that matches only a dot). +# +# This function is identical to the (non-XSI) version of func_stripname, +# except this one can be used by m4 code that may be executed by configure, +# rather than the libtool script. +m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl +AC_REQUIRE([_LT_DECL_SED]) +AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) +func_stripname_cnf () +{ + case @S|@2 in + .*) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%\\\\@S|@2\$%%"`;; + *) func_stripname_result=`$ECHO "@S|@3" | $SED "s%^@S|@1%%; s%@S|@2\$%%"`;; + esac +} # func_stripname_cnf +])# _LT_FUNC_STRIPNAME_CNF + + +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +# --------------------------------- +# Figure out "hidden" library dependencies from verbose +# compiler output when linking a shared library. +# Parse the compiler output and extract the necessary +# objects, libraries and library flags. +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl +# Dependencies to place before and after the object being linked: +_LT_TAGVAR(predep_objects, $1)= +_LT_TAGVAR(postdep_objects, $1)= +_LT_TAGVAR(predeps, $1)= +_LT_TAGVAR(postdeps, $1)= +_LT_TAGVAR(compiler_lib_search_path, $1)= + +dnl we can't use the lt_simple_compile_test_code here, +dnl because it contains code intended for an executable, +dnl not a library. It's possible we should let each +dnl tag define a new lt_????_link_test_code variable, +dnl but it's only used here... +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +int a; +void foo (void) { a = 0; } +_LT_EOF +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer*4 a + a=0 + return + end +_LT_EOF +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF + subroutine foo + implicit none + integer a + a=0 + return + end +_LT_EOF +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +public class foo { + private int a; + public void bar (void) { + a = 0; + } +}; +_LT_EOF +], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF +package foo +func foo() { +} +_LT_EOF +]) + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +dnl Parse the compiler output and extract the necessary +dnl objects, libraries and library flags. +if AC_TRY_EVAL(ac_compile); then + # Parse the compiler output and extract the necessary + # objects, libraries and library flags. + + # Sentinel used to keep track of whether or not we are before + # the conftest object file. + pre_test_object_deps_done=no + + for p in `eval "$output_verbose_link_cmd"`; do + case $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev in + -L | -R) + # Internal compiler library paths should come after those + # provided the user. The postdeps already come after the + # user supplied libs so there is no need to process them. + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then + _LT_TAGVAR(compiler_lib_search_path, $1)=$prev$p + else + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} $prev$p" + fi + ;; + # The "-l" case would never come before the object being + # linked, so don't bother handling this case. + esac + else + if test -z "$_LT_TAGVAR(postdeps, $1)"; then + _LT_TAGVAR(postdeps, $1)=$prev$p + else + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$objext) + # This assumes that the test object file only shows up + # once in the compiler output. + if test "$p" = "conftest.$objext"; then + pre_test_object_deps_done=yes + continue + fi + + if test no = "$pre_test_object_deps_done"; then + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then + _LT_TAGVAR(predep_objects, $1)=$p + else + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" + fi + else + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then + _LT_TAGVAR(postdep_objects, $1)=$p + else + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling $1 test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +m4_if([$1], [CXX], +[case $host_os in +interix[[3-9]]*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_TAGVAR(predep_objects,$1)= + _LT_TAGVAR(postdep_objects,$1)= + _LT_TAGVAR(postdeps,$1)= + ;; +esac +]) + +case " $_LT_TAGVAR(postdeps, $1) " in +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +esac + _LT_TAGVAR(compiler_lib_search_dirs, $1)= +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], + [The directories searched by this compiler when creating a shared library]) +_LT_TAGDECL([], [predep_objects], [1], + [Dependencies to place before and after the objects being linked to + create a shared library]) +_LT_TAGDECL([], [postdep_objects], [1]) +_LT_TAGDECL([], [predeps], [1]) +_LT_TAGDECL([], [postdeps], [1]) +_LT_TAGDECL([], [compiler_lib_search_path], [1], + [The library search path used internally by the compiler when linking + a shared library]) +])# _LT_SYS_HIDDEN_LIBDEPS + + +# _LT_LANG_F77_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for a Fortran 77 compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_F77_CONFIG], +[AC_LANG_PUSH(Fortran 77) +if test -z "$F77" || test no = "$F77"; then + _lt_disable_F77=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for f77 test sources. +ac_ext=f + +# Object file extension for compiled f77 test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the F77 compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_F77"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${F77-"f77"} + CFLAGS=$FFLAGS + compiler=$CC + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + GCC=$G77 + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$G77 + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_F77" + +AC_LANG_POP +])# _LT_LANG_F77_CONFIG + + +# _LT_LANG_FC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for a Fortran compiler are +# suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_FC_CONFIG], +[AC_LANG_PUSH(Fortran) + +if test -z "$FC" || test no = "$FC"; then + _lt_disable_FC=yes +fi + +_LT_TAGVAR(archive_cmds_need_lc, $1)=no +_LT_TAGVAR(allow_undefined_flag, $1)= +_LT_TAGVAR(always_export_symbols, $1)=no +_LT_TAGVAR(archive_expsym_cmds, $1)= +_LT_TAGVAR(export_dynamic_flag_spec, $1)= +_LT_TAGVAR(hardcode_direct, $1)=no +_LT_TAGVAR(hardcode_direct_absolute, $1)=no +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +_LT_TAGVAR(hardcode_libdir_separator, $1)= +_LT_TAGVAR(hardcode_minus_L, $1)=no +_LT_TAGVAR(hardcode_automatic, $1)=no +_LT_TAGVAR(inherit_rpath, $1)=no +_LT_TAGVAR(module_cmds, $1)= +_LT_TAGVAR(module_expsym_cmds, $1)= +_LT_TAGVAR(link_all_deplibs, $1)=unknown +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds +_LT_TAGVAR(no_undefined_flag, $1)= +_LT_TAGVAR(whole_archive_flag_spec, $1)= +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no + +# Source file extension for fc test sources. +ac_ext=${ac_fc_srcext-f} + +# Object file extension for compiled fc test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# No sense in running all these tests if we already determined that +# the FC compiler isn't working. Some variables (like enable_shared) +# are currently assumed to apply to all compilers on this platform, +# and will be corrupted by setting them based on a non-working compiler. +if test yes != "$_lt_disable_FC"; then + # Code to be used in simple compile tests + lt_simple_compile_test_code="\ + subroutine t + return + end +" + + # Code to be used in simple link tests + lt_simple_link_test_code="\ + program t + end +" + + # ltmain only uses $CC for tagged configurations so make sure $CC is set. + _LT_TAG_COMPILER + + # save warnings/boilerplate of simple test code + _LT_COMPILER_BOILERPLATE + _LT_LINKER_BOILERPLATE + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_GCC=$GCC + lt_save_CFLAGS=$CFLAGS + CC=${FC-"f95"} + CFLAGS=$FCFLAGS + compiler=$CC + GCC=$ac_cv_fc_compiler_gnu + + _LT_TAGVAR(compiler, $1)=$CC + _LT_CC_BASENAME([$compiler]) + + if test -n "$compiler"; then + AC_MSG_CHECKING([if libtool supports shared libraries]) + AC_MSG_RESULT([$can_build_shared]) + + AC_MSG_CHECKING([whether to build shared libraries]) + test no = "$can_build_shared" && enable_shared=no + + # On AIX, shared libraries and static libraries use the same namespace, and + # are all built from PIC. + case $host_os in + aix3*) + test yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + aix[[4-9]]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + AC_MSG_RESULT([$enable_shared]) + + AC_MSG_CHECKING([whether to build static libraries]) + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + AC_MSG_RESULT([$enable_static]) + + _LT_TAGVAR(GCC, $1)=$ac_cv_fc_compiler_gnu + _LT_TAGVAR(LD, $1)=$LD + + ## CAVEAT EMPTOR: + ## There is no encapsulation within the following macros, do not change + ## the running order or otherwise move them around unless you know exactly + ## what you are doing... + _LT_SYS_HIDDEN_LIBDEPS($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_SYS_DYNAMIC_LINKER($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) + fi # test -n "$compiler" + + GCC=$lt_save_GCC + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS +fi # test yes != "$_lt_disable_FC" + +AC_LANG_POP +])# _LT_LANG_FC_CONFIG + + +# _LT_LANG_GCJ_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Java Compiler compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GCJ_CONFIG], +[AC_REQUIRE([LT_PROG_GCJ])dnl +AC_LANG_SAVE + +# Source file extension for Java test sources. +ac_ext=java + +# Object file extension for compiled Java test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="class foo {}" + +# Code to be used in simple link tests +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GCJ-"gcj"} +CFLAGS=$GCJFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# GCJ did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GCJ_CONFIG + + +# _LT_LANG_GO_CONFIG([TAG]) +# -------------------------- +# Ensure that the configuration variables for the GNU Go compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_GO_CONFIG], +[AC_REQUIRE([LT_PROG_GO])dnl +AC_LANG_SAVE + +# Source file extension for Go test sources. +ac_ext=go + +# Object file extension for compiled Go test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="package main; func main() { }" + +# Code to be used in simple link tests +lt_simple_link_test_code='package main; func main() { }' + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC=yes +CC=${GOC-"gccgo"} +CFLAGS=$GOFLAGS +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_TAGVAR(LD, $1)=$LD +_LT_CC_BASENAME([$compiler]) + +# Go did not exist at the time GCC didn't implicitly link libc in. +_LT_TAGVAR(archive_cmds_need_lc, $1)=no + +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +_LT_TAGVAR(reload_flag, $1)=$reload_flag +_LT_TAGVAR(reload_cmds, $1)=$reload_cmds + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + _LT_COMPILER_NO_RTTI($1) + _LT_COMPILER_PIC($1) + _LT_COMPILER_C_O($1) + _LT_COMPILER_FILE_LOCKS($1) + _LT_LINKER_SHLIBS($1) + _LT_LINKER_HARDCODE_LIBPATH($1) + + _LT_CONFIG($1) +fi + +AC_LANG_RESTORE + +GCC=$lt_save_GCC +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_GO_CONFIG + + +# _LT_LANG_RC_CONFIG([TAG]) +# ------------------------- +# Ensure that the configuration variables for the Windows resource compiler +# are suitably defined. These variables are subsequently used by _LT_CONFIG +# to write the compiler configuration to 'libtool'. +m4_defun([_LT_LANG_RC_CONFIG], +[AC_REQUIRE([LT_PROG_RC])dnl +AC_LANG_SAVE + +# Source file extension for RC test sources. +ac_ext=rc + +# Object file extension for compiled RC test sources. +objext=o +_LT_TAGVAR(objext, $1)=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' + +# Code to be used in simple link tests +lt_simple_link_test_code=$lt_simple_compile_test_code + +# ltmain only uses $CC for tagged configurations so make sure $CC is set. +_LT_TAG_COMPILER + +# save warnings/boilerplate of simple test code +_LT_COMPILER_BOILERPLATE +_LT_LINKER_BOILERPLATE + +# Allow CC to be a program name with arguments. +lt_save_CC=$CC +lt_save_CFLAGS=$CFLAGS +lt_save_GCC=$GCC +GCC= +CC=${RC-"windres"} +CFLAGS= +compiler=$CC +_LT_TAGVAR(compiler, $1)=$CC +_LT_CC_BASENAME([$compiler]) +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes + +if test -n "$compiler"; then + : + _LT_CONFIG($1) +fi + +GCC=$lt_save_GCC +AC_LANG_RESTORE +CC=$lt_save_CC +CFLAGS=$lt_save_CFLAGS +])# _LT_LANG_RC_CONFIG + + +# LT_PROG_GCJ +# ----------- +AC_DEFUN([LT_PROG_GCJ], +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], + [AC_CHECK_TOOL(GCJ, gcj,) + test set = "${GCJFLAGS+set}" || GCJFLAGS="-g -O2" + AC_SUBST(GCJFLAGS)])])[]dnl +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) + + +# LT_PROG_GO +# ---------- +AC_DEFUN([LT_PROG_GO], +[AC_CHECK_TOOL(GOC, gccgo,) +]) + + +# LT_PROG_RC +# ---------- +AC_DEFUN([LT_PROG_RC], +[AC_CHECK_TOOL(RC, windres,) +]) + +# Old name: +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_RC], []) + + +# _LT_DECL_EGREP +# -------------- +# If we don't have a new enough Autoconf to choose the best grep +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_EGREP], +[AC_REQUIRE([AC_PROG_EGREP])dnl +AC_REQUIRE([AC_PROG_FGREP])dnl +test -z "$GREP" && GREP=grep +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +_LT_DECL([], [EGREP], [1], [An ERE matcher]) +_LT_DECL([], [FGREP], [1], [A literal string matcher]) +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +AC_SUBST([GREP]) +]) + + +# _LT_DECL_OBJDUMP +# -------------- +# If we don't have a new enough Autoconf to choose the best objdump +# available, choose the one first in the user's PATH. +m4_defun([_LT_DECL_OBJDUMP], +[AC_CHECK_TOOL(OBJDUMP, objdump, false) +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +AC_SUBST([OBJDUMP]) +]) + +# _LT_DECL_DLLTOOL +# ---------------- +# Ensure DLLTOOL variable is set. +m4_defun([_LT_DECL_DLLTOOL], +[AC_CHECK_TOOL(DLLTOOL, dlltool, false) +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) +AC_SUBST([DLLTOOL]) +]) + +# _LT_DECL_SED +# ------------ +# Check for a fully-functional sed program, that truncates +# as few characters as possible. Prefer GNU sed if found. +m4_defun([_LT_DECL_SED], +[AC_PROG_SED +test -z "$SED" && SED=sed +Xsed="$SED -e 1s/^X//" +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +])# _LT_DECL_SED + +m4_ifndef([AC_PROG_SED], [ +############################################################ +# NOTE: This macro has been submitted for inclusion into # +# GNU Autoconf as AC_PROG_SED. When it is available in # +# a released version of Autoconf we should remove this # +# macro and use it instead. # +############################################################ + +m4_defun([AC_PROG_SED], +[AC_MSG_CHECKING([for a sed that does not truncate output]) +AC_CACHE_VAL(lt_cv_path_SED, +[# Loop through the user's path and test for sed and gsed. +# Then use that list of sed's as ones to test for truncation. +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for lt_ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" + fi + done + done +done +IFS=$as_save_IFS +lt_ac_max=0 +lt_ac_count=0 +# Add /usr/xpg4/bin/sed as it is typically found on Solaris +# along with /bin/sed that truncates output. +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do + test ! -f "$lt_ac_sed" && continue + cat /dev/null > conftest.in + lt_ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >conftest.in + # Check for GNU sed and select it if it is found. + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then + lt_cv_path_SED=$lt_ac_sed + break + fi + while true; do + cat conftest.in conftest.in >conftest.tmp + mv conftest.tmp conftest.in + cp conftest.in conftest.nl + echo >>conftest.nl + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break + cmp -s conftest.out conftest.nl || break + # 10000 chars as input seems more than enough + test 10 -lt "$lt_ac_count" && break + lt_ac_count=`expr $lt_ac_count + 1` + if test "$lt_ac_count" -gt "$lt_ac_max"; then + lt_ac_max=$lt_ac_count + lt_cv_path_SED=$lt_ac_sed + fi + done +done +]) +SED=$lt_cv_path_SED +AC_SUBST([SED]) +AC_MSG_RESULT([$SED]) +])#AC_PROG_SED +])#m4_ifndef + +# Old name: +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([LT_AC_PROG_SED], []) + + +# _LT_CHECK_SHELL_FEATURES +# ------------------------ +# Find out whether the shell is Bourne or XSI compatible, +# or has some other useful features. +m4_defun([_LT_CHECK_SHELL_FEATURES], +[if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +])# _LT_CHECK_SHELL_FEATURES + + +# _LT_PATH_CONVERSION_FUNCTIONS +# ----------------------------- +# Determine what file name conversion functions should be used by +# func_to_host_file (and, implicitly, by func_to_host_path). These are needed +# for certain cross-compile configurations and native mingw. +m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl +AC_MSG_CHECKING([how to convert $build file names to $host format]) +AC_CACHE_VAL(lt_cv_to_host_file_cmd, +[case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac +]) +to_host_file_cmd=$lt_cv_to_host_file_cmd +AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) +_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], + [0], [convert $build file names to $host format])dnl + +AC_MSG_CHECKING([how to convert $build file names to toolchain format]) +AC_CACHE_VAL(lt_cv_to_tool_file_cmd, +[#assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac +]) +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) +_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], + [0], [convert $build files to toolchain format])dnl +])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/src/secp256k1/build-aux/m4/ltoptions.m4 b/src/secp256k1/build-aux/m4/ltoptions.m4 new file mode 100644 index 000000000..94b082976 --- /dev/null +++ b/src/secp256k1/build-aux/m4/ltoptions.m4 @@ -0,0 +1,437 @@ +# Helper functions for option handling. -*- Autoconf -*- +# +# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 8 ltoptions.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) + + +# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +# ------------------------------------------ +m4_define([_LT_MANGLE_OPTION], +[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) + + +# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +# --------------------------------------- +# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +# matching handler defined, dispatch to it. Other OPTION-NAMEs are +# saved as a flag. +m4_define([_LT_SET_OPTION], +[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), + _LT_MANGLE_DEFUN([$1], [$2]), + [m4_warning([Unknown $1 option '$2'])])[]dnl +]) + + +# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +# ------------------------------------------------------------ +# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +m4_define([_LT_IF_OPTION], +[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) + + +# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +# ------------------------------------------------------- +# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +# are set. +m4_define([_LT_UNLESS_OPTIONS], +[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), + [m4_define([$0_found])])])[]dnl +m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +])[]dnl +]) + + +# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +# ---------------------------------------- +# OPTION-LIST is a space-separated list of Libtool options associated +# with MACRO-NAME. If any OPTION has a matching handler declared with +# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +# the unknown option and exit. +m4_defun([_LT_SET_OPTIONS], +[# Set options +m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), + [_LT_SET_OPTION([$1], _LT_Option)]) + +m4_if([$1],[LT_INIT],[ + dnl + dnl Simply set some default values (i.e off) if boolean options were not + dnl specified: + _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no + ]) + _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no + ]) + dnl + dnl If no reference was made to various pairs of opposing options, then + dnl we run the default mode handler for the pair. For example, if neither + dnl 'shared' nor 'disable-shared' was passed, we enable building of shared + dnl archives by default: + _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) + _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) + _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], + [_LT_ENABLE_FAST_INSTALL]) + _LT_UNLESS_OPTIONS([LT_INIT], [aix-soname=aix aix-soname=both aix-soname=svr4], + [_LT_WITH_AIX_SONAME([aix])]) + ]) +])# _LT_SET_OPTIONS + + +## --------------------------------- ## +## Macros to handle LT_INIT options. ## +## --------------------------------- ## + +# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +# ----------------------------------------- +m4_define([_LT_MANGLE_DEFUN], +[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) + + +# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +# ----------------------------------------------- +m4_define([LT_OPTION_DEFINE], +[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +])# LT_OPTION_DEFINE + + +# dlopen +# ------ +LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +]) + +AU_DEFUN([AC_LIBTOOL_DLOPEN], +[_LT_SET_OPTION([LT_INIT], [dlopen]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'dlopen' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) + + +# win32-dll +# --------- +# Declare package support for building win32 dll's. +LT_OPTION_DEFINE([LT_INIT], [win32-dll], +[enable_win32_dll=yes + +case $host in +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +esac + +test -z "$AS" && AS=as +_LT_DECL([], [AS], [1], [Assembler program])dnl + +test -z "$DLLTOOL" && DLLTOOL=dlltool +_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl + +test -z "$OBJDUMP" && OBJDUMP=objdump +_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl +])# win32-dll + +AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +_LT_SET_OPTION([LT_INIT], [win32-dll]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'win32-dll' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) + + +# _LT_ENABLE_SHARED([DEFAULT]) +# ---------------------------- +# implement the --enable-shared flag, and supports the 'shared' and +# 'disable-shared' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_SHARED], +[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([shared], + [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], + [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_shared=yes ;; + no) enable_shared=no ;; + *) + enable_shared=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_shared=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) + + _LT_DECL([build_libtool_libs], [enable_shared], [0], + [Whether or not to build shared libraries]) +])# _LT_ENABLE_SHARED + +LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +]) + +AC_DEFUN([AC_DISABLE_SHARED], +[_LT_SET_OPTION([LT_INIT], [disable-shared]) +]) + +AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_SHARED], []) +dnl AC_DEFUN([AM_DISABLE_SHARED], []) + + + +# _LT_ENABLE_STATIC([DEFAULT]) +# ---------------------------- +# implement the --enable-static flag, and support the 'static' and +# 'disable-static' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_STATIC], +[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([static], + [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], + [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_static=yes ;; + no) enable_static=no ;; + *) + enable_static=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_static=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_static=]_LT_ENABLE_STATIC_DEFAULT) + + _LT_DECL([build_old_libs], [enable_static], [0], + [Whether or not to build static libraries]) +])# _LT_ENABLE_STATIC + +LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) + +# Old names: +AC_DEFUN([AC_ENABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +]) + +AC_DEFUN([AC_DISABLE_STATIC], +[_LT_SET_OPTION([LT_INIT], [disable-static]) +]) + +AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AM_ENABLE_STATIC], []) +dnl AC_DEFUN([AM_DISABLE_STATIC], []) + + + +# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +# ---------------------------------- +# implement the --enable-fast-install flag, and support the 'fast-install' +# and 'disable-fast-install' LT_INIT options. +# DEFAULT is either 'yes' or 'no'. If omitted, it defaults to 'yes'. +m4_define([_LT_ENABLE_FAST_INSTALL], +[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +AC_ARG_ENABLE([fast-install], + [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], + [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], + [p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) + +_LT_DECL([fast_install], [enable_fast_install], [0], + [Whether or not to optimize for fast installation])dnl +])# _LT_ENABLE_FAST_INSTALL + +LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) + +# Old names: +AU_DEFUN([AC_ENABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'fast-install' option into LT_INIT's first parameter.]) +]) + +AU_DEFUN([AC_DISABLE_FAST_INSTALL], +[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you put +the 'disable-fast-install' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) + + +# _LT_WITH_AIX_SONAME([DEFAULT]) +# ---------------------------------- +# implement the --with-aix-soname flag, and support the `aix-soname=aix' +# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT +# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'. +m4_define([_LT_WITH_AIX_SONAME], +[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl +shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[[5-9]]*,yes) + AC_MSG_CHECKING([which variant of shared library versioning to provide]) + AC_ARG_WITH([aix-soname], + [AS_HELP_STRING([--with-aix-soname=aix|svr4|both], + [shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])], + [case $withval in + aix|svr4|both) + ;; + *) + AC_MSG_ERROR([Unknown argument to --with-aix-soname]) + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname], + [AC_CACHE_VAL([lt_cv_with_aix_soname], + [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT) + with_aix_soname=$lt_cv_with_aix_soname]) + AC_MSG_RESULT([$with_aix_soname]) + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + +_LT_DECL([], [shared_archive_member_spec], [0], + [Shared archive member basename, for filename based shared library versioning on AIX])dnl +])# _LT_WITH_AIX_SONAME + +LT_OPTION_DEFINE([LT_INIT], [aix-soname=aix], [_LT_WITH_AIX_SONAME([aix])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=both], [_LT_WITH_AIX_SONAME([both])]) +LT_OPTION_DEFINE([LT_INIT], [aix-soname=svr4], [_LT_WITH_AIX_SONAME([svr4])]) + + +# _LT_WITH_PIC([MODE]) +# -------------------- +# implement the --with-pic flag, and support the 'pic-only' and 'no-pic' +# LT_INIT options. +# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'. +m4_define([_LT_WITH_PIC], +[AC_ARG_WITH([pic], + [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], + [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], + [lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac], + [pic_mode=m4_default([$1], [default])]) + +_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +])# _LT_WITH_PIC + +LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) + +# Old name: +AU_DEFUN([AC_LIBTOOL_PICMODE], +[_LT_SET_OPTION([LT_INIT], [pic-only]) +AC_DIAGNOSE([obsolete], +[$0: Remove this warning and the call to _LT_SET_OPTION when you +put the 'pic-only' option into LT_INIT's first parameter.]) +]) + +dnl aclocal-1.4 backwards compatibility: +dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) + +## ----------------- ## +## LTDL_INIT Options ## +## ----------------- ## + +m4_define([_LTDL_MODE], []) +LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], + [m4_define([_LTDL_MODE], [nonrecursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [recursive], + [m4_define([_LTDL_MODE], [recursive])]) +LT_OPTION_DEFINE([LTDL_INIT], [subproject], + [m4_define([_LTDL_MODE], [subproject])]) + +m4_define([_LTDL_TYPE], []) +LT_OPTION_DEFINE([LTDL_INIT], [installable], + [m4_define([_LTDL_TYPE], [installable])]) +LT_OPTION_DEFINE([LTDL_INIT], [convenience], + [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/src/secp256k1/build-aux/m4/ltsugar.m4 b/src/secp256k1/build-aux/m4/ltsugar.m4 new file mode 100644 index 000000000..48bc9344a --- /dev/null +++ b/src/secp256k1/build-aux/m4/ltsugar.m4 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +]) diff --git a/src/secp256k1/build-aux/m4/ltversion.m4 b/src/secp256k1/build-aux/m4/ltversion.m4 new file mode 100644 index 000000000..fa04b52a3 --- /dev/null +++ b/src/secp256k1/build-aux/m4/ltversion.m4 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4179 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6]) +m4_define([LT_PACKAGE_REVISION], [2.4.6]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6' +macro_revision='2.4.6' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +]) diff --git a/src/secp256k1/build-aux/m4/lt~obsolete.m4 b/src/secp256k1/build-aux/m4/lt~obsolete.m4 new file mode 100644 index 000000000..c6b26f88f --- /dev/null +++ b/src/secp256k1/build-aux/m4/lt~obsolete.m4 @@ -0,0 +1,99 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software +# Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/src/secp256k1/build-aux/missing b/src/secp256k1/build-aux/missing new file mode 100755 index 000000000..f62bbae30 --- /dev/null +++ b/src/secp256k1/build-aux/missing @@ -0,0 +1,215 @@ +#! /bin/sh +# Common wrapper for a few potentially missing GNU programs. + +scriptversion=2013-10-28.13; # UTC + +# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Originally written by Fran,cois Pinard , 1996. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +if test $# -eq 0; then + echo 1>&2 "Try '$0 --help' for more information" + exit 1 +fi + +case $1 in + + --is-lightweight) + # Used by our autoconf macros to check whether the available missing + # script is modern enough. + exit 0 + ;; + + --run) + # Back-compat with the calling convention used by older automake. + shift + ;; + + -h|--h|--he|--hel|--help) + echo "\ +$0 [OPTION]... PROGRAM [ARGUMENT]... + +Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due +to PROGRAM being missing or too old. + +Options: + -h, --help display this help and exit + -v, --version output version information and exit + +Supported PROGRAM values: + aclocal autoconf autoheader autom4te automake makeinfo + bison yacc flex lex help2man + +Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and +'g' are ignored when checking the name. + +Send bug reports to ." + exit $? + ;; + + -v|--v|--ve|--ver|--vers|--versi|--versio|--version) + echo "missing $scriptversion (GNU Automake)" + exit $? + ;; + + -*) + echo 1>&2 "$0: unknown '$1' option" + echo 1>&2 "Try '$0 --help' for more information" + exit 1 + ;; + +esac + +# Run the given program, remember its exit status. +"$@"; st=$? + +# If it succeeded, we are done. +test $st -eq 0 && exit 0 + +# Also exit now if we it failed (or wasn't found), and '--version' was +# passed; such an option is passed most likely to detect whether the +# program is present and works. +case $2 in --version|--help) exit $st;; esac + +# Exit code 63 means version mismatch. This often happens when the user +# tries to use an ancient version of a tool on a file that requires a +# minimum version. +if test $st -eq 63; then + msg="probably too old" +elif test $st -eq 127; then + # Program was missing. + msg="missing on your system" +else + # Program was found and executed, but failed. Give up. + exit $st +fi + +perl_URL=http://www.perl.org/ +flex_URL=http://flex.sourceforge.net/ +gnu_software_URL=http://www.gnu.org/software + +program_details () +{ + case $1 in + aclocal|automake) + echo "The '$1' program is part of the GNU Automake package:" + echo "<$gnu_software_URL/automake>" + echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/autoconf>" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + autoconf|autom4te|autoheader) + echo "The '$1' program is part of the GNU Autoconf package:" + echo "<$gnu_software_URL/autoconf/>" + echo "It also requires GNU m4 and Perl in order to run:" + echo "<$gnu_software_URL/m4/>" + echo "<$perl_URL>" + ;; + esac +} + +give_advice () +{ + # Normalize program name to check for. + normalized_program=`echo "$1" | sed ' + s/^gnu-//; t + s/^gnu//; t + s/^g//; t'` + + printf '%s\n' "'$1' is $msg." + + configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + case $normalized_program in + autoconf*) + echo "You should only need it if you modified 'configure.ac'," + echo "or m4 files included by it." + program_details 'autoconf' + ;; + autoheader*) + echo "You should only need it if you modified 'acconfig.h' or" + echo "$configure_deps." + program_details 'autoheader' + ;; + automake*) + echo "You should only need it if you modified 'Makefile.am' or" + echo "$configure_deps." + program_details 'automake' + ;; + aclocal*) + echo "You should only need it if you modified 'acinclude.m4' or" + echo "$configure_deps." + program_details 'aclocal' + ;; + autom4te*) + echo "You might have modified some maintainer files that require" + echo "the 'autom4te' program to be rebuilt." + program_details 'autom4te' + ;; + bison*|yacc*) + echo "You should only need it if you modified a '.y' file." + echo "You may want to install the GNU Bison package:" + echo "<$gnu_software_URL/bison/>" + ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; + help2man*) + echo "You should only need it if you modified a dependency" \ + "of a man page." + echo "You may want to install the GNU Help2man package:" + echo "<$gnu_software_URL/help2man/>" + ;; + makeinfo*) + echo "You should only need it if you modified a '.texi' file, or" + echo "any other file indirectly affecting the aspect of the manual." + echo "You might want to install the Texinfo package:" + echo "<$gnu_software_URL/texinfo/>" + echo "The spurious makeinfo call might also be the consequence of" + echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" + echo "want to install GNU make:" + echo "<$gnu_software_URL/make/>" + ;; + *) + echo "You might have modified some files without having the proper" + echo "tools for further handling them. Check the 'README' file, it" + echo "often tells you about the needed prerequisites for installing" + echo "this package. You may also peek at any GNU archive site, in" + echo "case some other package contains this missing '$1' program." + ;; + esac +} + +give_advice "$1" | sed -e '1s/^/WARNING: /' \ + -e '2,$s/^/ /' >&2 + +# Propagate the correct exit status (expected to be 127 for a program +# not found, 63 for a program that failed due to version mismatch). +exit $st + +# Local variables: +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/src/secp256k1/build-aux/test-driver b/src/secp256k1/build-aux/test-driver new file mode 100755 index 000000000..8e575b017 --- /dev/null +++ b/src/secp256k1/build-aux/test-driver @@ -0,0 +1,148 @@ +#! /bin/sh +# test-driver - basic testsuite driver script. + +scriptversion=2013-07-13.22; # UTC + +# Copyright (C) 2011-2014 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that program. + +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +# Make unconditional expansion of undefined variables an error. This +# helps a lot in preventing typo-related bugs. +set -u + +usage_error () +{ + echo "$0: $*" >&2 + print_usage >&2 + exit 2 +} + +print_usage () +{ + cat <$log_file 2>&1 +estatus=$? + +if test $enable_hard_errors = no && test $estatus -eq 99; then + tweaked_estatus=1 +else + tweaked_estatus=$estatus +fi + +case $tweaked_estatus:$expect_failure in + 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; + 0:*) col=$grn res=PASS recheck=no gcopy=no;; + 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; + 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;; + *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;; + *:*) col=$red res=FAIL recheck=yes gcopy=yes;; +esac + +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + +# Report outcome to console. +echo "${col}${res}${std}: $test_name" + +# Register the test result, and other relevant metadata. +echo ":test-result: $res" > $trs_file +echo ":global-test-result: $res" >> $trs_file +echo ":recheck: $recheck" >> $trs_file +echo ":copy-in-global-log: $gcopy" >> $trs_file + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-time-zone: "UTC" +# time-stamp-end: "; # UTC" +# End: diff --git a/src/secp256k1/configure.ac b/src/secp256k1/configure.ac deleted file mode 100644 index 017fd4e1d..000000000 --- a/src/secp256k1/configure.ac +++ /dev/null @@ -1,284 +0,0 @@ -AC_PREREQ([2.60]) -AC_INIT([libsecp256k1],[0.1]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([build-aux/m4]) -AC_CANONICAL_HOST -AH_TOP([#ifndef LIBSECP256K1_CONFIG_H]) -AH_TOP([#define LIBSECP256K1_CONFIG_H]) -AH_BOTTOM([#endif //LIBSECP256K1_CONFIG_H]) -AM_INIT_AUTOMAKE([foreign]) -LT_INIT - -dnl make the compilation flags quiet unless V=1 is used -m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - -PKG_PROG_PKG_CONFIG - -AC_PATH_TOOL(AR, ar) -AC_PATH_TOOL(RANLIB, ranlib) -AC_PATH_TOOL(STRIP, strip) - -AC_PROG_CC_C99 -if test x"$ac_cv_prog_cc_c99" == x"no"; then - AC_MSG_ERROR([c99 compiler support required]) -fi - -case $host in - *mingw*) - use_pkgconfig=no - ;; - *) - use_pkgconfig=yes - ;; -esac - -case $host_os in - *darwin*) - if test x$cross_compiling != xyes; then - AC_PATH_PROG([BREW],brew,) - if test x$BREW != x; then - dnl These Homebrew packages may be keg-only, meaning that they won't be found - dnl in expected paths because they may conflict with system files. Ask - dnl Homebrew where each one is located, then adjust paths accordingly. - - openssl_prefix=`$BREW --prefix openssl 2>/dev/null` - gmp_prefix=`$BREW --prefix gmp 2>/dev/null` - if test x$openssl_prefix != x; then - PKG_CONFIG_PATH="$openssl_prefix/lib/pkgconfig:$PKG_CONFIG_PATH" - export PKG_CONFIG_PATH - fi - if test x$gmp_prefix != x; then - GMP_CPPFLAGS="-I$gmp_prefix/include" - GMP_LIBS="-L$gmp_prefix/lib" - fi - else - AC_PATH_PROG([PORT],port,) - dnl if homebrew isn't installed and macports is, add the macports default paths - dnl as a last resort. - if test x$PORT != x; then - CPPFLAGS="$CPPFLAGS -isystem /opt/local/include" - LDFLAGS="$LDFLAGS -L/opt/local/lib" - fi - fi - fi - ;; -esac - -CFLAGS="$CFLAGS -W" - -warn_CFLAGS="-Wall -Wextra -Wcast-align -Wnested-externs -Wshadow -Wstrict-prototypes -Wno-unused-function" -saved_CFLAGS="$CFLAGS" -CFLAGS="$CFLAGS $warn_CFLAGS" -AC_MSG_CHECKING([if ${CC} supports ${warn_CFLAGS}]) -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[char foo;]])], - [ AC_MSG_RESULT([yes]) ], - [ AC_MSG_RESULT([no]) - CFLAGS="$saved_CFLAGS" - ]) - - -AC_ARG_ENABLE(benchmark, - AS_HELP_STRING([--enable-benchmark],[compile benchmark (default is yes)]), - [use_benchmark=$enableval], - [use_benchmark=yes]) - -AC_ARG_ENABLE(tests, - AS_HELP_STRING([--enable-tests],[compile tests (default is yes)]), - [use_tests=$enableval], - [use_tests=yes]) - -AC_ARG_ENABLE(endomorphism, - AS_HELP_STRING([--enable-endomorphism],[enable endomorphism (default is no)]), - [use_endomorphism=$enableval], - [use_endomorphism=no]) - -AC_ARG_WITH([field], [AS_HELP_STRING([--with-field=gmp|64bit|64bit_asm|32bit|auto], -[Specify Field Implementation. Default is auto])],[req_field=$withval], [req_field=auto]) - -AC_ARG_WITH([bignum], [AS_HELP_STRING([--with-bignum=gmp|none|auto], -[Specify Bignum Implementation. Default is auto])],[req_bignum=$withval], [req_bignum=auto]) - -AC_ARG_WITH([scalar], [AS_HELP_STRING([--with-scalar=64bit|32bit|auto], -[Specify scalar implementation. Default is auto])],[req_scalar=$withval], [req_scalar=auto]) - -AC_CHECK_TYPES([__int128]) - -AC_CHECK_DECL(__builtin_expect,AC_DEFINE(HAVE_BUILTIN_EXPECT,1,[Define this symbol if __builtin_expect is available]),,) - -if test x"$req_field" = x"auto"; then - SECP_64BIT_ASM_CHECK - if test x"$has_64bit_asm" = x"yes"; then - set_field=64bit_asm - fi - - if test x"$set_field" = x; then - SECP_INT128_CHECK - if test x"$has_int128" = x"yes"; then - set_field=64bit - fi - fi - - if test x"$set_field" = x; then - set_field=32bit - fi -else - set_field=$req_field - case $set_field in - 64bit_asm) - SECP_64BIT_ASM_CHECK - ;; - 64bit) - SECP_INT128_CHECK - ;; - gmp) - SECP_GMP_CHECK - ;; - 32bit) - ;; - *) - AC_MSG_ERROR([invalid field implementation selection]) - ;; - esac -fi - -if test x"$req_scalar" = x"auto"; then - if test x"$set_scalar" = x; then - SECP_INT128_CHECK - if test x"$has_int128" = x"yes"; then - set_scalar=64bit - fi - fi - if test x"$set_scalar" = x; then - set_scalar=32bit - fi -else - set_scalar=$req_scalar - case $set_scalar in - 64bit) - SECP_INT128_CHECK - ;; - 32bit) - ;; - *) - AC_MSG_ERROR([invalid scalar implementation selected]) - ;; - esac -fi - -if test x"$req_bignum" = x"auto"; then - if test x"$set_bignum" = x; then - set_bignum=none - fi -else - set_bignum=$req_bignum - case $set_bignum in - gmp) - SECP_GMP_CHECK - ;; - none) - ;; - *) - AC_MSG_ERROR([invalid bignum implementation selection]) - ;; - esac -fi - -# select field implementation -case $set_field in -64bit_asm) - AC_DEFINE(USE_FIELD_5X52_ASM, 1, [Define this symbol to use the assembly version for the 5x52 field implementation]) - AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) - ;; -64bit) - AC_DEFINE(USE_FIELD_5X52_INT128, 1, [Define this symbol to use the __int128 version for the 5x52 field implementation]) - AC_DEFINE(USE_FIELD_5X52, 1, [Define this symbol to use the FIELD_5X52 implementation]) - ;; -gmp) - AC_DEFINE(HAVE_LIBGMP,1,[Define this symbol if libgmp is installed]) - AC_DEFINE(USE_FIELD_GMP, 1, [Define this symbol to use the FIELD_GMP implementation]) - ;; -32bit) - AC_DEFINE(USE_FIELD_10X26, 1, [Define this symbol to use the FIELD_10X26 implementation]) - ;; -*) - AC_MSG_ERROR([invalid field implementation]) - ;; -esac - -# select bignum implementation -case $set_bignum in -gmp) - AC_DEFINE(HAVE_LIBGMP, 1, [Define this symbol if libgmp is installed]) - AC_DEFINE(USE_NUM_GMP, 1, [Define this symbol to use the gmp implementation for num]) - AC_DEFINE(USE_FIELD_INV_NUM, 1, [Define this symbol to use the num-based field inverse implementation]) - AC_DEFINE(USE_SCALAR_INV_NUM, 1, [Define this symbol to use the num-based scalar inverse implementation]) - ;; -none) - AC_DEFINE(USE_NUM_NONE, 1, [Define this symbol to use no num implementation]) - AC_DEFINE(USE_FIELD_INV_BUILTIN, 1, [Define this symbol to use the native field inverse implementation]) - AC_DEFINE(USE_SCALAR_INV_BUILTIN, 1, [Define this symbol to use the native scalar inverse implementation]) - ;; -*) - AC_MSG_ERROR([invalid bignum implementation]) - ;; -esac - -#select scalar implementation -case $set_scalar in -64bit) - AC_DEFINE(USE_SCALAR_4X64, 1, [Define this symbol to use the 4x64 scalar implementation]) - ;; -32bit) - AC_DEFINE(USE_SCALAR_8X32, 1, [Define this symbol to use the 8x32 scalar implementation]) - ;; -*) - AC_MSG_ERROR([invalid scalar implementation]) - ;; -esac - -if test x"$use_tests" = x"yes"; then - SECP_OPENSSL_CHECK - if test x"$has_openssl_ec" == x"yes"; then - AC_DEFINE(ENABLE_OPENSSL_TESTS, 1, [Define this symbol if OpenSSL EC functions are available]) - SECP_TEST_INCLUDES="$SSL_CFLAGS $CRYPTO_CFLAGS" - SECP_TEST_LIBS="$CRYPTO_LIBS" - - case $host in - *mingw*) - SECP_TEST_LIBS="$SECP_TEST_LIBS -lgdi32" - ;; - esac - - fi -fi - -if test x"$set_field" = x"gmp" || test x"$set_bignum" = x"gmp"; then - SECP_LIBS="$SECP_LIBS $GMP_LIBS" - SECP_INCLUDES="$SECP_INCLUDES $GMP_CPPFLAGS" -fi - -if test x"$use_endomorphism" = x"yes"; then - AC_DEFINE(USE_ENDOMORPHISM, 1, [Define this symbol to use endomorphism optimization]) -fi - -AC_MSG_NOTICE([Using field implementation: $set_field]) -AC_MSG_NOTICE([Using bignum implementation: $set_bignum]) -AC_MSG_NOTICE([Using scalar implementation: $set_scalar]) - -AC_CONFIG_HEADERS([src/libsecp256k1-config.h]) -AC_CONFIG_FILES([Makefile libsecp256k1.pc]) -AC_SUBST(SECP_INCLUDES) -AC_SUBST(SECP_LIBS) -AC_SUBST(SECP_TEST_LIBS) -AC_SUBST(SECP_TEST_INCLUDES) -AC_SUBST(YASM_BINFMT) -AM_CONDITIONAL([USE_ASM], [test x"$set_field" == x"64bit_asm"]) -AM_CONDITIONAL([USE_TESTS], [test x"$use_tests" != x"no"]) -AM_CONDITIONAL([USE_BENCHMARK], [test x"$use_benchmark" != x"no"]) - -dnl make sure nothing new is exported so that we don't break the cache -PKGCONFIG_PATH_TEMP="$PKG_CONFIG_PATH" -unset PKG_CONFIG_PATH -PKG_CONFIG_PATH="$PKGCONFIG_PATH_TEMP" - -AC_OUTPUT diff --git a/src/secp256k1/include/secp256k1.h b/src/secp256k1/include/secp256k1.h deleted file mode 100644 index 94a6ef483..000000000 --- a/src/secp256k1/include/secp256k1.h +++ /dev/null @@ -1,240 +0,0 @@ -#ifndef _SECP256K1_ -# define _SECP256K1_ - -# ifdef __cplusplus -extern "C" { -# endif - -# if !defined(SECP256K1_GNUC_PREREQ) -# if defined(__GNUC__)&&defined(__GNUC_MINOR__) -# define SECP256K1_GNUC_PREREQ(_maj,_min) \ - ((__GNUC__<<16)+__GNUC_MINOR__>=((_maj)<<16)+(_min)) -# else -# define SECP256K1_GNUC_PREREQ(_maj,_min) 0 -# endif -# endif - -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(2,7) -# define SECP256K1_INLINE __inline__ -# elif (defined(_MSC_VER)) -# define SECP256K1_INLINE __inline -# else -# define SECP256K1_INLINE -# endif -# else -# define SECP256K1_INLINE inline -# endif - -/**Warning attributes - * NONNULL is not used if SECP256K1_BUILD is set to avoid the compiler optimizing out - * some paranoid null checks. */ -# if defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) -# else -# define SECP256K1_WARN_UNUSED_RESULT -# endif -# if !defined(SECP256K1_BUILD) && defined(__GNUC__) && SECP256K1_GNUC_PREREQ(3, 4) -# define SECP256K1_ARG_NONNULL(_x) __attribute__ ((__nonnull__(_x))) -# else -# define SECP256K1_ARG_NONNULL(_x) -# endif - - -/** Flags to pass to secp256k1_start. */ -# define SECP256K1_START_VERIFY (1 << 0) -# define SECP256K1_START_SIGN (1 << 1) - -/** Initialize the library. This may take some time (10-100 ms). - * You need to call this before calling any other function. - * It cannot run in parallel with any other functions, but once - * secp256k1_start() returns, all other functions are thread-safe. - */ -void secp256k1_start(unsigned int flags); - -/** Free all memory associated with this library. After this, no - * functions can be called anymore, except secp256k1_start() - */ -void secp256k1_stop(void); - -/** Verify an ECDSA signature. - * Returns: 1: correct signature - * 0: incorrect signature - * -1: invalid public key - * -2: invalid signature - * In: msg: the message being verified (cannot be NULL) - * msglen: the length of the message (at most 32) - * sig: the signature being verified (cannot be NULL) - * siglen: the length of the signature - * pubkey: the public key to verify with (cannot be NULL) - * pubkeylen: the length of pubkey - * Requires starting using SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_verify( - const unsigned char *msg, - int msglen, - const unsigned char *sig, - int siglen, - const unsigned char *pubkey, - int pubkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(5); - -/** Create an ECDSA signature. - * Returns: 1: signature created - * 0: nonce invalid, try another one - * In: msg: the message being signed (cannot be NULL) - * msglen: the length of the message being signed (at most 32) - * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) - * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) - * Out: sig: pointer to an array where the signature will be placed (cannot be NULL) - * In/Out: siglen: pointer to an int with the length of sig, which will be updated - * to contain the actual signature length (<=72). - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign( - const unsigned char *msg, - int msglen, - unsigned char *sig, - int *siglen, - const unsigned char *seckey, - const unsigned char *nonce -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5) SECP256K1_ARG_NONNULL(6); - -/** Create a compact ECDSA signature (64 byte + recovery id). - * Returns: 1: signature created - * 0: nonce invalid, try another one - * In: msg: the message being signed (cannot be NULL) - * msglen: the length of the message being signed (at most 32) - * seckey: pointer to a 32-byte secret key (cannot be NULL, assumed to be valid) - * nonce: pointer to a 32-byte nonce (cannot be NULL, generated with a cryptographic PRNG) - * Out: sig: pointer to a 64-byte array where the signature will be placed (cannot be NULL) - * recid: pointer to an int, which will be updated to contain the recovery id (can be NULL) - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_sign_compact( - const unsigned char *msg, - int msglen, - unsigned char *sig64, - const unsigned char *seckey, - const unsigned char *nonce, - int *recid -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); - -/** Recover an ECDSA public key from a compact signature. - * Returns: 1: public key successfully recovered (which guarantees a correct signature). - * 0: otherwise. - * In: msg: the message assumed to be signed (cannot be NULL) - * msglen: the length of the message (at most 32) - * sig64: signature as 64 byte array (cannot be NULL) - * compressed: whether to recover a compressed or uncompressed pubkey - * recid: the recovery id (0-3, as returned by ecdsa_sign_compact) - * Out: pubkey: pointer to a 33 or 65 byte array to put the pubkey (cannot be NULL) - * pubkeylen: pointer to an int that will contain the pubkey length (cannot be NULL) - * Requires starting using SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ecdsa_recover_compact( - const unsigned char *msg, - int msglen, - const unsigned char *sig64, - unsigned char *pubkey, - int *pubkeylen, - int compressed, - int recid -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3) SECP256K1_ARG_NONNULL(4) SECP256K1_ARG_NONNULL(5); - -/** Verify an ECDSA secret key. - * Returns: 1: secret key is valid - * 0: secret key is invalid - * In: seckey: pointer to a 32-byte secret key (cannot be NULL) - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_seckey_verify(const unsigned char *seckey) SECP256K1_ARG_NONNULL(1); - -/** Just validate a public key. - * Returns: 1: valid public key - * 0: invalid public key - * In: pubkey: pointer to a 33-byte or 65-byte public key (cannot be NULL). - * pubkeylen: length of pubkey - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) SECP256K1_ARG_NONNULL(1); - -/** Compute the public key for a secret key. - * In: compressed: whether the computed public key should be compressed - * seckey: pointer to a 32-byte private key (cannot be NULL) - * Out: pubkey: pointer to a 33-byte (if compressed) or 65-byte (if uncompressed) - * area to store the public key (cannot be NULL) - * pubkeylen: pointer to int that will be updated to contains the pubkey's - * length (cannot be NULL) - * Returns: 1: secret was valid, public key stores - * 0: secret was invalid, try again. - * Requires starting using SECP256K1_START_SIGN. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_create( - unsigned char *pubkey, - int *pubkeylen, - const unsigned char *seckey, - int compressed -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Decompress a public key. - * In/Out: pubkey: pointer to a 65-byte array to put the decompressed public key. - It must contain a 33-byte or 65-byte public key already (cannot be NULL) - * pubkeylen: pointer to the size of the public key pointed to by pubkey (cannot be NULL) - It will be updated to reflect the new size. - * Returns: 0 if the passed public key was invalid, 1 otherwise. If 1 is returned, the - pubkey is replaced with its decompressed version. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_decompress( - unsigned char *pubkey, - int *pubkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Export a private key in DER format. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_export( - const unsigned char *seckey, - unsigned char *privkey, - int *privkeylen, - int compressed -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2) SECP256K1_ARG_NONNULL(3); - -/** Import a private key in DER format. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_import( - unsigned char *seckey, - const unsigned char *privkey, - int privkeylen -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a private key by adding tweak to it. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_add( - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a public key by adding tweak times the generator to it. - * Requires starting with SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_add( - unsigned char *pubkey, - int pubkeylen, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); - -/** Tweak a private key by multiplying it with tweak. */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_privkey_tweak_mul( - unsigned char *seckey, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(2); - -/** Tweak a public key by multiplying it with tweak. - * Requires starting with SECP256K1_START_VERIFY. - */ -SECP256K1_WARN_UNUSED_RESULT int secp256k1_ec_pubkey_tweak_mul( - unsigned char *pubkey, - int pubkeylen, - const unsigned char *tweak -) SECP256K1_ARG_NONNULL(1) SECP256K1_ARG_NONNULL(3); - -# ifdef __cplusplus -} -# endif - -#endif diff --git a/src/secp256k1/libsecp256k1.pc.in b/src/secp256k1/libsecp256k1.pc similarity index 58% rename from src/secp256k1/libsecp256k1.pc.in rename to src/secp256k1/libsecp256k1.pc index 1c72dd000..1f7003816 100644 --- a/src/secp256k1/libsecp256k1.pc.in +++ b/src/secp256k1/libsecp256k1.pc @@ -1,13 +1,13 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ +prefix=/usr/local +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include Name: libsecp256k1 Description: Optimized C library for EC operations on curve secp256k1 URL: https://github.com/bitcoin/secp256k1 -Version: @PACKAGE_VERSION@ +Version: 0.1 Cflags: -I${includedir} -Libs.private: @SECP_LIBS@ +Libs.private: Libs: -L${libdir} -lsecp256k1 diff --git a/src/secp256k1/nasm_lt.sh b/src/secp256k1/nasm_lt.sh deleted file mode 100755 index 6cd73294c..000000000 --- a/src/secp256k1/nasm_lt.sh +++ /dev/null @@ -1,57 +0,0 @@ -#! /bin/sh -command="" -infile="" -o_opt=no -pic=no -while [ $# -gt 0 ]; do - case "$1" in - -DPIC|-fPIC|-fpic|-Kpic|-KPIC) - if [ "$pic" != "yes" ] ; then - command="$command -DPIC" - pic=yes - fi - ;; - -f|-fbin|-faout|-faoutb|-fcoff|-felf|-felf64|-fas86| \ - -fobj|-fwin32|-fwin64|-frdf|-fieee|-fmacho|-fmacho64) - # it's a file format specifier for nasm. - command="$command $1" - ;; - -f*) - # maybe a code-generation flag for gcc. - ;; - -[Ii]*) - incdir=`echo "$1" | sed 's/^-[Ii]//'` - if [ "x$incdir" = x -a "x$2" != x ] ; then - case "$2" in - -*) ;; - *) incdir="$2"; shift;; - esac - fi - if [ "x$incdir" != x ] ; then - # In the case of NASM, the trailing slash is necessary. - incdir=`echo "$incdir" | sed 's%/*$%/%'` - command="$command -I$incdir" - fi - ;; - -o*) - o_opt=yes - command="$command $1" - ;; - *.asm) - infile=$1 - command="$command $1" - ;; - *) - command="$command $1" - ;; - esac - shift -done -if [ "$o_opt" != yes ] ; then - # By default, NASM creates an output file - # in the same directory as the input file. - outfile="-o `echo $infile | sed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.o" - command="$command $outfile" -fi -echo $command -exec $command diff --git a/src/secp256k1/obj/.gitignore b/src/secp256k1/obj/.gitignore deleted file mode 100644 index e69de29bb..000000000 diff --git a/src/secp256k1/src/bench_inv.c b/src/secp256k1/src/bench_inv.c deleted file mode 100644 index d6f664333..000000000 --- a/src/secp256k1/src/bench_inv.c +++ /dev/null @@ -1,41 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ -#include - -#include "include/secp256k1.h" - -#include "util.h" -#include "num_impl.h" -#include "field_impl.h" -#include "group_impl.h" -#include "scalar_impl.h" - -int main(void) { - static const unsigned char init[32] = { - 0x02, 0x03, 0x05, 0x07, 0x0b, 0x0d, 0x11, 0x13, - 0x17, 0x1d, 0x1f, 0x25, 0x29, 0x2b, 0x2f, 0x35, - 0x3b, 0x3d, 0x43, 0x47, 0x49, 0x4f, 0x53, 0x59, - 0x61, 0x65, 0x67, 0x6b, 0x6d, 0x71, 0x7f, 0x83 - }; - static const unsigned char fini[32] = { - 0xba, 0x28, 0x58, 0xd8, 0xaa, 0x11, 0xd6, 0xf2, - 0xfa, 0xce, 0x50, 0xb1, 0x67, 0x19, 0xb1, 0xa6, - 0xe0, 0xaa, 0x84, 0x53, 0xf6, 0x80, 0xfc, 0x23, - 0x88, 0x3c, 0xd6, 0x74, 0x9f, 0x27, 0x09, 0x03 - }; - secp256k1_ge_start(); - secp256k1_scalar_t base, x; - secp256k1_scalar_set_b32(&base, init, NULL); - secp256k1_scalar_set_b32(&x, init, NULL); - for (int i=0; i<1000000; i++) { - secp256k1_scalar_inverse(&x, &x); - secp256k1_scalar_add(&x, &x, &base); - } - unsigned char res[32]; - secp256k1_scalar_get_b32(res, &x); - CHECK(memcmp(res, fini, 32) == 0); - return 0; -} diff --git a/src/secp256k1/src/bench_sign.c b/src/secp256k1/src/bench_sign.c deleted file mode 100644 index f01f11d68..000000000 --- a/src/secp256k1/src/bench_sign.c +++ /dev/null @@ -1,49 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ -#include -#include - -#include "include/secp256k1.h" -#include "util.h" - -int main(void) { - secp256k1_start(SECP256K1_START_SIGN); - - unsigned char msg[32]; - unsigned char nonce[32]; - unsigned char key[32]; - - for (int i = 0; i < 32; i++) msg[i] = i + 1; - for (int i = 0; i < 32; i++) nonce[i] = i + 33; - for (int i = 0; i < 32; i++) key[i] = i + 65; - - unsigned char sig[64]; - - for (int i=0; i<1000000; i++) { - int recid = 0; - CHECK(secp256k1_ecdsa_sign_compact(msg, 32, sig, key, nonce, &recid)); - for (int j = 0; j < 32; j++) { - nonce[j] = key[j]; /* Move former key to nonce */ - msg[j] = sig[j]; /* Move former R to message. */ - key[j] = sig[j + 32]; /* Move former S to key. */ - } - } - - static const unsigned char fini[64] = { - 0x92, 0x03, 0xef, 0xf1, 0x58, 0x0b, 0x49, 0x8d, - 0x22, 0x3d, 0x49, 0x0e, 0xbf, 0x26, 0x50, 0x0e, - 0x2d, 0x62, 0x90, 0xd7, 0x82, 0xbd, 0x3d, 0x5c, - 0xa9, 0x10, 0xa5, 0x49, 0xb1, 0xd8, 0x8c, 0xc0, - 0x5b, 0x5e, 0x9e, 0x68, 0x51, 0x3d, 0xe8, 0xec, - 0x82, 0x30, 0x82, 0x88, 0x8c, 0xfd, 0xe7, 0x71, - 0x15, 0x92, 0xfc, 0x14, 0x59, 0x78, 0x31, 0xb3, - 0xf6, 0x07, 0x91, 0x18, 0x00, 0x8d, 0x4c, 0xb2 - }; - CHECK(memcmp(sig, fini, 64) == 0); - - secp256k1_stop(); - return 0; -} diff --git a/src/secp256k1/src/bench_verify.c b/src/secp256k1/src/bench_verify.c deleted file mode 100644 index 690595516..000000000 --- a/src/secp256k1/src/bench_verify.c +++ /dev/null @@ -1,44 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#include -#include - -#include "include/secp256k1.h" -#include "util.h" - -int main(void) { - secp256k1_start(SECP256K1_START_VERIFY); - - unsigned char msg[32]; - unsigned char sig[64]; - - for (int i = 0; i < 32; i++) msg[i] = 1 + i; - for (int i = 0; i < 64; i++) sig[i] = 65 + i; - - unsigned char pubkey[33]; - for (int i=0; i<1000000; i++) { - int pubkeylen = 33; - CHECK(secp256k1_ecdsa_recover_compact(msg, 32, sig, pubkey, &pubkeylen, 1, i % 2)); - for (int j = 0; j < 32; j++) { - sig[j + 32] = msg[j]; /* Move former message to S. */ - msg[j] = sig[j]; /* Move former R to message. */ - sig[j] = pubkey[j + 1]; /* Move recovered pubkey X coordinate to R (which must be a valid X coordinate). */ - } - } - - static const unsigned char fini[33] = { - 0x02, - 0x52, 0x63, 0xae, 0x9a, 0x9d, 0x47, 0x1f, 0x1a, - 0xb2, 0x36, 0x65, 0x89, 0x11, 0xe7, 0xcc, 0x86, - 0xa3, 0xab, 0x97, 0xb6, 0xf1, 0xaf, 0xfd, 0x8f, - 0x9b, 0x38, 0xb6, 0x18, 0x55, 0xe5, 0xc2, 0x43 - }; - CHECK(memcmp(fini, pubkey, 33) == 0); - - secp256k1_stop(); - return 0; -} diff --git a/src/secp256k1/src/ecdsa.h b/src/secp256k1/src/ecdsa.h deleted file mode 100644 index 5fc5230c3..000000000 --- a/src/secp256k1/src/ecdsa.h +++ /dev/null @@ -1,27 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECDSA_ -#define _SECP256K1_ECDSA_ - -#include "scalar.h" -#include "group.h" - -static void secp256k1_ecsda_start(void); -static void secp256k1_ecdsa_stop(void); - -typedef struct { - secp256k1_scalar_t r, s; -} secp256k1_ecdsa_sig_t; - -static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size); -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a); -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message); -static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid); -static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid); -static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s); - -#endif diff --git a/src/secp256k1/src/ecdsa_impl.h b/src/secp256k1/src/ecdsa_impl.h deleted file mode 100644 index a951d0b4a..000000000 --- a/src/secp256k1/src/ecdsa_impl.h +++ /dev/null @@ -1,205 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - - -#ifndef _SECP256K1_ECDSA_IMPL_H_ -#define _SECP256K1_ECDSA_IMPL_H_ - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult.h" -#include "ecmult_gen.h" -#include "ecdsa.h" - -typedef struct { - secp256k1_fe_t order_as_fe; - secp256k1_fe_t p_minus_order; -} secp256k1_ecdsa_consts_t; - -static const secp256k1_ecdsa_consts_t *secp256k1_ecdsa_consts = NULL; - -static void secp256k1_ecdsa_start(void) { - if (secp256k1_ecdsa_consts != NULL) - return; - - /* Allocate. */ - secp256k1_ecdsa_consts_t *ret = (secp256k1_ecdsa_consts_t*)malloc(sizeof(secp256k1_ecdsa_consts_t)); - - static const unsigned char order[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, - 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 - }; - - secp256k1_fe_set_b32(&ret->order_as_fe, order); - secp256k1_fe_negate(&ret->p_minus_order, &ret->order_as_fe, 1); - secp256k1_fe_normalize(&ret->p_minus_order); - - /* Set the global pointer. */ - secp256k1_ecdsa_consts = ret; -} - -static void secp256k1_ecdsa_stop(void) { - if (secp256k1_ecdsa_consts == NULL) - return; - - secp256k1_ecdsa_consts_t *c = (secp256k1_ecdsa_consts_t*)secp256k1_ecdsa_consts; - secp256k1_ecdsa_consts = NULL; - free(c); -} - -static int secp256k1_ecdsa_sig_parse(secp256k1_ecdsa_sig_t *r, const unsigned char *sig, int size) { - if (sig[0] != 0x30) return 0; - int lenr = sig[3]; - if (5+lenr >= size) return 0; - int lens = sig[lenr+5]; - if (sig[1] != lenr+lens+4) return 0; - if (lenr+lens+6 > size) return 0; - if (sig[2] != 0x02) return 0; - if (lenr == 0) return 0; - if (sig[lenr+4] != 0x02) return 0; - if (lens == 0) return 0; - const unsigned char *sp = sig + 6 + lenr; - while (lens > 0 && sp[0] == 0) { - lens--; - sp++; - } - if (lens > 32) return 0; - const unsigned char *rp = sig + 4; - while (lenr > 0 && rp[0] == 0) { - lenr--; - rp++; - } - if (lenr > 32) return 0; - unsigned char ra[32] = {0}, sa[32] = {0}; - memcpy(ra + 32 - lenr, rp, lenr); - memcpy(sa + 32 - lens, sp, lens); - int overflow = 0; - secp256k1_scalar_set_b32(&r->r, ra, &overflow); - if (overflow) return 0; - secp256k1_scalar_set_b32(&r->s, sa, &overflow); - if (overflow) return 0; - return 1; -} - -static int secp256k1_ecdsa_sig_serialize(unsigned char *sig, int *size, const secp256k1_ecdsa_sig_t *a) { - unsigned char r[33] = {0}, s[33] = {0}; - secp256k1_scalar_get_b32(&r[1], &a->r); - secp256k1_scalar_get_b32(&s[1], &a->s); - unsigned char *rp = r, *sp = s; - int lenR = 33, lenS = 33; - while (lenR > 1 && rp[0] == 0 && rp[1] < 0x80) { lenR--; rp++; } - while (lenS > 1 && sp[0] == 0 && sp[1] < 0x80) { lenS--; sp++; } - if (*size < 6+lenS+lenR) - return 0; - *size = 6 + lenS + lenR; - sig[0] = 0x30; - sig[1] = 4 + lenS + lenR; - sig[2] = 0x02; - sig[3] = lenR; - memcpy(sig+4, rp, lenR); - sig[4+lenR] = 0x02; - sig[5+lenR] = lenS; - memcpy(sig+lenR+6, sp, lenS); - return 1; -} - -static int secp256k1_ecdsa_sig_recompute(secp256k1_scalar_t *r2, const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { - if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) - return 0; - - int ret = 0; - secp256k1_scalar_t sn, u1, u2; - secp256k1_scalar_inverse_var(&sn, &sig->s); - secp256k1_scalar_mul(&u1, &sn, message); - secp256k1_scalar_mul(&u2, &sn, &sig->r); - secp256k1_gej_t pubkeyj; secp256k1_gej_set_ge(&pubkeyj, pubkey); - secp256k1_gej_t pr; secp256k1_ecmult(&pr, &pubkeyj, &u2, &u1); - if (!secp256k1_gej_is_infinity(&pr)) { - secp256k1_fe_t xr; secp256k1_gej_get_x_var(&xr, &pr); - secp256k1_fe_normalize(&xr); - unsigned char xrb[32]; secp256k1_fe_get_b32(xrb, &xr); - secp256k1_scalar_set_b32(r2, xrb, NULL); - ret = 1; - } - return ret; -} - -static int secp256k1_ecdsa_sig_recover(const secp256k1_ecdsa_sig_t *sig, secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message, int recid) { - if (secp256k1_scalar_is_zero(&sig->r) || secp256k1_scalar_is_zero(&sig->s)) - return 0; - - unsigned char brx[32]; - secp256k1_scalar_get_b32(brx, &sig->r); - secp256k1_fe_t fx; - VERIFY_CHECK(secp256k1_fe_set_b32(&fx, brx)); /* brx comes from a scalar, so is less than the order; certainly less than p */ - if (recid & 2) { - if (secp256k1_fe_cmp_var(&fx, &secp256k1_ecdsa_consts->p_minus_order) >= 0) - return 0; - secp256k1_fe_add(&fx, &secp256k1_ecdsa_consts->order_as_fe); - } - secp256k1_ge_t x; - if (!secp256k1_ge_set_xo(&x, &fx, recid & 1)) - return 0; - secp256k1_gej_t xj; - secp256k1_gej_set_ge(&xj, &x); - secp256k1_scalar_t rn, u1, u2; - secp256k1_scalar_inverse_var(&rn, &sig->r); - secp256k1_scalar_mul(&u1, &rn, message); - secp256k1_scalar_negate(&u1, &u1); - secp256k1_scalar_mul(&u2, &rn, &sig->s); - secp256k1_gej_t qj; - secp256k1_ecmult(&qj, &xj, &u2, &u1); - secp256k1_ge_set_gej_var(pubkey, &qj); - return !secp256k1_gej_is_infinity(&qj); -} - -static int secp256k1_ecdsa_sig_verify(const secp256k1_ecdsa_sig_t *sig, const secp256k1_ge_t *pubkey, const secp256k1_scalar_t *message) { - secp256k1_scalar_t r2; - int ret = 0; - ret = secp256k1_ecdsa_sig_recompute(&r2, sig, pubkey, message) && secp256k1_scalar_eq(&sig->r, &r2); - return ret; -} - -static int secp256k1_ecdsa_sig_sign(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *seckey, const secp256k1_scalar_t *message, const secp256k1_scalar_t *nonce, int *recid) { - secp256k1_gej_t rp; - secp256k1_ecmult_gen(&rp, nonce); - secp256k1_ge_t r; - secp256k1_ge_set_gej(&r, &rp); - unsigned char b[32]; - secp256k1_fe_normalize(&r.x); - secp256k1_fe_normalize(&r.y); - secp256k1_fe_get_b32(b, &r.x); - int overflow = 0; - secp256k1_scalar_set_b32(&sig->r, b, &overflow); - if (recid) - *recid = (overflow ? 2 : 0) | (secp256k1_fe_is_odd(&r.y) ? 1 : 0); - secp256k1_scalar_t n; - secp256k1_scalar_mul(&n, &sig->r, seckey); - secp256k1_scalar_add(&n, &n, message); - secp256k1_scalar_inverse(&sig->s, nonce); - secp256k1_scalar_mul(&sig->s, &sig->s, &n); - secp256k1_scalar_clear(&n); - secp256k1_gej_clear(&rp); - secp256k1_ge_clear(&r); - if (secp256k1_scalar_is_zero(&sig->s)) - return 0; - if (secp256k1_scalar_is_high(&sig->s)) { - secp256k1_scalar_negate(&sig->s, &sig->s); - if (recid) - *recid ^= 1; - } - return 1; -} - -static void secp256k1_ecdsa_sig_set_rs(secp256k1_ecdsa_sig_t *sig, const secp256k1_scalar_t *r, const secp256k1_scalar_t *s) { - sig->r = *r; - sig->s = *s; -} - -#endif diff --git a/src/secp256k1/src/eckey.h b/src/secp256k1/src/eckey.h deleted file mode 100644 index 6de5dc0a5..000000000 --- a/src/secp256k1/src/eckey.h +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECKEY_ -#define _SECP256K1_ECKEY_ - -#include "group.h" -#include "scalar.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size); -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed); - -static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen); -static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed); - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak); -static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak); - -#endif diff --git a/src/secp256k1/src/eckey_impl.h b/src/secp256k1/src/eckey_impl.h deleted file mode 100644 index 0f218ced9..000000000 --- a/src/secp256k1/src/eckey_impl.h +++ /dev/null @@ -1,191 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECKEY_IMPL_H_ -#define _SECP256K1_ECKEY_IMPL_H_ - -#include "eckey.h" - -#include "scalar.h" -#include "field.h" -#include "group.h" -#include "ecmult_gen.h" - -static int secp256k1_eckey_pubkey_parse(secp256k1_ge_t *elem, const unsigned char *pub, int size) { - if (size == 33 && (pub[0] == 0x02 || pub[0] == 0x03)) { - secp256k1_fe_t x; - return secp256k1_fe_set_b32(&x, pub+1) && secp256k1_ge_set_xo(elem, &x, pub[0] == 0x03); - } else if (size == 65 && (pub[0] == 0x04 || pub[0] == 0x06 || pub[0] == 0x07)) { - secp256k1_fe_t x, y; - if (!secp256k1_fe_set_b32(&x, pub+1) || !secp256k1_fe_set_b32(&y, pub+33)) { - return 0; - } - secp256k1_ge_set_xy(elem, &x, &y); - if ((pub[0] == 0x06 || pub[0] == 0x07) && secp256k1_fe_is_odd(&y) != (pub[0] == 0x07)) - return 0; - return secp256k1_ge_is_valid(elem); - } else { - return 0; - } -} - -static int secp256k1_eckey_pubkey_serialize(secp256k1_ge_t *elem, unsigned char *pub, int *size, int compressed) { - if (secp256k1_ge_is_infinity(elem)) { - return 0; - } - secp256k1_fe_normalize(&elem->x); - secp256k1_fe_normalize(&elem->y); - secp256k1_fe_get_b32(&pub[1], &elem->x); - if (compressed) { - *size = 33; - pub[0] = 0x02 | (secp256k1_fe_is_odd(&elem->y) ? 0x01 : 0x00); - } else { - *size = 65; - pub[0] = 0x04; - secp256k1_fe_get_b32(&pub[33], &elem->y); - } - return 1; -} - -static int secp256k1_eckey_privkey_parse(secp256k1_scalar_t *key, const unsigned char *privkey, int privkeylen) { - const unsigned char *end = privkey + privkeylen; - /* sequence header */ - if (end < privkey+1 || *privkey != 0x30) - return 0; - privkey++; - /* sequence length constructor */ - int lenb = 0; - if (end < privkey+1 || !(*privkey & 0x80)) - return 0; - lenb = *privkey & ~0x80; privkey++; - if (lenb < 1 || lenb > 2) - return 0; - if (end < privkey+lenb) - return 0; - /* sequence length */ - int len = 0; - len = privkey[lenb-1] | (lenb > 1 ? privkey[lenb-2] << 8 : 0); - privkey += lenb; - if (end < privkey+len) - return 0; - /* sequence element 0: version number (=1) */ - if (end < privkey+3 || privkey[0] != 0x02 || privkey[1] != 0x01 || privkey[2] != 0x01) - return 0; - privkey += 3; - /* sequence element 1: octet string, up to 32 bytes */ - if (end < privkey+2 || privkey[0] != 0x04 || privkey[1] > 0x20 || end < privkey+2+privkey[1]) - return 0; - int overflow = 0; - unsigned char c[32] = {0}; - memcpy(c + 32 - privkey[1], privkey + 2, privkey[1]); - secp256k1_scalar_set_b32(key, c, &overflow); - memset(c, 0, 32); - return !overflow; -} - -static int secp256k1_eckey_privkey_serialize(unsigned char *privkey, int *privkeylen, const secp256k1_scalar_t *key, int compressed) { - secp256k1_gej_t rp; - secp256k1_ecmult_gen(&rp, key); - secp256k1_ge_t r; - secp256k1_ge_set_gej(&r, &rp); - if (compressed) { - static const unsigned char begin[] = { - 0x30,0x81,0xD3,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0x85,0x30,0x81,0x82,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x21,0x02,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x24,0x03,0x22,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - secp256k1_scalar_get_b32(ptr, key); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - int pubkeylen = 0; - if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 1)) { - return 0; - } - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } else { - static const unsigned char begin[] = { - 0x30,0x82,0x01,0x13,0x02,0x01,0x01,0x04,0x20 - }; - static const unsigned char middle[] = { - 0xA0,0x81,0xA5,0x30,0x81,0xA2,0x02,0x01,0x01,0x30,0x2C,0x06,0x07,0x2A,0x86,0x48, - 0xCE,0x3D,0x01,0x01,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F,0x30,0x06,0x04,0x01,0x00,0x04,0x01,0x07,0x04, - 0x41,0x04,0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,0x62,0x95,0xCE,0x87, - 0x0B,0x07,0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8, - 0x17,0x98,0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65,0x5D,0xA4,0xFB,0xFC,0x0E,0x11, - 0x08,0xA8,0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19,0x9C,0x47,0xD0,0x8F,0xFB,0x10, - 0xD4,0xB8,0x02,0x21,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E, - 0x8C,0xD0,0x36,0x41,0x41,0x02,0x01,0x01,0xA1,0x44,0x03,0x42,0x00 - }; - unsigned char *ptr = privkey; - memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin); - secp256k1_scalar_get_b32(ptr, key); ptr += 32; - memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle); - int pubkeylen = 0; - if (!secp256k1_eckey_pubkey_serialize(&r, ptr, &pubkeylen, 0)) { - return 0; - } - ptr += pubkeylen; - *privkeylen = ptr - privkey; - } - return 1; -} - -static int secp256k1_eckey_privkey_tweak_add(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { - secp256k1_scalar_add(key, key, tweak); - if (secp256k1_scalar_is_zero(key)) - return 0; - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_add(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { - secp256k1_gej_t pt; - secp256k1_gej_set_ge(&pt, key); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_ecmult(&pt, &pt, &one, tweak); - - if (secp256k1_gej_is_infinity(&pt)) - return 0; - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -static int secp256k1_eckey_privkey_tweak_mul(secp256k1_scalar_t *key, const secp256k1_scalar_t *tweak) { - if (secp256k1_scalar_is_zero(tweak)) - return 0; - - secp256k1_scalar_mul(key, key, tweak); - return 1; -} - -static int secp256k1_eckey_pubkey_tweak_mul(secp256k1_ge_t *key, const secp256k1_scalar_t *tweak) { - if (secp256k1_scalar_is_zero(tweak)) - return 0; - - secp256k1_scalar_t zero; - secp256k1_scalar_set_int(&zero, 0); - secp256k1_gej_t pt; - secp256k1_gej_set_ge(&pt, key); - secp256k1_ecmult(&pt, &pt, tweak, &zero); - secp256k1_ge_set_gej(key, &pt); - return 1; -} - -#endif diff --git a/src/secp256k1/src/ecmult.h b/src/secp256k1/src/ecmult.h deleted file mode 100644 index 15a7100a4..000000000 --- a/src/secp256k1/src/ecmult.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_ -#define _SECP256K1_ECMULT_ - -#include "num.h" -#include "group.h" - -static void secp256k1_ecmult_start(void); -static void secp256k1_ecmult_stop(void); - -/** Double multiply: R = na*A + ng*G */ -static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng); - -#endif diff --git a/src/secp256k1/src/ecmult_gen.h b/src/secp256k1/src/ecmult_gen.h deleted file mode 100644 index 42f822f9c..000000000 --- a/src/secp256k1/src/ecmult_gen.h +++ /dev/null @@ -1,19 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_GEN_ -#define _SECP256K1_ECMULT_GEN_ - -#include "scalar.h" -#include "group.h" - -static void secp256k1_ecmult_gen_start(void); -static void secp256k1_ecmult_gen_stop(void); - -/** Multiply with the generator: R = a*G */ -static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *a); - -#endif diff --git a/src/secp256k1/src/ecmult_gen_impl.h b/src/secp256k1/src/ecmult_gen_impl.h deleted file mode 100644 index af0ead522..000000000 --- a/src/secp256k1/src/ecmult_gen_impl.h +++ /dev/null @@ -1,121 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_GEN_IMPL_H_ -#define _SECP256K1_ECMULT_GEN_IMPL_H_ - -#include "scalar.h" -#include "group.h" -#include "ecmult_gen.h" - -typedef struct { - /* For accelerating the computation of a*G: - * To harden against timing attacks, use the following mechanism: - * * Break up the multiplicand into groups of 4 bits, called n_0, n_1, n_2, ..., n_63. - * * Compute sum(n_i * 16^i * G + U_i, i=0..63), where: - * * U_i = U * 2^i (for i=0..62) - * * U_i = U * (1-2^63) (for i=63) - * where U is a point with no known corresponding scalar. Note that sum(U_i, i=0..63) = 0. - * For each i, and each of the 16 possible values of n_i, (n_i * 16^i * G + U_i) is - * precomputed (call it prec(i, n_i)). The formula now becomes sum(prec(i, n_i), i=0..63). - * None of the resulting prec group elements have a known scalar, and neither do any of - * the intermediate sums while computing a*G. - */ - secp256k1_fe_t prec[64][16][2]; /* prec[j][i] = (16^j * i * G + U_i).{x,y} */ -} secp256k1_ecmult_gen_consts_t; - -static const secp256k1_ecmult_gen_consts_t *secp256k1_ecmult_gen_consts = NULL; - -static void secp256k1_ecmult_gen_start(void) { - if (secp256k1_ecmult_gen_consts != NULL) - return; - - /* Allocate the precomputation table. */ - secp256k1_ecmult_gen_consts_t *ret = (secp256k1_ecmult_gen_consts_t*)malloc(sizeof(secp256k1_ecmult_gen_consts_t)); - - /* get the generator */ - const secp256k1_ge_t *g = &secp256k1_ge_consts->g; - secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); - - /* Construct a group element with no known corresponding scalar (nothing up my sleeve). */ - secp256k1_gej_t nums_gej; - { - static const unsigned char nums_b32[32] = "The scalar for this x is unknown"; - secp256k1_fe_t nums_x; - VERIFY_CHECK(secp256k1_fe_set_b32(&nums_x, nums_b32)); - secp256k1_ge_t nums_ge; - VERIFY_CHECK(secp256k1_ge_set_xo(&nums_ge, &nums_x, 0)); - secp256k1_gej_set_ge(&nums_gej, &nums_ge); - /* Add G to make the bits in x uniformly distributed. */ - secp256k1_gej_add_ge_var(&nums_gej, &nums_gej, g); - } - - /* compute prec. */ - secp256k1_ge_t prec[1024]; - { - secp256k1_gej_t precj[1024]; /* Jacobian versions of prec. */ - secp256k1_gej_t gbase; gbase = gj; /* 16^j * G */ - secp256k1_gej_t numsbase; numsbase = nums_gej; /* 2^j * nums. */ - for (int j=0; j<64; j++) { - /* Set precj[j*16 .. j*16+15] to (numsbase, numsbase + gbase, ..., numsbase + 15*gbase). */ - precj[j*16] = numsbase; - for (int i=1; i<16; i++) { - secp256k1_gej_add_var(&precj[j*16 + i], &precj[j*16 + i - 1], &gbase); - } - /* Multiply gbase by 16. */ - for (int i=0; i<4; i++) { - secp256k1_gej_double_var(&gbase, &gbase); - } - /* Multiply numbase by 2. */ - secp256k1_gej_double_var(&numsbase, &numsbase); - if (j == 62) { - /* In the last iteration, numsbase is (1 - 2^j) * nums instead. */ - secp256k1_gej_neg(&numsbase, &numsbase); - secp256k1_gej_add_var(&numsbase, &numsbase, &nums_gej); - } - } - secp256k1_ge_set_all_gej_var(1024, prec, precj); - } - for (int j=0; j<64; j++) { - for (int i=0; i<16; i++) { - VERIFY_CHECK(!secp256k1_ge_is_infinity(&prec[j*16 + i])); - ret->prec[j][i][0] = prec[j*16 + i].x; - ret->prec[j][i][1] = prec[j*16 + i].y; - } - } - - /* Set the global pointer to the precomputation table. */ - secp256k1_ecmult_gen_consts = ret; -} - -static void secp256k1_ecmult_gen_stop(void) { - if (secp256k1_ecmult_gen_consts == NULL) - return; - - secp256k1_ecmult_gen_consts_t *c = (secp256k1_ecmult_gen_consts_t*)secp256k1_ecmult_gen_consts; - secp256k1_ecmult_gen_consts = NULL; - free(c); -} - -static void secp256k1_ecmult_gen(secp256k1_gej_t *r, const secp256k1_scalar_t *gn) { - const secp256k1_ecmult_gen_consts_t *c = secp256k1_ecmult_gen_consts; - secp256k1_gej_set_infinity(r); - secp256k1_ge_t add; - add.infinity = 0; - int bits; - for (int j=0; j<64; j++) { - bits = secp256k1_scalar_get_bits(gn, j * 4, 4); - for (int i=0; i<16; i++) { - secp256k1_fe_cmov(&add.x, &c->prec[j][i][0], i == bits); - secp256k1_fe_cmov(&add.y, &c->prec[j][i][1], i == bits); - } - secp256k1_gej_add_ge(r, r, &add); - } - bits = 0; - secp256k1_ge_clear(&add); -} - -#endif diff --git a/src/secp256k1/src/ecmult_impl.h b/src/secp256k1/src/ecmult_impl.h deleted file mode 100644 index 445b81593..000000000 --- a/src/secp256k1/src/ecmult_impl.h +++ /dev/null @@ -1,245 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_ECMULT_IMPL_H_ -#define _SECP256K1_ECMULT_IMPL_H_ - -#include "group.h" -#include "scalar.h" -#include "ecmult.h" - -/* optimal for 128-bit and 256-bit exponents. */ -#define WINDOW_A 5 - -/** larger numbers may result in slightly better performance, at the cost of - exponentially larger precomputed tables. WINDOW_G == 14 results in 640 KiB. */ -#ifdef USE_ENDOMORPHISM -#define WINDOW_G 14 -#else -#define WINDOW_G 15 -#endif - -/** Fill a table 'pre' with precomputed odd multiples of a. W determines the size of the table. - * pre will contains the values [1*a,3*a,5*a,...,(2^(w-1)-1)*a], so it needs place for - * 2^(w-2) entries. - * - * There are two versions of this function: - * - secp256k1_ecmult_precomp_wnaf_gej, which operates on group elements in jacobian notation, - * fast to precompute, but slower to use in later additions. - * - secp256k1_ecmult_precomp_wnaf_ge, which operates on group elements in affine notations, - * (much) slower to precompute, but a bit faster to use in later additions. - * To compute a*P + b*G, we use the jacobian version for P, and the affine version for G, as - * G is constant, so it only needs to be done once in advance. - */ -static void secp256k1_ecmult_table_precomp_gej_var(secp256k1_gej_t *pre, const secp256k1_gej_t *a, int w) { - pre[0] = *a; - secp256k1_gej_t d; secp256k1_gej_double_var(&d, &pre[0]); - for (int i=1; i<(1 << (w-2)); i++) - secp256k1_gej_add_var(&pre[i], &d, &pre[i-1]); -} - -static void secp256k1_ecmult_table_precomp_ge_var(secp256k1_ge_t *pre, const secp256k1_gej_t *a, int w) { - const int table_size = 1 << (w-2); - secp256k1_gej_t prej[table_size]; - prej[0] = *a; - secp256k1_gej_t d; secp256k1_gej_double_var(&d, a); - for (int i=1; i= -((1 << ((w)-1)) - 1)); \ - VERIFY_CHECK((n) <= ((1 << ((w)-1)) - 1)); \ - if ((n) > 0) \ - *(r) = (pre)[((n)-1)/2]; \ - else \ - (neg)((r), &(pre)[(-(n)-1)/2]); \ -} while(0) - -#define ECMULT_TABLE_GET_GEJ(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_gej_neg) -#define ECMULT_TABLE_GET_GE(r,pre,n,w) ECMULT_TABLE_GET((r),(pre),(n),(w),secp256k1_ge_neg) - -typedef struct { - /* For accelerating the computation of a*P + b*G: */ - secp256k1_ge_t pre_g[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of the generator */ -#ifdef USE_ENDOMORPHISM - secp256k1_ge_t pre_g_128[ECMULT_TABLE_SIZE(WINDOW_G)]; /* odd multiples of 2^128*generator */ -#endif -} secp256k1_ecmult_consts_t; - -static const secp256k1_ecmult_consts_t *secp256k1_ecmult_consts = NULL; - -static void secp256k1_ecmult_start(void) { - if (secp256k1_ecmult_consts != NULL) - return; - - /* Allocate the precomputation table. */ - secp256k1_ecmult_consts_t *ret = (secp256k1_ecmult_consts_t*)malloc(sizeof(secp256k1_ecmult_consts_t)); - - /* get the generator */ - const secp256k1_ge_t *g = &secp256k1_ge_consts->g; - secp256k1_gej_t gj; secp256k1_gej_set_ge(&gj, g); - -#ifdef USE_ENDOMORPHISM - /* calculate 2^128*generator */ - secp256k1_gej_t g_128j = gj; - for (int i=0; i<128; i++) - secp256k1_gej_double_var(&g_128j, &g_128j); -#endif - - /* precompute the tables with odd multiples */ - secp256k1_ecmult_table_precomp_ge_var(ret->pre_g, &gj, WINDOW_G); -#ifdef USE_ENDOMORPHISM - secp256k1_ecmult_table_precomp_ge_var(ret->pre_g_128, &g_128j, WINDOW_G); -#endif - - /* Set the global pointer to the precomputation table. */ - secp256k1_ecmult_consts = ret; -} - -static void secp256k1_ecmult_stop(void) { - if (secp256k1_ecmult_consts == NULL) - return; - - secp256k1_ecmult_consts_t *c = (secp256k1_ecmult_consts_t*)secp256k1_ecmult_consts; - secp256k1_ecmult_consts = NULL; - free(c); -} - -/** Convert a number to WNAF notation. The number becomes represented by sum(2^i * wnaf[i], i=0..bits), - * with the following guarantees: - * - each wnaf[i] is either 0, or an odd integer between -(1<<(w-1) - 1) and (1<<(w-1) - 1) - * - two non-zero entries in wnaf are separated by at least w-1 zeroes. - * - the number of set values in wnaf is returned. This number is at most 256, and at most one more - * - than the number of bits in the (absolute value) of the input. - */ -static int secp256k1_ecmult_wnaf(int *wnaf, const secp256k1_scalar_t *a, int w) { - secp256k1_scalar_t s = *a; - - int sign = 1; - if (secp256k1_scalar_get_bits(&s, 255, 1)) { - secp256k1_scalar_negate(&s, &s); - sign = -1; - } - - int set_bits = 0; - int bit = 0; - while (bit < 256) { - if (secp256k1_scalar_get_bits(&s, bit, 1) == 0) { - bit++; - continue; - } - while (set_bits < bit) { - wnaf[set_bits++] = 0; - } - int now = w; - if (bit + now > 256) { - now = 256 - bit; - } - int word = secp256k1_scalar_get_bits_var(&s, bit, now); - if (word & (1 << (w-1))) { - secp256k1_scalar_add_bit(&s, bit + w); - wnaf[set_bits++] = sign * (word - (1 << w)); - } else { - wnaf[set_bits++] = sign * word; - } - bit += now; - } - return set_bits; -} - -static void secp256k1_ecmult(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_scalar_t *na, const secp256k1_scalar_t *ng) { - const secp256k1_ecmult_consts_t *c = secp256k1_ecmult_consts; - -#ifdef USE_ENDOMORPHISM - secp256k1_scalar_t na_1, na_lam; - /* split na into na_1 and na_lam (where na = na_1 + na_lam*lambda, and na_1 and na_lam are ~128 bit) */ - secp256k1_scalar_split_lambda_var(&na_1, &na_lam, na); - - /* build wnaf representation for na_1 and na_lam. */ - int wnaf_na_1[130]; int bits_na_1 = secp256k1_ecmult_wnaf(wnaf_na_1, &na_1, WINDOW_A); - int wnaf_na_lam[130]; int bits_na_lam = secp256k1_ecmult_wnaf(wnaf_na_lam, &na_lam, WINDOW_A); - VERIFY_CHECK(bits_na_1 <= 130); - VERIFY_CHECK(bits_na_lam <= 130); - int bits = bits_na_1; - if (bits_na_lam > bits) bits = bits_na_lam; -#else - /* build wnaf representation for na. */ - int wnaf_na[256]; int bits_na = secp256k1_ecmult_wnaf(wnaf_na, na, WINDOW_A); - int bits = bits_na; -#endif - - /* calculate odd multiples of a */ - secp256k1_gej_t pre_a[ECMULT_TABLE_SIZE(WINDOW_A)]; - secp256k1_ecmult_table_precomp_gej_var(pre_a, a, WINDOW_A); - -#ifdef USE_ENDOMORPHISM - secp256k1_gej_t pre_a_lam[ECMULT_TABLE_SIZE(WINDOW_A)]; - for (int i=0; i bits) bits = bits_ng_1; - if (bits_ng_128 > bits) bits = bits_ng_128; -#else - int wnaf_ng[257]; int bits_ng = secp256k1_ecmult_wnaf(wnaf_ng, ng, WINDOW_G); - if (bits_ng > bits) bits = bits_ng; -#endif - - secp256k1_gej_set_infinity(r); - secp256k1_gej_t tmpj; - secp256k1_ge_t tmpa; - - for (int i=bits-1; i>=0; i--) { - secp256k1_gej_double_var(r, r); - int n; -#ifdef USE_ENDOMORPHISM - if (i < bits_na_1 && (n = wnaf_na_1[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_na_lam && (n = wnaf_na_lam[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a_lam, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_ng_1 && (n = wnaf_ng_1[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } - if (i < bits_ng_128 && (n = wnaf_ng_128[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g_128, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } -#else - if (i < bits_na && (n = wnaf_na[i])) { - ECMULT_TABLE_GET_GEJ(&tmpj, pre_a, n, WINDOW_A); - secp256k1_gej_add_var(r, r, &tmpj); - } - if (i < bits_ng && (n = wnaf_ng[i])) { - ECMULT_TABLE_GET_GE(&tmpa, c->pre_g, n, WINDOW_G); - secp256k1_gej_add_ge_var(r, r, &tmpa); - } -#endif - } -} - -#endif diff --git a/src/secp256k1/src/field.h b/src/secp256k1/src/field.h deleted file mode 100644 index 0cdf0fb47..000000000 --- a/src/secp256k1/src/field.h +++ /dev/null @@ -1,122 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_ -#define _SECP256K1_FIELD_ - -/** Field element module. - * - * Field elements can be represented in several ways, but code accessing - * it (and implementations) need to take certain properaties into account: - * - Each field element can be normalized or not. - * - Each field element has a magnitude, which represents how far away - * its representation is away from normalization. Normalized elements - * always have a magnitude of 1, but a magnitude of 1 doesn't imply - * normality. - */ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_FIELD_GMP) -#include "field_gmp.h" -#elif defined(USE_FIELD_10X26) -#include "field_10x26.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52.h" -#else -#error "Please select field implementation" -#endif - -typedef struct { -#ifndef USE_NUM_NONE - secp256k1_num_t p; -#endif - secp256k1_fe_t order; -} secp256k1_fe_consts_t; - -static const secp256k1_fe_consts_t *secp256k1_fe_consts = NULL; - -/** Initialize field element precomputation data. */ -static void secp256k1_fe_start(void); - -/** Unload field element precomputation data. */ -static void secp256k1_fe_stop(void); - -/** Normalize a field element. */ -static void secp256k1_fe_normalize(secp256k1_fe_t *r); - -/** Set a field element equal to a small integer. Resulting field element is normalized. */ -static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a); - -/** Verify whether a field element is zero. Requires the input to be normalized. */ -static int secp256k1_fe_is_zero(const secp256k1_fe_t *a); - -/** Check the "oddness" of a field element. Requires the input to be normalized. */ -static int secp256k1_fe_is_odd(const secp256k1_fe_t *a); - -/** Compare two field elements. Requires both inputs to be normalized */ -static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b); - -/** Compare two field elements. Requires both inputs to be normalized */ -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b); - -/** Set a field element equal to 32-byte big endian value. If succesful, the resulting field element is normalized. */ -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a); - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a); - -/** Set a field element equal to the additive inverse of another. Takes a maximum magnitude of the input - * as an argument. The magnitude of the output is one higher. */ -static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m); - -/** Multiplies the passed field element with a small integer constant. Multiplies the magnitude by that - * small integer. */ -static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a); - -/** Adds a field element to another. The result has the sum of the inputs' magnitudes as magnitude. */ -static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the product of two others. Requires the inputs' magnitudes to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b); - -/** Sets a field element to be the square of another. Requires the input's magnitude to be at most 8. - * The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the (modular) square root (if any exist) of another. Requires the - * input's magnitude to be at most 8. The output magnitude is 1 (but not guaranteed to be - * normalized). Return value indicates whether a square root was found. */ -static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Sets a field element to be the (modular) inverse of another. Requires the input's magnitude to be - * at most 8. The output magnitude is 1 (but not guaranteed to be normalized). */ -static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Potentially faster version of secp256k1_fe_inv, without constant-time guarantee. */ -static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a); - -/** Calculate the (modular) inverses of a batch of field elements. Requires the inputs' magnitudes to be - * at most 8. The output magnitudes are 1 (but not guaranteed to be normalized). The inputs and - * outputs must not overlap in memory. */ -static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); - -/** Potentially faster version of secp256k1_fe_inv_all, without constant-time guarantee. */ -static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]); - -/** Convert a field element to a hexadecimal string. */ -static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a); - -/** Convert a hexadecimal string to a field element. */ -static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen); - -/** If flag is true, set *r equal to *a; otherwise leave it. Constant-time. */ -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag); - -#endif diff --git a/src/secp256k1/src/field_10x26.h b/src/secp256k1/src/field_10x26.h deleted file mode 100644 index 66fb3f256..000000000 --- a/src/secp256k1/src/field_10x26.h +++ /dev/null @@ -1,21 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -typedef struct { - /* X = sum(i=0..9, elem[i]*2^26) mod n */ - uint32_t n[10]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_10x26_impl.h b/src/secp256k1/src/field_10x26_impl.h deleted file mode 100644 index c4403fba2..000000000 --- a/src/secp256k1/src/field_10x26_impl.h +++ /dev/null @@ -1,923 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#include -#include -#include "util.h" -#include "num.h" -#include "field.h" - -static void secp256k1_fe_inner_start(void) {} -static void secp256k1_fe_inner_stop(void) {} - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - const uint32_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - r &= (d[0] <= 0x3FFFFFFUL * m); - r &= (d[1] <= 0x3FFFFFFUL * m); - r &= (d[2] <= 0x3FFFFFFUL * m); - r &= (d[3] <= 0x3FFFFFFUL * m); - r &= (d[4] <= 0x3FFFFFFUL * m); - r &= (d[5] <= 0x3FFFFFFUL * m); - r &= (d[6] <= 0x3FFFFFFUL * m); - r &= (d[7] <= 0x3FFFFFFUL * m); - r &= (d[8] <= 0x3FFFFFFUL * m); - r &= (d[9] <= 0x03FFFFFUL * m); - r &= (a->magnitude >= 0); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[9] == 0x03FFFFFUL)) { - uint32_t mid = d[8] & d[7] & d[6] & d[5] & d[4] & d[3] & d[2]; - if (mid == 0x3FFFFFFUL) { - r &= ((d[1] + 0x40UL + ((d[0] + 0x3D1UL) >> 26)) <= 0x3FFFFFFUL); - } - } - } - VERIFY_CHECK(r == 1); -} -#else -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - (void)a; -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe_t *r) { - uint32_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4], - t5 = r->n[5], t6 = r->n[6], t7 = r->n[7], t8 = r->n[8], t9 = r->n[9]; - - /* Reduce t9 at the start so there will be at most a single carry from the first pass */ - uint32_t x = t9 >> 22; t9 &= 0x03FFFFFUL; - uint32_t m; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; m = t2; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; m &= t3; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; m &= t4; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; m &= t5; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; m &= t6; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; m &= t7; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; m &= t8; - - /* ... except for a possible carry at bit 22 of t9 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t9 >> 23 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t9 >> 22) | ((t9 == 0x03FFFFFUL) & (m == 0x3FFFFFFUL) - & ((t1 + 0x40UL + ((t0 + 0x3D1UL) >> 26)) > 0x3FFFFFFUL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x3D1UL; t1 += (x << 6); - t1 += (t0 >> 26); t0 &= 0x3FFFFFFUL; - t2 += (t1 >> 26); t1 &= 0x3FFFFFFUL; - t3 += (t2 >> 26); t2 &= 0x3FFFFFFUL; - t4 += (t3 >> 26); t3 &= 0x3FFFFFFUL; - t5 += (t4 >> 26); t4 &= 0x3FFFFFFUL; - t6 += (t5 >> 26); t5 &= 0x3FFFFFFUL; - t7 += (t6 >> 26); t6 &= 0x3FFFFFFUL; - t8 += (t7 >> 26); t7 &= 0x3FFFFFFUL; - t9 += (t8 >> 26); t8 &= 0x3FFFFFFUL; - - /* If t9 didn't carry to bit 22 already, then it should have after any final reduction */ - VERIFY_CHECK(t9 >> 22 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t9 &= 0x03FFFFFUL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - r->n[5] = t5; r->n[6] = t6; r->n[7] = t7; r->n[8] = t8; r->n[9] = t9; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - const uint32_t *t = a->n; - return (t[0] | t[1] | t[2] | t[3] | t[4] | t[5] | t[6] | t[7] | t[8] | t[9]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (int i=0; i<10; i++) { - a->n[i] = 0; - } -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - const uint32_t *t = a->n, *u = b->n; - return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4]) - | (t[5]^u[5]) | (t[6]^u[6]) | (t[7]^u[7]) | (t[8]^u[8]) | (t[9]^u[9])) == 0; -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (int i = 9; i >= 0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; - r->n[5] = r->n[6] = r->n[7] = r->n[8] = r->n[9] = 0; - for (int i=0; i<32; i++) { - for (int j=0; j<4; j++) { - int limb = (8*i+2*j)/26; - int shift = (8*i+2*j)%26; - r->n[limb] |= (uint32_t)((a[31-i] >> (2*j)) & 0x3) << shift; - } - } - if (r->n[9] == 0x3FFFFFUL && (r->n[8] & r->n[7] & r->n[6] & r->n[5] & r->n[4] & r->n[3] & r->n[2]) == 0x3FFFFFFUL && (r->n[1] + 0x40UL + ((r->n[0] + 0x3D1UL) >> 26)) > 0x3FFFFFFUL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<4; j++) { - int limb = (8*i+2*j)/26; - int shift = (8*i+2*j)%26; - c |= ((a->n[limb] >> shift) & 0x3) << (2 * j); - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0x3FFFC2FUL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0x3FFFFBFUL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[4]; - r->n[5] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[5]; - r->n[6] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[6]; - r->n[7] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[7]; - r->n[8] = 0x3FFFFFFUL * 2 * (m + 1) - a->n[8]; - r->n[9] = 0x03FFFFFUL * 2 * (m + 1) - a->n[9]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; - r->n[5] *= a; - r->n[6] *= a; - r->n[7] *= a; - r->n[8] *= a; - r->n[9] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; - r->n[5] += a->n[5]; - r->n[6] += a->n[6]; - r->n[7] += a->n[7]; - r->n[8] += a->n[8]; - r->n[9] += a->n[9]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint32_t *a, const uint32_t * SECP256K1_RESTRICT b, uint32_t *r) { - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - VERIFY_BITS(b[0], 30); - VERIFY_BITS(b[1], 30); - VERIFY_BITS(b[2], 30); - VERIFY_BITS(b[3], 30); - VERIFY_BITS(b[4], 30); - VERIFY_BITS(b[5], 30); - VERIFY_BITS(b[6], 30); - VERIFY_BITS(b[7], 30); - VERIFY_BITS(b[8], 30); - VERIFY_BITS(b[9], 26); - - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - uint64_t c, d; - - d = (uint64_t)a[0] * b[9] - + (uint64_t)a[1] * b[8] - + (uint64_t)a[2] * b[7] - + (uint64_t)a[3] * b[6] - + (uint64_t)a[4] * b[5] - + (uint64_t)a[5] * b[4] - + (uint64_t)a[6] * b[3] - + (uint64_t)a[7] * b[2] - + (uint64_t)a[8] * b[1] - + (uint64_t)a[9] * b[0]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - uint32_t t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * b[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)a[1] * b[9] - + (uint64_t)a[2] * b[8] - + (uint64_t)a[3] * b[7] - + (uint64_t)a[4] * b[6] - + (uint64_t)a[5] * b[5] - + (uint64_t)a[6] * b[4] - + (uint64_t)a[7] * b[3] - + (uint64_t)a[8] * b[2] - + (uint64_t)a[9] * b[1]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint64_t u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint32_t t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)a[0] * b[1] - + (uint64_t)a[1] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)a[2] * b[9] - + (uint64_t)a[3] * b[8] - + (uint64_t)a[4] * b[7] - + (uint64_t)a[5] * b[6] - + (uint64_t)a[6] * b[5] - + (uint64_t)a[7] * b[4] - + (uint64_t)a[8] * b[3] - + (uint64_t)a[9] * b[2]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint64_t u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint32_t t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)a[0] * b[2] - + (uint64_t)a[1] * b[1] - + (uint64_t)a[2] * b[0]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)a[3] * b[9] - + (uint64_t)a[4] * b[8] - + (uint64_t)a[5] * b[7] - + (uint64_t)a[6] * b[6] - + (uint64_t)a[7] * b[5] - + (uint64_t)a[8] * b[4] - + (uint64_t)a[9] * b[3]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint64_t u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint32_t t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[3] - + (uint64_t)a[1] * b[2] - + (uint64_t)a[2] * b[1] - + (uint64_t)a[3] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)a[4] * b[9] - + (uint64_t)a[5] * b[8] - + (uint64_t)a[6] * b[7] - + (uint64_t)a[7] * b[6] - + (uint64_t)a[8] * b[5] - + (uint64_t)a[9] * b[4]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint64_t u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint32_t t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[4] - + (uint64_t)a[1] * b[3] - + (uint64_t)a[2] * b[2] - + (uint64_t)a[3] * b[1] - + (uint64_t)a[4] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[5] * b[9] - + (uint64_t)a[6] * b[8] - + (uint64_t)a[7] * b[7] - + (uint64_t)a[8] * b[6] - + (uint64_t)a[9] * b[5]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint64_t u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint32_t t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[5] - + (uint64_t)a[1] * b[4] - + (uint64_t)a[2] * b[3] - + (uint64_t)a[3] * b[2] - + (uint64_t)a[4] * b[1] - + (uint64_t)a[5] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[6] * b[9] - + (uint64_t)a[7] * b[8] - + (uint64_t)a[8] * b[7] - + (uint64_t)a[9] * b[6]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint64_t u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint32_t t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[6] - + (uint64_t)a[1] * b[5] - + (uint64_t)a[2] * b[4] - + (uint64_t)a[3] * b[3] - + (uint64_t)a[4] * b[2] - + (uint64_t)a[5] * b[1] - + (uint64_t)a[6] * b[0]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[7] * b[9] - + (uint64_t)a[8] * b[8] - + (uint64_t)a[9] * b[7]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[7] - + (uint64_t)a[1] * b[6] - + (uint64_t)a[2] * b[5] - + (uint64_t)a[3] * b[4] - + (uint64_t)a[4] * b[3] - + (uint64_t)a[5] * b[2] - + (uint64_t)a[6] * b[1] - + (uint64_t)a[7] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[8] * b[9] - + (uint64_t)a[9] * b[8]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)a[0] * b[8] - + (uint64_t)a[1] * b[7] - + (uint64_t)a[2] * b[6] - + (uint64_t)a[3] * b[5] - + (uint64_t)a[4] * b[4] - + (uint64_t)a[5] * b[3] - + (uint64_t)a[6] * b[2] - + (uint64_t)a[7] * b[1] - + (uint64_t)a[8] * b[0]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * b[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint32_t *a, uint32_t *r) { - VERIFY_BITS(a[0], 30); - VERIFY_BITS(a[1], 30); - VERIFY_BITS(a[2], 30); - VERIFY_BITS(a[3], 30); - VERIFY_BITS(a[4], 30); - VERIFY_BITS(a[5], 30); - VERIFY_BITS(a[6], 30); - VERIFY_BITS(a[7], 30); - VERIFY_BITS(a[8], 30); - VERIFY_BITS(a[9], 26); - - const uint32_t M = 0x3FFFFFFUL, R0 = 0x3D10UL, R1 = 0x400UL; - /** [... a b c] is a shorthand for ... + a<<52 + b<<26 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0 0 0 0 0 0] = [x*R1 x*R0]. - */ - - uint64_t c, d; - - d = (uint64_t)(a[0]*2) * a[9] - + (uint64_t)(a[1]*2) * a[8] - + (uint64_t)(a[2]*2) * a[7] - + (uint64_t)(a[3]*2) * a[6] - + (uint64_t)(a[4]*2) * a[5]; - /* VERIFY_BITS(d, 64); */ - /* [d 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - uint32_t t9 = d & M; d >>= 26; - VERIFY_BITS(t9, 26); - VERIFY_BITS(d, 38); - /* [d t9 0 0 0 0 0 0 0 0 0] = [p9 0 0 0 0 0 0 0 0 0] */ - - c = (uint64_t)a[0] * a[0]; - VERIFY_BITS(c, 60); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p9 0 0 0 0 0 0 0 0 p0] */ - d += (uint64_t)(a[1]*2) * a[9] - + (uint64_t)(a[2]*2) * a[8] - + (uint64_t)(a[3]*2) * a[7] - + (uint64_t)(a[4]*2) * a[6] - + (uint64_t)a[5] * a[5]; - VERIFY_BITS(d, 63); - /* [d t9 0 0 0 0 0 0 0 0 c] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint64_t u0 = d & M; d >>= 26; c += u0 * R0; - VERIFY_BITS(u0, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 61); - /* [d u0 t9 0 0 0 0 0 0 0 0 c-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - uint32_t t0 = c & M; c >>= 26; c += u0 * R1; - VERIFY_BITS(t0, 26); - VERIFY_BITS(c, 37); - /* [d u0 t9 0 0 0 0 0 0 0 c-u0*R1 t0-u0*R0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 0 p0] */ - - c += (uint64_t)(a[0]*2) * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p10 p9 0 0 0 0 0 0 0 p1 p0] */ - d += (uint64_t)(a[2]*2) * a[9] - + (uint64_t)(a[3]*2) * a[8] - + (uint64_t)(a[4]*2) * a[7] - + (uint64_t)(a[5]*2) * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 t9 0 0 0 0 0 0 0 c t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint64_t u1 = d & M; d >>= 26; c += u1 * R0; - VERIFY_BITS(u1, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u1 0 t9 0 0 0 0 0 0 0 c-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - uint32_t t1 = c & M; c >>= 26; c += u1 * R1; - VERIFY_BITS(t1, 26); - VERIFY_BITS(c, 38); - /* [d u1 0 t9 0 0 0 0 0 0 c-u1*R1 t1-u1*R0 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 0 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[2] - + (uint64_t)a[1] * a[1]; - VERIFY_BITS(c, 62); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - d += (uint64_t)(a[3]*2) * a[9] - + (uint64_t)(a[4]*2) * a[8] - + (uint64_t)(a[5]*2) * a[7] - + (uint64_t)a[6] * a[6]; - VERIFY_BITS(d, 63); - /* [d 0 0 t9 0 0 0 0 0 0 c t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint64_t u2 = d & M; d >>= 26; c += u2 * R0; - VERIFY_BITS(u2, 26); - VERIFY_BITS(d, 37); - VERIFY_BITS(c, 63); - /* [d u2 0 0 t9 0 0 0 0 0 0 c-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - uint32_t t2 = c & M; c >>= 26; c += u2 * R1; - VERIFY_BITS(t2, 26); - VERIFY_BITS(c, 38); - /* [d u2 0 0 t9 0 0 0 0 0 c-u2*R1 t2-u2*R0 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 0 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[3] - + (uint64_t)(a[1]*2) * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - d += (uint64_t)(a[4]*2) * a[9] - + (uint64_t)(a[5]*2) * a[8] - + (uint64_t)(a[6]*2) * a[7]; - VERIFY_BITS(d, 63); - /* [d 0 0 0 t9 0 0 0 0 0 c t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint64_t u3 = d & M; d >>= 26; c += u3 * R0; - VERIFY_BITS(u3, 26); - VERIFY_BITS(d, 37); - /* VERIFY_BITS(c, 64); */ - /* [d u3 0 0 0 t9 0 0 0 0 0 c-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - uint32_t t3 = c & M; c >>= 26; c += u3 * R1; - VERIFY_BITS(t3, 26); - VERIFY_BITS(c, 39); - /* [d u3 0 0 0 t9 0 0 0 0 c-u3*R1 t3-u3*R0 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 0 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[4] - + (uint64_t)(a[1]*2) * a[3] - + (uint64_t)a[2] * a[2]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[5]*2) * a[9] - + (uint64_t)(a[6]*2) * a[8] - + (uint64_t)a[7] * a[7]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 t9 0 0 0 0 c t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint64_t u4 = d & M; d >>= 26; c += u4 * R0; - VERIFY_BITS(u4, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u4 0 0 0 0 t9 0 0 0 0 c-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - uint32_t t4 = c & M; c >>= 26; c += u4 * R1; - VERIFY_BITS(t4, 26); - VERIFY_BITS(c, 39); - /* [d u4 0 0 0 0 t9 0 0 0 c-u4*R1 t4-u4*R0 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 0 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[5] - + (uint64_t)(a[1]*2) * a[4] - + (uint64_t)(a[2]*2) * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[6]*2) * a[9] - + (uint64_t)(a[7]*2) * a[8]; - VERIFY_BITS(d, 62); - /* [d 0 0 0 0 0 t9 0 0 0 c t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint64_t u5 = d & M; d >>= 26; c += u5 * R0; - VERIFY_BITS(u5, 26); - VERIFY_BITS(d, 36); - /* VERIFY_BITS(c, 64); */ - /* [d u5 0 0 0 0 0 t9 0 0 0 c-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - uint32_t t5 = c & M; c >>= 26; c += u5 * R1; - VERIFY_BITS(t5, 26); - VERIFY_BITS(c, 39); - /* [d u5 0 0 0 0 0 t9 0 0 c-u5*R1 t5-u5*R0 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 0 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[6] - + (uint64_t)(a[1]*2) * a[5] - + (uint64_t)(a[2]*2) * a[4] - + (uint64_t)a[3] * a[3]; - VERIFY_BITS(c, 63); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[7]*2) * a[9] - + (uint64_t)a[8] * a[8]; - VERIFY_BITS(d, 61); - /* [d 0 0 0 0 0 0 t9 0 0 c t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u6 = d & M; d >>= 26; c += u6 * R0; - VERIFY_BITS(u6, 26); - VERIFY_BITS(d, 35); - /* VERIFY_BITS(c, 64); */ - /* [d u6 0 0 0 0 0 0 t9 0 0 c-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t6 = c & M; c >>= 26; c += u6 * R1; - VERIFY_BITS(t6, 26); - VERIFY_BITS(c, 39); - /* [d u6 0 0 0 0 0 0 t9 0 c-u6*R1 t6-u6*R0 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 0 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[7] - + (uint64_t)(a[1]*2) * a[6] - + (uint64_t)(a[2]*2) * a[5] - + (uint64_t)(a[3]*2) * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x8000007C00000007ULL); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)(a[8]*2) * a[9]; - VERIFY_BITS(d, 58); - /* [d 0 0 0 0 0 0 0 t9 0 c t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u7 = d & M; d >>= 26; c += u7 * R0; - VERIFY_BITS(u7, 26); - VERIFY_BITS(d, 32); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x800001703FFFC2F7ULL); - /* [d u7 0 0 0 0 0 0 0 t9 0 c-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint32_t t7 = c & M; c >>= 26; c += u7 * R1; - VERIFY_BITS(t7, 26); - VERIFY_BITS(c, 38); - /* [d u7 0 0 0 0 0 0 0 t9 c-u7*R1 t7-u7*R0 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 0 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += (uint64_t)(a[0]*2) * a[8] - + (uint64_t)(a[1]*2) * a[7] - + (uint64_t)(a[2]*2) * a[6] - + (uint64_t)(a[3]*2) * a[5] - + (uint64_t)a[4] * a[4]; - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000007B80000008ULL); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += (uint64_t)a[9] * a[9]; - VERIFY_BITS(d, 57); - /* [d 0 0 0 0 0 0 0 0 t9 c t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - uint64_t u8 = d & M; d >>= 26; c += u8 * R0; - VERIFY_BITS(u8, 26); - VERIFY_BITS(d, 31); - /* VERIFY_BITS(c, 64); */ - VERIFY_CHECK(c <= 0x9000016FBFFFC2F8ULL); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 t3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[3] = t3; - VERIFY_BITS(r[3], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 t4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = t4; - VERIFY_BITS(r[4], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 t5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[5] = t5; - VERIFY_BITS(r[5], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 t6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[6] = t6; - VERIFY_BITS(r[6], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 t7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[7] = t7; - VERIFY_BITS(r[7], 26); - /* [d u8 0 0 0 0 0 0 0 0 t9 c-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - r[8] = c & M; c >>= 26; c += u8 * R1; - VERIFY_BITS(r[8], 26); - VERIFY_BITS(c, 39); - /* [d u8 0 0 0 0 0 0 0 0 t9+c-u8*R1 r8-u8*R0 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 0 0 t9+c r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R0 + t9; - VERIFY_BITS(c, 45); - /* [d 0 0 0 0 0 0 0 0 0 c-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[9] = c & (M >> 4); c >>= 22; c += d * (R1 << 4); - VERIFY_BITS(r[9], 22); - VERIFY_BITS(c, 46); - /* [d 0 0 0 0 0 0 0 0 r9+((c-d*R1<<4)<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [d 0 0 0 0 0 0 0 -d*R1 r9+(c<<22)-d*R0 r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 t0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - d = c * (R0 >> 4) + t0; - VERIFY_BITS(d, 56); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1 d-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[0] = d & M; d >>= 26; - VERIFY_BITS(r[0], 26); - VERIFY_BITS(d, 30); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 t1+d r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += c * (R1 >> 4) + t1; - VERIFY_BITS(d, 53); - VERIFY_CHECK(d <= 0x10000003FFFFBFULL); - /* [r9+(c<<22) r8 r7 r6 r5 r4 r3 t2 d-c*R1>>4 r0-c*R0>>4] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - /* [r9 r8 r7 r6 r5 r4 r3 t2 d r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[1] = d & M; d >>= 26; - VERIFY_BITS(r[1], 26); - VERIFY_BITS(d, 27); - VERIFY_CHECK(d <= 0x4000000ULL); - /* [r9 r8 r7 r6 r5 r4 r3 t2+d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - d += t2; - VERIFY_BITS(d, 27); - /* [r9 r8 r7 r6 r5 r4 r3 d r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = d; - VERIFY_BITS(r[2], 27); - /* [r9 r8 r7 r6 r5 r4 r3 r2 r1 r0] = [p18 p17 p16 p15 p14 p13 p12 p11 p10 p9 p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(a->n, b->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(a->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - uint32_t mask0 = flag + ~((uint32_t)0), mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); - r->n[5] = (r->n[5] & mask0) | (a->n[5] & mask1); - r->n[6] = (r->n[6] & mask0) | (a->n[6] & mask1); - r->n[7] = (r->n[7] & mask0) | (a->n[7] & mask1); - r->n[8] = (r->n[8] & mask0) | (a->n[8] & mask1); - r->n[9] = (r->n[9] & mask0) | (a->n[9] & mask1); -#ifdef VERIFY - if (flag) { - r->magnitude = a->magnitude; - r->normalized = a->normalized; - } -#endif -} - -#endif diff --git a/src/secp256k1/src/field_5x52.h b/src/secp256k1/src/field_5x52.h deleted file mode 100644 index aeb0a6a1e..000000000 --- a/src/secp256k1/src/field_5x52.h +++ /dev/null @@ -1,21 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -typedef struct { - /* X = sum(i=0..4, elem[i]*2^52) mod n */ - uint64_t n[5]; -#ifdef VERIFY - int magnitude; - int normalized; -#endif -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_5x52_asm.asm b/src/secp256k1/src/field_5x52_asm.asm deleted file mode 100644 index 5e785f763..000000000 --- a/src/secp256k1/src/field_5x52_asm.asm +++ /dev/null @@ -1,469 +0,0 @@ - ;; Added by Diederik Huys, March 2013 - ;; - ;; Provided public procedures: - ;; secp256k1_fe_mul_inner - ;; secp256k1_fe_sqr_inner - ;; - ;; Needed tools: YASM (http://yasm.tortall.net) - ;; - ;; - - BITS 64 - -%ifidn __OUTPUT_FORMAT__,macho64 -%define SYM(x) _ %+ x -%else -%define SYM(x) x -%endif - - ;; Procedure ExSetMult - ;; Register Layout: - ;; INPUT: rdi = a->n - ;; rsi = b->n - ;; rdx = r->a - ;; - ;; INTERNAL: rdx:rax = multiplication accumulator - ;; r9:r8 = c - ;; r10-r13 = t0-t3 - ;; r14 = b.n[0] / t4 - ;; r15 = b.n[1] / t5 - ;; rbx = b.n[2] / t6 - ;; rcx = b.n[3] / t7 - ;; rbp = Constant 0FFFFFFFFFFFFFh / t8 - ;; rsi = b.n / b.n[4] / t9 - - GLOBAL SYM(secp256k1_fe_mul_inner) - ALIGN 32 -SYM(secp256k1_fe_mul_inner): - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - push rdx - mov r14,[rsi+8*0] ; preload b.n[0]. This will be the case until - ; b.n[0] is no longer needed, then we reassign - ; r14 to t4 - ;; c=a.n[0] * b.n[0] - mov rax,[rdi+0*8] ; load a.n[0] - mov rbp,0FFFFFFFFFFFFFh - mul r14 ; rdx:rax=a.n[0]*b.n[0] - mov r15,[rsi+1*8] - mov r10,rbp ; load modulus into target register for t0 - mov r8,rax - and r10,rax ; only need lower qword of c - shrd r8,rdx,52 - xor r9,r9 ; c < 2^64, so we ditch the HO part - - ;; c+=a.n[0] * b.n[1] + a.n[1] * b.n[0] - mov rax,[rdi+0*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul r14 - mov r11,rbp - mov rbx,[rsi+2*8] - add r8,rax - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[0 1 2] * b.n[2 1 0] - mov rax,[rdi+0*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul r14 - mov r12,rbp - mov rcx,[rsi+3*8] - add r8,rax - adc r9,rdx - and r12,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[0 1 2 3] * b.n[3 2 1 0] - mov rax,[rdi+0*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul r14 - mov r13,rbp - mov rsi,[rsi+4*8] ; load b.n[4] and destroy pointer - add r8,rax - adc r9,rdx - and r13,r8 - - shrd r8,r9,52 - xor r9,r9 - - - ;; c+=a.n[0 1 2 3 4] * b.n[4 3 2 1 0] - mov rax,[rdi+0*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+1*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul r15 - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul r14 - mov r14,rbp ; load modulus into t4 and destroy a.n[0] - add r8,rax - adc r9,rdx - and r14,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[1 2 3 4] * b.n[4 3 2 1] - mov rax,[rdi+1*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+2*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul rbx - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul r15 - mov r15,rbp - add r8,rax - adc r9,rdx - - and r15,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[2 3 4] * b.n[4 3 2] - mov rax,[rdi+2*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+3*8] - mul rcx - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul rbx - mov rbx,rbp - add r8,rax - adc r9,rdx - - and rbx,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[3 4] * b.n[4 3] - mov rax,[rdi+3*8] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,[rdi+4*8] - mul rcx - mov rcx,rbp - add r8,rax - adc r9,rdx - and rcx,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[4] * b.n[4] - mov rax,[rdi+4*8] - mul rsi - ;; mov rbp,rbp ; modulus already there! - add r8,rax - adc r9,rdx - and rbp,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rsi,r8 ; load c into t9 and destroy b.n[4] - - ;; ******************************************************* -common_exit_norm: - mov rdi,01000003D10h ; load constant - - mov rax,r15 ; get t5 - mul rdi - add rax,r10 ; +t0 - adc rdx,0 - mov r10,0FFFFFFFFFFFFFh ; modulus. Sadly, we ran out of registers! - mov r8,rax ; +c - and r10,rax - shrd r8,rdx,52 - xor r9,r9 - - mov rax,rbx ; get t6 - mul rdi - add rax,r11 ; +t1 - adc rdx,0 - mov r11,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rax,rcx ; get t7 - mul rdi - add rax,r12 ; +t2 - adc rdx,0 - pop rbx ; retrieve pointer to this.n - mov r12,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r12,r8 - mov [rbx+2*8],r12 ; mov into this.n[2] - shrd r8,r9,52 - xor r9,r9 - - mov rax,rbp ; get t8 - mul rdi - add rax,r13 ; +t3 - adc rdx,0 - mov r13,0FFFFFFFFFFFFFh ; modulus - add r8,rax ; +c - adc r9,rdx - and r13,r8 - mov [rbx+3*8],r13 ; -> this.n[3] - shrd r8,r9,52 - xor r9,r9 - - mov rax,rsi ; get t9 - mul rdi - add rax,r14 ; +t4 - adc rdx,0 - mov r14,0FFFFFFFFFFFFh ; !!! - add r8,rax ; +c - adc r9,rdx - and r14,r8 - mov [rbx+4*8],r14 ; -> this.n[4] - shrd r8,r9,48 ; !!! - xor r9,r9 - - mov rax,01000003D1h - mul r8 - add rax,r10 - adc rdx,0 - mov r10,0FFFFFFFFFFFFFh ; modulus - mov r8,rax - and rax,r10 - shrd r8,rdx,52 - mov [rbx+0*8],rax ; -> this.n[0] - add r8,r11 - mov [rbx+1*8],r8 ; -> this.n[1] - - pop r15 - pop r14 - pop r13 - pop r12 - pop rbx - pop rbp - ret - - - ;; PROC ExSetSquare - ;; Register Layout: - ;; INPUT: rdi = a.n - ;; rsi = this.a - ;; INTERNAL: rdx:rax = multiplication accumulator - ;; r9:r8 = c - ;; r10-r13 = t0-t3 - ;; r14 = a.n[0] / t4 - ;; r15 = a.n[1] / t5 - ;; rbx = a.n[2] / t6 - ;; rcx = a.n[3] / t7 - ;; rbp = 0FFFFFFFFFFFFFh / t8 - ;; rsi = a.n[4] / t9 - GLOBAL SYM(secp256k1_fe_sqr_inner) - ALIGN 32 -SYM(secp256k1_fe_sqr_inner): - push rbp - push rbx - push r12 - push r13 - push r14 - push r15 - push rsi - mov rbp,0FFFFFFFFFFFFFh - - ;; c=a.n[0] * a.n[0] - mov r14,[rdi+0*8] ; r14=a.n[0] - mov r10,rbp ; modulus - mov rax,r14 - mul rax - mov r15,[rdi+1*8] ; a.n[1] - add r14,r14 ; r14=2*a.n[0] - mov r8,rax - and r10,rax ; only need lower qword - shrd r8,rdx,52 - xor r9,r9 - - ;; c+=2*a.n[0] * a.n[1] - mov rax,r14 ; r14=2*a.n[0] - mul r15 - mov rbx,[rdi+2*8] ; rbx=a.n[2] - mov r11,rbp ; modulus - add r8,rax - adc r9,rdx - and r11,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[2]+a.n[1]*a.n[1] - mov rax,r14 - mul rbx - add r8,rax - adc r9,rdx - - mov rax,r15 - mov r12,rbp ; modulus - mul rax - mov rcx,[rdi+3*8] ; rcx=a.n[3] - add r15,r15 ; r15=a.n[1]*2 - add r8,rax - adc r9,rdx - and r12,r8 ; only need lower dword - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[3]+2*a.n[1]*a.n[2] - mov rax,r14 - mul rcx - add r8,rax - adc r9,rdx - - mov rax,r15 ; rax=2*a.n[1] - mov r13,rbp ; modulus - mul rbx - mov rsi,[rdi+4*8] ; rsi=a.n[4] - add r8,rax - adc r9,rdx - and r13,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[0]*a.n[4]+2*a.n[1]*a.n[3]+a.n[2]*a.n[2] - mov rax,r14 ; last time we need 2*a.n[0] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,r15 - mul rcx - mov r14,rbp ; modulus - add r8,rax - adc r9,rdx - - mov rax,rbx - mul rax - add rbx,rbx ; rcx=2*a.n[2] - add r8,rax - adc r9,rdx - and r14,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[1]*a.n[4]+2*a.n[2]*a.n[3] - mov rax,r15 ; last time we need 2*a.n[1] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,rbx - mul rcx - mov r15,rbp ; modulus - add r8,rax - adc r9,rdx - and r15,r8 - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[2]*a.n[4]+a.n[3]*a.n[3] - mov rax,rbx ; last time we need 2*a.n[2] - mul rsi - add r8,rax - adc r9,rdx - - mov rax,rcx ; a.n[3] - mul rax - mov rbx,rbp ; modulus - add r8,rax - adc r9,rdx - and rbx,r8 ; only need lower dword - lea rax,[2*rcx] - shrd r8,r9,52 - xor r9,r9 - - ;; c+=2*a.n[3]*a.n[4] - mul rsi - mov rcx,rbp ; modulus - add r8,rax - adc r9,rdx - and rcx,r8 ; only need lower dword - shrd r8,r9,52 - xor r9,r9 - - ;; c+=a.n[4]*a.n[4] - mov rax,rsi - mul rax - ;; mov rbp,rbp ; modulus is already there! - add r8,rax - adc r9,rdx - and rbp,r8 - shrd r8,r9,52 - xor r9,r9 - - mov rsi,r8 - - ;; ******************************************************* - jmp common_exit_norm - end - - diff --git a/src/secp256k1/src/field_5x52_asm_impl.h b/src/secp256k1/src/field_5x52_asm_impl.h deleted file mode 100644 index f29605b11..000000000 --- a/src/secp256k1/src/field_5x52_asm_impl.h +++ /dev/null @@ -1,13 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ -#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ - -void __attribute__ ((sysv_abi)) secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t *b, uint64_t *r); -void __attribute__ ((sysv_abi)) secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r); - -#endif diff --git a/src/secp256k1/src/field_5x52_impl.h b/src/secp256k1/src/field_5x52_impl.h deleted file mode 100644 index 75b210eaf..000000000 --- a/src/secp256k1/src/field_5x52_impl.h +++ /dev/null @@ -1,294 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include "util.h" -#include "num.h" -#include "field.h" - -#if defined(USE_FIELD_5X52_ASM) -#include "field_5x52_asm_impl.h" -#elif defined(USE_FIELD_5X52_INT128) -#include "field_5x52_int128_impl.h" -#else -#error "Please select field_5x52 implementation" -#endif - -/** Implements arithmetic modulo FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE FFFFFC2F, - * represented as 5 uint64_t's in base 2^52. The values are allowed to contain >52 each. In particular, - * each FieldElem has a 'magnitude' associated with it. Internally, a magnitude M means each element - * is at most M*(2^53-1), except the most significant one, which is limited to M*(2^49-1). All operations - * accept any input with magnitude at most M, and have different rules for propagating magnitude to their - * output. - */ - -static void secp256k1_fe_inner_start(void) {} -static void secp256k1_fe_inner_stop(void) {} - -#ifdef VERIFY -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - const uint64_t *d = a->n; - int m = a->normalized ? 1 : 2 * a->magnitude, r = 1; - r &= (d[0] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[1] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[2] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[3] <= 0xFFFFFFFFFFFFFULL * m); - r &= (d[4] <= 0x0FFFFFFFFFFFFULL * m); - r &= (a->magnitude >= 0); - if (a->normalized) { - r &= (a->magnitude <= 1); - if (r && (d[4] == 0x0FFFFFFFFFFFFULL) && ((d[3] & d[2] & d[1]) == 0xFFFFFFFFFFFFFULL)) { - r &= (d[0] < 0xFFFFEFFFFFC2FULL); - } - } - VERIFY_CHECK(r == 1); -} -#else -static void secp256k1_fe_verify(const secp256k1_fe_t *a) { - (void)a; -} -#endif - -static void secp256k1_fe_normalize(secp256k1_fe_t *r) { - uint64_t t0 = r->n[0], t1 = r->n[1], t2 = r->n[2], t3 = r->n[3], t4 = r->n[4]; - - /* Reduce t4 at the start so there will be at most a single carry from the first pass */ - uint64_t x = t4 >> 48; t4 &= 0x0FFFFFFFFFFFFULL; - uint64_t m; - - /* The first pass ensures the magnitude is 1, ... */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; m = t1; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; m &= t2; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; m &= t3; - - /* ... except for a possible carry at bit 48 of t4 (i.e. bit 256 of the field element) */ - VERIFY_CHECK(t4 >> 49 == 0); - - /* At most a single final reduction is needed; check if the value is >= the field characteristic */ - x = (t4 >> 48) | ((t4 == 0x0FFFFFFFFFFFFULL) & (m == 0xFFFFFFFFFFFFFULL) - & (t0 >= 0xFFFFEFFFFFC2FULL)); - - /* Apply the final reduction (for constant-time behaviour, we do it always) */ - t0 += x * 0x1000003D1ULL; - t1 += (t0 >> 52); t0 &= 0xFFFFFFFFFFFFFULL; - t2 += (t1 >> 52); t1 &= 0xFFFFFFFFFFFFFULL; - t3 += (t2 >> 52); t2 &= 0xFFFFFFFFFFFFFULL; - t4 += (t3 >> 52); t3 &= 0xFFFFFFFFFFFFFULL; - - /* If t4 didn't carry to bit 48 already, then it should have after any final reduction */ - VERIFY_CHECK(t4 >> 48 == x); - - /* Mask off the possible multiple of 2^256 from the final reduction */ - t4 &= 0x0FFFFFFFFFFFFULL; - - r->n[0] = t0; r->n[1] = t1; r->n[2] = t2; r->n[3] = t3; r->n[4] = t4; - -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - const uint64_t *t = a->n; - return (t[0] | t[1] | t[2] | t[3] | t[4]) == 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - return a->n[0] & 1; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *a) { -#ifdef VERIFY - a->magnitude = 0; - a->normalized = 1; -#endif - for (int i=0; i<5; i++) { - a->n[i] = 0; - } -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - const uint64_t *t = a->n, *u = b->n; - return ((t[0]^u[0]) | (t[1]^u[1]) | (t[2]^u[2]) | (t[3]^u[3]) | (t[4]^u[4])) == 0; -} - -static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - VERIFY_CHECK(b->normalized); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); -#endif - for (int i = 4; i >= 0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - r->n[0] = r->n[1] = r->n[2] = r->n[3] = r->n[4] = 0; - for (int i=0; i<32; i++) { - for (int j=0; j<2; j++) { - int limb = (8*i+4*j)/52; - int shift = (8*i+4*j)%52; - r->n[limb] |= (uint64_t)((a[31-i] >> (4*j)) & 0xF) << shift; - } - } - if (r->n[4] == 0x0FFFFFFFFFFFFULL && (r->n[3] & r->n[2] & r->n[1]) == 0xFFFFFFFFFFFFFULL && r->n[0] >= 0xFFFFEFFFFFC2FULL) { - return 0; - } -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 1; - secp256k1_fe_verify(r); -#endif - return 1; -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->normalized); - secp256k1_fe_verify(a); -#endif - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<2; j++) { - int limb = (8*i+4*j)/52; - int shift = (8*i+4*j)%52; - c |= ((a->n[limb] >> shift) & 0xF) << (4 * j); - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= m); - secp256k1_fe_verify(a); -#endif - r->n[0] = 0xFFFFEFFFFFC2FULL * 2 * (m + 1) - a->n[0]; - r->n[1] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[1]; - r->n[2] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[2]; - r->n[3] = 0xFFFFFFFFFFFFFULL * 2 * (m + 1) - a->n[3]; - r->n[4] = 0x0FFFFFFFFFFFFULL * 2 * (m + 1) - a->n[4]; -#ifdef VERIFY - r->magnitude = m + 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - r->n[0] *= a; - r->n[1] *= a; - r->n[2] *= a; - r->n[3] *= a; - r->n[4] *= a; -#ifdef VERIFY - r->magnitude *= a; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - secp256k1_fe_verify(a); -#endif - r->n[0] += a->n[0]; - r->n[1] += a->n[1]; - r->n[2] += a->n[2]; - r->n[3] += a->n[3]; - r->n[4] += a->n[4]; -#ifdef VERIFY - r->magnitude += a->magnitude; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - VERIFY_CHECK(b->magnitude <= 8); - secp256k1_fe_verify(a); - secp256k1_fe_verify(b); - VERIFY_CHECK(r != b); -#endif - secp256k1_fe_mul_inner(a->n, b->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#ifdef VERIFY - VERIFY_CHECK(a->magnitude <= 8); - secp256k1_fe_verify(a); -#endif - secp256k1_fe_sqr_inner(a->n, r->n); -#ifdef VERIFY - r->magnitude = 1; - r->normalized = 0; - secp256k1_fe_verify(r); -#endif -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - uint64_t mask0 = flag + ~((uint64_t)0), mask1 = ~mask0; - r->n[0] = (r->n[0] & mask0) | (a->n[0] & mask1); - r->n[1] = (r->n[1] & mask0) | (a->n[1] & mask1); - r->n[2] = (r->n[2] & mask0) | (a->n[2] & mask1); - r->n[3] = (r->n[3] & mask0) | (a->n[3] & mask1); - r->n[4] = (r->n[4] & mask0) | (a->n[4] & mask1); -#ifdef VERIFY - if (flag) { - r->magnitude = a->magnitude; - r->normalized = a->normalized; - } -#endif -} - -#endif diff --git a/src/secp256k1/src/field_5x52_int128_impl.h b/src/secp256k1/src/field_5x52_int128_impl.h deleted file mode 100644 index e552fb431..000000000 --- a/src/secp256k1/src/field_5x52_int128_impl.h +++ /dev/null @@ -1,277 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_INNER5X52_IMPL_H_ -#define _SECP256K1_FIELD_INNER5X52_IMPL_H_ - -#include - -#ifdef VERIFY -#define VERIFY_BITS(x, n) VERIFY_CHECK(((x) >> (n)) == 0) -#else -#define VERIFY_BITS(x, n) do { } while(0) -#endif - -SECP256K1_INLINE static void secp256k1_fe_mul_inner(const uint64_t *a, const uint64_t * SECP256K1_RESTRICT b, uint64_t *r) { - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - VERIFY_BITS(b[0], 56); - VERIFY_BITS(b[1], 56); - VERIFY_BITS(b[2], 56); - VERIFY_BITS(b[3], 56); - VERIFY_BITS(b[4], 52); - VERIFY_CHECK(r != b); - - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - /* [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*b[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - - __int128 c, d; - - d = (__int128)a0 * b[3] - + (__int128)a1 * b[2] - + (__int128)a2 * b[1] - + (__int128)a3 * b[0]; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (__int128)a4 * b[4]; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - uint64_t t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - d += (__int128)a0 * b[4] - + (__int128)a1 * b[3] - + (__int128)a2 * b[2] - + (__int128)a3 * b[1] - + (__int128)a4 * b[0]; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (__int128)a0 * b[0]; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (__int128)a1 * b[4] - + (__int128)a2 * b[3] - + (__int128)a3 * b[2] - + (__int128)a4 * b[1]; - VERIFY_BITS(d, 115); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - uint64_t u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 63); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (__int128)u0 * (R >> 4); - VERIFY_BITS(c, 115); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - c += (__int128)a0 * b[1] - + (__int128)a1 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (__int128)a2 * b[4] - + (__int128)a3 * b[3] - + (__int128)a4 * b[2]; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (__int128)a0 * b[2] - + (__int128)a1 * b[1] - + (__int128)a2 * b[0]; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (__int128)a3 * b[4] - + (__int128)a4 * b[3]; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c t1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += d * R + t3;; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -SECP256K1_INLINE static void secp256k1_fe_sqr_inner(const uint64_t *a, uint64_t *r) { - VERIFY_BITS(a[0], 56); - VERIFY_BITS(a[1], 56); - VERIFY_BITS(a[2], 56); - VERIFY_BITS(a[3], 56); - VERIFY_BITS(a[4], 52); - - const uint64_t M = 0xFFFFFFFFFFFFFULL, R = 0x1000003D10ULL; - /** [... a b c] is a shorthand for ... + a<<104 + b<<52 + c<<0 mod n. - * px is a shorthand for sum(a[i]*a[x-i], i=0..x). - * Note that [x 0 0 0 0 0] = [x*R]. - */ - - __int128 c, d; - - uint64_t a0 = a[0], a1 = a[1], a2 = a[2], a3 = a[3], a4 = a[4]; - - d = (__int128)(a0*2) * a3 - + (__int128)(a1*2) * a2; - VERIFY_BITS(d, 114); - /* [d 0 0 0] = [p3 0 0 0] */ - c = (__int128)a4 * a4; - VERIFY_BITS(c, 112); - /* [c 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - d += (c & M) * R; c >>= 52; - VERIFY_BITS(d, 115); - VERIFY_BITS(c, 60); - /* [c 0 0 0 0 0 d 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - uint64_t t3 = d & M; d >>= 52; - VERIFY_BITS(t3, 52); - VERIFY_BITS(d, 63); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 0 p3 0 0 0] */ - - a4 *= 2; - d += (__int128)a0 * a4 - + (__int128)(a1*2) * a3 - + (__int128)a2 * a2; - VERIFY_BITS(d, 115); - /* [c 0 0 0 0 d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - d += c * R; - VERIFY_BITS(d, 116); - /* [d t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t t4 = d & M; d >>= 52; - VERIFY_BITS(t4, 52); - VERIFY_BITS(d, 64); - /* [d t4 t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - uint64_t tx = (t4 >> 48); t4 &= (M >> 4); - VERIFY_BITS(tx, 4); - VERIFY_BITS(t4, 48); - /* [d t4+(tx<<48) t3 0 0 0] = [p8 0 0 0 p4 p3 0 0 0] */ - - c = (__int128)a0 * a0; - VERIFY_BITS(c, 112); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 0 p4 p3 0 0 p0] */ - d += (__int128)a1 * a4 - + (__int128)(a2*2) * a3; - VERIFY_BITS(d, 114); - /* [d t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - uint64_t u0 = d & M; d >>= 52; - VERIFY_BITS(u0, 52); - VERIFY_BITS(d, 62); - /* [d u0 t4+(tx<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - /* [d 0 t4+(tx<<48)+(u0<<52) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - u0 = (u0 << 4) | tx; - VERIFY_BITS(u0, 56); - /* [d 0 t4+(u0<<48) t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - c += (__int128)u0 * (R >> 4); - VERIFY_BITS(c, 113); - /* [d 0 t4 t3 0 0 c] = [p8 0 0 p5 p4 p3 0 0 p0] */ - r[0] = c & M; c >>= 52; - VERIFY_BITS(r[0], 52); - VERIFY_BITS(c, 61); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 0 p0] */ - - a0 *= 2; - c += (__int128)a0 * a1; - VERIFY_BITS(c, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 0 p5 p4 p3 0 p1 p0] */ - d += (__int128)a2 * a4 - + (__int128)a3 * a3; - VERIFY_BITS(d, 114); - /* [d 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 t4 t3 0 c r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - r[1] = c & M; c >>= 52; - VERIFY_BITS(r[1], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 0 p1 p0] */ - - c += (__int128)a0 * a2 - + (__int128)a1 * a1; - VERIFY_BITS(c, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 0 p6 p5 p4 p3 p2 p1 p0] */ - d += (__int128)a3 * a4; - VERIFY_BITS(d, 114); - /* [d 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += (d & M) * R; d >>= 52; - VERIFY_BITS(c, 115); - VERIFY_BITS(d, 62); - /* [d 0 0 0 t4 t3 c r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[2] = c & M; c >>= 52; - VERIFY_BITS(r[2], 52); - VERIFY_BITS(c, 63); - /* [d 0 0 0 t4 t3+c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - - c += d * R + t3;; - VERIFY_BITS(c, 100); - /* [t4 c r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[3] = c & M; c >>= 52; - VERIFY_BITS(r[3], 52); - VERIFY_BITS(c, 48); - /* [t4+c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - c += t4; - VERIFY_BITS(c, 49); - /* [c r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ - r[4] = c; - VERIFY_BITS(r[4], 49); - /* [r4 r3 r2 r1 r0] = [p8 p7 p6 p5 p4 p3 p2 p1 p0] */ -} - -#endif diff --git a/src/secp256k1/src/field_gmp.h b/src/secp256k1/src/field_gmp.h deleted file mode 100644 index b390fd9de..000000000 --- a/src/secp256k1/src/field_gmp.h +++ /dev/null @@ -1,18 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_ -#define _SECP256K1_FIELD_REPR_ - -#include - -#define FIELD_LIMBS ((256 + GMP_NUMB_BITS - 1) / GMP_NUMB_BITS) - -typedef struct { - mp_limb_t n[FIELD_LIMBS+1]; -} secp256k1_fe_t; - -#endif diff --git a/src/secp256k1/src/field_gmp_impl.h b/src/secp256k1/src/field_gmp_impl.h deleted file mode 100644 index 8af7dd68f..000000000 --- a/src/secp256k1/src/field_gmp_impl.h +++ /dev/null @@ -1,180 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_REPR_IMPL_H_ -#define _SECP256K1_FIELD_REPR_IMPL_H_ - -#include -#include -#include "num.h" -#include "field.h" - -static mp_limb_t secp256k1_field_p[FIELD_LIMBS]; -static mp_limb_t secp256k1_field_pc[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; - -static void secp256k1_fe_inner_start(void) { - for (int i=0; i<(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS; i++) - secp256k1_field_pc[i] = 0; - secp256k1_field_pc[0] += 0x3D1UL; - secp256k1_field_pc[32/GMP_NUMB_BITS] += (((mp_limb_t)1) << (32 % GMP_NUMB_BITS)); - for (int i=0; in[FIELD_LIMBS] != 0) { -#if (GMP_NUMB_BITS >= 40) - mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * r->n[FIELD_LIMBS]); - mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x1000003D1ULL * carry); -#else - mp_limb_t carry = mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * r->n[FIELD_LIMBS]) + - mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), r->n[FIELD_LIMBS] << (32 % GMP_NUMB_BITS)); - mpn_add_1(r->n, r->n, FIELD_LIMBS, 0x3D1UL * carry); - mpn_add_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), carry << (32%GMP_NUMB_BITS)); -#endif - r->n[FIELD_LIMBS] = 0; - } - if (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) >= 0) - mpn_sub(r->n, r->n, FIELD_LIMBS, secp256k1_field_p, FIELD_LIMBS); -} - -SECP256K1_INLINE static void secp256k1_fe_set_int(secp256k1_fe_t *r, int a) { - r->n[0] = a; - for (int i=1; in[i] = 0; -} - -SECP256K1_INLINE static void secp256k1_fe_clear(secp256k1_fe_t *r) { - for (int i=0; in[i] = 0; -} - -SECP256K1_INLINE static int secp256k1_fe_is_zero(const secp256k1_fe_t *a) { - int ret = 1; - for (int i=0; in[i] == 0); - return ret; -} - -SECP256K1_INLINE static int secp256k1_fe_is_odd(const secp256k1_fe_t *a) { - return a->n[0] & 1; -} - -SECP256K1_INLINE static int secp256k1_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - int ret = 1; - for (int i=0; in[i] == b->n[i]); - return ret; -} - -SECP256K1_INLINE static int secp256k1_fe_cmp_var(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - for (int i=FIELD_LIMBS; i>=0; i--) { - if (a->n[i] > b->n[i]) return 1; - if (a->n[i] < b->n[i]) return -1; - } - return 0; -} - -static int secp256k1_fe_set_b32(secp256k1_fe_t *r, const unsigned char *a) { - for (int i=0; in[i] = 0; - for (int i=0; i<256; i++) { - int limb = i/GMP_NUMB_BITS; - int shift = i%GMP_NUMB_BITS; - r->n[limb] |= (mp_limb_t)((a[31-i/8] >> (i%8)) & 0x1) << shift; - } - return (mpn_cmp(r->n, secp256k1_field_p, FIELD_LIMBS) < 0); -} - -/** Convert a field element to a 32-byte big endian value. Requires the input to be normalized */ -static void secp256k1_fe_get_b32(unsigned char *r, const secp256k1_fe_t *a) { - for (int i=0; i<32; i++) { - int c = 0; - for (int j=0; j<8; j++) { - int limb = (8*i+j)/GMP_NUMB_BITS; - int shift = (8*i+j)%GMP_NUMB_BITS; - c |= ((a->n[limb] >> shift) & 0x1) << j; - } - r[31-i] = c; - } -} - -SECP256K1_INLINE static void secp256k1_fe_negate(secp256k1_fe_t *r, const secp256k1_fe_t *a, int m) { - (void)m; - *r = *a; - secp256k1_fe_normalize(r); - for (int i=0; in[i] = ~(r->n[i]); -#if (GMP_NUMB_BITS >= 33) - mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x1000003D0ULL); -#else - mpn_sub_1(r->n, r->n, FIELD_LIMBS, 0x3D0UL); - mpn_sub_1(r->n+(32/GMP_NUMB_BITS), r->n+(32/GMP_NUMB_BITS), FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); -#endif -} - -SECP256K1_INLINE static void secp256k1_fe_mul_int(secp256k1_fe_t *r, int a) { - mpn_mul_1(r->n, r->n, FIELD_LIMBS+1, a); -} - -SECP256K1_INLINE static void secp256k1_fe_add(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - mpn_add(r->n, r->n, FIELD_LIMBS+1, a->n, FIELD_LIMBS+1); -} - -static void secp256k1_fe_reduce(secp256k1_fe_t *r, mp_limb_t *tmp) { - /** - * B1 B2 B3 B4 - * + C * A1 A2 A3 A4 - * + A1 A2 A3 A4 - */ - -#if (GMP_NUMB_BITS >= 33) - mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x1000003D1ULL); -#else - mp_limb_t o = mpn_addmul_1(tmp, tmp+FIELD_LIMBS, FIELD_LIMBS, 0x3D1UL) + - mpn_addmul_1(tmp+(32/GMP_NUMB_BITS), tmp+FIELD_LIMBS, FIELD_LIMBS-(32/GMP_NUMB_BITS), 0x1UL << (32%GMP_NUMB_BITS)); -#endif - mp_limb_t q[1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS]; - q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] = mpn_mul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o); -#if (GMP_NUMB_BITS <= 32) - mp_limb_t o2 = tmp[2*FIELD_LIMBS-(32/GMP_NUMB_BITS)] << (32%GMP_NUMB_BITS); - q[(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS] += mpn_addmul_1(q, secp256k1_field_pc, (33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS, o2); -#endif - r->n[FIELD_LIMBS] = mpn_add(r->n, tmp, FIELD_LIMBS, q, 1+(33+GMP_NUMB_BITS-1)/GMP_NUMB_BITS); -} - -static void secp256k1_fe_mul(secp256k1_fe_t *r, const secp256k1_fe_t *a, const secp256k1_fe_t * SECP256K1_RESTRICT b) { - VERIFY_CHECK(r != b); - secp256k1_fe_t ac = *a; - secp256k1_fe_t bc = *b; - secp256k1_fe_normalize(&ac); - secp256k1_fe_normalize(&bc); - mp_limb_t tmp[2*FIELD_LIMBS]; - mpn_mul_n(tmp, ac.n, bc.n, FIELD_LIMBS); - secp256k1_fe_reduce(r, tmp); -} - -static void secp256k1_fe_sqr(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - secp256k1_fe_t ac = *a; - secp256k1_fe_normalize(&ac); - mp_limb_t tmp[2*FIELD_LIMBS]; - mpn_sqr(tmp, ac.n, FIELD_LIMBS); - secp256k1_fe_reduce(r, tmp); -} - -static void secp256k1_fe_cmov(secp256k1_fe_t *r, const secp256k1_fe_t *a, int flag) { - mp_limb_t mask0 = flag + ~((mp_limb_t)0), mask1 = ~mask0; - for (int i = 0; i <= FIELD_LIMBS; i++) { - r->n[i] = (r->n[i] & mask0) | (a->n[i] & mask1); - } -} - -#endif diff --git a/src/secp256k1/src/field_impl.h b/src/secp256k1/src/field_impl.h deleted file mode 100644 index 4d25e5371..000000000 --- a/src/secp256k1/src/field_impl.h +++ /dev/null @@ -1,297 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_FIELD_IMPL_H_ -#define _SECP256K1_FIELD_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "util.h" - -#if defined(USE_FIELD_GMP) -#include "field_gmp_impl.h" -#elif defined(USE_FIELD_10X26) -#include "field_10x26_impl.h" -#elif defined(USE_FIELD_5X52) -#include "field_5x52_impl.h" -#else -#error "Please select field implementation" -#endif - -static void secp256k1_fe_get_hex(char *r, int *rlen, const secp256k1_fe_t *a) { - if (*rlen < 65) { - *rlen = 65; - return; - } - *rlen = 65; - unsigned char tmp[32]; - secp256k1_fe_t b = *a; - secp256k1_fe_normalize(&b); - secp256k1_fe_get_b32(tmp, &b); - for (int i=0; i<32; i++) { - static const char *c = "0123456789ABCDEF"; - r[2*i] = c[(tmp[i] >> 4) & 0xF]; - r[2*i+1] = c[(tmp[i]) & 0xF]; - } - r[64] = 0x00; -} - -static int secp256k1_fe_set_hex(secp256k1_fe_t *r, const char *a, int alen) { - unsigned char tmp[32] = {}; - static const int cvt[256] = {0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 1, 2, 3, 4, 5, 6,7,8,9,0,0,0,0,0,0, - 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0, - 0, 0, 0, 0, 0, 0, 0,0,0,0,0,0,0,0,0,0}; - for (int i=0; i<32; i++) { - if (alen > i*2) - tmp[32 - alen/2 + i] = (cvt[(unsigned char)a[2*i]] << 4) + cvt[(unsigned char)a[2*i+1]]; - } - return secp256k1_fe_set_b32(r, tmp); -} - -static int secp256k1_fe_sqrt(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - - /** The binary representation of (p + 1)/4 has 3 blocks of 1s, with lengths in - * { 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * 1, [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_t x2; - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_t x3; - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - secp256k1_fe_t x6 = x3; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); - secp256k1_fe_mul(&x6, &x6, &x3); - - secp256k1_fe_t x9 = x6; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); - secp256k1_fe_mul(&x9, &x9, &x3); - - secp256k1_fe_t x11 = x9; - for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); - secp256k1_fe_mul(&x11, &x11, &x2); - - secp256k1_fe_t x22 = x11; - for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); - secp256k1_fe_mul(&x22, &x22, &x11); - - secp256k1_fe_t x44 = x22; - for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); - secp256k1_fe_mul(&x44, &x44, &x22); - - secp256k1_fe_t x88 = x44; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); - secp256k1_fe_mul(&x88, &x88, &x44); - - secp256k1_fe_t x176 = x88; - for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); - secp256k1_fe_mul(&x176, &x176, &x88); - - secp256k1_fe_t x220 = x176; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); - secp256k1_fe_mul(&x220, &x220, &x44); - - secp256k1_fe_t x223 = x220; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - secp256k1_fe_t t1 = x223; - for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x22); - for (int j=0; j<6; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x2); - secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_sqr(r, &t1); - - /* Check that a square root was actually calculated */ - - secp256k1_fe_sqr(&t1, r); - secp256k1_fe_negate(&t1, &t1, 1); - secp256k1_fe_add(&t1, a); - secp256k1_fe_normalize(&t1); - return secp256k1_fe_is_zero(&t1); -} - -static void secp256k1_fe_inv(secp256k1_fe_t *r, const secp256k1_fe_t *a) { - - /** The binary representation of (p - 2) has 5 blocks of 1s, with lengths in - * { 1, 2, 22, 223 }. Use an addition chain to calculate 2^n - 1 for each block: - * [1], [2], 3, 6, 9, 11, [22], 44, 88, 176, 220, [223] - */ - - secp256k1_fe_t x2; - secp256k1_fe_sqr(&x2, a); - secp256k1_fe_mul(&x2, &x2, a); - - secp256k1_fe_t x3; - secp256k1_fe_sqr(&x3, &x2); - secp256k1_fe_mul(&x3, &x3, a); - - secp256k1_fe_t x6 = x3; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x6, &x6); - secp256k1_fe_mul(&x6, &x6, &x3); - - secp256k1_fe_t x9 = x6; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x9, &x9); - secp256k1_fe_mul(&x9, &x9, &x3); - - secp256k1_fe_t x11 = x9; - for (int j=0; j<2; j++) secp256k1_fe_sqr(&x11, &x11); - secp256k1_fe_mul(&x11, &x11, &x2); - - secp256k1_fe_t x22 = x11; - for (int j=0; j<11; j++) secp256k1_fe_sqr(&x22, &x22); - secp256k1_fe_mul(&x22, &x22, &x11); - - secp256k1_fe_t x44 = x22; - for (int j=0; j<22; j++) secp256k1_fe_sqr(&x44, &x44); - secp256k1_fe_mul(&x44, &x44, &x22); - - secp256k1_fe_t x88 = x44; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x88, &x88); - secp256k1_fe_mul(&x88, &x88, &x44); - - secp256k1_fe_t x176 = x88; - for (int j=0; j<88; j++) secp256k1_fe_sqr(&x176, &x176); - secp256k1_fe_mul(&x176, &x176, &x88); - - secp256k1_fe_t x220 = x176; - for (int j=0; j<44; j++) secp256k1_fe_sqr(&x220, &x220); - secp256k1_fe_mul(&x220, &x220, &x44); - - secp256k1_fe_t x223 = x220; - for (int j=0; j<3; j++) secp256k1_fe_sqr(&x223, &x223); - secp256k1_fe_mul(&x223, &x223, &x3); - - /* The final result is then assembled using a sliding window over the blocks. */ - - secp256k1_fe_t t1 = x223; - for (int j=0; j<23; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x22); - for (int j=0; j<5; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, a); - for (int j=0; j<3; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(&t1, &t1, &x2); - for (int j=0; j<2; j++) secp256k1_fe_sqr(&t1, &t1); - secp256k1_fe_mul(r, a, &t1); -} - -static void secp256k1_fe_inv_var(secp256k1_fe_t *r, const secp256k1_fe_t *a) { -#if defined(USE_FIELD_INV_BUILTIN) - secp256k1_fe_inv(r, a); -#elif defined(USE_FIELD_INV_NUM) - unsigned char b[32]; - secp256k1_fe_t c = *a; - secp256k1_fe_normalize(&c); - secp256k1_fe_get_b32(b, &c); - secp256k1_num_t n; - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_mod_inverse(&n, &n, &secp256k1_fe_consts->p); - secp256k1_num_get_bin(b, 32, &n); - VERIFY_CHECK(secp256k1_fe_set_b32(r, b)); -#else -#error "Please select field inverse implementation" -#endif -} - -static void secp256k1_fe_inv_all(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { - if (len < 1) - return; - - VERIFY_CHECK((r + len <= a) || (a + len <= r)); - - r[0] = a[0]; - - size_t i = 0; - while (++i < len) { - secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); - } - - secp256k1_fe_t u; secp256k1_fe_inv(&u, &r[--i]); - - while (i > 0) { - int j = i--; - secp256k1_fe_mul(&r[j], &r[i], &u); - secp256k1_fe_mul(&u, &u, &a[j]); - } - - r[0] = u; -} - -static void secp256k1_fe_inv_all_var(size_t len, secp256k1_fe_t r[len], const secp256k1_fe_t a[len]) { - if (len < 1) - return; - - VERIFY_CHECK((r + len <= a) || (a + len <= r)); - - r[0] = a[0]; - - size_t i = 0; - while (++i < len) { - secp256k1_fe_mul(&r[i], &r[i - 1], &a[i]); - } - - secp256k1_fe_t u; secp256k1_fe_inv_var(&u, &r[--i]); - - while (i > 0) { - int j = i--; - secp256k1_fe_mul(&r[j], &r[i], &u); - secp256k1_fe_mul(&u, &u, &a[j]); - } - - r[0] = u; -} - -static void secp256k1_fe_start(void) { -#ifndef USE_NUM_NONE - static const unsigned char secp256k1_fe_consts_p[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFC,0x2F - }; -#endif - if (secp256k1_fe_consts == NULL) { - secp256k1_fe_inner_start(); - secp256k1_fe_consts_t *ret = (secp256k1_fe_consts_t*)malloc(sizeof(secp256k1_fe_consts_t)); -#ifndef USE_NUM_NONE - secp256k1_num_set_bin(&ret->p, secp256k1_fe_consts_p, sizeof(secp256k1_fe_consts_p)); -#endif - secp256k1_fe_consts = ret; - } -} - -static void secp256k1_fe_stop(void) { - if (secp256k1_fe_consts != NULL) { - secp256k1_fe_consts_t *c = (secp256k1_fe_consts_t*)secp256k1_fe_consts; - free((void*)c); - secp256k1_fe_consts = NULL; - secp256k1_fe_inner_stop(); - } -} - -#endif diff --git a/src/secp256k1/src/group.h b/src/secp256k1/src/group.h deleted file mode 100644 index 0f14bd25f..000000000 --- a/src/secp256k1/src/group.h +++ /dev/null @@ -1,120 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_GROUP_ -#define _SECP256K1_GROUP_ - -#include "num.h" -#include "field.h" - -/** A group element of the secp256k1 curve, in affine coordinates. */ -typedef struct { - secp256k1_fe_t x; - secp256k1_fe_t y; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_ge_t; - -/** A group element of the secp256k1 curve, in jacobian coordinates. */ -typedef struct { - secp256k1_fe_t x; /* actual X: x/z^2 */ - secp256k1_fe_t y; /* actual Y: y/z^3 */ - secp256k1_fe_t z; - int infinity; /* whether this represents the point at infinity */ -} secp256k1_gej_t; - -/** Global constants related to the group */ -typedef struct { - secp256k1_ge_t g; /* the generator point */ - -#ifdef USE_ENDOMORPHISM - /* constants related to secp256k1's efficiently computable endomorphism */ - secp256k1_fe_t beta; -#endif -} secp256k1_ge_consts_t; - -static const secp256k1_ge_consts_t *secp256k1_ge_consts = NULL; - -/** Initialize the group module. */ -static void secp256k1_ge_start(void); - -/** De-initialize the group module. */ -static void secp256k1_ge_stop(void); - -/** Set a group element equal to the point at infinity */ -static void secp256k1_ge_set_infinity(secp256k1_ge_t *r); - -/** Set a group element equal to the point with given X and Y coordinates */ -static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); - -/** Set a group element (affine) equal to the point with the given X coordinate, and given oddness - * for Y. Return value indicates whether the result is valid. */ -static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a); - -/** Check whether a group element is valid (i.e., on the curve). */ -static int secp256k1_ge_is_valid(const secp256k1_ge_t *a); - -static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a); - -/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ -static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a); - -/** Set a group element equal to another which is given in jacobian coordinates */ -static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a); - -/** Set a batch of group elements equal to the inputs given in jacobian coordinates */ -static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]); - - -/** Set a group element (jacobian) equal to the point at infinity. */ -static void secp256k1_gej_set_infinity(secp256k1_gej_t *r); - -/** Set a group element (jacobian) equal to the point with given X and Y coordinates. */ -static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y); - -/** Set a group element (jacobian) equal to another which is given in affine coordinates. */ -static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a); - -/** Get the X coordinate of a group element (jacobian). */ -static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a); - -/** Set r equal to the inverse of a (i.e., mirrored around the X axis) */ -static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a); - -/** Check whether a group element is the point at infinity. */ -static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a); - -/** Set r equal to the double of a. */ -static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a); - -/** Set r equal to the sum of a and b. */ -static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b); - -/** Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity). */ -static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); - -/** Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient - than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time - guarantee, and b is allowed to be infinity. */ -static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b); - -/** Get a hex representation of a point. *rlen will be overwritten with the real length. */ -static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a); - -#ifdef USE_ENDOMORPHISM -/** Set r to be equal to lambda times a, where lambda is chosen in a way such that this is very fast. */ -static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a); -#endif - -/** Clear a secp256k1_gej_t to prevent leaking sensitive information. */ -static void secp256k1_gej_clear(secp256k1_gej_t *r); - -/** Clear a secp256k1_ge_t to prevent leaking sensitive information. */ -static void secp256k1_ge_clear(secp256k1_ge_t *r); - -#endif diff --git a/src/secp256k1/src/group_impl.h b/src/secp256k1/src/group_impl.h deleted file mode 100644 index cbd0d8c4f..000000000 --- a/src/secp256k1/src/group_impl.h +++ /dev/null @@ -1,457 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_GROUP_IMPL_H_ -#define _SECP256K1_GROUP_IMPL_H_ - -#include - -#include "num.h" -#include "field.h" -#include "group.h" - -static void secp256k1_ge_set_infinity(secp256k1_ge_t *r) { - r->infinity = 1; -} - -static void secp256k1_ge_set_xy(secp256k1_ge_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { - r->infinity = 0; - r->x = *x; - r->y = *y; -} - -static int secp256k1_ge_is_infinity(const secp256k1_ge_t *a) { - return a->infinity; -} - -static void secp256k1_ge_neg(secp256k1_ge_t *r, const secp256k1_ge_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - secp256k1_fe_normalize(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static void secp256k1_ge_get_hex(char *r, int *rlen, const secp256k1_ge_t *a) { - char cx[65]; int lx=65; - char cy[65]; int ly=65; - secp256k1_fe_get_hex(cx, &lx, &a->x); - secp256k1_fe_get_hex(cy, &ly, &a->y); - lx = strlen(cx); - ly = strlen(cy); - int len = lx + ly + 3 + 1; - if (*rlen < len) { - *rlen = len; - return; - } - *rlen = len; - r[0] = '('; - memcpy(r+1, cx, lx); - r[1+lx] = ','; - memcpy(r+2+lx, cy, ly); - r[2+lx+ly] = ')'; - r[3+lx+ly] = 0; -} - -static void secp256k1_ge_set_gej(secp256k1_ge_t *r, secp256k1_gej_t *a) { - r->infinity = a->infinity; - secp256k1_fe_inv(&a->z, &a->z); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_gej_var(secp256k1_ge_t *r, secp256k1_gej_t *a) { - r->infinity = a->infinity; - if (a->infinity) { - return; - } - secp256k1_fe_inv_var(&a->z, &a->z); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &a->z, &z2); - secp256k1_fe_mul(&a->x, &a->x, &z2); - secp256k1_fe_mul(&a->y, &a->y, &z3); - secp256k1_fe_set_int(&a->z, 1); - r->x = a->x; - r->y = a->y; -} - -static void secp256k1_ge_set_all_gej_var(size_t len, secp256k1_ge_t r[len], const secp256k1_gej_t a[len]) { - size_t count = 0; - secp256k1_fe_t az[len]; - for (size_t i=0; iinfinity = 1; - secp256k1_fe_set_int(&r->x, 0); - secp256k1_fe_set_int(&r->y, 0); - secp256k1_fe_set_int(&r->z, 0); -} - -static void secp256k1_gej_set_xy(secp256k1_gej_t *r, const secp256k1_fe_t *x, const secp256k1_fe_t *y) { - r->infinity = 0; - r->x = *x; - r->y = *y; - secp256k1_fe_set_int(&r->z, 1); -} - -static void secp256k1_gej_clear(secp256k1_gej_t *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); - secp256k1_fe_clear(&r->z); -} - -static void secp256k1_ge_clear(secp256k1_ge_t *r) { - r->infinity = 0; - secp256k1_fe_clear(&r->x); - secp256k1_fe_clear(&r->y); -} - -static int secp256k1_ge_set_xo(secp256k1_ge_t *r, const secp256k1_fe_t *x, int odd) { - r->x = *x; - secp256k1_fe_t x2; secp256k1_fe_sqr(&x2, x); - secp256k1_fe_t x3; secp256k1_fe_mul(&x3, x, &x2); - r->infinity = 0; - secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); - secp256k1_fe_add(&c, &x3); - if (!secp256k1_fe_sqrt(&r->y, &c)) - return 0; - secp256k1_fe_normalize(&r->y); - if (secp256k1_fe_is_odd(&r->y) != odd) - secp256k1_fe_negate(&r->y, &r->y, 1); - return 1; -} - -static void secp256k1_gej_set_ge(secp256k1_gej_t *r, const secp256k1_ge_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - secp256k1_fe_set_int(&r->z, 1); -} - -static void secp256k1_gej_get_x_var(secp256k1_fe_t *r, const secp256k1_gej_t *a) { - secp256k1_fe_t zi2; secp256k1_fe_inv_var(&zi2, &a->z); secp256k1_fe_sqr(&zi2, &zi2); - secp256k1_fe_mul(r, &a->x, &zi2); -} - -static void secp256k1_gej_neg(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - r->infinity = a->infinity; - r->x = a->x; - r->y = a->y; - r->z = a->z; - secp256k1_fe_normalize(&r->y); - secp256k1_fe_negate(&r->y, &r->y, 1); -} - -static int secp256k1_gej_is_infinity(const secp256k1_gej_t *a) { - return a->infinity; -} - -static int secp256k1_gej_is_valid(const secp256k1_gej_t *a) { - if (a->infinity) - return 0; - /** y^2 = x^3 + 7 - * (Y/Z^3)^2 = (X/Z^2)^3 + 7 - * Y^2 / Z^6 = X^3 / Z^6 + 7 - * Y^2 = X^3 + 7*Z^6 - */ - secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &a->z); - secp256k1_fe_t z6; secp256k1_fe_sqr(&z6, &z2); secp256k1_fe_mul(&z6, &z6, &z2); - secp256k1_fe_mul_int(&z6, 7); - secp256k1_fe_add(&x3, &z6); - secp256k1_fe_normalize(&y2); - secp256k1_fe_normalize(&x3); - return secp256k1_fe_equal(&y2, &x3); -} - -static int secp256k1_ge_is_valid(const secp256k1_ge_t *a) { - if (a->infinity) - return 0; - /* y^2 = x^3 + 7 */ - secp256k1_fe_t y2; secp256k1_fe_sqr(&y2, &a->y); - secp256k1_fe_t x3; secp256k1_fe_sqr(&x3, &a->x); secp256k1_fe_mul(&x3, &x3, &a->x); - secp256k1_fe_t c; secp256k1_fe_set_int(&c, 7); - secp256k1_fe_add(&x3, &c); - secp256k1_fe_normalize(&y2); - secp256k1_fe_normalize(&x3); - return secp256k1_fe_equal(&y2, &x3); -} - -static void secp256k1_gej_double_var(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - // For secp256k1, 2Q is infinity if and only if Q is infinity. This is because if 2Q = infinity, - // Q must equal -Q, or that Q.y == -(Q.y), or Q.y is 0. For a point on y^2 = x^3 + 7 to have - // y=0, x^3 must be -7 mod p. However, -7 has no cube root mod p. - r->infinity = a->infinity; - if (r->infinity) { - return; - } - - secp256k1_fe_t t1,t2,t3,t4; - secp256k1_fe_mul(&r->z, &a->z, &a->y); - secp256k1_fe_mul_int(&r->z, 2); /* Z' = 2*Y*Z (2) */ - secp256k1_fe_sqr(&t1, &a->x); - secp256k1_fe_mul_int(&t1, 3); /* T1 = 3*X^2 (3) */ - secp256k1_fe_sqr(&t2, &t1); /* T2 = 9*X^4 (1) */ - secp256k1_fe_sqr(&t3, &a->y); - secp256k1_fe_mul_int(&t3, 2); /* T3 = 2*Y^2 (2) */ - secp256k1_fe_sqr(&t4, &t3); - secp256k1_fe_mul_int(&t4, 2); /* T4 = 8*Y^4 (2) */ - secp256k1_fe_mul(&t3, &t3, &a->x); /* T3 = 2*X*Y^2 (1) */ - r->x = t3; - secp256k1_fe_mul_int(&r->x, 4); /* X' = 8*X*Y^2 (4) */ - secp256k1_fe_negate(&r->x, &r->x, 4); /* X' = -8*X*Y^2 (5) */ - secp256k1_fe_add(&r->x, &t2); /* X' = 9*X^4 - 8*X*Y^2 (6) */ - secp256k1_fe_negate(&t2, &t2, 1); /* T2 = -9*X^4 (2) */ - secp256k1_fe_mul_int(&t3, 6); /* T3 = 12*X*Y^2 (6) */ - secp256k1_fe_add(&t3, &t2); /* T3 = 12*X*Y^2 - 9*X^4 (8) */ - secp256k1_fe_mul(&r->y, &t1, &t3); /* Y' = 36*X^3*Y^2 - 27*X^6 (1) */ - secp256k1_fe_negate(&t2, &t4, 2); /* T2 = -8*Y^4 (3) */ - secp256k1_fe_add(&r->y, &t2); /* Y' = 36*X^3*Y^2 - 27*X^6 - 8*Y^4 (4) */ -} - -static void secp256k1_gej_add_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_gej_t *b) { - if (a->infinity) { - *r = *b; - return; - } - if (b->infinity) { - *r = *a; - return; - } - r->infinity = 0; - secp256k1_fe_t z22; secp256k1_fe_sqr(&z22, &b->z); - secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); - secp256k1_fe_t u1; secp256k1_fe_mul(&u1, &a->x, &z22); - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); - secp256k1_fe_t s1; secp256k1_fe_mul(&s1, &a->y, &z22); secp256k1_fe_mul(&s1, &s1, &b->z); - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_normalize(&u1); - secp256k1_fe_normalize(&u2); - if (secp256k1_fe_equal(&u1, &u2)) { - secp256k1_fe_normalize(&s1); - secp256k1_fe_normalize(&s2); - if (secp256k1_fe_equal(&s1, &s2)) { - secp256k1_gej_double_var(r, a); - } else { - r->infinity = 1; - } - return; - } - secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); - secp256k1_fe_mul(&r->z, &a->z, &b->z); secp256k1_fe_mul(&r->z, &r->z, &h); - secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_ge_var(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { - if (a->infinity) { - r->infinity = b->infinity; - r->x = b->x; - r->y = b->y; - secp256k1_fe_set_int(&r->z, 1); - return; - } - if (b->infinity) { - *r = *a; - return; - } - r->infinity = 0; - secp256k1_fe_t z12; secp256k1_fe_sqr(&z12, &a->z); - secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &z12); - secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &z12); secp256k1_fe_mul(&s2, &s2, &a->z); - secp256k1_fe_normalize(&u1); - secp256k1_fe_normalize(&u2); - if (secp256k1_fe_equal(&u1, &u2)) { - secp256k1_fe_normalize(&s1); - secp256k1_fe_normalize(&s2); - if (secp256k1_fe_equal(&s1, &s2)) { - secp256k1_gej_double_var(r, a); - } else { - r->infinity = 1; - } - return; - } - secp256k1_fe_t h; secp256k1_fe_negate(&h, &u1, 1); secp256k1_fe_add(&h, &u2); - secp256k1_fe_t i; secp256k1_fe_negate(&i, &s1, 1); secp256k1_fe_add(&i, &s2); - secp256k1_fe_t i2; secp256k1_fe_sqr(&i2, &i); - secp256k1_fe_t h2; secp256k1_fe_sqr(&h2, &h); - secp256k1_fe_t h3; secp256k1_fe_mul(&h3, &h, &h2); - r->z = a->z; secp256k1_fe_mul(&r->z, &r->z, &h); - secp256k1_fe_t t; secp256k1_fe_mul(&t, &u1, &h2); - r->x = t; secp256k1_fe_mul_int(&r->x, 2); secp256k1_fe_add(&r->x, &h3); secp256k1_fe_negate(&r->x, &r->x, 3); secp256k1_fe_add(&r->x, &i2); - secp256k1_fe_negate(&r->y, &r->x, 5); secp256k1_fe_add(&r->y, &t); secp256k1_fe_mul(&r->y, &r->y, &i); - secp256k1_fe_mul(&h3, &h3, &s1); secp256k1_fe_negate(&h3, &h3, 1); - secp256k1_fe_add(&r->y, &h3); -} - -static void secp256k1_gej_add_ge(secp256k1_gej_t *r, const secp256k1_gej_t *a, const secp256k1_ge_t *b) { - VERIFY_CHECK(!b->infinity); - VERIFY_CHECK(a->infinity == 0 || a->infinity == 1); - - /** In: - * Eric Brier and Marc Joye, Weierstrass Elliptic Curves and Side-Channel Attacks. - * In D. Naccache and P. Paillier, Eds., Public Key Cryptography, vol. 2274 of Lecture Notes in Computer Science, pages 335-345. Springer-Verlag, 2002. - * we find as solution for a unified addition/doubling formula: - * lambda = ((x1 + x2)^2 - x1 * x2 + a) / (y1 + y2), with a = 0 for secp256k1's curve equation. - * x3 = lambda^2 - (x1 + x2) - * 2*y3 = lambda * (x1 + x2 - 2 * x3) - (y1 + y2). - * - * Substituting x_i = Xi / Zi^2 and yi = Yi / Zi^3, for i=1,2,3, gives: - * U1 = X1*Z2^2, U2 = X2*Z1^2 - * S1 = Y1*Z2^3, S2 = Y2*Z1^3 - * Z = Z1*Z2 - * T = U1+U2 - * M = S1+S2 - * Q = T*M^2 - * R = T^2-U1*U2 - * X3 = 4*(R^2-Q) - * Y3 = 4*(R*(3*Q-2*R^2)-M^4) - * Z3 = 2*M*Z - * (Note that the paper uses xi = Xi / Zi and yi = Yi / Zi instead.) - */ - - secp256k1_fe_t zz; secp256k1_fe_sqr(&zz, &a->z); /* z = Z1^2 */ - secp256k1_fe_t u1 = a->x; secp256k1_fe_normalize(&u1); /* u1 = U1 = X1*Z2^2 (1) */ - secp256k1_fe_t u2; secp256k1_fe_mul(&u2, &b->x, &zz); /* u2 = U2 = X2*Z1^2 (1) */ - secp256k1_fe_t s1 = a->y; secp256k1_fe_normalize(&s1); /* s1 = S1 = Y1*Z2^3 (1) */ - secp256k1_fe_t s2; secp256k1_fe_mul(&s2, &b->y, &zz); /* s2 = Y2*Z2^2 (1) */ - secp256k1_fe_mul(&s2, &s2, &a->z); /* s2 = S2 = Y2*Z1^3 (1) */ - secp256k1_fe_t z = a->z; /* z = Z = Z1*Z2 (8) */ - secp256k1_fe_t t = u1; secp256k1_fe_add(&t, &u2); /* t = T = U1+U2 (2) */ - secp256k1_fe_t m = s1; secp256k1_fe_add(&m, &s2); /* m = M = S1+S2 (2) */ - secp256k1_fe_t n; secp256k1_fe_sqr(&n, &m); /* n = M^2 (1) */ - secp256k1_fe_t q; secp256k1_fe_mul(&q, &n, &t); /* q = Q = T*M^2 (1) */ - secp256k1_fe_sqr(&n, &n); /* n = M^4 (1) */ - secp256k1_fe_t rr; secp256k1_fe_sqr(&rr, &t); /* rr = T^2 (1) */ - secp256k1_fe_mul(&t, &u1, &u2); secp256k1_fe_negate(&t, &t, 1); /* t = -U1*U2 (2) */ - secp256k1_fe_add(&rr, &t); /* rr = R = T^2-U1*U2 (3) */ - secp256k1_fe_sqr(&t, &rr); /* t = R^2 (1) */ - secp256k1_fe_mul(&r->z, &m, &z); /* r->z = M*Z (1) */ - secp256k1_fe_normalize(&r->z); - int infinity = secp256k1_fe_is_zero(&r->z) * (1 - a->infinity); - secp256k1_fe_mul_int(&r->z, 2 * (1 - a->infinity)); /* r->z = Z3 = 2*M*Z (2) */ - r->x = t; /* r->x = R^2 (1) */ - secp256k1_fe_negate(&q, &q, 1); /* q = -Q (2) */ - secp256k1_fe_add(&r->x, &q); /* r->x = R^2-Q (3) */ - secp256k1_fe_normalize(&r->x); - secp256k1_fe_mul_int(&q, 3); /* q = -3*Q (6) */ - secp256k1_fe_mul_int(&t, 2); /* t = 2*R^2 (2) */ - secp256k1_fe_add(&t, &q); /* t = 2*R^2-3*Q (8) */ - secp256k1_fe_mul(&t, &t, &rr); /* t = R*(2*R^2-3*Q) (1) */ - secp256k1_fe_add(&t, &n); /* t = R*(2*R^2-3*Q)+M^4 (2) */ - secp256k1_fe_negate(&r->y, &t, 2); /* r->y = R*(3*Q-2*R^2)-M^4 (3) */ - secp256k1_fe_normalize(&r->y); - secp256k1_fe_mul_int(&r->x, 4 * (1 - a->infinity)); /* r->x = X3 = 4*(R^2-Q) */ - secp256k1_fe_mul_int(&r->y, 4 * (1 - a->infinity)); /* r->y = Y3 = 4*R*(3*Q-2*R^2)-4*M^4 (4) */ - - /** In case a->infinity == 1, the above code results in r->x, r->y, and r->z all equal to 0. - * Add b->x to x, b->y to y, and 1 to z in that case. - */ - t = b->x; secp256k1_fe_mul_int(&t, a->infinity); - secp256k1_fe_add(&r->x, &t); - t = b->y; secp256k1_fe_mul_int(&t, a->infinity); - secp256k1_fe_add(&r->y, &t); - secp256k1_fe_set_int(&t, a->infinity); - secp256k1_fe_add(&r->z, &t); - r->infinity = infinity; -} - - - -static void secp256k1_gej_get_hex(char *r, int *rlen, const secp256k1_gej_t *a) { - secp256k1_gej_t c = *a; - secp256k1_ge_t t; secp256k1_ge_set_gej(&t, &c); - secp256k1_ge_get_hex(r, rlen, &t); -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_gej_mul_lambda(secp256k1_gej_t *r, const secp256k1_gej_t *a) { - const secp256k1_fe_t *beta = &secp256k1_ge_consts->beta; - *r = *a; - secp256k1_fe_mul(&r->x, &r->x, beta); -} -#endif - -static void secp256k1_ge_start(void) { - static const unsigned char secp256k1_ge_consts_g_x[] = { - 0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC, - 0x55,0xA0,0x62,0x95,0xCE,0x87,0x0B,0x07, - 0x02,0x9B,0xFC,0xDB,0x2D,0xCE,0x28,0xD9, - 0x59,0xF2,0x81,0x5B,0x16,0xF8,0x17,0x98 - }; - static const unsigned char secp256k1_ge_consts_g_y[] = { - 0x48,0x3A,0xDA,0x77,0x26,0xA3,0xC4,0x65, - 0x5D,0xA4,0xFB,0xFC,0x0E,0x11,0x08,0xA8, - 0xFD,0x17,0xB4,0x48,0xA6,0x85,0x54,0x19, - 0x9C,0x47,0xD0,0x8F,0xFB,0x10,0xD4,0xB8 - }; -#ifdef USE_ENDOMORPHISM - /* properties of secp256k1's efficiently computable endomorphism */ - static const unsigned char secp256k1_ge_consts_beta[] = { - 0x7a,0xe9,0x6a,0x2b,0x65,0x7c,0x07,0x10, - 0x6e,0x64,0x47,0x9e,0xac,0x34,0x34,0xe9, - 0x9c,0xf0,0x49,0x75,0x12,0xf5,0x89,0x95, - 0xc1,0x39,0x6c,0x28,0x71,0x95,0x01,0xee - }; -#endif - if (secp256k1_ge_consts == NULL) { - secp256k1_ge_consts_t *ret = (secp256k1_ge_consts_t*)malloc(sizeof(secp256k1_ge_consts_t)); -#ifdef USE_ENDOMORPHISM - VERIFY_CHECK(secp256k1_fe_set_b32(&ret->beta, secp256k1_ge_consts_beta)); -#endif - secp256k1_fe_t g_x, g_y; - VERIFY_CHECK(secp256k1_fe_set_b32(&g_x, secp256k1_ge_consts_g_x)); - VERIFY_CHECK(secp256k1_fe_set_b32(&g_y, secp256k1_ge_consts_g_y)); - secp256k1_ge_set_xy(&ret->g, &g_x, &g_y); - secp256k1_ge_consts = ret; - } -} - -static void secp256k1_ge_stop(void) { - if (secp256k1_ge_consts != NULL) { - secp256k1_ge_consts_t *c = (secp256k1_ge_consts_t*)secp256k1_ge_consts; - free((void*)c); - secp256k1_ge_consts = NULL; - } -} - -#endif diff --git a/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java b/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java deleted file mode 100644 index 90a498eaa..000000000 --- a/src/secp256k1/src/java/org/bitcoin/NativeSecp256k1.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.bitcoin; - -import java.nio.ByteBuffer; -import java.nio.ByteOrder; - -import com.google.common.base.Preconditions; - - -/** - * This class holds native methods to handle ECDSA verification. - * You can find an example library that can be used for this at - * https://github.com/sipa/secp256k1 - */ -public class NativeSecp256k1 { - public static final boolean enabled; - static { - boolean isEnabled = true; - try { - System.loadLibrary("javasecp256k1"); - } catch (UnsatisfiedLinkError e) { - isEnabled = false; - } - enabled = isEnabled; - } - - private static ThreadLocal nativeECDSABuffer = new ThreadLocal(); - /** - * Verifies the given secp256k1 signature in native code. - * Calling when enabled == false is undefined (probably library not loaded) - * - * @param data The data which was signed, must be exactly 32 bytes - * @param signature The signature - * @param pub The public key which did the signing - */ - public static boolean verify(byte[] data, byte[] signature, byte[] pub) { - Preconditions.checkArgument(data.length == 32 && signature.length <= 520 && pub.length <= 520); - - ByteBuffer byteBuff = nativeECDSABuffer.get(); - if (byteBuff == null) { - byteBuff = ByteBuffer.allocateDirect(32 + 8 + 520 + 520); - byteBuff.order(ByteOrder.nativeOrder()); - nativeECDSABuffer.set(byteBuff); - } - byteBuff.rewind(); - byteBuff.put(data); - byteBuff.putInt(signature.length); - byteBuff.putInt(pub.length); - byteBuff.put(signature); - byteBuff.put(pub); - return secp256k1_ecdsa_verify(byteBuff) == 1; - } - - /** - * @param byteBuff signature format is byte[32] data, - * native-endian int signatureLength, native-endian int pubkeyLength, - * byte[signatureLength] signature, byte[pubkeyLength] pub - * @returns 1 for valid signature, anything else for invalid - */ - private static native int secp256k1_ecdsa_verify(ByteBuffer byteBuff); -} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c deleted file mode 100644 index bb4cd7072..000000000 --- a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.c +++ /dev/null @@ -1,23 +0,0 @@ -#include "org_bitcoin_NativeSecp256k1.h" -#include "include/secp256k1.h" - -JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify - (JNIEnv* env, jclass classObject, jobject byteBufferObject) -{ - unsigned char* data = (unsigned char*) (*env)->GetDirectBufferAddress(env, byteBufferObject); - int sigLen = *((int*)(data + 32)); - int pubLen = *((int*)(data + 32 + 4)); - - return secp256k1_ecdsa_verify(data, 32, data+32+8, sigLen, data+32+8+sigLen, pubLen); -} - -static void __javasecp256k1_attach(void) __attribute__((constructor)); -static void __javasecp256k1_detach(void) __attribute__((destructor)); - -static void __javasecp256k1_attach(void) { - secp256k1_start(SECP256K1_START_VERIFY); -} - -static void __javasecp256k1_detach(void) { - secp256k1_stop(); -} diff --git a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h b/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h deleted file mode 100644 index d7fb004fa..000000000 --- a/src/secp256k1/src/java/org_bitcoin_NativeSecp256k1.h +++ /dev/null @@ -1,21 +0,0 @@ -/* DO NOT EDIT THIS FILE - it is machine generated */ -#include -/* Header for class org_bitcoin_NativeSecp256k1 */ - -#ifndef _Included_org_bitcoin_NativeSecp256k1 -#define _Included_org_bitcoin_NativeSecp256k1 -#ifdef __cplusplus -extern "C" { -#endif -/* - * Class: org_bitcoin_NativeSecp256k1 - * Method: secp256k1_ecdsa_verify - * Signature: (Ljava/nio/ByteBuffer;)I - */ -JNIEXPORT jint JNICALL Java_org_bitcoin_NativeSecp256k1_secp256k1_1ecdsa_1verify - (JNIEnv *, jclass, jobject); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/src/secp256k1/src/libsecp256k1-config.h b/src/secp256k1/src/libsecp256k1-config.h new file mode 100644 index 000000000..9abff1f73 --- /dev/null +++ b/src/secp256k1/src/libsecp256k1-config.h @@ -0,0 +1,124 @@ +/* src/libsecp256k1-config.h. Generated from libsecp256k1-config.h.in by configure. */ +/* src/libsecp256k1-config.h.in. Generated from configure.ac by autoheader. */ + +#ifndef LIBSECP256K1_CONFIG_H + +#define LIBSECP256K1_CONFIG_H + +/* Define this symbol if OpenSSL EC functions are available */ +/* #undef ENABLE_OPENSSL_TESTS */ + +/* Define this symbol if __builtin_expect is available */ +#define HAVE_BUILTIN_EXPECT 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_DLFCN_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define this symbol if libgmp is installed */ +/* #undef HAVE_LIBGMP */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if the system has the type `__int128'. */ +#define HAVE___INT128 1 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#define LT_OBJDIR ".libs/" + +/* Name of package */ +#define PACKAGE "libsecp256k1" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "libsecp256k1" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "libsecp256k1 0.1" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "libsecp256k1" + +/* Define to the home page for this package. */ +#define PACKAGE_URL "" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "0.1" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define this symbol to use endomorphism optimization */ +/* #undef USE_ENDOMORPHISM */ + +/* Define this symbol to use the FIELD_10X26 implementation */ +#define USE_FIELD_10X26 1 + +/* Define this symbol to use the FIELD_5X52 implementation */ +/* #undef USE_FIELD_5X52 */ + +/* Define this symbol to use the assembly version for the 5x52 field + implementation */ +/* #undef USE_FIELD_5X52_ASM */ + +/* Define this symbol to use the __int128 version for the 5x52 field + implementation */ +/* #undef USE_FIELD_5X52_INT128 */ + +/* Define this symbol to use the FIELD_GMP implementation */ +/* #undef USE_FIELD_GMP */ + +/* Define this symbol to use the native field inverse implementation */ +#define USE_FIELD_INV_BUILTIN 1 + +/* Define this symbol to use the num-based field inverse implementation */ +/* #undef USE_FIELD_INV_NUM */ + +/* Define this symbol to use the gmp implementation for num */ +/* #undef USE_NUM_GMP */ + +/* Define this symbol to use no num implementation */ +#define USE_NUM_NONE 1 + +/* Define this symbol to use the 4x64 scalar implementation */ +/* #undef USE_SCALAR_4X64 */ + +/* Define this symbol to use the 8x32 scalar implementation */ +#define USE_SCALAR_8X32 1 + +/* Define this symbol to use the native scalar inverse implementation */ +#define USE_SCALAR_INV_BUILTIN 1 + +/* Define this symbol to use the num-based scalar inverse implementation */ +/* #undef USE_SCALAR_INV_NUM */ + +/* Version number of package */ +#define VERSION "0.1" + +#endif //LIBSECP256K1_CONFIG_H diff --git a/src/secp256k1/src/libsecp256k1-config.h.in b/src/secp256k1/src/libsecp256k1-config.h.in new file mode 100644 index 000000000..4927f000b --- /dev/null +++ b/src/secp256k1/src/libsecp256k1-config.h.in @@ -0,0 +1,123 @@ +/* src/libsecp256k1-config.h.in. Generated from configure.ac by autoheader. */ + +#ifndef LIBSECP256K1_CONFIG_H + +#define LIBSECP256K1_CONFIG_H + +/* Define this symbol if OpenSSL EC functions are available */ +#undef ENABLE_OPENSSL_TESTS + +/* Define this symbol if __builtin_expect is available */ +#undef HAVE_BUILTIN_EXPECT + +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define this symbol if libgmp is installed */ +#undef HAVE_LIBGMP + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if the system has the type `__int128'. */ +#undef HAVE___INT128 + +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + +/* Name of package */ +#undef PACKAGE + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define this symbol to use endomorphism optimization */ +#undef USE_ENDOMORPHISM + +/* Define this symbol to use the FIELD_10X26 implementation */ +#undef USE_FIELD_10X26 + +/* Define this symbol to use the FIELD_5X52 implementation */ +#undef USE_FIELD_5X52 + +/* Define this symbol to use the assembly version for the 5x52 field + implementation */ +#undef USE_FIELD_5X52_ASM + +/* Define this symbol to use the __int128 version for the 5x52 field + implementation */ +#undef USE_FIELD_5X52_INT128 + +/* Define this symbol to use the FIELD_GMP implementation */ +#undef USE_FIELD_GMP + +/* Define this symbol to use the native field inverse implementation */ +#undef USE_FIELD_INV_BUILTIN + +/* Define this symbol to use the num-based field inverse implementation */ +#undef USE_FIELD_INV_NUM + +/* Define this symbol to use the gmp implementation for num */ +#undef USE_NUM_GMP + +/* Define this symbol to use no num implementation */ +#undef USE_NUM_NONE + +/* Define this symbol to use the 4x64 scalar implementation */ +#undef USE_SCALAR_4X64 + +/* Define this symbol to use the 8x32 scalar implementation */ +#undef USE_SCALAR_8X32 + +/* Define this symbol to use the native scalar inverse implementation */ +#undef USE_SCALAR_INV_BUILTIN + +/* Define this symbol to use the num-based scalar inverse implementation */ +#undef USE_SCALAR_INV_NUM + +/* Version number of package */ +#undef VERSION + +#endif //LIBSECP256K1_CONFIG_H diff --git a/src/secp256k1/src/num.h b/src/secp256k1/src/num.h deleted file mode 100644 index 339b6bb6e..000000000 --- a/src/secp256k1/src/num.h +++ /dev/null @@ -1,68 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_ -#define _SECP256K1_NUM_ - -#ifndef USE_NUM_NONE - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_NUM_GMP) -#include "num_gmp.h" -#else -#error "Please select num implementation" -#endif - -/** Copy a number. */ -static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a); - -/** Convert a number's absolute value to a binary big-endian string. - * There must be enough place. */ -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a); - -/** Set a number to the value of a binary big-endian string. */ -static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen); - -/** Compute a modular inverse. The input must be less than the modulus. */ -static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m); - -/** Compare the absolute value of two numbers. */ -static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Test whether two number are equal (including sign). */ -static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Add two (signed) numbers. */ -static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Subtract two (signed) numbers. */ -static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Multiply two (signed) numbers. */ -static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b); - -/** Replace a number by its remainder modulo m. M's sign is ignored. The result is a number between 0 and m-1, - even if r was negative. */ -static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m); - -/** Right-shift the passed number by bits bits. */ -static void secp256k1_num_shift(secp256k1_num_t *r, int bits); - -/** Check whether a number is zero. */ -static int secp256k1_num_is_zero(const secp256k1_num_t *a); - -/** Check whether a number is strictly negative. */ -static int secp256k1_num_is_neg(const secp256k1_num_t *a); - -/** Change a number's sign. */ -static void secp256k1_num_negate(secp256k1_num_t *r); - -#endif - -#endif diff --git a/src/secp256k1/src/num_gmp.h b/src/secp256k1/src/num_gmp.h deleted file mode 100644 index baa1f2bf2..000000000 --- a/src/secp256k1/src/num_gmp.h +++ /dev/null @@ -1,20 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_REPR_ -#define _SECP256K1_NUM_REPR_ - -#include - -#define NUM_LIMBS ((256+GMP_NUMB_BITS-1)/GMP_NUMB_BITS) - -typedef struct { - mp_limb_t data[2*NUM_LIMBS]; - int neg; - int limbs; -} secp256k1_num_t; - -#endif diff --git a/src/secp256k1/src/num_gmp_impl.h b/src/secp256k1/src/num_gmp_impl.h deleted file mode 100644 index 19d474e59..000000000 --- a/src/secp256k1/src/num_gmp_impl.h +++ /dev/null @@ -1,232 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_REPR_IMPL_H_ -#define _SECP256K1_NUM_REPR_IMPL_H_ - -#include -#include -#include - -#include "util.h" -#include "num.h" - -#ifdef VERIFY -static void secp256k1_num_sanity(const secp256k1_num_t *a) { - VERIFY_CHECK(a->limbs == 1 || (a->limbs > 1 && a->data[a->limbs-1] != 0)); -} -#else -#define secp256k1_num_sanity(a) do { } while(0) -#endif - -static void secp256k1_num_copy(secp256k1_num_t *r, const secp256k1_num_t *a) { - *r = *a; -} - -static void secp256k1_num_get_bin(unsigned char *r, unsigned int rlen, const secp256k1_num_t *a) { - unsigned char tmp[65]; - int len = 0; - if (a->limbs>1 || a->data[0] != 0) { - len = mpn_get_str(tmp, 256, (mp_limb_t*)a->data, a->limbs); - } - int shift = 0; - while (shift < len && tmp[shift] == 0) shift++; - VERIFY_CHECK(len-shift <= (int)rlen); - memset(r, 0, rlen - len + shift); - if (len > shift) { - memcpy(r + rlen - len + shift, tmp + shift, len - shift); - } - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_set_bin(secp256k1_num_t *r, const unsigned char *a, unsigned int alen) { - VERIFY_CHECK(alen > 0); - VERIFY_CHECK(alen <= 64); - int len = mpn_set_str(r->data, a, alen, 256); - if (len == 0) { - r->data[0] = 0; - len = 1; - } - VERIFY_CHECK(len <= NUM_LIMBS*2); - r->limbs = len; - r->neg = 0; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_add_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - mp_limb_t c = mpn_add(r->data, a->data, a->limbs, b->data, b->limbs); - r->limbs = a->limbs; - if (c != 0) { - VERIFY_CHECK(r->limbs < 2*NUM_LIMBS); - r->data[r->limbs++] = c; - } -} - -static void secp256k1_num_sub_abs(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - mp_limb_t c = mpn_sub(r->data, a->data, a->limbs, b->data, b->limbs); - VERIFY_CHECK(c == 0); - r->limbs = a->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_mod(secp256k1_num_t *r, const secp256k1_num_t *m) { - secp256k1_num_sanity(r); - secp256k1_num_sanity(m); - - if (r->limbs >= m->limbs) { - mp_limb_t t[2*NUM_LIMBS]; - mpn_tdiv_qr(t, r->data, 0, r->data, r->limbs, m->data, m->limbs); - memset(t, 0, sizeof(t)); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; - } - - if (r->neg && (r->limbs > 1 || r->data[0] != 0)) { - secp256k1_num_sub_abs(r, m, r); - r->neg = 0; - } -} - -static void secp256k1_num_mod_inverse(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *m) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(m); - - /** mpn_gcdext computes: (G,S) = gcdext(U,V), where - * * G = gcd(U,V) - * * G = U*S + V*T - * * U has equal or more limbs than V, and V has no padding - * If we set U to be (a padded version of) a, and V = m: - * G = a*S + m*T - * G = a*S mod m - * Assuming G=1: - * S = 1/a mod m - */ - VERIFY_CHECK(m->limbs <= NUM_LIMBS); - VERIFY_CHECK(m->data[m->limbs-1] != 0); - mp_limb_t g[NUM_LIMBS+1]; - mp_limb_t u[NUM_LIMBS+1]; - mp_limb_t v[NUM_LIMBS+1]; - for (int i=0; i < m->limbs; i++) { - u[i] = (i < a->limbs) ? a->data[i] : 0; - v[i] = m->data[i]; - } - mp_size_t sn = NUM_LIMBS+1; - mp_size_t gn = mpn_gcdext(g, r->data, &sn, u, m->limbs, v, m->limbs); - VERIFY_CHECK(gn == 1); - VERIFY_CHECK(g[0] == 1); - r->neg = a->neg ^ m->neg; - if (sn < 0) { - mpn_sub(r->data, m->data, m->limbs, r->data, -sn); - r->limbs = m->limbs; - while (r->limbs > 1 && r->data[r->limbs-1]==0) r->limbs--; - } else { - r->limbs = sn; - } - memset(g, 0, sizeof(g)); - memset(u, 0, sizeof(u)); - memset(v, 0, sizeof(v)); -} - -static int secp256k1_num_is_zero(const secp256k1_num_t *a) { - return (a->limbs == 1 && a->data[0] == 0); -} - -static int secp256k1_num_is_neg(const secp256k1_num_t *a) { - return (a->limbs > 1 || a->data[0] != 0) && a->neg; -} - -static int secp256k1_num_cmp(const secp256k1_num_t *a, const secp256k1_num_t *b) { - if (a->limbs > b->limbs) return 1; - if (a->limbs < b->limbs) return -1; - return mpn_cmp(a->data, b->data, a->limbs); -} - -static int secp256k1_num_eq(const secp256k1_num_t *a, const secp256k1_num_t *b) { - if (a->limbs > b->limbs) return 0; - if (a->limbs < b->limbs) return 0; - if ((a->neg && !secp256k1_num_is_zero(a)) != (b->neg && !secp256k1_num_is_zero(b))) return 0; - return mpn_cmp(a->data, b->data, a->limbs) == 0; -} - -static void secp256k1_num_subadd(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b, int bneg) { - if (!(b->neg ^ bneg ^ a->neg)) { /* a and b have the same sign */ - r->neg = a->neg; - if (a->limbs >= b->limbs) { - secp256k1_num_add_abs(r, a, b); - } else { - secp256k1_num_add_abs(r, b, a); - } - } else { - if (secp256k1_num_cmp(a, b) > 0) { - r->neg = a->neg; - secp256k1_num_sub_abs(r, a, b); - } else { - r->neg = b->neg ^ bneg; - secp256k1_num_sub_abs(r, b, a); - } - } -} - -static void secp256k1_num_add(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 0); -} - -static void secp256k1_num_sub(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - secp256k1_num_subadd(r, a, b, 1); -} - -static void secp256k1_num_mul(secp256k1_num_t *r, const secp256k1_num_t *a, const secp256k1_num_t *b) { - secp256k1_num_sanity(a); - secp256k1_num_sanity(b); - - mp_limb_t tmp[2*NUM_LIMBS+1]; - VERIFY_CHECK(a->limbs + b->limbs <= 2*NUM_LIMBS+1); - if ((a->limbs==1 && a->data[0]==0) || (b->limbs==1 && b->data[0]==0)) { - r->limbs = 1; - r->neg = 0; - r->data[0] = 0; - return; - } - if (a->limbs >= b->limbs) - mpn_mul(tmp, a->data, a->limbs, b->data, b->limbs); - else - mpn_mul(tmp, b->data, b->limbs, a->data, a->limbs); - r->limbs = a->limbs + b->limbs; - if (r->limbs > 1 && tmp[r->limbs - 1]==0) r->limbs--; - VERIFY_CHECK(r->limbs <= 2*NUM_LIMBS); - mpn_copyi(r->data, tmp, r->limbs); - r->neg = a->neg ^ b->neg; - memset(tmp, 0, sizeof(tmp)); -} - -static void secp256k1_num_shift(secp256k1_num_t *r, int bits) { - if (bits % GMP_NUMB_BITS) { - // Shift within limbs. - mpn_rshift(r->data, r->data, r->limbs, bits % GMP_NUMB_BITS); - } - if (bits >= GMP_NUMB_BITS) { - // Shift full limbs. - for (int i = 0; i < r->limbs; i++) { - int index = i + (bits / GMP_NUMB_BITS); - if (index < r->limbs && index < 2*NUM_LIMBS) { - r->data[i] = r->data[index]; - } else { - r->data[i] = 0; - } - } - } - while (r->limbs>1 && r->data[r->limbs-1]==0) r->limbs--; -} - -static void secp256k1_num_negate(secp256k1_num_t *r) { - r->neg ^= 1; -} - -#endif diff --git a/src/secp256k1/src/num_impl.h b/src/secp256k1/src/num_impl.h deleted file mode 100644 index 0b0e3a072..000000000 --- a/src/secp256k1/src/num_impl.h +++ /dev/null @@ -1,24 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_NUM_IMPL_H_ -#define _SECP256K1_NUM_IMPL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include "num.h" - -#if defined(USE_NUM_GMP) -#include "num_gmp_impl.h" -#elif defined(USE_NUM_NONE) -/* Nothing. */ -#else -#error "Please select num implementation" -#endif - -#endif diff --git a/src/secp256k1/src/scalar.h b/src/secp256k1/src/scalar.h deleted file mode 100644 index 2f5ba0d44..000000000 --- a/src/secp256k1/src/scalar.h +++ /dev/null @@ -1,96 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_ -#define _SECP256K1_SCALAR_ - -#include "num.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_SCALAR_4X64) -#include "scalar_4x64.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32.h" -#else -#error "Please select scalar implementation" -#endif - -static void secp256k1_scalar_start(void); -static void secp256k1_scalar_stop(void); - -/** Clear a scalar to prevent the leak of sensitive data. */ -static void secp256k1_scalar_clear(secp256k1_scalar_t *r); - -/** Access bits from a scalar. All requested bits must belong to the same 32-bit limb. */ -static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); - -/** Access bits from a scalar. Not constant time. */ -static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count); - -/** Set a scalar from a big endian byte array. */ -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *bin, int *overflow); - -/** Set a scalar to an unsigned integer. */ -static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v); - -/** Convert a scalar to a byte array. */ -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a); - -/** Add two scalars together (modulo the group order). Returns whether it overflowed. */ -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -/** Add a power of two to a scalar. The result is not allowed to overflow. */ -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit); - -/** Multiply two scalars (modulo the group order). */ -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -/** Compute the square of a scalar (modulo the group order). */ -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the inverse of a scalar (modulo the group order). */ -static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the inverse of a scalar (modulo the group order), without constant-time guarantee. */ -static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Compute the complement of a scalar (modulo the group order). */ -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a); - -/** Check whether a scalar equals zero. */ -static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a); - -/** Check whether a scalar equals one. */ -static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a); - -/** Check whether a scalar is higher than the group order divided by 2. */ -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a); - -#ifndef USE_NUM_NONE -/** Convert a scalar to a number. */ -static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a); - -/** Get the order of the group as a number. */ -static void secp256k1_scalar_order_get_num(secp256k1_num_t *r); -#endif - -/** Compare two scalars. */ -static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b); - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); - -#ifdef USE_ENDOMORPHISM -/** Find r1 and r2 such that r1+r2*lambda = a, and r1 and r2 are maximum 128 bits long (see secp256k1_gej_mul_lambda). */ -static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a); -#endif - -/** Multiply a and b (without taking the modulus!), divide by 2**shift, and round to the nearest integer. Shift must be at least 256. */ -static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift); - -#endif diff --git a/src/secp256k1/src/scalar_4x64.h b/src/secp256k1/src/scalar_4x64.h deleted file mode 100644 index 5a751c686..000000000 --- a/src/secp256k1/src/scalar_4x64.h +++ /dev/null @@ -1,17 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_ -#define _SECP256K1_SCALAR_REPR_ - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint64_t d[4]; -} secp256k1_scalar_t; - -#endif diff --git a/src/secp256k1/src/scalar_4x64_impl.h b/src/secp256k1/src/scalar_4x64_impl.h deleted file mode 100644 index d14477522..000000000 --- a/src/secp256k1/src/scalar_4x64_impl.h +++ /dev/null @@ -1,431 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ -#define _SECP256K1_SCALAR_REPR_IMPL_H_ - -typedef unsigned __int128 uint128_t; - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint64_t)0xBFD25E8CD0364141ULL) -#define SECP256K1_N_1 ((uint64_t)0xBAAEDCE6AF48A03BULL) -#define SECP256K1_N_2 ((uint64_t)0xFFFFFFFFFFFFFFFEULL) -#define SECP256K1_N_3 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint64_t)0xDFE92F46681B20A0ULL) -#define SECP256K1_N_H_1 ((uint64_t)0x5D576E7357A4501DULL) -#define SECP256K1_N_H_2 ((uint64_t)0xFFFFFFFFFFFFFFFFULL) -#define SECP256K1_N_H_3 ((uint64_t)0x7FFFFFFFFFFFFFFFULL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 6 == offset >> 6); - return (a->d[offset >> 6] >> (offset & 0x3F)) & ((((uint64_t)1) << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 6 == offset >> 6) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 6) + 1 < 4); - return ((a->d[offset >> 6] >> (offset & 0x3F)) | (a->d[(offset >> 6) + 1] << (64 - (offset & 0x3F)))) & ((((uint64_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_3); /* No need for a > check. */ - no |= (a->d[2] < SECP256K1_N_2); - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1); - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, unsigned int overflow) { - VERIFY_CHECK(overflow <= 1); - uint128_t t = (uint128_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint64_t)r->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint128_t t = (uint128_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - int overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { - VERIFY_CHECK(bit < 256); - uint128_t t = (uint128_t)r->d[0] + (((uint64_t)((bit >> 6) == 0)) << (bit & 0x3F)); - r->d[0] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[1] + (((uint64_t)((bit >> 6) == 1)) << (bit & 0x3F)); - r->d[1] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[2] + (((uint64_t)((bit >> 6) == 2)) << (bit & 0x3F)); - r->d[2] = t & 0xFFFFFFFFFFFFFFFFULL; t >>= 64; - t += (uint128_t)r->d[3] + (((uint64_t)((bit >> 6) == 3)) << (bit & 0x3F)); - r->d[3] = t & 0xFFFFFFFFFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 64) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { - r->d[0] = (uint64_t)b32[31] | (uint64_t)b32[30] << 8 | (uint64_t)b32[29] << 16 | (uint64_t)b32[28] << 24 | (uint64_t)b32[27] << 32 | (uint64_t)b32[26] << 40 | (uint64_t)b32[25] << 48 | (uint64_t)b32[24] << 56; - r->d[1] = (uint64_t)b32[23] | (uint64_t)b32[22] << 8 | (uint64_t)b32[21] << 16 | (uint64_t)b32[20] << 24 | (uint64_t)b32[19] << 32 | (uint64_t)b32[18] << 40 | (uint64_t)b32[17] << 48 | (uint64_t)b32[16] << 56; - r->d[2] = (uint64_t)b32[15] | (uint64_t)b32[14] << 8 | (uint64_t)b32[13] << 16 | (uint64_t)b32[12] << 24 | (uint64_t)b32[11] << 32 | (uint64_t)b32[10] << 40 | (uint64_t)b32[9] << 48 | (uint64_t)b32[8] << 56; - r->d[3] = (uint64_t)b32[7] | (uint64_t)b32[6] << 8 | (uint64_t)b32[5] << 16 | (uint64_t)b32[4] << 24 | (uint64_t)b32[3] << 32 | (uint64_t)b32[2] << 40 | (uint64_t)b32[1] << 48 | (uint64_t)b32[0] << 56; - int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { - bin[0] = a->d[3] >> 56; bin[1] = a->d[3] >> 48; bin[2] = a->d[3] >> 40; bin[3] = a->d[3] >> 32; bin[4] = a->d[3] >> 24; bin[5] = a->d[3] >> 16; bin[6] = a->d[3] >> 8; bin[7] = a->d[3]; - bin[8] = a->d[2] >> 56; bin[9] = a->d[2] >> 48; bin[10] = a->d[2] >> 40; bin[11] = a->d[2] >> 32; bin[12] = a->d[2] >> 24; bin[13] = a->d[2] >> 16; bin[14] = a->d[2] >> 8; bin[15] = a->d[2]; - bin[16] = a->d[1] >> 56; bin[17] = a->d[1] >> 48; bin[18] = a->d[1] >> 40; bin[19] = a->d[1] >> 32; bin[20] = a->d[1] >> 24; bin[21] = a->d[1] >> 16; bin[22] = a->d[1] >> 8; bin[23] = a->d[1]; - bin[24] = a->d[0] >> 56; bin[25] = a->d[0] >> 48; bin[26] = a->d[0] >> 40; bin[27] = a->d[0] >> 32; bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint64_t nonzero = 0xFFFFFFFFFFFFFFFFULL * (secp256k1_scalar_is_zero(a) == 0); - uint128_t t = (uint128_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 64; - t += (uint128_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[3] < SECP256K1_N_H_3); - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; /* No need for a > check. */ - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint64_t tl, th; \ - { \ - uint128_t t = (uint128_t)a * b; \ - th = t >> 64; /* at most 0xFFFFFFFFFFFFFFFE */ \ - tl = t; \ - } \ - uint64_t th2 = th + th; /* at most 0xFFFFFFFFFFFFFFFE (in case th was 0x7FFFFFFFFFFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - uint64_t tl2 = tl + tl; /* at most 0xFFFFFFFFFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFFFFFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFFFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - unsigned int over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 64 bits of (c0,c1,c2) into n, and left shift the number 64 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint64_t *l) { - uint64_t n0 = l[4], n1 = l[5], n2 = l[6], n3 = l[7]; - - /* 160 bit accumulator. */ - uint64_t c0, c1; - uint32_t c2; - - /* Reduce 512 bits into 385. */ - /* m[0..6] = l[0..3] + n[0..3] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - uint64_t m0; extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - uint64_t m1; extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - sumadd(n0); - uint64_t m2; extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - sumadd(n1); - uint64_t m3; extract(m3); - muladd(n3, SECP256K1_N_C_1); - sumadd(n2); - uint64_t m4; extract(m4); - sumadd_fast(n3); - uint64_t m5; extract_fast(m5); - VERIFY_CHECK(c0 <= 1); - uint32_t m6 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..4] = m[0..3] + m[4..6] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m4, SECP256K1_N_C_0); - uint64_t p0; extract_fast(p0); - sumadd_fast(m1); - muladd(m5, SECP256K1_N_C_0); - muladd(m4, SECP256K1_N_C_1); - uint64_t p1; extract(p1); - sumadd(m2); - muladd(m6, SECP256K1_N_C_0); - muladd(m5, SECP256K1_N_C_1); - sumadd(m4); - uint64_t p2; extract(p2); - sumadd_fast(m3); - muladd_fast(m6, SECP256K1_N_C_1); - sumadd_fast(m5); - uint64_t p3; extract_fast(p3); - uint32_t p4 = c0 + m6; - VERIFY_CHECK(p4 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..3] = p[0..3] + p[4] * SECP256K1_N_C. */ - uint128_t c = p0 + (uint128_t)SECP256K1_N_C_0 * p4; - r->d[0] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p1 + (uint128_t)SECP256K1_N_C_1 * p4; - r->d[1] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p2 + (uint128_t)p4; - r->d[2] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - c += p3; - r->d[3] = c & 0xFFFFFFFFFFFFFFFFULL; c >>= 64; - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint64_t l[8], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - extract(l[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - extract(l[5]); - muladd_fast(a->d[3], b->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 <= 0); - l[7] = c0; -} - -static void secp256k1_scalar_sqr_512(uint64_t l[8], const secp256k1_scalar_t *a) { - /* 160 bit accumulator. */ - uint64_t c0 = 0, c1 = 0; - uint32_t c2 = 0; - - /* l[0..7] = a[0..3] * b[0..3]. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd_fast(a->d[3], a->d[3]); - extract_fast(l[6]); - VERIFY_CHECK(c1 == 0); - l[7] = c0; -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint64_t l[8]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint64_t l[8]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = 0; - r1->d[3] = 0; - r2->d[0] = a->d[2]; - r2->d[1] = a->d[3]; - r2->d[2] = 0; - r2->d[3] = 0; -} - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { - VERIFY_CHECK(shift >= 256); - uint64_t l[8]; - secp256k1_scalar_mul_512(l, a, b); - unsigned int shiftlimbs = shift >> 6; - unsigned int shiftlow = shift & 0x3F; - unsigned int shifthigh = 64 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 448 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 384 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 320 ? (l[3 + shiftlimbs] >> shiftlow) : 0; - if ((l[(shift - 1) >> 6] >> ((shift - 1) & 0x3f)) & 1) { - secp256k1_scalar_add_bit(r, 0); - } -} - -#endif diff --git a/src/secp256k1/src/scalar_8x32.h b/src/secp256k1/src/scalar_8x32.h deleted file mode 100644 index f70328cfc..000000000 --- a/src/secp256k1/src/scalar_8x32.h +++ /dev/null @@ -1,17 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_ -#define _SECP256K1_SCALAR_REPR_ - -#include - -/** A scalar modulo the group order of the secp256k1 curve. */ -typedef struct { - uint32_t d[8]; -} secp256k1_scalar_t; - -#endif diff --git a/src/secp256k1/src/scalar_8x32_impl.h b/src/secp256k1/src/scalar_8x32_impl.h deleted file mode 100644 index 915cbcddb..000000000 --- a/src/secp256k1/src/scalar_8x32_impl.h +++ /dev/null @@ -1,668 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_REPR_IMPL_H_ -#define _SECP256K1_SCALAR_REPR_IMPL_H_ - -/* Limbs of the secp256k1 order. */ -#define SECP256K1_N_0 ((uint32_t)0xD0364141UL) -#define SECP256K1_N_1 ((uint32_t)0xBFD25E8CUL) -#define SECP256K1_N_2 ((uint32_t)0xAF48A03BUL) -#define SECP256K1_N_3 ((uint32_t)0xBAAEDCE6UL) -#define SECP256K1_N_4 ((uint32_t)0xFFFFFFFEUL) -#define SECP256K1_N_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_7 ((uint32_t)0xFFFFFFFFUL) - -/* Limbs of 2^256 minus the secp256k1 order. */ -#define SECP256K1_N_C_0 (~SECP256K1_N_0 + 1) -#define SECP256K1_N_C_1 (~SECP256K1_N_1) -#define SECP256K1_N_C_2 (~SECP256K1_N_2) -#define SECP256K1_N_C_3 (~SECP256K1_N_3) -#define SECP256K1_N_C_4 (1) - -/* Limbs of half the secp256k1 order. */ -#define SECP256K1_N_H_0 ((uint32_t)0x681B20A0UL) -#define SECP256K1_N_H_1 ((uint32_t)0xDFE92F46UL) -#define SECP256K1_N_H_2 ((uint32_t)0x57A4501DUL) -#define SECP256K1_N_H_3 ((uint32_t)0x5D576E73UL) -#define SECP256K1_N_H_4 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_5 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_6 ((uint32_t)0xFFFFFFFFUL) -#define SECP256K1_N_H_7 ((uint32_t)0x7FFFFFFFUL) - -SECP256K1_INLINE static void secp256k1_scalar_clear(secp256k1_scalar_t *r) { - r->d[0] = 0; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_set_int(secp256k1_scalar_t *r, unsigned int v) { - r->d[0] = v; - r->d[1] = 0; - r->d[2] = 0; - r->d[3] = 0; - r->d[4] = 0; - r->d[5] = 0; - r->d[6] = 0; - r->d[7] = 0; -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK((offset + count - 1) >> 5 == offset >> 5); - return (a->d[offset >> 5] >> (offset & 0x1F)) & ((1 << count) - 1); -} - -SECP256K1_INLINE static unsigned int secp256k1_scalar_get_bits_var(const secp256k1_scalar_t *a, unsigned int offset, unsigned int count) { - VERIFY_CHECK(count < 32); - VERIFY_CHECK(offset + count <= 256); - if ((offset + count - 1) >> 5 == offset >> 5) { - return secp256k1_scalar_get_bits(a, offset, count); - } else { - VERIFY_CHECK((offset >> 5) + 1 < 8); - return ((a->d[offset >> 5] >> (offset & 0x1F)) | (a->d[(offset >> 5) + 1] << (32 - (offset & 0x1F)))) & ((((uint32_t)1) << count) - 1); - } -} - -SECP256K1_INLINE static int secp256k1_scalar_check_overflow(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_7); /* No need for a > check. */ - no |= (a->d[6] < SECP256K1_N_6); /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_5); /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_4); - yes |= (a->d[4] > SECP256K1_N_4) & ~no; - no |= (a->d[3] < SECP256K1_N_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_3) & ~no; - no |= (a->d[2] < SECP256K1_N_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_2) & ~no; - no |= (a->d[1] < SECP256K1_N_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_1) & ~no; - yes |= (a->d[0] >= SECP256K1_N_0) & ~no; - return yes; -} - -SECP256K1_INLINE static int secp256k1_scalar_reduce(secp256k1_scalar_t *r, uint32_t overflow) { - VERIFY_CHECK(overflow <= 1); - uint64_t t = (uint64_t)r->d[0] + overflow * SECP256K1_N_C_0; - r->d[0] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[1] + overflow * SECP256K1_N_C_1; - r->d[1] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[2] + overflow * SECP256K1_N_C_2; - r->d[2] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[3] + overflow * SECP256K1_N_C_3; - r->d[3] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[4] + overflow * SECP256K1_N_C_4; - r->d[4] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[5]; - r->d[5] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[6]; - r->d[6] = t & 0xFFFFFFFFUL; t >>= 32; - t += (uint64_t)r->d[7]; - r->d[7] = t & 0xFFFFFFFFUL; - return overflow; -} - -static int secp256k1_scalar_add(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint64_t t = (uint64_t)a->d[0] + b->d[0]; - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[1] + b->d[1]; - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[2] + b->d[2]; - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[3] + b->d[3]; - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[4] + b->d[4]; - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[5] + b->d[5]; - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[6] + b->d[6]; - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)a->d[7] + b->d[7]; - r->d[7] = t & 0xFFFFFFFFULL; t >>= 32; - int overflow = t + secp256k1_scalar_check_overflow(r); - VERIFY_CHECK(overflow == 0 || overflow == 1); - secp256k1_scalar_reduce(r, overflow); - return overflow; -} - -static void secp256k1_scalar_add_bit(secp256k1_scalar_t *r, unsigned int bit) { - VERIFY_CHECK(bit < 256); - uint64_t t = (uint64_t)r->d[0] + (((uint32_t)((bit >> 5) == 0)) << (bit & 0x1F)); - r->d[0] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[1] + (((uint32_t)((bit >> 5) == 1)) << (bit & 0x1F)); - r->d[1] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[2] + (((uint32_t)((bit >> 5) == 2)) << (bit & 0x1F)); - r->d[2] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[3] + (((uint32_t)((bit >> 5) == 3)) << (bit & 0x1F)); - r->d[3] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[4] + (((uint32_t)((bit >> 5) == 4)) << (bit & 0x1F)); - r->d[4] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[5] + (((uint32_t)((bit >> 5) == 5)) << (bit & 0x1F)); - r->d[5] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[6] + (((uint32_t)((bit >> 5) == 6)) << (bit & 0x1F)); - r->d[6] = t & 0xFFFFFFFFULL; t >>= 32; - t += (uint64_t)r->d[7] + (((uint32_t)((bit >> 5) == 7)) << (bit & 0x1F)); - r->d[7] = t & 0xFFFFFFFFULL; -#ifdef VERIFY - VERIFY_CHECK((t >> 32) == 0); - VERIFY_CHECK(secp256k1_scalar_check_overflow(r) == 0); -#endif -} - -static void secp256k1_scalar_set_b32(secp256k1_scalar_t *r, const unsigned char *b32, int *overflow) { - r->d[0] = (uint32_t)b32[31] | (uint32_t)b32[30] << 8 | (uint32_t)b32[29] << 16 | (uint32_t)b32[28] << 24; - r->d[1] = (uint32_t)b32[27] | (uint32_t)b32[26] << 8 | (uint32_t)b32[25] << 16 | (uint32_t)b32[24] << 24; - r->d[2] = (uint32_t)b32[23] | (uint32_t)b32[22] << 8 | (uint32_t)b32[21] << 16 | (uint32_t)b32[20] << 24; - r->d[3] = (uint32_t)b32[19] | (uint32_t)b32[18] << 8 | (uint32_t)b32[17] << 16 | (uint32_t)b32[16] << 24; - r->d[4] = (uint32_t)b32[15] | (uint32_t)b32[14] << 8 | (uint32_t)b32[13] << 16 | (uint32_t)b32[12] << 24; - r->d[5] = (uint32_t)b32[11] | (uint32_t)b32[10] << 8 | (uint32_t)b32[9] << 16 | (uint32_t)b32[8] << 24; - r->d[6] = (uint32_t)b32[7] | (uint32_t)b32[6] << 8 | (uint32_t)b32[5] << 16 | (uint32_t)b32[4] << 24; - r->d[7] = (uint32_t)b32[3] | (uint32_t)b32[2] << 8 | (uint32_t)b32[1] << 16 | (uint32_t)b32[0] << 24; - int over = secp256k1_scalar_reduce(r, secp256k1_scalar_check_overflow(r)); - if (overflow) { - *overflow = over; - } -} - -static void secp256k1_scalar_get_b32(unsigned char *bin, const secp256k1_scalar_t* a) { - bin[0] = a->d[7] >> 24; bin[1] = a->d[7] >> 16; bin[2] = a->d[7] >> 8; bin[3] = a->d[7]; - bin[4] = a->d[6] >> 24; bin[5] = a->d[6] >> 16; bin[6] = a->d[6] >> 8; bin[7] = a->d[6]; - bin[8] = a->d[5] >> 24; bin[9] = a->d[5] >> 16; bin[10] = a->d[5] >> 8; bin[11] = a->d[5]; - bin[12] = a->d[4] >> 24; bin[13] = a->d[4] >> 16; bin[14] = a->d[4] >> 8; bin[15] = a->d[4]; - bin[16] = a->d[3] >> 24; bin[17] = a->d[3] >> 16; bin[18] = a->d[3] >> 8; bin[19] = a->d[3]; - bin[20] = a->d[2] >> 24; bin[21] = a->d[2] >> 16; bin[22] = a->d[2] >> 8; bin[23] = a->d[2]; - bin[24] = a->d[1] >> 24; bin[25] = a->d[1] >> 16; bin[26] = a->d[1] >> 8; bin[27] = a->d[1]; - bin[28] = a->d[0] >> 24; bin[29] = a->d[0] >> 16; bin[30] = a->d[0] >> 8; bin[31] = a->d[0]; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_zero(const secp256k1_scalar_t *a) { - return (a->d[0] | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static void secp256k1_scalar_negate(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint32_t nonzero = 0xFFFFFFFFUL * (secp256k1_scalar_is_zero(a) == 0); - uint64_t t = (uint64_t)(~a->d[0]) + SECP256K1_N_0 + 1; - r->d[0] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[1]) + SECP256K1_N_1; - r->d[1] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[2]) + SECP256K1_N_2; - r->d[2] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[3]) + SECP256K1_N_3; - r->d[3] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[4]) + SECP256K1_N_4; - r->d[4] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[5]) + SECP256K1_N_5; - r->d[5] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[6]) + SECP256K1_N_6; - r->d[6] = t & nonzero; t >>= 32; - t += (uint64_t)(~a->d[7]) + SECP256K1_N_7; - r->d[7] = t & nonzero; -} - -SECP256K1_INLINE static int secp256k1_scalar_is_one(const secp256k1_scalar_t *a) { - return ((a->d[0] ^ 1) | a->d[1] | a->d[2] | a->d[3] | a->d[4] | a->d[5] | a->d[6] | a->d[7]) == 0; -} - -static int secp256k1_scalar_is_high(const secp256k1_scalar_t *a) { - int yes = 0; - int no = 0; - no |= (a->d[7] < SECP256K1_N_H_7); - yes |= (a->d[7] > SECP256K1_N_H_7) & ~no; - no |= (a->d[6] < SECP256K1_N_H_6) & ~yes; /* No need for a > check. */ - no |= (a->d[5] < SECP256K1_N_H_5) & ~yes; /* No need for a > check. */ - no |= (a->d[4] < SECP256K1_N_H_4) & ~yes; /* No need for a > check. */ - no |= (a->d[3] < SECP256K1_N_H_3) & ~yes; - yes |= (a->d[3] > SECP256K1_N_H_3) & ~no; - no |= (a->d[2] < SECP256K1_N_H_2) & ~yes; - yes |= (a->d[2] > SECP256K1_N_H_2) & ~no; - no |= (a->d[1] < SECP256K1_N_H_1) & ~yes; - yes |= (a->d[1] > SECP256K1_N_H_1) & ~no; - yes |= (a->d[0] > SECP256K1_N_H_0) & ~no; - return yes; -} - -/* Inspired by the macros in OpenSSL's crypto/bn/asm/x86_64-gcc.c. */ - -/** Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* overflow is handled on the next line */ \ - c2 += (c1 < th) ? 1 : 0; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK((c1 >= th) || (c2 != 0)); \ -} - -/** Add a*b to the number defined by (c0,c1). c1 must never overflow. */ -#define muladd_fast(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - c0 += tl; /* overflow is handled on the next line */ \ - th += (c0 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c1 += th; /* never overflows by contract (verified in the next line) */ \ - VERIFY_CHECK(c1 >= th); \ -} - -/** Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define muladd2(a,b) { \ - uint32_t tl, th; \ - { \ - uint64_t t = (uint64_t)a * b; \ - th = t >> 32; /* at most 0xFFFFFFFE */ \ - tl = t; \ - } \ - uint32_t th2 = th + th; /* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */ \ - c2 += (th2 < th) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((th2 >= th) || (c2 != 0)); \ - uint32_t tl2 = tl + tl; /* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */ \ - th2 += (tl2 < tl) ? 1 : 0; /* at most 0xFFFFFFFF */ \ - c0 += tl2; /* overflow is handled on the next line */ \ - th2 += (c0 < tl2) ? 1 : 0; /* second overflow is handled on the next line */ \ - c2 += (c0 < tl2) & (th2 == 0); /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c0 >= tl2) || (th2 != 0) || (c2 != 0)); \ - c1 += th2; /* overflow is handled on the next line */ \ - c2 += (c1 < th2) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 >= th2) || (c2 != 0)); \ -} - -/** Add a to the number defined by (c0,c1,c2). c2 must never overflow. */ -#define sumadd(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - unsigned int over = (c0 < (a)) ? 1 : 0; \ - c1 += over; /* overflow is handled on the next line */ \ - c2 += (c1 < over) ? 1 : 0; /* never overflows by contract */ \ -} - -/** Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. */ -#define sumadd_fast(a) { \ - c0 += (a); /* overflow is handled on the next line */ \ - c1 += (c0 < (a)) ? 1 : 0; /* never overflows by contract (verified the next line) */ \ - VERIFY_CHECK((c1 != 0) | (c0 >= (a))); \ - VERIFY_CHECK(c2 == 0); \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. */ -#define extract(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = c2; \ - c2 = 0; \ -} - -/** Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. */ -#define extract_fast(n) { \ - (n) = c0; \ - c0 = c1; \ - c1 = 0; \ - VERIFY_CHECK(c2 == 0); \ -} - -static void secp256k1_scalar_reduce_512(secp256k1_scalar_t *r, const uint32_t *l) { - uint32_t n0 = l[8], n1 = l[9], n2 = l[10], n3 = l[11], n4 = l[12], n5 = l[13], n6 = l[14], n7 = l[15]; - - /* 96 bit accumulator. */ - uint32_t c0, c1, c2; - - /* Reduce 512 bits into 385. */ - /* m[0..12] = l[0..7] + n[0..7] * SECP256K1_N_C. */ - c0 = l[0]; c1 = 0; c2 = 0; - muladd_fast(n0, SECP256K1_N_C_0); - uint32_t m0; extract_fast(m0); - sumadd_fast(l[1]); - muladd(n1, SECP256K1_N_C_0); - muladd(n0, SECP256K1_N_C_1); - uint32_t m1; extract(m1); - sumadd(l[2]); - muladd(n2, SECP256K1_N_C_0); - muladd(n1, SECP256K1_N_C_1); - muladd(n0, SECP256K1_N_C_2); - uint32_t m2; extract(m2); - sumadd(l[3]); - muladd(n3, SECP256K1_N_C_0); - muladd(n2, SECP256K1_N_C_1); - muladd(n1, SECP256K1_N_C_2); - muladd(n0, SECP256K1_N_C_3); - uint32_t m3; extract(m3); - sumadd(l[4]); - muladd(n4, SECP256K1_N_C_0); - muladd(n3, SECP256K1_N_C_1); - muladd(n2, SECP256K1_N_C_2); - muladd(n1, SECP256K1_N_C_3); - sumadd(n0); - uint32_t m4; extract(m4); - sumadd(l[5]); - muladd(n5, SECP256K1_N_C_0); - muladd(n4, SECP256K1_N_C_1); - muladd(n3, SECP256K1_N_C_2); - muladd(n2, SECP256K1_N_C_3); - sumadd(n1); - uint32_t m5; extract(m5); - sumadd(l[6]); - muladd(n6, SECP256K1_N_C_0); - muladd(n5, SECP256K1_N_C_1); - muladd(n4, SECP256K1_N_C_2); - muladd(n3, SECP256K1_N_C_3); - sumadd(n2); - uint32_t m6; extract(m6); - sumadd(l[7]); - muladd(n7, SECP256K1_N_C_0); - muladd(n6, SECP256K1_N_C_1); - muladd(n5, SECP256K1_N_C_2); - muladd(n4, SECP256K1_N_C_3); - sumadd(n3); - uint32_t m7; extract(m7); - muladd(n7, SECP256K1_N_C_1); - muladd(n6, SECP256K1_N_C_2); - muladd(n5, SECP256K1_N_C_3); - sumadd(n4); - uint32_t m8; extract(m8); - muladd(n7, SECP256K1_N_C_2); - muladd(n6, SECP256K1_N_C_3); - sumadd(n5); - uint32_t m9; extract(m9); - muladd(n7, SECP256K1_N_C_3); - sumadd(n6); - uint32_t m10; extract(m10); - sumadd_fast(n7); - uint32_t m11; extract_fast(m11); - VERIFY_CHECK(c0 <= 1); - uint32_t m12 = c0; - - /* Reduce 385 bits into 258. */ - /* p[0..8] = m[0..7] + m[8..12] * SECP256K1_N_C. */ - c0 = m0; c1 = 0; c2 = 0; - muladd_fast(m8, SECP256K1_N_C_0); - uint32_t p0; extract_fast(p0); - sumadd_fast(m1); - muladd(m9, SECP256K1_N_C_0); - muladd(m8, SECP256K1_N_C_1); - uint32_t p1; extract(p1); - sumadd(m2); - muladd(m10, SECP256K1_N_C_0); - muladd(m9, SECP256K1_N_C_1); - muladd(m8, SECP256K1_N_C_2); - uint32_t p2; extract(p2); - sumadd(m3); - muladd(m11, SECP256K1_N_C_0); - muladd(m10, SECP256K1_N_C_1); - muladd(m9, SECP256K1_N_C_2); - muladd(m8, SECP256K1_N_C_3); - uint32_t p3; extract(p3); - sumadd(m4); - muladd(m12, SECP256K1_N_C_0); - muladd(m11, SECP256K1_N_C_1); - muladd(m10, SECP256K1_N_C_2); - muladd(m9, SECP256K1_N_C_3); - sumadd(m8); - uint32_t p4; extract(p4); - sumadd(m5); - muladd(m12, SECP256K1_N_C_1); - muladd(m11, SECP256K1_N_C_2); - muladd(m10, SECP256K1_N_C_3); - sumadd(m9); - uint32_t p5; extract(p5); - sumadd(m6); - muladd(m12, SECP256K1_N_C_2); - muladd(m11, SECP256K1_N_C_3); - sumadd(m10); - uint32_t p6; extract(p6); - sumadd_fast(m7); - muladd_fast(m12, SECP256K1_N_C_3); - sumadd_fast(m11); - uint32_t p7; extract_fast(p7); - uint32_t p8 = c0 + m12; - VERIFY_CHECK(p8 <= 2); - - /* Reduce 258 bits into 256. */ - /* r[0..7] = p[0..7] + p[8] * SECP256K1_N_C. */ - uint64_t c = p0 + (uint64_t)SECP256K1_N_C_0 * p8; - r->d[0] = c & 0xFFFFFFFFUL; c >>= 32; - c += p1 + (uint64_t)SECP256K1_N_C_1 * p8; - r->d[1] = c & 0xFFFFFFFFUL; c >>= 32; - c += p2 + (uint64_t)SECP256K1_N_C_2 * p8; - r->d[2] = c & 0xFFFFFFFFUL; c >>= 32; - c += p3 + (uint64_t)SECP256K1_N_C_3 * p8; - r->d[3] = c & 0xFFFFFFFFUL; c >>= 32; - c += p4 + (uint64_t)p8; - r->d[4] = c & 0xFFFFFFFFUL; c >>= 32; - c += p5; - r->d[5] = c & 0xFFFFFFFFUL; c >>= 32; - c += p6; - r->d[6] = c & 0xFFFFFFFFUL; c >>= 32; - c += p7; - r->d[7] = c & 0xFFFFFFFFUL; c >>= 32; - - /* Final reduction of r. */ - secp256k1_scalar_reduce(r, c + secp256k1_scalar_check_overflow(r)); -} - -static void secp256k1_scalar_mul_512(uint32_t l[16], const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7] * b[0..7]. */ - muladd_fast(a->d[0], b->d[0]); - extract_fast(l[0]); - muladd(a->d[0], b->d[1]); - muladd(a->d[1], b->d[0]); - extract(l[1]); - muladd(a->d[0], b->d[2]); - muladd(a->d[1], b->d[1]); - muladd(a->d[2], b->d[0]); - extract(l[2]); - muladd(a->d[0], b->d[3]); - muladd(a->d[1], b->d[2]); - muladd(a->d[2], b->d[1]); - muladd(a->d[3], b->d[0]); - extract(l[3]); - muladd(a->d[0], b->d[4]); - muladd(a->d[1], b->d[3]); - muladd(a->d[2], b->d[2]); - muladd(a->d[3], b->d[1]); - muladd(a->d[4], b->d[0]); - extract(l[4]); - muladd(a->d[0], b->d[5]); - muladd(a->d[1], b->d[4]); - muladd(a->d[2], b->d[3]); - muladd(a->d[3], b->d[2]); - muladd(a->d[4], b->d[1]); - muladd(a->d[5], b->d[0]); - extract(l[5]); - muladd(a->d[0], b->d[6]); - muladd(a->d[1], b->d[5]); - muladd(a->d[2], b->d[4]); - muladd(a->d[3], b->d[3]); - muladd(a->d[4], b->d[2]); - muladd(a->d[5], b->d[1]); - muladd(a->d[6], b->d[0]); - extract(l[6]); - muladd(a->d[0], b->d[7]); - muladd(a->d[1], b->d[6]); - muladd(a->d[2], b->d[5]); - muladd(a->d[3], b->d[4]); - muladd(a->d[4], b->d[3]); - muladd(a->d[5], b->d[2]); - muladd(a->d[6], b->d[1]); - muladd(a->d[7], b->d[0]); - extract(l[7]); - muladd(a->d[1], b->d[7]); - muladd(a->d[2], b->d[6]); - muladd(a->d[3], b->d[5]); - muladd(a->d[4], b->d[4]); - muladd(a->d[5], b->d[3]); - muladd(a->d[6], b->d[2]); - muladd(a->d[7], b->d[1]); - extract(l[8]); - muladd(a->d[2], b->d[7]); - muladd(a->d[3], b->d[6]); - muladd(a->d[4], b->d[5]); - muladd(a->d[5], b->d[4]); - muladd(a->d[6], b->d[3]); - muladd(a->d[7], b->d[2]); - extract(l[9]); - muladd(a->d[3], b->d[7]); - muladd(a->d[4], b->d[6]); - muladd(a->d[5], b->d[5]); - muladd(a->d[6], b->d[4]); - muladd(a->d[7], b->d[3]); - extract(l[10]); - muladd(a->d[4], b->d[7]); - muladd(a->d[5], b->d[6]); - muladd(a->d[6], b->d[5]); - muladd(a->d[7], b->d[4]); - extract(l[11]); - muladd(a->d[5], b->d[7]); - muladd(a->d[6], b->d[6]); - muladd(a->d[7], b->d[5]); - extract(l[12]); - muladd(a->d[6], b->d[7]); - muladd(a->d[7], b->d[6]); - extract(l[13]); - muladd_fast(a->d[7], b->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -static void secp256k1_scalar_sqr_512(uint32_t l[16], const secp256k1_scalar_t *a) { - /* 96 bit accumulator. */ - uint32_t c0 = 0, c1 = 0, c2 = 0; - - /* l[0..15] = a[0..7]^2. */ - muladd_fast(a->d[0], a->d[0]); - extract_fast(l[0]); - muladd2(a->d[0], a->d[1]); - extract(l[1]); - muladd2(a->d[0], a->d[2]); - muladd(a->d[1], a->d[1]); - extract(l[2]); - muladd2(a->d[0], a->d[3]); - muladd2(a->d[1], a->d[2]); - extract(l[3]); - muladd2(a->d[0], a->d[4]); - muladd2(a->d[1], a->d[3]); - muladd(a->d[2], a->d[2]); - extract(l[4]); - muladd2(a->d[0], a->d[5]); - muladd2(a->d[1], a->d[4]); - muladd2(a->d[2], a->d[3]); - extract(l[5]); - muladd2(a->d[0], a->d[6]); - muladd2(a->d[1], a->d[5]); - muladd2(a->d[2], a->d[4]); - muladd(a->d[3], a->d[3]); - extract(l[6]); - muladd2(a->d[0], a->d[7]); - muladd2(a->d[1], a->d[6]); - muladd2(a->d[2], a->d[5]); - muladd2(a->d[3], a->d[4]); - extract(l[7]); - muladd2(a->d[1], a->d[7]); - muladd2(a->d[2], a->d[6]); - muladd2(a->d[3], a->d[5]); - muladd(a->d[4], a->d[4]); - extract(l[8]); - muladd2(a->d[2], a->d[7]); - muladd2(a->d[3], a->d[6]); - muladd2(a->d[4], a->d[5]); - extract(l[9]); - muladd2(a->d[3], a->d[7]); - muladd2(a->d[4], a->d[6]); - muladd(a->d[5], a->d[5]); - extract(l[10]); - muladd2(a->d[4], a->d[7]); - muladd2(a->d[5], a->d[6]); - extract(l[11]); - muladd2(a->d[5], a->d[7]); - muladd(a->d[6], a->d[6]); - extract(l[12]); - muladd2(a->d[6], a->d[7]); - extract(l[13]); - muladd_fast(a->d[7], a->d[7]); - extract_fast(l[14]); - VERIFY_CHECK(c1 == 0); - l[15] = c0; -} - -#undef sumadd -#undef sumadd_fast -#undef muladd -#undef muladd_fast -#undef muladd2 -#undef extract -#undef extract_fast - -static void secp256k1_scalar_mul(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - uint32_t l[16]; - secp256k1_scalar_mul_512(l, a, b); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_sqr(secp256k1_scalar_t *r, const secp256k1_scalar_t *a) { - uint32_t l[16]; - secp256k1_scalar_sqr_512(l, a); - secp256k1_scalar_reduce_512(r, l); -} - -static void secp256k1_scalar_split_128(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - r1->d[0] = a->d[0]; - r1->d[1] = a->d[1]; - r1->d[2] = a->d[2]; - r1->d[3] = a->d[3]; - r1->d[4] = 0; - r1->d[5] = 0; - r1->d[6] = 0; - r1->d[7] = 0; - r2->d[0] = a->d[4]; - r2->d[1] = a->d[5]; - r2->d[2] = a->d[6]; - r2->d[3] = a->d[7]; - r2->d[4] = 0; - r2->d[5] = 0; - r2->d[6] = 0; - r2->d[7] = 0; -} - -SECP256K1_INLINE static int secp256k1_scalar_eq(const secp256k1_scalar_t *a, const secp256k1_scalar_t *b) { - return ((a->d[0] ^ b->d[0]) | (a->d[1] ^ b->d[1]) | (a->d[2] ^ b->d[2]) | (a->d[3] ^ b->d[3]) | (a->d[4] ^ b->d[4]) | (a->d[5] ^ b->d[5]) | (a->d[6] ^ b->d[6]) | (a->d[7] ^ b->d[7])) == 0; -} - -SECP256K1_INLINE static void secp256k1_scalar_mul_shift_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *a, const secp256k1_scalar_t *b, unsigned int shift) { - VERIFY_CHECK(shift >= 256); - uint32_t l[16]; - secp256k1_scalar_mul_512(l, a, b); - unsigned int shiftlimbs = shift >> 5; - unsigned int shiftlow = shift & 0x1F; - unsigned int shifthigh = 32 - shiftlow; - r->d[0] = shift < 512 ? (l[0 + shiftlimbs] >> shiftlow | (shift < 480 && shiftlow ? (l[1 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[1] = shift < 480 ? (l[1 + shiftlimbs] >> shiftlow | (shift < 448 && shiftlow ? (l[2 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[2] = shift < 448 ? (l[2 + shiftlimbs] >> shiftlow | (shift < 416 && shiftlow ? (l[3 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[3] = shift < 416 ? (l[3 + shiftlimbs] >> shiftlow | (shift < 384 && shiftlow ? (l[4 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[4] = shift < 384 ? (l[4 + shiftlimbs] >> shiftlow | (shift < 352 && shiftlow ? (l[5 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[5] = shift < 352 ? (l[5 + shiftlimbs] >> shiftlow | (shift < 320 && shiftlow ? (l[6 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[6] = shift < 320 ? (l[6 + shiftlimbs] >> shiftlow | (shift < 288 && shiftlow ? (l[7 + shiftlimbs] << shifthigh) : 0)) : 0; - r->d[7] = shift < 288 ? (l[7 + shiftlimbs] >> shiftlow) : 0; - if ((l[(shift - 1) >> 5] >> ((shift - 1) & 0x1f)) & 1) { - secp256k1_scalar_add_bit(r, 0); - } -} - -#endif diff --git a/src/secp256k1/src/scalar_impl.h b/src/secp256k1/src/scalar_impl.h deleted file mode 100644 index 7fc159df7..000000000 --- a/src/secp256k1/src/scalar_impl.h +++ /dev/null @@ -1,336 +0,0 @@ -/********************************************************************** - * Copyright (c) 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_SCALAR_IMPL_H_ -#define _SECP256K1_SCALAR_IMPL_H_ - -#include - -#include "group.h" -#include "scalar.h" - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#if defined(USE_SCALAR_4X64) -#include "scalar_4x64_impl.h" -#elif defined(USE_SCALAR_8X32) -#include "scalar_8x32_impl.h" -#else -#error "Please select scalar implementation" -#endif - -typedef struct { -#ifndef USE_NUM_NONE - secp256k1_num_t order; -#endif -#ifdef USE_ENDOMORPHISM - secp256k1_scalar_t minus_lambda, minus_b1, minus_b2, g1, g2; -#endif -} secp256k1_scalar_consts_t; - -static const secp256k1_scalar_consts_t *secp256k1_scalar_consts = NULL; - -static void secp256k1_scalar_start(void) { - if (secp256k1_scalar_consts != NULL) - return; - - /* Allocate. */ - secp256k1_scalar_consts_t *ret = (secp256k1_scalar_consts_t*)malloc(sizeof(secp256k1_scalar_consts_t)); - -#ifndef USE_NUM_NONE - static const unsigned char secp256k1_scalar_consts_order[] = { - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, - 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE, - 0xBA,0xAE,0xDC,0xE6,0xAF,0x48,0xA0,0x3B, - 0xBF,0xD2,0x5E,0x8C,0xD0,0x36,0x41,0x41 - }; - secp256k1_num_set_bin(&ret->order, secp256k1_scalar_consts_order, sizeof(secp256k1_scalar_consts_order)); -#endif -#ifdef USE_ENDOMORPHISM - /** - * Lambda is a scalar which has the property for secp256k1 that point multiplication by - * it is efficiently computable (see secp256k1_gej_mul_lambda). */ - static const unsigned char secp256k1_scalar_consts_lambda[32] = { - 0x53,0x63,0xad,0x4c,0xc0,0x5c,0x30,0xe0, - 0xa5,0x26,0x1c,0x02,0x88,0x12,0x64,0x5a, - 0x12,0x2e,0x22,0xea,0x20,0x81,0x66,0x78, - 0xdf,0x02,0x96,0x7c,0x1b,0x23,0xbd,0x72 - }; - /** - * "Guide to Elliptic Curve Cryptography" (Hankerson, Menezes, Vanstone) gives an algorithm - * (algorithm 3.74) to find k1 and k2 given k, such that k1 + k2 * lambda == k mod n, and k1 - * and k2 have a small size. - * It relies on constants a1, b1, a2, b2. These constants for the value of lambda above are: - * - * - a1 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - b1 = -{0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3} - * - a2 = {0x01,0x14,0xca,0x50,0xf7,0xa8,0xe2,0xf3,0xf6,0x57,0xc1,0x10,0x8d,0x9d,0x44,0xcf,0xd8} - * - b2 = {0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15} - * - * The algorithm then computes c1 = round(b1 * k / n) and c2 = round(b2 * k / n), and gives - * k1 = k - (c1*a1 + c2*a2) and k2 = -(c1*b1 + c2*b2). Instead, we use modular arithmetic, and - * compute k1 as k - k2 * lambda, avoiding the need for constants a1 and a2. - * - * g1, g2 are precomputed constants used to replace division with a rounded multiplication - * when decomposing the scalar for an endomorphism-based point multiplication. - * - * The possibility of using precomputed estimates is mentioned in "Guide to Elliptic Curve - * Cryptography" (Hankerson, Menezes, Vanstone) in section 3.5. - * - * The derivation is described in the paper "Efficient Software Implementation of Public-Key - * Cryptography on Sensor Networks Using the MSP430X Microcontroller" (Gouvea, Oliveira, Lopez), - * Section 4.3 (here we use a somewhat higher-precision estimate): - * d = a1*b2 - b1*a2 - * g1 = round((2^272)*b2/d) - * g2 = round((2^272)*b1/d) - * - * (Note that 'd' is also equal to the curve order here because [a1,b1] and [a2,b2] are found - * as outputs of the Extended Euclidean Algorithm on inputs 'order' and 'lambda'). - */ - static const unsigned char secp256k1_scalar_consts_minus_b1[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0xe4,0x43,0x7e,0xd6,0x01,0x0e,0x88,0x28, - 0x6f,0x54,0x7f,0xa9,0x0a,0xbf,0xe4,0xc3 - }; - static const unsigned char secp256k1_scalar_consts_b2[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x30,0x86,0xd2,0x21,0xa7,0xd4,0x6b,0xcd, - 0xe8,0x6c,0x90,0xe4,0x92,0x84,0xeb,0x15 - }; - static const unsigned char secp256k1_scalar_consts_g1[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x86, - 0xd2,0x21,0xa7,0xd4,0x6b,0xcd,0xe8,0x6c, - 0x90,0xe4,0x92,0x84,0xeb,0x15,0x3d,0xab - }; - static const unsigned char secp256k1_scalar_consts_g2[32] = { - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0x00,0x00,0x00,0xe4,0x43, - 0x7e,0xd6,0x01,0x0e,0x88,0x28,0x6f,0x54, - 0x7f,0xa9,0x0a,0xbf,0xe4,0xc4,0x22,0x12 - }; - - secp256k1_scalar_set_b32(&ret->minus_lambda, secp256k1_scalar_consts_lambda, NULL); - secp256k1_scalar_negate(&ret->minus_lambda, &ret->minus_lambda); - secp256k1_scalar_set_b32(&ret->minus_b1, secp256k1_scalar_consts_minus_b1, NULL); - secp256k1_scalar_set_b32(&ret->minus_b2, secp256k1_scalar_consts_b2, NULL); - secp256k1_scalar_negate(&ret->minus_b2, &ret->minus_b2); - secp256k1_scalar_set_b32(&ret->g1, secp256k1_scalar_consts_g1, NULL); - secp256k1_scalar_set_b32(&ret->g2, secp256k1_scalar_consts_g2, NULL); -#endif - - /* Set the global pointer. */ - secp256k1_scalar_consts = ret; -} - -static void secp256k1_scalar_stop(void) { - if (secp256k1_scalar_consts == NULL) - return; - - secp256k1_scalar_consts_t *c = (secp256k1_scalar_consts_t*)secp256k1_scalar_consts; - secp256k1_scalar_consts = NULL; - free(c); -} - -#ifndef USE_NUM_NONE -static void secp256k1_scalar_get_num(secp256k1_num_t *r, const secp256k1_scalar_t *a) { - unsigned char c[32]; - secp256k1_scalar_get_b32(c, a); - secp256k1_num_set_bin(r, c, 32); -} - -static void secp256k1_scalar_order_get_num(secp256k1_num_t *r) { - *r = secp256k1_scalar_consts->order; -} -#endif - -static void secp256k1_scalar_inverse(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { - /* First compute x ^ (2^N - 1) for some values of N. */ - secp256k1_scalar_t x2, x3, x4, x6, x7, x8, x15, x30, x60, x120, x127; - - secp256k1_scalar_sqr(&x2, x); - secp256k1_scalar_mul(&x2, &x2, x); - - secp256k1_scalar_sqr(&x3, &x2); - secp256k1_scalar_mul(&x3, &x3, x); - - secp256k1_scalar_sqr(&x4, &x3); - secp256k1_scalar_mul(&x4, &x4, x); - - secp256k1_scalar_sqr(&x6, &x4); - secp256k1_scalar_sqr(&x6, &x6); - secp256k1_scalar_mul(&x6, &x6, &x2); - - secp256k1_scalar_sqr(&x7, &x6); - secp256k1_scalar_mul(&x7, &x7, x); - - secp256k1_scalar_sqr(&x8, &x7); - secp256k1_scalar_mul(&x8, &x8, x); - - secp256k1_scalar_sqr(&x15, &x8); - for (int i=0; i<6; i++) - secp256k1_scalar_sqr(&x15, &x15); - secp256k1_scalar_mul(&x15, &x15, &x7); - - secp256k1_scalar_sqr(&x30, &x15); - for (int i=0; i<14; i++) - secp256k1_scalar_sqr(&x30, &x30); - secp256k1_scalar_mul(&x30, &x30, &x15); - - secp256k1_scalar_sqr(&x60, &x30); - for (int i=0; i<29; i++) - secp256k1_scalar_sqr(&x60, &x60); - secp256k1_scalar_mul(&x60, &x60, &x30); - - secp256k1_scalar_sqr(&x120, &x60); - for (int i=0; i<59; i++) - secp256k1_scalar_sqr(&x120, &x120); - secp256k1_scalar_mul(&x120, &x120, &x60); - - secp256k1_scalar_sqr(&x127, &x120); - for (int i=0; i<6; i++) - secp256k1_scalar_sqr(&x127, &x127); - secp256k1_scalar_mul(&x127, &x127, &x7); - - /* Then accumulate the final result (t starts at x127). */ - secp256k1_scalar_t *t = &x127; - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<3; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<5; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<4; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x4); /* 1111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<4; i++) /* 000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<10; i++) /* 0000000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<4; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x3); /* 111 */ - for (int i=0; i<9; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x8); /* 11111111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x4); /* 1111 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<5; i++) /* 000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<4; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<2; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<8; i++) /* 000000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<3; i++) /* 0 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, &x2); /* 11 */ - for (int i=0; i<3; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<6; i++) /* 00000 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(t, t, x); /* 1 */ - for (int i=0; i<8; i++) /* 00 */ - secp256k1_scalar_sqr(t, t); - secp256k1_scalar_mul(r, t, &x6); /* 111111 */ -} - -static void secp256k1_scalar_inverse_var(secp256k1_scalar_t *r, const secp256k1_scalar_t *x) { -#if defined(USE_SCALAR_INV_BUILTIN) - secp256k1_scalar_inverse(r, x); -#elif defined(USE_SCALAR_INV_NUM) - unsigned char b[32]; - secp256k1_scalar_get_b32(b, x); - secp256k1_num_t n; - secp256k1_num_set_bin(&n, b, 32); - secp256k1_num_mod_inverse(&n, &n, &secp256k1_scalar_consts->order); - secp256k1_num_get_bin(b, 32, &n); - secp256k1_scalar_set_b32(r, b, NULL); -#else -#error "Please select scalar inverse implementation" -#endif -} - -#ifdef USE_ENDOMORPHISM -static void secp256k1_scalar_split_lambda_var(secp256k1_scalar_t *r1, secp256k1_scalar_t *r2, const secp256k1_scalar_t *a) { - VERIFY_CHECK(r1 != a); - VERIFY_CHECK(r2 != a); - secp256k1_scalar_t c1, c2; - secp256k1_scalar_mul_shift_var(&c1, a, &secp256k1_scalar_consts->g1, 272); - secp256k1_scalar_mul_shift_var(&c2, a, &secp256k1_scalar_consts->g2, 272); - secp256k1_scalar_mul(&c1, &c1, &secp256k1_scalar_consts->minus_b1); - secp256k1_scalar_mul(&c2, &c2, &secp256k1_scalar_consts->minus_b2); - secp256k1_scalar_add(r2, &c1, &c2); - secp256k1_scalar_mul(r1, r2, &secp256k1_scalar_consts->minus_lambda); - secp256k1_scalar_add(r1, r1, a); -} -#endif - -#endif diff --git a/src/secp256k1/src/secp256k1.c b/src/secp256k1/src/secp256k1.c deleted file mode 100644 index 20fc27df7..000000000 --- a/src/secp256k1/src/secp256k1.c +++ /dev/null @@ -1,328 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#define SECP256K1_BUILD (1) - -#include "include/secp256k1.h" - -#include "util.h" -#include "num_impl.h" -#include "field_impl.h" -#include "scalar_impl.h" -#include "group_impl.h" -#include "ecmult_impl.h" -#include "ecmult_gen_impl.h" -#include "ecdsa_impl.h" -#include "eckey_impl.h" - -void secp256k1_start(unsigned int flags) { - secp256k1_fe_start(); - secp256k1_ge_start(); - secp256k1_scalar_start(); - secp256k1_ecdsa_start(); - if (flags & SECP256K1_START_SIGN) { - secp256k1_ecmult_gen_start(); - } - if (flags & SECP256K1_START_VERIFY) { - secp256k1_ecmult_start(); - } -} - -void secp256k1_stop(void) { - secp256k1_ecmult_stop(); - secp256k1_ecmult_gen_stop(); - secp256k1_ecdsa_stop(); - secp256k1_scalar_stop(); - secp256k1_ge_stop(); - secp256k1_fe_stop(); -} - -int secp256k1_ecdsa_verify(const unsigned char *msg, int msglen, const unsigned char *sig, int siglen, const unsigned char *pubkey, int pubkeylen) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(msg != NULL); - DEBUG_CHECK(msglen <= 32); - DEBUG_CHECK(sig != NULL); - DEBUG_CHECK(pubkey != NULL); - - unsigned char msg32[32] = {0}; - memcpy(msg32 + 32 - msglen, msg, msglen); - int ret = -3; - secp256k1_scalar_t m; - secp256k1_ecdsa_sig_t s; - secp256k1_ge_t q; - secp256k1_scalar_set_b32(&m, msg32, NULL); - - if (!secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen)) { - ret = -1; - goto end; - } - if (!secp256k1_ecdsa_sig_parse(&s, sig, siglen)) { - ret = -2; - goto end; - } - if (!secp256k1_ecdsa_sig_verify(&s, &q, &m)) { - ret = 0; - goto end; - } - ret = 1; -end: - return ret; -} - -int secp256k1_ecdsa_sign(const unsigned char *message, int messagelen, unsigned char *signature, int *signaturelen, const unsigned char *seckey, const unsigned char *nonce) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(message != NULL); - DEBUG_CHECK(messagelen <= 32); - DEBUG_CHECK(signature != NULL); - DEBUG_CHECK(signaturelen != NULL); - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(nonce != NULL); - - secp256k1_scalar_t sec, non, msg; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int overflow = 0; - secp256k1_scalar_set_b32(&non, nonce, &overflow); - { - unsigned char c[32] = {0}; - memcpy(c + 32 - messagelen, message, messagelen); - secp256k1_scalar_set_b32(&msg, c, NULL); - memset(c, 0, 32); - } - int ret = !secp256k1_scalar_is_zero(&non) && !overflow; - secp256k1_ecdsa_sig_t sig; - if (ret) { - ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, NULL); - } - if (ret) { - secp256k1_ecdsa_sig_serialize(signature, signaturelen, &sig); - } - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ecdsa_sign_compact(const unsigned char *message, int messagelen, unsigned char *sig64, const unsigned char *seckey, const unsigned char *nonce, int *recid) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(message != NULL); - DEBUG_CHECK(messagelen <= 32); - DEBUG_CHECK(sig64 != NULL); - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(nonce != NULL); - - secp256k1_scalar_t sec, non, msg; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int overflow = 0; - secp256k1_scalar_set_b32(&non, nonce, &overflow); - { - unsigned char c[32] = {0}; - memcpy(c + 32 - messagelen, message, messagelen); - secp256k1_scalar_set_b32(&msg, c, NULL); - memset(c, 0, 32); - } - int ret = !secp256k1_scalar_is_zero(&non) && !overflow; - secp256k1_ecdsa_sig_t sig; - if (ret) { - ret = secp256k1_ecdsa_sig_sign(&sig, &sec, &msg, &non, recid); - } - if (ret) { - secp256k1_scalar_get_b32(sig64, &sig.r); - secp256k1_scalar_get_b32(sig64 + 32, &sig.s); - } - secp256k1_scalar_clear(&msg); - secp256k1_scalar_clear(&non); - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ecdsa_recover_compact(const unsigned char *msg, int msglen, const unsigned char *sig64, unsigned char *pubkey, int *pubkeylen, int compressed, int recid) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(msg != NULL); - DEBUG_CHECK(msglen <= 32); - DEBUG_CHECK(sig64 != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - DEBUG_CHECK(recid >= 0 && recid <= 3); - - int ret = 0; - unsigned char msg32[32] = {0}; - memcpy(msg32 + 32 - msglen, msg, msglen); - secp256k1_scalar_t m; - secp256k1_ecdsa_sig_t sig; - int overflow = 0; - secp256k1_scalar_set_b32(&sig.r, sig64, &overflow); - if (overflow) { - return 0; - } - secp256k1_scalar_set_b32(&sig.s, sig64 + 32, &overflow); - if (overflow) { - return 0; - } - secp256k1_scalar_set_b32(&m, msg32, NULL); - - secp256k1_ge_t q; - if (secp256k1_ecdsa_sig_recover(&sig, &q, &m, recid)) { - ret = secp256k1_eckey_pubkey_serialize(&q, pubkey, pubkeylen, compressed); - } - return ret; -} - -int secp256k1_ec_seckey_verify(const unsigned char *seckey) { - DEBUG_CHECK(seckey != NULL); - - secp256k1_scalar_t sec; - int overflow; - secp256k1_scalar_set_b32(&sec, seckey, &overflow); - int ret = !secp256k1_scalar_is_zero(&sec) && !overflow; - secp256k1_scalar_clear(&sec); - return ret; -} - -int secp256k1_ec_pubkey_verify(const unsigned char *pubkey, int pubkeylen) { - DEBUG_CHECK(pubkey != NULL); - - secp256k1_ge_t q; - return secp256k1_eckey_pubkey_parse(&q, pubkey, pubkeylen); -} - -int secp256k1_ec_pubkey_create(unsigned char *pubkey, int *pubkeylen, const unsigned char *seckey, int compressed) { - DEBUG_CHECK(secp256k1_ecmult_gen_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - DEBUG_CHECK(seckey != NULL); - - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - secp256k1_gej_t pj; - secp256k1_ecmult_gen(&pj, &sec); - secp256k1_scalar_clear(&sec); - secp256k1_ge_t p; - secp256k1_ge_set_gej(&p, &pj); - return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, compressed); -} - -int secp256k1_ec_pubkey_decompress(unsigned char *pubkey, int *pubkeylen) { - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(pubkeylen != NULL); - - secp256k1_ge_t p; - if (!secp256k1_eckey_pubkey_parse(&p, pubkey, *pubkeylen)) - return 0; - return secp256k1_eckey_pubkey_serialize(&p, pubkey, pubkeylen, 0); -} - -int secp256k1_ec_privkey_tweak_add(unsigned char *seckey, const unsigned char *tweak) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t term; - int overflow = 0; - secp256k1_scalar_set_b32(&term, tweak, &overflow); - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - - int ret = secp256k1_eckey_privkey_tweak_add(&sec, &term) && !overflow; - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&term); - return ret; -} - -int secp256k1_ec_pubkey_tweak_add(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t term; - int overflow = 0; - secp256k1_scalar_set_b32(&term, tweak, &overflow); - if (overflow) { - return 0; - } - secp256k1_ge_t p; - int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); - if (ret) { - ret = secp256k1_eckey_pubkey_tweak_add(&p, &term); - } - if (ret) { - int oldlen = pubkeylen; - ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); - VERIFY_CHECK(pubkeylen == oldlen); - } - - return ret; -} - -int secp256k1_ec_privkey_tweak_mul(unsigned char *seckey, const unsigned char *tweak) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t factor; - int overflow = 0; - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - secp256k1_scalar_t sec; - secp256k1_scalar_set_b32(&sec, seckey, NULL); - int ret = secp256k1_eckey_privkey_tweak_mul(&sec, &factor) && !overflow; - if (ret) { - secp256k1_scalar_get_b32(seckey, &sec); - } - - secp256k1_scalar_clear(&sec); - secp256k1_scalar_clear(&factor); - return ret; -} - -int secp256k1_ec_pubkey_tweak_mul(unsigned char *pubkey, int pubkeylen, const unsigned char *tweak) { - DEBUG_CHECK(secp256k1_ecmult_consts != NULL); - DEBUG_CHECK(pubkey != NULL); - DEBUG_CHECK(tweak != NULL); - - secp256k1_scalar_t factor; - int overflow = 0; - secp256k1_scalar_set_b32(&factor, tweak, &overflow); - if (overflow) { - return 0; - } - secp256k1_ge_t p; - int ret = secp256k1_eckey_pubkey_parse(&p, pubkey, pubkeylen); - if (ret) { - ret = secp256k1_eckey_pubkey_tweak_mul(&p, &factor); - } - if (ret) { - int oldlen = pubkeylen; - ret = secp256k1_eckey_pubkey_serialize(&p, pubkey, &pubkeylen, oldlen <= 33); - VERIFY_CHECK(pubkeylen == oldlen); - } - - return ret; -} - -int secp256k1_ec_privkey_export(const unsigned char *seckey, unsigned char *privkey, int *privkeylen, int compressed) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(privkey != NULL); - DEBUG_CHECK(privkeylen != NULL); - - secp256k1_scalar_t key; - secp256k1_scalar_set_b32(&key, seckey, NULL); - int ret = secp256k1_eckey_privkey_serialize(privkey, privkeylen, &key, compressed); - secp256k1_scalar_clear(&key); - return ret; -} - -int secp256k1_ec_privkey_import(unsigned char *seckey, const unsigned char *privkey, int privkeylen) { - DEBUG_CHECK(seckey != NULL); - DEBUG_CHECK(privkey != NULL); - - secp256k1_scalar_t key; - int ret = secp256k1_eckey_privkey_parse(&key, privkey, privkeylen); - if (ret) - secp256k1_scalar_get_b32(seckey, &key); - secp256k1_scalar_clear(&key); - return ret; -} diff --git a/src/secp256k1/src/stamp-h1 b/src/secp256k1/src/stamp-h1 new file mode 100644 index 000000000..f863082f5 --- /dev/null +++ b/src/secp256k1/src/stamp-h1 @@ -0,0 +1 @@ +timestamp for src/libsecp256k1-config.h diff --git a/src/secp256k1/src/testrand.h b/src/secp256k1/src/testrand.h deleted file mode 100644 index 018b65cd5..000000000 --- a/src/secp256k1/src/testrand.h +++ /dev/null @@ -1,26 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_TESTRAND_H_ -#define _SECP256K1_TESTRAND_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -/** Seed the pseudorandom number generator. */ -SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v); - -/** Generate a pseudorandom 32-bit number. */ -static uint32_t secp256k1_rand32(void); - -/** Generate a pseudorandom 32-byte array. */ -static void secp256k1_rand256(unsigned char *b32); - -/** Generate a pseudorandom 32-byte array with long sequences of zero and one bits. */ -static void secp256k1_rand256_test(unsigned char *b32); - -#endif diff --git a/src/secp256k1/src/testrand_impl.h b/src/secp256k1/src/testrand_impl.h deleted file mode 100644 index 677c4b9a0..000000000 --- a/src/secp256k1/src/testrand_impl.h +++ /dev/null @@ -1,60 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_TESTRAND_IMPL_H_ -#define _SECP256K1_TESTRAND_IMPL_H_ - -#include -#include - -#include "testrand.h" - -static uint32_t secp256k1_Rz = 11, secp256k1_Rw = 11; - -SECP256K1_INLINE static void secp256k1_rand_seed(uint64_t v) { - secp256k1_Rz = v >> 32; - secp256k1_Rw = v; - - if (secp256k1_Rz == 0 || secp256k1_Rz == 0x9068ffffU) { - secp256k1_Rz = 111; - } - if (secp256k1_Rw == 0 || secp256k1_Rw == 0x464fffffU) { - secp256k1_Rw = 111; - } -} - -SECP256K1_INLINE static uint32_t secp256k1_rand32(void) { - secp256k1_Rz = 36969 * (secp256k1_Rz & 0xFFFF) + (secp256k1_Rz >> 16); - secp256k1_Rw = 18000 * (secp256k1_Rw & 0xFFFF) + (secp256k1_Rw >> 16); - return (secp256k1_Rw << 16) + (secp256k1_Rw >> 16) + secp256k1_Rz; -} - -static void secp256k1_rand256(unsigned char *b32) { - for (int i=0; i<8; i++) { - uint32_t r = secp256k1_rand32(); - b32[i*4 + 0] = (r >> 0) & 0xFF; - b32[i*4 + 1] = (r >> 8) & 0xFF; - b32[i*4 + 2] = (r >> 16) & 0xFF; - b32[i*4 + 3] = (r >> 24) & 0xFF; - } -} - -static void secp256k1_rand256_test(unsigned char *b32) { - int bits=0; - memset(b32, 0, 32); - while (bits < 256) { - uint32_t ent = secp256k1_rand32(); - int now = 1 + ((ent % 64)*((ent >> 6) % 32)+16)/31; - uint32_t val = 1 & (ent >> 11); - while (now > 0 && bits < 256) { - b32[bits / 8] |= val << (bits % 8); - now--; - bits++; - } - } -} - -#endif diff --git a/src/secp256k1/src/tests.c b/src/secp256k1/src/tests.c deleted file mode 100644 index 28db45695..000000000 --- a/src/secp256k1/src/tests.c +++ /dev/null @@ -1,1223 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include - -#include "secp256k1.c" -#include "testrand_impl.h" - -#ifdef ENABLE_OPENSSL_TESTS -#include "openssl/bn.h" -#include "openssl/ec.h" -#include "openssl/ecdsa.h" -#include "openssl/obj_mac.h" -#endif - -static int count = 64; - -void random_field_element_test(secp256k1_fe_t *fe) { - do { - unsigned char b32[32]; - secp256k1_rand256_test(b32); - if (secp256k1_fe_set_b32(fe, b32)) { - break; - } - } while(1); -} - -void random_field_element_magnitude(secp256k1_fe_t *fe) { - secp256k1_fe_normalize(fe); - int n = secp256k1_rand32() % 4; - for (int i = 0; i < n; i++) { - secp256k1_fe_negate(fe, fe, 1 + 2*i); - secp256k1_fe_negate(fe, fe, 2 + 2*i); - } -} - -void random_group_element_test(secp256k1_ge_t *ge) { - secp256k1_fe_t fe; - do { - random_field_element_test(&fe); - if (secp256k1_ge_set_xo(ge, &fe, secp256k1_rand32() & 1)) - break; - } while(1); -} - -void random_group_element_jacobian_test(secp256k1_gej_t *gej, const secp256k1_ge_t *ge) { - do { - random_field_element_test(&gej->z); - if (!secp256k1_fe_is_zero(&gej->z)) { - break; - } - } while(1); - secp256k1_fe_t z2; secp256k1_fe_sqr(&z2, &gej->z); - secp256k1_fe_t z3; secp256k1_fe_mul(&z3, &z2, &gej->z); - secp256k1_fe_mul(&gej->x, &ge->x, &z2); - secp256k1_fe_mul(&gej->y, &ge->y, &z3); - gej->infinity = ge->infinity; -} - -void random_scalar_order_test(secp256k1_scalar_t *num) { - do { - unsigned char b32[32]; - secp256k1_rand256_test(b32); - int overflow = 0; - secp256k1_scalar_set_b32(num, b32, &overflow); - if (overflow || secp256k1_scalar_is_zero(num)) - continue; - break; - } while(1); -} - -void random_scalar_order(secp256k1_scalar_t *num) { - do { - unsigned char b32[32]; - secp256k1_rand256(b32); - int overflow = 0; - secp256k1_scalar_set_b32(num, b32, &overflow); - if (overflow || secp256k1_scalar_is_zero(num)) - continue; - break; - } while(1); -} - -/***** NUM TESTS *****/ - -#ifndef USE_NUM_NONE -void random_num_negate(secp256k1_num_t *num) { - if (secp256k1_rand32() & 1) - secp256k1_num_negate(num); -} - -void random_num_order_test(secp256k1_num_t *num) { - secp256k1_scalar_t sc; - random_scalar_order_test(&sc); - secp256k1_scalar_get_num(num, &sc); -} - -void random_num_order(secp256k1_num_t *num) { - secp256k1_scalar_t sc; - random_scalar_order(&sc); - secp256k1_scalar_get_num(num, &sc); -} - -void test_num_negate(void) { - secp256k1_num_t n1; - secp256k1_num_t n2; - random_num_order_test(&n1); /* n1 = R */ - random_num_negate(&n1); - secp256k1_num_copy(&n2, &n1); /* n2 = R */ - secp256k1_num_sub(&n1, &n2, &n1); /* n1 = n2-n1 = 0 */ - CHECK(secp256k1_num_is_zero(&n1)); - secp256k1_num_copy(&n1, &n2); /* n1 = R */ - secp256k1_num_negate(&n1); /* n1 = -R */ - CHECK(!secp256k1_num_is_zero(&n1)); - secp256k1_num_add(&n1, &n2, &n1); /* n1 = n2+n1 = 0 */ - CHECK(secp256k1_num_is_zero(&n1)); - secp256k1_num_copy(&n1, &n2); /* n1 = R */ - secp256k1_num_negate(&n1); /* n1 = -R */ - CHECK(secp256k1_num_is_neg(&n1) != secp256k1_num_is_neg(&n2)); - secp256k1_num_negate(&n1); /* n1 = R */ - CHECK(secp256k1_num_eq(&n1, &n2)); -} - -void test_num_add_sub(void) { - int r = secp256k1_rand32(); - secp256k1_num_t n1; - secp256k1_num_t n2; - random_num_order_test(&n1); /* n1 = R1 */ - if (r & 1) { - random_num_negate(&n1); - } - random_num_order_test(&n2); /* n2 = R2 */ - if (r & 2) { - random_num_negate(&n2); - } - secp256k1_num_t n1p2, n2p1, n1m2, n2m1; - secp256k1_num_add(&n1p2, &n1, &n2); /* n1p2 = R1 + R2 */ - secp256k1_num_add(&n2p1, &n2, &n1); /* n2p1 = R2 + R1 */ - secp256k1_num_sub(&n1m2, &n1, &n2); /* n1m2 = R1 - R2 */ - secp256k1_num_sub(&n2m1, &n2, &n1); /* n2m1 = R2 - R1 */ - CHECK(secp256k1_num_eq(&n1p2, &n2p1)); - CHECK(!secp256k1_num_eq(&n1p2, &n1m2)); - secp256k1_num_negate(&n2m1); /* n2m1 = -R2 + R1 */ - CHECK(secp256k1_num_eq(&n2m1, &n1m2)); - CHECK(!secp256k1_num_eq(&n2m1, &n1)); - secp256k1_num_add(&n2m1, &n2m1, &n2); /* n2m1 = -R2 + R1 + R2 = R1 */ - CHECK(secp256k1_num_eq(&n2m1, &n1)); - CHECK(!secp256k1_num_eq(&n2p1, &n1)); - secp256k1_num_sub(&n2p1, &n2p1, &n2); /* n2p1 = R2 + R1 - R2 = R1 */ - CHECK(secp256k1_num_eq(&n2p1, &n1)); -} - -void run_num_smalltests(void) { - for (int i=0; i<100*count; i++) { - test_num_negate(); - test_num_add_sub(); - } -} -#endif - -/***** SCALAR TESTS *****/ - -void scalar_test(void) { - unsigned char c[32]; - - /* Set 's' to a random scalar, with value 'snum'. */ - secp256k1_scalar_t s; - random_scalar_order_test(&s); - - /* Set 's1' to a random scalar, with value 's1num'. */ - secp256k1_scalar_t s1; - random_scalar_order_test(&s1); - - /* Set 's2' to a random scalar, with value 'snum2', and byte array representation 'c'. */ - secp256k1_scalar_t s2; - random_scalar_order_test(&s2); - secp256k1_scalar_get_b32(c, &s2); - -#ifndef USE_NUM_NONE - secp256k1_num_t snum, s1num, s2num; - secp256k1_scalar_get_num(&snum, &s); - secp256k1_scalar_get_num(&s1num, &s1); - secp256k1_scalar_get_num(&s2num, &s2); - - secp256k1_num_t order; - secp256k1_scalar_order_get_num(&order); - secp256k1_num_t half_order = order; - secp256k1_num_shift(&half_order, 1); -#endif - - { - /* Test that fetching groups of 4 bits from a scalar and recursing n(i)=16*n(i-1)+p(i) reconstructs it. */ - secp256k1_scalar_t n; - secp256k1_scalar_set_int(&n, 0); - for (int i = 0; i < 256; i += 4) { - secp256k1_scalar_t t; - secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits(&s, 256 - 4 - i, 4)); - for (int j = 0; j < 4; j++) { - secp256k1_scalar_add(&n, &n, &n); - } - secp256k1_scalar_add(&n, &n, &t); - } - CHECK(secp256k1_scalar_eq(&n, &s)); - } - - { - /* Test that fetching groups of randomly-sized bits from a scalar and recursing n(i)=b*n(i-1)+p(i) reconstructs it. */ - secp256k1_scalar_t n; - secp256k1_scalar_set_int(&n, 0); - int i = 0; - while (i < 256) { - int now = (secp256k1_rand32() % 15) + 1; - if (now + i > 256) { - now = 256 - i; - } - secp256k1_scalar_t t; - secp256k1_scalar_set_int(&t, secp256k1_scalar_get_bits_var(&s, 256 - now - i, now)); - for (int j = 0; j < now; j++) { - secp256k1_scalar_add(&n, &n, &n); - } - secp256k1_scalar_add(&n, &n, &t); - i += now; - } - CHECK(secp256k1_scalar_eq(&n, &s)); - } - -#ifndef USE_NUM_NONE - { - /* Test that adding the scalars together is equal to adding their numbers together modulo the order. */ - secp256k1_num_t rnum; - secp256k1_num_add(&rnum, &snum, &s2num); - secp256k1_num_mod(&rnum, &order); - secp256k1_scalar_t r; - secp256k1_scalar_add(&r, &s, &s2); - secp256k1_num_t r2num; - secp256k1_scalar_get_num(&r2num, &r); - CHECK(secp256k1_num_eq(&rnum, &r2num)); - } - - { - /* Test that multipying the scalars is equal to multiplying their numbers modulo the order. */ - secp256k1_num_t rnum; - secp256k1_num_mul(&rnum, &snum, &s2num); - secp256k1_num_mod(&rnum, &order); - secp256k1_scalar_t r; - secp256k1_scalar_mul(&r, &s, &s2); - secp256k1_num_t r2num; - secp256k1_scalar_get_num(&r2num, &r); - CHECK(secp256k1_num_eq(&rnum, &r2num)); - /* The result can only be zero if at least one of the factors was zero. */ - CHECK(secp256k1_scalar_is_zero(&r) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_zero(&s2))); - /* The results can only be equal to one of the factors if that factor was zero, or the other factor was one. */ - CHECK(secp256k1_num_eq(&rnum, &snum) == (secp256k1_scalar_is_zero(&s) || secp256k1_scalar_is_one(&s2))); - CHECK(secp256k1_num_eq(&rnum, &s2num) == (secp256k1_scalar_is_zero(&s2) || secp256k1_scalar_is_one(&s))); - } - - { - /* Check that comparison with zero matches comparison with zero on the number. */ - CHECK(secp256k1_num_is_zero(&snum) == secp256k1_scalar_is_zero(&s)); - /* Check that comparison with the half order is equal to testing for high scalar. */ - CHECK(secp256k1_scalar_is_high(&s) == (secp256k1_num_cmp(&snum, &half_order) > 0)); - secp256k1_scalar_t neg; - secp256k1_scalar_negate(&neg, &s); - secp256k1_num_t negnum; - secp256k1_num_sub(&negnum, &order, &snum); - secp256k1_num_mod(&negnum, &order); - /* Check that comparison with the half order is equal to testing for high scalar after negation. */ - CHECK(secp256k1_scalar_is_high(&neg) == (secp256k1_num_cmp(&negnum, &half_order) > 0)); - /* Negating should change the high property, unless the value was already zero. */ - CHECK((secp256k1_scalar_is_high(&s) == secp256k1_scalar_is_high(&neg)) == secp256k1_scalar_is_zero(&s)); - secp256k1_num_t negnum2; - secp256k1_scalar_get_num(&negnum2, &neg); - /* Negating a scalar should be equal to (order - n) mod order on the number. */ - CHECK(secp256k1_num_eq(&negnum, &negnum2)); - secp256k1_scalar_add(&neg, &neg, &s); - /* Adding a number to its negation should result in zero. */ - CHECK(secp256k1_scalar_is_zero(&neg)); - secp256k1_scalar_negate(&neg, &neg); - /* Negating zero should still result in zero. */ - CHECK(secp256k1_scalar_is_zero(&neg)); - } - - { - /* Test secp256k1_scalar_mul_shift_var. */ - secp256k1_scalar_t r; - unsigned int shift = 256 + (secp256k1_rand32() % 257); - secp256k1_scalar_mul_shift_var(&r, &s1, &s2, shift); - secp256k1_num_t rnum; - secp256k1_num_mul(&rnum, &s1num, &s2num); - secp256k1_num_shift(&rnum, shift - 1); - secp256k1_num_t one; - unsigned char cone[1] = {0x01}; - secp256k1_num_set_bin(&one, cone, 1); - secp256k1_num_add(&rnum, &rnum, &one); - secp256k1_num_shift(&rnum, 1); - secp256k1_num_t rnum2; - secp256k1_scalar_get_num(&rnum2, &r); - CHECK(secp256k1_num_eq(&rnum, &rnum2)); - } -#endif - - { - /* Test that scalar inverses are equal to the inverse of their number modulo the order. */ - if (!secp256k1_scalar_is_zero(&s)) { - secp256k1_scalar_t inv; - secp256k1_scalar_inverse(&inv, &s); -#ifndef USE_NUM_NONE - secp256k1_num_t invnum; - secp256k1_num_mod_inverse(&invnum, &snum, &order); - secp256k1_num_t invnum2; - secp256k1_scalar_get_num(&invnum2, &inv); - CHECK(secp256k1_num_eq(&invnum, &invnum2)); -#endif - secp256k1_scalar_mul(&inv, &inv, &s); - /* Multiplying a scalar with its inverse must result in one. */ - CHECK(secp256k1_scalar_is_one(&inv)); - secp256k1_scalar_inverse(&inv, &inv); - /* Inverting one must result in one. */ - CHECK(secp256k1_scalar_is_one(&inv)); - } - } - - { - /* Test commutativity of add. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_add(&r2, &s2, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test add_bit. */ - int bit = secp256k1_rand32() % 256; - secp256k1_scalar_t b; - secp256k1_scalar_set_int(&b, 1); - CHECK(secp256k1_scalar_is_one(&b)); - for (int i = 0; i < bit; i++) { - secp256k1_scalar_add(&b, &b, &b); - } - secp256k1_scalar_t r1 = s1, r2 = s1; - if (!secp256k1_scalar_add(&r1, &r1, &b)) { - /* No overflow happened. */ - secp256k1_scalar_add_bit(&r2, bit); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - } - - { - /* Test commutativity of mul. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_mul(&r1, &s1, &s2); - secp256k1_scalar_mul(&r2, &s2, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test associativity of add. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_add(&r1, &r1, &s); - secp256k1_scalar_add(&r2, &s2, &s); - secp256k1_scalar_add(&r2, &s1, &r2); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test associativity of mul. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_mul(&r1, &s1, &s2); - secp256k1_scalar_mul(&r1, &r1, &s); - secp256k1_scalar_mul(&r2, &s2, &s); - secp256k1_scalar_mul(&r2, &s1, &r2); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test distributitivity of mul over add. */ - secp256k1_scalar_t r1, r2, t; - secp256k1_scalar_add(&r1, &s1, &s2); - secp256k1_scalar_mul(&r1, &r1, &s); - secp256k1_scalar_mul(&r2, &s1, &s); - secp256k1_scalar_mul(&t, &s2, &s); - secp256k1_scalar_add(&r2, &r2, &t); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - - { - /* Test square. */ - secp256k1_scalar_t r1, r2; - secp256k1_scalar_sqr(&r1, &s1); - secp256k1_scalar_mul(&r2, &s1, &s1); - CHECK(secp256k1_scalar_eq(&r1, &r2)); - } - -} - -void run_scalar_tests(void) { - for (int i = 0; i < 128 * count; i++) { - scalar_test(); - } - - { - /* (-1)+1 should be zero. */ - secp256k1_scalar_t s, o; - secp256k1_scalar_set_int(&s, 1); - secp256k1_scalar_negate(&o, &s); - secp256k1_scalar_add(&o, &o, &s); - CHECK(secp256k1_scalar_is_zero(&o)); - } - -#ifndef USE_NUM_NONE - { - /* A scalar with value of the curve order should be 0. */ - secp256k1_num_t order; - secp256k1_scalar_order_get_num(&order); - unsigned char bin[32]; - secp256k1_num_get_bin(bin, 32, &order); - secp256k1_scalar_t zero; - int overflow = 0; - secp256k1_scalar_set_b32(&zero, bin, &overflow); - CHECK(overflow == 1); - CHECK(secp256k1_scalar_is_zero(&zero)); - } -#endif -} - -/***** FIELD TESTS *****/ - -void random_fe(secp256k1_fe_t *x) { - unsigned char bin[32]; - do { - secp256k1_rand256(bin); - if (secp256k1_fe_set_b32(x, bin)) { - return; - } - } while(1); -} - -void random_fe_non_zero(secp256k1_fe_t *nz) { - int tries = 10; - while (--tries >= 0) { - random_fe(nz); - secp256k1_fe_normalize(nz); - if (!secp256k1_fe_is_zero(nz)) - break; - } - /* Infinitesimal probability of spurious failure here */ - CHECK(tries >= 0); -} - -void random_fe_non_square(secp256k1_fe_t *ns) { - random_fe_non_zero(ns); - secp256k1_fe_t r; - if (secp256k1_fe_sqrt(&r, ns)) { - secp256k1_fe_negate(ns, ns, 1); - } -} - -int check_fe_equal(const secp256k1_fe_t *a, const secp256k1_fe_t *b) { - secp256k1_fe_t an = *a; secp256k1_fe_normalize(&an); - secp256k1_fe_t bn = *b; secp256k1_fe_normalize(&bn); - return secp256k1_fe_equal(&an, &bn); -} - -int check_fe_inverse(const secp256k1_fe_t *a, const secp256k1_fe_t *ai) { - secp256k1_fe_t x; secp256k1_fe_mul(&x, a, ai); - secp256k1_fe_t one; secp256k1_fe_set_int(&one, 1); - return check_fe_equal(&x, &one); -} - -void run_field_inv(void) { - secp256k1_fe_t x, xi, xii; - for (int i=0; i<10*count; i++) { - random_fe_non_zero(&x); - secp256k1_fe_inv(&xi, &x); - CHECK(check_fe_inverse(&x, &xi)); - secp256k1_fe_inv(&xii, &xi); - CHECK(check_fe_equal(&x, &xii)); - } -} - -void run_field_inv_var(void) { - secp256k1_fe_t x, xi, xii; - for (int i=0; i<10*count; i++) { - random_fe_non_zero(&x); - secp256k1_fe_inv_var(&xi, &x); - CHECK(check_fe_inverse(&x, &xi)); - secp256k1_fe_inv_var(&xii, &xi); - CHECK(check_fe_equal(&x, &xii)); - } -} - -void run_field_inv_all(void) { - secp256k1_fe_t x[16], xi[16], xii[16]; - /* Check it's safe to call for 0 elements */ - secp256k1_fe_inv_all(0, xi, x); - for (int i=0; iinfinity && b->infinity) - return 1; - return check_fe_equal(&a->x, &b->x) && check_fe_equal(&a->y, &b->y); -} - -void ge_equals_gej(const secp256k1_ge_t *a, const secp256k1_gej_t *b) { - secp256k1_ge_t bb; - secp256k1_gej_t bj = *b; - secp256k1_ge_set_gej_var(&bb, &bj); - CHECK(ge_equals_ge(a, &bb)); -} - -void gej_equals_gej(const secp256k1_gej_t *a, const secp256k1_gej_t *b) { - secp256k1_ge_t aa, bb; - secp256k1_gej_t aj = *a, bj = *b; - secp256k1_ge_set_gej_var(&aa, &aj); - secp256k1_ge_set_gej_var(&bb, &bj); - CHECK(ge_equals_ge(&aa, &bb)); -} - -void test_ge(void) { - char ca[135]; - char cb[68]; - int rlen; - secp256k1_ge_t a, b, i, n; - random_group_element_test(&a); - random_group_element_test(&b); - rlen = sizeof(ca); - secp256k1_ge_get_hex(ca,&rlen,&a); - CHECK(rlen > 4 && rlen <= (int)sizeof(ca)); - rlen = sizeof(cb); - secp256k1_ge_get_hex(cb,&rlen,&b); /* Intentionally undersized buffer. */ - n = a; - secp256k1_fe_normalize(&a.y); - secp256k1_fe_negate(&n.y, &a.y, 1); - secp256k1_ge_set_infinity(&i); - random_field_element_magnitude(&a.x); - random_field_element_magnitude(&a.y); - random_field_element_magnitude(&b.x); - random_field_element_magnitude(&b.y); - random_field_element_magnitude(&n.x); - random_field_element_magnitude(&n.y); - - secp256k1_gej_t aj, bj, ij, nj; - random_group_element_jacobian_test(&aj, &a); - random_group_element_jacobian_test(&bj, &b); - secp256k1_gej_set_infinity(&ij); - random_group_element_jacobian_test(&nj, &n); - random_field_element_magnitude(&aj.x); - random_field_element_magnitude(&aj.y); - random_field_element_magnitude(&aj.z); - random_field_element_magnitude(&bj.x); - random_field_element_magnitude(&bj.y); - random_field_element_magnitude(&bj.z); - random_field_element_magnitude(&nj.x); - random_field_element_magnitude(&nj.y); - random_field_element_magnitude(&nj.z); - - /* gej + gej adds */ - secp256k1_gej_t aaj; secp256k1_gej_add_var(&aaj, &aj, &aj); - secp256k1_gej_t abj; secp256k1_gej_add_var(&abj, &aj, &bj); - secp256k1_gej_t aij; secp256k1_gej_add_var(&aij, &aj, &ij); - secp256k1_gej_t anj; secp256k1_gej_add_var(&anj, &aj, &nj); - secp256k1_gej_t iaj; secp256k1_gej_add_var(&iaj, &ij, &aj); - secp256k1_gej_t iij; secp256k1_gej_add_var(&iij, &ij, &ij); - - /* gej + ge adds */ - secp256k1_gej_t aa; secp256k1_gej_add_ge_var(&aa, &aj, &a); - secp256k1_gej_t ab; secp256k1_gej_add_ge_var(&ab, &aj, &b); - secp256k1_gej_t ai; secp256k1_gej_add_ge_var(&ai, &aj, &i); - secp256k1_gej_t an; secp256k1_gej_add_ge_var(&an, &aj, &n); - secp256k1_gej_t ia; secp256k1_gej_add_ge_var(&ia, &ij, &a); - secp256k1_gej_t ii; secp256k1_gej_add_ge_var(&ii, &ij, &i); - - /* const gej + ge adds */ - secp256k1_gej_t aac; secp256k1_gej_add_ge(&aac, &aj, &a); - secp256k1_gej_t abc; secp256k1_gej_add_ge(&abc, &aj, &b); - secp256k1_gej_t anc; secp256k1_gej_add_ge(&anc, &aj, &n); - secp256k1_gej_t iac; secp256k1_gej_add_ge(&iac, &ij, &a); - - CHECK(secp256k1_gej_is_infinity(&an)); - CHECK(secp256k1_gej_is_infinity(&anj)); - CHECK(secp256k1_gej_is_infinity(&anc)); - gej_equals_gej(&aa, &aaj); - gej_equals_gej(&aa, &aac); - gej_equals_gej(&ab, &abj); - gej_equals_gej(&ab, &abc); - gej_equals_gej(&an, &anj); - gej_equals_gej(&an, &anc); - gej_equals_gej(&ia, &iaj); - gej_equals_gej(&ai, &aij); - gej_equals_gej(&ii, &iij); - ge_equals_gej(&a, &ai); - ge_equals_gej(&a, &ai); - ge_equals_gej(&a, &iaj); - ge_equals_gej(&a, &iaj); - ge_equals_gej(&a, &iac); -} - -void run_ge(void) { - for (int i = 0; i < 2000*count; i++) { - test_ge(); - } -} - -/***** ECMULT TESTS *****/ - -void run_ecmult_chain(void) { - /* random starting point A (on the curve) */ - secp256k1_fe_t ax; VERIFY_CHECK(secp256k1_fe_set_hex(&ax, "8b30bbe9ae2a990696b22f670709dff3727fd8bc04d3362c6c7bf458e2846004", 64)); - secp256k1_fe_t ay; VERIFY_CHECK(secp256k1_fe_set_hex(&ay, "a357ae915c4a65281309edf20504740f0eb3343990216b4f81063cb65f2f7e0f", 64)); - secp256k1_gej_t a; secp256k1_gej_set_xy(&a, &ax, &ay); - /* two random initial factors xn and gn */ - static const unsigned char xni[32] = { - 0x84, 0xcc, 0x54, 0x52, 0xf7, 0xfd, 0xe1, 0xed, - 0xb4, 0xd3, 0x8a, 0x8c, 0xe9, 0xb1, 0xb8, 0x4c, - 0xce, 0xf3, 0x1f, 0x14, 0x6e, 0x56, 0x9b, 0xe9, - 0x70, 0x5d, 0x35, 0x7a, 0x42, 0x98, 0x54, 0x07 - }; - secp256k1_scalar_t xn; - secp256k1_scalar_set_b32(&xn, xni, NULL); - static const unsigned char gni[32] = { - 0xa1, 0xe5, 0x8d, 0x22, 0x55, 0x3d, 0xcd, 0x42, - 0xb2, 0x39, 0x80, 0x62, 0x5d, 0x4c, 0x57, 0xa9, - 0x6e, 0x93, 0x23, 0xd4, 0x2b, 0x31, 0x52, 0xe5, - 0xca, 0x2c, 0x39, 0x90, 0xed, 0xc7, 0xc9, 0xde - }; - secp256k1_scalar_t gn; - secp256k1_scalar_set_b32(&gn, gni, NULL); - /* two small multipliers to be applied to xn and gn in every iteration: */ - static const unsigned char xfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x13,0x37}; - secp256k1_scalar_t xf; - secp256k1_scalar_set_b32(&xf, xfi, NULL); - static const unsigned char gfi[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x71,0x13}; - secp256k1_scalar_t gf; - secp256k1_scalar_set_b32(&gf, gfi, NULL); - /* accumulators with the resulting coefficients to A and G */ - secp256k1_scalar_t ae; - secp256k1_scalar_set_int(&ae, 1); - secp256k1_scalar_t ge; - secp256k1_scalar_set_int(&ge, 0); - /* the point being computed */ - secp256k1_gej_t x = a; - for (int i=0; i<200*count; i++) { - /* in each iteration, compute X = xn*X + gn*G; */ - secp256k1_ecmult(&x, &x, &xn, &gn); - /* also compute ae and ge: the actual accumulated factors for A and G */ - /* if X was (ae*A+ge*G), xn*X + gn*G results in (xn*ae*A + (xn*ge+gn)*G) */ - secp256k1_scalar_mul(&ae, &ae, &xn); - secp256k1_scalar_mul(&ge, &ge, &xn); - secp256k1_scalar_add(&ge, &ge, &gn); - /* modify xn and gn */ - secp256k1_scalar_mul(&xn, &xn, &xf); - secp256k1_scalar_mul(&gn, &gn, &gf); - - /* verify */ - if (i == 51474) { - char res[132]; int resl = 132; - secp256k1_gej_get_hex(res, &resl, &x); - CHECK(strcmp(res, "(D6E96687F9B10D092A6F35439D86CEBEA4535D0D409F53586440BD74B933E830,B95CBCA2C77DA786539BE8FD53354D2D3B4F566AE658045407ED6015EE1B2A88)") == 0); - } - } - /* redo the computation, but directly with the resulting ae and ge coefficients: */ - secp256k1_gej_t x2; secp256k1_ecmult(&x2, &a, &ae, &ge); - char res[132]; int resl = 132; - char res2[132]; int resl2 = 132; - secp256k1_gej_get_hex(res, &resl, &x); - secp256k1_gej_get_hex(res2, &resl2, &x2); - CHECK(strcmp(res, res2) == 0); - CHECK(strlen(res) == 131); -} - -void test_point_times_order(const secp256k1_gej_t *point) { - /* X * (point + G) + (order-X) * (pointer + G) = 0 */ - secp256k1_scalar_t x; - random_scalar_order_test(&x); - secp256k1_scalar_t nx; - secp256k1_scalar_negate(&nx, &x); - secp256k1_gej_t res1, res2; - secp256k1_ecmult(&res1, point, &x, &x); /* calc res1 = x * point + x * G; */ - secp256k1_ecmult(&res2, point, &nx, &nx); /* calc res2 = (order - x) * point + (order - x) * G; */ - secp256k1_gej_add_var(&res1, &res1, &res2); - CHECK(secp256k1_gej_is_infinity(&res1)); - CHECK(secp256k1_gej_is_valid(&res1) == 0); - secp256k1_ge_t res3; - secp256k1_ge_set_gej(&res3, &res1); - CHECK(secp256k1_ge_is_infinity(&res3)); - CHECK(secp256k1_ge_is_valid(&res3) == 0); -} - -void run_point_times_order(void) { - secp256k1_fe_t x; VERIFY_CHECK(secp256k1_fe_set_hex(&x, "02", 2)); - for (int i=0; i<500; i++) { - secp256k1_ge_t p; - if (secp256k1_ge_set_xo(&p, &x, 1)) { - CHECK(secp256k1_ge_is_valid(&p)); - secp256k1_gej_t j; - secp256k1_gej_set_ge(&j, &p); - CHECK(secp256k1_gej_is_valid(&j)); - test_point_times_order(&j); - } - secp256k1_fe_sqr(&x, &x); - } - char c[65]; int cl=65; - secp256k1_fe_get_hex(c, &cl, &x); - CHECK(strcmp(c, "7603CB59B0EF6C63FE6084792A0C378CDB3233A80F8A9A09A877DEAD31B38C45") == 0); -} - -void test_wnaf(const secp256k1_scalar_t *number, int w) { - secp256k1_scalar_t x, two, t; - secp256k1_scalar_set_int(&x, 0); - secp256k1_scalar_set_int(&two, 2); - int wnaf[256]; - int bits = secp256k1_ecmult_wnaf(wnaf, number, w); - CHECK(bits <= 256); - int zeroes = -1; - for (int i=bits-1; i>=0; i--) { - secp256k1_scalar_mul(&x, &x, &two); - int v = wnaf[i]; - if (v) { - CHECK(zeroes == -1 || zeroes >= w-1); /* check that distance between non-zero elements is at least w-1 */ - zeroes=0; - CHECK((v & 1) == 1); /* check non-zero elements are odd */ - CHECK(v <= (1 << (w-1)) - 1); /* check range below */ - CHECK(v >= -(1 << (w-1)) - 1); /* check range above */ - } else { - CHECK(zeroes != -1); /* check that no unnecessary zero padding exists */ - zeroes++; - } - if (v >= 0) { - secp256k1_scalar_set_int(&t, v); - } else { - secp256k1_scalar_set_int(&t, -v); - secp256k1_scalar_negate(&t, &t); - } - secp256k1_scalar_add(&x, &x, &t); - } - CHECK(secp256k1_scalar_eq(&x, number)); /* check that wnaf represents number */ -} - -void run_wnaf(void) { - secp256k1_scalar_t n; - for (int i=0; i= 0 && recid < 4); - CHECK(secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_scalar_add(&msg, &msg, &one); - CHECK(!secp256k1_ecdsa_sig_verify(&sig, &pub, &msg)); -} - -void run_ecdsa_sign_verify(void) { - for (int i=0; i<10*count; i++) { - test_ecdsa_sign_verify(); - } -} - -void test_ecdsa_end_to_end(void) { - unsigned char privkey[32]; - unsigned char message[32]; - - /* Generate a random key and message. */ - { - secp256k1_scalar_t msg, key; - random_scalar_order_test(&msg); - random_scalar_order_test(&key); - secp256k1_scalar_get_b32(privkey, &key); - secp256k1_scalar_get_b32(message, &msg); - } - - /* Construct and verify corresponding public key. */ - CHECK(secp256k1_ec_seckey_verify(privkey) == 1); - unsigned char pubkey[65]; int pubkeylen = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey, &pubkeylen, privkey, secp256k1_rand32() % 2) == 1); - CHECK(secp256k1_ec_pubkey_verify(pubkey, pubkeylen)); - - /* Verify private key import and export. */ - unsigned char seckey[300]; int seckeylen = 300; - CHECK(secp256k1_ec_privkey_export(privkey, seckey, &seckeylen, secp256k1_rand32() % 2) == 1); - unsigned char privkey2[32]; - CHECK(secp256k1_ec_privkey_import(privkey2, seckey, seckeylen) == 1); - CHECK(memcmp(privkey, privkey2, 32) == 0); - - /* Optionally tweak the keys using addition. */ - if (secp256k1_rand32() % 3 == 0) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - int ret1 = secp256k1_ec_privkey_tweak_add(privkey, rnd); - int ret2 = secp256k1_ec_pubkey_tweak_add(pubkey, pubkeylen, rnd); - CHECK(ret1 == ret2); - if (ret1 == 0) return; - unsigned char pubkey2[65]; int pubkeylen2 = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); - CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); - } - - /* Optionally tweak the keys using multiplication. */ - if (secp256k1_rand32() % 3 == 0) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - int ret1 = secp256k1_ec_privkey_tweak_mul(privkey, rnd); - int ret2 = secp256k1_ec_pubkey_tweak_mul(pubkey, pubkeylen, rnd); - CHECK(ret1 == ret2); - if (ret1 == 0) return; - unsigned char pubkey2[65]; int pubkeylen2 = 65; - CHECK(secp256k1_ec_pubkey_create(pubkey2, &pubkeylen2, privkey, pubkeylen == 33) == 1); - CHECK(memcmp(pubkey, pubkey2, pubkeylen) == 0); - } - - /* Sign. */ - unsigned char signature[72]; int signaturelen = 72; - while(1) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - if (secp256k1_ecdsa_sign(message, 32, signature, &signaturelen, privkey, rnd) == 1) { - break; - } - } - /* Verify. */ - CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) == 1); - /* Destroy signature and verify again. */ - signature[signaturelen - 1 - secp256k1_rand32() % 20] += 1 + (secp256k1_rand32() % 255); - CHECK(secp256k1_ecdsa_verify(message, 32, signature, signaturelen, pubkey, pubkeylen) != 1); - - /* Compact sign. */ - unsigned char csignature[64]; int recid = 0; - while(1) { - unsigned char rnd[32]; - secp256k1_rand256_test(rnd); - if (secp256k1_ecdsa_sign_compact(message, 32, csignature, privkey, rnd, &recid) == 1) { - break; - } - } - /* Recover. */ - unsigned char recpubkey[65]; int recpubkeylen = 0; - CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) == 1); - CHECK(recpubkeylen == pubkeylen); - CHECK(memcmp(pubkey, recpubkey, pubkeylen) == 0); - /* Destroy signature and verify again. */ - csignature[secp256k1_rand32() % 64] += 1 + (secp256k1_rand32() % 255); - CHECK(secp256k1_ecdsa_recover_compact(message, 32, csignature, recpubkey, &recpubkeylen, pubkeylen == 33, recid) != 1 || - memcmp(pubkey, recpubkey, pubkeylen) != 0); - CHECK(recpubkeylen == pubkeylen); - -} - -void run_ecdsa_end_to_end(void) { - for (int i=0; i<64*count; i++) { - test_ecdsa_end_to_end(); - } -} - -/* Tests several edge cases. */ -void test_ecdsa_edge_cases(void) { - const unsigned char msg32[32] = { - 'T', 'h', 'i', 's', ' ', 'i', 's', ' ', - 'a', ' ', 'v', 'e', 'r', 'y', ' ', 's', - 'e', 'c', 'r', 'e', 't', ' ', 'm', 'e', - 's', 's', 'a', 'g', 'e', '.', '.', '.' - }; - const unsigned char sig64[64] = { - /* Generated by signing the above message with nonce 'This is the nonce we will use...' - * and secret key 0 (which is not valid), resulting in recid 0. */ - 0x67, 0xCB, 0x28, 0x5F, 0x9C, 0xD1, 0x94, 0xE8, - 0x40, 0xD6, 0x29, 0x39, 0x7A, 0xF5, 0x56, 0x96, - 0x62, 0xFD, 0xE4, 0x46, 0x49, 0x99, 0x59, 0x63, - 0x17, 0x9A, 0x7D, 0xD1, 0x7B, 0xD2, 0x35, 0x32, - 0x4B, 0x1B, 0x7D, 0xF3, 0x4C, 0xE1, 0xF6, 0x8E, - 0x69, 0x4F, 0xF6, 0xF1, 0x1A, 0xC7, 0x51, 0xDD, - 0x7D, 0xD7, 0x3E, 0x38, 0x7E, 0xE4, 0xFC, 0x86, - 0x6E, 0x1B, 0xE8, 0xEC, 0xC7, 0xDD, 0x95, 0x57 - }; - unsigned char pubkey[65]; - int pubkeylen = 65; - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 0)); - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 1)); - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 2)); - CHECK(!secp256k1_ecdsa_recover_compact(msg32, 32, sig64, pubkey, &pubkeylen, 0, 3)); - - /* signature (r,s) = (4,4), which can be recovered with all 4 recids. */ - const unsigned char sigb64[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, - }; - unsigned char pubkeyb[33]; - int pubkeyblen = 33; - for (int recid = 0; recid < 4; recid++) { - /* (4,4) encoded in DER. */ - unsigned char sigbder[8] = {0x30, 0x06, 0x02, 0x01, 0x04, 0x02, 0x01, 0x04}; - /* (order + r,4) encoded in DER. */ - unsigned char sigbderlong[40] = { - 0x30, 0x26, 0x02, 0x21, 0x00, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xBA, 0xAE, 0xDC, - 0xE6, 0xAF, 0x48, 0xA0, 0x3B, 0xBF, 0xD2, 0x5E, - 0x8C, 0xD0, 0x36, 0x41, 0x45, 0x02, 0x01, 0x04 - }; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkeyb, &pubkeyblen, 1, recid)); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 1); - for (int recid2 = 0; recid2 < 4; recid2++) { - unsigned char pubkey2b[33]; - int pubkey2blen = 33; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigb64, pubkey2b, &pubkey2blen, 1, recid2)); - /* Verifying with (order + r,4) should always fail. */ - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbderlong, sizeof(sigbderlong), pubkey2b, pubkey2blen) != 1); - } - /* Damage signature. */ - sigbder[7]++; - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigbder, sizeof(sigbder), pubkeyb, pubkeyblen) == 0); - } - - /* Test the case where ECDSA recomputes a point that is infinity. */ - { - secp256k1_ecdsa_sig_t sig; - secp256k1_scalar_set_int(&sig.s, 1); - secp256k1_scalar_negate(&sig.s, &sig.s); - secp256k1_scalar_inverse(&sig.s, &sig.s); - secp256k1_scalar_set_int(&sig.r, 1); - secp256k1_gej_t keyj; - secp256k1_ecmult_gen(&keyj, &sig.r); - secp256k1_ge_t key; - secp256k1_ge_set_gej(&key, &keyj); - secp256k1_scalar_t msg = sig.s; - CHECK(secp256k1_ecdsa_sig_verify(&sig, &key, &msg) == 0); - } - - /* Test r/s equal to zero */ - { - /* (1,1) encoded in DER. */ - unsigned char sigcder[8] = {0x30, 0x06, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01}; - unsigned char sigc64[64] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, - }; - unsigned char pubkeyc[65]; - int pubkeyclen = 65; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyc, &pubkeyclen, 0, 0) == 1); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 1); - sigcder[4] = 0; - sigc64[31] = 0; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); - sigcder[4] = 1; - sigcder[7] = 0; - sigc64[31] = 1; - sigc64[63] = 0; - CHECK(secp256k1_ecdsa_recover_compact(msg32, 32, sigc64, pubkeyb, &pubkeyblen, 1, 0) == 0); - CHECK(secp256k1_ecdsa_verify(msg32, 32, sigcder, sizeof(sigcder), pubkeyc, pubkeyclen) == 0); - } -} - -void run_ecdsa_edge_cases(void) { - test_ecdsa_edge_cases(); -} - -#ifdef ENABLE_OPENSSL_TESTS -EC_KEY *get_openssl_key(const secp256k1_scalar_t *key) { - unsigned char privkey[300]; - int privkeylen; - int compr = secp256k1_rand32() & 1; - const unsigned char* pbegin = privkey; - EC_KEY *ec_key = EC_KEY_new_by_curve_name(NID_secp256k1); - CHECK(secp256k1_eckey_privkey_serialize(privkey, &privkeylen, key, compr)); - CHECK(d2i_ECPrivateKey(&ec_key, &pbegin, privkeylen)); - CHECK(EC_KEY_check_key(ec_key)); - return ec_key; -} - -void test_ecdsa_openssl(void) { - secp256k1_scalar_t key, msg; - unsigned char message[32]; - secp256k1_rand256_test(message); - secp256k1_scalar_set_b32(&msg, message, NULL); - random_scalar_order_test(&key); - secp256k1_gej_t qj; - secp256k1_ecmult_gen(&qj, &key); - secp256k1_ge_t q; - secp256k1_ge_set_gej(&q, &qj); - EC_KEY *ec_key = get_openssl_key(&key); - CHECK(ec_key); - unsigned char signature[80]; - unsigned int sigsize = 80; - CHECK(ECDSA_sign(0, message, sizeof(message), signature, &sigsize, ec_key)); - secp256k1_ecdsa_sig_t sig; - CHECK(secp256k1_ecdsa_sig_parse(&sig, signature, sigsize)); - CHECK(secp256k1_ecdsa_sig_verify(&sig, &q, &msg)); - secp256k1_scalar_t one; - secp256k1_scalar_set_int(&one, 1); - secp256k1_scalar_t msg2; - secp256k1_scalar_add(&msg2, &msg, &one); - CHECK(!secp256k1_ecdsa_sig_verify(&sig, &q, &msg2)); - - random_sign(&sig, &key, &msg, NULL); - int secp_sigsize = 80; - CHECK(secp256k1_ecdsa_sig_serialize(signature, &secp_sigsize, &sig)); - CHECK(ECDSA_verify(0, message, sizeof(message), signature, secp_sigsize, ec_key) == 1); - - EC_KEY_free(ec_key); -} - -void run_ecdsa_openssl(void) { - for (int i=0; i<10*count; i++) { - test_ecdsa_openssl(); - } -} -#endif - -int main(int argc, char **argv) { - /* find iteration count */ - if (argc > 1) { - count = strtol(argv[1], NULL, 0); - } - - /* find random seed */ - uint64_t seed; - if (argc > 2) { - seed = strtoull(argv[2], NULL, 0); - } else { - FILE *frand = fopen("/dev/urandom", "r"); - if (!frand || !fread(&seed, sizeof(seed), 1, frand)) { - seed = time(NULL) * 1337; - } - fclose(frand); - } - secp256k1_rand_seed(seed); - - printf("test count = %i\n", count); - printf("random seed = %llu\n", (unsigned long long)seed); - - /* initialize */ - secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); - - /* initializing a second time shouldn't cause any harm or memory leaks. */ - secp256k1_start(SECP256K1_START_SIGN | SECP256K1_START_VERIFY); - - /* Likewise, re-running the internal init functions should be harmless. */ - secp256k1_fe_start(); - secp256k1_ge_start(); - secp256k1_scalar_start(); - secp256k1_ecdsa_start(); - -#ifndef USE_NUM_NONE - /* num tests */ - run_num_smalltests(); -#endif - - /* scalar tests */ - run_scalar_tests(); - - /* field tests */ - run_field_inv(); - run_field_inv_var(); - run_field_inv_all(); - run_field_inv_all_var(); - run_sqr(); - run_sqrt(); - - /* group tests */ - run_ge(); - - /* ecmult tests */ - run_wnaf(); - run_point_times_order(); - run_ecmult_chain(); - - /* ecdsa tests */ - run_ecdsa_sign_verify(); - run_ecdsa_end_to_end(); - run_ecdsa_edge_cases(); -#ifdef ENABLE_OPENSSL_TESTS - run_ecdsa_openssl(); -#endif - - printf("random run = %llu\n", (unsigned long long)secp256k1_rand32() + ((unsigned long long)secp256k1_rand32() << 32)); - - /* shutdown */ - secp256k1_stop(); - - /* shutting down twice shouldn't cause any double frees. */ - secp256k1_stop(); - - /* Same for the internal shutdown functions. */ - secp256k1_fe_stop(); - secp256k1_ge_stop(); - secp256k1_scalar_stop(); - secp256k1_ecdsa_stop(); - return 0; -} diff --git a/src/secp256k1/src/util.h b/src/secp256k1/src/util.h deleted file mode 100644 index 08b23a9d3..000000000 --- a/src/secp256k1/src/util.h +++ /dev/null @@ -1,81 +0,0 @@ -/********************************************************************** - * Copyright (c) 2013, 2014 Pieter Wuille * - * Distributed under the MIT software license, see the accompanying * - * file COPYING or http://www.opensource.org/licenses/mit-license.php.* - **********************************************************************/ - -#ifndef _SECP256K1_UTIL_H_ -#define _SECP256K1_UTIL_H_ - -#if defined HAVE_CONFIG_H -#include "libsecp256k1-config.h" -#endif - -#include -#include -#include - -#ifdef DETERMINISTIC -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s\n", msg); \ - abort(); \ -} while(0); -#else -#define TEST_FAILURE(msg) do { \ - fprintf(stderr, "%s:%d: %s\n", __FILE__, __LINE__, msg); \ - abort(); \ -} while(0) -#endif - -#ifndef HAVE_BUILTIN_EXPECT -#define EXPECT(x,c) __builtin_expect((x),(c)) -#else -#define EXPECT(x,c) (x) -#endif - -#ifdef DETERMINISTIC -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed"); \ - } \ -} while(0) -#else -#define CHECK(cond) do { \ - if (EXPECT(!(cond), 0)) { \ - TEST_FAILURE("test condition failed: " #cond); \ - } \ -} while(0) -#endif - -/* Like assert(), but safe to use on expressions with side effects. */ -#ifndef NDEBUG -#define DEBUG_CHECK CHECK -#else -#define DEBUG_CHECK(cond) do { (void)(cond); } while(0) -#endif - -/* Like DEBUG_CHECK(), but when VERIFY is defined instead of NDEBUG not defined. */ -#ifdef VERIFY -#define VERIFY_CHECK CHECK -#else -#define VERIFY_CHECK(cond) do { (void)(cond); } while(0) -#endif - -/* Macro for restrict, when available and not in a VERIFY build. */ -#if defined(SECP256K1_BUILD) && defined(VERIFY) -# define SECP256K1_RESTRICT -#else -# if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) ) -# if SECP256K1_GNUC_PREREQ(3,0) -# define SECP256K1_RESTRICT __restrict__ -# elif (defined(_MSC_VER) && _MSC_VER >= 1400) -# define SECP256K1_RESTRICT __restrict -# else -# define SECP256K1_RESTRICT -# endif -# else -# define SECP256K1_RESTRICT restrict -# endif -#endif - -#endif diff --git a/src/util.cpp b/src/util.cpp index 4fa8aaedf..1df7b141f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -372,7 +372,7 @@ string FormatMoney(int64 n, bool fPlus) int64 n_abs = (n > 0 ? n : -n); int64 quotient = n_abs/COIN; int64 remainder = n_abs%COIN; - string str = strprintf("%"PRI64d".%06"PRI64d, quotient, remainder); + string str = strprintf("%lld.%06lld", quotient, remainder); // Right-trim excess zeros before the decimal point: int nTrim = 0; @@ -491,7 +491,8 @@ long hex2long(const char* hexString) while (*hexString && ret >= 0) { - ret = (ret << 4) | hextable[*hexString++]; + int index = *hexString++; + ret = (ret << 4) | hextable[index]; } return ret; @@ -1264,7 +1265,7 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) // Add data vTimeOffsets.input(nOffsetSample); - printf("Added time data, samples %d, offset %+"PRI64d" (%+"PRI64d" minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); + printf("Added time data, samples %d, offset %+lld (%+lld minutes)\n", vTimeOffsets.size(), nOffsetSample, nOffsetSample/60); if (vTimeOffsets.size() >= 5 && vTimeOffsets.size() % 2 == 1) { int64 nMedian = vTimeOffsets.median(); @@ -1299,10 +1300,10 @@ void AddTimeData(const CNetAddr& ip, int64 nTime) } if (fDebug) { BOOST_FOREACH(int64 n, vSorted) - printf("%+"PRI64d" ", n); + printf("%+lld ", n); printf("| "); } - printf("nTimeOffset = %+"PRI64d" (%+"PRI64d" minutes)\n", nTimeOffset, nTimeOffset/60); + printf("nTimeOffset = %+lld (%+lld minutes)\n", nTimeOffset, nTimeOffset/60); } } diff --git a/src/util.h b/src/util.h index 3525de858..3d7888e62 100644 --- a/src/util.h +++ b/src/util.h @@ -241,7 +241,7 @@ void runCommand(std::string strCommand); inline std::string i64tostr(int64 n) { - return strprintf("%"PRI64d, n); + return strprintf("%lld", n); } inline std::string itostr(int n) diff --git a/src/voteobject.cpp b/src/voteobject.cpp new file mode 100644 index 000000000..1757955e0 --- /dev/null +++ b/src/voteobject.cpp @@ -0,0 +1,21 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +bool CVoteObject::AddVoteToHeader(uint32_t& nVersion) +{ + if (nFormattedVote & ~HEADERMASK) { + std: + cout << "first four bits are not clean" << std::endl; + return false; + } + nVersion | FormatVote(nCardinals); + return true; +} + +bool CVoteObject::FormatVote() +{ +// change int nCardinals to uint32_t + *nFormattedVote = static_cast(nCardinals); + return true; +} diff --git a/src/voteobject.h b/src/voteobject.h new file mode 100644 index 000000000..cba218c45 --- /dev/null +++ b/src/voteobject.h @@ -0,0 +1,29 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef HYPERSTAKE_VOTEOBJECT_H +#define HYPERSTAKE_VOTEOBJECT_H +#define HEADERMASK 0x0fffffff + +#inclue "voteproposal.h" + +class CVoteObject +{ +private: + int nCardinals; + uint32_t nFormattedVote; + bool fVoted; + CVoteProposal voteProposal; +public: + CVoteObject(CVoteProposal voteProposal, int nCardinals) + { + this->voteProposal = voteProposal; + this->nCardinals = nCardinals; + } + bool FormatVote(); + bool AddVoteToHeader(uint32_t& nVersion); + +}; + +#endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 5ad4ec43d..f752e103d 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -1,5 +1,51 @@ -// -// Created by carrie on 12/8/17. -// +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "voteproposal.h" + +using namespace std; + + +/** +* The vote proposal is serialized and added to a CTransaction as a data object via OP_RETURN transaction output. +* The transaction is marked as a proposal by marking the first 4 bytes as "PROP" in ASCII +*/ +bool CVoteProposal::ConstructTransaction(CTransaction& tx) +{ + if (tx.vin.empty()) { + printf("%s : transaction does not have any inputs!\n", __func__); + return false; + } + + if (this->IsNull()) { + printf("%s : vote proposal is null!\n", __func__); + return false; + } + + CScript scriptProposal; + scriptProposal << OP_RETURN << 0x70726f70; //"PROP" in ASCII + + //serialize the vote proposal + CDataStream serializedProposal(SER_NETWORK, PROTOCOL_VERSION); + serializedProposal << this; + vector vchData(serializedProposal.begin(), serializedProposal.end()); + + //Add serialized proposal to the script + scriptProposal << vchData.size() << vchData; + + //Create txout and add it to the transaction + CTxOut out; + out.scriptPubKey = scriptProposal; + out.nValue = 0; + tx.vout.emplace_back(out); + + if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION)) { + printf("%s : transaction size is too large!\n", __func__); + return false; + } + + return true; +} diff --git a/src/voteproposal.h b/src/voteproposal.h index b8c6dbaf2..d33edd64c 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -1,11 +1,13 @@ -// -// Created by carrie on 12/8/17. -// +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef VOTEPROPOSAL_H #define VOTEPROPOSAL_H #include +#include "main.h" +#include "serialize.h" class CVoteProposal { @@ -38,17 +40,15 @@ class CVoteProposal strDescription = ""; } + bool IsNull () { return strName == ""; } + CVoteProposal() { SetNull(); } - CVoteProposal( std::string strName, - uint8_t nShift, - int nStartTime, - int nCheckSpan, - uint8_t nCardinals, - std::string strDescription) + CVoteProposal(std::string strName, uint8_t nShift, int nStartTime, int nCheckSpan, uint8_t nCardinals, + std::string strDescription) { this->strName = strName; this->nShift = nShift; @@ -58,6 +58,18 @@ class CVoteProposal this->strDescription = strDescription; } + IMPLEMENT_SERIALIZE + ( + READWRITE(strName); + READWRITE(nShift); + READWRITE(nStartTime); + READWRITE(nCheckSpan); + READWRITE(nCardinals); + READWRITE(strDescription); + ) + + bool ConstructTransaction(CTransaction& tx); + }; #endif //HYPERSTAKE_VOTEPROPOSAL_H diff --git a/src/wallet.cpp b/src/wallet.cpp index 39a4ecbf4..dfa3bfcf2 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -837,7 +837,7 @@ void CWallet::ReacceptWalletTransactions() // Update fSpent if a tx got spent somewhere else by a copy of wallet.dat if (txindex.vSpent.size() != wtx.vout.size()) { - printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %"PRIszu" != wtx.vout.size() %"PRIszu"\n", txindex.vSpent.size(), wtx.vout.size()); + printf("ERROR: ReacceptWalletTransactions() : txindex.vSpent.size() %lu != wtx.vout.size() %lu\n", txindex.vSpent.size(), wtx.vout.size()); continue; } for (unsigned int i = 0; i < txindex.vSpent.size(); i++) @@ -2084,12 +2084,12 @@ void CWallet::PrintWallet(const CBlock& block) if (block.IsProofOfWork() && mapWallet.count(block.vtx[0].GetHash())) { CWalletTx& wtx = mapWallet[block.vtx[0].GetHash()]; - printf(" mine: %d %d %"PRI64d"", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); + printf(" mine: %d %d %lld", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); } if (block.IsProofOfStake() && mapWallet.count(block.vtx[1].GetHash())) { CWalletTx& wtx = mapWallet[block.vtx[1].GetHash()]; - printf(" stake: %d %d %"PRI64d"", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); + printf(" stake: %d %d %lld", wtx.GetDepthInMainChain(), wtx.GetBlocksToMaturity(), wtx.GetCredit()); } } @@ -2152,7 +2152,7 @@ bool CWallet::NewKeyPool() walletdb.WritePool(nIndex, CKeyPool(GenerateNewKey())); setKeyPool.insert(nIndex); } - printf("CWallet::NewKeyPool wrote %"PRI64d" new keys\n", nKeys); + printf("CWallet::NewKeyPool wrote %lld new keys\n", nKeys); } return true; } @@ -2177,7 +2177,7 @@ bool CWallet::TopUpKeyPool() if (!walletdb.WritePool(nEnd, CKeyPool(GenerateNewKey()))) throw runtime_error("TopUpKeyPool() : writing generated key failed"); setKeyPool.insert(nEnd); - printf("keypool added key %"PRI64d", size=%"PRIszu"\n", nEnd, setKeyPool.size()); + printf("keypool added key %lld, size=%lu\n", nEnd, setKeyPool.size()); } } return true; @@ -2207,7 +2207,7 @@ void CWallet::ReserveKeyFromKeyPool(int64& nIndex, CKeyPool& keypool) throw runtime_error("ReserveKeyFromKeyPool() : unknown key in key pool"); assert(keypool.vchPubKey.IsValid()); if (fDebug && GetBoolArg("-printkeypool")) - printf("keypool reserve %"PRI64d"\n", nIndex); + printf("keypool reserve %lld\n", nIndex); } } @@ -2235,7 +2235,7 @@ void CWallet::KeepKey(int64 nIndex) walletdb.ErasePool(nIndex); } if(fDebug) - printf("keypool keep %"PRI64d"\n", nIndex); + printf("keypool keep %lld\n", nIndex); } void CWallet::ReturnKey(int64 nIndex) @@ -2246,7 +2246,7 @@ void CWallet::ReturnKey(int64 nIndex) setKeyPool.insert(nIndex); } if(fDebug) - printf("keypool return %"PRI64d"\n", nIndex); + printf("keypool return %lld\n", nIndex); } bool CWallet::GetKeyFromPool(CPubKey& result, bool fAllowReuse) diff --git a/src/walletdb.cpp b/src/walletdb.cpp index df9e1a439..e9ce9f7a8 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -236,7 +236,7 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, //// debug print //printf("LoadWallet %s\n", wtx.GetHash().ToString().c_str()); - //printf(" %12"PRI64d" %s %s %s\n", + //printf(" %12lld %s %s %s\n", // wtx.vout[0].nValue, // DateTimeStrFormat("%x %H:%M:%S", wtx.GetBlockTime()).c_str(), // wtx.hashBlock.ToString().substr(0,20).c_str(), @@ -587,7 +587,7 @@ void ThreadFlushWalletDB(void* parg) bitdb.CheckpointLSN(strFile); bitdb.mapFileUseCount.erase(mi++); - printf("Flushed wallet.dat %"PRI64d"ms\n", GetTimeMillis() - nStart); + printf("Flushed wallet.dat %lldms\n", GetTimeMillis() - nStart); } } } @@ -648,7 +648,7 @@ bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys) // Set -rescan so any missing transactions will be // found. int64 now = GetTime(); - std::string newFilename = strprintf("wallet.%"PRI64d".bak", now); + std::string newFilename = strprintf("wallet.%lld.bak", now); int result = dbenv.dbenv.dbrename(NULL, filename.c_str(), NULL, newFilename.c_str(), DB_AUTO_COMMIT); @@ -667,7 +667,7 @@ bool CWalletDB::Recover(CDBEnv& dbenv, std::string filename, bool fOnlyKeys) printf("Salvage(aggressive) found no records in %s.\n", newFilename.c_str()); return false; } - printf("Salvage(aggressive) found %"PRIszu" records\n", salvagedData.size()); + printf("Salvage(aggressive) found %lu records\n", salvagedData.size()); bool fSuccess = allOK; Db* pdbCopy = new Db(&dbenv.dbenv, 0); From c692a3e0d7981d36d7a2ae8707416118a17fa2eb Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 13 Dec 2017 18:54:05 -0700 Subject: [PATCH 481/555] Fix voteproposal compiler errors and add it to makefile. --- src/Makefile.am | 4 +++- src/rpcblockchain.cpp | 4 ++++ src/voteproposal.cpp | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index b5868f227..75fe1140c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -79,7 +79,8 @@ BITCOIN_CORE_H = \ util.h \ version.h \ wallet.h \ - walletdb.h + walletdb.h \ + voteproposal.h JSON_H = \ json/json_spirit.h \ @@ -126,6 +127,7 @@ libbitcoin_server_a_SOURCES = \ rpcrawtransaction.cpp \ script.cpp \ scrypt.cpp \ + voteproposal.cpp \ shavite.c \ simd.c \ skein.c \ diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index cd87ee273..5b3970bb3 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -329,6 +329,10 @@ Value createproposal(const Array& params, bool fHelp) strDescription ); + CTransaction tx; + tx.vin.push_back(CTxIn()); + NewVoteProposal->ConstructTransaction(tx); + Object results; results.push_back(Pair("new vote proposal", NewVoteProposal)); results.push_back(Pair("name", strName)); diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 9d7a3af21..7aef61add 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -28,7 +28,7 @@ bool CVoteProposal::ConstructTransaction(CTransaction& tx) //serialize the vote proposal CDataStream serializedProposal(SER_NETWORK, PROTOCOL_VERSION); - serializedProposal << this; + serializedProposal << *this; vector vchData(serializedProposal.begin(), serializedProposal.end()); //Add serialized proposal to the script @@ -38,7 +38,7 @@ bool CVoteProposal::ConstructTransaction(CTransaction& tx) CTxOut out; out.scriptPubKey = scriptProposal; out.nValue = 0; - tx.vout.emplace_back(out); + tx.vout.push_back(out); if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION)) { printf("%s : transaction size is too large!\n", __func__); From 820210cc90b095153249c0f740ffbe421cb37a02 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Wed, 13 Dec 2017 18:56:53 -0700 Subject: [PATCH 482/555] Set up test of ConstructTransaction --- src/rpcblockchain.cpp | 3 +++ src/voteobject.cpp | 2 +- src/voteproposal.cpp | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index cd87ee273..6e7d60535 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -320,6 +320,7 @@ Value createproposal(const Array& params, bool fHelp) // description of issue - will go in different tx std::string strDescription = params[5].get_str(); + CTransaction tx; CVoteProposal* NewVoteProposal = new CVoteProposal( strName, nShift, @@ -329,6 +330,8 @@ Value createproposal(const Array& params, bool fHelp) strDescription ); + NewVoteProposal->ConstructTransaction(tx); + Object results; results.push_back(Pair("new vote proposal", NewVoteProposal)); results.push_back(Pair("name", strName)); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 1757955e0..32f788428 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -16,6 +16,6 @@ bool CVoteObject::AddVoteToHeader(uint32_t& nVersion) bool CVoteObject::FormatVote() { // change int nCardinals to uint32_t - *nFormattedVote = static_cast(nCardinals); + nFormattedVote* = static_cast(nCardinals); return true; } diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index f752e103d..0c067446a 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -45,6 +45,8 @@ bool CVoteProposal::ConstructTransaction(CTransaction& tx) return false; } + cout << "Transaction created" << endl; + return true; } From d5b422c4e37e34bc44cdaf651fa62ec3c8dfc5fd Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 12 Dec 2017 18:20:50 -0700 Subject: [PATCH 483/555] Initial mock out of CastVote --- src/CastVote.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/CastVote.h diff --git a/src/CastVote.h b/src/CastVote.h new file mode 100644 index 000000000..1f93a1f5e --- /dev/null +++ b/src/CastVote.h @@ -0,0 +1,19 @@ +// +// Created by carrie on 12/12/17. +// + +#ifndef HYPERSTAKE_CASTVOTE_H +#define HYPERSTAKE_CASTVOTE_H + +class CCastVote { +private: + uint32_t nVersion; + CVoteProposal voteProposal; +public: + CCastVote(uint32_t nVersion, CVoteProposal voteProposal) { + this->nVersion = nVersion; + this->voteProposal = voteProposal; + } +}; + +#endif //HYPERSTAKE_CASTVOTE_H From e4babc5c2233621bb8fec723974d202e29e0957c Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 14 Dec 2017 13:54:18 -0700 Subject: [PATCH 484/555] sendproposal RPC will broadcast voteproposal to the network. --- src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 1 + src/main.cpp | 1 + src/main.h | 1 + src/rpcblockchain.cpp | 8 ++++++-- src/rpcwallet.cpp | 36 +++++++++++++++++++++++++++++++++++- src/voteproposal.cpp | 8 ++++---- src/voteproposal.h | 3 +++ src/wallet.cpp | 28 ++++++++++++++++++++++++++++ src/wallet.h | 3 ++- 10 files changed, 82 insertions(+), 8 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 502eee14f..49f3f2517 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -288,6 +288,7 @@ static const CRPCCommand vRPCCommands[] = { "gethashespersec", &gethashespersec, true, false }, { "listblocks", &listblocks, false, false }, { "createproposal", &createproposal, false, false }, + { "sendproposal", &sendproposal, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index b1062f29a..60227bd55 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -213,6 +213,7 @@ extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value hashsettings(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakingstatus(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 72c9471f4..6139af2b5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -71,6 +71,7 @@ map > mapOrphanTransactionsByPrev; map mapHashedBlocks; map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; +std::map mapPendingProposals; bool fStrictProtocol = false; bool fStrictIncoming = false; bool fWalletStaking = false; diff --git a/src/main.h b/src/main.h index f63c307dd..b21b4286b 100644 --- a/src/main.h +++ b/src/main.h @@ -95,6 +95,7 @@ extern bool fHaveGUI; extern std::map mapHashedBlocks; extern std::map > mapGetBlocksRequests; extern std::map mapPeerRejectedBlocks; +extern std::map mapPendingProposals; extern bool fStrictProtocol; extern bool fStrictIncoming; extern bool fGenerateBitcoins; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 5b3970bb3..9973cf9fe 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -329,12 +329,16 @@ Value createproposal(const Array& params, bool fHelp) strDescription ); + //! Add the constructed proposal to a partial transaction CTransaction tx; - tx.vin.push_back(CTxIn()); NewVoteProposal->ConstructTransaction(tx); + //! Add the partial transaction to our globally accessible proposals map so that it can be called from elsewhere + uint256 hashProposal = tx.GetHash(); + mapPendingProposals.insert(make_pair(hashProposal, tx)); + Object results; - results.push_back(Pair("new vote proposal", NewVoteProposal)); + results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.push_back(Pair("name", strName)); results.push_back(Pair("shift", nShift)); results.push_back(Pair("start time", (boost::int64_t)nStartTime)); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index d787ffa31..7d78c8c52 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2794,4 +2794,38 @@ Value getstakingstatus(const Array& params, bool fHelp) return obj; } - + +// HyperStake +Value sendproposal(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "sendproposal \n" + "Sends a vote proposal to the network. WARNING this adds a transaction fee of 5 HYP!\n" + "\nResult:\n" + "{\n" + " \"txid\": hash, (string) the hash of the transaction that was sent\n" + "}\n"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); + + uint256 hashProposal(params[0].get_str()); + + //! See if this proposal exists in our map of pending proposals + if (!mapPendingProposals.count(hashProposal)) + throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot find proposal"); + + CTransaction tx = mapPendingProposals.at(hashProposal); + CWalletTx wtx(pwalletMain, tx); + + //! Broadcast the transaction to the network + CReserveKey reserveKey = CReserveKey(pwalletMain); + if (!pwalletMain->CommitTransaction(wtx, reserveKey)) + throw JSONRPCError(RPC_WALLET_ERROR, "Failed to commit transaction"); + + Object ret; + ret.push_back(Pair("txid", wtx.GetHash().GetHex())); + + return ret; +} \ No newline at end of file diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 7aef61add..49b85323e 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -13,10 +13,10 @@ using namespace std; */ bool CVoteProposal::ConstructTransaction(CTransaction& tx) { - if (tx.vin.empty()) { - printf("%s : transaction does not have any inputs!\n", __func__); - return false; - } +// if (tx.vin.empty()) { +// printf("%s : transaction does not have any inputs!\n", __func__); +// return false; +// } if (this->IsNull()) { printf("%s : vote proposal is null!\n", __func__); diff --git a/src/voteproposal.h b/src/voteproposal.h index d33edd64c..52667a42c 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -30,6 +30,9 @@ class CVoteProposal // description of the proposal; may link to additional transactions std::string strDescription; public: + // the amount of HYP burnt when a proposal is made + static const int64 FEE = 5 * COIN; + void SetNull() { strName = ""; diff --git a/src/wallet.cpp b/src/wallet.cpp index dfa3bfcf2..a24a6c2a8 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -11,6 +11,7 @@ #include "base58.h" #include "kernel.h" #include "coincontrol.h" +#include "voteproposal.h" #include @@ -1920,6 +1921,33 @@ bool CWallet::CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int } +// hyperstake: complete construction of a proposal transaction +bool CWallet::FinalizeProposal(CTransaction& txProposal) +{ + //! Choose coins to use + set > setCoins; + int64 nValueIn = 0; + if (!SelectCoins(5 * COIN, GetTime(), setCoins, nValueIn, NULL) || nValueIn < CVoteProposal::FEE) + return error("Failed to select coins to spend"); + + //! Select one of the addresses to send the change to, and add inputs to the proposal tx + CScript scriptChange; + nValueIn = 0; + BOOST_FOREACH(PAIRTYPE(const CWalletTx*, unsigned int) pcoin, setCoins) { + scriptChange = pcoin.first->vout[pcoin.second].scriptPubKey; + txProposal.vin.push_back(CTxIn(pcoin.first->GetHash(), pcoin.second)); + nValueIn += pcoin.first->vout[pcoin.second].nValue; + } + + //! Add change output + if (nValueIn > CVoteProposal::FEE + CENT) { + CTxOut out(nValueIn - CVoteProposal::FEE, scriptChange); + txProposal.vout.push_back(out); + } + + return true; +} + // Call after CreateTransaction unless you want to abort bool CWallet::CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey) { diff --git a/src/wallet.h b/src/wallet.h index 982e57241..0048113d9 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -262,7 +262,8 @@ class CWallet : public CCryptoKeyStore bool CreateTransaction(const std::vector >& vecSend, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, int nSplitBlock, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CreateTransaction(CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, CReserveKey& reservekey, int64& nFeeRet, bool fAllowS4C=false, const CCoinControl *coinControl=NULL); bool CommitTransaction(CWalletTx& wtxNew, CReserveKey& reservekey); - bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nAmount); + bool FinalizeProposal(CTransaction& txProposal); + bool GetStakeWeight(const CKeyStore& keystore, uint64& nMinWeight, uint64& nMaxWeight, uint64& nWeight, uint64& nAmount); bool CreateCoinStake(const CKeyStore& keystore, unsigned int nBits, int64 nSearchInterval, CTransaction& txNew); bool GetStakeWeightFromValue(const int64& nTime, const int64& nValue, uint64& nWeight); uint64 GetTimeToNextMaturity(); From e90c0dfaa8ea12f06377bd2bedca0066001124fd Mon Sep 17 00:00:00 2001 From: tuningmind Date: Fri, 15 Dec 2017 17:30:11 -0700 Subject: [PATCH 485/555] VoteObject called from createproposal --- src/Makefile.am | 4 +- src/qt/moc_bip38tooldialog.cpp | 145 --------------------------------- src/rpcblockchain.cpp | 11 ++- src/voteobject.cpp | 36 +++++--- src/voteobject.h | 10 +-- src/voteproposal.h | 1 + 6 files changed, 42 insertions(+), 165 deletions(-) delete mode 100644 src/qt/moc_bip38tooldialog.cpp diff --git a/src/Makefile.am b/src/Makefile.am index 75fe1140c..fb3b294dd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -80,7 +80,8 @@ BITCOIN_CORE_H = \ version.h \ wallet.h \ walletdb.h \ - voteproposal.h + voteproposal.h \ + voteobject.h JSON_H = \ json/json_spirit.h \ @@ -128,6 +129,7 @@ libbitcoin_server_a_SOURCES = \ script.cpp \ scrypt.cpp \ voteproposal.cpp \ + voteobject.cpp \ shavite.c \ simd.c \ skein.c \ diff --git a/src/qt/moc_bip38tooldialog.cpp b/src/qt/moc_bip38tooldialog.cpp deleted file mode 100644 index 790f40c3e..000000000 --- a/src/qt/moc_bip38tooldialog.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/**************************************************************************** -** Meta object code from reading C++ file 'bip38tooldialog.h' -** -** -** WARNING! All changes made in this file will be lost! -*****************************************************************************/ - -#include "qt/bip38tooldialog.h" -#include -#include -#if !defined(Q_MOC_OUTPUT_REVISION) -#error "The header file 'bip38tooldialog.h' doesn't include ." -#elif Q_MOC_OUTPUT_REVISION != 67 -#error "This file was generated using the moc from 5.5.1. It" -#error "cannot be used with the include files from this version of Qt." -#error "(The moc has changed too much.)" -#endif - -QT_BEGIN_MOC_NAMESPACE -struct qt_meta_stringdata_Bip38ToolDialog_t { - QByteArrayData data[10]; - char stringdata0[259]; -}; -#define QT_MOC_LITERAL(idx, ofs, len) \ - Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \ - qptrdiff(offsetof(qt_meta_stringdata_Bip38ToolDialog_t, stringdata0) + ofs \ - - idx * sizeof(QByteArrayData)) \ - ) -static const qt_meta_stringdata_Bip38ToolDialog_t qt_meta_stringdata_Bip38ToolDialog = { - { -QT_MOC_LITERAL(0, 0, 15), // "Bip38ToolDialog" -QT_MOC_LITERAL(1, 16, 32), // "on_addressBookButton_ENC_clicked" -QT_MOC_LITERAL(2, 49, 0), // "" -QT_MOC_LITERAL(3, 50, 26), // "on_pasteButton_ENC_clicked" -QT_MOC_LITERAL(4, 77, 31), // "on_encryptKeyButton_ENC_clicked" -QT_MOC_LITERAL(5, 109, 28), // "on_copyKeyButton_ENC_clicked" -QT_MOC_LITERAL(6, 138, 26), // "on_clearButton_ENC_clicked" -QT_MOC_LITERAL(7, 165, 31), // "on_decryptKeyButton_DEC_clicked" -QT_MOC_LITERAL(8, 197, 34), // "on_importAddressButton_DEC_cl..." -QT_MOC_LITERAL(9, 232, 26) // "on_clearButton_DEC_clicked" - - }, - "Bip38ToolDialog\0on_addressBookButton_ENC_clicked\0" - "\0on_pasteButton_ENC_clicked\0" - "on_encryptKeyButton_ENC_clicked\0" - "on_copyKeyButton_ENC_clicked\0" - "on_clearButton_ENC_clicked\0" - "on_decryptKeyButton_DEC_clicked\0" - "on_importAddressButton_DEC_clicked\0" - "on_clearButton_DEC_clicked" -}; -#undef QT_MOC_LITERAL - -static const uint qt_meta_data_Bip38ToolDialog[] = { - - // content: - 7, // revision - 0, // classname - 0, 0, // classinfo - 8, 14, // methods - 0, 0, // properties - 0, 0, // enums/sets - 0, 0, // constructors - 0, // flags - 0, // signalCount - - // slots: name, argc, parameters, tag, flags - 1, 0, 54, 2, 0x08 /* Private */, - 3, 0, 55, 2, 0x08 /* Private */, - 4, 0, 56, 2, 0x08 /* Private */, - 5, 0, 57, 2, 0x08 /* Private */, - 6, 0, 58, 2, 0x08 /* Private */, - 7, 0, 59, 2, 0x08 /* Private */, - 8, 0, 60, 2, 0x08 /* Private */, - 9, 0, 61, 2, 0x08 /* Private */, - - // slots: parameters - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - QMetaType::Void, - - 0 // eod -}; - -void Bip38ToolDialog::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a) -{ - if (_c == QMetaObject::InvokeMetaMethod) { - Bip38ToolDialog *_t = static_cast(_o); - Q_UNUSED(_t) - switch (_id) { - case 0: _t->on_addressBookButton_ENC_clicked(); break; - case 1: _t->on_pasteButton_ENC_clicked(); break; - case 2: _t->on_encryptKeyButton_ENC_clicked(); break; - case 3: _t->on_copyKeyButton_ENC_clicked(); break; - case 4: _t->on_clearButton_ENC_clicked(); break; - case 5: _t->on_decryptKeyButton_DEC_clicked(); break; - case 6: _t->on_importAddressButton_DEC_clicked(); break; - case 7: _t->on_clearButton_DEC_clicked(); break; - default: ; - } - } - Q_UNUSED(_a); -} - -const QMetaObject Bip38ToolDialog::staticMetaObject = { - { &QDialog::staticMetaObject, qt_meta_stringdata_Bip38ToolDialog.data, - qt_meta_data_Bip38ToolDialog, qt_static_metacall, Q_NULLPTR, Q_NULLPTR} -}; - - -const QMetaObject *Bip38ToolDialog::metaObject() const -{ - return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject; -} - -void *Bip38ToolDialog::qt_metacast(const char *_clname) -{ - if (!_clname) return Q_NULLPTR; - if (!strcmp(_clname, qt_meta_stringdata_Bip38ToolDialog.stringdata0)) - return static_cast(const_cast< Bip38ToolDialog*>(this)); - return QDialog::qt_metacast(_clname); -} - -int Bip38ToolDialog::qt_metacall(QMetaObject::Call _c, int _id, void **_a) -{ - _id = QDialog::qt_metacall(_c, _id, _a); - if (_id < 0) - return _id; - if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 8) - qt_static_metacall(this, _c, _id, _a); - _id -= 8; - } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 8) - *reinterpret_cast(_a[0]) = -1; - _id -= 8; - } - return _id; -} -QT_END_MOC_NAMESPACE diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 9973cf9fe..0dbdebb5e 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -6,6 +6,7 @@ #include "main.h" #include "bitcoinrpc.h" #include "voteproposal.h" +#include "voteobject.h" #include #include @@ -320,7 +321,9 @@ Value createproposal(const Array& params, bool fHelp) // description of issue - will go in different tx std::string strDescription = params[5].get_str(); - CVoteProposal* NewVoteProposal = new CVoteProposal( + Object results; + + CVoteProposal proposal( strName, nShift, nStartTime, @@ -328,16 +331,18 @@ Value createproposal(const Array& params, bool fHelp) nCardinals, strDescription ); + CVoteObject testVote(proposal, 4); + uint32_t nVersion = CBlock::CURRENT_VERSION; + results.push_back(Pair("added to header", testVote.AddVoteToHeader(nVersion))); //! Add the constructed proposal to a partial transaction CTransaction tx; - NewVoteProposal->ConstructTransaction(tx); + proposal.ConstructTransaction(tx); //! Add the partial transaction to our globally accessible proposals map so that it can be called from elsewhere uint256 hashProposal = tx.GetHash(); mapPendingProposals.insert(make_pair(hashProposal, tx)); - Object results; results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.push_back(Pair("name", strName)); results.push_back(Pair("shift", nShift)); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 32f788428..92be26d71 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -1,21 +1,37 @@ // Copyright (c) 2017 The HyperStake Developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#include "voteobject.h" +#include -bool CVoteObject::AddVoteToHeader(uint32_t& nVersion) +using namespace std; + +//Convert char* into string showing its binary +string PrintBinary(uint32_t n) { - if (nFormattedVote & ~HEADERMASK) { - std: - cout << "first four bits are not clean" << std::endl; - return false; + string result; + for (int i = 0; i < 32; i ++) { + result.push_back( '0' + (n & 1) ); + n >>= 1; } - nVersion | FormatVote(nCardinals); - return true; + + reverse( result.begin(), result.end() ); + + return result; } -bool CVoteObject::FormatVote() +bool CVoteObject::AddVoteToHeader(uint32_t& nVersion) { -// change int nCardinals to uint32_t - nFormattedVote* = static_cast(nCardinals); + + int temp = CBlock::CURRENT_VERSION << 28; + cout << "CURRENT VERSION: " << PrintBinary(temp) << endl; + nChoice = static_cast(nChoice); + nChoice <<= voteProposal.GetShift(); + cout << "nChoice after getting shift " << PrintBinary(nChoice) << endl; + nFormattedVote = (temp |= nChoice); + + fVoted = true; + cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; return true; } + diff --git a/src/voteobject.h b/src/voteobject.h index cba218c45..a797a25e5 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -6,24 +6,22 @@ #define HYPERSTAKE_VOTEOBJECT_H #define HEADERMASK 0x0fffffff -#inclue "voteproposal.h" +#include "voteproposal.h" class CVoteObject { private: - int nCardinals; + int nChoice; uint32_t nFormattedVote; bool fVoted; CVoteProposal voteProposal; public: - CVoteObject(CVoteProposal voteProposal, int nCardinals) + CVoteObject(CVoteProposal voteProposal, int nChoice) { this->voteProposal = voteProposal; - this->nCardinals = nCardinals; + this->nChoice = nChoice; } - bool FormatVote(); bool AddVoteToHeader(uint32_t& nVersion); - }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/voteproposal.h b/src/voteproposal.h index 52667a42c..5945adc6d 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -72,6 +72,7 @@ class CVoteProposal ) bool ConstructTransaction(CTransaction& tx); + int GetShift() {return nShift;}; }; From 3305cbeb3295385668aa6e7e20306bf9e461ceed Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 29 Dec 2017 11:56:06 -0700 Subject: [PATCH 486/555] Add deserialization of proposals. Extract a CVoteProposal object from a transaction. Note that it is assumed the proposal is in vout[0] position - either need to make this required by protocol, or adjust it. Also add unit test for voting to the test suite. --- configure.ac | 2 -- src/Makefile.test.include | 1 + src/main.cpp | 12 +++++----- src/test/voting_tests.cpp | 46 +++++++++++++++++++++++++++++++++++++++ src/voteproposal.cpp | 40 +++++++++++++++++++++++++++------- src/voteproposal.h | 2 ++ 6 files changed, 86 insertions(+), 17 deletions(-) create mode 100644 src/test/voting_tests.cpp diff --git a/configure.ac b/configure.ac index 636549bc5..c8e195d6b 100644 --- a/configure.ac +++ b/configure.ac @@ -806,7 +806,6 @@ AM_CONDITIONAL([USE_LCOV],[test x$use_lcov = xyes]) AM_CONDITIONAL([USE_COMPARISON_TOOL],[test x$use_comparison_tool != xno]) AM_CONDITIONAL([USE_COMPARISON_TOOL_REORG_TESTS],[test x$use_comparison_tool_reorg_test != xno]) AM_CONDITIONAL([GLIBC_BACK_COMPAT],[test x$use_glibc_compat = xyes]) -AM_CONDITIONAL([USE_LIBSECP256K1],[test x$use_libsecp256k1 = xyes]) AC_DEFINE(CLIENT_VERSION_MAJOR, _CLIENT_VERSION_MAJOR, [Major version]) AC_DEFINE(CLIENT_VERSION_MINOR, _CLIENT_VERSION_MINOR, [Minor version]) @@ -859,7 +858,6 @@ unset PKG_CONFIG_LIBDIR PKG_CONFIG_LIBDIR="$PKGCONFIG_LIBDIR_TEMP" ac_configure_args="${ac_configure_args} --disable-shared --with-pic" -AC_CONFIG_SUBDIRS([src/secp256k1]) AC_OUTPUT diff --git a/src/Makefile.test.include b/src/Makefile.test.include index e0fe69336..66ab72c19 100644 --- a/src/Makefile.test.include +++ b/src/Makefile.test.include @@ -16,6 +16,7 @@ JSON_TEST_FILES = \ GENERATED_TEST_FILES = $(JSON_TEST_FILES:.json=.json.h) BITCOIN_TESTS =\ + test/voting_tests.cpp \ test/allocator_tests.cpp \ test/base32_tests.cpp \ test/base64_tests.cpp \ diff --git a/src/main.cpp b/src/main.cpp index 6139af2b5..0e3530dd6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -325,15 +325,13 @@ bool CTransaction::IsStandard() const bool CTransaction::IsProposal() const { - for (CTxOut out : vout) { - CScript scriptPubKey = out.scriptPubKey; + for (int i = 0; i < vout.size(); i++) { + CScript scriptPubKey = vout[i].scriptPubKey; if (scriptPubKey.IsDataCarrier()) { - if (scriptPubKey.size() > 5) { + if (scriptPubKey.size() >= 5) { // "PROP" in ascii - if (scriptPubKey.at(1) == 0x70 && - scriptPubKey.at(2) == 0x72 && - scriptPubKey.at(3) == 0x6f && - scriptPubKey.at(4) == 0x70) + if (scriptPubKey.at(2) == 0x70 && scriptPubKey.at(3) == 0x72 && scriptPubKey.at(4) == 0x6f && + scriptPubKey.at(5) == 0x70) return true; } } diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp new file mode 100644 index 000000000..352de5287 --- /dev/null +++ b/src/test/voting_tests.cpp @@ -0,0 +1,46 @@ +#include +#include +#include +#include "json/json_spirit_writer_template.h" + +#include "main.h" +#include "wallet.h" +#include "../voteproposal.h" +#include "../voteobject.h" + +using namespace std; + +BOOST_AUTO_TEST_SUITE(voting_tests) + + +BOOST_AUTO_TEST_CASE(proposal_serialization) +{ + std::cout << "testing proposal serialization\n"; + + // name of issue + std::string strName = "proposal1"; + // check version for existing proposals Shift + uint8_t nShift = 20; + // start time - will be changed to int StartHeight. unix time stamp + int64 nStartTime = 10000000; + // number of blocks with votes to count + int nCheckSpan = 1000; + // cardinal items to vote on - convert to uint8 CheckSpan + uint8_t nCardinals = 2; + // description of issue - will go in different tx + std::string strDescription = "test_description"; + + CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); + + //! Add the constructed proposal to a partial transaction + CTransaction tx; + proposal.ConstructTransaction(tx); + + BOOST_CHECK_MESSAGE(tx.IsProposal(), "Transaction is not a proposal!"); + + CVoteProposal proposal2; + BOOST_CHECK_MESSAGE(ProposalFromTransaction(tx, proposal2), "Failed to deserialize"); + +} + +BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index d77061ea7..d86ae4ec8 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -23,16 +23,19 @@ bool CVoteProposal::ConstructTransaction(CTransaction& tx) return false; } - CScript scriptProposal; - scriptProposal << OP_RETURN << 0x70726f70; //"PROP" in ASCII - //serialize the vote proposal - CDataStream serializedProposal(SER_NETWORK, PROTOCOL_VERSION); + CDataStream serializedProposal(SER_NETWORK, 0); serializedProposal << *this; - vector vchData(serializedProposal.begin(), serializedProposal.end()); - //Add serialized proposal to the script - scriptProposal << vchData.size() << vchData; + //Construct the script that will include the serialized proposal + CScript scriptProposal; + vector vchMessage; + vchMessage.push_back(0x70); // P + vchMessage.push_back(0x72); // R + vchMessage.push_back(0x6f); // O + vchMessage.push_back(0x70); // P + vchMessage.insert(vchMessage.end(), serializedProposal.begin(), serializedProposal.end()); + scriptProposal << OP_RETURN << vchMessage; //Create txout and add it to the transaction CTxOut out; @@ -40,10 +43,31 @@ bool CVoteProposal::ConstructTransaction(CTransaction& tx) out.nValue = 0; tx.vout.push_back(out); - if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION)) { + if (tx.GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION) > MAX_BLOCK_SIZE) { printf("%s : transaction size is too large!\n", __func__); return false; } return true; } + +bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) +{ + if (!tx.IsProposal()) + return error("%s : tx is not a proposal", __func__); + + vector vchProposal; + + CScript scriptProposal = tx.vout[0].scriptPubKey; + vchProposal.insert(vchProposal.end(), scriptProposal.begin() + 6, scriptProposal.end()); + CDataStream ss(vchProposal, SER_NETWORK, 0); + + try { + ss >> proposal; + } catch(std::exception& e) { + std::cout << "failed to deserialize: " << e.what() << "\n"; + return false; + } + + return true; +} \ No newline at end of file diff --git a/src/voteproposal.h b/src/voteproposal.h index 5945adc6d..5a504a67a 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -76,4 +76,6 @@ class CVoteProposal }; +bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal); + #endif //HYPERSTAKE_VOTEPROPOSAL_H From 486de10bc2bff307ff7d02eff1c0911d67346a67 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 29 Dec 2017 13:20:41 -0700 Subject: [PATCH 487/555] Monitor incoming blocks for proposals. --- src/main.cpp | 13 +++++++++++++ src/main.h | 1 + 2 files changed, 14 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 0e3530dd6..7095db44f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,6 +11,7 @@ #include "ui_interface.h" #include "kernel.h" #include "scrypt_mine.h" +#include "voteproposal.h" #include #include #include @@ -72,6 +73,7 @@ map mapHashedBlocks; map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; std::map mapPendingProposals; +std::map mapProposals; // txid, blockhash bool fStrictProtocol = false; bool fStrictIncoming = false; bool fWalletStaking = false; @@ -1580,6 +1582,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) else nTxPos = pindex->nBlockPos + ::GetSerializeSize(CBlock(), SER_DISK, CLIENT_VERSION) - (2 * GetSizeOfCompactSize(0)) + GetSizeOfCompactSize(vtx.size()); + vector vQueuedProposals; map mapQueuedChanges; int64 nFees = 0; int64 nValueIn = 0; @@ -1634,6 +1637,12 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) if (!tx.ConnectInputs(txdb, mapInputs, mapQueuedChanges, posThisTx, pindex, true, false, fStrictPayToScriptHash)) return false; + + //Track vote proposals + if (tx.IsProposal()) { + if (nTxValueIn - nTxValueOut >= CVoteProposal::FEE) + vQueuedProposals.push_back(tx.GetHash()); + } } mapQueuedChanges[hashTx] = CTxIndex(posThisTx, tx.vout.size()); @@ -1653,6 +1662,10 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) if (fJustCheck) return true; + // Keep track of any vote proposals that were added to the blockchain + for (uint256 txid : vQueuedProposals) + mapProposals[txid] = GetHash(); + // Write queued txindex changes for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) { diff --git a/src/main.h b/src/main.h index b21b4286b..a339bfd89 100644 --- a/src/main.h +++ b/src/main.h @@ -96,6 +96,7 @@ extern std::map mapHashedBlocks; extern std::map > mapGetBlocksRequests; extern std::map mapPeerRejectedBlocks; extern std::map mapPendingProposals; +extern std::map mapProposals; // txid, blockhash extern bool fStrictProtocol; extern bool fStrictIncoming; extern bool fGenerateBitcoins; From 40b9be09a042a299ee3724e422b8dcbd188363ed Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 29 Dec 2017 14:40:35 -0700 Subject: [PATCH 488/555] Add CVoteDB and database proposals. --- src/db.cpp | 8 ++++++++ src/db.h | 12 ++++++++++++ src/main.cpp | 17 +++++++++++++++-- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 0793dd996..c5192df0f 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -858,7 +858,15 @@ bool CTxDB::LoadBlockIndexGuts() } +bool CVoteDB::WriteProposal(const uint256 &hash, const CVoteProposal &proposal) +{ + return Write(make_pair(string("prop"), hash), proposal); +} +bool CVoteDB::ReadProposal(const uint256 &hash, CVoteProposal &proposal) +{ + return Read(make_pair(string("prop"), hash), proposal); +} // diff --git a/src/db.h b/src/db.h index 8182937ca..29c4fedb2 100644 --- a/src/db.h +++ b/src/db.h @@ -6,6 +6,7 @@ #define BITCOIN_DB_H #include "main.h" +#include "voteproposal.h" #include #include @@ -345,6 +346,17 @@ class CTxDB : public CDB bool LoadBlockIndexGuts(); }; +class CVoteDB : public CDB +{ +public: + CVoteDB(const char* pszMode="r+") : CDB("governance.dat", pszMode) { } +private: + CVoteDB(const CVoteDB&); + void operator=(const CVoteDB&); +public: + bool WriteProposal(const uint256& hash, const CVoteProposal& proposal); + bool ReadProposal(const uint256& hash, CVoteProposal& proposal); +}; diff --git a/src/main.cpp b/src/main.cpp index 7095db44f..4c732a142 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1663,8 +1663,18 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) return true; // Keep track of any vote proposals that were added to the blockchain - for (uint256 txid : vQueuedProposals) - mapProposals[txid] = GetHash(); + CVoteDB voteDB; + BOOST_FOREACH (const CTransaction& tx, vtx) { + uint256 txid = tx.GetHash(); + if (count(vQueuedProposals.begin(), vQueuedProposals.end(), txid)) { + CVoteProposal proposal; + if (ProposalFromTransaction(tx, proposal)) { + mapProposals[txid] = GetHash(); + if (!voteDB.WriteProposal(txid, proposal)) + printf("%s : failed to record proposal to db\n", __func__); + } + } + } // Write queued txindex changes for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) @@ -2652,6 +2662,9 @@ bool LoadBlockIndex(bool fAllowNew) return false; txdb.Close(); + CVoteDB votedb("cr"); + votedb.Close(); + // // Init with genesis block // From e7ec9e2fca7653527e6d5b2796331a65e68556b1 Mon Sep 17 00:00:00 2001 From: presstab Date: Thu, 4 Jan 2018 17:44:53 -0700 Subject: [PATCH 489/555] Update build instructions with libdb5.3. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 732a3f18e..7616b73a0 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ Wallet themes Build Instructions (Linux) ------- ### Dependencies required for HyperStake with or without GUI: -`sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev libdb5.1-dev libdb5.1++-dev libminiupnpc-dev automake` +`sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev libboost-all-dev libdb5.3-dev libdb5.3++-dev libminiupnpc-dev automake` `./autogen.sh` From 20d8c758d3143f649469a8d25acc2c45baa46b56 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 19 Dec 2017 14:42:45 -0700 Subject: [PATCH 490/555] Remove unneeded class --- src/castvote.cpp | 4 ---- src/castvote.h | 19 ------------------- 2 files changed, 23 deletions(-) delete mode 100644 src/castvote.cpp delete mode 100644 src/castvote.h diff --git a/src/castvote.cpp b/src/castvote.cpp deleted file mode 100644 index 7b6dbed5f..000000000 --- a/src/castvote.cpp +++ /dev/null @@ -1,4 +0,0 @@ -// Copyright (c) 2017 The HyperStake Developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - diff --git a/src/castvote.h b/src/castvote.h deleted file mode 100644 index 98791d46b..000000000 --- a/src/castvote.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2017 The HyperStake Developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. - -#ifndef HYPERSTAKE_CASTVOTE_H -#define HYPERSTAKE_CASTVOTE_H - -class CCastVote { -private: - uint32_t nVersion; - CVoteProposal voteProposal; -public: - CCastVote(uint32_t nVersion, CVoteProposal voteProposal) { - this->nVersion = nVersion; - this->voteProposal = voteProposal; - } -}; - -#endif //HYPERSTAKE_CASTVOTE_H From 5f630f9b5c474ee835bfa1d4bb9720d6f750d1fb Mon Sep 17 00:00:00 2001 From: tuningmind Date: Wed, 20 Dec 2017 16:44:27 -0700 Subject: [PATCH 491/555] Ignore all .idea files --- .gitignore | 162 +++++++++++++++++++---------------------------------- 1 file changed, 57 insertions(+), 105 deletions(-) diff --git a/.gitignore b/.gitignore index 627ae30cb..b371f16f5 100644 --- a/.gitignore +++ b/.gitignore @@ -141,111 +141,16 @@ build-aux/m4/lt~obsolete.m4 moc_paymentserver.cpp Hyperstake-Qt.dmg -Skip to content -Help save net neutrality! A free, open internet is once again at stake—and we need your help. -Learn more Dismiss -This repository -Search -Pull requests -Issues -Marketplace -Explore - @tuningmind - Sign out - Watch 1 - Star 0 Fork 0 presstab/voting Private - Code Issues 0 Pull requests 0 Projects 0 Wiki Insights -Branch: fouroption Find file Copy pathvoting/.gitignore -22a3064 on Oct 30 -@tuningmind tuningmind Update gitignore -2 contributors @tuningmind @presstab -RawBlameHistory -143 lines (109 sloc) 2.21 KB -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -# Created by https://www.gitignore.io/api/vim,osx - -### OSX ### -*.DS_Store -.AppleDouble -.LSOverride - -# Icon must end with two \r -Icon - -# Thumbnails -._* - -# Files that might appear in the root of a volume -.DocumentRevisions-V100 -.fseventsd -.Spotlight-V100 -.TemporaryItems -.Trashes -.VolumeIcon.icns -.com.apple.timemachine.donotpresent - -# Directories potentially created on remote AFP share -.AppleDB -.AppleDesktop -Network Trash Folder -Temporary Items -.apdisk - -### Vim ### -# swap -[._]*.s[a-v][a-z] -[._]*.sw[a-p] -[._]s[a-v][a-z] -[._]sw[a-p] -# session -Session.vim -# temporary -.netrwhist -*~ -# auto-generated tag files -tags - -# End of https://www.gitignore.io/api/vim,osx +# Created by https://www.gitignore.io/api/osx,vim,clion -# Created by https://www.gitignore.io/api/clion+all - -### CLion+all ### +### CLion ### # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 +# ignore all .idea files +.idea + # User-specific stuff: .idea/**/workspace.xml .idea/**/tasks.xml @@ -296,10 +201,57 @@ crashlytics.properties crashlytics-build.properties fabric.properties -### CLion+all Patch ### -# Ignores the whole idea folder -# See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360 +### CLion Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/sonarlint + +### OSX ### +*.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### Vim ### +# swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] +# session +Session.vim +# temporary +.netrwhist +*~ +# auto-generated tag files +tags -.idea/ +# End of https://www.gitignore.io/api/osx,vim,clion -# End of https://www.gitignore.io/api/clion+all From cede4ab354f40742fe5b8137d2051ff4837eea43 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Wed, 20 Dec 2017 17:50:17 -0700 Subject: [PATCH 492/555] Initial votetally header --- src/votetally.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/votetally.h diff --git a/src/votetally.h b/src/votetally.h new file mode 100644 index 000000000..585fdfe72 --- /dev/null +++ b/src/votetally.h @@ -0,0 +1,25 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef HYPERSTAKE_VOTETALLY_H +#define HYPERSTAKE_VOTETALLY_H + +#include "voteproposal.h" +#include + +class CVoteTally { +private: + int nBlocksCounted; + std::map mapVotes; + CVoteProposal proposal; +public: + CVoteTally(CVoteProposal proposal) + + { + this->proposal = proposal; + this->nBlocksCounted = 0; + } + +}; +#endif //HYPERSTAKE_VOTETALLY_H From c185769eb77e0ed6ee1b0df65122584cf73958e6 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Thu, 21 Dec 2017 16:55:27 -0700 Subject: [PATCH 493/555] Tally with GetVoteFromHeader via VoteObject --- src/CastVote.h | 19 ------------------- src/voteobject.cpp | 28 ++++++++++++++++++++++------ src/voteobject.h | 9 +++++---- src/votetally.cpp | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 64 insertions(+), 29 deletions(-) delete mode 100644 src/CastVote.h create mode 100644 src/votetally.cpp diff --git a/src/CastVote.h b/src/CastVote.h deleted file mode 100644 index 1f93a1f5e..000000000 --- a/src/CastVote.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// Created by carrie on 12/12/17. -// - -#ifndef HYPERSTAKE_CASTVOTE_H -#define HYPERSTAKE_CASTVOTE_H - -class CCastVote { -private: - uint32_t nVersion; - CVoteProposal voteProposal; -public: - CCastVote(uint32_t nVersion, CVoteProposal voteProposal) { - this->nVersion = nVersion; - this->voteProposal = voteProposal; - } -}; - -#endif //HYPERSTAKE_CASTVOTE_H diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 92be26d71..9478df83f 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -20,18 +20,34 @@ string PrintBinary(uint32_t n) return result; } -bool CVoteObject::AddVoteToHeader(uint32_t& nVersion) +bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) { - - int temp = CBlock::CURRENT_VERSION << 28; + int versionInFirstFour = CBlock::CURRENT_VERSION << 28; cout << "CURRENT VERSION: " << PrintBinary(temp) << endl; + // transform Choice to uint32_t nChoice = static_cast(nChoice); - nChoice <<= voteProposal.GetShift(); + // move Choice to its place in Version + nChoice <<= proposal.GetShift(); cout << "nChoice after getting shift " << PrintBinary(nChoice) << endl; - nFormattedVote = (temp |= nChoice); - + // combine Choice with Version + nFormattedVote = (versionInFirstFour |= nChoice); + // flag Voted fVoted = true; cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; return true; } +bool CVoteObject::GetVoteFromVersion(uint32_t& nVersion) +{ + // Create a mask that will 0 out all bits that are not in the bits for this proposal + uint32_t nVoteMask = 1; + for ( int i = 0; i < proposal.nBitCount; i++) { + nVoteMask |= 1; + nVoteMask <<= 1; + } + nVoteMask <<= (proposal.nShift - proposal.nCardinals); + //cout << "X: " << PrintBinary(nVoteMask) << :endl; + + return nVersion & nVoteMask; +} + diff --git a/src/voteobject.h b/src/voteobject.h index a797a25e5..b37faab83 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -14,14 +14,15 @@ class CVoteObject int nChoice; uint32_t nFormattedVote; bool fVoted; - CVoteProposal voteProposal; + CVoteProposal proposal; public: - CVoteObject(CVoteProposal voteProposal, int nChoice) + CVoteObject(CVoteProposal proposal, int nChoice) { - this->voteProposal = voteProposal; + this->proposal= proposal; this->nChoice = nChoice; } - bool AddVoteToHeader(uint32_t& nVersion); + bool AddVoteToVersion(uint32_t& nVersion); + uint32_t GetVoteFromVersion(uint32_t nVersion); }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/votetally.cpp b/src/votetally.cpp new file mode 100644 index 000000000..8640f2ad0 --- /dev/null +++ b/src/votetally.cpp @@ -0,0 +1,37 @@ +#include "votetally.h" + +using namespace std; + + +// takes uint32_t of the vote +// if the vote is yes, adds to YesTally +// returns YesTally after update, if any +int CVoteTally::CountVote(uint32_t voteFromVersion) { + cout << "voteFromHeader : " << PrintBinary(voteFromVersion) << endl; + + if (GetBlocksCounted() < proposal.GetCheckSpan()) { + cout << "getblockscounted(): " << GetBlocksCounted() << endl; + if (voteFromHeader) + nYesTally++; + + nBlocksCounted++; + SetNoTally(); + return nYesTally; + } + + return 0; +} +//Look for vote in a block version, add the vote to the tally + +int CVoteTally::ProcessVersion(const uint32_t& nVersion) +{ + uint32_t nVoteFromHeader = voteObject.GetVoteFromHeader(nVersion); + return CountVote(nVoteFromHeader); +} + +int CVoteTally::GetVotes() +{ + return nYesTally; +} + + From c20d88bb21f47712ff87dbed7e99361ad0ad4542 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Fri, 22 Dec 2017 15:08:35 -0700 Subject: [PATCH 494/555] matching tally signatures for proposal --- src/bitcoinrpc.h | 2 +- src/rpcblockchain.cpp | 7 ++++++- src/voteobject.cpp | 8 ++++---- src/voteproposal.h | 1 + src/votetally.cpp | 10 +++++----- src/votetally.h | 25 ++++++++++++++----------- 6 files changed, 31 insertions(+), 22 deletions(-) diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 60227bd55..99f20663c 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -213,7 +213,6 @@ extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value hashsettings(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakingstatus(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); @@ -233,6 +232,7 @@ extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, boo extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 0dbdebb5e..fa29c2ab0 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -7,6 +7,7 @@ #include "bitcoinrpc.h" #include "voteproposal.h" #include "voteobject.h" +#include "votetally.h" #include #include @@ -333,7 +334,7 @@ Value createproposal(const Array& params, bool fHelp) ); CVoteObject testVote(proposal, 4); uint32_t nVersion = CBlock::CURRENT_VERSION; - results.push_back(Pair("added to header", testVote.AddVoteToHeader(nVersion))); + results.push_back(Pair("added to header", testVote.AddVoteToVersion(nVersion))); //! Add the constructed proposal to a partial transaction CTransaction tx; @@ -343,6 +344,10 @@ Value createproposal(const Array& params, bool fHelp) uint256 hashProposal = tx.GetHash(); mapPendingProposals.insert(make_pair(hashProposal, tx)); + //! Create a tally object + CVoteTally votetally(proposal); + testVote.GetVoteFromVersion(nVersion); + results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.push_back(Pair("name", strName)); results.push_back(Pair("shift", nShift)); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 9478df83f..b808b4e6d 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -23,7 +23,7 @@ string PrintBinary(uint32_t n) bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) { int versionInFirstFour = CBlock::CURRENT_VERSION << 28; - cout << "CURRENT VERSION: " << PrintBinary(temp) << endl; + cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; // transform Choice to uint32_t nChoice = static_cast(nChoice); // move Choice to its place in Version @@ -37,15 +37,15 @@ bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) return true; } -bool CVoteObject::GetVoteFromVersion(uint32_t& nVersion) +uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) { // Create a mask that will 0 out all bits that are not in the bits for this proposal uint32_t nVoteMask = 1; - for ( int i = 0; i < proposal.nBitCount; i++) { + for ( int i = 0; i < proposal.GetCardinals(); i++) { nVoteMask |= 1; nVoteMask <<= 1; } - nVoteMask <<= (proposal.nShift - proposal.nCardinals); + nVoteMask <<= (proposal.GetShift() - proposal.GetCardinals()); //cout << "X: " << PrintBinary(nVoteMask) << :endl; return nVersion & nVoteMask; diff --git a/src/voteproposal.h b/src/voteproposal.h index 5a504a67a..8f90d49f1 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -73,6 +73,7 @@ class CVoteProposal bool ConstructTransaction(CTransaction& tx); int GetShift() {return nShift;}; + uint8_t GetCardinals() {return nCardinals;}; }; diff --git a/src/votetally.cpp b/src/votetally.cpp index 8640f2ad0..d5f642cd8 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -7,11 +7,11 @@ using namespace std; // if the vote is yes, adds to YesTally // returns YesTally after update, if any int CVoteTally::CountVote(uint32_t voteFromVersion) { - cout << "voteFromHeader : " << PrintBinary(voteFromVersion) << endl; + cout << "voteFromVersion: " << PrintBinary(voteFromVersion) << endl; if (GetBlocksCounted() < proposal.GetCheckSpan()) { cout << "getblockscounted(): " << GetBlocksCounted() << endl; - if (voteFromHeader) + if (voteFromVersion == 1) nYesTally++; nBlocksCounted++; @@ -25,11 +25,11 @@ int CVoteTally::CountVote(uint32_t voteFromVersion) { int CVoteTally::ProcessVersion(const uint32_t& nVersion) { - uint32_t nVoteFromHeader = voteObject.GetVoteFromHeader(nVersion); - return CountVote(nVoteFromHeader); + uint32_t nVoteFromVersion = voteObject.GetVoteFromVersion(nVersion); + return CountVote(nVoteFromVersion); } -int CVoteTally::GetVotes() +int CVoteTally::GetYesVotes() { return nYesTally; } diff --git a/src/votetally.h b/src/votetally.h index 585fdfe72..51129c138 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -1,25 +1,28 @@ -// Copyright (c) 2017 The HyperStake Developers -// Distributed under the MIT/X11 software license, see the accompanying -// file COPYING or http://www.opensource.org/licenses/mit-license.php. +#ifndef VOTING_VOTETALLY_H +#define VOTING_VOTETALLY_H -#ifndef HYPERSTAKE_VOTETALLY_H -#define HYPERSTAKE_VOTETALLY_H - -#include "voteproposal.h" #include +#include "voteproposal.h" class CVoteTally { private: - int nBlocksCounted; std::map mapVotes; + int nYesTally; // store the total yes's so far + int nNoTally; + int nBlocksCounted = 0; // store the total number of blocks checked so far CVoteProposal proposal; public: CVoteTally(CVoteProposal proposal) - { this->proposal = proposal; - this->nBlocksCounted = 0; } + void SetNoTally() { nNoTally = nBlocksCounted - nYesTally; } + int CountVote(uint32_t voteFromVersion); + int ProcessVersion(const uint32_t& nVersion); + int GetYesVotes(); + bool AddVoteToVersion(uint32_t& nVersion); }; -#endif //HYPERSTAKE_VOTETALLY_H + +#endif //VOTING_VOTETALLY_H + From 208277ecb2fbf811100ad51436dce3d0c15a9daf Mon Sep 17 00:00:00 2001 From: tuningmind Date: Fri, 22 Dec 2017 16:25:54 -0700 Subject: [PATCH 495/555] wip return yes tally --- src/rpcblockchain.cpp | 8 ++++++++ src/voteobject.cpp | 2 ++ src/voteproposal.h | 3 ++- src/votetally.cpp | 5 +++-- src/votetally.h | 2 +- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index fa29c2ab0..100aa3f64 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -347,6 +347,14 @@ Value createproposal(const Array& params, bool fHelp) //! Create a tally object CVoteTally votetally(proposal); testVote.GetVoteFromVersion(nVersion); + srand (time(NULL)); + for (int i = 0; i < 100; i++) { + // uint32_t tempVersion = nVersion; + int nChoice = (rand() % 2 + 1); + CVoteObject vote(proposal, nChoice); + } + cout << "yes tally: " << votetally.GetYesVotes() << endl; + cout << "-------------------------------------------------------------" << endl; results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.push_back(Pair("name", strName)); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index b808b4e6d..add67d3d8 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -23,6 +23,7 @@ string PrintBinary(uint32_t n) bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) { int versionInFirstFour = CBlock::CURRENT_VERSION << 28; + cout << "-------------------------------------------------------------" << endl; cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; // transform Choice to uint32_t nChoice = static_cast(nChoice); @@ -34,6 +35,7 @@ bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) // flag Voted fVoted = true; cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; + cout << "-------------------------------------------------------------" << endl; return true; } diff --git a/src/voteproposal.h b/src/voteproposal.h index 8f90d49f1..cf9d3d2c5 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -22,7 +22,7 @@ class CVoteProposal int nStartTime; // how far in the blockchain are we scanning - int nCheckSpan; + int nCheckSpan; // number of bits in the block version used for one vote, nBitCount uint8_t nCardinals; @@ -74,6 +74,7 @@ class CVoteProposal bool ConstructTransaction(CTransaction& tx); int GetShift() {return nShift;}; uint8_t GetCardinals() {return nCardinals;}; + int GetCheckSpan() {return nCheckSpan;}; }; diff --git a/src/votetally.cpp b/src/votetally.cpp index d5f642cd8..5109a64c0 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -9,8 +9,8 @@ using namespace std; int CVoteTally::CountVote(uint32_t voteFromVersion) { cout << "voteFromVersion: " << PrintBinary(voteFromVersion) << endl; - if (GetBlocksCounted() < proposal.GetCheckSpan()) { - cout << "getblockscounted(): " << GetBlocksCounted() << endl; + if (nBlocksCounted < proposal.GetCheckSpan()) { + cout << "blocks counted: " << nBlocksCounted << endl; if (voteFromVersion == 1) nYesTally++; @@ -31,6 +31,7 @@ int CVoteTally::ProcessVersion(const uint32_t& nVersion) int CVoteTally::GetYesVotes() { + cout << "yes tally with print binary: " << PrintBinary(nYesTally) << endl; return nYesTally; } diff --git a/src/votetally.h b/src/votetally.h index 51129c138..0b744c2d2 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -20,7 +20,7 @@ class CVoteTally { void SetNoTally() { nNoTally = nBlocksCounted - nYesTally; } int CountVote(uint32_t voteFromVersion); int ProcessVersion(const uint32_t& nVersion); - int GetYesVotes(); + int GetYesVotes() {return nYesTally;}; bool AddVoteToVersion(uint32_t& nVersion); }; From d41d5aa5fa2bca5fdcad644f6a85fb8d5a46595a Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 2 Jan 2018 14:40:11 -0700 Subject: [PATCH 496/555] refactor --- src/rpcblockchain.cpp | 9 +++------ src/voteobject.cpp | 2 +- src/voteobject.h | 5 ++--- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 100aa3f64..34f4108a9 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -332,9 +332,6 @@ Value createproposal(const Array& params, bool fHelp) nCardinals, strDescription ); - CVoteObject testVote(proposal, 4); - uint32_t nVersion = CBlock::CURRENT_VERSION; - results.push_back(Pair("added to header", testVote.AddVoteToVersion(nVersion))); //! Add the constructed proposal to a partial transaction CTransaction tx; @@ -346,12 +343,12 @@ Value createproposal(const Array& params, bool fHelp) //! Create a tally object CVoteTally votetally(proposal); - testVote.GetVoteFromVersion(nVersion); + srand (time(NULL)); for (int i = 0; i < 100; i++) { - // uint32_t tempVersion = nVersion; int nChoice = (rand() % 2 + 1); - CVoteObject vote(proposal, nChoice); + CVoteObject voteobject(proposal); + voteobject.Vote(nChoice); } cout << "yes tally: " << votetally.GetYesVotes() << endl; cout << "-------------------------------------------------------------" << endl; diff --git a/src/voteobject.cpp b/src/voteobject.cpp index add67d3d8..3e37fff81 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -20,7 +20,7 @@ string PrintBinary(uint32_t n) return result; } -bool CVoteObject::AddVoteToVersion(uint32_t& nVersion) +bool CVoteObject::Vote(int nChoice) { int versionInFirstFour = CBlock::CURRENT_VERSION << 28; cout << "-------------------------------------------------------------" << endl; diff --git a/src/voteobject.h b/src/voteobject.h index b37faab83..8289abc41 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -16,12 +16,11 @@ class CVoteObject bool fVoted; CVoteProposal proposal; public: - CVoteObject(CVoteProposal proposal, int nChoice) + CVoteObject(CVoteProposal proposal) { this->proposal= proposal; - this->nChoice = nChoice; } - bool AddVoteToVersion(uint32_t& nVersion); + bool Vote(int nChoice); uint32_t GetVoteFromVersion(uint32_t nVersion); }; From 43b2a07e6fc23be54a41f9bb4dbf786812064cd3 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 2 Jan 2018 16:29:46 -0700 Subject: [PATCH 497/555] wip --- src/Makefile.am | 4 +++- src/rpcblockchain.cpp | 3 ++- src/voteobject.cpp | 7 ++++--- src/votetally.cpp | 8 +++++++- src/votetally.h | 3 ++- 5 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index fb3b294dd..94d24dbe4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -81,7 +81,8 @@ BITCOIN_CORE_H = \ wallet.h \ walletdb.h \ voteproposal.h \ - voteobject.h + voteobject.h \ + votetally.h JSON_H = \ json/json_spirit.h \ @@ -130,6 +131,7 @@ libbitcoin_server_a_SOURCES = \ scrypt.cpp \ voteproposal.cpp \ voteobject.cpp \ + votetally.cpp \ shavite.c \ simd.c \ skein.c \ diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 34f4108a9..2a070444b 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -350,7 +350,8 @@ Value createproposal(const Array& params, bool fHelp) CVoteObject voteobject(proposal); voteobject.Vote(nChoice); } - cout << "yes tally: " << votetally.GetYesVotes() << endl; + // cout << votetally.GetYesVotes() << endl; + cout << votetally.toString() << endl; cout << "-------------------------------------------------------------" << endl; results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 3e37fff81..62c71e791 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -20,13 +20,13 @@ string PrintBinary(uint32_t n) return result; } -bool CVoteObject::Vote(int nChoice) +bool CVoteObject::Vote(int nVotersChoice) { int versionInFirstFour = CBlock::CURRENT_VERSION << 28; cout << "-------------------------------------------------------------" << endl; cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; // transform Choice to uint32_t - nChoice = static_cast(nChoice); + nChoice = static_cast(nVotersChoice); // move Choice to its place in Version nChoice <<= proposal.GetShift(); cout << "nChoice after getting shift " << PrintBinary(nChoice) << endl; @@ -49,7 +49,8 @@ uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) } nVoteMask <<= (proposal.GetShift() - proposal.GetCardinals()); //cout << "X: " << PrintBinary(nVoteMask) << :endl; + nFormattedVote = nVersion & nVoteMask; - return nVersion & nVoteMask; + return nFormattedVote; } diff --git a/src/votetally.cpp b/src/votetally.cpp index 5109a64c0..30b45461d 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -1,4 +1,5 @@ #include "votetally.h" +#include "voteobject.h" using namespace std; @@ -31,8 +32,13 @@ int CVoteTally::ProcessVersion(const uint32_t& nVersion) int CVoteTally::GetYesVotes() { - cout << "yes tally with print binary: " << PrintBinary(nYesTally) << endl; return nYesTally; } +string CVoteTally::toString() +{ + //return "\nYes: " + static_cast(nYesTally) + "\nNo: " + static_cast(nNoTally); + return "\nYes: " + (string) nYesTally + "\nNo: " + (string) nNoTally; +} + diff --git a/src/votetally.h b/src/votetally.h index 0b744c2d2..a93cd949b 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -17,11 +17,12 @@ class CVoteTally { this->proposal = proposal; } - void SetNoTally() { nNoTally = nBlocksCounted - nYesTally; } + void SetNoTally() {nNoTally = nBlocksCounted - nYesTally;} int CountVote(uint32_t voteFromVersion); int ProcessVersion(const uint32_t& nVersion); int GetYesVotes() {return nYesTally;}; bool AddVoteToVersion(uint32_t& nVersion); + std::string toString(); }; #endif //VOTING_VOTETALLY_H From f6ca1e22b4736a6d68d980b4491fdeec3298d0a4 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Tue, 2 Jan 2018 16:47:11 -0700 Subject: [PATCH 498/555] add protobuf and eclipse to gitignore --- .gitignore | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b371f16f5..2ec516249 100644 --- a/.gitignore +++ b/.gitignore @@ -253,5 +253,9 @@ Session.vim # auto-generated tag files tags -# End of https://www.gitignore.io/api/osx,vim,clion +# End of https://www.gitignore.io/api/osx,vim,clio +# Eclipse Core +.project + +protobuf/ \ No newline at end of file From 9d0251931e0de3437822efd4017d6ff19d52d4ce Mon Sep 17 00:00:00 2001 From: tuningmind Date: Wed, 3 Jan 2018 19:35:36 -0700 Subject: [PATCH 499/555] PrintBinary working in rpc --- src/rpcblockchain.cpp | 5 +++-- src/voteobject.cpp | 13 ++++++------- src/voteobject.h | 2 ++ src/votetally.cpp | 26 ++++++++------------------ src/votetally.h | 5 +++-- 5 files changed, 22 insertions(+), 29 deletions(-) diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 2a070444b..8d8aba994 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -349,9 +349,10 @@ Value createproposal(const Array& params, bool fHelp) int nChoice = (rand() % 2 + 1); CVoteObject voteobject(proposal); voteobject.Vote(nChoice); + uint32_t nformattedVote = voteobject.GetFormattedVote(); + votetally.ProcessVersion(nformattedVote, voteobject); + cout << "Yes votes: " << voteobject.PrintBinary(votetally.GetYesVotes()) << endl; } - // cout << votetally.GetYesVotes() << endl; - cout << votetally.toString() << endl; cout << "-------------------------------------------------------------" << endl; results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 62c71e791..f3b49f7b6 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -7,7 +7,7 @@ using namespace std; //Convert char* into string showing its binary -string PrintBinary(uint32_t n) +string CVoteObject::PrintBinary(uint32_t n) { string result; for (int i = 0; i < 32; i ++) { @@ -24,18 +24,18 @@ bool CVoteObject::Vote(int nVotersChoice) { int versionInFirstFour = CBlock::CURRENT_VERSION << 28; cout << "-------------------------------------------------------------" << endl; - cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; + // cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; + cout << "voter's choice: " << nVotersChoice << endl; // transform Choice to uint32_t nChoice = static_cast(nVotersChoice); // move Choice to its place in Version nChoice <<= proposal.GetShift(); - cout << "nChoice after getting shift " << PrintBinary(nChoice) << endl; + cout << "choice after getting shift " << PrintBinary(nChoice) << endl; // combine Choice with Version nFormattedVote = (versionInFirstFour |= nChoice); // flag Voted fVoted = true; cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; - cout << "-------------------------------------------------------------" << endl; return true; } @@ -48,9 +48,8 @@ uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) nVoteMask <<= 1; } nVoteMask <<= (proposal.GetShift() - proposal.GetCardinals()); - //cout << "X: " << PrintBinary(nVoteMask) << :endl; - nFormattedVote = nVersion & nVoteMask; + // cout << "X: " << PrintBinary(nVoteMask) << endl; + return nVersion & nVoteMask; - return nFormattedVote; } diff --git a/src/voteobject.h b/src/voteobject.h index 8289abc41..1726f41d2 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -22,6 +22,8 @@ class CVoteObject } bool Vote(int nChoice); uint32_t GetVoteFromVersion(uint32_t nVersion); + uint32_t GetFormattedVote() { return nFormattedVote; }; + std::string PrintBinary(uint32_t n); }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/votetally.cpp b/src/votetally.cpp index 30b45461d..d7a606173 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -1,5 +1,5 @@ #include "votetally.h" -#include "voteobject.h" + using namespace std; @@ -7,10 +7,11 @@ using namespace std; // takes uint32_t of the vote // if the vote is yes, adds to YesTally // returns YesTally after update, if any -int CVoteTally::CountVote(uint32_t voteFromVersion) { - cout << "voteFromVersion: " << PrintBinary(voteFromVersion) << endl; +int CVoteTally::CountVote(uint32_t voteFromVersion, CVoteObject voteobject) { + voteFromVersion >>= proposal.GetShift(); + cout << "voteFromVersion: " << voteobject.PrintBinary(voteFromVersion) << endl; - if (nBlocksCounted < proposal.GetCheckSpan()) { + if (nBlocksCounted <= proposal.GetCheckSpan()) { cout << "blocks counted: " << nBlocksCounted << endl; if (voteFromVersion == 1) nYesTally++; @@ -24,21 +25,10 @@ int CVoteTally::CountVote(uint32_t voteFromVersion) { } //Look for vote in a block version, add the vote to the tally -int CVoteTally::ProcessVersion(const uint32_t& nVersion) -{ - uint32_t nVoteFromVersion = voteObject.GetVoteFromVersion(nVersion); - return CountVote(nVoteFromVersion); -} - -int CVoteTally::GetYesVotes() -{ - return nYesTally; -} - -string CVoteTally::toString() +int CVoteTally::ProcessVersion(const uint32_t nVersion, CVoteObject voteobject) { - //return "\nYes: " + static_cast(nYesTally) + "\nNo: " + static_cast(nNoTally); - return "\nYes: " + (string) nYesTally + "\nNo: " + (string) nNoTally; + uint32_t nVoteFromVersion = voteobject.GetVoteFromVersion(nVersion); + return CountVote(nVoteFromVersion, voteobject); } diff --git a/src/votetally.h b/src/votetally.h index a93cd949b..2a0863ee8 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -3,6 +3,7 @@ #include #include "voteproposal.h" +#include "voteobject.h" class CVoteTally { private: @@ -18,8 +19,8 @@ class CVoteTally { } void SetNoTally() {nNoTally = nBlocksCounted - nYesTally;} - int CountVote(uint32_t voteFromVersion); - int ProcessVersion(const uint32_t& nVersion); + int CountVote(uint32_t voteFromVersion, CVoteObject voteobject); + int ProcessVersion(const uint32_t nVersion, CVoteObject voteobject); int GetYesVotes() {return nYesTally;}; bool AddVoteToVersion(uint32_t& nVersion); std::string toString(); From 5790c8c93ae94c0087370350bfe3688761540fdb Mon Sep 17 00:00:00 2001 From: tuningmind Date: Thu, 4 Jan 2018 18:36:29 -0700 Subject: [PATCH 500/555] Proposal manager prints out proposals from rpc call --- src/Makefile.am | 2 ++ src/main.cpp | 3 +-- src/main.h | 1 - src/rpcblockchain.cpp | 8 ++++++-- src/rpcwallet.cpp | 4 ++-- src/voteproposal.h | 1 + src/voteproposalmanager.cpp | 19 +++++++++++++++++++ src/voteproposalmanager.h | 20 ++++++++++++++++++++ 8 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 src/voteproposalmanager.cpp create mode 100644 src/voteproposalmanager.h diff --git a/src/Makefile.am b/src/Makefile.am index 94d24dbe4..bbafd1743 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -80,6 +80,7 @@ BITCOIN_CORE_H = \ version.h \ wallet.h \ walletdb.h \ + voteproposalmamager.h \ voteproposal.h \ voteobject.h \ votetally.h @@ -129,6 +130,7 @@ libbitcoin_server_a_SOURCES = \ rpcrawtransaction.cpp \ script.cpp \ scrypt.cpp \ + voteproposalmanager.cpp \ voteproposal.cpp \ voteobject.cpp \ votetally.cpp \ diff --git a/src/main.cpp b/src/main.cpp index 4c732a142..b6a8554db 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -72,8 +72,7 @@ map > mapOrphanTransactionsByPrev; map mapHashedBlocks; map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; -std::map mapPendingProposals; -std::map mapProposals; // txid, blockhash +std::map mapProposals; bool fStrictProtocol = false; bool fStrictIncoming = false; bool fWalletStaking = false; diff --git a/src/main.h b/src/main.h index a339bfd89..9b29be83c 100644 --- a/src/main.h +++ b/src/main.h @@ -95,7 +95,6 @@ extern bool fHaveGUI; extern std::map mapHashedBlocks; extern std::map > mapGetBlocksRequests; extern std::map mapPeerRejectedBlocks; -extern std::map mapPendingProposals; extern std::map mapProposals; // txid, blockhash extern bool fStrictProtocol; extern bool fStrictIncoming; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 8d8aba994..bf7f26e8e 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -6,6 +6,7 @@ #include "main.h" #include "bitcoinrpc.h" #include "voteproposal.h" +#include "voteproposalmanager.h" #include "voteobject.h" #include "votetally.h" @@ -333,13 +334,14 @@ Value createproposal(const Array& params, bool fHelp) strDescription ); + cout << "strName: " << proposal.GetName() << endl; //! Add the constructed proposal to a partial transaction CTransaction tx; proposal.ConstructTransaction(tx); //! Add the partial transaction to our globally accessible proposals map so that it can be called from elsewhere uint256 hashProposal = tx.GetHash(); - mapPendingProposals.insert(make_pair(hashProposal, tx)); + mapProposals.insert(make_pair(hashProposal, tx)); //! Create a tally object CVoteTally votetally(proposal); @@ -353,7 +355,9 @@ Value createproposal(const Array& params, bool fHelp) votetally.ProcessVersion(nformattedVote, voteobject); cout << "Yes votes: " << voteobject.PrintBinary(votetally.GetYesVotes()) << endl; } - cout << "-------------------------------------------------------------" << endl; + + CVoteProposalManager proposalManager; + cout << "proposals: " << proposalManager.GetProposals() << endl; results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.push_back(Pair("name", strName)); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 7d78c8c52..48fc65ffb 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2813,10 +2813,10 @@ Value sendproposal(const Array& params, bool fHelp) uint256 hashProposal(params[0].get_str()); //! See if this proposal exists in our map of pending proposals - if (!mapPendingProposals.count(hashProposal)) + if (!mapProposals.count(hashProposal)) throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot find proposal"); - CTransaction tx = mapPendingProposals.at(hashProposal); + CTransaction tx = mapProposals.at(hashProposal); CWalletTx wtx(pwalletMain, tx); //! Broadcast the transaction to the network diff --git a/src/voteproposal.h b/src/voteproposal.h index cf9d3d2c5..39abf8626 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -75,6 +75,7 @@ class CVoteProposal int GetShift() {return nShift;}; uint8_t GetCardinals() {return nCardinals;}; int GetCheckSpan() {return nCheckSpan;}; + std::string GetName() {return strName; }; }; diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp new file mode 100644 index 000000000..b498be820 --- /dev/null +++ b/src/voteproposalmanager.cpp @@ -0,0 +1,19 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#include "main.h" +#include "voteproposalmanager.h" +#include "voteproposal.h" + +std::string CVoteProposalManager::GetProposals() +{ + std::string strReturn; + for (std::map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) + { + strReturn += (*it).first.GetHex() + "\n"; + } + + return strReturn; +} + diff --git a/src/voteproposalmanager.h b/src/voteproposalmanager.h new file mode 100644 index 000000000..8d9aef235 --- /dev/null +++ b/src/voteproposalmanager.h @@ -0,0 +1,20 @@ +// Copyright (c) 2017 The HyperStake Developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef HYPERSTAKE_VOTEPROPOSALMANAGER_H +#define HYPERSTAKE_VOTEPROPOSALMANAGER_H + +class CVoteProposalManager +{ +private: + int nPendingCount; +public: + CVoteProposalManager() + { + } + std::string GetProposals(); + int GetPendingCount() {return nPendingCount;}; +}; + +#endif //HYPERSTAKE_VOTEPROPOSALMANAGER_H From 580827b26b0f0dcada61389ca19c0b13f0098b67 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 8 Jan 2018 22:21:58 -0700 Subject: [PATCH 501/555] Use mapPendingProposals for proposals that are net yet on the chain. --- src/main.cpp | 3 ++- src/main.h | 1 + src/rpcblockchain.cpp | 2 +- src/rpcwallet.cpp | 2 +- src/voteproposalmanager.cpp | 2 +- src/votetally.h | 2 +- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index b6a8554db..696c71285 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -72,7 +72,8 @@ map > mapOrphanTransactionsByPrev; map mapHashedBlocks; map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; -std::map mapProposals; +std::map mapProposals; +std::map mapPendingProposals; bool fStrictProtocol = false; bool fStrictIncoming = false; bool fWalletStaking = false; diff --git a/src/main.h b/src/main.h index 9b29be83c..1fb4e204b 100644 --- a/src/main.h +++ b/src/main.h @@ -96,6 +96,7 @@ extern std::map mapHashedBlocks; extern std::map > mapGetBlocksRequests; extern std::map mapPeerRejectedBlocks; extern std::map mapProposals; // txid, blockhash +extern std::map mapPendingProposals; // txid, blockhash extern bool fStrictProtocol; extern bool fStrictIncoming; extern bool fGenerateBitcoins; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index bf7f26e8e..fcc1fe3ad 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -341,7 +341,7 @@ Value createproposal(const Array& params, bool fHelp) //! Add the partial transaction to our globally accessible proposals map so that it can be called from elsewhere uint256 hashProposal = tx.GetHash(); - mapProposals.insert(make_pair(hashProposal, tx)); + mapPendingProposals.insert(make_pair(hashProposal, tx)); //! Create a tally object CVoteTally votetally(proposal); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 48fc65ffb..73dc87d07 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2816,7 +2816,7 @@ Value sendproposal(const Array& params, bool fHelp) if (!mapProposals.count(hashProposal)) throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot find proposal"); - CTransaction tx = mapProposals.at(hashProposal); + CTransaction tx = mapPendingProposals.at(hashProposal); CWalletTx wtx(pwalletMain, tx); //! Broadcast the transaction to the network diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index b498be820..2ac4e3cb8 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -9,7 +9,7 @@ std::string CVoteProposalManager::GetProposals() { std::string strReturn; - for (std::map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) + for (std::map::iterator it = mapPendingProposals.begin(); it != mapPendingProposals.end(); it++) { strReturn += (*it).first.GetHex() + "\n"; } diff --git a/src/votetally.h b/src/votetally.h index 2a0863ee8..644386277 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -10,7 +10,7 @@ class CVoteTally { std::map mapVotes; int nYesTally; // store the total yes's so far int nNoTally; - int nBlocksCounted = 0; // store the total number of blocks checked so far + int nBlocksCounted; // store the total number of blocks checked so far CVoteProposal proposal; public: CVoteTally(CVoteProposal proposal) From 20af608a68b5103d791bb824dda2187e98105fa0 Mon Sep 17 00:00:00 2001 From: blondfrogs Date: Wed, 10 Jan 2018 23:03:38 -0700 Subject: [PATCH 502/555] Voting RPC calls, Votes are databased, Adding Votes to nVersion of Staked Block --- CMakeLists.txt | 299 +++++++++++++++++++++++++++++++++++++++++++ src/bitcoinrpc.cpp | 48 +++---- src/bitcoinrpc.h | 3 + src/main.cpp | 48 ++++++- src/rpcwallet.cpp | 164 +++++++++++++++++++++++- src/voteobject.cpp | 60 +++++---- src/voteobject.h | 31 ++++- src/voteproposal.cpp | 5 + src/voteproposal.h | 12 +- src/wallet.h | 3 + src/walletdb.cpp | 20 +++ src/walletdb.h | 4 + 12 files changed, 641 insertions(+), 56 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..60c3ced7c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,299 @@ +cmake_minimum_required(VERSION 3.9) +project(HyperStake) + +set(CMAKE_CXX_STANDARD 11) + +add_executable(HyperStake + src/config/bitcoin-config.h + src/json/json_spirit.h + src/json/json_spirit_error_position.h + src/json/json_spirit_reader.cpp + src/json/json_spirit_reader.h + src/json/json_spirit_reader_template.h + src/json/json_spirit_stream_reader.h + src/json/json_spirit_utils.h + src/json/json_spirit_value.cpp + src/json/json_spirit_value.h + src/json/json_spirit_writer.cpp + src/json/json_spirit_writer.h + src/json/json_spirit_writer_template.h + src/obj/build.h + src/qt/forms/ui_aboutdialog.h + src/qt/forms/ui_addressbookpage.h + src/qt/forms/ui_askpassphrasedialog.h + src/qt/forms/ui_bip38tooldialog.h + src/qt/forms/ui_blockbrowser.h + src/qt/forms/ui_calcdialog.h + src/qt/forms/ui_charitydialog.h + src/qt/forms/ui_coincontroldialog.h + src/qt/forms/ui_editaddressdialog.h + src/qt/forms/ui_optionsdialog.h + src/qt/forms/ui_overviewpage.h + src/qt/forms/ui_qrcodedialog.h + src/qt/forms/ui_rpcconsole.h + src/qt/forms/ui_sendcoinsdialog.h + src/qt/forms/ui_sendcoinsentry.h + src/qt/forms/ui_signverifymessagedialog.h + src/qt/forms/ui_transactiondescdialog.h + src/qt/test/moc_uritests.cpp + src/qt/test/test_main.cpp + src/qt/test/uritests.cpp + src/qt/test/uritests.h + src/qt/aboutdialog.cpp + src/qt/aboutdialog.h + src/qt/addressbookpage.cpp + src/qt/addressbookpage.h + src/qt/addresstablemodel.cpp + src/qt/addresstablemodel.h + src/qt/askpassphrasedialog.cpp + src/qt/askpassphrasedialog.h + src/qt/bip38tooldialog.cpp + src/qt/bip38tooldialog.h + src/qt/bitcoin.cpp + src/qt/bitcoinaddressvalidator.cpp + src/qt/bitcoinaddressvalidator.h + src/qt/bitcoinamountfield.cpp + src/qt/bitcoinamountfield.h + src/qt/bitcoingui.cpp + src/qt/bitcoingui.h + src/qt/bitcoinstrings.cpp + src/qt/bitcoinunits.cpp + src/qt/bitcoinunits.h + src/qt/blockbrowser.cpp + src/qt/blockbrowser.h + src/qt/calcdialog.cpp + src/qt/calcdialog.h + src/qt/charitydialog.cpp + src/qt/charitydialog.h + src/qt/clientmodel.cpp + src/qt/clientmodel.h + src/qt/coincontroldialog.cpp + src/qt/coincontroldialog.h + src/qt/coincontroltreewidget.cpp + src/qt/coincontroltreewidget.h + src/qt/csvmodelwriter.cpp + src/qt/csvmodelwriter.h + src/qt/editaddressdialog.cpp + src/qt/editaddressdialog.h + src/qt/guiconstants.h + src/qt/guiutil.cpp + src/qt/guiutil.h + src/qt/macdockiconhandler.h + src/qt/macnotificationhandler.h + src/qt/moc_aboutdialog.cpp + src/qt/moc_addressbookpage.cpp + src/qt/moc_addresstablemodel.cpp + src/qt/moc_askpassphrasedialog.cpp + src/qt/moc_bip38tooldialog.cpp + src/qt/moc_bitcoinaddressvalidator.cpp + src/qt/moc_bitcoinamountfield.cpp + src/qt/moc_bitcoingui.cpp + src/qt/moc_bitcoinunits.cpp + src/qt/moc_blockbrowser.cpp + src/qt/moc_calcdialog.cpp + src/qt/moc_charitydialog.cpp + src/qt/moc_clientmodel.cpp + src/qt/moc_coincontroldialog.cpp + src/qt/moc_coincontroltreewidget.cpp + src/qt/moc_csvmodelwriter.cpp + src/qt/moc_editaddressdialog.cpp + src/qt/moc_guiutil.cpp + src/qt/moc_macdockiconhandler.cpp + src/qt/moc_macnotificationhandler.cpp + src/qt/moc_monitoreddatamapper.cpp + src/qt/moc_notificator.cpp + src/qt/moc_optionsdialog.cpp + src/qt/moc_optionsmodel.cpp + src/qt/moc_overviewpage.cpp + src/qt/moc_paymentserver.cpp + src/qt/moc_qrcodedialog.cpp + src/qt/moc_qvalidatedlineedit.cpp + src/qt/moc_qvaluecombobox.cpp + src/qt/moc_rpcconsole.cpp + src/qt/moc_sendcoinsdialog.cpp + src/qt/moc_sendcoinsentry.cpp + src/qt/moc_signverifymessagedialog.cpp + src/qt/moc_transactiondesc.cpp + src/qt/moc_transactiondescdialog.cpp + src/qt/moc_transactionfilterproxy.cpp + src/qt/moc_transactiontablemodel.cpp + src/qt/moc_transactionview.cpp + src/qt/moc_walletmodel.cpp + src/qt/monitoreddatamapper.cpp + src/qt/monitoreddatamapper.h + src/qt/networkstyle.cpp + src/qt/networkstyle.h + src/qt/notificator.cpp + src/qt/notificator.h + src/qt/optionsdialog.cpp + src/qt/optionsdialog.h + src/qt/optionsmodel.cpp + src/qt/optionsmodel.h + src/qt/overviewpage.cpp + src/qt/overviewpage.h + src/qt/paymentserver.cpp + src/qt/paymentserver.h + src/qt/qrc_bitcoin.cpp + src/qt/qrcodedialog.cpp + src/qt/qrcodedialog.h + src/qt/qvalidatedlineedit.cpp + src/qt/qvalidatedlineedit.h + src/qt/qvaluecombobox.cpp + src/qt/qvaluecombobox.h + src/qt/rpcconsole.cpp + src/qt/rpcconsole.h + src/qt/scicon.cpp + src/qt/scicon.h + src/qt/sendcoinsdialog.cpp + src/qt/sendcoinsdialog.h + src/qt/sendcoinsentry.cpp + src/qt/sendcoinsentry.h + src/qt/signverifymessagedialog.cpp + src/qt/signverifymessagedialog.h + src/qt/transactiondesc.cpp + src/qt/transactiondesc.h + src/qt/transactiondescdialog.cpp + src/qt/transactiondescdialog.h + src/qt/transactionfilterproxy.cpp + src/qt/transactionfilterproxy.h + src/qt/transactionrecord.cpp + src/qt/transactionrecord.h + src/qt/transactiontablemodel.cpp + src/qt/transactiontablemodel.h + src/qt/transactionview.cpp + src/qt/transactionview.h + src/qt/walletmodel.cpp + src/qt/walletmodel.h + src/secp256k1/src/libsecp256k1-config.h + src/test/data/base58_encode_decode.json.h + src/test/data/base58_keys_invalid.json.h + src/test/data/base58_keys_valid.json.h + src/test/data/script_invalid.json.h + src/test/data/script_valid.json.h + src/test/accounting_tests.cpp + src/test/allocator_tests.cpp + src/test/base32_tests.cpp + src/test/base58_tests.cpp + src/test/base64_tests.cpp + src/test/bignum_tests.cpp + src/test/Checkpoints_tests.cpp + src/test/DoS_tests.cpp + src/test/getarg_tests.cpp + src/test/key_tests.cpp + src/test/miner_tests.cpp + src/test/mruset_tests.cpp + src/test/multisig_tests.cpp + src/test/netbase_tests.cpp + src/test/rpc_tests.cpp + src/test/script_P2SH_tests.cpp + src/test/script_tests.cpp + src/test/sigopcount_tests.cpp + src/test/test_bitcoin.cpp + src/test/transaction_tests.cpp + src/test/uint160_tests.cpp + src/test/uint256_tests.cpp + src/test/util_tests.cpp + src/test/voting_tests.cpp + src/test/wallet_tests.cpp + src/addrman.cpp + src/addrman.h + src/aes_helper.c + src/alert.cpp + src/alert.h + src/allocators.h + src/base58.h + src/bignum.h + src/bip38.cpp + src/bip38.h + src/bitcoind.cpp + src/bitcoinrpc.cpp + src/bitcoinrpc.h + src/blake.c + src/bloom.cpp + src/bloom.h + src/bmw.c + src/checkpoints.cpp + src/checkpoints.h + src/clientversion.cpp + src/clientversion.h + src/coincontrol.h + src/compat.h + src/crypter.cpp + src/crypter.h + src/cubehash.c + src/db.cpp + src/db.h + src/echo.c + src/groestl.c + src/hashblock.h + src/init.cpp + src/init.h + src/jh.c + src/keccak.c + src/kernel.cpp + src/kernel.h + src/key.cpp + src/key.h + src/keystore.cpp + src/keystore.h + src/luffa.c + src/main.cpp + src/main.h + src/mruset.h + src/net.cpp + src/net.h + src/netbase.cpp + src/netbase.h + src/noui.cpp + src/pbkdf2.cpp + src/pbkdf2.h + src/protocol.cpp + src/protocol.h + src/rpcblockchain.cpp + src/rpcdump.cpp + src/rpcmining.cpp + src/rpcnet.cpp + src/rpcrawtransaction.cpp + src/rpcwallet.cpp + src/script.cpp + src/script.h + src/scrypt.cpp + src/scrypt.h + src/scrypt_mine.h + src/serialize.h + src/shavite.c + src/simd.c + src/skein.c + src/sph_blake.h + src/sph_bmw.h + src/sph_cubehash.h + src/sph_echo.h + src/sph_groestl.h + src/sph_jh.h + src/sph_keccak.h + src/sph_luffa.h + src/sph_shavite.h + src/sph_simd.h + src/sph_skein.h + src/sph_types.h + src/sync.cpp + src/sync.h + src/tinyformat.h + src/ui_interface.h + src/uint256.h + src/util.cpp + src/util.h + src/version.cpp + src/version.h + src/voteobject.cpp + src/voteobject.h + src/voteproposal.cpp + src/voteproposal.h + src/voteproposalmanager.cpp + src/voteproposalmanager.h + src/votetally.cpp + src/votetally.h + src/wallet.cpp + src/wallet.h + src/walletdb.cpp + src/walletdb.h) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 49f3f2517..113ada6c7 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -289,6 +289,9 @@ static const CRPCCommand vRPCCommands[] = { "listblocks", &listblocks, false, false }, { "createproposal", &createproposal, false, false }, { "sendproposal", &sendproposal, false, false }, + { "setvote", &setvote, false, false }, + { "getvote", &getvote, false, false }, + { "getvotes", &getvotes, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, @@ -1187,8 +1190,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "getblockbynumber" && n > 1) ConvertTo(params[1]); if (strMethod == "exportdifficulty" && n > 0) ConvertTo(params[0]); - if (strMethod == "getmoneysupply" && n > 0) ConvertTo(params[0]); - if (strMethod == "getmoneysupply" && n > 1) ConvertTo(params[1]); + if (strMethod == "getmoneysupply" && n > 0) ConvertTo(params[0]); + if (strMethod == "getmoneysupply" && n > 1) ConvertTo(params[1]); if (strMethod == "getblockhash" && n > 0) ConvertTo(params[0]); if (strMethod == "move" && n > 2) ConvertTo(params[2]); if (strMethod == "move" && n > 3) ConvertTo(params[3]); @@ -1203,8 +1206,8 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 1) ConvertTo(params[1]); if (strMethod == "sendmany" && n > 1) ConvertTo(params[1]); if (strMethod == "sendmany" && n > 2) ConvertTo(params[2]); - if (strMethod == "reservebalance" && n > 0) ConvertTo(params[0]); - if (strMethod == "reservebalance" && n > 1) ConvertTo(params[1]); + if (strMethod == "reservebalance" && n > 0) ConvertTo(params[0]); + if (strMethod == "reservebalance" && n > 1) ConvertTo(params[1]); if (strMethod == "addmultisigaddress" && n > 0) ConvertTo(params[0]); if (strMethod == "addmultisigaddress" && n > 1) ConvertTo(params[1]); if (strMethod == "listunspent" && n > 0) ConvertTo(params[0]); @@ -1218,24 +1221,25 @@ Array RPCConvertValues(const std::string &strMethod, const std::vector 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 0) ConvertTo(params[0]); if (strMethod == "disablestake" && n > 2) ConvertTo(params[3]); - if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); - if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); - if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); - if (strMethod == "ccsend" && n > 1) ConvertTo(params[1]); - if (strMethod == "sendalert" && n > 1) ConvertTo(params[2]); - if (strMethod == "sendalert" && n > 1) ConvertTo(params[3]); - if (strMethod == "sendalert" && n > 1) ConvertTo(params[4]); - if (strMethod == "sendalert" && n > 1) ConvertTo(params[5]); - if (strMethod == "sendalert" && n > 1) ConvertTo(params[6]); - if (strMethod == "sendalert" && n > 7) ConvertTo(params[7]); - if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); - if (strMethod == "strictincoming" && n > 0) ConvertTo(params[0]); - if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); - if (strMethod == "listblocks" && n > 1) ConvertTo(params[1]); - if (strMethod == "createproposal" && n > 1) ConvertTo(params[1]); - if (strMethod == "createproposal" && n > 2) ConvertTo(params[2]); - if (strMethod == "createproposal" && n > 3) ConvertTo(params[3]); - if (strMethod == "createproposal" && n > 4) ConvertTo(params[4]); + if (strMethod == "rescanfromblock" && n > 0) ConvertTo(params[0]); + if (strMethod == "ccselect" && n > 1) ConvertTo(params[1]); + if (strMethod == "ccreturnchange" && n > 0) ConvertTo(params[0]); + if (strMethod == "ccsend" && n > 1) ConvertTo(params[1]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[2]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[3]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[4]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[5]); + if (strMethod == "sendalert" && n > 1) ConvertTo(params[6]); + if (strMethod == "sendalert" && n > 7) ConvertTo(params[7]); + if (strMethod == "strictprotocol" && n > 0) ConvertTo(params[0]); + if (strMethod == "strictincoming" && n > 0) ConvertTo(params[0]); + if (strMethod == "listblocks" && n > 0) ConvertTo(params[0]); + if (strMethod == "listblocks" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 1) ConvertTo(params[1]); + if (strMethod == "createproposal" && n > 2) ConvertTo(params[2]); + if (strMethod == "createproposal" && n > 3) ConvertTo(params[3]); + if (strMethod == "createproposal" && n > 4) ConvertTo(params[4]); + if (strMethod == "setvote" && n > 1) ConvertTo(params[1]); return params; } diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 99f20663c..804844f51 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -233,6 +233,9 @@ extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, boo extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value setvote(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getvote(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getvotes(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 696c71285..3ea1c9e96 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,7 +11,6 @@ #include "ui_interface.h" #include "kernel.h" #include "scrypt_mine.h" -#include "voteproposal.h" #include #include #include @@ -4017,9 +4016,6 @@ bool SendMessages(CNode* pto, bool fSendTrickle) } - - - ////////////////////////////////////////////////////////////////////////////// // // BitcoinMiner @@ -4128,6 +4124,50 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) // Only use the first 4 bits for the version encoding pblock->nVersion = pblock->nVersion << 28; + //Check to see if proposals need to be voted on + if (mapProposals.size() > 0) { + list votes; + + // Get all the vote objects versions + if (pwalletMain->mapVoteObjects.size() > 0) { + map::iterator it; + for (it = mapProposals.begin(); it != mapProposals.end(); it++) { + CWalletTx walletTx; + if (!pwalletMain->GetTransaction(it->first, walletTx)) { + cout << "tried to get transaction but failed" << endl; + continue; + } + + CTransaction tx = *(CTransaction *) &walletTx; + if (!tx.IsProposal()) { + cout << "tx in the map of proposals isn't a proposal" << endl; + continue; + } + + CVoteProposal proposal; + if (!ProposalFromTransaction(tx, proposal)) { + cout << "Couldn't get the proposal from the transaction" << endl; + continue; + } + + if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { + cout << "Vote object not found in mapVoteObjects" << endl; + continue; + } + + CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; + + cout << "voteObjectFormattedVote" + voteObject.GetFormattedVote() << endl; + votes.push_back(voteObject.GetFormattedVote()); + } + } + + // Update the block version to have all votes + for (int32_t vote : votes) { + pblock->nVersion |= vote; + } + } + // Create coinbase tx CTransaction txNew; txNew.vin.resize(1); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 73dc87d07..c8429cbfe 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -10,6 +10,7 @@ #include "main.h" #include "base58.h" #include "coincontrol.h" +#include "voteobject.h" #include #include @@ -2828,4 +2829,165 @@ Value sendproposal(const Array& params, bool fHelp) ret.push_back(Pair("txid", wtx.GetHash().GetHex())); return ret; -} \ No newline at end of file +} + +// HyperStake +Value setvote(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 2) + throw runtime_error( + "setvote \n" + "Creates a vote object for the proposal in the txid which will trigger when you Stake.\n" + "\nResult:\n" + "{\n" + " \"Proposal Name\":, (string) The name of the proposal\n" + " \"Proposal Description\":, (string) The description of the proposal\n" + " \"Your vote\":, (int) 0 - Abstain, 1 - Yes, 2 - No, 3 - Request proposal revision\n" + "}\n"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet vote on a proposal"); + + //Get params + uint256 txHash(params[0].get_str()); + int voteChoice = params[1].get_int(); + + CWalletTx walletTx; + if(!pwalletMain->GetTransaction(txHash, walletTx)) + return "Transaction not found in wallet"; + + CTransaction tx = *(CTransaction *) &walletTx; + if (!tx.IsProposal()) + return "Transaction does not contain a proposal"; + + if (voteChoice > 3 || voteChoice < 0) + return "You must vote on the following using a number from 0-3(inclusive)\n 0 - Abstain,\n 1 - Yes,\n 2 - No,\n 3 - Request proposal revision"; + + CVoteProposal proposal; + if (!ProposalFromTransaction(tx, proposal)) + return "Proposal couldn't be found in the transaction"; + + CVoteObject voteObject(proposal); + + voteObject.Vote(voteChoice); + + //add the voteObject in the map + pwalletMain->mapVoteObjects[proposal.GetHash()] = voteObject; + + //write the vote object to the database + CWalletDB walletdb(pwalletMain->strWalletFile); + if (!walletdb.WriteVoteObject(proposal.GetHash().GetHex(), voteObject)) { + return "The vote was saved, however had problems writing the vote to the database"; + } + + Object ret; + ret.push_back(Pair("Proposal Name", proposal.GetName())); + ret.push_back(Pair("Proposal Description", proposal.GetDescription())); + ret.push_back(Pair("Your Vote", voteChoice)); + return ret; +} + +// HyperStake +Value getvote(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getvote \n" + "Returns the vote you made on a proposal from the given txid\n" + "\nResult:\n" + "{\n" + " \"Proposal Name\":, (string) The name of the proposal\n" + " \"Proposal Description\":, (string) The description of the proposal\n" + " \"Your vote\":, (int) 0 - Abstain, 1 - Yes, 2 - No, 3 - Request proposal revision\n" + "}\n"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet vote on a proposal"); + + //Get params + uint256 txHash(params[0].get_str()); + + CWalletTx walletTx; + if(!pwalletMain->GetTransaction(txHash, walletTx)) + return "Transaction not found in wallet"; + + CTransaction tx = *(CTransaction *) &walletTx; + if (!tx.IsProposal()) + return "Transaction does not contain a proposal"; + + CVoteProposal proposal; + if (!ProposalFromTransaction(tx, proposal)) + return "Proposal couldn't be found in the transaction"; + + uint256 proposalHash(proposal.GetHash()); + + // Check to see if we have the vote object loaded from the database, if we do return the info + if (pwalletMain->mapVoteObjects.count(proposalHash) != 0) { + CVoteObject voteObject; + voteObject = pwalletMain->mapVoteObjects[proposalHash]; + + int voteValue = voteObject.GetFormattedVote() >> voteObject.GetProposal().GetShift() & voteObject.GetProposal().GetCardinals(); + + Object ret; + ret.push_back(Pair("Proposal Name", voteObject.GetProposal().GetName())); + ret.push_back(Pair("Proposal Description", voteObject.GetProposal().GetDescription())); + ret.push_back(Pair("Your Vote", voteValue)); + ret.push_back(Pair("Proposal Hash", voteObject.GetProposal().GetHash().GetHex())); + return ret; + } + + // Try and find the voteobject in the walletdb and return it if found + CWalletDB walletdb(pwalletMain->strWalletFile); + + CVoteObject voteObject; + if (!walletdb.ReadVoteObject(proposal.GetHash().GetHex(), voteObject)) + return "No vote has been stored for this proposal "; + + int voteValue = voteObject.GetFormattedVote() >> voteObject.GetProposal().GetShift() & voteObject.GetProposal().GetCardinals(); + + Object ret; + ret.push_back(Pair("Proposal Name", voteObject.GetProposal().GetName())); + ret.push_back(Pair("Proposal Description", voteObject.GetProposal().GetDescription())); + ret.push_back(Pair("Your Vote", voteValue)); + ret.push_back(Pair("Proposal Hash", voteObject.GetProposal().GetHash().GetHex())); + return ret; +} + +// HyperStake +Value getvotes(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "getvotes \n" + "Returns all vote objects\n" + "\nResult:\n" + "{\n" + " \"Proposal Name\":, (string) The name of the proposal\n" + " \"Proposal Description\":, (string) The description of the proposal\n" + " \"Proposal Tx\":, (string) The tx the proposal was started in\n" + " \"Your vote\":, (int) 0 - Abstain, 1 - Yes, 2 - No, 3 - Request proposal revision\n" + "}\n"); + + if (pwalletMain->IsLocked()) + throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet vote on a proposal"); + + + if (pwalletMain->mapVoteObjects.size() > 0) { + Array ret; + + map::iterator it; + for (it = pwalletMain->mapVoteObjects.begin(); it != pwalletMain->mapVoteObjects.end(); it++) { + int voteValue = it->second.GetFormattedVote() >> it->second.GetProposal().GetShift() & it->second.GetProposal().GetCardinals(); + + Object entry; + entry.push_back(Pair("Proposal Name", it->second.GetProposal().GetName())); + entry.push_back(Pair("Proposal Description", it->second.GetProposal().GetDescription())); + entry.push_back(Pair("Your Vote", voteValue)); + ret.push_back(entry); + } + return ret; + } + return "You don't have any votes saved into the database"; +} + + diff --git a/src/voteobject.cpp b/src/voteobject.cpp index f3b49f7b6..603fcbc15 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -22,34 +22,50 @@ string CVoteObject::PrintBinary(uint32_t n) bool CVoteObject::Vote(int nVotersChoice) { - int versionInFirstFour = CBlock::CURRENT_VERSION << 28; - cout << "-------------------------------------------------------------" << endl; - // cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; - cout << "voter's choice: " << nVotersChoice << endl; - // transform Choice to uint32_t - nChoice = static_cast(nVotersChoice); - // move Choice to its place in Version +// int versionInFirstFour = CBlock::CURRENT_VERSION << 28; +// cout << "-------------------------------------------------------------" << endl; +// // cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; +// cout << "voter's choice: " << nVotersChoice << endl; +// // transform Choice to uint32_t +// nChoice = static_cast(nVotersChoice); +// // move Choice to its place in Version +// nChoice <<= proposal.GetShift(); +// cout << "choice after getting shift " << PrintBinary(nChoice) << endl; +// // combine Choice with Version +// nFormattedVote = (versionInFirstFour |= nChoice); +// // flag Voted +// fVoted = true; +// cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; +// return true; + + + uint32_t versionInFirstFour = CBlock::CURRENT_VERSION << 28; + int32_t binaryChoice = 0; + + if (nVotersChoice == 0) { // Abstain 00 + binaryChoice = 0; + } + else if (nVotersChoice == 3) { // Revise the proposal 01 + binaryChoice = 1; + } + else if (nVotersChoice == 2) { // No 10 + binaryChoice = 2; + } + else if (nVotersChoice == 1) { // Yes 11 + binaryChoice = 3; + } + + nChoice = binaryChoice; nChoice <<= proposal.GetShift(); - cout << "choice after getting shift " << PrintBinary(nChoice) << endl; - // combine Choice with Version nFormattedVote = (versionInFirstFour |= nChoice); - // flag Voted - fVoted = true; - cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; return true; } uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) { - // Create a mask that will 0 out all bits that are not in the bits for this proposal - uint32_t nVoteMask = 1; - for ( int i = 0; i < proposal.GetCardinals(); i++) { - nVoteMask |= 1; - nVoteMask <<= 1; - } - nVoteMask <<= (proposal.GetShift() - proposal.GetCardinals()); - // cout << "X: " << PrintBinary(nVoteMask) << endl; - return nVersion & nVoteMask; - + int diff = proposal.GetShift() - proposal.GetCardinals(); + uint32_t mask; + mask = ((1 << (diff + 1)) - 1) << diff; + return (nVersion & mask) >> diff; } diff --git a/src/voteobject.h b/src/voteobject.h index 1726f41d2..7d8f5515d 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -4,25 +4,50 @@ #ifndef HYPERSTAKE_VOTEOBJECT_H #define HYPERSTAKE_VOTEOBJECT_H -#define HEADERMASK 0x0fffffff #include "voteproposal.h" class CVoteObject { private: - int nChoice; + uint32_t nChoice; uint32_t nFormattedVote; bool fVoted; CVoteProposal proposal; public: + + void SetNull() + { + nChoice = 0; + nFormattedVote = 0; + fVoted = false; + proposal = CVoteProposal(); + } + + bool IsNull () { return proposal.IsNull(); } + + CVoteObject() + { + SetNull(); + } + CVoteObject(CVoteProposal proposal) { this->proposal= proposal; } - bool Vote(int nChoice); + + IMPLEMENT_SERIALIZE + ( + READWRITE(nChoice); + READWRITE(nFormattedVote); + READWRITE(fVoted); + READWRITE(proposal); + ) + + bool Vote(int nVotersChoice); uint32_t GetVoteFromVersion(uint32_t nVersion); uint32_t GetFormattedVote() { return nFormattedVote; }; + CVoteProposal GetProposal() { return proposal; }; std::string PrintBinary(uint32_t n); }; diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index d86ae4ec8..262aeaec2 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -7,6 +7,11 @@ using namespace std; + +uint256 CVoteProposal::GetHash() { + return SerializeHash(*this); +} + /** * The vote proposal is serialized and added to a CTransaction as a data object via OP_RETURN transaction output. * The transaction is marked as a proposal by marking the first 4 bytes as "PROP" in ASCII diff --git a/src/voteproposal.h b/src/voteproposal.h index 39abf8626..3e7e8e2db 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -72,10 +72,14 @@ class CVoteProposal ) bool ConstructTransaction(CTransaction& tx); - int GetShift() {return nShift;}; - uint8_t GetCardinals() {return nCardinals;}; - int GetCheckSpan() {return nCheckSpan;}; - std::string GetName() {return strName; }; + int GetShift() { return nShift; }; + uint8_t GetCardinals() { return nCardinals; }; + int GetCheckSpan() { return nCheckSpan; }; + std::string GetName() { return strName; }; + std::string GetDescription() { return strDescription; }; + + + uint256 GetHash(); }; diff --git a/src/wallet.h b/src/wallet.h index 0048113d9..627809918 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -119,6 +119,9 @@ class CWallet : public CCryptoKeyStore std::string strDisableArg; double dUserNumber; bool fStakeRequirement; + + // Voting + std::map mapVoteObjects; CWallet() { diff --git a/src/walletdb.cpp b/src/walletdb.cpp index e9ce9f7a8..3b08eaec1 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -52,6 +52,17 @@ bool CWalletDB::WriteAccountingEntry(const CAccountingEntry& acentry) return WriteAccountingEntry(++nAccountingEntryNumber, acentry); } +bool CWalletDB::ReadVoteObject(const string& strVoteObject, CVoteObject& voteObject) +{ + voteObject.SetNull(); + return Read(make_pair(string("vote"), strVoteObject), voteObject); +} + +bool CWalletDB::WriteVoteObject(const string& strVoteObject, const CVoteObject& voteObject) +{ + return Write(make_pair(string("vote"), strVoteObject), voteObject); +} + int64 CWalletDB::GetAccountCreditDebit(const string& strAccount) { list entries; @@ -424,6 +435,15 @@ ReadKeyValue(CWallet* pwallet, CDataStream& ssKey, CDataStream& ssValue, ssValue >> fCombineDust; pwallet->fCombineDust = fCombineDust; } + else if (strType == "vote") + { + std::string strHash; + ssKey >> strHash; + uint256 hash(strHash); + CVoteObject vote; + ssValue >> vote; + pwallet->mapVoteObjects[hash] = vote; + } } catch (...) { return false; diff --git a/src/walletdb.h b/src/walletdb.h index a29511671..58d547d7c 100644 --- a/src/walletdb.h +++ b/src/walletdb.h @@ -7,6 +7,7 @@ #include "db.h" #include "base58.h" +#include "voteobject.h" class CKeyPool; class CAccount; @@ -235,6 +236,9 @@ class CWalletDB : public CDB bool ReadAccount(const std::string& strAccount, CAccount& account); bool WriteAccount(const std::string& strAccount, const CAccount& account); + + bool ReadVoteObject(const std::string& strVoteObject, CVoteObject& voteObject); + bool WriteVoteObject(const std::string& strVoteObject, const CVoteObject& voteObject); private: bool WriteAccountingEntry(const uint64 nAccEntryNum, const CAccountingEntry& acentry); public: From 5e26060a6a0af41d07d4628bd552626e5a1a3864 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 2 Feb 2018 13:53:12 -0700 Subject: [PATCH 503/555] Add proposal fee to vote. --- src/rpcwallet.cpp | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index c8429cbfe..50f95e03c 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2820,6 +2820,37 @@ Value sendproposal(const Array& params, bool fHelp) CTransaction tx = mapPendingProposals.at(hashProposal); CWalletTx wtx(pwalletMain, tx); + //! Get available coins and add enough to cover the proposal fee + vector vCoins; + pwalletMain->AvailableCoins(vCoins, true); + + int64 nFee = 5 * COIN; + int64 nValueIn = 0; + + set > setCoins; + if (!pwalletMain->SelectCoinsMinConf(nFee, tx.nTime, 1, 6, vCoins, setCoins, nValueIn)) + throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); + + // Fill vin + BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) + wtx.vin.push_back(CTxIn(coin.first->GetHash(),coin.second)); + + // Figure out change amount + int64 nChange = nValueIn - nFee; + if (nChange > 500) { + //Lookup the address of one of the inputs and return the change to that address + uint256 hashBlock; + CTransaction txPrev; + if(!GetTransaction(wtx.vin[0].prevout.hash, txPrev, hashBlock)) + throw JSONRPCError(RPC_INVALID_PARAMETER, "Failed to select coins"); + + CScript scriptReturn = txPrev.vout[wtx.vin[0].prevout.n].scriptPubKey; + CTxOut out(nChange, scriptReturn); + + //Add the change output to the new transaction + wtx.vout.push_back(out); + } + //! Broadcast the transaction to the network CReserveKey reserveKey = CReserveKey(pwalletMain); if (!pwalletMain->CommitTransaction(wtx, reserveKey)) From 3d7e17adfdb799d03688647641d51c35284b80da Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 3 Feb 2018 17:15:26 -0700 Subject: [PATCH 504/555] Add ui_bip38tooldialog.h to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 2ec516249..faaa52fe0 100644 --- a/.gitignore +++ b/.gitignore @@ -90,6 +90,7 @@ src/config/stamp-h1 src/qt/forms/ui_aboutdialog.h src/qt/forms/ui_addressbookpage.h src/qt/forms/ui_askpassphrasedialog.h +src/qt/forms/ui_bip38tooldialog.h src/qt/forms/ui_coincontroldialog.h src/qt/forms/ui_editaddressdialog.h src/qt/forms/ui_optionsdialog.h From f9401f47d0eb1a28f30db89ffd28283037a0aa8f Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 3 Feb 2018 19:21:15 -0700 Subject: [PATCH 505/555] Fix OP_RETURN being considered nonstandard. --- src/script.cpp | 43 +++++++++++++++++++++++++++++++++------ src/script.h | 34 +++++++++---------------------- src/test/voting_tests.cpp | 34 ++++++++++++++++++++++++++++++- src/util.cpp | 1 + 4 files changed, 81 insertions(+), 31 deletions(-) diff --git a/src/script.cpp b/src/script.cpp index 718467977..df0ffb17d 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -102,6 +102,7 @@ const char* GetTxnOutputType(txnouttype t) case TX_PUBKEYHASH: return "pubkeyhash"; case TX_SCRIPTHASH: return "scripthash"; case TX_MULTISIG: return "multisig"; + case TX_NULL_DATA: return "nulldata"; } return NULL; } @@ -1207,13 +1208,27 @@ bool CheckSig(vector vchSig, vector vchPubKey, CSc return true; } +bool CScript::IsPushOnly(const_iterator pc) const +{ + while (pc < end()) + { + opcodetype opcode; + if (!GetOp(pc, opcode)) + return false; + // Note that IsPushOnly() *does* consider OP_RESERVED to be a + // push-type opcode, however execution of OP_RESERVED fails, so + // it's not relevant to P2SH/BIP62 as the scriptSig would fail prior to + // the P2SH special validation code being executed. + if (opcode > OP_16) + return false; + } + return true; +} - - - - - - +bool CScript::IsPushOnly() const +{ + return this->IsPushOnly(begin()); +} // // Return public keys or hashes from scriptPubKey, for 'standard' transaction types. @@ -1244,6 +1259,16 @@ bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, vector= 1 && scriptPubKey[0] == OP_RETURN && scriptPubKey.IsPushOnly(scriptPubKey.begin() + 1)) { + typeRet = TX_NULL_DATA; + return true; + } + // Scan templates const CScript& script1 = scriptPubKey; BOOST_FOREACH(const PAIRTYPE(txnouttype, CScript)& tplate, mTemplates) @@ -1399,6 +1424,8 @@ bool Solver(const CKeyStore& keystore, const CScript& scriptPubKey, uint256 hash case TX_MULTISIG: scriptSigRet << OP_0; // workaround CHECKMULTISIG bug return (SignN(vSolutions, keystore, hash, nHashType, scriptSigRet)); + case TX_NULL_DATA: + return true; } return false; } @@ -1419,6 +1446,8 @@ int ScriptSigArgsExpected(txnouttype t, const std::vector= sigs2.size()) return PushAll(sigs1); diff --git a/src/script.h b/src/script.h index b7a3911d0..ad38d7d60 100644 --- a/src/script.h +++ b/src/script.h @@ -14,6 +14,12 @@ #include "keystore.h" #include "bignum.h" +template +std::vector ToByteVector(const T& in) +{ + return std::vector(in.begin(), in.end()); +} + typedef std::vector valtype; class CTransaction; @@ -27,7 +33,6 @@ enum SIGHASH_ANYONECANPAY = 0x80, }; - enum txnouttype { TX_NONSTANDARD, @@ -36,6 +41,7 @@ enum txnouttype TX_PUBKEYHASH, TX_SCRIPTHASH, TX_MULTISIG, + TX_NULL_DATA }; class CNoDestination { @@ -202,8 +208,6 @@ enum opcodetype const char* GetOpName(opcodetype opcode); - - inline std::string ValueString(const std::vector& vch) { if (vch.size() <= 4) @@ -224,13 +228,6 @@ inline std::string StackString(const std::vector >& v return str; } - - - - - - - /** Serialized script, used inside transaction inputs and outputs */ class CScript : public std::vector { @@ -522,20 +519,9 @@ class CScript : public std::vector bool IsPayToScriptHash() const; - // Called by CTransaction::IsStandard - bool IsPushOnly() const - { - const_iterator pc = begin(); - while (pc < end()) - { - opcodetype opcode; - if (!GetOp(pc, opcode)) - return false; - if (opcode > OP_16) - return false; - } - return true; - } + bool IsPushOnly(const_iterator pc) const; + + bool IsPushOnly() const; bool IsDataCarrier() const { diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 352de5287..bc851a94d 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -34,13 +34,45 @@ BOOST_AUTO_TEST_CASE(proposal_serialization) //! Add the constructed proposal to a partial transaction CTransaction tx; - proposal.ConstructTransaction(tx); + BOOST_CHECK_MESSAGE(proposal.ConstructTransaction(tx), "failed to construct tx"); BOOST_CHECK_MESSAGE(tx.IsProposal(), "Transaction is not a proposal!"); CVoteProposal proposal2; BOOST_CHECK_MESSAGE(ProposalFromTransaction(tx, proposal2), "Failed to deserialize"); + //! Create a tx that can be used as an input in the actual proposal tx + CTransaction txFunding; + CTxOut outTemp(10 * COIN, CScript()); + txFunding.vout.push_back(outTemp); + mempool.addUnchecked(txFunding.GetHash(), txFunding); + + //! Add an input to the proposal tx + tx.vin.push_back(CTxIn(txFunding.GetHash(), 0)); + tx.vout[0].nValue = MIN_TXOUT_AMOUNT; + cout << tx.ToString() << "\n"; + + //! Return anything beyond the proposal fee (5 HYP) as change UTXO + int64 nFee = 5 * COIN; + nFee -= MIN_TXOUT_AMOUNT; //Had to assign mintxamt to the utxo containing the proposal + int64 nChange = outTemp.nValue - nFee; + if (nChange > 500) { + CKey key; + key.MakeNewKey(true); + + CScript scriptReturn; + scriptReturn << OP_DUP << OP_HASH160 << ToByteVector(Hash160(scriptReturn)) << OP_EQUALVERIFY << OP_CHECKSIG; + CTxOut out(nChange, scriptReturn); + + //Add the change output to the new transaction + tx.vout.push_back(out); + } + + BOOST_CHECK_MESSAGE(tx.CheckTransaction(), "check transaction failed"); + + CTxDB txdb("r"); + BOOST_CHECK_MESSAGE(tx.AcceptToMemoryPool(txdb, false), "transaction not accepted to mempool"); + } BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/src/util.cpp b/src/util.cpp index 1df7b141f..42e237059 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -341,6 +341,7 @@ bool error(const char *format, ...) std::string str = vstrprintf(format, arg_ptr); va_end(arg_ptr); printf("ERROR: %s\n", str.c_str()); + cout << str << "\n"; return false; } From cfdbcbed0290d3b525cbd35a1daca3c6ea842ebe Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 3 Feb 2018 19:47:55 -0700 Subject: [PATCH 506/555] Make c++11 standard compile. --- build-aux/m4/ax_cxx_compile_stdcxx.m4 | 562 ++++++++++++++++++++++++++ configure.ac | 13 +- 2 files changed, 574 insertions(+), 1 deletion(-) create mode 100644 build-aux/m4/ax_cxx_compile_stdcxx.m4 diff --git a/build-aux/m4/ax_cxx_compile_stdcxx.m4 b/build-aux/m4/ax_cxx_compile_stdcxx.m4 new file mode 100644 index 000000000..2c18e49c5 --- /dev/null +++ b/build-aux/m4/ax_cxx_compile_stdcxx.m4 @@ -0,0 +1,562 @@ +# =========================================================================== +# http://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) +# +# DESCRIPTION +# +# Check for baseline language coverage in the compiler for the specified +# version of the C++ standard. If necessary, add switches to CXX and +# CXXCPP to enable support. VERSION may be '11' (for the C++11 standard) +# or '14' (for the C++14 standard). +# +# The second argument, if specified, indicates whether you insist on an +# extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. +# -std=c++11). If neither is specified, you get whatever works, with +# preference for an extended mode. +# +# The third argument, if specified 'mandatory' or if left unspecified, +# indicates that baseline support for the specified C++ standard is +# required and that the macro should error out if no mode with that +# support is found. If specified 'optional', then configuration proceeds +# regardless, after defining HAVE_CXX${VERSION} if and only if a +# supporting mode is found. +# +# LICENSE +# +# Copyright (c) 2008 Benjamin Kosnik +# Copyright (c) 2012 Zack Weinberg +# Copyright (c) 2013 Roy Stogner +# Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov +# Copyright (c) 2015 Paul Norman +# Copyright (c) 2015 Moritz Klammler +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 4 + +dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro +dnl (serial version number 13). + +AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl + m4_if([$1], [11], [], + [$1], [14], [], + [$1], [17], [m4_fatal([support for C++17 not yet implemented in AX_CXX_COMPILE_STDCXX])], + [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$2], [], [], + [$2], [ext], [], + [$2], [noext], [], + [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl + m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], + [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], + [$3], [optional], [ax_cxx_compile_cxx$1_required=false], + [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + AC_LANG_PUSH([C++])dnl + ac_success=no + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi + + m4_if([$2], [noext], [], [dnl + if test x$ac_success = xno; then + for switch in -std=gnu++$1 -std=gnu++0x; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + + m4_if([$2], [ext], [], [dnl + if test x$ac_success = xno; then + dnl HP's aCC needs +std=c++11 according to: + dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf + dnl Cray's crayCC needs "-h std=c++11" + for switch in -std=c++$1 -std=c++0x +std=c++$1 "-h std=c++$1"; do + cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) + AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, + $cachevar, + [ac_save_CXX="$CXX" + CXX="$CXX $switch" + AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [eval $cachevar=yes], + [eval $cachevar=no]) + CXX="$ac_save_CXX"]) + if eval test x\$$cachevar = xyes; then + CXX="$CXX $switch" + if test -n "$CXXCPP" ; then + CXXCPP="$CXXCPP $switch" + fi + ac_success=yes + break + fi + done + fi]) + AC_LANG_POP([C++]) + if test x$ax_cxx_compile_cxx$1_required = xtrue; then + if test x$ac_success = xno; then + AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) + fi + fi + if test x$ac_success = xno; then + HAVE_CXX$1=0 + AC_MSG_NOTICE([No compiler with C++$1 support was found]) + else + HAVE_CXX$1=1 + AC_DEFINE(HAVE_CXX$1,1, + [define if the compiler supports basic C++$1 syntax]) + fi + AC_SUBST(HAVE_CXX$1) +]) + + +dnl Test body for checking C++11 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 +) + + +dnl Test body for checking C++14 support + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], + _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 + _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 +) + + +dnl Tests for new features in C++11 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ + +// If the compiler admits that it is not ready for C++11, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201103L + +#error "This is not a C++11 compiler" + +#else + +namespace cxx11 +{ + + namespace test_static_assert + { + + template + struct check + { + static_assert(sizeof(int) <= sizeof(T), "not big enough"); + }; + + } + + namespace test_final_override + { + + struct Base + { + virtual void f() {} + }; + + struct Derived : public Base + { + virtual void f() override {} + }; + + } + + namespace test_double_right_angle_brackets + { + + template < typename T > + struct check {}; + + typedef check single_type; + typedef check> double_type; + typedef check>> triple_type; + typedef check>>> quadruple_type; + + } + + namespace test_decltype + { + + int + f() + { + int a = 1; + decltype(a) b = 2; + return a + b; + } + + } + + namespace test_type_deduction + { + + template < typename T1, typename T2 > + struct is_same + { + static const bool value = false; + }; + + template < typename T > + struct is_same + { + static const bool value = true; + }; + + template < typename T1, typename T2 > + auto + add(T1 a1, T2 a2) -> decltype(a1 + a2) + { + return a1 + a2; + } + + int + test(const int c, volatile int v) + { + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == false, ""); + auto ac = c; + auto av = v; + auto sumi = ac + av + 'x'; + auto sumf = ac + av + 1.0; + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == true, ""); + static_assert(is_same::value == false, ""); + static_assert(is_same::value == true, ""); + return (sumf > 0.0) ? sumi : add(c, v); + } + + } + + namespace test_noexcept + { + + int f() { return 0; } + int g() noexcept { return 0; } + + static_assert(noexcept(f()) == false, ""); + static_assert(noexcept(g()) == true, ""); + + } + + namespace test_constexpr + { + + template < typename CharT > + unsigned long constexpr + strlen_c_r(const CharT *const s, const unsigned long acc) noexcept + { + return *s ? strlen_c_r(s + 1, acc + 1) : acc; + } + + template < typename CharT > + unsigned long constexpr + strlen_c(const CharT *const s) noexcept + { + return strlen_c_r(s, 0UL); + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("1") == 1UL, ""); + static_assert(strlen_c("example") == 7UL, ""); + static_assert(strlen_c("another\0example") == 7UL, ""); + + } + + namespace test_rvalue_references + { + + template < int N > + struct answer + { + static constexpr int value = N; + }; + + answer<1> f(int&) { return answer<1>(); } + answer<2> f(const int&) { return answer<2>(); } + answer<3> f(int&&) { return answer<3>(); } + + void + test() + { + int i = 0; + const int c = 0; + static_assert(decltype(f(i))::value == 1, ""); + static_assert(decltype(f(c))::value == 2, ""); + static_assert(decltype(f(0))::value == 3, ""); + } + + } + + namespace test_uniform_initialization + { + + struct test + { + static const int zero {}; + static const int one {1}; + }; + + static_assert(test::zero == 0, ""); + static_assert(test::one == 1, ""); + + } + + namespace test_lambdas + { + + void + test1() + { + auto lambda1 = [](){}; + auto lambda2 = lambda1; + lambda1(); + lambda2(); + } + + int + test2() + { + auto a = [](int i, int j){ return i + j; }(1, 2); + auto b = []() -> int { return '0'; }(); + auto c = [=](){ return a + b; }(); + auto d = [&](){ return c; }(); + auto e = [a, &b](int x) mutable { + const auto identity = [](int y){ return y; }; + for (auto i = 0; i < a; ++i) + a += b--; + return x + identity(a + b); + }(0); + return a + b + c + d + e; + } + + int + test3() + { + const auto nullary = [](){ return 0; }; + const auto unary = [](int x){ return x; }; + using nullary_t = decltype(nullary); + using unary_t = decltype(unary); + const auto higher1st = [](nullary_t f){ return f(); }; + const auto higher2nd = [unary](nullary_t f1){ + return [unary, f1](unary_t f2){ return f2(unary(f1())); }; + }; + return higher1st(nullary) + higher2nd(nullary)(unary); + } + + } + + namespace test_variadic_templates + { + + template + struct sum; + + template + struct sum + { + static constexpr auto value = N0 + sum::value; + }; + + template <> + struct sum<> + { + static constexpr auto value = 0; + }; + + static_assert(sum<>::value == 0, ""); + static_assert(sum<1>::value == 1, ""); + static_assert(sum<23>::value == 23, ""); + static_assert(sum<1, 2>::value == 3, ""); + static_assert(sum<5, 5, 11>::value == 21, ""); + static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); + + } + + // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae + // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function + // because of this. + namespace test_template_alias_sfinae + { + + struct foo {}; + + template + using member = typename T::member_type; + + template + void func(...) {} + + template + void func(member*) {} + + void test(); + + void test() { func(0); } + + } + +} // namespace cxx11 + +#endif // __cplusplus >= 201103L + +]]) + + +dnl Tests for new features in C++14 + +m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ + +// If the compiler admits that it is not ready for C++14, why torture it? +// Hopefully, this will speed up the test. + +#ifndef __cplusplus + +#error "This is not a C++ compiler" + +#elif __cplusplus < 201402L + +#error "This is not a C++14 compiler" + +#else + +namespace cxx14 +{ + + namespace test_polymorphic_lambdas + { + + int + test() + { + const auto lambda = [](auto&&... args){ + const auto istiny = [](auto x){ + return (sizeof(x) == 1UL) ? 1 : 0; + }; + const int aretiny[] = { istiny(args)... }; + return aretiny[0]; + }; + return lambda(1, 1L, 1.0f, '1'); + } + + } + + namespace test_binary_literals + { + + constexpr auto ivii = 0b0000000000101010; + static_assert(ivii == 42, "wrong value"); + + } + + namespace test_generalized_constexpr + { + + template < typename CharT > + constexpr unsigned long + strlen_c(const CharT *const s) noexcept + { + auto length = 0UL; + for (auto p = s; *p; ++p) + ++length; + return length; + } + + static_assert(strlen_c("") == 0UL, ""); + static_assert(strlen_c("x") == 1UL, ""); + static_assert(strlen_c("test") == 4UL, ""); + static_assert(strlen_c("another\0test") == 7UL, ""); + + } + + namespace test_lambda_init_capture + { + + int + test() + { + auto x = 0; + const auto lambda1 = [a = x](int b){ return a + b; }; + const auto lambda2 = [a = lambda1(x)](){ return a; }; + return lambda2(); + } + + } + + namespace test_digit_seperators + { + + constexpr auto ten_million = 100'000'000; + static_assert(ten_million == 100000000, ""); + + } + + namespace test_return_type_deduction + { + + auto f(int& x) { return x; } + decltype(auto) g(int& x) { return x; } + + template < typename T1, typename T2 > + struct is_same + { + static constexpr auto value = false; + }; + + template < typename T > + struct is_same + { + static constexpr auto value = true; + }; + + int + test() + { + auto x = 0; + static_assert(is_same::value, ""); + static_assert(is_same::value, ""); + return x; + } + + } + +} // namespace cxx14 + +#endif // __cplusplus >= 201402L + +]]) diff --git a/configure.ac b/configure.ac index c8e195d6b..15a06d07b 100644 --- a/configure.ac +++ b/configure.ac @@ -38,7 +38,7 @@ else CXXFLAGS_overridden=no fi AC_PROG_CXX -m4_ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX]) +dnl ifdef([AC_PROG_OBJCXX],[AC_PROG_OBJCXX]) dnl By default, libtool for mingw refuses to link static libs into a dll for dnl fear of mixing pic/non-pic objects, and import/export complications. Since @@ -48,6 +48,17 @@ case $host in lt_cv_deplibs_check_method="pass_all" ;; esac +dnl Require C++11 compiler (no GNU extensions) +AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory]) + +dnl Unless the user specified OBJCXX, force it to be the same as CXX. This ensures +dnl that we get the same -std flags for both. +m4_ifdef([AC_PROG_OBJCXX],[ +if test "x${OBJCXX+set}" = "x"; then + OBJCXX="${CXX}" +fi +AC_PROG_OBJCXX +]) dnl Libtool init checks. LT_INIT([pic-only]) From 5467b95bf7255b6eec127f420eee11587a560e6e Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 4 Feb 2018 11:20:25 -0700 Subject: [PATCH 507/555] listproposals RPC, adjust sendproposal fee amounts. - Add listproposals RPC call which grabs a list of the current proposals held by mapProposals (proposals that have been added to the blockchain) and prints the details of each. - Adjust sendproposal RPC to add MIN_TXOUT_AMOUNT to the proposal UTXO, or else it will be seen as invalid. - Do not add a proposal to mapProposals unless it pays the proper fee. - Adjust Makefile.am to include voteobject.cpp where it is accessible by rpcwallet.cpp --- src/Makefile.am | 1 + src/bitcoinrpc.cpp | 1 + src/bitcoinrpc.h | 9 +++--- src/main.cpp | 5 ++-- src/rpcblockchain.cpp | 69 ++++++++++++++++++++++--------------------- src/rpcwallet.cpp | 19 +++++++----- src/voteproposal.h | 19 ++++++------ 7 files changed, 66 insertions(+), 57 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index bbafd1743..cd93ece13 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -153,6 +153,7 @@ libbitcoin_wallet_a_SOURCES = \ scrypt.cpp \ wallet.cpp \ walletdb.cpp \ + voteobject.cpp \ $(BITCOIN_CORE_H) # common: shared between bitcoind, and bitcoin-qt and non-server tools diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 113ada6c7..30cbd7bca 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -292,6 +292,7 @@ static const CRPCCommand vRPCCommands[] = { "setvote", &setvote, false, false }, { "getvote", &getvote, false, false }, { "getvotes", &getvotes, false, false }, + { "listproposals", &listproposals, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 804844f51..9191992b2 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -213,6 +213,10 @@ extern json_spirit::Value strictprotocol(const json_spirit::Array& params, bool extern json_spirit::Value strictincoming(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value hashsettings(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getstakingstatus(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value setvote(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getvote(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getvotes(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getrawtransaction(const json_spirit::Array& params, bool fHelp); // in rcprawtransaction.cpp extern json_spirit::Value listunspent(const json_spirit::Array& params, bool fHelp); @@ -232,10 +236,7 @@ extern json_spirit::Value getblockbynumber(const json_spirit::Array& params, boo extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value sendproposal(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value setvote(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value getvote(const json_spirit::Array& params, bool fHelp); -extern json_spirit::Value getvotes(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value listproposals(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/main.cpp b/src/main.cpp index 3ea1c9e96..4cea3b415 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1639,8 +1639,9 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) //Track vote proposals if (tx.IsProposal()) { - if (nTxValueIn - nTxValueOut >= CVoteProposal::FEE) - vQueuedProposals.push_back(tx.GetHash()); + //Needs to have the proper fee or else it will not be counted + if (nTxValueIn - nTxValueOut >= CVoteProposal::FEE - MIN_TXOUT_AMOUNT) + vQueuedProposals.push_back(hashTx); } } diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index fcc1fe3ad..05ceb1926 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -9,6 +9,7 @@ #include "voteproposalmanager.h" #include "voteobject.h" #include "votetally.h" +#include "db.h" #include #include @@ -308,7 +309,7 @@ Value createproposal(const Array& params, bool fHelp) { if (fHelp || params.size() != 6) throw runtime_error( - "CreateProposal \n\n\n\n\n\n" + "createproposal \n\n\n\n\n\n" "Returns new VoteProposal object with specified parameters\n"); // name of issue string strName = params[0].get_str(); @@ -324,17 +325,8 @@ Value createproposal(const Array& params, bool fHelp) std::string strDescription = params[5].get_str(); Object results; + CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); - CVoteProposal proposal( - strName, - nShift, - nStartTime, - nCheckSpan, - nCardinals, - strDescription - ); - - cout << "strName: " << proposal.GetName() << endl; //! Add the constructed proposal to a partial transaction CTransaction tx; proposal.ConstructTransaction(tx); @@ -343,30 +335,41 @@ Value createproposal(const Array& params, bool fHelp) uint256 hashProposal = tx.GetHash(); mapPendingProposals.insert(make_pair(hashProposal, tx)); - //! Create a tally object - CVoteTally votetally(proposal); - - srand (time(NULL)); - for (int i = 0; i < 100; i++) { - int nChoice = (rand() % 2 + 1); - CVoteObject voteobject(proposal); - voteobject.Vote(nChoice); - uint32_t nformattedVote = voteobject.GetFormattedVote(); - votetally.ProcessVersion(nformattedVote, voteobject); - cout << "Yes votes: " << voteobject.PrintBinary(votetally.GetYesVotes()) << endl; - } + results.emplace_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); + results.emplace_back(Pair("name", strName)); + results.emplace_back(Pair("shift", nShift)); + results.emplace_back(Pair("start time", (boost::int64_t)nStartTime)); + results.emplace_back(Pair("check span", nCheckSpan)); + results.emplace_back(Pair("cardinals", nCardinals)); + results.emplace_back(Pair("description", strDescription)); - CVoteProposalManager proposalManager; - cout << "proposals: " << proposalManager.GetProposals() << endl; + return results; +} - results.push_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); - results.push_back(Pair("name", strName)); - results.push_back(Pair("shift", nShift)); - results.push_back(Pair("start time", (boost::int64_t)nStartTime)); - results.push_back(Pair("check span", nCheckSpan)); - results.push_back(Pair("cardinals", nCardinals)); - results.push_back(Pair("description", strDescription)); +Value listproposals(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 0) + throw runtime_error( + "getproposals\n" + "list proposals that have been found on the blockchain\n"); - return results; + //! Grab each proposal by 1st getting the txid from mapProposals, 2nd using that txid to grab the proposal object from voteDB + Array arrRet; + CVoteDB voteDB("r"); + for (auto it : mapProposals) { + CVoteProposal proposal; + if (voteDB.ReadProposal(it.first, proposal)) { + Object jsonProposal; + jsonProposal.emplace_back(Pair("hash", it.first.GetHex())); + jsonProposal.emplace_back(Pair("name", proposal.GetName())); + jsonProposal.emplace_back(Pair("description", proposal.GetDescription())); + jsonProposal.emplace_back(Pair("shift", proposal.GetShift())); + jsonProposal.emplace_back(Pair("start_time", (boost::int64_t)proposal.GetStartTime())); + jsonProposal.emplace_back(Pair("cardinals", proposal.GetCardinals())); + arrRet.emplace_back(jsonProposal); + } + } + + return arrRet; } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 50f95e03c..0c7c444ea 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2811,9 +2811,8 @@ Value sendproposal(const Array& params, bool fHelp) if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); - uint256 hashProposal(params[0].get_str()); - //! See if this proposal exists in our map of pending proposals + uint256 hashProposal(params[0].get_str()); if (!mapProposals.count(hashProposal)) throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot find proposal"); @@ -2831,14 +2830,18 @@ Value sendproposal(const Array& params, bool fHelp) if (!pwalletMain->SelectCoinsMinConf(nFee, tx.nTime, 1, 6, vCoins, setCoins, nValueIn)) throw JSONRPCError(RPC_WALLET_INSUFFICIENT_FUNDS, "Insufficient funds"); - // Fill vin - BOOST_FOREACH(const PAIRTYPE(const CWalletTx*,unsigned int)& coin, setCoins) + //! Fill vin + for (pair coin : setCoins) wtx.vin.push_back(CTxIn(coin.first->GetHash(),coin.second)); - // Figure out change amount - int64 nChange = nValueIn - nFee; + //! Add the min value required for an output to the proposal UTXO + wtx.vout[0].nValue = MIN_TXOUT_AMOUNT; + + //! Figure out change amount + nFee -= wtx.vout[0].nValue; + int64 nChange = nValueIn - nFee - MIN_TXOUT_AMOUNT; if (nChange > 500) { - //Lookup the address of one of the inputs and return the change to that address + //!Lookup the address of one of the inputs and return the change to that address uint256 hashBlock; CTransaction txPrev; if(!GetTransaction(wtx.vin[0].prevout.hash, txPrev, hashBlock)) @@ -2847,7 +2850,7 @@ Value sendproposal(const Array& params, bool fHelp) CScript scriptReturn = txPrev.vout[wtx.vin[0].prevout.n].scriptPubKey; CTxOut out(nChange, scriptReturn); - //Add the change output to the new transaction + //!Add the change output to the new transaction wtx.vout.push_back(out); } diff --git a/src/voteproposal.h b/src/voteproposal.h index 3e7e8e2db..c4e5b503f 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -19,7 +19,7 @@ class CVoteProposal uint8_t nShift; // where in the blockchain we start counting votes, nStartHeight - int nStartTime; + unsigned int nStartTime; // how far in the blockchain are we scanning int nCheckSpan; @@ -43,14 +43,14 @@ class CVoteProposal strDescription = ""; } - bool IsNull () { return strName == ""; } + bool IsNull () { return strName.empty(); } CVoteProposal() { SetNull(); } - CVoteProposal(std::string strName, uint8_t nShift, int nStartTime, int nCheckSpan, uint8_t nCardinals, + CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartTime, int nCheckSpan, uint8_t nCardinals, std::string strDescription) { this->strName = strName; @@ -72,13 +72,12 @@ class CVoteProposal ) bool ConstructTransaction(CTransaction& tx); - int GetShift() { return nShift; }; - uint8_t GetCardinals() { return nCardinals; }; - int GetCheckSpan() { return nCheckSpan; }; - std::string GetName() { return strName; }; - std::string GetDescription() { return strDescription; }; - - + int GetShift() { return nShift; } + uint8_t GetCardinals() { return nCardinals; } + int GetCheckSpan() { return nCheckSpan; } + std::string GetName() { return strName; } + std::string GetDescription() { return strDescription; } + unsigned int GetStartTime() { return nStartTime; } uint256 GetHash(); }; From c241c2cd5409bf0a9a8bb1f44dd14fd62647790f Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 4 Feb 2018 18:07:11 -0700 Subject: [PATCH 508/555] Final tweaks to make voteproposal work and able to be sent/added to the blockchain. --- src/rpcwallet.cpp | 12 ++++++++++-- src/util.cpp | 1 - 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 0c7c444ea..aa980c47c 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2812,8 +2812,9 @@ Value sendproposal(const Array& params, bool fHelp) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet to use this feature"); //! See if this proposal exists in our map of pending proposals - uint256 hashProposal(params[0].get_str()); - if (!mapProposals.count(hashProposal)) + uint256 hashProposal; + hashProposal.SetHex(params[0].get_str()); + if (!mapPendingProposals.count(hashProposal)) throw JSONRPCError(RPC_INVALID_PARAMETER, "Cannot find proposal"); CTransaction tx = mapPendingProposals.at(hashProposal); @@ -2854,6 +2855,13 @@ Value sendproposal(const Array& params, bool fHelp) wtx.vout.push_back(out); } + //! Sign the transaction + int nIn = 0; + for (const pair& coin : setCoins) { + if (!SignSignature(*pwalletMain, *coin.first, wtx, nIn++)) + return false; + } + //! Broadcast the transaction to the network CReserveKey reserveKey = CReserveKey(pwalletMain); if (!pwalletMain->CommitTransaction(wtx, reserveKey)) diff --git a/src/util.cpp b/src/util.cpp index 42e237059..1df7b141f 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -341,7 +341,6 @@ bool error(const char *format, ...) std::string str = vstrprintf(format, arg_ptr); va_end(arg_ptr); printf("ERROR: %s\n", str.c_str()); - cout << str << "\n"; return false; } From 73c8266fb8d7ffcb6acbbc19ee701671d6f34867 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 4 Feb 2018 18:07:48 -0700 Subject: [PATCH 509/555] Add -staking startup arg. Use -staking=0 to disable staking on startup. -staking=1 is not necessary, it is assumed to be 1 by default. --- src/net.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index 77970e961..764330660 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1925,8 +1925,10 @@ void StartNode(void* parg) printf("Error; NewThread(ThreadDumpAddress) failed\n"); // ppcoin: mint proof-of-stake blocks in the background - if (!NewThread(ThreadStakeMinter, pwalletMain)) - printf("Error: NewThread(ThreadStakeMinter) failed\n"); + if (GetBoolArg("-staking", true)) { + if (!NewThread(ThreadStakeMinter, pwalletMain)) + printf("Error: NewThread(ThreadStakeMinter) failed\n"); + } // Generate coins in the background GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain); From 9cacf0f9556f49bb9b757db0222bf6c06edfe84f Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 6 Feb 2018 12:31:49 -0700 Subject: [PATCH 510/555] Load vote proposals on init. Grab proposals from the votedb on initialization and populate mapProposals. --- src/db.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ src/db.h | 1 + src/main.cpp | 9 +++++++-- 3 files changed, 54 insertions(+), 2 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index c5192df0f..a405b007b 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -857,6 +857,52 @@ bool CTxDB::LoadBlockIndexGuts() return true; } +bool CVoteDB::Load() +{ + // Get database cursor + Dbc* pcursor = GetCursor(); + if (!pcursor) + return false; + + // Load mapProposals + unsigned int fFlags = DB_SET_RANGE; + while (true) + { + // Read next record + CDataStream ssKey(SER_DISK, CLIENT_VERSION); + if (fFlags == DB_SET_RANGE) + ssKey << make_pair(string("prop"), uint256(0)); + CDataStream ssValue(SER_DISK, CLIENT_VERSION); + int ret = ReadAtCursor(pcursor, ssKey, ssValue, fFlags); + fFlags = DB_NEXT; + if (ret == DB_NOTFOUND) + break; + else if (ret != 0) + return false; + + // Unserialize + try { + string strType; + ssKey >> strType; + if (strType == "prop" && !fRequestShutdown) + { + uint256 txid; + ssKey >> txid; + mapProposals.insert(make_pair(txid, uint256(0))); + } + else + { + break; // if shutdown requested or finished loading block index + } + } // try + catch (std::exception &e) { + return error("%s() : deserialize error", __PRETTY_FUNCTION__); + } + } + pcursor->close(); + + return true; +} bool CVoteDB::WriteProposal(const uint256 &hash, const CVoteProposal &proposal) { diff --git a/src/db.h b/src/db.h index 29c4fedb2..1ccb3ce9b 100644 --- a/src/db.h +++ b/src/db.h @@ -354,6 +354,7 @@ class CVoteDB : public CDB CVoteDB(const CVoteDB&); void operator=(const CVoteDB&); public: + bool Load(); bool WriteProposal(const uint256& hash, const CVoteProposal& proposal); bool ReadProposal(const uint256& hash, CVoteProposal& proposal); }; diff --git a/src/main.cpp b/src/main.cpp index 4cea3b415..f45f63d31 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2654,6 +2654,12 @@ bool LoadBlockIndex(bool fAllowNew) nStakeTargetSpacing = 90; // test block spacing is 90 seconds } + // Load vote proposals + CVoteDB votedb("cr"); + if (!votedb.Load()) + return error("Failed to load votedb"); + votedb.Close(); + // // Load block index // @@ -2662,8 +2668,7 @@ bool LoadBlockIndex(bool fAllowNew) return false; txdb.Close(); - CVoteDB votedb("cr"); - votedb.Close(); + // // Init with genesis block From c11fc10d27f9cdbdc726be5ea81daadbae772689 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 7 Feb 2018 12:05:39 -0700 Subject: [PATCH 511/555] Refactor votetally. Add votetally's to each block index. --- src/Makefile.am | 1 + src/main.cpp | 7 +++ src/main.h | 10 ++++ src/rpcwallet.cpp | 30 ++++++------ src/test/voting_tests.cpp | 81 ++++++++++++++++++++++++++------ src/voteobject.cpp | 39 ++------------- src/voteobject.h | 28 +++++++---- src/votetally.cpp | 99 ++++++++++++++++++++++++++++++++------- src/votetally.h | 72 +++++++++++++++++++++------- 9 files changed, 259 insertions(+), 108 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index cd93ece13..a31e83a65 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -154,6 +154,7 @@ libbitcoin_wallet_a_SOURCES = \ wallet.cpp \ walletdb.cpp \ voteobject.cpp \ + votetally.cpp \ $(BITCOIN_CORE_H) # common: shared between bitcoind, and bitcoin-qt and non-server tools diff --git a/src/main.cpp b/src/main.cpp index f45f63d31..be3b2700b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -11,6 +11,7 @@ #include "ui_interface.h" #include "kernel.h" #include "scrypt_mine.h" +#include "votetally.h" #include #include #include @@ -1676,6 +1677,12 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) } } + //Record new votes to the tally + CVoteTally tally(pindex->pprev->tally); + //tally.SetNewPositions(mapNewLocations); + tally.ProcessNewVotes(static_cast(pindex->nVersion)); + pindex->tally = tally; + // Write queued txindex changes for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) { diff --git a/src/main.h b/src/main.h index 1fb4e204b..4680f9a65 100644 --- a/src/main.h +++ b/src/main.h @@ -11,6 +11,7 @@ #include "script.h" #include "scrypt_mine.h" #include "hashblock.h" +#include "votetally.h" #include #include @@ -836,6 +837,7 @@ class CBlock public: // header static const int CURRENT_VERSION=4; + static const int VOTING_VERSION = 0x50000000; int nVersion; uint256 hashPrevBlock; uint256 hashMerkleRoot; @@ -1131,6 +1133,9 @@ class CBlockIndex unsigned int nStakeTime; uint256 hashProofOfStake; + //Voting + CVoteTally tally; + // block header int nVersion; uint256 hashMerkleRoot; @@ -1155,6 +1160,7 @@ class CBlockIndex hashProofOfStake = 0; prevoutStake.SetNull(); nStakeTime = 0; + tally.SetNull(); nVersion = 0; hashMerkleRoot = 0; @@ -1178,6 +1184,7 @@ class CBlockIndex nStakeModifier = 0; nStakeModifierChecksum = 0; hashProofOfStake = 0; + tally.SetNull(); if (block.IsProofOfStake()) { SetProofOfStake(); @@ -1376,6 +1383,9 @@ class CDiskBlockIndex : public CBlockIndex const_cast(this)->hashProofOfStake = 0; } + if (this->nVersion >= CBlock::VOTING_VERSION) + READWRITE(tally); + // block header READWRITE(this->nVersion); READWRITE(hashPrev); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index aa980c47c..88dd84656 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2909,7 +2909,7 @@ Value setvote(const Array& params, bool fHelp) if (!ProposalFromTransaction(tx, proposal)) return "Proposal couldn't be found in the transaction"; - CVoteObject voteObject(proposal); + CVoteObject voteObject(proposal.GetHash(), proposal.GetCardinals(), proposal.GetShift()); voteObject.Vote(voteChoice); @@ -2968,13 +2968,13 @@ Value getvote(const Array& params, bool fHelp) CVoteObject voteObject; voteObject = pwalletMain->mapVoteObjects[proposalHash]; - int voteValue = voteObject.GetFormattedVote() >> voteObject.GetProposal().GetShift() & voteObject.GetProposal().GetCardinals(); + int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); Object ret; - ret.push_back(Pair("Proposal Name", voteObject.GetProposal().GetName())); - ret.push_back(Pair("Proposal Description", voteObject.GetProposal().GetDescription())); + ret.push_back(Pair("Proposal Name", proposal.GetName())); + ret.push_back(Pair("Proposal Description", proposal.GetDescription())); ret.push_back(Pair("Your Vote", voteValue)); - ret.push_back(Pair("Proposal Hash", voteObject.GetProposal().GetHash().GetHex())); + ret.push_back(Pair("Proposal Hash", proposal.GetHash().GetHex())); return ret; } @@ -2985,13 +2985,13 @@ Value getvote(const Array& params, bool fHelp) if (!walletdb.ReadVoteObject(proposal.GetHash().GetHex(), voteObject)) return "No vote has been stored for this proposal "; - int voteValue = voteObject.GetFormattedVote() >> voteObject.GetProposal().GetShift() & voteObject.GetProposal().GetCardinals(); + int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); Object ret; - ret.push_back(Pair("Proposal Name", voteObject.GetProposal().GetName())); - ret.push_back(Pair("Proposal Description", voteObject.GetProposal().GetDescription())); + ret.push_back(Pair("Proposal Name", proposal.GetName())); + ret.push_back(Pair("Proposal Description", proposal.GetDescription())); ret.push_back(Pair("Your Vote", voteValue)); - ret.push_back(Pair("Proposal Hash", voteObject.GetProposal().GetHash().GetHex())); + ret.push_back(Pair("Proposal Hash", proposal.GetHash().GetHex())); return ret; } @@ -3013,17 +3013,19 @@ Value getvotes(const Array& params, bool fHelp) if (pwalletMain->IsLocked()) throw JSONRPCError(RPC_WALLET_UNLOCK_NEEDED, "Error: Unlock wallet vote on a proposal"); - + CVoteDB votedb("r"); if (pwalletMain->mapVoteObjects.size() > 0) { Array ret; - map::iterator it; for (it = pwalletMain->mapVoteObjects.begin(); it != pwalletMain->mapVoteObjects.end(); it++) { - int voteValue = it->second.GetFormattedVote() >> it->second.GetProposal().GetShift() & it->second.GetProposal().GetCardinals(); + CVoteProposal proposal; + if (!votedb.ReadProposal(it->first, proposal)) + return JSONRPCError(RPC_DATABASE_ERROR, "Failed to find proposal in database"); + int voteValue = it->second.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); Object entry; - entry.push_back(Pair("Proposal Name", it->second.GetProposal().GetName())); - entry.push_back(Pair("Proposal Description", it->second.GetProposal().GetDescription())); + entry.push_back(Pair("Proposal Name", proposal.GetName())); + entry.push_back(Pair("Proposal Description", proposal.GetDescription())); entry.push_back(Pair("Your Vote", voteValue)); ret.push_back(entry); } diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index bc851a94d..51e66d01b 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -7,31 +7,32 @@ #include "wallet.h" #include "../voteproposal.h" #include "../voteobject.h" +#include "../votetally.h" using namespace std; BOOST_AUTO_TEST_SUITE(voting_tests) +// name of issue +std::string strName = "proposal1"; +// check version for existing proposals Shift +uint8_t nShift = 20; +// start time - will be changed to int StartHeight. unix time stamp +int64 nStartTime = 10000000; +// number of blocks with votes to count +int nCheckSpan = 1000; +// cardinal items to vote on - convert to uint8 CheckSpan +uint8_t nCardinals = 2; +// description of issue - will go in different tx +std::string strDescription = "test_description"; + +CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); + BOOST_AUTO_TEST_CASE(proposal_serialization) { std::cout << "testing proposal serialization\n"; - // name of issue - std::string strName = "proposal1"; - // check version for existing proposals Shift - uint8_t nShift = 20; - // start time - will be changed to int StartHeight. unix time stamp - int64 nStartTime = 10000000; - // number of blocks with votes to count - int nCheckSpan = 1000; - // cardinal items to vote on - convert to uint8 CheckSpan - uint8_t nCardinals = 2; - // description of issue - will go in different tx - std::string strDescription = "test_description"; - - CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); - //! Add the constructed proposal to a partial transaction CTransaction tx; BOOST_CHECK_MESSAGE(proposal.ConstructTransaction(tx), "failed to construct tx"); @@ -75,4 +76,54 @@ BOOST_AUTO_TEST_CASE(proposal_serialization) } +BOOST_AUTO_TEST_CASE(vote_tally) +{ + std::cout << "testing vote tally\n"; + + map mapNewLocations; + VoteLocation location; + location.first = static_cast(proposal.GetShift() - proposal.GetCardinals()); + location.second = static_cast(proposal.GetShift()); + mapNewLocations.insert(make_pair(proposal.GetHash(), location)); + + CVoteTally tally; + BOOST_CHECK_MESSAGE(tally.SetNewPositions(mapNewLocations), "Position is already occupied when it should not be"); + + uint32_t nVote = 0x40080000; + // 0000 0000 0000 1000 0000 0000 0000 0000 + // + tally.ProcessNewVotes(nVote); + + CVoteSummary summary; + BOOST_CHECK_MESSAGE(tally.GetSummary(proposal.GetHash(), summary), "failed to get summary from tally"); + BOOST_CHECK_MESSAGE(summary.nYesTally == 1, "summary is not 1"); + std::cout << summary.nYesTally << endl; + + //Start a new tally object for the next block + CVoteTally tally2(tally); + tally2.ProcessNewVotes(nVote); + CVoteSummary summary2; + BOOST_CHECK_MESSAGE(tally2.GetSummary(proposal.GetHash(), summary2), "failed to get summary from tally2"); + BOOST_CHECK_MESSAGE(summary2.nYesTally == 2, "summary2 is not 2"); + + //Start a new tally object for the next block - vote no + CVoteTally tally3(tally2); + nVote = 0x40180011; + tally3.ProcessNewVotes(nVote); + CVoteSummary summary3; + BOOST_CHECK_MESSAGE(tally3.GetSummary(proposal.GetHash(), summary3), "failed to get summary from tally2"); + BOOST_CHECK_MESSAGE(summary3.nYesTally == 2, "summary3 is not 2"); + BOOST_CHECK_MESSAGE(summary3.nNoTally == 1, "summary3 no votes is not 1"); + + //Start a new tally object for the next block - vote abstain + CVoteTally tally4(tally3); + nVote = 0x40000011; + tally4.ProcessNewVotes(nVote); + CVoteSummary summary4; + BOOST_CHECK_MESSAGE(tally4.GetSummary(proposal.GetHash(), summary4), "failed to get summary from tally2"); + BOOST_CHECK_MESSAGE(summary4.nYesTally == 2, "summary4 is not 2"); + BOOST_CHECK_MESSAGE(summary4.nNoTally == 1, "summary4 no votes is not 1"); + +} + BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 603fcbc15..0f60379d3 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -2,45 +2,14 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "voteobject.h" -#include +#include "main.h" using namespace std; -//Convert char* into string showing its binary -string CVoteObject::PrintBinary(uint32_t n) -{ - string result; - for (int i = 0; i < 32; i ++) { - result.push_back( '0' + (n & 1) ); - n >>= 1; - } - - reverse( result.begin(), result.end() ); - - return result; -} - bool CVoteObject::Vote(int nVotersChoice) { -// int versionInFirstFour = CBlock::CURRENT_VERSION << 28; -// cout << "-------------------------------------------------------------" << endl; -// // cout << "CURRENT VERSION: " << PrintBinary(versionInFirstFour) << endl; -// cout << "voter's choice: " << nVotersChoice << endl; -// // transform Choice to uint32_t -// nChoice = static_cast(nVotersChoice); -// // move Choice to its place in Version -// nChoice <<= proposal.GetShift(); -// cout << "choice after getting shift " << PrintBinary(nChoice) << endl; -// // combine Choice with Version -// nFormattedVote = (versionInFirstFour |= nChoice); -// // flag Voted -// fVoted = true; -// cout << "new nVersion: " << PrintBinary(nFormattedVote) << endl; -// return true; - - uint32_t versionInFirstFour = CBlock::CURRENT_VERSION << 28; - int32_t binaryChoice = 0; + uint32_t binaryChoice = 0; if (nVotersChoice == 0) { // Abstain 00 binaryChoice = 0; @@ -56,14 +25,14 @@ bool CVoteObject::Vote(int nVotersChoice) } nChoice = binaryChoice; - nChoice <<= proposal.GetShift(); + nChoice <<= nShift; nFormattedVote = (versionInFirstFour |= nChoice); return true; } uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) { - int diff = proposal.GetShift() - proposal.GetCardinals(); + int diff = nShift - nCardinals; uint32_t mask; mask = ((1 << (diff + 1)) - 1) << diff; return (nVersion & mask) >> diff; diff --git a/src/voteobject.h b/src/voteobject.h index 7d8f5515d..8f5b3ce17 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -1,11 +1,11 @@ // Copyright (c) 2017 The HyperStake Developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. - #ifndef HYPERSTAKE_VOTEOBJECT_H #define HYPERSTAKE_VOTEOBJECT_H -#include "voteproposal.h" +#include "serialize.h" +#include "uint256.h" class CVoteObject { @@ -13,7 +13,9 @@ class CVoteObject uint32_t nChoice; uint32_t nFormattedVote; bool fVoted; - CVoteProposal proposal; + uint256 hashProposal; + int nCardinals; + int nShift; public: void SetNull() @@ -21,19 +23,24 @@ class CVoteObject nChoice = 0; nFormattedVote = 0; fVoted = false; - proposal = CVoteProposal(); + hashProposal = 0; + nCardinals = 0; + nShift = 0; } - bool IsNull () { return proposal.IsNull(); } + bool IsNull () { return hashProposal == 0; } CVoteObject() { SetNull(); } - CVoteObject(CVoteProposal proposal) + CVoteObject(uint256 hashProposal, int nCardinals, int nShift) { - this->proposal= proposal; + SetNull(); + this->hashProposal = hashProposal; + this->nCardinals = nCardinals; + this->nShift = nShift; } IMPLEMENT_SERIALIZE @@ -41,14 +48,15 @@ class CVoteObject READWRITE(nChoice); READWRITE(nFormattedVote); READWRITE(fVoted); - READWRITE(proposal); + READWRITE(hashProposal); + READWRITE(nCardinals); + READWRITE(nShift); ) bool Vote(int nVotersChoice); uint32_t GetVoteFromVersion(uint32_t nVersion); uint32_t GetFormattedVote() { return nFormattedVote; }; - CVoteProposal GetProposal() { return proposal; }; - std::string PrintBinary(uint32_t n); + uint256 GetProposal() { return hashProposal; } }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/votetally.cpp b/src/votetally.cpp index d7a606173..32d18bd6a 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -1,34 +1,97 @@ #include "votetally.h" +#include "util.h" +#define VOTEMASK 0x0FFFFFFF using namespace std; +CVoteTally::CVoteTally(CVoteTally* tallyPrev) +{ + this->nHeight = tallyPrev->nHeight + 1; + this->mapVotes = tallyPrev->GetVotes(); + RemoveStaleSummaries(); +} + +void CVoteTally::RemoveStaleSummaries() +{ + for (auto it : mapVotes) { + //If the vote has ended, then remove it from the new Tally + if (it.second.nBlockStart + it.second.nCheckSpan <= this->nHeight) { + mapLocations.erase(it.first); + mapVotes.erase(it.first); + } + } +} + +//! See if the new location is in the range of the existing location +bool CVoteTally::IsLocationOccupied(VoteLocation location) +{ + for (auto it : mapLocations) { + uint8_t nStart = it.second.first; + uint8_t nEnd = it.second.second; + + if (location.first >= nStart && location.first <= nEnd) + return true; + + if (location.second >= nStart && location.second <= nEnd) + return true; + } -// takes uint32_t of the vote -// if the vote is yes, adds to YesTally -// returns YesTally after update, if any -int CVoteTally::CountVote(uint32_t voteFromVersion, CVoteObject voteobject) { - voteFromVersion >>= proposal.GetShift(); - cout << "voteFromVersion: " << voteobject.PrintBinary(voteFromVersion) << endl; + return false; +} - if (nBlocksCounted <= proposal.GetCheckSpan()) { - cout << "blocks counted: " << nBlocksCounted << endl; - if (voteFromVersion == 1) - nYesTally++; +//! Proposal Manager will give a set of new positions if any start this block +bool CVoteTally::SetNewPositions(std::map &mapNewLocations) +{ + for (auto it : mapNewLocations) { + VoteLocation locationNew = it.second; + if (IsLocationOccupied(locationNew)) + return error("%s: location is already occupied!", __func__); - nBlocksCounted++; - SetNoTally(); - return nYesTally; + mapLocations.insert(make_pair(it.first, locationNew)); + CVoteSummary summary; + mapVotes.insert(make_pair(it.first, summary)); } - return 0; + return true; } -//Look for vote in a block version, add the vote to the tally -int CVoteTally::ProcessVersion(const uint32_t nVersion, CVoteObject voteobject) +//! Record votes that were in the block header +void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) { - uint32_t nVoteFromVersion = voteobject.GetVoteFromVersion(nVersion); - return CountVote(nVoteFromVersion, voteobject); + for (auto it : mapVotes) { + VoteLocation location = mapLocations.at(it.first); + int32_t nVote = nVersion; + nVote &= VOTEMASK; // remove version bits + nVote >>= location.first + 1; //shift it over to the starting position + int32_t nBits = location.second - location.first; + + // Remove any bits to the left of the vote bits + int32_t nMask = 1; + for (int i = 0; i < nBits - 1; i++) { + nMask <<= 1; + nMask |= 1; + } + nVote &= nMask; + + //Count the vote if it is yes or no + if (nVote == 1) { + mapVotes.at(it.first).nYesTally++; + } else if (nVote > 1) + mapVotes.at(it.first).nNoTally++; + } } +bool CVoteTally::GetSummary(const uint256& hashProposal, CVoteSummary& summary) +{ + auto it = mapVotes.find(hashProposal); + if (it == mapVotes.end()) + return false; + + summary = it->second; + + return true; +} + + diff --git a/src/votetally.h b/src/votetally.h index 644386277..3f35f96bc 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -2,28 +2,68 @@ #define VOTING_VOTETALLY_H #include -#include "voteproposal.h" -#include "voteobject.h" +#include "serialize.h" +#include "uint256.h" -class CVoteTally { +class CVoteSummary +{ +public: + unsigned int nBlockStart; + unsigned int nCheckSpan; + unsigned int nYesTally; + unsigned int nNoTally; //Since voters can abstain, a no tally is needed + + CVoteSummary() + { + nBlockStart = 0; + nCheckSpan = 0; + nYesTally = 0; + nNoTally = 0; + } + + IMPLEMENT_SERIALIZE + ( + READWRITE(nBlockStart); + READWRITE(nCheckSpan); + READWRITE(nYesTally); + READWRITE(nNoTally); + ) +}; + +typedef std::pair VoteLocation; //start bit, end bit + +class CVoteTally +{ private: - std::map mapVotes; - int nYesTally; // store the total yes's so far - int nNoTally; - int nBlocksCounted; // store the total number of blocks checked so far - CVoteProposal proposal; + unsigned int nHeight; + std::map mapVotes; + std::map mapLocations; //Where each vote is located in the header + void RemoveStaleSummaries(); + bool IsLocationOccupied(VoteLocation location); public: - CVoteTally(CVoteProposal proposal) + void SetNull() + { + nHeight = 0; + mapVotes.clear(); + } + + CVoteTally() { - this->proposal = proposal; + SetNull(); } - void SetNoTally() {nNoTally = nBlocksCounted - nYesTally;} - int CountVote(uint32_t voteFromVersion, CVoteObject voteobject); - int ProcessVersion(const uint32_t nVersion, CVoteObject voteobject); - int GetYesVotes() {return nYesTally;}; - bool AddVoteToVersion(uint32_t& nVersion); - std::string toString(); + explicit CVoteTally(CVoteTally* tallyPrev); + bool SetNewPositions(std::map& mapNewLocations); + void ProcessNewVotes(const uint32_t& nVersion); + bool GetSummary(const uint256& hashProposal, CVoteSummary& summary); + std::map GetVotes() { return mapVotes; } + + IMPLEMENT_SERIALIZE + ( + READWRITE(nHeight); + READWRITE(mapVotes); + READWRITE(mapLocations); + ) }; #endif //VOTING_VOTETALLY_H From 3d509642cfd8c5536b274db5597d58182348de7c Mon Sep 17 00:00:00 2001 From: tuningmind Date: Mon, 12 Feb 2018 16:52:02 -0700 Subject: [PATCH 512/555] Initial commit charset branch --- .gitignore | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index faaa52fe0..770c046ce 100644 --- a/.gitignore +++ b/.gitignore @@ -142,6 +142,8 @@ build-aux/m4/lt~obsolete.m4 moc_paymentserver.cpp Hyperstake-Qt.dmg +../log.0000000001 +log.0000000001 # Created by https://www.gitignore.io/api/osx,vim,clion @@ -259,4 +261,4 @@ tags # Eclipse Core .project -protobuf/ \ No newline at end of file +protobuf/ From eef40f924275b6856608339f5bf18c6bfd0753a5 Mon Sep 17 00:00:00 2001 From: tuningmind Date: Mon, 12 Feb 2018 18:07:50 -0700 Subject: [PATCH 513/555] Use uint160 to hold hex values --- src/Makefile.am | 3 +++ src/test/voting_tests.cpp | 9 ++++++++- src/votecharset.cpp | 32 ++++++++++++++++++++++++++++++++ src/votecharset.h | 3 +++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 src/votecharset.cpp create mode 100644 src/votecharset.h diff --git a/src/Makefile.am b/src/Makefile.am index a31e83a65..1457eb584 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -83,8 +83,10 @@ BITCOIN_CORE_H = \ voteproposalmamager.h \ voteproposal.h \ voteobject.h \ + votecharset.h \ votetally.h + JSON_H = \ json/json_spirit.h \ json/json_spirit_error_position.h \ @@ -134,6 +136,7 @@ libbitcoin_server_a_SOURCES = \ voteproposal.cpp \ voteobject.cpp \ votetally.cpp \ + votecharset.cpp \ shavite.c \ simd.c \ skein.c \ diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 51e66d01b..57a28c64b 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -8,6 +8,7 @@ #include "../voteproposal.h" #include "../voteobject.h" #include "../votetally.h" +#include "../votecharset.h" using namespace std; @@ -126,4 +127,10 @@ BOOST_AUTO_TEST_CASE(vote_tally) } -BOOST_AUTO_TEST_SUITE_END() \ No newline at end of file +BOOST_AUTO_TEST_CASE(vote_charset) +{ + std::string someString; + BOOST_CHECK_MESSAGE(transformStringChars("test", someString), "transform succeeded"); +} + +BOOST_AUTO_TEST_SUITE_END() diff --git a/src/votecharset.cpp b/src/votecharset.cpp new file mode 100644 index 000000000..77e328d41 --- /dev/null +++ b/src/votecharset.cpp @@ -0,0 +1,32 @@ +#include +#include + +#include "votecharset.h" +#include "uint256.h" + +std::map charcodes = + { + {"e", 0x25}, + {"s", 0x33}, + {"t", 0x34}, + }; + +bool transformStringChars(std::string strFromUser, std::string &returnString) +{ + std::string strIncoming = strFromUser.c_str(); + std::transform(strIncoming.begin(), strIncoming.end(), strIncoming.begin(), ::tolower); + uint160 v; + v <<= 6; + + std::string c; + for (int i = 0; i < strIncoming.size(); i++) { + c = strIncoming[i]; + if (charcodes.count(c)) { + v |= uint160( charcodes.find(c) -> second ); + } + else { return false; } + } + std::cout << "testing text: " << v.GetHex() << std::endl; + returnString = v.GetHex(); + return true; +} diff --git a/src/votecharset.h b/src/votecharset.h new file mode 100644 index 000000000..cb17f7fda --- /dev/null +++ b/src/votecharset.h @@ -0,0 +1,3 @@ +#include + +bool transformStringChars(std::string strFromUser, std::string &returnString); From 9d88d848c4b8a97c0ed5b85575302a0e746248a3 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 23 Feb 2018 09:33:56 -0700 Subject: [PATCH 514/555] Partially done voting charset. --- src/test/voting_tests.cpp | 7 +++- src/votecharset.cpp | 68 +++++++++++++++++++++++++++------------ src/votecharset.h | 3 +- 3 files changed, 55 insertions(+), 23 deletions(-) diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 57a28c64b..274b2fabf 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -130,7 +130,12 @@ BOOST_AUTO_TEST_CASE(vote_tally) BOOST_AUTO_TEST_CASE(vote_charset) { std::string someString; - BOOST_CHECK_MESSAGE(transformStringChars("test", someString), "transform succeeded"); + std::vector vch; + BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); + cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; + BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); + + cout << "deconverted string: " << someString << endl; } BOOST_AUTO_TEST_SUITE_END() diff --git a/src/votecharset.cpp b/src/votecharset.cpp index 77e328d41..1b8633d58 100644 --- a/src/votecharset.cpp +++ b/src/votecharset.cpp @@ -1,32 +1,58 @@ -#include #include +#include #include "votecharset.h" #include "uint256.h" +#include "script.h" -std::map charcodes = - { - {"e", 0x25}, - {"s", 0x33}, - {"t", 0x34}, - }; +static const std::string strCharCodes = "0123456789abdefghijklmnopqrstuvwxyz ,.?!"; -bool transformStringChars(std::string strFromUser, std::string &returnString) +//first 8 bits - uint8_t with character count +bool ConvertTo6bit(std::string strFromUser, std::vector& vchRet) { - std::string strIncoming = strFromUser.c_str(); - std::transform(strIncoming.begin(), strIncoming.end(), strIncoming.begin(), ::tolower); - uint160 v; - v <<= 6; - - std::string c; - for (int i = 0; i < strIncoming.size(); i++) { - c = strIncoming[i]; - if (charcodes.count(c)) { - v |= uint160( charcodes.find(c) -> second ); + std::transform(strFromUser.begin(), strFromUser.end(), strFromUser.begin(), ::tolower); + uint160 v = 0; + for (int i = 0; i < strFromUser.size(); i++) { + char c = strFromUser[i]; + std::cout << "first in: " << c << std::endl; + uint160 pos = strCharCodes.find(c); + if (pos != std::string::npos) { + v >>= 6; + v |= pos << 154; } - else { return false; } + else + return false; } - std::cout << "testing text: " << v.GetHex() << std::endl; - returnString = v.GetHex(); + + v >>= 8; + uint160 nSize = strFromUser.size(); + nSize <<= 152; + v |= nSize; + + vchRet = ToByteVector(v); + return true; +} + +bool ConvertTo8bit(std::vector vch, std::string& strRet) +{ + uint160 n = 0; + for (int i = 0; i < vch.size(); i++) { + n >>= 8; + n |= uint160(vch[i]) << 154; + } + + uint160 mask = 0x3f; + mask <<= 154; + uint160 nSize = n >> 152; + std::cout << "size: " << nSize.Get64() << std::endl; + for (int i = 0; i < nSize; i++) { + uint160 j = n & mask; + n >>= 6; + std::cout << "j: " << j.Get64() << std::endl; + char c = strCharCodes.at(j.Get64()); + std::cout << "letter: " << c << std::endl; + strRet += c; + } + return true; } diff --git a/src/votecharset.h b/src/votecharset.h index cb17f7fda..4f2edfe95 100644 --- a/src/votecharset.h +++ b/src/votecharset.h @@ -1,3 +1,4 @@ #include -bool transformStringChars(std::string strFromUser, std::string &returnString); +bool ConvertTo6bit(std::string strFromUser, std::vector& vchRet); +bool ConvertTo8bit(std::vector vch, std::string& strRet); \ No newline at end of file From ba588043e182b8d53a1fe0c040c57b7f354e936e Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 23 Feb 2018 13:44:36 -0700 Subject: [PATCH 515/555] Track current active proposals using proposal manager. --- src/main.cpp | 12 +++++++-- src/main.h | 2 ++ src/rpcblockchain.cpp | 4 +-- src/rpcwallet.cpp | 8 +++--- src/test/voting_tests.cpp | 2 +- src/voteproposal.cpp | 13 ++++++--- src/voteproposal.h | 34 +++++++++++++----------- src/voteproposalmanager.cpp | 53 ++++++++++++++++++++++++++++++++----- src/voteproposalmanager.h | 23 +++++++++++----- src/votetally.cpp | 20 +------------- 10 files changed, 111 insertions(+), 60 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index be3b2700b..214004fac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,6 +12,7 @@ #include "kernel.h" #include "scrypt_mine.h" #include "votetally.h" +#include "voteproposalmanager.h" #include #include #include @@ -78,6 +79,8 @@ bool fStrictProtocol = false; bool fStrictIncoming = false; bool fWalletStaking = false; +CVoteProposalManager proposalManager; + // Constant stuff for coinbase transactions we create: CScript COINBASE_FLAGS; @@ -1671,15 +1674,20 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) CVoteProposal proposal; if (ProposalFromTransaction(tx, proposal)) { mapProposals[txid] = GetHash(); - if (!voteDB.WriteProposal(txid, proposal)) + if (!voteDB.WriteProposal(txid, proposal)) { printf("%s : failed to record proposal to db\n", __func__); + } else { + if (!proposalManager.Add(proposal)) + printf("%s: failed to add proposal %s to manager\n", __func__, txid.GetHex().c_str()); + } } } } //Record new votes to the tally CVoteTally tally(pindex->pprev->tally); - //tally.SetNewPositions(mapNewLocations); + map mapActive = proposalManager.GetActive(pindex->nHeight); + tally.SetNewPositions(mapActive); tally.ProcessNewVotes(static_cast(pindex->nVersion)); pindex->tally = tally; diff --git a/src/main.h b/src/main.h index 4680f9a65..46549726c 100644 --- a/src/main.h +++ b/src/main.h @@ -12,6 +12,7 @@ #include "scrypt_mine.h" #include "hashblock.h" #include "votetally.h" +#include "voteproposalmanager.h" #include #include @@ -102,6 +103,7 @@ extern bool fStrictProtocol; extern bool fStrictIncoming; extern bool fGenerateBitcoins; extern bool fWalletStaking; +extern CVoteProposalManager proposalManager; // Settings extern int64 nTransactionFee; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 05ceb1926..dded43d6f 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -364,8 +364,8 @@ Value listproposals(const Array& params, bool fHelp) jsonProposal.emplace_back(Pair("name", proposal.GetName())); jsonProposal.emplace_back(Pair("description", proposal.GetDescription())); jsonProposal.emplace_back(Pair("shift", proposal.GetShift())); - jsonProposal.emplace_back(Pair("start_time", (boost::int64_t)proposal.GetStartTime())); - jsonProposal.emplace_back(Pair("cardinals", proposal.GetCardinals())); + jsonProposal.emplace_back(Pair("start_time", (boost::int64_t)proposal.GetStartHeight())); + jsonProposal.emplace_back(Pair("cardinals", proposal.GetBitCount())); arrRet.emplace_back(jsonProposal); } } diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 88dd84656..2c6b0f058 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2909,7 +2909,7 @@ Value setvote(const Array& params, bool fHelp) if (!ProposalFromTransaction(tx, proposal)) return "Proposal couldn't be found in the transaction"; - CVoteObject voteObject(proposal.GetHash(), proposal.GetCardinals(), proposal.GetShift()); + CVoteObject voteObject(proposal.GetHash(), proposal.GetBitCount(), proposal.GetShift()); voteObject.Vote(voteChoice); @@ -2968,7 +2968,7 @@ Value getvote(const Array& params, bool fHelp) CVoteObject voteObject; voteObject = pwalletMain->mapVoteObjects[proposalHash]; - int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); + int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); @@ -2985,7 +2985,7 @@ Value getvote(const Array& params, bool fHelp) if (!walletdb.ReadVoteObject(proposal.GetHash().GetHex(), voteObject)) return "No vote has been stored for this proposal "; - int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); + int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); @@ -3022,7 +3022,7 @@ Value getvotes(const Array& params, bool fHelp) if (!votedb.ReadProposal(it->first, proposal)) return JSONRPCError(RPC_DATABASE_ERROR, "Failed to find proposal in database"); - int voteValue = it->second.GetFormattedVote() >> proposal.GetShift() & proposal.GetCardinals(); + int voteValue = it->second.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); Object entry; entry.push_back(Pair("Proposal Name", proposal.GetName())); entry.push_back(Pair("Proposal Description", proposal.GetDescription())); diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 274b2fabf..7bcc3d174 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -83,7 +83,7 @@ BOOST_AUTO_TEST_CASE(vote_tally) map mapNewLocations; VoteLocation location; - location.first = static_cast(proposal.GetShift() - proposal.GetCardinals()); + location.first = static_cast(proposal.GetShift() - proposal.GetBitCount()); location.second = static_cast(proposal.GetShift()); mapNewLocations.insert(make_pair(proposal.GetHash(), location)); diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 262aeaec2..e11fe3725 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -6,9 +6,8 @@ using namespace std; - - -uint256 CVoteProposal::GetHash() { +uint256 CVoteProposal::GetHash() const +{ return SerializeHash(*this); } @@ -75,4 +74,12 @@ bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) } return true; +} + +VoteLocation CVoteProposal::GetLocation() const +{ + VoteLocation location; + location.first = static_cast(GetShift()); + location.second = static_cast(location.first - GetBitCount()); + return location; } \ No newline at end of file diff --git a/src/voteproposal.h b/src/voteproposal.h index c4e5b503f..a783aa3cf 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -8,6 +8,7 @@ #include #include "main.h" #include "serialize.h" +#include "votetally.h" class CVoteProposal { @@ -19,13 +20,13 @@ class CVoteProposal uint8_t nShift; // where in the blockchain we start counting votes, nStartHeight - unsigned int nStartTime; + unsigned int nStartHeight; // how far in the blockchain are we scanning int nCheckSpan; // number of bits in the block version used for one vote, nBitCount - uint8_t nCardinals; + uint8_t nBitCount; // description of the proposal; may link to additional transactions std::string strDescription; @@ -37,9 +38,9 @@ class CVoteProposal { strName = ""; nShift = 0; - nStartTime = 0; + nStartHeight = 0; nCheckSpan = 0; - nCardinals = 0; + nBitCount = 0; strDescription = ""; } @@ -50,14 +51,14 @@ class CVoteProposal SetNull(); } - CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartTime, int nCheckSpan, uint8_t nCardinals, + CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartHeight, int nCheckSpan, uint8_t nCardinals, std::string strDescription) { this->strName = strName; this->nShift = nShift; - this->nStartTime = nStartTime; + this->nStartHeight = nStartHeight; this->nCheckSpan = nCheckSpan; - this->nCardinals = nCardinals; + this->nBitCount = nCardinals; this->strDescription = strDescription; } @@ -65,20 +66,21 @@ class CVoteProposal ( READWRITE(strName); READWRITE(nShift); - READWRITE(nStartTime); + READWRITE(nStartHeight); READWRITE(nCheckSpan); - READWRITE(nCardinals); + READWRITE(nBitCount); READWRITE(strDescription); ) bool ConstructTransaction(CTransaction& tx); - int GetShift() { return nShift; } - uint8_t GetCardinals() { return nCardinals; } - int GetCheckSpan() { return nCheckSpan; } - std::string GetName() { return strName; } - std::string GetDescription() { return strDescription; } - unsigned int GetStartTime() { return nStartTime; } - uint256 GetHash(); + int GetShift() const { return nShift; } + uint8_t GetBitCount() const { return nBitCount; } + int GetCheckSpan() const { return nCheckSpan; } + std::string GetName() const { return strName; } + std::string GetDescription() const { return strDescription; } + unsigned int GetStartHeight() const { return nStartHeight; } + VoteLocation GetLocation() const; + uint256 GetHash() const; }; diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 2ac4e3cb8..9d2d42034 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -2,18 +2,57 @@ // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. -#include "main.h" #include "voteproposalmanager.h" #include "voteproposal.h" -std::string CVoteProposalManager::GetProposals() +using namespace std; + +//! Add a proposal to the manager. Note that it must not have conflicts in its scheduling. +bool CVoteProposalManager::Add(const CVoteProposal& proposal) { - std::string strReturn; - for (std::map::iterator it = mapPendingProposals.begin(); it != mapPendingProposals.end(); it++) - { - strReturn += (*it).first.GetHex() + "\n"; + CProposalMetaData newProposal; + newProposal.location = proposal.GetLocation(); + newProposal.hash = proposal.GetHash(); + newProposal.nHeightStart = proposal.GetStartHeight(); + newProposal.nHeightEnd = newProposal.nHeightStart + proposal.GetCheckSpan(); + + //Check if any of the existing proposals are using the same bits during the same time + for (auto it : mapProposalData) { + CProposalMetaData existingProposal = it.second; + //Clear of any conflicts, starts after the existing proposal ends + if (newProposal.location.first < existingProposal.location.second) + continue; + //Clear of any conflicts, ends before the existing proposal starts + if (newProposal.location.second > existingProposal.location.first) + continue; + //Clear of any conflicts, there is not overlap in the voting period + if (newProposal.nHeightStart > existingProposal.nHeightEnd || newProposal.nHeightEnd < existingProposal.nHeightStart) + continue; + + return error("%s: Proposal position is already occupied during the block span requested", __func__); } - return strReturn; + mapProposalData.insert(make_pair(newProposal.hash, newProposal)); + return true; +} + +//! Remove a proposal from the proposal manager +void CVoteProposalManager::Remove(const uint256& hashProposal) +{ + auto it = mapProposalData.find(hashProposal); + if (it != mapProposalData.end()) + mapProposalData.erase(it); } +//! Get proposals that are actively being voted on +map CVoteProposalManager::GetActive(int nHeight) +{ + map mapActive; + for (auto it : mapProposalData) { + CProposalMetaData data = it.second; + if ((int)data.nHeightStart >= nHeight && (int)data.nHeightEnd <= nHeight) + mapActive.insert(make_pair(data.hash, data.location)); + } + + return mapActive; +} diff --git a/src/voteproposalmanager.h b/src/voteproposalmanager.h index 8d9aef235..5e39975d7 100644 --- a/src/voteproposalmanager.h +++ b/src/voteproposalmanager.h @@ -5,16 +5,27 @@ #ifndef HYPERSTAKE_VOTEPROPOSALMANAGER_H #define HYPERSTAKE_VOTEPROPOSALMANAGER_H +#include +#include "votetally.h" + +class CVoteProposal; + +struct CProposalMetaData +{ + uint256 hash; + VoteLocation location; + unsigned int nHeightStart; + unsigned int nHeightEnd; +}; + class CVoteProposalManager { private: - int nPendingCount; + std::map mapProposalData; public: - CVoteProposalManager() - { - } - std::string GetProposals(); - int GetPendingCount() {return nPendingCount;}; + bool Add(const CVoteProposal& proposal); + void Remove(const uint256& hashProposal); + std::map GetActive(int nHeight); }; #endif //HYPERSTAKE_VOTEPROPOSALMANAGER_H diff --git a/src/votetally.cpp b/src/votetally.cpp index 32d18bd6a..45be15359 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -23,30 +23,12 @@ void CVoteTally::RemoveStaleSummaries() } } -//! See if the new location is in the range of the existing location -bool CVoteTally::IsLocationOccupied(VoteLocation location) -{ - for (auto it : mapLocations) { - uint8_t nStart = it.second.first; - uint8_t nEnd = it.second.second; - - if (location.first >= nStart && location.first <= nEnd) - return true; - - if (location.second >= nStart && location.second <= nEnd) - return true; - } - - return false; -} - //! Proposal Manager will give a set of new positions if any start this block bool CVoteTally::SetNewPositions(std::map &mapNewLocations) { + mapLocations.clear(); for (auto it : mapNewLocations) { VoteLocation locationNew = it.second; - if (IsLocationOccupied(locationNew)) - return error("%s: location is already occupied!", __func__); mapLocations.insert(make_pair(it.first, locationNew)); CVoteSummary summary; From f03d88e0eaae27a341157ced1ed207c0c91cf6a0 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 25 Feb 2018 13:40:56 -0700 Subject: [PATCH 516/555] temp staging --- src/db.cpp | 10 +++++++++- src/kernel.cpp | 2 ++ src/main.cpp | 44 ++++++++++++++++++++++++++++++++----------- src/main.h | 27 ++------------------------ src/rpcblockchain.cpp | 3 ++- src/rpcwallet.cpp | 18 ++++++++++++++++-- src/voteproposal.cpp | 3 +-- 7 files changed, 65 insertions(+), 42 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index a405b007b..5a08d1012 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -888,7 +888,15 @@ bool CVoteDB::Load() { uint256 txid; ssKey >> txid; - mapProposals.insert(make_pair(txid, uint256(0))); + + try { + CVoteProposal proposal; + ssValue >> proposal; + mapProposals.insert(make_pair(txid, proposal.GetHash())); + proposalManager.Add(proposal); + } catch (...) { + printf("**failed to deserialize proposal\n"); + } } else { diff --git a/src/kernel.cpp b/src/kernel.cpp index 3d1069468..4fd40a672 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -437,6 +437,8 @@ bool CheckCoinStakeTimestamp(int64 nTimeBlock, int64 nTimeTx) // Get stake modifier checksum unsigned int GetStakeModifierChecksum(const CBlockIndex* pindex) { + if (!pindex->pprev) + printf("*** no pprev\n"); assert (pindex->pprev || pindex->GetBlockHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)); // Hash previous checksum with flags, hashProofOfStake and nStakeModifier CDataStream ss(SER_GETHASH, 0); diff --git a/src/main.cpp b/src/main.cpp index 214004fac..299d34430 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -73,7 +73,7 @@ map > mapOrphanTransactionsByPrev; map mapHashedBlocks; map > mapGetBlocksRequests; std::map mapPeerRejectedBlocks; -std::map mapProposals; +std::map mapProposals; //txid, proposal hash std::map mapPendingProposals; bool fStrictProtocol = false; bool fStrictIncoming = false; @@ -1673,7 +1673,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) if (count(vQueuedProposals.begin(), vQueuedProposals.end(), txid)) { CVoteProposal proposal; if (ProposalFromTransaction(tx, proposal)) { - mapProposals[txid] = GetHash(); + mapProposals[txid] = proposal.GetHash(); if (!voteDB.WriteProposal(txid, proposal)) { printf("%s : failed to record proposal to db\n", __func__); } else { @@ -1821,6 +1821,30 @@ bool static Reorganize(CTxDB& txdb, CBlockIndex* pindexNew) return true; } +void CBlock::print() const +{ + std::stringstream ss; + ss << "CBlock(hash=" + << GetHash().ToString().c_str() + << " ver = " << nVersion + << " hashPrevBlock = " << hashPrevBlock.ToString().c_str() + << " hasMerkleRoot = " << hashMerkleRoot.ToString().c_str() + << " nTime = " << nTime + << " nBits = " << nBits + << " nNonce = " << nNonce + << " vtx = " << vtx.size() + << " vhcBlockSig = " << HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str(); + printf("%s ", ss.str().c_str()); + for (unsigned int i = 0; i < vtx.size(); i++) + { + printf(" "); + vtx[i].print(); + } + printf(" vMerkleTree: "); + for (unsigned int i = 0; i < vMerkleTree.size(); i++) + printf("%s ", vMerkleTree[i].ToString().substr(0,10).c_str()); + printf("\n"); +} // Called from inside SetBestChain: attaches a block to the new best chain being built bool CBlock::SetBestChainInner(CTxDB& txdb, CBlockIndex *pindexNew) @@ -4143,43 +4167,41 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) return NULL; // Only use the first 4 bits for the version encoding - pblock->nVersion = pblock->nVersion << 28; + pblock->nVersion = CBlock::VOTING_VERSION; //Check to see if proposals need to be voted on if (mapProposals.size() > 0) { list votes; // Get all the vote objects versions + map mapActiveProposals = proposalManager.GetActive(nBestHeight); if (pwalletMain->mapVoteObjects.size() > 0) { - map::iterator it; - for (it = mapProposals.begin(); it != mapProposals.end(); it++) { + for (map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) { CWalletTx walletTx; if (!pwalletMain->GetTransaction(it->first, walletTx)) { - cout << "tried to get transaction but failed" << endl; continue; } CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) { - cout << "tx in the map of proposals isn't a proposal" << endl; continue; } CVoteProposal proposal; if (!ProposalFromTransaction(tx, proposal)) { - cout << "Couldn't get the proposal from the transaction" << endl; continue; } + if (!mapActiveProposals.count(proposal.GetHash())) + continue; + if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { - cout << "Vote object not found in mapVoteObjects" << endl; continue; } CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; - - cout << "voteObjectFormattedVote" + voteObject.GetFormattedVote() << endl; votes.push_back(voteObject.GetFormattedVote()); + printf("*** added vote for %s\n", proposal.GetName()); } } diff --git a/src/main.h b/src/main.h index 46549726c..712f51e7f 100644 --- a/src/main.h +++ b/src/main.h @@ -838,8 +838,8 @@ class CBlock { public: // header - static const int CURRENT_VERSION=4; static const int VOTING_VERSION = 0x50000000; + static const int CURRENT_VERSION=VOTING_VERSION; int nVersion; uint256 hashPrevBlock; uint256 hashMerkleRoot; @@ -1059,30 +1059,7 @@ class CBlock - void print() const - { - std::cout << "CBlock(hash=" - << GetHash().ToString().c_str() - << " ver = " << nVersion - << " hashPrevBlock = " << hashPrevBlock.ToString().c_str() - << " hasMerkleRoot = " << hashMerkleRoot.ToString().c_str() - << " nTime = " << nTime - << " nBits = " << nBits - << " nNonce = " << nNonce - << " vtx = " << vtx.size() - << " vhcBlockSig = " << HexStr(vchBlockSig.begin(), vchBlockSig.end()).c_str(); - for (unsigned int i = 0; i < vtx.size(); i++) - { - printf(" "); - vtx[i].print(); - } - printf(" vMerkleTree: "); - for (unsigned int i = 0; i < vMerkleTree.size(); i++) - printf("%s ", vMerkleTree[i].ToString().substr(0,10).c_str()); - printf("\n"); - } - - + void print() const; bool DisconnectBlock(CTxDB& txdb, CBlockIndex* pindex); bool ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck=false); bool ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions=true); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index dded43d6f..89392542d 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -360,7 +360,8 @@ Value listproposals(const Array& params, bool fHelp) CVoteProposal proposal; if (voteDB.ReadProposal(it.first, proposal)) { Object jsonProposal; - jsonProposal.emplace_back(Pair("hash", it.first.GetHex())); + jsonProposal.emplace_back(Pair("txhash", it.first.GetHex())); + jsonProposal.emplace_back(Pair("proposalhash", proposal.GetHash().GetHex())); jsonProposal.emplace_back(Pair("name", proposal.GetName())); jsonProposal.emplace_back(Pair("description", proposal.GetDescription())); jsonProposal.emplace_back(Pair("shift", proposal.GetShift())); diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 2c6b0f058..297cb4487 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -3018,9 +3018,23 @@ Value getvotes(const Array& params, bool fHelp) Array ret; map::iterator it; for (it = pwalletMain->mapVoteObjects.begin(); it != pwalletMain->mapVoteObjects.end(); it++) { + + uint256 txid = 0; + for (auto mit : mapProposals) { + if (mit.second == it->first) + txid = mit.first; + break; + } + + if (txid == 0) + return JSONRPCError(RPC_DATABASE_ERROR, strprintf("failed to find txid for proposal %s", it->first.GetHex().c_str())); + CVoteProposal proposal; - if (!votedb.ReadProposal(it->first, proposal)) - return JSONRPCError(RPC_DATABASE_ERROR, "Failed to find proposal in database"); + if (!votedb.ReadProposal(it->first, proposal)) { + string strMessage = strprintf("Failed to find proposal %s in database", it->first.GetHex().c_str()); + return JSONRPCError(RPC_DATABASE_ERROR, strMessage); + } + int voteValue = it->second.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); Object entry; diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index e11fe3725..97a1929cd 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -69,8 +69,7 @@ bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) try { ss >> proposal; } catch(std::exception& e) { - std::cout << "failed to deserialize: " << e.what() << "\n"; - return false; + return error("%s: failed to deserialize: %s ", __func__, e.what()); } return true; From 976b9560ccc776e4842f0f2e7297ded072d6d29c Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 26 Feb 2018 17:02:04 -0700 Subject: [PATCH 517/555] Work through various voting bugs. --- src/bitcoinrpc.cpp | 3 +- src/bitcoinrpc.h | 1 + src/db.cpp | 1 + src/kernel.cpp | 2 +- src/main.cpp | 39 +++++++++++++++++------ src/main.h | 18 +++++------ src/rpcblockchain.cpp | 63 ++++++++++++++++++++++++++++++++----- src/rpcwallet.cpp | 9 +++--- src/voteobject.h | 3 +- src/voteproposalmanager.cpp | 3 +- src/votetally.cpp | 27 ++++++++++++++-- src/votetally.h | 1 + 12 files changed, 134 insertions(+), 36 deletions(-) diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index 30cbd7bca..97b662895 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -292,7 +292,8 @@ static const CRPCCommand vRPCCommands[] = { "setvote", &setvote, false, false }, { "getvote", &getvote, false, false }, { "getvotes", &getvotes, false, false }, - { "listproposals", &listproposals, false, false }, + { "listproposals", &listproposals, false, false }, + { "getproposalstatus", &getproposalstatus, false, false }, { "hashsettings", &hashsettings, false, false }, { "gettxfee", &gettxfee, false, false }, { "getstakingstatus", &getstakingstatus, false, false }, diff --git a/src/bitcoinrpc.h b/src/bitcoinrpc.h index 9191992b2..1d1a047bd 100644 --- a/src/bitcoinrpc.h +++ b/src/bitcoinrpc.h @@ -237,6 +237,7 @@ extern json_spirit::Value exportdifficulty(const json_spirit::Array& params, boo extern json_spirit::Value listblocks(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value createproposal(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value listproposals(const json_spirit::Array& params, bool fHelp); +extern json_spirit::Value getproposalstatus(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value moneysupply(const json_spirit::Array& params, bool fHelp); extern json_spirit::Value getmoneysupply(const json_spirit::Array& params, bool fHelp); diff --git a/src/db.cpp b/src/db.cpp index 5a08d1012..41ac18a2c 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -831,6 +831,7 @@ bool CTxDB::LoadBlockIndexGuts() pindexNew->nTime = diskindex.nTime; pindexNew->nBits = diskindex.nBits; pindexNew->nNonce = diskindex.nNonce; + pindexNew->tally = diskindex.tally; // Watch for genesis block if (pindexGenesisBlock == NULL && blockHash == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)) diff --git a/src/kernel.cpp b/src/kernel.cpp index 4fd40a672..36f97808d 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -438,7 +438,7 @@ bool CheckCoinStakeTimestamp(int64 nTimeBlock, int64 nTimeTx) unsigned int GetStakeModifierChecksum(const CBlockIndex* pindex) { if (!pindex->pprev) - printf("*** no pprev\n"); + printf("*** no pprev, version=%d height =%d hash=%s\n", pindex->nVersion, pindex->nHeight, pindex->GetBlockHash().GetHex().c_str()); assert (pindex->pprev || pindex->GetBlockHash() == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)); // Hash previous checksum with flags, hashProofOfStake and nStakeModifier CDataStream ss(SER_GETHASH, 0); diff --git a/src/main.cpp b/src/main.cpp index 299d34430..d80aa0594 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1685,11 +1685,13 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) } //Record new votes to the tally - CVoteTally tally(pindex->pprev->tally); - map mapActive = proposalManager.GetActive(pindex->nHeight); - tally.SetNewPositions(mapActive); - tally.ProcessNewVotes(static_cast(pindex->nVersion)); - pindex->tally = tally; + if (pindex->pprev) { + CVoteTally tally(pindex->pprev->tally); + map mapActive = proposalManager.GetActive(pindex->nHeight); + tally.SetNewPositions(mapActive); + tally.ProcessNewVotes(static_cast(pindex->nVersion)); + pindex->tally = tally; + } // Write queued txindex changes for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) @@ -1826,7 +1828,7 @@ void CBlock::print() const std::stringstream ss; ss << "CBlock(hash=" << GetHash().ToString().c_str() - << " ver = " << nVersion + << " ver = " << ReverseEndianString(HexStr(BEGIN(nVersion), END(nVersion))).c_str() << " hashPrevBlock = " << hashPrevBlock.ToString().c_str() << " hasMerkleRoot = " << hashMerkleRoot.ToString().c_str() << " nTime = " << nTime @@ -4060,6 +4062,18 @@ bool SendMessages(CNode* pto, bool fSendTrickle) return true; } +bool GetProposalTXID(const uint256& hashProposal, uint256& txid) +{ + txid = 0; + for (auto mit : mapProposals) { + if (mit.second == hashProposal) { + txid = mit.first; + return true; + } + } + return false; +} + ////////////////////////////////////////////////////////////////////////////// // @@ -4179,35 +4193,42 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) for (map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) { CWalletTx walletTx; if (!pwalletMain->GetTransaction(it->first, walletTx)) { + printf("*** failed to get transaction %s!\n", it->first.GetHex().c_str()); continue; } CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) { + printf("*** tx is not a proposal!\n"); continue; } CVoteProposal proposal; if (!ProposalFromTransaction(tx, proposal)) { + printf("*** failed to deserialize!\n"); continue; } - if (!mapActiveProposals.count(proposal.GetHash())) + if (!mapActiveProposals.count(proposal.GetHash())) { continue; + } if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { + printf("*** mapVoteObjects does not have proposal hash\n"); continue; } CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; votes.push_back(voteObject.GetFormattedVote()); - printf("*** added vote for %s\n", proposal.GetName()); + //printf("*** added vote for %s\n", proposal.GetName().c_str()); } - } + } else + printf("*** mapVoteObjects empty!\n"); // Update the block version to have all votes for (int32_t vote : votes) { pblock->nVersion |= vote; + //printf("***voted!\n"); } } diff --git a/src/main.h b/src/main.h index 712f51e7f..2071ddc9c 100644 --- a/src/main.h +++ b/src/main.h @@ -152,6 +152,7 @@ const CBlockIndex* GetLastBlockIndex(const CBlockIndex* pindex, bool fProofOfSta void BitcoinMiner(CWallet *pwallet, bool fProofOfStake); void ResendWalletTransactions(); bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut); +bool GetProposalTXID(const uint256& hashProposal, uint256& txid); /** Position on disk for a particular transaction. */ class CDiskTxPos @@ -839,7 +840,7 @@ class CBlock public: // header static const int VOTING_VERSION = 0x50000000; - static const int CURRENT_VERSION=VOTING_VERSION; + static const int CURRENT_VERSION=4; int nVersion; uint256 hashPrevBlock; uint256 hashMerkleRoot; @@ -1355,16 +1356,12 @@ class CDiskBlockIndex : public CBlockIndex READWRITE(nStakeTime); READWRITE(hashProofOfStake); } - else if (fRead) - { - const_cast(this)->prevoutStake.SetNull(); - const_cast(this)->nStakeTime = 0; - const_cast(this)->hashProofOfStake = 0; + else if (fRead) { + const_cast(this)->prevoutStake.SetNull(); + const_cast(this)->nStakeTime = 0; + const_cast(this)->hashProofOfStake = 0; } - if (this->nVersion >= CBlock::VOTING_VERSION) - READWRITE(tally); - // block header READWRITE(this->nVersion); READWRITE(hashPrev); @@ -1373,6 +1370,9 @@ class CDiskBlockIndex : public CBlockIndex READWRITE(nBits); READWRITE(nNonce); READWRITE(blockHash); + + if (this->nVersion >= CBlock::VOTING_VERSION) + READWRITE(tally); ) uint256 GetBlockHash() const diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 89392542d..25fcdb6fd 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -309,7 +309,7 @@ Value createproposal(const Array& params, bool fHelp) { if (fHelp || params.size() != 6) throw runtime_error( - "createproposal \n\n\n\n\n\n" + "createproposal \n\n\n\n\n\n\n" "Returns new VoteProposal object with specified parameters\n"); // name of issue string strName = params[0].get_str(); @@ -320,12 +320,12 @@ Value createproposal(const Array& params, bool fHelp) // number of blocks with votes to count int nCheckSpan = params[3].get_int(); // cardinal items to vote on - convert to uint8 CheckSpan - uint8_t nCardinals = params[4].get_int(); + uint8_t nBits = params[4].get_int(); // description of issue - will go in different tx std::string strDescription = params[5].get_str(); Object results; - CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); + CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nBits, strDescription); //! Add the constructed proposal to a partial transaction CTransaction tx; @@ -338,9 +338,9 @@ Value createproposal(const Array& params, bool fHelp) results.emplace_back(Pair("proposal_hash", hashProposal.GetHex().c_str())); results.emplace_back(Pair("name", strName)); results.emplace_back(Pair("shift", nShift)); - results.emplace_back(Pair("start time", (boost::int64_t)nStartTime)); - results.emplace_back(Pair("check span", nCheckSpan)); - results.emplace_back(Pair("cardinals", nCardinals)); + results.emplace_back(Pair("start_block", (boost::int64_t)nStartTime)); + results.emplace_back(Pair("check_span", nCheckSpan)); + results.emplace_back(Pair("bit_count", nBits)); results.emplace_back(Pair("description", strDescription)); return results; @@ -365,8 +365,8 @@ Value listproposals(const Array& params, bool fHelp) jsonProposal.emplace_back(Pair("name", proposal.GetName())); jsonProposal.emplace_back(Pair("description", proposal.GetDescription())); jsonProposal.emplace_back(Pair("shift", proposal.GetShift())); - jsonProposal.emplace_back(Pair("start_time", (boost::int64_t)proposal.GetStartHeight())); - jsonProposal.emplace_back(Pair("cardinals", proposal.GetBitCount())); + jsonProposal.emplace_back(Pair("start_block", (boost::int64_t)proposal.GetStartHeight())); + jsonProposal.emplace_back(Pair("bit_count", proposal.GetBitCount())); arrRet.emplace_back(jsonProposal); } } @@ -374,3 +374,50 @@ Value listproposals(const Array& params, bool fHelp) return arrRet; } +Value getproposalstatus(const Array& params, bool fHelp) +{ + if (fHelp || params.size() != 1) + throw runtime_error( + "getproposalstatus\n" + "\n" + "return the status of a proposal that is being voted on\n"); + + uint256 hash(params[0].get_str()); + CVoteDB voteDB("r"); + CVoteProposal proposal; + if (!voteDB.ReadProposal(hash, proposal)) + throw JSONRPCError(RPC_INVALID_PARAMETER, "failed to find proposal"); + + if (nBestHeight < proposal.GetStartHeight()) { + Object obj; + obj.emplace_back(Pair("block_start", (int64_t)proposal.GetStartHeight())); + return obj; + } + + int nHeightEnd = proposal.GetStartHeight() + proposal.GetCheckSpan(); + int nHeightTally; + if (nHeightEnd < nBestHeight) + nHeightTally = nHeightEnd; + else + nHeightTally = nBestHeight; + + CVoteTally tally = FindBlockByHeight(nHeightTally)->tally; + CVoteSummary summary; + if (!tally.GetSummary(proposal.GetHash(), summary)) + throw JSONRPCError(RPC_DATABASE_ERROR, "failed to find proposal in vote tally"); + + Object objRet; + int64_t nBlocksVoted = nHeightTally - summary.nBlockStart; + objRet.emplace_back(Pair("block_start", (int64_t)summary.nBlockStart)); + objRet.emplace_back(Pair("blocks_remaining", (int64_t)std::max(nHeightEnd - nBestHeight, 0))); + objRet.emplace_back(Pair("total_blocks_voted", nBlocksVoted)); + objRet.emplace_back(Pair("yes_votes", (int64_t)summary.nYesTally)); + objRet.emplace_back(Pair("no_votes", (int64_t)summary.nNoTally)); + double nRatio = 0; + if (nBlocksVoted) + nRatio = (double)summary.nYesTally / (double)nBlocksVoted; + + objRet.emplace_back(Pair("ratio", nRatio)); + return objRet; +} + diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 297cb4487..3f379f94b 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -3021,17 +3021,18 @@ Value getvotes(const Array& params, bool fHelp) uint256 txid = 0; for (auto mit : mapProposals) { - if (mit.second == it->first) + if (mit.second == it->first) { txid = mit.first; break; + } } if (txid == 0) return JSONRPCError(RPC_DATABASE_ERROR, strprintf("failed to find txid for proposal %s", it->first.GetHex().c_str())); CVoteProposal proposal; - if (!votedb.ReadProposal(it->first, proposal)) { - string strMessage = strprintf("Failed to find proposal %s in database", it->first.GetHex().c_str()); + if (!votedb.ReadProposal(txid, proposal)) { + string strMessage = strprintf("Failed to find proposal %s in database", txid.GetHex().c_str()); return JSONRPCError(RPC_DATABASE_ERROR, strMessage); } @@ -3040,7 +3041,7 @@ Value getvotes(const Array& params, bool fHelp) Object entry; entry.push_back(Pair("Proposal Name", proposal.GetName())); entry.push_back(Pair("Proposal Description", proposal.GetDescription())); - entry.push_back(Pair("Your Vote", voteValue)); + entry.push_back(Pair("Your Vote", (int64_t)it->second.GetVote())); ret.push_back(entry); } return ret; diff --git a/src/voteobject.h b/src/voteobject.h index 8f5b3ce17..9876d6cb3 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -55,7 +55,8 @@ class CVoteObject bool Vote(int nVotersChoice); uint32_t GetVoteFromVersion(uint32_t nVersion); - uint32_t GetFormattedVote() { return nFormattedVote; }; + uint32_t GetFormattedVote() { return nFormattedVote; } + uint32_t GetVote() { return nChoice; } uint256 GetProposal() { return hashProposal; } }; diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 9d2d42034..9a7e66b8f 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -33,6 +33,7 @@ bool CVoteProposalManager::Add(const CVoteProposal& proposal) } mapProposalData.insert(make_pair(newProposal.hash, newProposal)); + printf("%s: added proposal %s\n", __func__, newProposal.hash.GetHex().c_str()); return true; } @@ -50,7 +51,7 @@ map CVoteProposalManager::GetActive(int nHeight) map mapActive; for (auto it : mapProposalData) { CProposalMetaData data = it.second; - if ((int)data.nHeightStart >= nHeight && (int)data.nHeightEnd <= nHeight) + if ((int)data.nHeightStart <= nHeight && (int)data.nHeightEnd >= nHeight) mapActive.insert(make_pair(data.hash, data.location)); } diff --git a/src/votetally.cpp b/src/votetally.cpp index 45be15359..1d7cb4e07 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -1,5 +1,6 @@ #include "votetally.h" #include "util.h" +#include "db.h" #define VOTEMASK 0x0FFFFFFF @@ -28,10 +29,26 @@ bool CVoteTally::SetNewPositions(std::map &mapNewLocation { mapLocations.clear(); for (auto it : mapNewLocations) { - VoteLocation locationNew = it.second; + if (mapLocations.count(it.first)) + continue; + + uint256 txid = 0; + if (!GetProposalTXID(it.first, txid)) + return error("%s: could not find transaction ID for proposal %s", __func__, it.first.GetHex().c_str()); + CVoteProposal proposal; + CVoteDB votedb("r"); + if (!votedb.ReadProposal(txid, proposal)) + return error("%s: failed to read proposal from DB for %s", __func__, it.first.GetHex().c_str()); + + //Map the proposal to this bit range + VoteLocation locationNew = it.second; mapLocations.insert(make_pair(it.first, locationNew)); + + //Start a new summary object that will track the votes for this proposal CVoteSummary summary; + summary.nBlockStart = proposal.GetStartHeight(); + summary.nCheckSpan = proposal.GetCheckSpan(); mapVotes.insert(make_pair(it.first, summary)); } @@ -42,6 +59,12 @@ bool CVoteTally::SetNewPositions(std::map &mapNewLocation void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) { for (auto it : mapVotes) { + printf("%s processing vote for %s\n", __func__, it.first.GetHex().c_str()); + if (!mapLocations.count(it.first)) { + printf("%s: ERROR: did not find location for vote\n", __func__); + return; + } + VoteLocation location = mapLocations.at(it.first); int32_t nVote = nVersion; nVote &= VOTEMASK; // remove version bits @@ -61,6 +84,7 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) mapVotes.at(it.first).nYesTally++; } else if (nVote > 1) mapVotes.at(it.first).nNoTally++; + printf("%s: nVote=%d\n", __func__, nVote); } } @@ -71,7 +95,6 @@ bool CVoteTally::GetSummary(const uint256& hashProposal, CVoteSummary& summary) return false; summary = it->second; - return true; } diff --git a/src/votetally.h b/src/votetally.h index 3f35f96bc..a8a7373ae 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -45,6 +45,7 @@ class CVoteTally { nHeight = 0; mapVotes.clear(); + mapLocations.clear(); } CVoteTally() From 1f990e206cbb3e70fe2e2d1d4913d5919efe87e1 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 28 Feb 2018 16:47:04 -0700 Subject: [PATCH 518/555] Fix parsing of block's votes. --- src/main.cpp | 13 +++++++------ src/rpcblockchain.cpp | 6 ++++-- src/votetally.cpp | 32 +++++++++++++++++++++----------- 3 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index d80aa0594..9aeb9390b 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1655,8 +1655,6 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) // ppcoin: track money supply and mint amount info pindex->nMint = nValueOut - nValueIn + nFees; pindex->nMoneySupply = (pindex->pprev? pindex->pprev->nMoneySupply : 0) + nValueOut - nValueIn; - if (!txdb.WriteBlockIndex(CDiskBlockIndex(pindex))) - return error("Connect() : WriteBlockIndex for pindex failed"); // ppcoin: fees are not collected by miners as in bitcoin // ppcoin: fees are destroyed to compensate the entire network @@ -1686,13 +1684,16 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) //Record new votes to the tally if (pindex->pprev) { - CVoteTally tally(pindex->pprev->tally); + pindex->tally = CVoteTally(pindex->pprev->tally); map mapActive = proposalManager.GetActive(pindex->nHeight); - tally.SetNewPositions(mapActive); - tally.ProcessNewVotes(static_cast(pindex->nVersion)); - pindex->tally = tally; + pindex->tally.SetNewPositions(mapActive); + pindex->tally.ProcessNewVotes(static_cast(pindex->nVersion)); } + //Write index to disk + if (!txdb.WriteBlockIndex(CDiskBlockIndex(pindex))) + return error("Connect() : WriteBlockIndex for pindex failed"); + // Write queued txindex changes for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) { diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 25fcdb6fd..3c99d4f5b 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -309,7 +309,7 @@ Value createproposal(const Array& params, bool fHelp) { if (fHelp || params.size() != 6) throw runtime_error( - "createproposal \n\n\n\n\n\n\n" + "createproposal \n\n\n\n\n\n\n" "Returns new VoteProposal object with specified parameters\n"); // name of issue string strName = params[0].get_str(); @@ -413,9 +413,11 @@ Value getproposalstatus(const Array& params, bool fHelp) objRet.emplace_back(Pair("total_blocks_voted", nBlocksVoted)); objRet.emplace_back(Pair("yes_votes", (int64_t)summary.nYesTally)); objRet.emplace_back(Pair("no_votes", (int64_t)summary.nNoTally)); + double nAbstain = nBlocksVoted - summary.nNoTally - summary.nYesTally; + objRet.emplace_back(Pair("abstain_votes", nAbstain)); double nRatio = 0; if (nBlocksVoted) - nRatio = (double)summary.nYesTally / (double)nBlocksVoted; + nRatio = (double)summary.nYesTally / ((double)nBlocksVoted - nAbstain); objRet.emplace_back(Pair("ratio", nRatio)); return objRet; diff --git a/src/votetally.cpp b/src/votetally.cpp index 1d7cb4e07..1b6c57c77 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -6,6 +6,20 @@ using namespace std; +//Convert char* into string showing its binary +string PrintBinary(uint32_t n) +{ + string result; + for (int i = 0; i < 32; i ++) { + result.push_back( '0' + (n & 1) ); + n >>= 1; + } + + reverse( result.begin(), result.end() ); + + return result; +} + CVoteTally::CVoteTally(CVoteTally* tallyPrev) { this->nHeight = tallyPrev->nHeight + 1; @@ -59,24 +73,20 @@ bool CVoteTally::SetNewPositions(std::map &mapNewLocation void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) { for (auto it : mapVotes) { + if (!mapLocations.count(it.first)) + continue; + printf("%s processing vote for %s\n", __func__, it.first.GetHex().c_str()); - if (!mapLocations.count(it.first)) { - printf("%s: ERROR: did not find location for vote\n", __func__); - return; - } VoteLocation location = mapLocations.at(it.first); int32_t nVote = nVersion; nVote &= VOTEMASK; // remove version bits - nVote >>= location.first + 1; //shift it over to the starting position - int32_t nBits = location.second - location.first; + nVote >>= location.first; //shift it over to the starting position + int32_t nBits = location.first - location.second; // Remove any bits to the left of the vote bits - int32_t nMask = 1; - for (int i = 0; i < nBits - 1; i++) { - nMask <<= 1; - nMask |= 1; - } + uint32_t nMask = ~0; + nMask >>= (32 - nBits); nVote &= nMask; //Count the vote if it is yes or no From c0ca765cf0ce6baf33b54f1fa2785c6ea2bb0b10 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 2 Mar 2018 11:13:37 -0700 Subject: [PATCH 519/555] Add voting, createproposal, and proposals dialogs. --- HyperStake-qt.pro | 15 ++- src/Makefile.qt.include | 20 ++- src/qt/bitcoingui.cpp | 14 ++ src/qt/bitcoingui.h | 5 + src/qt/createproposaldialog.cpp | 6 + src/qt/createproposaldialog.h | 12 ++ src/qt/forms/createproposaldialog.ui | 195 +++++++++++++++++++++++++++ src/qt/forms/proposalsdialog.ui | 140 +++++++++++++++++++ src/qt/forms/votingdialog.ui | 101 ++++++++++++++ src/qt/proposaldialog.cpp | 6 + src/qt/proposaldialog.h | 12 ++ src/qt/proposalsdialog.cpp | 76 +++++++++++ src/qt/proposalsdialog.h | 31 +++++ src/qt/votingdialog.cpp | 41 ++++++ src/qt/votingdialog.h | 37 +++++ src/qt/walletmodel.cpp | 61 ++++++++- src/qt/walletmodel.h | 2 + src/voteproposal.cpp | 4 +- src/voteproposal.h | 13 +- src/voteproposalmanager.cpp | 58 ++++++++ src/voteproposalmanager.h | 2 + src/wallet.cpp | 61 +++++++++ src/wallet.h | 2 + 23 files changed, 900 insertions(+), 14 deletions(-) create mode 100644 src/qt/createproposaldialog.cpp create mode 100644 src/qt/createproposaldialog.h create mode 100644 src/qt/forms/createproposaldialog.ui create mode 100644 src/qt/forms/proposalsdialog.ui create mode 100644 src/qt/forms/votingdialog.ui create mode 100644 src/qt/proposaldialog.cpp create mode 100644 src/qt/proposaldialog.h create mode 100644 src/qt/proposalsdialog.cpp create mode 100644 src/qt/proposalsdialog.h create mode 100644 src/qt/votingdialog.cpp create mode 100644 src/qt/votingdialog.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 0e141ee11..c25ae1e53 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -235,7 +235,10 @@ HEADERS += src/qt/bitcoingui.h \ src/sph_simd.h \ src/sph_types.h \ src/qt/networkstyle.h \ - src/qt/scicon.h + src/qt/scicon.h \ + src/qt/votingdialog.h \ + src/qt/createproposaldialog.h \ + src/qt/proposalsdialog.h SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/qt/transactiontablemodel.cpp \ @@ -318,7 +321,10 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/simd.c \ src/clientversion.cpp \ src/qt/networkstyle.cpp \ - src/qt/scicon.cpp + src/qt/scicon.cpp \ + src/qt/votingdialog.cpp \ + src/qt/createproposaldialog.cpp \ + src/qt/proposalsdialog.cpp RESOURCES += \ src/qt/bitcoin.qrc @@ -339,7 +345,10 @@ FORMS += \ src/qt/forms/askpassphrasedialog.ui \ src/qt/forms/rpcconsole.ui \ src/qt/forms/optionsdialog.ui \ - src/qt/forms/bip38tooldialog.ui + src/qt/forms/bip38tooldialog.ui \ + src/qt/forms/votingdialog.ui \ + src/qt/forms/createproposaldialog.ui \ + src/qt/forms/proposalsdialog.ui contains(USE_QRCODE, 1) { HEADERS += src/qt/qrcodedialog.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index b5e0381e6..f1b4dbe92 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -15,15 +15,18 @@ QT_FORMS_UI = \ qt/forms/calcdialog.ui \ qt/forms/charitydialog.ui \ qt/forms/coincontroldialog.ui \ + qt/forms/createproposaldialog.ui \ qt/forms/editaddressdialog.ui \ qt/forms/optionsdialog.ui \ qt/forms/overviewpage.ui \ + qt/forms/proposalsdialog.ui \ qt/forms/qrcodedialog.ui \ qt/forms/rpcconsole.ui \ qt/forms/sendcoinsdialog.ui \ qt/forms/sendcoinsentry.ui \ qt/forms/signverifymessagedialog.ui \ - qt/forms/transactiondescdialog.ui + qt/forms/transactiondescdialog.ui \ + qt/forms/votingdialog.ui QT_MOC_CPP = \ qt/moc_aboutdialog.cpp \ @@ -39,6 +42,7 @@ QT_MOC_CPP = \ qt/moc_calcdialog.cpp \ qt/moc_charitydialog.cpp \ qt/moc_clientmodel.cpp \ + qt/moc_createproposaldialog.cpp \ qt/moc_coincontroldialog.cpp \ qt/moc_coincontroltreewidget.cpp \ qt/moc_csvmodelwriter.cpp \ @@ -52,6 +56,7 @@ QT_MOC_CPP = \ qt/moc_optionsmodel.cpp \ qt/moc_overviewpage.cpp \ qt/moc_paymentserver.cpp \ + qt/moc_proposalsdialog.cpp \ qt/moc_qrcodedialog.cpp \ qt/moc_qvalidatedlineedit.cpp \ qt/moc_qvaluecombobox.cpp \ @@ -64,7 +69,8 @@ QT_MOC_CPP = \ qt/moc_transactionfilterproxy.cpp \ qt/moc_transactiontablemodel.cpp \ qt/moc_transactionview.cpp \ - qt/moc_walletmodel.cpp + qt/moc_walletmodel.cpp \ + qt/moc_votingdialog.cpp BITCOIN_MM = \ qt/macdockiconhandler.mm \ @@ -92,6 +98,7 @@ BITCOIN_QT_H = \ qt/blockbrowser.h \ qt/calcdialog.h \ qt/charitydialog.h \ + qt/createproposaldialog.h \ qt/clientmodel.h \ qt/coincontroldialog.h \ qt/coincontroltreewidget.h \ @@ -108,6 +115,7 @@ BITCOIN_QT_H = \ qt/optionsmodel.h \ qt/overviewpage.h \ qt/paymentserver.h \ + qt/proposalsdialog.h \ qt/qrcodedialog.h \ qt/qvalidatedlineedit.h \ qt/qvaluecombobox.h \ @@ -122,7 +130,8 @@ BITCOIN_QT_H = \ qt/transactionrecord.h \ qt/transactiontablemodel.h \ qt/transactionview.h \ - qt/walletmodel.h + qt/walletmodel.h \ + qt/votingdialog.h RES_ICONS = \ qt/res/icons/add.png \ @@ -180,6 +189,7 @@ BITCOIN_QT_CPP = \ qt/bitcoinunits.cpp \ qt/blockbrowser.cpp \ qt/calcdialog.cpp \ + qt/createproposaldialog.cpp \ qt/charitydialog.cpp \ qt/clientmodel.cpp \ qt/csvmodelwriter.cpp \ @@ -189,12 +199,14 @@ BITCOIN_QT_CPP = \ qt/notificator.cpp \ qt/optionsdialog.cpp \ qt/optionsmodel.cpp \ + qt/proposalsdialog.cpp \ qt/qrcodedialog.cpp \ qt/qvalidatedlineedit.cpp \ qt/qvaluecombobox.cpp \ qt/rpcconsole.cpp \ qt/scicon.cpp \ - qt/walletmodel.cpp + qt/walletmodel.cpp \ + qt/votingdialog.cpp if ENABLE_WALLET BITCOIN_QT_CPP += \ diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index 67ff3c639..c272e0cdb 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -32,6 +32,7 @@ #include "wallet.h" #include "bitcoinrpc.h" #include "blockbrowser.h" +#include "votingdialog.h" #include "../wallet.h" #ifdef Q_OS_MAC @@ -145,6 +146,7 @@ BitcoinGUI::BitcoinGUI(const NetworkStyle * networkStyle, QWidget *parent): bip38Dialog = new Bip38ToolDialog(this); stakeForCharityDialog = new StakeForCharityDialog(this); blockBrowser = new BlockBrowser((this)); + votingDialog = new VotingDialog(this); centralWidget = new QStackedWidget(this); centralWidget->addWidget(overviewPage); @@ -323,6 +325,10 @@ void BitcoinGUI::createActions() blockAction->setStatusTip(tr("Explore the BlockChain")); blockAction->setToolTip(blockAction->statusTip()); + votingAction = new QAction(QIcon(":/icons/bitcoin"), tr("&Voting"), this); + votingAction->setStatusTip(tr("Set and View Vote Proposals and Settings")); + votingAction->setToolTip(votingAction->statusTip()); + aboutQtAction = new QAction(QIcon(":/trolltech/qmessagebox/images/qtlogo-64.png"), tr("About &Qt"), this); aboutQtAction->setToolTip(tr("Show information about Qt")); aboutQtAction->setMenuRole(QAction::AboutQtRole); @@ -381,6 +387,7 @@ void BitcoinGUI::createActions() connect(unlockWalletAction, SIGNAL(triggered()), this, SLOT(unlockWalletForMint())); connect(blockAction, SIGNAL(triggered()), this, SLOT(gotoBlockBrowser())); + connect(votingAction, SIGNAL(triggered()), this, SLOT(gotoVotingDialog())); /* zeewolf: Hot swappable wallet themes */ if (themesList.count()>0) @@ -437,6 +444,7 @@ void BitcoinGUI::createMenuBar() settings->addAction(charityAction); settings->addAction(calcAction); settings->addAction(bip38ToolAction); + settings->addAction(votingAction); settings->addSeparator(); settings->addAction(optionsAction); @@ -518,6 +526,7 @@ void BitcoinGUI::setWalletModel(WalletModel *walletModel) signVerifyMessageDialog->setModel(walletModel); bip38Dialog->setModel(walletModel); stakeForCharityDialog->setModel(walletModel); + votingDialog->SetWalletModel(walletModel); setEncryptionStatus(walletModel->getEncryptionStatus()); connect(walletModel, SIGNAL(encryptionStatusChanged(int)), this, SLOT(setEncryptionStatus(int))); @@ -875,6 +884,11 @@ void BitcoinGUI::gotoBlockBrowser(QString transactionId) blockBrowser->show(); } +void BitcoinGUI::gotoVotingDialog() +{ + votingDialog->show(); +} + void BitcoinGUI::gotoReceiveCoinsPage() { receiveCoinsAction->setChecked(true); diff --git a/src/qt/bitcoingui.h b/src/qt/bitcoingui.h index fde92dbd3..d1234fae4 100644 --- a/src/qt/bitcoingui.h +++ b/src/qt/bitcoingui.h @@ -20,6 +20,7 @@ class StakeForCharityDialog; class TransactionTableModel; class TransactionView; class WalletModel; +class VotingDialog; QT_BEGIN_NAMESPACE class QLabel; @@ -74,6 +75,7 @@ class BitcoinGUI : public QMainWindow Bip38ToolDialog *bip38Dialog; StakeForCharityDialog *stakeForCharityDialog; BlockBrowser *blockBrowser; + VotingDialog* votingDialog; QLabel *labelEncryptionIcon; QLabel *labelMintingIcon; @@ -112,6 +114,7 @@ class BitcoinGUI : public QMainWindow QAction *stakingIconAction; QAction *charityAction; QAction *calcAction; + QAction *votingAction; QSystemTrayIcon *trayIcon; QMenu *trayIconMenu; @@ -194,6 +197,8 @@ private slots: void gotoVerifyMessageTab(QString addr = ""); /** Show BIP 38 tool - default to Encryption tab */ void gotoBip38Tool(); + /** Show the voting dialog */ + void gotoVotingDialog(); /** Allow user to unlock wallet from click */ void lockIconClicked(); /** Show configuration dialog */ diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp new file mode 100644 index 000000000..128572a57 --- /dev/null +++ b/src/qt/createproposaldialog.cpp @@ -0,0 +1,6 @@ +#include "createproposaldialog.h" + +createproposaldialog::createproposaldialog() +{ + +} diff --git a/src/qt/createproposaldialog.h b/src/qt/createproposaldialog.h new file mode 100644 index 000000000..347faac2a --- /dev/null +++ b/src/qt/createproposaldialog.h @@ -0,0 +1,12 @@ +#ifndef CREATEPROPOSALDIALOG_H +#define CREATEPROPOSALDIALOG_H + +#include + +class createproposaldialog +{ +public: + createproposaldialog(); +}; + +#endif // CREATEPROPOSALDIALOG_H \ No newline at end of file diff --git a/src/qt/forms/createproposaldialog.ui b/src/qt/forms/createproposaldialog.ui new file mode 100644 index 000000000..b6a740fdc --- /dev/null +++ b/src/qt/forms/createproposaldialog.ui @@ -0,0 +1,195 @@ + + + CreateProposalDialog + + + + 0 + 0 + 676 + 308 + + + + Create Vote Proposal + + + + + 10 + 10 + 641 + 278 + + + + + + + + + Proposal Name: + + + + + + + + + + Proposal Abstract: + + + + + + + + + + Starting Block: + + + + + + + + + + Voting Length (blocks): + + + + + + + + + + Proposal Hash: + + + + + + + (Automatically Generated) + + + + + + + Bit Location: + + + + + + + (Automatically Generated) + + + + + + + Bit Size: + + + + + + + (Automatically Generated) + + + + + + + Fee: + + + + + + + (Automatically Generated) + + + + + + + + + + + Create Proposal + + + + + + + false + + + Send Proposal + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + buttonBox + accepted() + CreateProposalDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + CreateProposalDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/qt/forms/proposalsdialog.ui b/src/qt/forms/proposalsdialog.ui new file mode 100644 index 000000000..4fdb0775f --- /dev/null +++ b/src/qt/forms/proposalsdialog.ui @@ -0,0 +1,140 @@ + + + ProposalsDialog + + + + 0 + 0 + 767 + 443 + + + + Dialog + + + + + 380 + 400 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 20 + 10 + 741 + 381 + + + + + + + + + + 0 + + + + + Active + + + + + + + Upcoming + + + + + + + Finished + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 100 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + buttonBox + accepted() + ProposalsDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + ProposalsDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/qt/forms/votingdialog.ui b/src/qt/forms/votingdialog.ui new file mode 100644 index 000000000..c5170e0e6 --- /dev/null +++ b/src/qt/forms/votingdialog.ui @@ -0,0 +1,101 @@ + + + VotingDialog + + + + 0 + 0 + 565 + 300 + + + + Dialog + + + + + 30 + 240 + 341 + 32 + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + 10 + 10 + 181 + 91 + + + + + + + View Proposals + + + + + + + Create Proposal + + + + + + + Set Voting Preferences + + + + + + + + + + buttonBox + accepted() + VotingDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + VotingDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/qt/proposaldialog.cpp b/src/qt/proposaldialog.cpp new file mode 100644 index 000000000..3be0f7b73 --- /dev/null +++ b/src/qt/proposaldialog.cpp @@ -0,0 +1,6 @@ +#include "proposaldialog.h" + +proposaldialog::proposaldialog() +{ + +} diff --git a/src/qt/proposaldialog.h b/src/qt/proposaldialog.h new file mode 100644 index 000000000..0d3613a81 --- /dev/null +++ b/src/qt/proposaldialog.h @@ -0,0 +1,12 @@ +#ifndef PROPOSALDIALOG_H +#define PROPOSALDIALOG_H + +#include + +class proposaldialog +{ +public: + proposaldialog(); +}; + +#endif // PROPOSALDIALOG_H \ No newline at end of file diff --git a/src/qt/proposalsdialog.cpp b/src/qt/proposalsdialog.cpp new file mode 100644 index 000000000..417452758 --- /dev/null +++ b/src/qt/proposalsdialog.cpp @@ -0,0 +1,76 @@ +#include "proposalsdialog.h" +#include "ui_proposalsdialog.h" + +#include "db.h" +#include "main.h" +#include "walletmodel.h" +#include + + +ProposalsDialog::ProposalsDialog(QWidget* parent) : + QDialog(parent), + ui(new Ui::ProposalsDialog) +{ + ui->setupUi(this); +} + +ProposalsDialog::~ProposalsDialog() +{ + delete ui; +} + +void ProposalsDialog::SetWalletModel(WalletModel *model) +{ + this->walletModel = model; + UpdateTable(); +} + +void ProposalsDialog::UpdateTable() +{ + int columns = 8; + int rows = mapProposals.size(); + QStandardItemModel* model = new QStandardItemModel(rows, columns, this); + model->setHorizontalHeaderItem(0, new QStandardItem(QString("TxID"))); + model->setHorizontalHeaderItem(1, new QStandardItem(QString("ID"))); + model->setHorizontalHeaderItem(2, new QStandardItem(QString("Name"))); + model->setHorizontalHeaderItem(3, new QStandardItem(QString("Abstract"))); + model->setHorizontalHeaderItem(4, new QStandardItem(QString("Location"))); + model->setHorizontalHeaderItem(5, new QStandardItem(QString("Start Block"))); + model->setHorizontalHeaderItem(6, new QStandardItem(QString("End Block"))); + model->setHorizontalHeaderItem(7, new QStandardItem(QString("Bits"))); + + CVoteDB voteDB("r"); + int i = 0; + for (auto it : mapProposals) { + CVoteProposal proposal; + if (voteDB.ReadProposal(it.first, proposal)) { + QList listItems; + listItems.push_back(new QStandardItem(QString::fromStdString(it.first.GetHex()))); + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetHash().GetHex()))); + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetName()))); + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetDescription()))); + listItems.push_back(new QStandardItem(QString::number(proposal.GetShift()))); + listItems.push_back(new QStandardItem(QString::number(proposal.GetStartHeight()))); + listItems.push_back(new QStandardItem(QString::number(proposal.GetStartHeight() - proposal.GetCheckSpan()))); + listItems.push_back(new QStandardItem(QString::number(proposal.GetBitCount()))); + model->insertRow(i, listItems); + i++; + } + } + ui->tableView->setModel(model); +} + +void ProposalsDialog::on_checkBox_Active_stateChanged(int arg1) +{ + UpdateTable(); +} + +void ProposalsDialog::on_checkBox_Upcoming_stateChanged(int arg1) +{ + UpdateTable(); +} + +void ProposalsDialog::on_checkBox_Finished_stateChanged(int arg1) +{ + UpdateTable(); +} diff --git a/src/qt/proposalsdialog.h b/src/qt/proposalsdialog.h new file mode 100644 index 000000000..da6313742 --- /dev/null +++ b/src/qt/proposalsdialog.h @@ -0,0 +1,31 @@ +#ifndef PROPOSALSDIALOG_H +#define PROPOSALSDIALOG_H + +#include +#include + +class WalletModel; + +namespace Ui { +class ProposalsDialog; +} + +class ProposalsDialog : public QDialog +{ + Q_OBJECT +public: + ProposalsDialog(QWidget *parent = 0); + ~ProposalsDialog(); + void SetWalletModel(WalletModel* model); + void UpdateTable(); +private slots: + void on_checkBox_Active_stateChanged(int arg1); + void on_checkBox_Upcoming_stateChanged(int arg1); + void on_checkBox_Finished_stateChanged(int arg1); + +private: + Ui::ProposalsDialog *ui; + WalletModel* walletModel; +}; + +#endif // PROPOSALSDIALOG_H diff --git a/src/qt/votingdialog.cpp b/src/qt/votingdialog.cpp new file mode 100644 index 000000000..5b18bb6c9 --- /dev/null +++ b/src/qt/votingdialog.cpp @@ -0,0 +1,41 @@ +#include "votingdialog.h" +#include "ui_votingdialog.h" +#include "createproposaldialog.h" +#include "proposalsdialog.h" + +VotingDialog::VotingDialog(QWidget* parent) : + QDialog(parent), + ui(new Ui::VotingDialog) +{ + ui->setupUi(this); + proposalsDialog = new ProposalsDialog(this); + createProposalDialog = new CreateProposalDialog(this); +} + +VotingDialog::~VotingDialog() +{ + delete ui; +} + +void VotingDialog::SetWalletModel(WalletModel *model) +{ + walletModel = model; + createProposalDialog->SetWalletModel(model); + //votesDialog->SetWalletModel(model); + proposalsDialog->SetWalletModel(model); +} + +void VotingDialog::on_button_CreateProposal_clicked() +{ + createProposalDialog->show(); +} + +void VotingDialog::on_button_ViewProposals_clicked() +{ + proposalsDialog->show(); +} + +void VotingDialog::on_button_SetVotes_clicked() +{ + //votesDialog->show(); +} diff --git a/src/qt/votingdialog.h b/src/qt/votingdialog.h new file mode 100644 index 000000000..11caed665 --- /dev/null +++ b/src/qt/votingdialog.h @@ -0,0 +1,37 @@ +#ifndef VOTINGDIALOG_H +#define VOTINGDIALOG_H + +#include +#include + +class CreateProposalDialog; +class ProposalsDialog; +//class MyVotesDialog; +class WalletModel; + +namespace Ui { +class VotingDialog; +} + +class VotingDialog : public QDialog +{ + Q_OBJECT +public: + explicit VotingDialog(QWidget* parent = 0); + ~VotingDialog(); + void SetWalletModel(WalletModel* model); + +public slots: + void on_button_ViewProposals_clicked(); + void on_button_CreateProposal_clicked(); + void on_button_SetVotes_clicked(); + +private: + Ui::VotingDialog *ui; + CreateProposalDialog* createProposalDialog; + //MyVotesDialog* votesDialog; + ProposalsDialog* proposalsDialog; + WalletModel* walletModel; +}; + +#endif // VOTINGDIALOG_H diff --git a/src/qt/walletmodel.cpp b/src/qt/walletmodel.cpp index 6f36d235e..a378aad1c 100644 --- a/src/qt/walletmodel.cpp +++ b/src/qt/walletmodel.cpp @@ -129,6 +129,65 @@ bool WalletModel::validateAddress(const QString &address) return addressParsed.IsValid(); } +bool WalletModel::sendProposal(const CVoteProposal& proposal, uint256& txid) +{ + CTransaction tx; + if (!proposal.ConstructTransaction(tx)) + return false; + CWalletTx wtx(wallet, tx); + + //! Get available coins and add enough to cover the proposal fee + std::vector vCoins; + wallet->AvailableCoins(vCoins, true); + + int64 nFee = 5 * COIN; + int64 nValueIn = 0; + + std::set > setCoins; + if (wallet->SelectCoinsMinConf(nFee, tx.nTime, 1, 6, vCoins, setCoins, nValueIn)) + return false; + + //! Fill vin + for (std::pair coin : setCoins) + wtx.vin.push_back(CTxIn(coin.first->GetHash(),coin.second)); + + //! Add the min value required for an output to the proposal UTXO + wtx.vout[0].nValue = MIN_TXOUT_AMOUNT; + + //! Figure out change amount + nFee -= wtx.vout[0].nValue; + int64 nChange = nValueIn - nFee - MIN_TXOUT_AMOUNT; + if (nChange > 500) { + //!Lookup the address of one of the inputs and return the change to that address + uint256 hashBlock; + CTransaction txPrev; + if(!::GetTransaction(wtx.vin[0].prevout.hash, txPrev, hashBlock)) + return false; + + CScript scriptReturn = txPrev.vout[wtx.vin[0].prevout.n].scriptPubKey; + CTxOut out(nChange, scriptReturn); + + //!Add the change output to the new transaction + wtx.vout.push_back(out); + } + + //! Sign the transaction + int nIn = 0; + for (const std::pair& coin : setCoins) { + if (!SignSignature(*wallet, *coin.first, wtx, nIn++)) + return false; + } + + //! Broadcast the transaction to the network + CReserveKey reserveKey = CReserveKey(wallet); + if (!wallet->CommitTransaction(wtx, reserveKey)) + return false; + + txid = wtx.GetHash(); + + return true; +} + WalletModel::SendCoinsReturn WalletModel::sendCoins(const QList &recipients, int nSplitBlock, const CCoinControl *coinControl) { qint64 total = 0; @@ -496,4 +555,4 @@ void WalletModel::UnlockContext::CopyFrom(const UnlockContext& rhs) bool WalletModel::isMine(const CBitcoinAddress &address) { return IsMine(*wallet, address.Get()); -} \ No newline at end of file +} diff --git a/src/qt/walletmodel.h b/src/qt/walletmodel.h index b15661ccc..6f89403a4 100644 --- a/src/qt/walletmodel.h +++ b/src/qt/walletmodel.h @@ -18,6 +18,7 @@ class COutPoint; class uint256; class CCoinControl; class CBitcoinAddress; +class CVoteProposal; QT_BEGIN_NAMESPACE class QTimer; @@ -133,6 +134,7 @@ class WalletModel : public QObject void unlockCoin(COutPoint& output); void listLockedCoins(std::vector& vOutpts); bool isMine(const CBitcoinAddress &address); + bool sendProposal(const CVoteProposal& proposal, uint256& txid); private: CWallet *wallet; diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 97a1929cd..605018e22 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -15,14 +15,14 @@ uint256 CVoteProposal::GetHash() const * The vote proposal is serialized and added to a CTransaction as a data object via OP_RETURN transaction output. * The transaction is marked as a proposal by marking the first 4 bytes as "PROP" in ASCII */ -bool CVoteProposal::ConstructTransaction(CTransaction& tx) +bool CVoteProposal::ConstructTransaction (CTransaction& tx) const { // if (tx.vin.empty()) { // printf("%s : transaction does not have any inputs!\n", __func__); // return false; // } - if (this->IsNull()) { + if (IsNull()) { printf("%s : vote proposal is null!\n", __func__); return false; } diff --git a/src/voteproposal.h b/src/voteproposal.h index a783aa3cf..3d4ac9f5e 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -10,6 +10,11 @@ #include "serialize.h" #include "votetally.h" +#define MAX_CHAR_NAME 10 +#define MAX_CHAR_ABSTRACT 30 +#define MAX_BLOCKS_IN_FUTURE 28800 +#define MAX_CHECKSPAN 28800 + class CVoteProposal { private: @@ -44,21 +49,21 @@ class CVoteProposal strDescription = ""; } - bool IsNull () { return strName.empty(); } + bool IsNull () const { return strName.empty(); } CVoteProposal() { SetNull(); } - CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartHeight, int nCheckSpan, uint8_t nCardinals, + CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartHeight, int nCheckSpan, uint8_t nBitCount, std::string strDescription) { this->strName = strName; this->nShift = nShift; this->nStartHeight = nStartHeight; this->nCheckSpan = nCheckSpan; - this->nBitCount = nCardinals; + this->nBitCount = nBitCount; this->strDescription = strDescription; } @@ -72,7 +77,7 @@ class CVoteProposal READWRITE(strDescription); ) - bool ConstructTransaction(CTransaction& tx); + bool ConstructTransaction (CTransaction& tx) const; int GetShift() const { return nShift; } uint8_t GetBitCount() const { return nBitCount; } int GetCheckSpan() const { return nCheckSpan; } diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 9a7e66b8f..6fd02bcf2 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -57,3 +57,61 @@ map CVoteProposalManager::GetActive(int nHeight) return mapActive; } + +bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) +{ + vector vConflictingTime; + for (auto it : mapProposalData) { + CProposalMetaData data = it.second; + int nEndHeight = nStartHeight + nCheckSpan; + if (data.nHeightEnd < nStartHeight) + continue; + if (data.nHeightStart > nEndHeight) + continue; + vConflictingTime.emplace_back(data); + } + + //Find an open location for the new proposal, return left most bits + if (vConflictingTime.empty()) { + location.first = 28; + location.second = location.first - nBitCount; + return true; + } + + //create a vector tracking available spots + vector vAvailable; + for (int i = 0; i < 28; i++) + vAvailable.emplace_back(i + 1); + + //remove spots that are already taken + for (auto data : vConflictingTime) { + int n = data.location.first; + while (n >= data.location.second) { + auto it = std::find(vAvailable.begin(), vAvailable.end(), n); + if (it != vAvailable.end()) + vAvailable.erase(it); + n--; + } + } + + //find an available sequence of bits that fit the proposal + int nPrev = 0; + int nSequenceStart = 0; + for (auto n : vAvailable) { + //See if the previous is in sequence + if (nPrev) { + if (n - 1 == nPrev) + nSequenceStart = n; + else + nSequenceStart = 0; + + if (n - nSequenceStart >= nBitCount) { + location.first = nSequenceStart; + location.second = nSequenceStart - nBitCount; + return true; + } + } + nPrev = n; + } + return false; +} diff --git a/src/voteproposalmanager.h b/src/voteproposalmanager.h index 5e39975d7..e951310d0 100644 --- a/src/voteproposalmanager.h +++ b/src/voteproposalmanager.h @@ -26,6 +26,8 @@ class CVoteProposalManager bool Add(const CVoteProposal& proposal); void Remove(const uint256& hashProposal); std::map GetActive(int nHeight); + bool GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location); + std::map GetAllProposals() const { return mapProposalData; }; }; #endif //HYPERSTAKE_VOTEPROPOSALMANAGER_H diff --git a/src/wallet.cpp b/src/wallet.cpp index a24a6c2a8..5c2f26fb1 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2542,6 +2542,67 @@ void CWallet::DisableTransaction(const CTransaction &tx) } } +bool CWallet::SendProposal(const CVoteProposal& proposal, uint256& txid) +{ + CTransaction tx; + if (!proposal.ConstructTransaction(tx)) + return error("%s: failed to construct proposal tx\n", __func__); + CWalletTx wtx(this, tx); + + //! Get available coins and add enough to cover the proposal fee + vector vCoins; + AvailableCoins(vCoins, true); + + printf("*** after available coins\n"); + + int64 nFee = CVoteProposal::FEE * COIN; + int64 nValueIn = 0; + + set > setCoins; + if (!SelectCoinsMinConf(nFee, tx.nTime, 1, 6, vCoins, setCoins, nValueIn)) + return error("%s: Insufficient funds", __func__); + + //! Fill vin + for (pair coin : setCoins) + wtx.vin.push_back(CTxIn(coin.first->GetHash(),coin.second)); + + //! Add the min value required for an output to the proposal UTXO + wtx.vout[0].nValue = MIN_TXOUT_AMOUNT; + + //! Figure out change amount + nFee -= wtx.vout[0].nValue; + int64 nChange = nValueIn - nFee - MIN_TXOUT_AMOUNT; + if (nChange > 500) { + //!Lookup the address of one of the inputs and return the change to that address + uint256 hashBlock; + CTransaction txPrev; + if(!::GetTransaction(wtx.vin[0].prevout.hash, txPrev, hashBlock)) + return error("%s: Failed to select coins", __func__); + + CScript scriptReturn = txPrev.vout[wtx.vin[0].prevout.n].scriptPubKey; + CTxOut out(nChange, scriptReturn); + + //!Add the change output to the new transaction + wtx.vout.push_back(out); + } + + //! Sign the transaction + int nIn = 0; + for (const pair& coin : setCoins) { + if (!SignSignature(*this, *coin.first, wtx, nIn++)) + return false; + } + + //! Broadcast the transaction to the network + CReserveKey reserveKey = CReserveKey(this); + if (!CommitTransaction(wtx, reserveKey)) + return error("%s: Failed to commit transaction", __func__); + + txid = wtx.GetHash(); + + return true; +} + CPubKey CReserveKey::GetReservedKey() { if (nIndex == -1) diff --git a/src/wallet.h b/src/wallet.h index 627809918..598c67ad3 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -392,6 +392,8 @@ class CWallet : public CCryptoKeyStore void FixSpentCoins(int& nMismatchSpent, int64& nBalanceInQuestion, int& nOrphansFound, bool fCheckOnly = false); void DisableTransaction(const CTransaction &tx); + bool SendProposal(const CVoteProposal& proposal, uint256& txid); + /** Address book entry changed. * @note called with lock cs_wallet held. */ From 61269e8d8ea37dab5868967eec5a305c4d88a0b3 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 2 Mar 2018 11:14:25 -0700 Subject: [PATCH 520/555] create proposal dialog --- src/qt/createproposaldialog.cpp | 115 +++++++++++++++++++++++++++++++- src/qt/createproposaldialog.h | 25 ++++++- 2 files changed, 136 insertions(+), 4 deletions(-) diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index 128572a57..c6085e87b 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -1,6 +1,119 @@ #include "createproposaldialog.h" +#include "ui_createproposaldialog.h" +#include "init.h" +#include "main.h" +#include "walletmodel.h" +#include "voteproposal.h" +#include +#include -createproposaldialog::createproposaldialog() +CreateProposalDialog::CreateProposalDialog(QWidget* parent) : + QDialog(parent), + ui(new Ui::CreateProposalDialog) { + ui->setupUi(this); + walletModel = nullptr; + Clear(); +} + +CreateProposalDialog::~CreateProposalDialog() +{ + delete ui; +} + +void CreateProposalDialog::SetWalletModel(WalletModel* model) +{ + walletModel = model; +} + +void CreateProposalDialog::on_button_CreateProposal_clicked() +{ + QString strName = ui->lineEdit_Name->text(); + if (!strName.size() || strName.size() > MAX_CHAR_NAME) { + QMessageBox msg; + msg.setText(tr("Name needs to be between 1 and %1 characters long").arg(MAX_CHAR_NAME)); + msg.exec(); + return; + } + + QString strAbstract = ui->lineEdit_Abstract->text(); + if (!strAbstract.size() || strAbstract.size() > MAX_CHAR_ABSTRACT) { + QMessageBox msg; + msg.setText(tr("Abstract needs to be between 1 and %1 characters long").arg(MAX_CHAR_ABSTRACT)); + msg.exec(); + return; + } + + int nStartHeight = ui->lineEdit_StartBlock->text().toInt(); + if (nStartHeight < nBestHeight || nStartHeight > nBestHeight + MAX_BLOCKS_IN_FUTURE) { + QMessageBox msg; + msg.setText(tr("Start height needs to be greater than current height (%1) and less than %2.").arg(nBestHeight).arg(nStartHeight + MAX_BLOCKS_IN_FUTURE)); + msg.exec(); + return; + } + + int nCheckSpan = ui->lineEdit_Length->text().toInt(); + if (!nCheckSpan || nCheckSpan > MAX_CHECKSPAN) { + QMessageBox msg; + msg.setText(tr("Voting length needs to be between 1 and %1 blocks").arg(MAX_CHECKSPAN)); + msg.exec(); + return; + } + //Right now only supporting 2 bit votes + int nBitCount = 2; + QString strSize = QString::number(nBitCount); + ui->label_Size_result->setText(strSize); + + //Set bit location in dialog + VoteLocation location; + if (!proposalManager.GetNextLocation(nBitCount, nStartHeight, nCheckSpan, location)) { + QMessageBox msg; + msg.setText(tr("Failed to get next location from the proposal manager")); + msg.exec(); + return; + } + ui->label_Location_result->setText(QString::number(location.first)); + + //Create the actual proposal + this->proposal = new CVoteProposal(strName.toStdString(), location.first, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); + + //Set proposal hash in dialog + uint256 hashProposal = proposal->GetHash(); + QString strHash = QString::fromStdString(hashProposal.GetHex()); + ui->label_Hash_result->setText(strHash); + + if (strHash != "") + ui->button_SendProposal->setDisabled(false); +} + +void CreateProposalDialog::on_button_SendProposal_clicked() +{ + uint256 txid; + if (!walletModel->sendProposal(*proposal, txid)) { + QMessageBox msg; + msg.setText(tr("Failed to send proposal")); + msg.exec(); + return; + } + + //display dialog showing tx success + QMessageBox msg; + msg.setText(tr("Proposal Sent. TXID: %1").arg(QString::fromStdString(txid.GetHex()))); + msg.exec(); + + Clear(); +} + +void CreateProposalDialog::Clear() +{ + ui->lineEdit_Abstract->clear(); + ui->lineEdit_Length->clear(); + ui->lineEdit_Name->clear(); + ui->lineEdit_StartBlock->clear(); + ui->label_Fee_result->setText(QString::fromStdString(FormatMoney(CVoteProposal::FEE))); + ui->label_Hash_result->setText("(Automatically Generated)"); + ui->label_Location_result->setText("(Automatically Generated)"); + ui->label_Location_result->setText("(Automatically Generated)"); + ui->button_SendProposal->setEnabled(false); } diff --git a/src/qt/createproposaldialog.h b/src/qt/createproposaldialog.h index 347faac2a..efb395946 100644 --- a/src/qt/createproposaldialog.h +++ b/src/qt/createproposaldialog.h @@ -1,12 +1,31 @@ #ifndef CREATEPROPOSALDIALOG_H #define CREATEPROPOSALDIALOG_H +#include #include -class createproposaldialog +class WalletModel; +class CVoteProposal; + +namespace Ui { +class CreateProposalDialog; +} + +class CreateProposalDialog : public QDialog { + Q_OBJECT public: - createproposaldialog(); + CreateProposalDialog(QWidget* parent); + ~CreateProposalDialog(); + void SetWalletModel(WalletModel* model); +private slots: + void on_button_CreateProposal_clicked(); + void on_button_SendProposal_clicked(); +private: + Ui::CreateProposalDialog* ui; + WalletModel* walletModel; + CVoteProposal* proposal; + void Clear(); }; -#endif // CREATEPROPOSALDIALOG_H \ No newline at end of file +#endif // CREATEPROPOSALDIALOG_H From 4b2a59c23c1be5b03d9106f4aead94ccbc79e060 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 2 Mar 2018 15:53:20 -0700 Subject: [PATCH 521/555] Add proposals to proposalsdialog, update their current voting status. --- src/qt/forms/createproposaldialog.ui | 2 +- src/qt/forms/proposalsdialog.ui | 11 +++- src/qt/forms/votingdialog.ui | 47 +++++++++-------- src/qt/proposalsdialog.cpp | 76 +++++++++++++++++++++++----- 4 files changed, 102 insertions(+), 34 deletions(-) diff --git a/src/qt/forms/createproposaldialog.ui b/src/qt/forms/createproposaldialog.ui index b6a740fdc..18ec8f9c6 100644 --- a/src/qt/forms/createproposaldialog.ui +++ b/src/qt/forms/createproposaldialog.ui @@ -11,7 +11,7 @@ - Create Vote Proposal + Proposal Creation diff --git a/src/qt/forms/proposalsdialog.ui b/src/qt/forms/proposalsdialog.ui index 4fdb0775f..668694aa7 100644 --- a/src/qt/forms/proposalsdialog.ui +++ b/src/qt/forms/proposalsdialog.ui @@ -11,7 +11,7 @@ - Dialog + Vote Proposals @@ -52,6 +52,9 @@ Active + + true + @@ -59,6 +62,9 @@ Upcoming + + true + @@ -66,6 +72,9 @@ Finished + + true + diff --git a/src/qt/forms/votingdialog.ui b/src/qt/forms/votingdialog.ui index c5170e0e6..1dff8d0d9 100644 --- a/src/qt/forms/votingdialog.ui +++ b/src/qt/forms/votingdialog.ui @@ -6,36 +6,20 @@ 0 0 - 565 + 194 300 - Dialog + HyperStake Voting System - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - 10 10 - 181 - 91 + 171 + 271 @@ -60,6 +44,29 @@ + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + diff --git a/src/qt/proposalsdialog.cpp b/src/qt/proposalsdialog.cpp index 417452758..6f0892722 100644 --- a/src/qt/proposalsdialog.cpp +++ b/src/qt/proposalsdialog.cpp @@ -27,31 +27,83 @@ void ProposalsDialog::SetWalletModel(WalletModel *model) void ProposalsDialog::UpdateTable() { - int columns = 8; + int columns = 12; int rows = mapProposals.size(); QStandardItemModel* model = new QStandardItemModel(rows, columns, this); - model->setHorizontalHeaderItem(0, new QStandardItem(QString("TxID"))); - model->setHorizontalHeaderItem(1, new QStandardItem(QString("ID"))); - model->setHorizontalHeaderItem(2, new QStandardItem(QString("Name"))); - model->setHorizontalHeaderItem(3, new QStandardItem(QString("Abstract"))); - model->setHorizontalHeaderItem(4, new QStandardItem(QString("Location"))); - model->setHorizontalHeaderItem(5, new QStandardItem(QString("Start Block"))); - model->setHorizontalHeaderItem(6, new QStandardItem(QString("End Block"))); - model->setHorizontalHeaderItem(7, new QStandardItem(QString("Bits"))); + model->setHorizontalHeaderItem(0, new QStandardItem(QString("Name"))); + model->setHorizontalHeaderItem(1, new QStandardItem(QString("Abstract"))); + model->setHorizontalHeaderItem(2, new QStandardItem(QString("Yes Votes"))); + model->setHorizontalHeaderItem(3, new QStandardItem(QString("No Votes"))); + model->setHorizontalHeaderItem(4, new QStandardItem(QString("Abstain"))); + model->setHorizontalHeaderItem(5, new QStandardItem(QString("Ratio"))); + model->setHorizontalHeaderItem(6, new QStandardItem(QString("TxID"))); + model->setHorizontalHeaderItem(7, new QStandardItem(QString("ID"))); + model->setHorizontalHeaderItem(8, new QStandardItem(QString("Location"))); + model->setHorizontalHeaderItem(9, new QStandardItem(QString("Start Block"))); + model->setHorizontalHeaderItem(10, new QStandardItem(QString("End Block"))); + model->setHorizontalHeaderItem(11, new QStandardItem(QString("Bits"))); CVoteDB voteDB("r"); int i = 0; for (auto it : mapProposals) { CVoteProposal proposal; if (voteDB.ReadProposal(it.first, proposal)) { + //Filters + bool hasStarted = proposal.GetStartHeight() < nBestHeight; + bool isFinished = (proposal.GetStartHeight() + proposal.GetCheckSpan()) < nBestHeight; + bool isActive = hasStarted && !isFinished; + + bool fUpcomingChecked = ui->checkBox_Upcoming->checkState() == Qt::CheckState::Checked; + bool fActiveChecked = ui->checkBox_Active->checkState() == Qt::CheckState::Checked; + bool fFinishedChecked = ui->checkBox_Finished->checkState() == Qt::CheckState::Checked; + + bool fInclude = false; + if (fActiveChecked && isActive) + fInclude = true; + if (!hasStarted && fUpcomingChecked) + fInclude = true; + if (isFinished && fFinishedChecked) + fInclude = true; + if (!fInclude) + continue; + + //Find the current status of the proposal's votes + int nHeightEnd = proposal.GetStartHeight() + proposal.GetCheckSpan(); + int nHeightTally; + if (nHeightEnd < nBestHeight) + nHeightTally = nHeightEnd; + else + nHeightTally = nBestHeight; + + CVoteTally tally = FindBlockByHeight(nHeightTally)->tally; + CVoteSummary summary; + bool fTallySet = true; + if (!tally.GetSummary(proposal.GetHash(), summary)) + fTallySet = false; QList listItems; - listItems.push_back(new QStandardItem(QString::fromStdString(it.first.GetHex()))); - listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetHash().GetHex()))); listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetName()))); listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetDescription()))); + if (fTallySet) { + int64_t nBlocksVoted = nHeightTally - summary.nBlockStart; + double nAbstain = nBlocksVoted - summary.nNoTally - summary.nYesTally; + double nRatio = 0; + if (nBlocksVoted) + nRatio = (double)summary.nYesTally / ((double)nBlocksVoted - nAbstain); + listItems.push_back(new QStandardItem(QString::number(summary.nYesTally))); + listItems.push_back(new QStandardItem(QString::number(summary.nNoTally))); + listItems.push_back(new QStandardItem(QString::number(nAbstain))); + listItems.push_back(new QStandardItem(QString::number(nRatio))); + } else { + listItems.push_back(new QStandardItem(QString("n/a"))); + listItems.push_back(new QStandardItem(QString("n/a"))); + listItems.push_back(new QStandardItem(QString("n/a"))); + listItems.push_back(new QStandardItem(QString("n/a"))); + } + listItems.push_back(new QStandardItem(QString::fromStdString(it.first.GetHex()))); + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetHash().GetHex()))); listItems.push_back(new QStandardItem(QString::number(proposal.GetShift()))); listItems.push_back(new QStandardItem(QString::number(proposal.GetStartHeight()))); - listItems.push_back(new QStandardItem(QString::number(proposal.GetStartHeight() - proposal.GetCheckSpan()))); + listItems.push_back(new QStandardItem(QString::number(proposal.GetStartHeight() + proposal.GetCheckSpan()))); listItems.push_back(new QStandardItem(QString::number(proposal.GetBitCount()))); model->insertRow(i, listItems); i++; From 092f08d680472740d67ef21364285bc41a057590 Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 3 Mar 2018 17:06:40 -0700 Subject: [PATCH 522/555] Modifications to createproposaldialog and proposal creation process. --- src/qt/createproposaldialog.cpp | 2 +- src/qt/locale/bitcoin_en.qm | Bin 74899 -> 0 bytes src/qt/locale/bitcoin_ru.qm | Bin 84243 -> 0 bytes src/qt/proposaldialog.cpp | 6 ------ src/qt/proposaldialog.h | 12 ------------ src/wallet.cpp | 2 +- 6 files changed, 2 insertions(+), 20 deletions(-) delete mode 100644 src/qt/locale/bitcoin_en.qm delete mode 100644 src/qt/locale/bitcoin_ru.qm delete mode 100644 src/qt/proposaldialog.cpp delete mode 100644 src/qt/proposaldialog.h diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index c6085e87b..67b70a58d 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -90,7 +90,7 @@ void CreateProposalDialog::on_button_CreateProposal_clicked() void CreateProposalDialog::on_button_SendProposal_clicked() { uint256 txid; - if (!walletModel->sendProposal(*proposal, txid)) { + if (!pwalletMain->SendProposal(*proposal, txid)) { QMessageBox msg; msg.setText(tr("Failed to send proposal")); msg.exec(); diff --git a/src/qt/locale/bitcoin_en.qm b/src/qt/locale/bitcoin_en.qm deleted file mode 100644 index c08f651dd4410c7163bac6cefc9a6afaf7e72c29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 74899 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 EU)){hiU0rr diff --git a/src/qt/locale/bitcoin_ru.qm b/src/qt/locale/bitcoin_ru.qm deleted file mode 100644 index bfb4729337aa5802d0701d5b585c57fa9b9609e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84243 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

          qoUGrnuDd%@IT?@X5 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 diff --git a/src/qt/proposaldialog.cpp b/src/qt/proposaldialog.cpp deleted file mode 100644 index 3be0f7b73..000000000 --- a/src/qt/proposaldialog.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include "proposaldialog.h" - -proposaldialog::proposaldialog() -{ - -} diff --git a/src/qt/proposaldialog.h b/src/qt/proposaldialog.h deleted file mode 100644 index 0d3613a81..000000000 --- a/src/qt/proposaldialog.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef PROPOSALDIALOG_H -#define PROPOSALDIALOG_H - -#include - -class proposaldialog -{ -public: - proposaldialog(); -}; - -#endif // PROPOSALDIALOG_H \ No newline at end of file diff --git a/src/wallet.cpp b/src/wallet.cpp index 5c2f26fb1..3644cc6d9 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2555,7 +2555,7 @@ bool CWallet::SendProposal(const CVoteProposal& proposal, uint256& txid) printf("*** after available coins\n"); - int64 nFee = CVoteProposal::FEE * COIN; + int64 nFee = CVoteProposal::FEE; int64 nValueIn = 0; set > setCoins; From 61c2b3ab80a689adf46d1aec83601a061f061c96 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 3 Apr 2018 16:09:06 -0600 Subject: [PATCH 523/555] Replace wrong GetTransaction() method. --- src/main.cpp | 6 +++--- src/rpcwallet.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 9aeb9390b..4c83a84af 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4192,13 +4192,13 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) map mapActiveProposals = proposalManager.GetActive(nBestHeight); if (pwalletMain->mapVoteObjects.size() > 0) { for (map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) { - CWalletTx walletTx; - if (!pwalletMain->GetTransaction(it->first, walletTx)) { + CTransaction tx; + uint256 hashBlock; + if (!GetTransaction(it->first, tx, hashBlock)) { printf("*** failed to get transaction %s!\n", it->first.GetHex().c_str()); continue; } - CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) { printf("*** tx is not a proposal!\n"); continue; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 3f379f94b..357bd63d8 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2894,11 +2894,11 @@ Value setvote(const Array& params, bool fHelp) uint256 txHash(params[0].get_str()); int voteChoice = params[1].get_int(); - CWalletTx walletTx; - if(!pwalletMain->GetTransaction(txHash, walletTx)) + CTransaction tx; + uint256 hashBlock; + if(!GetTransaction(txHash, tx, hashBlock)) return "Transaction not found in wallet"; - CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) return "Transaction does not contain a proposal"; From 8673b5f29373b5c230e0602096603a6a37bd78e2 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 4 Apr 2018 21:17:59 -0600 Subject: [PATCH 524/555] temp_voting --- src/main.cpp | 10 ++++++---- src/rpcwallet.cpp | 9 +++++---- src/test/voting_tests.cpp | 23 ++++++++++++++++------- src/voteobject.cpp | 29 ++--------------------------- src/voteobject.h | 4 +--- src/voteproposalmanager.cpp | 4 ++-- 6 files changed, 32 insertions(+), 47 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 4c83a84af..dc7c287c8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4186,7 +4186,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) //Check to see if proposals need to be voted on if (mapProposals.size() > 0) { - list votes; + list votes; // Get all the vote objects versions map mapActiveProposals = proposalManager.GetActive(nBestHeight); @@ -4215,7 +4215,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) } if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { - printf("*** mapVoteObjects does not have proposal hash\n"); + //printf("*** mapVoteObjects does not have proposal hash\n"); continue; } @@ -4227,10 +4227,12 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) printf("*** mapVoteObjects empty!\n"); // Update the block version to have all votes - for (int32_t vote : votes) { + for (uint32_t vote : votes) { pblock->nVersion |= vote; - //printf("***voted!\n"); + printf("***voted %d \n", vote); } + } else { + printf("map proposals empty\n"); } // Create coinbase tx diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 357bd63d8..52ed5f285 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2949,11 +2949,11 @@ Value getvote(const Array& params, bool fHelp) //Get params uint256 txHash(params[0].get_str()); - CWalletTx walletTx; - if(!pwalletMain->GetTransaction(txHash, walletTx)) + CTransaction tx; + uint256 hashBlock; + if (!GetTransaction(txHash, tx, hashBlock)) return "Transaction not found in wallet"; - CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) return "Transaction does not contain a proposal"; @@ -2968,10 +2968,11 @@ Value getvote(const Array& params, bool fHelp) CVoteObject voteObject; voteObject = pwalletMain->mapVoteObjects[proposalHash]; - int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); + int voteValue = voteObject.GetVote(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); + ret.push_back(Pair("Proposal Name", proposal.GetName())); ret.push_back(Pair("Proposal Description", proposal.GetDescription())); ret.push_back(Pair("Your Vote", voteValue)); ret.push_back(Pair("Proposal Hash", proposal.GetHash().GetHex())); diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 7bcc3d174..2d856111b 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -129,13 +129,22 @@ BOOST_AUTO_TEST_CASE(vote_tally) BOOST_AUTO_TEST_CASE(vote_charset) { - std::string someString; - std::vector vch; - BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); - cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; - BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); - - cout << "deconverted string: " << someString << endl; +// std::string someString; +// std::vector vch; +// BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); +// cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; +// BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); +// +// cout << "deconverted string: " << someString << endl; + + uint32_t nVersion = 0x50000000; + uint32_t nVote = 2; + uint256 hash; + CVoteObject vote(hash, 2, 28); + vote.Vote(nVote); + + nVersion |= (vote.GetFormattedVote() >> 1); + cout << "version: " << nVersion << endl; } BOOST_AUTO_TEST_SUITE_END() diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 0f60379d3..bcfc4b1c0 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -8,33 +8,8 @@ using namespace std; bool CVoteObject::Vote(int nVotersChoice) { - uint32_t versionInFirstFour = CBlock::CURRENT_VERSION << 28; - uint32_t binaryChoice = 0; - - if (nVotersChoice == 0) { // Abstain 00 - binaryChoice = 0; - } - else if (nVotersChoice == 3) { // Revise the proposal 01 - binaryChoice = 1; - } - else if (nVotersChoice == 2) { // No 10 - binaryChoice = 2; - } - else if (nVotersChoice == 1) { // Yes 11 - binaryChoice = 3; - } - - nChoice = binaryChoice; - nChoice <<= nShift; - nFormattedVote = (versionInFirstFour |= nChoice); + nChoice = static_cast(nVotersChoice); + printf("shift %d\n", nShift); return true; } -uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) -{ - int diff = nShift - nCardinals; - uint32_t mask; - mask = ((1 << (diff + 1)) - 1) << diff; - return (nVersion & mask) >> diff; -} - diff --git a/src/voteobject.h b/src/voteobject.h index 9876d6cb3..724bed25d 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -54,10 +54,8 @@ class CVoteObject ) bool Vote(int nVotersChoice); - uint32_t GetVoteFromVersion(uint32_t nVersion); - uint32_t GetFormattedVote() { return nFormattedVote; } + uint32_t GetFormattedVote() { return (nChoice << (nShift - nCardinals - 1)); } uint32_t GetVote() { return nChoice; } - uint256 GetProposal() { return hashProposal; } }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 6fd02bcf2..7093f4a00 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -80,8 +80,8 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //create a vector tracking available spots vector vAvailable; - for (int i = 0; i < 28; i++) - vAvailable.emplace_back(i + 1); + for (int i = 28; i > 0; i--) + vAvailable.emplace_back(i); //remove spots that are already taken for (auto data : vConflictingTime) { From 24577034e78cecd7954a75daff08af69448c4e35 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 6 Apr 2018 21:31:19 -0600 Subject: [PATCH 525/555] Working proposals and votes. --- CMakeLists.txt | 6 ++++- src/main.cpp | 4 +-- src/qt/createproposaldialog.cpp | 4 +-- src/voteobject.h | 2 +- src/voteproposal.cpp | 5 ++-- src/voteproposalmanager.cpp | 43 ++++++++++++--------------------- src/votetally.cpp | 6 ++--- 7 files changed, 32 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 60c3ced7c..8a512bafc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -291,7 +291,11 @@ add_executable(HyperStake src/voteproposal.h src/voteproposalmanager.cpp src/voteproposalmanager.h - src/votetally.cpp + src/qt/createproposaldialog.cpp + src/qt/createproposaldialog.h + src/votingdialog.cpp + src/qt/votingdialog.h + src/qt/votetally.cpp src/votetally.h src/wallet.cpp src/wallet.h diff --git a/src/main.cpp b/src/main.cpp index dc7c287c8..d0d80b8b5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4229,7 +4229,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) // Update the block version to have all votes for (uint32_t vote : votes) { pblock->nVersion |= vote; - printf("***voted %d \n", vote); + } } else { printf("map proposals empty\n"); @@ -4648,7 +4648,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) fWalletStaking = false; - while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) + while (/*vNodes.empty() || IsInitialBlockDownload() || */pwallet->IsLocked() || !fMintableCoins) { nLastCoinStakeSearchInterval = 0; Sleep(1000); diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index 67b70a58d..7e2b77186 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -73,10 +73,10 @@ void CreateProposalDialog::on_button_CreateProposal_clicked() msg.exec(); return; } - ui->label_Location_result->setText(QString::number(location.first)); + ui->label_Location_result->setText(QString::number(location.second)); //Create the actual proposal - this->proposal = new CVoteProposal(strName.toStdString(), location.first, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); + this->proposal = new CVoteProposal(strName.toStdString(), location.second - 1, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); //Set proposal hash in dialog uint256 hashProposal = proposal->GetHash(); diff --git a/src/voteobject.h b/src/voteobject.h index 724bed25d..9459fbaaa 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -54,7 +54,7 @@ class CVoteObject ) bool Vote(int nVotersChoice); - uint32_t GetFormattedVote() { return (nChoice << (nShift - nCardinals - 1)); } + uint32_t GetFormattedVote() { return (nChoice << nShift); } uint32_t GetVote() { return nChoice; } }; diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 605018e22..57a7a3a5c 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -78,7 +78,8 @@ bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) VoteLocation CVoteProposal::GetLocation() const { VoteLocation location; - location.first = static_cast(GetShift()); - location.second = static_cast(location.first - GetBitCount()); + location.second = static_cast(GetShift() + 1); + location.first = static_cast(GetShift() + nBitCount); + return location; } \ No newline at end of file diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 7093f4a00..36f5bbeae 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -60,6 +60,7 @@ map CVoteProposalManager::GetActive(int nHeight) bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) { + //Conflicts for block range vector vConflictingTime; for (auto it : mapProposalData) { CProposalMetaData data = it.second; @@ -74,44 +75,32 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //Find an open location for the new proposal, return left most bits if (vConflictingTime.empty()) { location.first = 28; - location.second = location.first - nBitCount; + location.second = (uint8_t)(location.first - nBitCount + 1); return true; } //create a vector tracking available spots - vector vAvailable; - for (int i = 28; i > 0; i--) - vAvailable.emplace_back(i); + vector vAvailable(29, 1); //remove spots that are already taken for (auto data : vConflictingTime) { - int n = data.location.first; - while (n >= data.location.second) { - auto it = std::find(vAvailable.begin(), vAvailable.end(), n); - if (it != vAvailable.end()) - vAvailable.erase(it); - n--; + printf("location.first=%d location.second=%d\n", location.first, location.second); + for (int i = data.location.first; i >= data.location.second; i--) { + printf("mark %d as 0\n", i); + vAvailable.at(i) = 0; } } //find an available sequence of bits that fit the proposal - int nPrev = 0; - int nSequenceStart = 0; - for (auto n : vAvailable) { - //See if the previous is in sequence - if (nPrev) { - if (n - 1 == nPrev) - nSequenceStart = n; - else - nSequenceStart = 0; - - if (n - nSequenceStart >= nBitCount) { - location.first = nSequenceStart; - location.second = nSequenceStart - nBitCount; - return true; - } + vector vRange; + int nSequential = 0; + for (uint8_t i = 28; i > 0; i--) { + nSequential = vAvailable.at(i) == 1 ? nSequential + 1 : 0; + if (nSequential == nBitCount) { + location.second = i; + location.first = (uint8_t )(i + nBitCount - 1); + return true; } - nPrev = n; } return false; -} +} \ No newline at end of file diff --git a/src/votetally.cpp b/src/votetally.cpp index 1b6c57c77..72833dc81 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -81,8 +81,8 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) VoteLocation location = mapLocations.at(it.first); int32_t nVote = nVersion; nVote &= VOTEMASK; // remove version bits - nVote >>= location.first; //shift it over to the starting position - int32_t nBits = location.first - location.second; + nVote >>= location.second - 1; //shift it over to the starting position + int32_t nBits = location.first - location.second + 1; // Remove any bits to the left of the vote bits uint32_t nMask = ~0; @@ -92,7 +92,7 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) //Count the vote if it is yes or no if (nVote == 1) { mapVotes.at(it.first).nYesTally++; - } else if (nVote > 1) + } else if (nVote == 2) mapVotes.at(it.first).nNoTally++; printf("%s: nVote=%d\n", __func__, nVote); } From 97c1a2297707b1f41ee7caf1542d3cbb1b983e20 Mon Sep 17 00:00:00 2001 From: Anthony Posselli Date: Sun, 8 Apr 2018 16:22:06 -0600 Subject: [PATCH 526/555] Add GUI for setting votes and modify other voting-related GUI. (#68) * temp_voting * Working proposals and votes. * Add gui for setting votes and adjust other gui to make it scale, update when opened, etc. --- CMakeLists.txt | 6 +- HyperStake-qt.pro | 3 +- src/Makefile.qt.include | 4 + src/main.cpp | 12 +- src/qt/createproposaldialog.cpp | 4 +- src/qt/forms/createproposaldialog.ui | 276 +++++++++++++-------------- src/qt/forms/proposalsdialog.ui | 196 ++++++++++--------- src/qt/forms/setvotesdialog.ui | 162 ++++++++++++++++ src/qt/forms/votingdialog.ui | 104 +++++----- src/qt/proposalsdialog.cpp | 2 +- src/qt/setvotesdialog.cpp | 164 ++++++++++++++++ src/qt/setvotesdialog.h | 29 +++ src/qt/votingdialog.cpp | 8 +- src/qt/votingdialog.h | 4 +- src/rpcwallet.cpp | 9 +- src/test/voting_tests.cpp | 23 ++- src/voteobject.cpp | 29 +-- src/voteobject.h | 4 +- src/voteproposal.cpp | 5 +- src/voteproposalmanager.cpp | 43 ++--- src/votetally.cpp | 6 +- src/walletdb.cpp | 2 +- 22 files changed, 708 insertions(+), 387 deletions(-) create mode 100644 src/qt/forms/setvotesdialog.ui create mode 100644 src/qt/setvotesdialog.cpp create mode 100644 src/qt/setvotesdialog.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 60c3ced7c..8a512bafc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -291,7 +291,11 @@ add_executable(HyperStake src/voteproposal.h src/voteproposalmanager.cpp src/voteproposalmanager.h - src/votetally.cpp + src/qt/createproposaldialog.cpp + src/qt/createproposaldialog.h + src/votingdialog.cpp + src/qt/votingdialog.h + src/qt/votetally.cpp src/votetally.h src/wallet.cpp src/wallet.h diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index c25ae1e53..29f57a6e2 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -348,7 +348,8 @@ FORMS += \ src/qt/forms/bip38tooldialog.ui \ src/qt/forms/votingdialog.ui \ src/qt/forms/createproposaldialog.ui \ - src/qt/forms/proposalsdialog.ui + src/qt/forms/proposalsdialog.ui \ + src/qt/forms/setvotesdialog.ui contains(USE_QRCODE, 1) { HEADERS += src/qt/qrcodedialog.h diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index f1b4dbe92..ad37a1d5e 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -24,6 +24,7 @@ QT_FORMS_UI = \ qt/forms/rpcconsole.ui \ qt/forms/sendcoinsdialog.ui \ qt/forms/sendcoinsentry.ui \ + qt/forms/setvotesdialog.ui \ qt/forms/signverifymessagedialog.ui \ qt/forms/transactiondescdialog.ui \ qt/forms/votingdialog.ui @@ -63,6 +64,7 @@ QT_MOC_CPP = \ qt/moc_rpcconsole.cpp \ qt/moc_sendcoinsdialog.cpp \ qt/moc_sendcoinsentry.cpp \ + qt/moc_setvotesdialog.cpp \ qt/moc_signverifymessagedialog.cpp \ qt/moc_transactiondesc.cpp \ qt/moc_transactiondescdialog.cpp \ @@ -123,6 +125,7 @@ BITCOIN_QT_H = \ qt/scicon.h \ qt/sendcoinsdialog.h \ qt/sendcoinsentry.h \ + qt/setvotesdialog.h \ qt/signverifymessagedialog.h \ qt/transactiondesc.h \ qt/transactiondescdialog.h \ @@ -205,6 +208,7 @@ BITCOIN_QT_CPP = \ qt/qvaluecombobox.cpp \ qt/rpcconsole.cpp \ qt/scicon.cpp \ + qt/setvotesdialog.cpp \ qt/walletmodel.cpp \ qt/votingdialog.cpp diff --git a/src/main.cpp b/src/main.cpp index 4c83a84af..d0d80b8b5 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4186,7 +4186,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) //Check to see if proposals need to be voted on if (mapProposals.size() > 0) { - list votes; + list votes; // Get all the vote objects versions map mapActiveProposals = proposalManager.GetActive(nBestHeight); @@ -4215,7 +4215,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) } if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { - printf("*** mapVoteObjects does not have proposal hash\n"); + //printf("*** mapVoteObjects does not have proposal hash\n"); continue; } @@ -4227,10 +4227,12 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) printf("*** mapVoteObjects empty!\n"); // Update the block version to have all votes - for (int32_t vote : votes) { + for (uint32_t vote : votes) { pblock->nVersion |= vote; - //printf("***voted!\n"); + } + } else { + printf("map proposals empty\n"); } // Create coinbase tx @@ -4646,7 +4648,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) fWalletStaking = false; - while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) + while (/*vNodes.empty() || IsInitialBlockDownload() || */pwallet->IsLocked() || !fMintableCoins) { nLastCoinStakeSearchInterval = 0; Sleep(1000); diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index 67b70a58d..7e2b77186 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -73,10 +73,10 @@ void CreateProposalDialog::on_button_CreateProposal_clicked() msg.exec(); return; } - ui->label_Location_result->setText(QString::number(location.first)); + ui->label_Location_result->setText(QString::number(location.second)); //Create the actual proposal - this->proposal = new CVoteProposal(strName.toStdString(), location.first, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); + this->proposal = new CVoteProposal(strName.toStdString(), location.second - 1, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); //Set proposal hash in dialog uint256 hashProposal = proposal->GetHash(); diff --git a/src/qt/forms/createproposaldialog.ui b/src/qt/forms/createproposaldialog.ui index 18ec8f9c6..eb5ae1b68 100644 --- a/src/qt/forms/createproposaldialog.ui +++ b/src/qt/forms/createproposaldialog.ui @@ -13,149 +13,139 @@ Proposal Creation - - - - 10 - 10 - 641 - 278 - - - - - - - - - Proposal Name: - - - - - - - - - - Proposal Abstract: - - - - - - - - - - Starting Block: - - - - - - - - - - Voting Length (blocks): - - - - - - - - - - Proposal Hash: - - - - - - - (Automatically Generated) - - - - - - - Bit Location: - - - - - - - (Automatically Generated) - - - - - - - Bit Size: - - - - - - - (Automatically Generated) - - - - - - - Fee: - - - - - - - (Automatically Generated) - - - - - - - - - - - Create Proposal - - - - - - - false - - - Send Proposal - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - + + + + + + + Proposal Name: + + + + + + + + + + Proposal Abstract: + + + + + + + + + + Starting Block: + + + + + + + + + + Voting Length (blocks): + + + + + + + + + + Proposal Hash: + + + + + + + (Automatically Generated) + + + + + + + Bit Location: + + + + + + + (Automatically Generated) + + + + + + + Bit Size: + + + + + + + (Automatically Generated) + + + + + + + Fee: + + + + + + + (Automatically Generated) + + + + + + + + + + + Create Proposal + + + + + + + false + + + Send Proposal + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + diff --git a/src/qt/forms/proposalsdialog.ui b/src/qt/forms/proposalsdialog.ui index 668694aa7..f7b8c0851 100644 --- a/src/qt/forms/proposalsdialog.ui +++ b/src/qt/forms/proposalsdialog.ui @@ -6,110 +6,108 @@ 0 0 - 767 - 443 + 733 + 420 Vote Proposals - - - - 380 - 400 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - 20 - 10 - 741 - 381 - - - - - - - - - - 0 - - - - - Active - - - true - - - - - - - Upcoming - - - true - - - - - - - Finished - - - true - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 100 - 20 - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - + + + + + + + QAbstractItemView::NoEditTriggers + + + true + + + true + + + + + + + 0 + + + + + Active + + + true + + + + + + + Upcoming + + + true + + + + + + + Finished + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 100 + 20 + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + diff --git a/src/qt/forms/setvotesdialog.ui b/src/qt/forms/setvotesdialog.ui new file mode 100644 index 000000000..ca6a3f51d --- /dev/null +++ b/src/qt/forms/setvotesdialog.ui @@ -0,0 +1,162 @@ + + + SetVotesDialog + + + + 0 + 0 + 692 + 222 + + + + Set Votes + + + + + + + + Transaction ID (TxID): + + + + + + + + + + Your vote: + + + + + + + + Abstain + + + + + Yes + + + + + No + + + + + Request proposal revision + + + + + + + + Submit Vote + + + + + + + Qt::Vertical + + + + 20 + 18 + + + + + + + + + + + + + 50 + false + + + + Your votes on proposals: + + + + + + + QAbstractItemView::NoEditTriggers + + + true + + + true + + + false + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + + + + + + + + buttonBox + accepted() + SetVotesDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + buttonBox + rejected() + SetVotesDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + diff --git a/src/qt/forms/votingdialog.ui b/src/qt/forms/votingdialog.ui index 1dff8d0d9..60fb785f4 100644 --- a/src/qt/forms/votingdialog.ui +++ b/src/qt/forms/votingdialog.ui @@ -7,68 +7,58 @@ 0 0 194 - 300 + 256 HyperStake Voting System - - - - 10 - 10 - 171 - 271 - - - - - - - View Proposals - - - - - - - Create Proposal - - - - - - - Set Voting Preferences - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - + + + + + View Proposals + + + + + + + Create Proposal + + + + + + + Set Voting Preferences + + + + + + + Qt::Vertical + + + + 20 + 103 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Cancel|QDialogButtonBox::Ok + + + + diff --git a/src/qt/proposalsdialog.cpp b/src/qt/proposalsdialog.cpp index 6f0892722..07fd1fe9f 100644 --- a/src/qt/proposalsdialog.cpp +++ b/src/qt/proposalsdialog.cpp @@ -28,7 +28,7 @@ void ProposalsDialog::SetWalletModel(WalletModel *model) void ProposalsDialog::UpdateTable() { int columns = 12; - int rows = mapProposals.size(); + int rows = 0; QStandardItemModel* model = new QStandardItemModel(rows, columns, this); model->setHorizontalHeaderItem(0, new QStandardItem(QString("Name"))); model->setHorizontalHeaderItem(1, new QStandardItem(QString("Abstract"))); diff --git a/src/qt/setvotesdialog.cpp b/src/qt/setvotesdialog.cpp new file mode 100644 index 000000000..848efaaea --- /dev/null +++ b/src/qt/setvotesdialog.cpp @@ -0,0 +1,164 @@ +#include "setvotesdialog.h" +#include "ui_setvotesdialog.h" +#include "init.h" +#include "wallet.h" +#include "main.h" +//#include "walletmodel.h" +//#include "voteproposal.h" +#include +#include +#include + +SetVotesDialog::SetVotesDialog(QWidget* parent) : + QDialog(parent), + ui(new Ui::SetVotesDialog) +{ + ui->setupUi(this); + walletModel = nullptr; + Clear(); + ui->votesTable->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft); + UpdateTable(); +} + +SetVotesDialog::~SetVotesDialog() +{ + delete ui; +} + +void SetVotesDialog::SetWalletModel(WalletModel* model) +{ + walletModel = model; +} + +void SetVotesDialog::on_voteButton_clicked() +{ + if(pwalletMain->IsLocked()) { + QMessageBox msg; + msg.setText(tr("Error: Unlock wallet to vote on a proposal.")); + msg.exec(); + return; + } + + //Get params + uint256 txHash(ui->txidLineEdit->text().toStdString()); + int voteChoice = ui->voteComboBox->currentIndex(); + + CTransaction tx; + uint256 hashBlock; + if(!GetTransaction(txHash, tx, hashBlock)) { + QMessageBox msg; + msg.setText(tr("Transaction not found in wallet.")); + msg.exec(); + return; + } + + if (!tx.IsProposal()) { + QMessageBox msg; + msg.setText(tr("Transaction does not contain a proposal.")); + msg.exec(); + return; + } + + CVoteProposal proposal; + if (!ProposalFromTransaction(tx, proposal)) { + QMessageBox msg; + msg.setText(tr("Proposal couldn't be found in the transaction.")); + msg.exec(); + return; + } + + CVoteObject voteObject(proposal.GetHash(), proposal.GetBitCount(), proposal.GetShift()); + + voteObject.Vote(voteChoice); + + //add the voteObject in the map + pwalletMain->mapVoteObjects[proposal.GetHash()] = voteObject; + + //write the vote object to the database + CWalletDB walletdb(pwalletMain->strWalletFile); + if (!walletdb.WriteVoteObject(proposal.GetHash().GetHex(), voteObject)) { + QMessageBox msg; + msg.setText(tr("The vote was saved; however, there were problems writing the vote to the database.")); + msg.exec(); + return; + } + + QMessageBox msg; + msg.setText(tr("Vote submitted!\n\nProposal Name: %1\nProposal Description: %2\nYour Vote: " + "%3").arg(QString::fromStdString(proposal.GetName())).arg(QString::fromStdString(proposal.GetDescription())).arg(ui->voteComboBox->currentText())); + msg.exec(); + Clear(); + UpdateTable(); + return; +} + +void SetVotesDialog::UpdateTable() +{ + if(pwalletMain == nullptr) + return; + + int columns = 3; + int rows = 0; + QStandardItemModel* model = new QStandardItemModel(rows, columns, this); + model->setHorizontalHeaderItem(0, new QStandardItem(QString("Name"))); + model->setHorizontalHeaderItem(1, new QStandardItem(QString("Description"))); + model->setHorizontalHeaderItem(2, new QStandardItem(QString("Your Vote"))); + + int i = 0; + CVoteDB votedb("r"); + if(!(pwalletMain->mapVoteObjects.empty())) { + std::map::iterator it; + for (it = pwalletMain->mapVoteObjects.begin(); it != pwalletMain->mapVoteObjects.end(); it++) { + QList < QStandardItem * > listItems; + + uint256 txid = 0; + for (auto mit : mapProposals) { + if (mit.second == it->first) { + txid = mit.first; + break; + } + } + + if (txid == 0) + return; + + CVoteProposal proposal; + if (!votedb.ReadProposal(txid, proposal)) { + return; + } + + int voteValue = it->second.GetVote(); + std::string strVote; + + switch(voteValue) { + case 1: + strVote = "Yes"; + break; + case 2: + strVote = "No"; + break; + case 3: + strVote = "Request proposal revision"; + break; + default: + strVote = "Abstain"; + break; + } + + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetName()))); + listItems.push_back(new QStandardItem(QString::fromStdString(proposal.GetDescription()))); + listItems.push_back(new QStandardItem(QString::fromStdString(strVote))); + + model->insertRow(i, listItems); + ++i; + } + } + + ui->votesTable->setModel(model); +} + +void SetVotesDialog::Clear() +{ + ui->txidLineEdit->clear(); + ui->voteComboBox->setCurrentIndex(0); +} \ No newline at end of file diff --git a/src/qt/setvotesdialog.h b/src/qt/setvotesdialog.h new file mode 100644 index 000000000..906bd5820 --- /dev/null +++ b/src/qt/setvotesdialog.h @@ -0,0 +1,29 @@ +#ifndef HYPERSTAKE_SETVOTESDIALOG_H +#define HYPERSTAKE_SETVOTESDIALOG_H + +#include +#include + +class WalletModel; + +namespace Ui { + class SetVotesDialog; +} + +class SetVotesDialog : public QDialog +{ + Q_OBJECT +public: + SetVotesDialog(QWidget* parent); + ~SetVotesDialog(); + void SetWalletModel(WalletModel* model); + void UpdateTable(); +private slots: + void on_voteButton_clicked(); +private: + Ui::SetVotesDialog* ui; + WalletModel* walletModel; + void Clear(); +}; + +#endif //HYPERSTAKE_SETVOTESDIALOG_H diff --git a/src/qt/votingdialog.cpp b/src/qt/votingdialog.cpp index 5b18bb6c9..211147dfe 100644 --- a/src/qt/votingdialog.cpp +++ b/src/qt/votingdialog.cpp @@ -2,6 +2,7 @@ #include "ui_votingdialog.h" #include "createproposaldialog.h" #include "proposalsdialog.h" +#include "setvotesdialog.h" VotingDialog::VotingDialog(QWidget* parent) : QDialog(parent), @@ -10,6 +11,7 @@ VotingDialog::VotingDialog(QWidget* parent) : ui->setupUi(this); proposalsDialog = new ProposalsDialog(this); createProposalDialog = new CreateProposalDialog(this); + setVotesDialog = new SetVotesDialog(this); } VotingDialog::~VotingDialog() @@ -21,7 +23,7 @@ void VotingDialog::SetWalletModel(WalletModel *model) { walletModel = model; createProposalDialog->SetWalletModel(model); - //votesDialog->SetWalletModel(model); + setVotesDialog->SetWalletModel(model); proposalsDialog->SetWalletModel(model); } @@ -33,9 +35,11 @@ void VotingDialog::on_button_CreateProposal_clicked() void VotingDialog::on_button_ViewProposals_clicked() { proposalsDialog->show(); + proposalsDialog->UpdateTable(); } void VotingDialog::on_button_SetVotes_clicked() { - //votesDialog->show(); + setVotesDialog->show(); + setVotesDialog->UpdateTable(); } diff --git a/src/qt/votingdialog.h b/src/qt/votingdialog.h index 11caed665..8e035ea54 100644 --- a/src/qt/votingdialog.h +++ b/src/qt/votingdialog.h @@ -6,7 +6,7 @@ class CreateProposalDialog; class ProposalsDialog; -//class MyVotesDialog; +class SetVotesDialog; class WalletModel; namespace Ui { @@ -29,8 +29,8 @@ public slots: private: Ui::VotingDialog *ui; CreateProposalDialog* createProposalDialog; - //MyVotesDialog* votesDialog; ProposalsDialog* proposalsDialog; + SetVotesDialog* setVotesDialog; WalletModel* walletModel; }; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 357bd63d8..52ed5f285 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2949,11 +2949,11 @@ Value getvote(const Array& params, bool fHelp) //Get params uint256 txHash(params[0].get_str()); - CWalletTx walletTx; - if(!pwalletMain->GetTransaction(txHash, walletTx)) + CTransaction tx; + uint256 hashBlock; + if (!GetTransaction(txHash, tx, hashBlock)) return "Transaction not found in wallet"; - CTransaction tx = *(CTransaction *) &walletTx; if (!tx.IsProposal()) return "Transaction does not contain a proposal"; @@ -2968,10 +2968,11 @@ Value getvote(const Array& params, bool fHelp) CVoteObject voteObject; voteObject = pwalletMain->mapVoteObjects[proposalHash]; - int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); + int voteValue = voteObject.GetVote(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); + ret.push_back(Pair("Proposal Name", proposal.GetName())); ret.push_back(Pair("Proposal Description", proposal.GetDescription())); ret.push_back(Pair("Your Vote", voteValue)); ret.push_back(Pair("Proposal Hash", proposal.GetHash().GetHex())); diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 7bcc3d174..2d856111b 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -129,13 +129,22 @@ BOOST_AUTO_TEST_CASE(vote_tally) BOOST_AUTO_TEST_CASE(vote_charset) { - std::string someString; - std::vector vch; - BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); - cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; - BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); - - cout << "deconverted string: " << someString << endl; +// std::string someString; +// std::vector vch; +// BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); +// cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; +// BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); +// +// cout << "deconverted string: " << someString << endl; + + uint32_t nVersion = 0x50000000; + uint32_t nVote = 2; + uint256 hash; + CVoteObject vote(hash, 2, 28); + vote.Vote(nVote); + + nVersion |= (vote.GetFormattedVote() >> 1); + cout << "version: " << nVersion << endl; } BOOST_AUTO_TEST_SUITE_END() diff --git a/src/voteobject.cpp b/src/voteobject.cpp index 0f60379d3..bcfc4b1c0 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -8,33 +8,8 @@ using namespace std; bool CVoteObject::Vote(int nVotersChoice) { - uint32_t versionInFirstFour = CBlock::CURRENT_VERSION << 28; - uint32_t binaryChoice = 0; - - if (nVotersChoice == 0) { // Abstain 00 - binaryChoice = 0; - } - else if (nVotersChoice == 3) { // Revise the proposal 01 - binaryChoice = 1; - } - else if (nVotersChoice == 2) { // No 10 - binaryChoice = 2; - } - else if (nVotersChoice == 1) { // Yes 11 - binaryChoice = 3; - } - - nChoice = binaryChoice; - nChoice <<= nShift; - nFormattedVote = (versionInFirstFour |= nChoice); + nChoice = static_cast(nVotersChoice); + printf("shift %d\n", nShift); return true; } -uint32_t CVoteObject::GetVoteFromVersion(uint32_t nVersion) -{ - int diff = nShift - nCardinals; - uint32_t mask; - mask = ((1 << (diff + 1)) - 1) << diff; - return (nVersion & mask) >> diff; -} - diff --git a/src/voteobject.h b/src/voteobject.h index 9876d6cb3..9459fbaaa 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -54,10 +54,8 @@ class CVoteObject ) bool Vote(int nVotersChoice); - uint32_t GetVoteFromVersion(uint32_t nVersion); - uint32_t GetFormattedVote() { return nFormattedVote; } + uint32_t GetFormattedVote() { return (nChoice << nShift); } uint32_t GetVote() { return nChoice; } - uint256 GetProposal() { return hashProposal; } }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 605018e22..57a7a3a5c 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -78,7 +78,8 @@ bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) VoteLocation CVoteProposal::GetLocation() const { VoteLocation location; - location.first = static_cast(GetShift()); - location.second = static_cast(location.first - GetBitCount()); + location.second = static_cast(GetShift() + 1); + location.first = static_cast(GetShift() + nBitCount); + return location; } \ No newline at end of file diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 6fd02bcf2..36f5bbeae 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -60,6 +60,7 @@ map CVoteProposalManager::GetActive(int nHeight) bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) { + //Conflicts for block range vector vConflictingTime; for (auto it : mapProposalData) { CProposalMetaData data = it.second; @@ -74,44 +75,32 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //Find an open location for the new proposal, return left most bits if (vConflictingTime.empty()) { location.first = 28; - location.second = location.first - nBitCount; + location.second = (uint8_t)(location.first - nBitCount + 1); return true; } //create a vector tracking available spots - vector vAvailable; - for (int i = 0; i < 28; i++) - vAvailable.emplace_back(i + 1); + vector vAvailable(29, 1); //remove spots that are already taken for (auto data : vConflictingTime) { - int n = data.location.first; - while (n >= data.location.second) { - auto it = std::find(vAvailable.begin(), vAvailable.end(), n); - if (it != vAvailable.end()) - vAvailable.erase(it); - n--; + printf("location.first=%d location.second=%d\n", location.first, location.second); + for (int i = data.location.first; i >= data.location.second; i--) { + printf("mark %d as 0\n", i); + vAvailable.at(i) = 0; } } //find an available sequence of bits that fit the proposal - int nPrev = 0; - int nSequenceStart = 0; - for (auto n : vAvailable) { - //See if the previous is in sequence - if (nPrev) { - if (n - 1 == nPrev) - nSequenceStart = n; - else - nSequenceStart = 0; - - if (n - nSequenceStart >= nBitCount) { - location.first = nSequenceStart; - location.second = nSequenceStart - nBitCount; - return true; - } + vector vRange; + int nSequential = 0; + for (uint8_t i = 28; i > 0; i--) { + nSequential = vAvailable.at(i) == 1 ? nSequential + 1 : 0; + if (nSequential == nBitCount) { + location.second = i; + location.first = (uint8_t )(i + nBitCount - 1); + return true; } - nPrev = n; } return false; -} +} \ No newline at end of file diff --git a/src/votetally.cpp b/src/votetally.cpp index 1b6c57c77..72833dc81 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -81,8 +81,8 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) VoteLocation location = mapLocations.at(it.first); int32_t nVote = nVersion; nVote &= VOTEMASK; // remove version bits - nVote >>= location.first; //shift it over to the starting position - int32_t nBits = location.first - location.second; + nVote >>= location.second - 1; //shift it over to the starting position + int32_t nBits = location.first - location.second + 1; // Remove any bits to the left of the vote bits uint32_t nMask = ~0; @@ -92,7 +92,7 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) //Count the vote if it is yes or no if (nVote == 1) { mapVotes.at(it.first).nYesTally++; - } else if (nVote > 1) + } else if (nVote == 2) mapVotes.at(it.first).nNoTally++; printf("%s: nVote=%d\n", __func__, nVote); } diff --git a/src/walletdb.cpp b/src/walletdb.cpp index 3b08eaec1..e16a91b73 100644 --- a/src/walletdb.cpp +++ b/src/walletdb.cpp @@ -60,7 +60,7 @@ bool CWalletDB::ReadVoteObject(const string& strVoteObject, CVoteObject& voteObj bool CWalletDB::WriteVoteObject(const string& strVoteObject, const CVoteObject& voteObject) { - return Write(make_pair(string("vote"), strVoteObject), voteObject); + return Write(make_pair(string("vote"), strVoteObject), voteObject, true); } int64 CWalletDB::GetAccountCreditDebit(const string& strAccount) From a706206eadaf8e8c4d8ef3282ed9808ac4b32c35 Mon Sep 17 00:00:00 2001 From: IgorDurovic Date: Mon, 9 Apr 2018 19:43:27 -0600 Subject: [PATCH 527/555] refactoring vote/proposal representation (#69) * refactoring vote/proposal representation * removed autogenerated qt files removed more autogenerated qt files removed more autogenerated qt files --- CMakeLists.txt | 4 +-- src/main.cpp | 15 ++++----- src/qt/createproposaldialog.cpp | 5 +-- src/rpcblockchain.cpp | 5 ++- src/rpcwallet.cpp | 11 +++---- src/test/voting_tests.cpp | 2 ++ src/voteobject.cpp | 11 ++++++- src/voteobject.h | 57 ++++++++++++++++++++++++++------- src/voteproposal.cpp | 9 ------ src/voteproposal.h | 39 +++++++++++----------- src/voteproposalmanager.cpp | 20 ++++++------ src/voteproposalmanager.h | 2 +- src/votetally.cpp | 5 +-- src/votetally.h | 6 ++-- 14 files changed, 116 insertions(+), 75 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a512bafc..83684e3e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -293,9 +293,9 @@ add_executable(HyperStake src/voteproposalmanager.h src/qt/createproposaldialog.cpp src/qt/createproposaldialog.h - src/votingdialog.cpp + src/qt/votingdialog.cpp src/qt/votingdialog.h - src/qt/votetally.cpp + src/votetally.cpp src/votetally.h src/wallet.cpp src/wallet.h diff --git a/src/main.cpp b/src/main.cpp index d0d80b8b5..5e67dcacb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4186,16 +4186,16 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) //Check to see if proposals need to be voted on if (mapProposals.size() > 0) { - list votes; + vector votes; // Get all the vote objects versions map mapActiveProposals = proposalManager.GetActive(nBestHeight); if (pwalletMain->mapVoteObjects.size() > 0) { - for (map::iterator it = mapProposals.begin(); it != mapProposals.end(); it++) { + for(auto it: mapProposals) { CTransaction tx; uint256 hashBlock; - if (!GetTransaction(it->first, tx, hashBlock)) { - printf("*** failed to get transaction %s!\n", it->first.GetHex().c_str()); + if (!GetTransaction(it.first, tx, hashBlock)) { + printf("*** failed to get transaction %s!\n", it.first.GetHex().c_str()); continue; } @@ -4220,17 +4220,14 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) } CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; - votes.push_back(voteObject.GetFormattedVote()); + votes.emplace_back(voteObject); //printf("*** added vote for %s\n", proposal.GetName().c_str()); } } else printf("*** mapVoteObjects empty!\n"); // Update the block version to have all votes - for (uint32_t vote : votes) { - pblock->nVersion |= vote; - - } + pblock->nVersion |= CVoteObject::GetCombinedVotes(votes); } else { printf("map proposals empty\n"); } diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index 7e2b77186..7cac3afec 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -4,6 +4,7 @@ #include "main.h" #include "walletmodel.h" #include "voteproposal.h" +#include "../voteobject.h" #include #include @@ -73,10 +74,10 @@ void CreateProposalDialog::on_button_CreateProposal_clicked() msg.exec(); return; } - ui->label_Location_result->setText(QString::number(location.second)); + ui->label_Location_result->setText(QString::number(location.nLeastSignificantBit)); //Create the actual proposal - this->proposal = new CVoteProposal(strName.toStdString(), location.second - 1, nStartHeight, nCheckSpan, nBitCount, strAbstract.toStdString()); + this->proposal = new CVoteProposal(strName.toStdString(), nStartHeight, nCheckSpan, strAbstract.toStdString(), location); //Set proposal hash in dialog uint256 hashProposal = proposal->GetHash(); diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index 3c99d4f5b..f842de6c3 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -324,8 +324,11 @@ Value createproposal(const Array& params, bool fHelp) // description of issue - will go in different tx std::string strDescription = params[5].get_str(); + // the bit location object of the proposal + VoteLocation location(nShift + nBits - 1, nShift); + Object results; - CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nBits, strDescription); + CVoteProposal proposal(strName, nStartTime, nCheckSpan, strDescription, location); //! Add the constructed proposal to a partial transaction CTransaction tx; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 52ed5f285..b5c87b0ef 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -2909,7 +2909,7 @@ Value setvote(const Array& params, bool fHelp) if (!ProposalFromTransaction(tx, proposal)) return "Proposal couldn't be found in the transaction"; - CVoteObject voteObject(proposal.GetHash(), proposal.GetBitCount(), proposal.GetShift()); + CVoteObject voteObject(proposal.GetHash(), proposal.GetLocation()); voteObject.Vote(voteChoice); @@ -2965,10 +2965,9 @@ Value getvote(const Array& params, bool fHelp) // Check to see if we have the vote object loaded from the database, if we do return the info if (pwalletMain->mapVoteObjects.count(proposalHash) != 0) { - CVoteObject voteObject; - voteObject = pwalletMain->mapVoteObjects[proposalHash]; + CVoteObject voteObject = pwalletMain->mapVoteObjects[proposalHash]; - int voteValue = voteObject.GetVote(); + int voteValue = voteObject.GetUnformattedVote(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); @@ -2986,7 +2985,7 @@ Value getvote(const Array& params, bool fHelp) if (!walletdb.ReadVoteObject(proposal.GetHash().GetHex(), voteObject)) return "No vote has been stored for this proposal "; - int voteValue = voteObject.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); + int voteValue = voteObject.GetUnformattedVote(); Object ret; ret.push_back(Pair("Proposal Name", proposal.GetName())); @@ -3042,7 +3041,7 @@ Value getvotes(const Array& params, bool fHelp) Object entry; entry.push_back(Pair("Proposal Name", proposal.GetName())); entry.push_back(Pair("Proposal Description", proposal.GetDescription())); - entry.push_back(Pair("Your Vote", (int64_t)it->second.GetVote())); + entry.push_back(Pair("Your Vote", (int64_t)it->second.GetUnformattedVote())); ret.push_back(entry); } return ret; diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 2d856111b..220ee9e55 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -1,3 +1,4 @@ +/* #include #include #include @@ -148,3 +149,4 @@ BOOST_AUTO_TEST_CASE(vote_charset) } BOOST_AUTO_TEST_SUITE_END() +*/ diff --git a/src/voteobject.cpp b/src/voteobject.cpp index bcfc4b1c0..c8c044fea 100644 --- a/src/voteobject.cpp +++ b/src/voteobject.cpp @@ -6,10 +6,19 @@ using namespace std; +int CVoteObject::GetCombinedVotes(const std::vector& votes) { + int nCombinedVotes = 0; + + for(CVoteObject vote: votes){ + nCombinedVotes |= vote.GetFormattedVote(); + } + + return nCombinedVotes; +} + bool CVoteObject::Vote(int nVotersChoice) { nChoice = static_cast(nVotersChoice); - printf("shift %d\n", nShift); return true; } diff --git a/src/voteobject.h b/src/voteobject.h index 9459fbaaa..26a4465a3 100644 --- a/src/voteobject.h +++ b/src/voteobject.h @@ -7,6 +7,39 @@ #include "serialize.h" #include "uint256.h" +class VoteLocation +{ +public: + //bit positions increase from right to left, starting at position 0 + uint8_t nMostSignificantBit; + uint8_t nLeastSignificantBit; + + void SetNull() + { + nMostSignificantBit = 0; + nLeastSignificantBit = 0; + } + + VoteLocation(){ + SetNull(); + } + + VoteLocation(uint8_t nMostSignificantBit, uint8_t nLeastSignificantBit) + { + this->nMostSignificantBit = nMostSignificantBit; + this->nLeastSignificantBit = nLeastSignificantBit; + } + + IMPLEMENT_SERIALIZE + ( + READWRITE(nMostSignificantBit); + READWRITE(nLeastSignificantBit); + ) + + uint8_t GetBitCount() const { return (uint8_t)(nMostSignificantBit - nLeastSignificantBit + 1); } + uint8_t GetShift() const { return nLeastSignificantBit; } +}; + class CVoteObject { private: @@ -14,18 +47,17 @@ class CVoteObject uint32_t nFormattedVote; bool fVoted; uint256 hashProposal; - int nCardinals; - int nShift; + VoteLocation bitLocation; public: + static int GetCombinedVotes(const std::vector& votes); + void SetNull() { nChoice = 0; nFormattedVote = 0; fVoted = false; hashProposal = 0; - nCardinals = 0; - nShift = 0; } bool IsNull () { return hashProposal == 0; } @@ -35,12 +67,11 @@ class CVoteObject SetNull(); } - CVoteObject(uint256 hashProposal, int nCardinals, int nShift) + CVoteObject(uint256 hashProposal, VoteLocation location) { SetNull(); this->hashProposal = hashProposal; - this->nCardinals = nCardinals; - this->nShift = nShift; + this->bitLocation = location; } IMPLEMENT_SERIALIZE @@ -49,13 +80,17 @@ class CVoteObject READWRITE(nFormattedVote); READWRITE(fVoted); READWRITE(hashProposal); - READWRITE(nCardinals); - READWRITE(nShift); + READWRITE(bitLocation); ) bool Vote(int nVotersChoice); - uint32_t GetFormattedVote() { return (nChoice << nShift); } - uint32_t GetVote() { return nChoice; } + + //The vote value shifted to the position of the proposal, use staking a vote + uint32_t GetFormattedVote() { return (nChoice << bitLocation.GetShift()); } + + //The unshifted vote value defined in ProcessVote + //POTENTIAL TODO: create enum to represent choice + uint32_t GetUnformattedVote() { return nChoice; } }; #endif //HYPERSTAKE_VOTEOBJECT_H diff --git a/src/voteproposal.cpp b/src/voteproposal.cpp index 57a7a3a5c..6ff2e2ee0 100644 --- a/src/voteproposal.cpp +++ b/src/voteproposal.cpp @@ -73,13 +73,4 @@ bool ProposalFromTransaction(const CTransaction& tx, CVoteProposal& proposal) } return true; -} - -VoteLocation CVoteProposal::GetLocation() const -{ - VoteLocation location; - location.second = static_cast(GetShift() + 1); - location.first = static_cast(GetShift() + nBitCount); - - return location; } \ No newline at end of file diff --git a/src/voteproposal.h b/src/voteproposal.h index 3d4ac9f5e..88c575f28 100644 --- a/src/voteproposal.h +++ b/src/voteproposal.h @@ -9,29 +9,33 @@ #include "main.h" #include "serialize.h" #include "votetally.h" +#include "voteobject.h" #define MAX_CHAR_NAME 10 #define MAX_CHAR_ABSTRACT 30 #define MAX_BLOCKS_IN_FUTURE 28800 #define MAX_CHECKSPAN 28800 +//TODO: update +#define MOST_RECENT_VERSION 1 + class CVoteProposal { private: + // proposal version + int nVersion; + // what to call the proposal std::string strName; - // what bit position in the block version - uint8_t nShift; - // where in the blockchain we start counting votes, nStartHeight unsigned int nStartHeight; // how far in the blockchain are we scanning - int nCheckSpan; + unsigned int nCheckSpan; - // number of bits in the block version used for one vote, nBitCount - uint8_t nBitCount; + // the position of the proposal in the nVersion field + VoteLocation bitLocation; // description of the proposal; may link to additional transactions std::string strDescription; @@ -41,11 +45,10 @@ class CVoteProposal void SetNull() { + nVersion = 0; strName = ""; - nShift = 0; nStartHeight = 0; nCheckSpan = 0; - nBitCount = 0; strDescription = ""; } @@ -56,35 +59,35 @@ class CVoteProposal SetNull(); } - CVoteProposal(std::string strName, uint8_t nShift, unsigned int nStartHeight, int nCheckSpan, uint8_t nBitCount, - std::string strDescription) + CVoteProposal(std::string strName, unsigned int nStartHeight, unsigned int nCheckSpan, std::string strDescription, + VoteLocation location, int nVersion = MOST_RECENT_VERSION) { + this->nVersion = nVersion; this->strName = strName; - this->nShift = nShift; this->nStartHeight = nStartHeight; this->nCheckSpan = nCheckSpan; - this->nBitCount = nBitCount; this->strDescription = strDescription; + this->bitLocation = location; } IMPLEMENT_SERIALIZE ( + READWRITE(nVersion); READWRITE(strName); - READWRITE(nShift); READWRITE(nStartHeight); READWRITE(nCheckSpan); - READWRITE(nBitCount); READWRITE(strDescription); + READWRITE(bitLocation); ) bool ConstructTransaction (CTransaction& tx) const; - int GetShift() const { return nShift; } - uint8_t GetBitCount() const { return nBitCount; } - int GetCheckSpan() const { return nCheckSpan; } + int GetShift() const { return bitLocation.GetShift(); } + uint8_t GetBitCount() const { return bitLocation.GetBitCount(); } + unsigned int GetCheckSpan() const { return nCheckSpan; } std::string GetName() const { return strName; } std::string GetDescription() const { return strDescription; } unsigned int GetStartHeight() const { return nStartHeight; } - VoteLocation GetLocation() const; + VoteLocation GetLocation() const { return bitLocation; } uint256 GetHash() const; }; diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 36f5bbeae..e8b8298b8 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -20,10 +20,10 @@ bool CVoteProposalManager::Add(const CVoteProposal& proposal) for (auto it : mapProposalData) { CProposalMetaData existingProposal = it.second; //Clear of any conflicts, starts after the existing proposal ends - if (newProposal.location.first < existingProposal.location.second) + if (newProposal.location.nMostSignificantBit < existingProposal.location.nLeastSignificantBit) continue; //Clear of any conflicts, ends before the existing proposal starts - if (newProposal.location.second > existingProposal.location.first) + if (newProposal.location.nLeastSignificantBit > existingProposal.location.nMostSignificantBit) continue; //Clear of any conflicts, there is not overlap in the voting period if (newProposal.nHeightStart > existingProposal.nHeightEnd || newProposal.nHeightEnd < existingProposal.nHeightStart) @@ -74,19 +74,17 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //Find an open location for the new proposal, return left most bits if (vConflictingTime.empty()) { - location.first = 28; - location.second = (uint8_t)(location.first - nBitCount + 1); + location.nMostSignificantBit = 27; + location.nLeastSignificantBit = (uint8_t)(location.nMostSignificantBit - nBitCount + 1); return true; } //create a vector tracking available spots - vector vAvailable(29, 1); + vector vAvailable(28, 1); //remove spots that are already taken for (auto data : vConflictingTime) { - printf("location.first=%d location.second=%d\n", location.first, location.second); - for (int i = data.location.first; i >= data.location.second; i--) { - printf("mark %d as 0\n", i); + for (int i = data.location.nMostSignificantBit; i >= data.location.nLeastSignificantBit; i--) { vAvailable.at(i) = 0; } } @@ -94,11 +92,11 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //find an available sequence of bits that fit the proposal vector vRange; int nSequential = 0; - for (uint8_t i = 28; i > 0; i--) { + for (uint8_t i = 27; i >= 0; i--) { nSequential = vAvailable.at(i) == 1 ? nSequential + 1 : 0; if (nSequential == nBitCount) { - location.second = i; - location.first = (uint8_t )(i + nBitCount - 1); + location.nLeastSignificantBit = i; + location.nMostSignificantBit = (uint8_t )(i + nBitCount - 1); return true; } } diff --git a/src/voteproposalmanager.h b/src/voteproposalmanager.h index e951310d0..9195f9405 100644 --- a/src/voteproposalmanager.h +++ b/src/voteproposalmanager.h @@ -6,7 +6,7 @@ #define HYPERSTAKE_VOTEPROPOSALMANAGER_H #include -#include "votetally.h" +#include "voteobject.h" class CVoteProposal; diff --git a/src/votetally.cpp b/src/votetally.cpp index 72833dc81..af2a52609 100644 --- a/src/votetally.cpp +++ b/src/votetally.cpp @@ -1,6 +1,7 @@ #include "votetally.h" #include "util.h" #include "db.h" +#include "voteobject.h" #define VOTEMASK 0x0FFFFFFF @@ -81,8 +82,8 @@ void CVoteTally::ProcessNewVotes(const uint32_t& nVersion) VoteLocation location = mapLocations.at(it.first); int32_t nVote = nVersion; nVote &= VOTEMASK; // remove version bits - nVote >>= location.second - 1; //shift it over to the starting position - int32_t nBits = location.first - location.second + 1; + nVote >>= location.GetShift(); //shift it over to the starting position + int32_t nBits = location.GetBitCount(); // Remove any bits to the left of the vote bits uint32_t nMask = ~0; diff --git a/src/votetally.h b/src/votetally.h index a8a7373ae..f33394761 100644 --- a/src/votetally.h +++ b/src/votetally.h @@ -5,6 +5,8 @@ #include "serialize.h" #include "uint256.h" +class VoteLocation; + class CVoteSummary { public: @@ -30,7 +32,7 @@ class CVoteSummary ) }; -typedef std::pair VoteLocation; //start bit, end bit +//typedef std::pair VoteLocation; //start bit, end bit class CVoteTally { @@ -39,7 +41,7 @@ class CVoteTally std::map mapVotes; std::map mapLocations; //Where each vote is located in the header void RemoveStaleSummaries(); - bool IsLocationOccupied(VoteLocation location); + bool IsLocationOccupied(const VoteLocation& location); public: void SetNull() { From b25fe174459a8fc790f27f2de88549eb1c28f77a Mon Sep 17 00:00:00 2001 From: IgorDurovic Date: Mon, 9 Apr 2018 19:45:10 -0600 Subject: [PATCH 528/555] Voting tests (#71) * refactoring vote/proposal representation * removed autogenerated qt files removed more autogenerated qt files removed more autogenerated qt files * improved test coverage for voting code --- src/test/voting_tests.cpp | 127 +++++++++++++++++++++++++++++--------- 1 file changed, 99 insertions(+), 28 deletions(-) diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 220ee9e55..845f3cc88 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -1,4 +1,3 @@ -/* #include #include #include @@ -10,6 +9,8 @@ #include "../voteobject.h" #include "../votetally.h" #include "../votecharset.h" +#include "../voteproposalmanager.h" +#include "../db.h" using namespace std; @@ -28,13 +29,17 @@ uint8_t nCardinals = 2; // description of issue - will go in different tx std::string strDescription = "test_description"; -CVoteProposal proposal(strName, nShift, nStartTime, nCheckSpan, nCardinals, strDescription); - - BOOST_AUTO_TEST_CASE(proposal_serialization) { std::cout << "testing proposal serialization\n"; + CVoteProposalManager manager; + + VoteLocation location; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location); + CVoteProposal proposal(strName, nStartTime, nCheckSpan, strDescription, location); + manager.Add(proposal); + //! Add the constructed proposal to a partial transaction CTransaction tx; BOOST_CHECK_MESSAGE(proposal.ConstructTransaction(tx), "failed to construct tx"); @@ -44,6 +49,25 @@ BOOST_AUTO_TEST_CASE(proposal_serialization) CVoteProposal proposal2; BOOST_CHECK_MESSAGE(ProposalFromTransaction(tx, proposal2), "Failed to deserialize"); + //CHECKS TO DETERMINE IF DESERIALIZATION WORKS AS INTENDED + BOOST_CHECK_MESSAGE(proposal2.GetHash() == proposal.GetHash(), "hash of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetLocation().nLeastSignificantBit == proposal.GetLocation().nLeastSignificantBit + && proposal2.GetLocation().nMostSignificantBit == proposal.GetLocation().nMostSignificantBit, + "location of proposal after it is deserialized isn't equal to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetBitCount() == proposal.GetBitCount(), "bitcount of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetShift() == proposal.GetShift(), "shift of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetStartHeight() == proposal.GetStartHeight(), "start height of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetCheckSpan() == proposal.GetCheckSpan(), "check span of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetDescription() == proposal.GetDescription(), "description of proposal after it is deserialized isn't equal" + "to its original value"); + BOOST_CHECK_MESSAGE(proposal2.GetName() == proposal.GetName(), "name of proposal after it is deserialized isn't equal" + "to its original value"); + //! Create a tx that can be used as an input in the actual proposal tx CTransaction txFunding; CTxOut outTemp(10 * COIN, CScript()); @@ -78,21 +102,24 @@ BOOST_AUTO_TEST_CASE(proposal_serialization) } -BOOST_AUTO_TEST_CASE(vote_tally) -{ - std::cout << "testing vote tally\n"; +//BOOST_AUTO_TEST_CASE(vote_tally) +//{ + /*std::cout << "testing vote tally\n"; map mapNewLocations; - VoteLocation location; - location.first = static_cast(proposal.GetShift() - proposal.GetBitCount()); - location.second = static_cast(proposal.GetShift()); + VoteLocation location(proposal.GetShift() + proposal.GetBitCount() - 1, proposal.GetShift()); mapNewLocations.insert(make_pair(proposal.GetHash(), location)); + CTransaction tx; + proposal.ConstructTransaction(tx); + + mapProposals.insert(std::pair(tx.GetHash(), proposal.GetHash())); + CVoteTally tally; BOOST_CHECK_MESSAGE(tally.SetNewPositions(mapNewLocations), "Position is already occupied when it should not be"); uint32_t nVote = 0x40080000; - // 0000 0000 0000 1000 0000 0000 0000 0000 + // 0100 0000 0000 1000 0000 0000 0000 0000 // tally.ProcessNewVotes(nVote); @@ -124,29 +151,73 @@ BOOST_AUTO_TEST_CASE(vote_tally) CVoteSummary summary4; BOOST_CHECK_MESSAGE(tally4.GetSummary(proposal.GetHash(), summary4), "failed to get summary from tally2"); BOOST_CHECK_MESSAGE(summary4.nYesTally == 2, "summary4 is not 2"); - BOOST_CHECK_MESSAGE(summary4.nNoTally == 1, "summary4 no votes is not 1"); + BOOST_CHECK_MESSAGE(summary4.nNoTally == 1, "summary4 no votes is not 1");*/ -} +//} BOOST_AUTO_TEST_CASE(vote_charset) { -// std::string someString; -// std::vector vch; -// BOOST_CHECK_MESSAGE(ConvertTo6bit("test proposal text", vch), "6 bit character conversion failed"); -// cout << "converted string: " << ReverseEndianString(HexStr(vch)) << endl; -// BOOST_CHECK_MESSAGE(ConvertTo8bit(vch, someString), "failed to deconvert"); -// -// cout << "deconverted string: " << someString << endl; + std::cout << "testing proposal manager functionality and GetCombinedVotes()" << endl; + + CVoteProposalManager manager; + + VoteLocation location1; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location1); + CVoteProposal proposal1(strName, nStartTime, nCheckSpan, strDescription, location1); + manager.Add(proposal1); + + VoteLocation location2; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location2); + CVoteProposal proposal2(strName, nStartTime, nCheckSpan, strDescription, location2); + manager.Add(proposal2); + + VoteLocation location3; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location3); + CVoteProposal proposal3(strName, nStartTime, nCheckSpan, strDescription, location3); + manager.Add(proposal3); + + VoteLocation location4; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location4); + CVoteProposal proposal4(strName, nStartTime, nCheckSpan, strDescription, location4); + manager.Add(proposal4); + + VoteLocation location5; + manager.GetNextLocation(nCardinals, nStartTime, nCheckSpan, location5); + CVoteProposal proposal5(strName, nStartTime, nCheckSpan, strDescription, location5); + manager.Add(proposal5); uint32_t nVersion = 0x50000000; - uint32_t nVote = 2; - uint256 hash; - CVoteObject vote(hash, 2, 28); - vote.Vote(nVote); - nVersion |= (vote.GetFormattedVote() >> 1); - cout << "version: " << nVersion << endl; -} + uint32_t nVote1 = 2; + CVoteObject vote1(proposal1.GetHash(), proposal1.GetLocation()); + vote1.Vote(nVote1); + + uint32_t nVote2 = 1; + CVoteObject vote2(proposal2.GetHash(), proposal2.GetLocation()); + vote2.Vote(nVote2); + + uint32_t nVote3 = 2; + CVoteObject vote3(proposal3.GetHash(), proposal3.GetLocation()); + vote3.Vote(nVote3); + + uint32_t nVote4 = 1; + CVoteObject vote4(proposal4.GetHash(), proposal4.GetLocation()); + vote4.Vote(nVote4); + + uint32_t nVote5 = 2; + CVoteObject vote5(proposal5.GetHash(), proposal5.GetLocation()); + vote5.Vote(nVote5); + + std::vector votes = {vote1, vote2, vote3, vote4, vote5}; + + nVersion |= CVoteObject::GetCombinedVotes(votes); + + // 0101 [10 01] [10 01] [10 00] 0000 0000 0000 0000 + uint32_t correctResult = 0x59980000; + + std::cout << "Expected result: " << correctResult << endl << "Actual result: " << nVersion << endl; + + BOOST_CHECK_MESSAGE(nVersion == correctResult, "votes were not combined correctly"); +}; BOOST_AUTO_TEST_SUITE_END() -*/ From 1c83e86a2b42a4fe9e127f139038619fa1c504c5 Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 21 Apr 2018 12:24:44 -0600 Subject: [PATCH 529/555] Do not activate voting until a certain block height. --- src/main.cpp | 1 + src/main.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main.cpp b/src/main.cpp index 76483e0fd..73efaff0f 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1684,6 +1684,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) //Record new votes to the tally if (pindex->pprev) { + if (fTestNet || pindex->nHeight >= VOTING_START) pindex->tally = CVoteTally(pindex->pprev->tally); map mapActive = proposalManager.GetActive(pindex->nHeight); pindex->tally.SetNewPositions(mapActive); diff --git a/src/main.h b/src/main.h index 2071ddc9c..8843db8b5 100644 --- a/src/main.h +++ b/src/main.h @@ -44,6 +44,7 @@ static const int64 MAX_MINT_PROOF_OF_STAKE = 2.00 * COIN; // 200% annual interes static const int64 MAX_MINT_PROOF_OF_STAKEV2 = 7.50 * COIN; // 750% annual interest static const unsigned int FORK_TIME = 1404678625; // Sun, 06 Jul 2014 20:30:25 GMT static const unsigned int FORK_TIME2 = 1423836000; // Fri, 13 Feb 2015 14:00:00 GMT +static const unsigned int VOTING_START = 9999999; // when voting becomes available on mainnet static const int64 MIN_TXOUT_AMOUNT = MIN_TX_FEE; inline bool MoneyRange(int64 nValue) { return (nValue >= 0 && nValue <= MAX_MONEY); } From 461f0ee34ae41845a10deb069181f58cfdd9516c Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 21 Apr 2018 12:57:31 -0600 Subject: [PATCH 530/555] Don't serialize votetally unless needed. --- src/db.cpp | 4 +++- src/main.h | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/db.cpp b/src/db.cpp index 41ac18a2c..d4ff1f68e 100644 --- a/src/db.cpp +++ b/src/db.cpp @@ -831,7 +831,9 @@ bool CTxDB::LoadBlockIndexGuts() pindexNew->nTime = diskindex.nTime; pindexNew->nBits = diskindex.nBits; pindexNew->nNonce = diskindex.nNonce; - pindexNew->tally = diskindex.tally; + +// if (fTestNet || pindexNew->nHeight >= (int)VOTING_START) +// pindexNew->tally = diskindex.tally; // Watch for genesis block if (pindexGenesisBlock == NULL && blockHash == (!fTestNet ? hashGenesisBlock : hashGenesisBlockTestNet)) diff --git a/src/main.h b/src/main.h index 8843db8b5..369672c48 100644 --- a/src/main.h +++ b/src/main.h @@ -1372,8 +1372,10 @@ class CDiskBlockIndex : public CBlockIndex READWRITE(nNonce); READWRITE(blockHash); - if (this->nVersion >= CBlock::VOTING_VERSION) - READWRITE(tally); + if (this->nVersion >= CBlock::VOTING_VERSION) { + if (fTestNet || nHeight >= (int)VOTING_START) + READWRITE(tally); + } ) uint256 GetBlockHash() const From 3c09df8508eaa55f72f61ad4cab518dd07496565 Mon Sep 17 00:00:00 2001 From: Anthony Date: Sat, 7 Apr 2018 18:50:24 -0600 Subject: [PATCH 531/555] Replace mng files with gifs, since qt no longer supports mng files. Make other gui dialogs scale. Fix bug in voteproposalmanager that tried accessing an index outside of vector bounds when checking availability. Also make gui check that the proposal start is after the current block (since it was accepting proposals beginning on the current block). Merge --- src/qt/bitcoin.qrc | 4 +- src/qt/createproposaldialog.cpp | 2 +- src/qt/forms/blockbrowser.ui | 800 +++++++++++++-------------- src/qt/forms/calcdialog.ui | 302 +++++----- src/qt/res/movies/mining.gif | Bin 0 -> 2680 bytes src/qt/res/movies/mining.mng | Bin 7204 -> 0 bytes src/qt/res/movies/update_spinner.gif | Bin 0 -> 18311 bytes src/qt/res/movies/update_spinner.mng | Bin 28525 -> 0 bytes 8 files changed, 541 insertions(+), 567 deletions(-) create mode 100644 src/qt/res/movies/mining.gif delete mode 100644 src/qt/res/movies/mining.mng create mode 100644 src/qt/res/movies/update_spinner.gif delete mode 100644 src/qt/res/movies/update_spinner.mng diff --git a/src/qt/bitcoin.qrc b/src/qt/bitcoin.qrc index 1af3e508f..d297e2d45 100644 --- a/src/qt/bitcoin.qrc +++ b/src/qt/bitcoin.qrc @@ -52,7 +52,7 @@ res/images/wallet.png - res/movies/update_spinner.mng - res/movies/mining.mng + res/movies/update_spinner.gif + res/movies/mining.gif diff --git a/src/qt/createproposaldialog.cpp b/src/qt/createproposaldialog.cpp index 4015d77b7..0f0fde106 100644 --- a/src/qt/createproposaldialog.cpp +++ b/src/qt/createproposaldialog.cpp @@ -46,7 +46,7 @@ void CreateProposalDialog::on_button_CreateProposal_clicked() } int nStartHeight = ui->lineEdit_StartBlock->text().toInt(); - if (nStartHeight < nBestHeight || nStartHeight > nBestHeight + MAX_BLOCKS_IN_FUTURE) { + if (nStartHeight <= nBestHeight || nStartHeight > nBestHeight + MAX_BLOCKS_IN_FUTURE) { QMessageBox msg; msg.setText(tr("Start height needs to be greater than current height (%1) and less than %2.").arg(nBestHeight).arg(nStartHeight + MAX_BLOCKS_IN_FUTURE)); msg.exec(); diff --git a/src/qt/forms/blockbrowser.ui b/src/qt/forms/blockbrowser.ui index ede191602..0a01d600d 100644 --- a/src/qt/forms/blockbrowser.ui +++ b/src/qt/forms/blockbrowser.ui @@ -12,8 +12,8 @@ 0 0 - 850 - 500 + 885 + 471 @@ -49,414 +49,400 @@ - - - - 0 - 0 - 822 - 27 - - - - - 7 - - - - - - 0 - 0 - - - - - 75 - true - - - - font-weight:bold; - - - Block Browser - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - 30 - 812 - 410 - - - - - QLayout::SetDefaultConstraint - - - 7 - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - Decode Transaction - - - - - - - Inputs: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - 0000 MH/s - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Value out: - - - - - - - Transaction ID: - - - - - - - 0.00 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - 000 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Difficulty: - - - - - - - - 0 - 0 - - - - 99999999 - - - - - - - Block Height: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Jump to Block - - - - - - - Block Merkle: - - - - - - - Block Hash: - - - - - - - - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Hashrate: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Fees: - - - - - - - Block nBits: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - 187 - 0 - - - - 0x0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Outputs: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block nNonce: - - - - - - - 0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - Block Timestamp: - - - - - - - true - - - - 0 - 0 - - - - - 0 - 0 - - - - 0x0 - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse - - - - - - - - 0 - 0 - - - - - - - - - - - - - - Qt::Vertical - - - - 20 - 20 - - - - - - - - - - 0 - 450 - 75 - 23 - - - - Close - - + + + 854 + 0 + + + + + + + 7 + + + + + + 0 + 0 + + + + + 75 + true + + + + font-weight:bold; + + + Block Browser + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + QLayout::SetDefaultConstraint + + + 7 + + + + + + 0 + 0 + + + + + + + + + + + + + + Block Merkle: + + + + + + + Block Hash: + + + + + + + Fees: + + + + + + + Value out: + + + + + + + + 187 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + true + + + + 0 + 0 + + + + + 0 + 0 + + + + 0x0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + 0.00 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Qt::Vertical + + + + 399 + 13 + + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Outputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Inputs: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Jump to Block + + + + + + + Block nNonce: + + + + + + + Block Difficulty: + + + + + + + 000 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + 0 + 0 + + + + 99999999 + + + + + + + 0000 MH/s + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block Height: + + + + + + + Transaction ID: + + + + + + + + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + Block nBits: + + + + + + + Decode Transaction + + + + + + + Block Timestamp: + + + + + + + Block Hashrate: + + + + + + + 0 + + + Qt::LinksAccessibleByMouse|Qt::TextSelectableByMouse + + + + + + + + + Close + + + + - \ No newline at end of file + diff --git a/src/qt/forms/calcdialog.ui b/src/qt/forms/calcdialog.ui index 7837b612e..5d7b00be8 100644 --- a/src/qt/forms/calcdialog.ui +++ b/src/qt/forms/calcdialog.ui @@ -6,175 +6,163 @@ 0 0 - 250 - 352 + 406 + 467 Stake Calculator - - - - 1 - 301 - 161 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Ok - - - true - - - - - - 0 - 10 - 251 - 31 - - - - - 16 - - - - Stake Calculator - - - false - - - Qt::AlignCenter - - - - - - 35 - 42 - 181 - 41 - - - - 1 - - - Calculate optimal stake input sizing based on current network statistics - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - - - - 30 - 180 - 191 - 121 - - - - - - - 1 - - - - - - Qt::AlignJustify|Qt::AlignTop - - - true - - - - - - - - - 30 - 80 - 191 - 81 - - - - - - - Target Days To Stake: - - - - - - + + + + + + 16 + + + + Stake Calculator + + + false + + + Qt::AlignCenter + + + + + + + 1 + + + Calculate optimal stake input sizing based on current network statistics + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + + + + + - 10 + Target Days To Stake: - - - - 15 - - - - - 20 + + + + + + + 10 + + + + + 15 + + + + + 20 + + + + + 25 + + + + + 30 + + + + + + + + HYP - - + + + + - 25 + Amount of HYP to Split - - + + + + - 30 + Calculate - - - - - - - HYP - - - - - - - Amount of HYP to Split - - - - - - - Calculate - - - - - + + + + + + + + 1 + + + + + + Qt::AlignJustify|Qt::AlignTop + + + true + + + + + + + Qt::Vertical + + + + 20 + 155 + + + + + + + + Qt::LeftToRight + + + Qt::Horizontal + + + QDialogButtonBox::Ok + + + false + + + + + buttonBox + label + label_2 + verticalLayoutWidget + formLayoutWidget + avgWeightResult + avgWeightResult + verticalSpacer diff --git a/src/qt/res/movies/mining.gif b/src/qt/res/movies/mining.gif new file mode 100644 index 0000000000000000000000000000000000000000..5ac79e88443dfd6743f16f9c7801755717b3a816 GIT binary patch literal 2680 zcmd7TeNYo;9>DR<3vU4=yeP==k`#G65W-ssppZZa2_i;71)<8TU|X$Xt8K5n;Wg2_ zsvByjJ-`!k%6U#(5Iq&dme&vR|BNa89mQ_*E^ZirAr%H zeMb)EPN3%|*3V6@pLv2*R9*e*>b1(MYVns9;NO3EaI5Zi{dbS*zo~D$)6j7HZsYB* zn%XYNr!T5>6;p6i*Yi6)i(-}TFDmHnFx)%|KT;u=W}&7c5xQDxaye>#W9 z@TsaY@e8R5+v#|{(kvo2K0IK%?YE*}_Fg9KH+H!Dm(61mS%D5VctV@dD`8iVlaUPE z6Xk3=1iD&{iQbw5$&oXl%lu{c1%ajalE7oRoI+YHr5bOPL_;OJ^#GT)5GuY_YP&)H zKzo~g1h*yVBO0stWD#KIkV`xrn2T!$?C7n4vdr}2hqi&8irVYaOT?w%yHZgn*V5i( zx5W+a7-^0D}$p45T;Vk9YHbbhlcgJa_H>j`fDQp;)xENf*LyJ?{zKT7=>z7 zy2c^s!35NTeI{xhhWz0y{Km+;hc(Zpw7(!%%)$Q~Fu6XBr)lKbt!y+`59xF)I7sk$V#~Be?SjpKkqV?Iww)vY~}Z_M-neH0R8B{s>DdT^dc@YJzj|t9-}XLddd*LUc^hL z_a4yu_alMrn#c}KR5uhPg=u{Vtxq2$Ln8Z;$N>Zs8a8aeY{qs%u>&wmjwH(<)*uo$ ztmi58n9Yn~|dcHnvt+b{<~rVaug>=F{F4oiaEvgqlA7GKY$VjP~yO^**f>>0R;*SqBv|R z(U*RWls^%s^y%GYdQUmRkiel*U2rcGN6O)FOt(@`A4KR%Jq9^k zxe1xmzRs3F%mIYgkEHj*Ooe{mAc8^8dW@X?PZWbHEf(23T?@^f%QYj~8zb8L!%)*0 z)S^PZnAwc%eKqvPmSv-w#fevn2j|};vafjB?2bvz{h$!z=|GG=m~-Y#uBfV<%u3HL z{4n=WbsgY*I7^(D#`$X%DIov!*<)|VMm30RGf#c|UPc@f_fTjY_Wma)j<6%~1c|^j z<)eb5Tq7GtrNIB(yF3?b`$@spNC)j@3SiOI8Hawl#ysB3mTR@rER7j zJ59F~Qp6W52qc_CD>YA2dfqHGrD>2N#@p@BV5WS{6x!HW8~u%+oWqJICnnMOH;eF> z-Ca!&pI1|RDkJ=#pH@+7feQbE6+Y|K`$d2&yXEfS3y*H;SzM9ROuL7b6U`RVdnvm< zzsktZwz!hNW6z($-zsb`_y==^wEaQ$Jz_Bvw5SU>SVopI`CFU=Qw3{a4UG&${1YH! BIEw%P literal 0 HcmV?d00001 diff --git a/src/qt/res/movies/mining.mng b/src/qt/res/movies/mining.mng deleted file mode 100644 index a3f1669d3989021c5a98d5849aa1d34e8466dffb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7204 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 QPd&HsRQw9hB}S_LHw&yXng9R* literal 0 HcmV?d00001 diff --git a/src/qt/res/movies/update_spinner.mng b/src/qt/res/movies/update_spinner.mng deleted file mode 100644 index f42d3d8cd7e39c6461fa763767cc4576cf6dc4de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28525 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 Date: Sat, 21 Apr 2018 15:35:55 -0600 Subject: [PATCH 532/555] Clean up compiler warnings. --- src/main.cpp | 8 ++++---- src/qt/proposalsdialog.cpp | 4 ++-- src/rpcblockchain.cpp | 2 +- src/rpcwallet.cpp | 2 -- src/votecharset.cpp | 4 ++-- src/voteproposalmanager.cpp | 13 +++++++------ 6 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 73efaff0f..e4581b757 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -330,7 +330,7 @@ bool CTransaction::IsStandard() const bool CTransaction::IsProposal() const { - for (int i = 0; i < vout.size(); i++) { + for (unsigned int i = 0; i < vout.size(); i++) { CScript scriptPubKey = vout[i].scriptPubKey; if (scriptPubKey.IsDataCarrier()) { if (scriptPubKey.size() >= 5) { @@ -1684,7 +1684,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) //Record new votes to the tally if (pindex->pprev) { - if (fTestNet || pindex->nHeight >= VOTING_START) + if (fTestNet || pindex->nHeight >= (int)VOTING_START) pindex->tally = CVoteTally(pindex->pprev->tally); map mapActive = proposalManager.GetActive(pindex->nHeight); pindex->tally.SetNewPositions(mapActive); @@ -4178,7 +4178,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) CReserveKey reservekey(pwallet); // Create new block - auto_ptr pblock(new CBlock()); + std::unique_ptr pblock(new CBlock()); if (!pblock.get()) return NULL; @@ -4672,7 +4672,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) unsigned int nTransactionsUpdatedLast = nTransactionsUpdated; CBlockIndex* pindexPrev = pindexBest; - auto_ptr pblock(CreateNewBlock(pwallet, fProofOfStake)); + std::unique_ptr pblock(CreateNewBlock(pwallet, fProofOfStake)); if (!pblock.get()) return; IncrementExtraNonce(pblock.get(), pindexPrev, nExtraNonce); diff --git a/src/qt/proposalsdialog.cpp b/src/qt/proposalsdialog.cpp index 07fd1fe9f..bd678f032 100644 --- a/src/qt/proposalsdialog.cpp +++ b/src/qt/proposalsdialog.cpp @@ -49,8 +49,8 @@ void ProposalsDialog::UpdateTable() CVoteProposal proposal; if (voteDB.ReadProposal(it.first, proposal)) { //Filters - bool hasStarted = proposal.GetStartHeight() < nBestHeight; - bool isFinished = (proposal.GetStartHeight() + proposal.GetCheckSpan()) < nBestHeight; + bool hasStarted = (int)proposal.GetStartHeight() < nBestHeight; + bool isFinished = (int)(proposal.GetStartHeight() + proposal.GetCheckSpan()) < nBestHeight; bool isActive = hasStarted && !isFinished; bool fUpcomingChecked = ui->checkBox_Upcoming->checkState() == Qt::CheckState::Checked; diff --git a/src/rpcblockchain.cpp b/src/rpcblockchain.cpp index f842de6c3..86f1213a8 100644 --- a/src/rpcblockchain.cpp +++ b/src/rpcblockchain.cpp @@ -391,7 +391,7 @@ Value getproposalstatus(const Array& params, bool fHelp) if (!voteDB.ReadProposal(hash, proposal)) throw JSONRPCError(RPC_INVALID_PARAMETER, "failed to find proposal"); - if (nBestHeight < proposal.GetStartHeight()) { + if (nBestHeight < (int)proposal.GetStartHeight()) { Object obj; obj.emplace_back(Pair("block_start", (int64_t)proposal.GetStartHeight())); return obj; diff --git a/src/rpcwallet.cpp b/src/rpcwallet.cpp index 48dd83892..25de5c819 100644 --- a/src/rpcwallet.cpp +++ b/src/rpcwallet.cpp @@ -3035,8 +3035,6 @@ Value getvotes(const Array& params, bool fHelp) return JSONRPCError(RPC_DATABASE_ERROR, strMessage); } - - int voteValue = it->second.GetFormattedVote() >> proposal.GetShift() & proposal.GetBitCount(); Object entry; entry.push_back(Pair("Proposal Name", proposal.GetName())); entry.push_back(Pair("Proposal Description", proposal.GetDescription())); diff --git a/src/votecharset.cpp b/src/votecharset.cpp index 1b8633d58..7a35768fc 100644 --- a/src/votecharset.cpp +++ b/src/votecharset.cpp @@ -12,7 +12,7 @@ bool ConvertTo6bit(std::string strFromUser, std::vector& vchRet) { std::transform(strFromUser.begin(), strFromUser.end(), strFromUser.begin(), ::tolower); uint160 v = 0; - for (int i = 0; i < strFromUser.size(); i++) { + for (unsigned int i = 0; i < strFromUser.size(); i++) { char c = strFromUser[i]; std::cout << "first in: " << c << std::endl; uint160 pos = strCharCodes.find(c); @@ -36,7 +36,7 @@ bool ConvertTo6bit(std::string strFromUser, std::vector& vchRet) bool ConvertTo8bit(std::vector vch, std::string& strRet) { uint160 n = 0; - for (int i = 0; i < vch.size(); i++) { + for (unsigned int i = 0; i < vch.size(); i++) { n >>= 8; n |= uint160(vch[i]) << 154; } diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index e8b8298b8..48307e4f7 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -65,9 +65,9 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int for (auto it : mapProposalData) { CProposalMetaData data = it.second; int nEndHeight = nStartHeight + nCheckSpan; - if (data.nHeightEnd < nStartHeight) + if ((int)data.nHeightEnd < nStartHeight) continue; - if (data.nHeightStart > nEndHeight) + if ((int)data.nHeightStart > nEndHeight) continue; vConflictingTime.emplace_back(data); } @@ -92,11 +92,12 @@ bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int //find an available sequence of bits that fit the proposal vector vRange; int nSequential = 0; - for (uint8_t i = 27; i >= 0; i--) { - nSequential = vAvailable.at(i) == 1 ? nSequential + 1 : 0; + for (int i = 27; i >= 0; i--) { + uint8_t n = static_cast(i); + nSequential = vAvailable.at(n) == 1 ? nSequential + 1 : 0; if (nSequential == nBitCount) { - location.nLeastSignificantBit = i; - location.nMostSignificantBit = (uint8_t )(i + nBitCount - 1); + location.nLeastSignificantBit = n; + location.nMostSignificantBit = static_cast(n + nBitCount - 1); return true; } } From f2051c2ae4b688aace5cc756278586985de2e44f Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Wed, 25 Apr 2018 19:59:37 -0600 Subject: [PATCH 533/555] preventing DoS attacks using invalid proposals that are also valid transactions --- .gitignore | 50 ++----------------------------------- src/main.cpp | 11 ++++++++ src/voteproposalmanager.cpp | 36 ++++++++++++++++++++++++++ src/voteproposalmanager.h | 1 + 4 files changed, 50 insertions(+), 48 deletions(-) diff --git a/.gitignore b/.gitignore index 770c046ce..3a3827fd0 100644 --- a/.gitignore +++ b/.gitignore @@ -47,60 +47,14 @@ src/qt/.deps src/qt/.dirstamp src/qt/bitcoin.moc src/qt/bitcoinamountfield.moc -src/qt/moc_aboutdialog.cpp -src/qt/moc_addressbookpage.cpp -src/qt/moc_addresstablemodel.cpp -src/qt/moc_askpassphrasedialog.cpp -src/qt/moc_bip38tooldialog.cpp -src/qt/moc_bitcoinaddressvalidator.cpp -src/qt/moc_bitcoinamountfield.cpp -src/qt/moc_bitcoingui.cpp -src/qt/moc_bitcoinunits.cpp -src/qt/moc_clientmodel.cpp -src/qt/moc_coincontroldialog.cpp -src/qt/moc_coincontroltreewidget.cpp -src/qt/moc_csvmodelwriter.cpp -src/qt/moc_editaddressdialog.cpp -src/qt/moc_guiutil.cpp -src/qt/moc_macdockiconhandler.cpp -src/qt/moc_monitoreddatamapper.cpp -src/qt/moc_notificator.cpp -src/qt/moc_optionsdialog.cpp -src/qt/moc_optionsmodel.cpp -src/qt/moc_overviewpage.cpp -src/qt/moc_qrcodedialog.cpp -src/qt/moc_qvalidatedlineedit.cpp -src/qt/moc_qvaluecombobox.cpp -src/qt/moc_rpcconsole.cpp -src/qt/moc_sendcoinsdialog.cpp -src/qt/moc_sendcoinsentry.cpp -src/qt/moc_signverifymessagedialog.cpp -src/qt/moc_transactiondesc.cpp -src/qt/moc_transactiondescdialog.cpp -src/qt/moc_transactionfilterproxy.cpp -src/qt/moc_transactiontablemodel.cpp -src/qt/moc_transactionview.cpp -src/qt/moc_walletmodel.cpp +src/qt/moc_* src/qt/overviewpage.moc src/qt/rpcconsole.moc Makefile.in src/config/bitcoin-config.h src/config/bitcoin-config.h.in src/config/stamp-h1 -src/qt/forms/ui_aboutdialog.h -src/qt/forms/ui_addressbookpage.h -src/qt/forms/ui_askpassphrasedialog.h -src/qt/forms/ui_bip38tooldialog.h -src/qt/forms/ui_coincontroldialog.h -src/qt/forms/ui_editaddressdialog.h -src/qt/forms/ui_optionsdialog.h -src/qt/forms/ui_overviewpage.h -src/qt/forms/ui_qrcodedialog.h -src/qt/forms/ui_rpcconsole.h -src/qt/forms/ui_sendcoinsdialog.h -src/qt/forms/ui_sendcoinsentry.h -src/qt/forms/ui_signverifymessagedialog.h -src/qt/forms/ui_transactiondescdialog.h +src/qt/forms/ui_* config.log config.status libtool diff --git a/src/main.cpp b/src/main.cpp index e4581b757..7513697d9 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -711,6 +711,17 @@ bool CTxMemPool::accept(CTxDB& txdb, CTransaction &tx, bool fCheckInputs, if (ptxOld) EraseFromWallets(ptxOld->GetHash()); + // If the transaction is a proposal then verify validity + if (tx.IsProposal()) { + CVoteProposal proposal; + ProposalFromTransaction(tx, proposal); + + // Verify that the proposal is valid + if(!proposalManager.CheckProposal(proposal)) { + return error("CTxMemPool::accept() : Invalid Proposal %s", hash.ToString().substr(0,10).c_str()); + } + } + printf("CTxMemPool::accept() : accepted %s (poolsz %lu)\n", hash.ToString().substr(0,10).c_str(), mapTx.size()); diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 48307e4f7..c65186925 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -7,6 +7,42 @@ using namespace std; +bool CVoteProposalManager::CheckProposal(const CVoteProposal &proposal) +{ + // If the proposal is already in the blockchain then it's guaranteed to be valid + if (mapProposalData.count(proposal.GetHash()) != 0) { + return true; + } + + // Proposal name length must be between 1 and MAX_CHAR_NAME (inclusive) + if (proposal.GetName().empty() || proposal.GetName().size() > MAX_CHAR_NAME) { + return false; + } + + // Proposal description length must be between 1 and MAX_CHAR_ABSTRACT (inclusive) + if (proposal.GetDescription().empty() || proposal.GetDescription().size() > MAX_CHAR_ABSTRACT) { + return false; + } + + // Proposal voting period cannot start before or at the current height or after MAX_BLOCKS_IN_FUTURE + if (proposal.GetStartHeight() <= nBestHeight || proposal.GetStartHeight() > nBestHeight + MAX_BLOCKS_IN_FUTURE) { + return false; + } + + // Proposal voting period length must be between 1 and MAX_CHECKSPAN (inclusive) + if (!proposal.GetCheckSpan() || proposal.GetCheckSpan() > MAX_CHECKSPAN) { + return false; + } + + // Check to see if there is room on the blockchain for this proposal + VoteLocation location; + if (!GetNextLocation(proposal.GetBitCount(), proposal.GetStartHeight(), proposal.GetCheckSpan(), location)) { + return false; + } + + return true; +} + //! Add a proposal to the manager. Note that it must not have conflicts in its scheduling. bool CVoteProposalManager::Add(const CVoteProposal& proposal) { diff --git a/src/voteproposalmanager.h b/src/voteproposalmanager.h index 9195f9405..99d92b1ab 100644 --- a/src/voteproposalmanager.h +++ b/src/voteproposalmanager.h @@ -28,6 +28,7 @@ class CVoteProposalManager std::map GetActive(int nHeight); bool GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location); std::map GetAllProposals() const { return mapProposalData; }; + bool CheckProposal (const CVoteProposal& proposal); }; #endif //HYPERSTAKE_VOTEPROPOSALMANAGER_H From 8f6c912e5b0cdf077d9edf0a396badb4ed830b63 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 27 Apr 2018 14:33:27 -0600 Subject: [PATCH 534/555] Bump to v1.1.5. --- HyperStake-qt.pro | 89 +++++++++++++++++++++++-------------------- configure.ac | 4 +- src/clientversion.h | 4 +- src/qt/bitcoingui.cpp | 3 +- src/qt/guiconstants.h | 2 +- src/version.cpp | 2 +- src/version.h | 2 +- src/votecharset.h | 1 + 8 files changed, 58 insertions(+), 49 deletions(-) diff --git a/HyperStake-qt.pro b/HyperStake-qt.pro index 29f57a6e2..f7d5c0011 100644 --- a/HyperStake-qt.pro +++ b/HyperStake-qt.pro @@ -1,9 +1,9 @@ TEMPLATE = app TARGET = HyperStake-qt -VERSION = 0.7.2 +VERSION = 1.1.5 INCLUDEPATH += src src/json src/qt DEFINES += QT_GUI BOOST_THREAD_USE_LIB BOOST_SPIRIT_THREADSAFE BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN __NO_SYSTEM_INCLUDES -CONFIG += no_include_pwd static +CONFIG += no_include_pwd static c++11 QT += core gui xml network greaterThan(QT_MAJOR_VERSION, 4): QT += widgets @@ -238,22 +238,53 @@ HEADERS += src/qt/bitcoingui.h \ src/qt/scicon.h \ src/qt/votingdialog.h \ src/qt/createproposaldialog.h \ - src/qt/proposalsdialog.h + src/qt/proposalsdialog.h \ + src/qt/setvotesdialog.h SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ - src/qt/transactiontablemodel.cpp \ + src/qt/aboutdialog.cpp \ + src/qt/addressbookpage.cpp \ src/qt/addresstablemodel.cpp \ - src/qt/optionsdialog.cpp \ - src/qt/sendcoinsdialog.cpp \ + src/qt/askpassphrasedialog.cpp \ + src/qt/bip38tooldialog.cpp \ + src/qt/bitcoinstrings.cpp \ + src/qt/bitcoinamountfield.cpp \ + src/qt/bitcoinaddressvalidator.cpp \ + src/qt/bitcoinunits.cpp \ + src/qt/blockbrowser.cpp \ + src/qt/calcdialog.cpp \ + src/qt/charitydialog.cpp \ + src/qt/clientmodel.cpp \ src/qt/coincontroldialog.cpp \ src/qt/coincontroltreewidget.cpp \ - src/qt/addressbookpage.cpp \ - src/qt/signverifymessagedialog.cpp \ - src/qt/aboutdialog.cpp \ - src/qt/calcdialog.cpp \ + src/qt/createproposaldialog.cpp \ + src/qt/csvmodelwriter.cpp \ src/qt/editaddressdialog.cpp \ - src/qt/bitcoinaddressvalidator.cpp \ - src/qt/bip38tooldialog.cpp \ + src/qt/guiutil.cpp \ + src/qt/monitoreddatamapper.cpp \ + src/qt/networkstyle.cpp \ + src/qt/notificator.cpp \ + src/qt/optionsdialog.cpp \ + src/qt/optionsmodel.cpp \ + src/qt/overviewpage.cpp \ + src/qt/paymentserver.cpp \ + src/qt/proposalsdialog.cpp \ + src/qt/qvalidatedlineedit.cpp \ + src/qt/qvaluecombobox.cpp \ + src/qt/rpcconsole.cpp \ + src/qt/scicon.cpp \ + src/qt/signverifymessagedialog.cpp \ + src/qt/sendcoinsdialog.cpp \ + src/qt/sendcoinsentry.cpp \ + src/qt/setvotesdialog.cpp \ + src/qt/transactiondesc.cpp \ + src/qt/transactiondescdialog.cpp \ + src/qt/transactionfilterproxy.cpp \ + src/qt/transactionrecord.cpp \ + src/qt/transactiontablemodel.cpp \ + src/qt/transactionview.cpp \ + src/qt/votingdialog.cpp \ + src/qt/walletmodel.cpp \ src/alert.cpp \ src/bip38.cpp \ src/version.cpp \ @@ -270,20 +301,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/addrman.cpp \ src/db.cpp \ src/walletdb.cpp \ - src/qt/clientmodel.cpp \ - src/qt/guiutil.cpp \ - src/qt/transactionrecord.cpp \ - src/qt/optionsmodel.cpp \ - src/qt/monitoreddatamapper.cpp \ - src/qt/transactiondesc.cpp \ - src/qt/transactiondescdialog.cpp \ - src/qt/bitcoinstrings.cpp \ - src/qt/bitcoinamountfield.cpp \ src/wallet.cpp \ src/keystore.cpp \ - src/qt/transactionfilterproxy.cpp \ - src/qt/transactionview.cpp \ - src/qt/walletmodel.cpp \ src/bitcoinrpc.cpp \ src/rpcdump.cpp \ src/rpcnet.cpp \ @@ -291,18 +310,8 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/rpcwallet.cpp \ src/rpcblockchain.cpp \ src/rpcrawtransaction.cpp \ - src/qt/overviewpage.cpp \ - src/qt/csvmodelwriter.cpp \ src/crypter.cpp \ - src/qt/sendcoinsentry.cpp \ - src/qt/qvalidatedlineedit.cpp \ - src/qt/bitcoinunits.cpp \ - src/qt/qvaluecombobox.cpp \ - src/qt/askpassphrasedialog.cpp \ src/protocol.cpp \ - src/qt/notificator.cpp \ - src/qt/paymentserver.cpp \ - src/qt/rpcconsole.cpp \ src/noui.cpp \ src/kernel.cpp \ src/pbkdf2.cpp \ @@ -316,15 +325,13 @@ SOURCES += src/qt/bitcoin.cpp src/qt/bitcoingui.cpp \ src/cubehash.c \ src/shavite.c \ src/echo.c \ - src/qt/blockbrowser.cpp \ - src/qt/charitydialog.cpp \ src/simd.c \ src/clientversion.cpp \ - src/qt/networkstyle.cpp \ - src/qt/scicon.cpp \ - src/qt/votingdialog.cpp \ - src/qt/createproposaldialog.cpp \ - src/qt/proposalsdialog.cpp + src/votecharset.cpp \ + src/voteproposal.cpp \ + src/voteproposalmanager.cpp \ + src/voteobject.cpp \ + src/votetally.cpp RESOURCES += \ src/qt/bitcoin.qrc diff --git a/configure.ac b/configure.ac index 15a06d07b..1f171221b 100644 --- a/configure.ac +++ b/configure.ac @@ -2,10 +2,10 @@ dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N) AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 1) -define(_CLIENT_VERSION_REVISION, 4) +define(_CLIENT_VERSION_REVISION, 5) define(_CLIENT_VERSION_BUILD, 0) define(_CLIENT_VERSION_IS_RELEASE, true) -define(_COPYRIGHT_YEAR, 2014) +define(_COPYRIGHT_YEAR, 2018) AC_INIT([Hyperstake Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@hyperstake.info],[hyperstake]) AC_CONFIG_SRCDIR([src/main.cpp]) AC_CONFIG_HEADERS([src/config/bitcoin-config.h]) diff --git a/src/clientversion.h b/src/clientversion.h index 8f30281d8..e93d53445 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -16,7 +16,7 @@ //! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 -#define CLIENT_VERSION_REVISION 4 +#define CLIENT_VERSION_REVISION 5 #define CLIENT_VERSION_BUILD 0 //! Set to true for release, false for prerelease or test build @@ -26,7 +26,7 @@ * Copyright year (2009-this) * Todo: update this when changing our copyright comments in the source */ -#define COPYRIGHT_YEAR 2014 +#define COPYRIGHT_YEAR 2018 #endif //HAVE_CONFIG_H diff --git a/src/qt/bitcoingui.cpp b/src/qt/bitcoingui.cpp index c272e0cdb..b68a0882d 100644 --- a/src/qt/bitcoingui.cpp +++ b/src/qt/bitcoingui.cpp @@ -444,7 +444,8 @@ void BitcoinGUI::createMenuBar() settings->addAction(charityAction); settings->addAction(calcAction); settings->addAction(bip38ToolAction); - settings->addAction(votingAction); + if (fTestNet) + settings->addAction(votingAction); settings->addSeparator(); settings->addAction(optionsAction); diff --git a/src/qt/guiconstants.h b/src/qt/guiconstants.h index c9535d911..1c8630091 100644 --- a/src/qt/guiconstants.h +++ b/src/qt/guiconstants.h @@ -2,7 +2,7 @@ #define GUICONSTANTS_H /* Milliseconds between model updates */ -static const int MODEL_UPDATE_DELAY = 5000; //update every 5 seconds +static const int MODEL_UPDATE_DELAY = 2000; //update every 5 seconds static const int MINTING_UPDATE_DELAY = 5000; //update every 5 seconds static const int TXTABLE_UPDATE_DELAY = 30000; //update every 30 seconds diff --git a/src/version.cpp b/src/version.cpp index 64d76ccb0..5a92a416b 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -6,7 +6,7 @@ #include "version.h" // Client version number -#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.4.0" +#define CLIENT_VERSION_SUFFIX "HyperStake-1.1.5.0" // The following part of the code determines the CLIENT_BUILD variable. diff --git a/src/version.h b/src/version.h index 6a7b435b1..3f612370a 100644 --- a/src/version.h +++ b/src/version.h @@ -33,7 +33,7 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 -#define DISPLAY_VERSION_REVISION 4 +#define DISPLAY_VERSION_REVISION 5 #define DISPLAY_VERSION_BUILD 0 #endif diff --git a/src/votecharset.h b/src/votecharset.h index 4f2edfe95..a814f47de 100644 --- a/src/votecharset.h +++ b/src/votecharset.h @@ -1,4 +1,5 @@ #include +#include bool ConvertTo6bit(std::string strFromUser, std::vector& vchRet); bool ConvertTo8bit(std::vector vch, std::string& strRet); \ No newline at end of file From 13562909d1f51d5aad26bef21ed39820f0249a41 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 4 May 2018 16:56:13 -0600 Subject: [PATCH 535/555] Update depends. Add deps makefile depends 2 add missing fix makefile typo Remove build.h Update fix Update bitcoin_qt.m4 more updates endif remove line remove themes --- Makefile.am | 6 +- build-aux/m4/ax_boost_base.m4 | 18 +- build-aux/m4/ax_boost_program_options.m4 | 7 +- build-aux/m4/ax_boost_system.m4 | 5 +- build-aux/m4/ax_check_compile_flag.m4 | 12 +- build-aux/m4/ax_check_link_flag.m4 | 13 +- build-aux/m4/ax_check_preproc_flag.m4 | 12 +- build-aux/m4/ax_cxx_compile_stdcxx.m4 | 7 +- build-aux/m4/ax_gcc_func_attribute.m4 | 8 +- build-aux/m4/ax_pthread.m4 | 385 ++++++++++++------ build-aux/m4/bitcoin_find_bdb48.m4 | 124 +++--- build-aux/m4/bitcoin_qt.m4 | 287 +++++++++---- build-aux/m4/bitcoin_subdir_to_include.m4 | 4 + build-aux/m4/l_atomic.m4 | 46 +++ depends/.gitignore | 5 + depends/Makefile | 182 +++++++++ depends/README.md | 75 ++++ depends/README.usage | 35 -- depends/builders/darwin.mk | 4 +- depends/builders/linux.mk | 2 +- depends/config.guess | 184 +++++---- depends/config.site.in | 40 +- depends/config.sub | 90 ++-- depends/{README => description.md} | 20 +- depends/funcs.mk | 37 +- depends/hosts/darwin.mk | 8 +- depends/{README.packages => packages.md} | 129 +++--- depends/packages/bdb.mk | 5 +- depends/packages/boost.mk | 11 +- depends/packages/dbus.mk | 6 +- depends/packages/expat.mk | 8 +- depends/packages/fontconfig.mk | 10 +- depends/packages/freetype.mk | 6 +- depends/packages/libevent.mk | 30 ++ depends/packages/libxcb.mk | 7 +- depends/packages/miniupnpc.mk | 6 +- depends/packages/native_biplist.mk | 20 + depends/packages/native_ccache.mk | 6 +- depends/packages/native_cctools.mk | 29 +- depends/packages/native_comparisontool.mk | 21 - depends/packages/native_ds_store.mk | 16 + depends/packages/native_mac_alias.mk | 20 + depends/packages/native_protobuf.mk | 6 +- depends/packages/openssl.mk | 48 ++- depends/packages/packages.mk | 20 +- depends/packages/protobuf.mk | 1 + depends/packages/qrencode.mk | 6 +- depends/packages/qt.mk | 177 ++++++-- depends/packages/qt46.mk | 66 --- depends/packages/xextproto.mk | 5 + depends/packages/zeromq.mk | 34 ++ depends/packages/zlib.mk | 27 ++ .../patches/boost/darwin_boost_atomic-1.patch | 35 -- .../patches/boost/darwin_boost_atomic-2.patch | 55 --- .../patches/native_biplist/sorted_list.patch | 29 ++ .../patches/native_mac_alias/python3.patch | 56 +++ depends/patches/qt/aarch32-qmake.conf | 24 ++ depends/patches/qt/aarch64-qmake.conf | 20 + .../patches/qt/fix-xcb-include-order.patch | 60 ++- depends/patches/qt/fix_qt_pkgconfig.patch | 11 + depends/patches/qt/mac-qmake.conf | 15 +- depends/patches/qt/mingw-uuidof.patch | 44 ++ depends/patches/qt/pidlist_absolute.patch | 37 ++ depends/patches/qt/qt5-tablet-osx.patch | 20 - depends/patches/qt/qt5-yosemite.patch | 52 --- depends/patches/qt46/stlfix.patch | 10 - .../patches/xextproto/fix_aarch64_build.patch | 35 ++ .../0001-fix-build-with-older-mingw64.patch | 30 ++ src/Makefile.am | 2 +- src/qt/bitcoin.cpp | 19 +- src/version.cpp | 5 - 71 files changed, 1982 insertions(+), 913 deletions(-) create mode 100644 build-aux/m4/l_atomic.m4 create mode 100644 depends/Makefile create mode 100644 depends/README.md delete mode 100644 depends/README.usage rename depends/{README => description.md} (82%) rename depends/{README.packages => packages.md} (58%) create mode 100644 depends/packages/libevent.mk create mode 100644 depends/packages/native_biplist.mk delete mode 100644 depends/packages/native_comparisontool.mk create mode 100644 depends/packages/native_ds_store.mk create mode 100644 depends/packages/native_mac_alias.mk delete mode 100644 depends/packages/qt46.mk create mode 100644 depends/packages/zeromq.mk create mode 100644 depends/packages/zlib.mk delete mode 100644 depends/patches/boost/darwin_boost_atomic-1.patch delete mode 100644 depends/patches/boost/darwin_boost_atomic-2.patch create mode 100644 depends/patches/native_biplist/sorted_list.patch create mode 100644 depends/patches/native_mac_alias/python3.patch create mode 100644 depends/patches/qt/aarch32-qmake.conf create mode 100644 depends/patches/qt/aarch64-qmake.conf create mode 100644 depends/patches/qt/fix_qt_pkgconfig.patch create mode 100644 depends/patches/qt/mingw-uuidof.patch create mode 100644 depends/patches/qt/pidlist_absolute.patch delete mode 100644 depends/patches/qt/qt5-tablet-osx.patch delete mode 100644 depends/patches/qt/qt5-yosemite.patch delete mode 100644 depends/patches/qt46/stlfix.patch create mode 100644 depends/patches/xextproto/fix_aarch64_build.patch create mode 100644 depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch diff --git a/Makefile.am b/Makefile.am index 080cf1145..6148103e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -73,13 +73,9 @@ $(OSX_APP)/Contents/MacOS/Hyperstake-Qt: $(BITCOIN_QT_BIN) $(MKDIR_P) $(@D) STRIPPROG="$(STRIP)" $(INSTALL_STRIP_PROGRAM) $< $@ -$(OSX_APP)/Contents/MacOS/themes: $(THEMES) - $(MKDIR_P) $(@D) - cp -R $(THEMES) $(@D) - OSX_APP_BUILT=$(OSX_APP)/Contents/PkgInfo $(OSX_APP)/Contents/Resources/empty.lproj \ $(OSX_APP)/Contents/Resources/bitcoin.icns $(OSX_APP)/Contents/Info.plist \ - $(OSX_APP)/Contents/MacOS/Hyperstake-Qt $(OSX_APP)/Contents/MacOS/themes + $(OSX_APP)/Contents/MacOS/Hyperstake-Qt if BUILD_DARWIN $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING) diff --git a/build-aux/m4/ax_boost_base.m4 b/build-aux/m4/ax_boost_base.m4 index 3f24d5ddc..650c94fa6 100644 --- a/build-aux/m4/ax_boost_base.m4 +++ b/build-aux/m4/ax_boost_base.m4 @@ -33,7 +33,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 23 +#serial 27 AC_DEFUN([AX_BOOST_BASE], [ @@ -95,7 +95,7 @@ if test "x$want_boost" = "xyes"; then x86_64) libsubdirs="lib64 libx32 lib lib64" ;; - ppc64|s390x|sparc64|aarch64) + ppc64|s390x|sparc64|aarch64|ppc64le) libsubdirs="lib64 lib lib64" ;; esac @@ -170,7 +170,7 @@ if test "x$want_boost" = "xyes"; then AC_MSG_RESULT(yes) succeeded=yes found_system=yes - ],[: + ],[ ]) AC_LANG_POP([C++]) @@ -179,6 +179,10 @@ if test "x$want_boost" = "xyes"; then dnl if we found no boost with system layout we search for boost libraries dnl built and installed without the --layout=system option or for a staged(not installed) version if test "x$succeeded" != "xyes"; then + CPPFLAGS="$CPPFLAGS_SAVED" + LDFLAGS="$LDFLAGS_SAVED" + BOOST_CPPFLAGS= + BOOST_LDFLAGS= _version=0 if test "$ac_boost_path" != ""; then if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then @@ -191,6 +195,12 @@ if test "x$want_boost" = "xyes"; then VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE" done + dnl if nothing found search for layout used in Windows distributions + if test -z "$BOOST_CPPFLAGS"; then + if test -d "$ac_boost_path/boost" && test -r "$ac_boost_path/boost"; then + BOOST_CPPFLAGS="-I$ac_boost_path" + fi + fi fi else if test "$cross_compiling" != yes; then @@ -253,7 +263,7 @@ if test "x$want_boost" = "xyes"; then AC_MSG_RESULT(yes) succeeded=yes found_system=yes - ],[: + ],[ ]) AC_LANG_POP([C++]) fi diff --git a/build-aux/m4/ax_boost_program_options.m4 b/build-aux/m4/ax_boost_program_options.m4 index f59144185..2bdb59371 100644 --- a/build-aux/m4/ax_boost_program_options.m4 +++ b/build-aux/m4/ax_boost_program_options.m4 @@ -29,7 +29,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 22 +#serial 24 AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], [ @@ -63,9 +63,9 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], AC_CACHE_CHECK([whether the Boost::Program_Options library is available], ax_cv_boost_program_options, [AC_LANG_PUSH(C++) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], - [[boost::program_options::options_description generic("Generic options"); + [[boost::program_options::error err("Error message"); return 0;]])], ax_cv_boost_program_options=yes, ax_cv_boost_program_options=no) AC_LANG_POP([C++]) @@ -74,7 +74,6 @@ AC_DEFUN([AX_BOOST_PROGRAM_OPTIONS], AC_DEFINE(HAVE_BOOST_PROGRAM_OPTIONS,,[define if the Boost::PROGRAM_OPTIONS library is available]) BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` if test "x$ax_boost_user_program_options_lib" = "x"; then - ax_lib= for libextension in `ls $BOOSTLIBDIR/libboost_program_options*.so* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.so.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.dylib* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.dylib.*$;\1;'` `ls $BOOSTLIBDIR/libboost_program_options*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^lib\(boost_program_options.*\)\.a.*$;\1;'` ; do ax_lib=${libextension} AC_CHECK_LIB($ax_lib, exit, diff --git a/build-aux/m4/ax_boost_system.m4 b/build-aux/m4/ax_boost_system.m4 index 9c78280fc..1c05450cb 100644 --- a/build-aux/m4/ax_boost_system.m4 +++ b/build-aux/m4/ax_boost_system.m4 @@ -31,7 +31,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 17 +#serial 18 AC_DEFUN([AX_BOOST_SYSTEM], [ @@ -68,9 +68,10 @@ AC_DEFUN([AX_BOOST_SYSTEM], ax_cv_boost_system, [AC_LANG_PUSH([C++]) CXXFLAGS_SAVE=$CXXFLAGS + CXXFLAGS= AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], - [[boost::system::system_category]])], + [[boost::system::error_category *a = 0;]])], ax_cv_boost_system=yes, ax_cv_boost_system=no) CXXFLAGS=$CXXFLAGS_SAVE AC_LANG_POP([C++]) diff --git a/build-aux/m4/ax_check_compile_flag.m4 b/build-aux/m4/ax_check_compile_flag.m4 index c3a8d695a..ca3639715 100644 --- a/build-aux/m4/ax_check_compile_flag.m4 +++ b/build-aux/m4/ax_check_compile_flag.m4 @@ -4,7 +4,7 @@ # # SYNOPSIS # -# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) # # DESCRIPTION # @@ -19,6 +19,8 @@ # the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to # force the compiler to issue an error when a bad flag is given. # +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this # macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. # @@ -53,19 +55,19 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 2 +#serial 4 AC_DEFUN([AX_CHECK_COMPILE_FLAG], -[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], [AS_VAR_SET(CACHEVAR,[yes])], [AS_VAR_SET(CACHEVAR,[no])]) _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], +AS_VAR_IF(CACHEVAR,yes, [m4_default([$2], :)], [m4_default([$3], :)]) AS_VAR_POPDEF([CACHEVAR])dnl diff --git a/build-aux/m4/ax_check_link_flag.m4 b/build-aux/m4/ax_check_link_flag.m4 index e2d0d363e..eb01a6ce1 100644 --- a/build-aux/m4/ax_check_link_flag.m4 +++ b/build-aux/m4/ax_check_link_flag.m4 @@ -4,7 +4,7 @@ # # SYNOPSIS # -# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) # # DESCRIPTION # @@ -19,6 +19,8 @@ # EXTRA-FLAGS FLAG". This can for example be used to force the linker to # issue an error when a bad flag is given. # +# INPUT gives an alternative input source to AC_LINK_IFELSE. +# # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this # macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG. # @@ -53,18 +55,19 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 2 +#serial 4 AC_DEFUN([AX_CHECK_LINK_FLAG], -[AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [ ax_check_save_flags=$LDFLAGS LDFLAGS="$LDFLAGS $4 $1" - AC_LINK_IFELSE([AC_LANG_PROGRAM()], + AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], [AS_VAR_SET(CACHEVAR,[yes])], [AS_VAR_SET(CACHEVAR,[no])]) LDFLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], +AS_VAR_IF(CACHEVAR,yes, [m4_default([$2], :)], [m4_default([$3], :)]) AS_VAR_POPDEF([CACHEVAR])dnl diff --git a/build-aux/m4/ax_check_preproc_flag.m4 b/build-aux/m4/ax_check_preproc_flag.m4 index b1cfef6b8..ca1d5ee2b 100644 --- a/build-aux/m4/ax_check_preproc_flag.m4 +++ b/build-aux/m4/ax_check_preproc_flag.m4 @@ -4,7 +4,7 @@ # # SYNOPSIS # -# AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS]) +# AX_CHECK_PREPROC_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) # # DESCRIPTION # @@ -19,6 +19,8 @@ # "CPPFLAGS EXTRA-FLAGS FLAG". This can for example be used to force the # preprocessor to issue an error when a bad flag is given. # +# INPUT gives an alternative input source to AC_PREPROC_IFELSE. +# # NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this # macro in sync with AX_CHECK_{COMPILE,LINK}_FLAG. # @@ -53,19 +55,19 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 2 +#serial 4 AC_DEFUN([AX_CHECK_PREPROC_FLAG], -[AC_PREREQ(2.59)dnl for _AC_LANG_PREFIX +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]cppflags_$4_$1])dnl AC_CACHE_CHECK([whether _AC_LANG preprocessor accepts $1], CACHEVAR, [ ax_check_save_flags=$CPPFLAGS CPPFLAGS="$CPPFLAGS $4 $1" - AC_PREPROC_IFELSE([AC_LANG_PROGRAM()], + AC_PREPROC_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], [AS_VAR_SET(CACHEVAR,[yes])], [AS_VAR_SET(CACHEVAR,[no])]) CPPFLAGS=$ax_check_save_flags]) -AS_IF([test x"AS_VAR_GET(CACHEVAR)" = xyes], +AS_VAR_IF(CACHEVAR,yes, [m4_default([$2], :)], [m4_default([$3], :)]) AS_VAR_POPDEF([CACHEVAR])dnl diff --git a/build-aux/m4/ax_cxx_compile_stdcxx.m4 b/build-aux/m4/ax_cxx_compile_stdcxx.m4 index 2c18e49c5..3d45bae9d 100644 --- a/build-aux/m4/ax_cxx_compile_stdcxx.m4 +++ b/build-aux/m4/ax_cxx_compile_stdcxx.m4 @@ -57,8 +57,13 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], [$3], [optional], [ax_cxx_compile_cxx$1_required=false], [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) + m4_if([$4], [], [ax_cxx_compile_cxx$1_try_default=true], + [$4], [default], [ax_cxx_compile_cxx$1_try_default=true], + [$4], [nodefault], [ax_cxx_compile_cxx$1_try_default=false], + [m4_fatal([invalid fourth argument `$4' to AX_CXX_COMPILE_STDCXX])]) AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$4], [nodefault], [], [dnl AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, ax_cv_cxx_compile_cxx$1, [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], @@ -66,7 +71,7 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl [ax_cv_cxx_compile_cxx$1=no])]) if test x$ax_cv_cxx_compile_cxx$1 = xyes; then ac_success=yes - fi + fi]) m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then diff --git a/build-aux/m4/ax_gcc_func_attribute.m4 b/build-aux/m4/ax_gcc_func_attribute.m4 index 275ca63a2..c788ca9bd 100644 --- a/build-aux/m4/ax_gcc_func_attribute.m4 +++ b/build-aux/m4/ax_gcc_func_attribute.m4 @@ -31,6 +31,7 @@ # cold # const # constructor +# constructor_priority for constructor attribute with priority # deprecated # destructor # dllexport @@ -73,7 +74,7 @@ # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 2 +#serial 3 AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ AS_VAR_PUSHDEF([ac_var], [ax_cv_have_func_attribute_$1]) @@ -103,6 +104,9 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [const], [ int foo( void ) __attribute__(($1)); ], + [constructor_priority], [ + int foo( void ) __attribute__((__constructor__(65535/2))); + ], [constructor], [ int foo( void ) __attribute__(($1)); ], @@ -180,6 +184,8 @@ AC_DEFUN([AX_GCC_FUNC_ATTRIBUTE], [ [visibility], [ int foo_def( void ) __attribute__(($1("default"))); int foo_hid( void ) __attribute__(($1("hidden"))); + int foo_int( void ) __attribute__(($1("internal"))); + int foo_pro( void ) __attribute__(($1("protected"))); ], [warning], [ int foo( void ) __attribute__(($1(""))); diff --git a/build-aux/m4/ax_pthread.m4 b/build-aux/m4/ax_pthread.m4 index d383ad5c6..4c4051ea3 100644 --- a/build-aux/m4/ax_pthread.m4 +++ b/build-aux/m4/ax_pthread.m4 @@ -19,10 +19,10 @@ # is necessary on AIX to use the special cc_r compiler alias.) # # NOTE: You are assumed to not only compile your program with these flags, -# but also link it with them as well. e.g. you should link with +# but also to link with them as well. For example, you might link with # $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS # -# If you are only building threads programs, you may wish to use these +# If you are only building threaded programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # # LIBS="$PTHREAD_LIBS $LIBS" @@ -30,8 +30,8 @@ # CC="$PTHREAD_CC" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # # Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the # PTHREAD_PRIO_INHERIT symbol is defined when compiling with @@ -82,35 +82,40 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 21 +#serial 23 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) AC_LANG_PUSH([C]) ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). +# requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC([pthread_join], [ax_pthread_ok=yes]) + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) AC_MSG_RESULT([$ax_pthread_ok]) - if test x"$ax_pthread_ok" = xno; then + if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different @@ -123,7 +128,7 @@ fi # which indicates that we try without any flags at all, and "pthread-config" # which is a program returning the flags for the Pth emulation library. -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: @@ -132,82 +137,225 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) -case ${host_os} in +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). + + ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags" + ;; +esac + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"]) + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" ;; - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" ;; esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + +# Are we compiling with Clang? + +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + +ax_pthread_clang_warning=no + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + PTHREAD_CFLAGS="-pthread" + PTHREAD_LIBS= + + ax_pthread_ok=yes + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) -# Clang doesn't consider unrecognized options an error unless we specify -# -Werror. We throw in some extra Clang-specific options to ensure that -# this doesn't happen for GCC, which also accepts -Werror. + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac -AC_MSG_CHECKING([if compiler needs -Werror to reject unknown flags]) -save_CFLAGS="$CFLAGS" -ax_pthread_extra_flags="-Werror" -CFLAGS="$CFLAGS $ax_pthread_extra_flags -Wunknown-warning-option -Wsizeof-array-argument" -AC_COMPILE_IFELSE([AC_LANG_PROGRAM([int foo(void);],[foo()])], - [AC_MSG_RESULT([yes])], - [ax_pthread_extra_flags= - AC_MSG_RESULT([no])]) -CFLAGS="$save_CFLAGS" +fi # $ax_pthread_clang = yes -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do - case $flag in + case $ax_pthread_try_flag in none) AC_MSG_CHECKING([whether pthreads work without any flags]) ;; + -mt,pthread) + AC_MSG_CHECKING([whether pthreads work with -mt -lpthread]) + PTHREAD_CFLAGS="-mt" + PTHREAD_LIBS="-lpthread" + ;; + -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) - if test x"$ax_pthread_config" = xno; then continue; fi + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $PTHREAD_CFLAGS" LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS $ax_pthread_extra_flags" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we @@ -218,7 +366,11 @@ for flag in $ax_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif static void routine(void *a) { a = 0; } static void *start_routine(void *a) { return a; }], [pthread_t th; pthread_attr_t attr; @@ -227,16 +379,14 @@ for flag in $ax_pthread_flags; do pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) + [ax_pthread_ok=yes], + []) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" AC_MSG_RESULT([$ax_pthread_ok]) - if test "x$ax_pthread_ok" = xyes; then - break; - fi + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) PTHREAD_LIBS="" PTHREAD_CFLAGS="" @@ -244,71 +394,74 @@ done fi # Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT([$attr_name]) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], [$attr_name], - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - # TODO: What about Clang on Solaris? - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT([$flag]) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) + + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - [ax_cv_PTHREAD_PRIO_INHERIT], [ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], - [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])]) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" # More AIX lossage: compile with *_r variant - if test "x$GCC" != xyes; then + if test "x$GCC" != "xyes"; then case $host_os in aix*) AS_CASE(["x/$CC"], - [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], - [#handle absolute path differently from PATH based program lookup - AS_CASE(["x$CC"], - [x/*], - [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], - [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])], + [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])]) ;; esac fi @@ -321,7 +474,7 @@ AC_SUBST([PTHREAD_CFLAGS]) AC_SUBST([PTHREAD_CC]) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then +if test "x$ax_pthread_ok" = "xyes"; then ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) : else diff --git a/build-aux/m4/bitcoin_find_bdb48.m4 b/build-aux/m4/bitcoin_find_bdb48.m4 index f3b14461e..ea9c795da 100644 --- a/build-aux/m4/bitcoin_find_bdb48.m4 +++ b/build-aux/m4/bitcoin_find_bdb48.m4 @@ -1,66 +1,78 @@ +dnl Copyright (c) 2013-2015 The Bitcoin Core developers +dnl Distributed under the MIT software license, see the accompanying +dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. + AC_DEFUN([BITCOIN_FIND_BDB48],[ - AC_MSG_CHECKING([for Berkeley DB C++ headers]) - BDB_CPPFLAGS= - BDB_LIBS= - bdbpath=X - bdb48path=X - bdbdirlist= - for _vn in 4.8 48 4 5 ''; do - for _pfx in b lib ''; do - bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" + AC_ARG_VAR(BDB_CFLAGS, [C compiler flags for BerkeleyDB, bypasses autodetection]) + AC_ARG_VAR(BDB_LIBS, [Linker flags for BerkeleyDB, bypasses autodetection]) + + if test "x$BDB_CFLAGS" = "x"; then + AC_MSG_CHECKING([for Berkeley DB C++ headers]) + BDB_CPPFLAGS= + bdbpath=X + bdb48path=X + bdbdirlist= + for _vn in 4.8 48 4 5 5.3 ''; do + for _pfx in b lib ''; do + bdbdirlist="$bdbdirlist ${_pfx}db${_vn}" + done done - done - for searchpath in $bdbdirlist ''; do - test -n "${searchpath}" && searchpath="${searchpath}/" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include <${searchpath}db_cxx.h> - ]],[[ - #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4) - #error "failed to find bdb 4.8+" - #endif - ]])],[ - if test "x$bdbpath" = "xX"; then - bdbpath="${searchpath}" - fi - ],[ - continue - ]) - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ - #include <${searchpath}db_cxx.h> - ]],[[ - #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8) - #error "failed to find bdb 4.8" - #endif - ]])],[ - bdb48path="${searchpath}" - break - ],[]) - done - if test "x$bdbpath" = "xX"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR(libdb_cxx headers missing) - elif test "x$bdb48path" = "xX"; then - BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) - AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ - AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!]) - ],[ - AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) - ]) + for searchpath in $bdbdirlist ''; do + test -n "${searchpath}" && searchpath="${searchpath}/" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ + #if !((DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR >= 8) || DB_VERSION_MAJOR > 4) + #error "failed to find bdb 4.8+" + #endif + ]])],[ + if test "x$bdbpath" = "xX"; then + bdbpath="${searchpath}" + fi + ],[ + continue + ]) + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include <${searchpath}db_cxx.h> + ]],[[ + #if !(DB_VERSION_MAJOR == 4 && DB_VERSION_MINOR == 8) + #error "failed to find bdb 4.8" + #endif + ]])],[ + bdb48path="${searchpath}" + break + ],[]) + done + if test "x$bdbpath" = "xX"; then + AC_MSG_RESULT([no]) + AC_MSG_ERROR([libdb_cxx headers missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + elif test "x$bdb48path" = "xX"; then + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdbpath}],db_cxx) + AC_ARG_WITH([incompatible-bdb],[AS_HELP_STRING([--with-incompatible-bdb], [allow using a bdb version other than 4.8])],[ + AC_MSG_WARN([Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!]) + ],[ + AC_MSG_ERROR([Found Berkeley DB other than 4.8, required for portable wallets (--with-incompatible-bdb to ignore or --disable-wallet to disable wallet functionality)]) + ]) + else + BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx) + bdbpath="${bdb48path}" + fi else - BITCOIN_SUBDIR_TO_INCLUDE(BDB_CPPFLAGS,[${bdb48path}],db_cxx) - bdbpath="${bdb48path}" + BDB_CPPFLAGS=${BDB_CFLAGS} fi AC_SUBST(BDB_CPPFLAGS) - # TODO: Ideally this could find the library version and make sure it matches the headers being used - for searchlib in db_cxx-4.8 db_cxx; do - AC_CHECK_LIB([$searchlib],[main],[ - BDB_LIBS="-l${searchlib}" - break - ]) - done if test "x$BDB_LIBS" = "x"; then - AC_MSG_ERROR([libdb_cxx missing, Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + # TODO: Ideally this could find the library version and make sure it matches the headers being used + for searchlib in db_cxx-4.8 db_cxx db4_cxx; do + AC_CHECK_LIB([$searchlib],[main],[ + BDB_LIBS="-l${searchlib}" + break + ]) + done + if test "x$BDB_LIBS" = "x"; then + AC_MSG_ERROR([libdb_cxx missing, ]AC_PACKAGE_NAME[ requires this library for wallet functionality (--disable-wallet to disable wallet functionality)]) + fi fi AC_SUBST(BDB_LIBS) ]) diff --git a/build-aux/m4/bitcoin_qt.m4 b/build-aux/m4/bitcoin_qt.m4 index 2a7226265..ac697dc2e 100644 --- a/build-aux/m4/bitcoin_qt.m4 +++ b/build-aux/m4/bitcoin_qt.m4 @@ -1,18 +1,23 @@ +dnl Copyright (c) 2013-2016 The Bitcoin Core developers +dnl Distributed under the MIT software license, see the accompanying +dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. + dnl Helper for cases where a qt dependency is not met. dnl Output: If qt version is auto, set bitcoin_enable_qt to false. Else, exit. AC_DEFUN([BITCOIN_QT_FAIL],[ - if test "x$bitcoin_qt_want_version" = "xauto" && test x$bitcoin_qt_force != xyes; then - if test x$bitcoin_enable_qt != xno; then - AC_MSG_WARN([$1; bitcoin-qt frontend will not be built]) + if test "x$bitcoin_qt_want_version" = xauto && test "x$bitcoin_qt_force" != xyes; then + if test "x$bitcoin_enable_qt" != xno; then + AC_MSG_WARN([$1; pivx-qt frontend will not be built]) fi bitcoin_enable_qt=no + bitcoin_enable_qt_test=no else AC_MSG_ERROR([$1]) fi ]) AC_DEFUN([BITCOIN_QT_CHECK],[ - if test "x$bitcoin_enable_qt" != "xno" && test x$bitcoin_qt_want_version != xno; then + if test "x$bitcoin_enable_qt" != xno && test "x$bitcoin_qt_want_version" != xno; then true $1 else @@ -30,12 +35,12 @@ dnl Inputs: $4: If "yes", don't fail if $2 is not found. dnl Output: $1 is set to the path of $2 if found. $2 are searched in order. AC_DEFUN([BITCOIN_QT_PATH_PROGS],[ BITCOIN_QT_CHECK([ - if test "x$3" != "x"; then + if test "x$3" != x; then AC_PATH_PROGS($1,$2,,$3) else AC_PATH_PROGS($1,$2) fi - if test "x$$1" = "x" && test "x$4" != "xyes"; then + if test "x$$1" = x && test "x$4" != xyes; then BITCOIN_QT_FAIL([$1 not found]) fi ]) @@ -49,10 +54,10 @@ AC_DEFUN([BITCOIN_QT_INIT],[ dnl enable qt support AC_ARG_WITH([gui], [AS_HELP_STRING([--with-gui@<:@=no|qt4|qt5|auto@:>@], - [build bitcoin-qt GUI (default=auto, qt4 tried first)])], + [build pivx-qt GUI (default=auto, qt5 tried first)])], [ bitcoin_qt_want_version=$withval - if test x$bitcoin_qt_want_version = xyes; then + if test "x$bitcoin_qt_want_version" = xyes; then bitcoin_qt_force=yes bitcoin_qt_want_version=auto fi @@ -84,11 +89,11 @@ dnl Outputs: bitcoin_enable_qt, bitcoin_enable_qt_dbus, bitcoin_enable_qt_test AC_DEFUN([BITCOIN_QT_CONFIGURE],[ use_pkgconfig=$1 - if test x$use_pkgconfig = x; then + if test "x$use_pkgconfig" = x; then use_pkgconfig=yes fi - if test x$use_pkgconfig = xyes; then + if test "x$use_pkgconfig" = xyes; then BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG([$2])]) else BITCOIN_QT_CHECK([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG]) @@ -105,42 +110,50 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ dnl results to QT_LIBS. BITCOIN_QT_CHECK([ TEMP_CPPFLAGS=$CPPFLAGS - CPPFLAGS=$QT_INCLUDES - if test x$bitcoin_qt_got_major_vers = x5; then + TEMP_CXXFLAGS=$CXXFLAGS + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + CXXFLAGS="$PIC_FLAGS $CXXFLAGS" + if test "x$bitcoin_qt_got_major_vers" = x5; then + TEMP_CPPFLAGS="$TEMP_CPPFLAGS -DHAVE_QT5" _BITCOIN_QT_IS_STATIC - if test x$bitcoin_cv_static_qt = xyes; then + if test "x$bitcoin_cv_static_qt" = xyes; then + _BITCOIN_QT_FIND_STATIC_PLUGINS AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) - if test x$qt_plugin_path != x; then - QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" - QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms" - fi - if test x$use_pkgconfig = xyes; then - PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"]) + AC_CACHE_CHECK(for Qt < 5.4, bitcoin_cv_need_acc_widget,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], + [[ + #if QT_VERSION >= 0x050400 + choke + #endif + ]])], + [bitcoin_cv_need_acc_widget=yes], + [bitcoin_cv_need_acc_widget=no]) + ]) + if test "x$bitcoin_cv_need_acc_widget" = xyes; then + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) fi - _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(AccessibleFactory)], [-lqtaccessiblewidgets]) - if test x$TARGET_OS = xwindows; then + _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QMinimalIntegrationPlugin)],[-lqminimal]) + AC_DEFINE(QT_QPA_PLATFORM_MINIMAL, 1, [Define this symbol if the minimal qt platform exists]) + if test "x$TARGET_OS" = xwindows; then _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)],[-lqwindows]) AC_DEFINE(QT_QPA_PLATFORM_WINDOWS, 1, [Define this symbol if the qt platform is windows]) - elif test x$TARGET_OS = xlinux; then - PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"]) + elif test "x$TARGET_OS" = xlinux; then _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)],[-lqxcb -lxcb-static]) AC_DEFINE(QT_QPA_PLATFORM_XCB, 1, [Define this symbol if the qt platform is xcb]) - elif test x$TARGET_OS = xdarwin; then - if test x$use_pkgconfig = xyes; then - PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"]) - fi + elif test "x$TARGET_OS" = xdarwin; then AX_CHECK_LINK_FLAG([[-framework IOKit]],[QT_LIBS="$QT_LIBS -framework IOKit"],[AC_MSG_ERROR(could not iokit framework)]) _BITCOIN_QT_CHECK_STATIC_PLUGINS([Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)],[-lqcocoa]) AC_DEFINE(QT_QPA_PLATFORM_COCOA, 1, [Define this symbol if the qt platform is cocoa]) fi fi else - if test x$TARGET_OS = xwindows; then + if test "x$TARGET_OS" = xwindows; then AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol if qt plugins are static]) - if test x$qt_plugin_path != x; then - QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" - QT_LIBS="$QT_LIBS -L$qt_plugin_path/codecs" - fi _BITCOIN_QT_CHECK_STATIC_PLUGINS([ Q_IMPORT_PLUGIN(qcncodecs) Q_IMPORT_PLUGIN(qjpcodecs) @@ -151,14 +164,62 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ fi fi CPPFLAGS=$TEMP_CPPFLAGS + CXXFLAGS=$TEMP_CXXFLAGS ]) - if test x$use_pkgconfig$qt_bin_path = xyes; then - if test x$bitcoin_qt_got_major_vers = x5; then + if test "x$use_pkgconfig$qt_bin_path" = xyes; then + if test "x$bitcoin_qt_got_major_vers" = x5; then qt_bin_path="`$PKG_CONFIG --variable=host_bins Qt5Core 2>/dev/null`" fi fi + if test "x$use_hardening" != xno; then + BITCOIN_QT_CHECK([ + AC_MSG_CHECKING(whether -fPIE can be used with this Qt config) + TEMP_CPPFLAGS=$CPPFLAGS + TEMP_CXXFLAGS=$CXXFLAGS + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + CXXFLAGS="$PIE_FLAGS $CXXFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], + [[ + #if defined(QT_REDUCE_RELOCATIONS) + choke + #endif + ]])], + [ AC_MSG_RESULT(yes); QT_PIE_FLAGS=$PIE_FLAGS ], + [ AC_MSG_RESULT(no); QT_PIE_FLAGS=$PIC_FLAGS] + ) + CPPFLAGS=$TEMP_CPPFLAGS + CXXFLAGS=$TEMP_CXXFLAGS + ]) + else + BITCOIN_QT_CHECK([ + AC_MSG_CHECKING(whether -fPIC is needed with this Qt config) + TEMP_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$QT_INCLUDES $CPPFLAGS" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], + [[ + #if defined(QT_REDUCE_RELOCATIONS) + choke + #endif + ]])], + [ AC_MSG_RESULT(no)], + [ AC_MSG_RESULT(yes); QT_PIE_FLAGS=$PIC_FLAGS] + ) + CPPFLAGS=$TEMP_CPPFLAGS + ]) + fi + BITCOIN_QT_PATH_PROGS([MOC], [moc-qt${bitcoin_qt_got_major_vers} moc${bitcoin_qt_got_major_vers} moc], $qt_bin_path) BITCOIN_QT_PATH_PROGS([UIC], [uic-qt${bitcoin_qt_got_major_vers} uic${bitcoin_qt_got_major_vers} uic], $qt_bin_path) BITCOIN_QT_PATH_PROGS([RCC], [rcc-qt${bitcoin_qt_got_major_vers} rcc${bitcoin_qt_got_major_vers} rcc], $qt_bin_path) @@ -182,28 +243,29 @@ AC_DEFUN([BITCOIN_QT_CONFIGURE],[ dnl enable qt support - AC_MSG_CHECKING(whether to build Bitcoin Core GUI) + AC_MSG_CHECKING(whether to build ]AC_PACKAGE_NAME[ GUI) BITCOIN_QT_CHECK([ bitcoin_enable_qt=yes bitcoin_enable_qt_test=yes - if test x$have_qt_test = xno; then + if test "x$have_qt_test" = xno; then bitcoin_enable_qt_test=no fi bitcoin_enable_qt_dbus=no - if test x$use_dbus != xno && test x$have_qt_dbus = xyes; then + if test "x$use_dbus" != xno && test "x$have_qt_dbus" = xyes; then bitcoin_enable_qt_dbus=yes fi - if test x$use_dbus = xyes && test x$have_qt_dbus = xno; then - AC_MSG_ERROR("libQtDBus not found. Install libQtDBus or remove --with-qtdbus.") + if test "x$use_dbus" = xyes && test "x$have_qt_dbus" = xno; then + AC_MSG_ERROR([libQtDBus not found. Install libQtDBus or remove --with-qtdbus.]) fi - if test x$LUPDATE = x; then - AC_MSG_WARN("lupdate is required to update qt translations") + if test "x$LUPDATE" = x; then + AC_MSG_WARN([lupdate is required to update qt translations]) fi ],[ bitcoin_enable_qt=no ]) AC_MSG_RESULT([$bitcoin_enable_qt (Qt${bitcoin_qt_got_major_vers})]) + AC_SUBST(QT_PIE_FLAGS) AC_SUBST(QT_INCLUDES) AC_SUBST(QT_LIBS) AC_SUBST(QT_LDFLAGS) @@ -224,13 +286,15 @@ dnl Requires: INCLUDES must be populated as necessary. dnl Output: bitcoin_cv_qt5=yes|no AC_DEFUN([_BITCOIN_QT_CHECK_QT5],[ AC_CACHE_CHECK(for Qt 5, bitcoin_cv_qt5,[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[#include ]], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], [[ #if QT_VERSION < 0x050000 - choke me - #else - return 0; + choke #endif ]])], [bitcoin_cv_qt5=yes], @@ -244,19 +308,21 @@ dnl Output: bitcoin_cv_static_qt=yes|no dnl Output: Defines QT_STATICPLUGIN if plugins are static. AC_DEFUN([_BITCOIN_QT_IS_STATIC],[ AC_CACHE_CHECK(for static Qt, bitcoin_cv_static_qt,[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM( - [[#include ]], + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], [[ - #if defined(QT_STATIC) - return 0; - #else - choke me + #if !defined(QT_STATIC) + choke #endif ]])], [bitcoin_cv_static_qt=yes], [bitcoin_cv_static_qt=no]) ]) - if test xbitcoin_cv_static_qt = xyes; then + if test "x$bitcoin_cv_static_qt" = xyes; then AC_DEFINE(QT_STATICPLUGIN, 1, [Define this symbol for static Qt plugins]) fi ]) @@ -280,6 +346,61 @@ AC_DEFUN([_BITCOIN_QT_CHECK_STATIC_PLUGINS],[ LIBS="$CHECK_STATIC_PLUGINS_TEMP_LIBS" ]) +dnl Internal. Find paths necessary for linking qt static plugins +dnl Inputs: bitcoin_qt_got_major_vers. 4 or 5. +dnl Inputs: qt_plugin_path. optional. +dnl Outputs: QT_LIBS is appended +AC_DEFUN([_BITCOIN_QT_FIND_STATIC_PLUGINS],[ + if test "x$bitcoin_qt_got_major_vers" = x5; then + if test "x$qt_plugin_path" != x; then + QT_LIBS="$QT_LIBS -L$qt_plugin_path/platforms" + if test -d "$qt_plugin_path/accessible"; then + QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" + fi + fi + if test "x$use_pkgconfig" = xyes; then + : dnl + m4_ifdef([PKG_CHECK_MODULES],[ + PKG_CHECK_MODULES([QTPLATFORM], [Qt5PlatformSupport], [QT_LIBS="$QTPLATFORM_LIBS $QT_LIBS"]) + if test "x$TARGET_OS" = xlinux; then + PKG_CHECK_MODULES([X11XCB], [x11-xcb], [QT_LIBS="$X11XCB_LIBS $QT_LIBS"]) + if ${PKG_CONFIG} --exists "Qt5Core >= 5.5" 2>/dev/null; then + PKG_CHECK_MODULES([QTXCBQPA], [Qt5XcbQpa], [QT_LIBS="$QTXCBQPA_LIBS $QT_LIBS"]) + fi + elif test "x$TARGET_OS" = xdarwin; then + PKG_CHECK_MODULES([QTPRINT], [Qt5PrintSupport], [QT_LIBS="$QTPRINT_LIBS $QT_LIBS"]) + fi + ]) + else + if test "x$TARGET_OS" = xwindows; then + AC_CACHE_CHECK(for Qt >= 5.6, bitcoin_cv_need_platformsupport,[ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ + #include + #ifndef QT_VERSION + # include + #endif + ]], + [[ + #if QT_VERSION < 0x050600 + choke + #endif + ]])], + [bitcoin_cv_need_platformsupport=yes], + [bitcoin_cv_need_platformsupport=no]) + ]) + if test "x$bitcoin_cv_need_platformsupport" = xyes; then + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}PlatformSupport],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}PlatformSupport not found))) + fi + fi + fi + else + if test "x$qt_plugin_path" != x; then + QT_LIBS="$QT_LIBS -L$qt_plugin_path/accessible" + QT_LIBS="$QT_LIBS -L$qt_plugin_path/codecs" + fi + fi +]) + dnl Internal. Find Qt libraries using pkg-config. dnl Inputs: bitcoin_qt_want_version (from --with-gui=). The version to check dnl first. @@ -291,10 +412,10 @@ dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[ m4_ifdef([PKG_CHECK_MODULES],[ auto_priority_version=$1 - if test x$auto_priority_version = x; then + if test "x$auto_priority_version" = x; then auto_priority_version=qt5 fi - if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then + if test "x$bitcoin_qt_want_version" = xqt5 || ( test "x$bitcoin_qt_want_version" = xauto && test "x$auto_priority_version" = xqt5 ); then QT_LIB_PREFIX=Qt5 bitcoin_qt_got_major_vers=5 else @@ -304,28 +425,28 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITH_PKGCONFIG],[ qt5_modules="Qt5Core Qt5Gui Qt5Network Qt5Widgets" qt4_modules="QtCore QtGui QtNetwork" BITCOIN_QT_CHECK([ - if test x$bitcoin_qt_want_version = xqt5 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt5 ); then - PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes],[have_qt=no]) - elif test x$bitcoin_qt_want_version = xqt4 || ( test x$bitcoin_qt_want_version = xauto && test x$auto_priority_version = xqt4 ); then - PKG_CHECK_MODULES([QT], [$qt4_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes], [have_qt=no]) + if test "x$bitcoin_qt_want_version" = xqt5 || ( test "x$bitcoin_qt_want_version" = xauto && test "x$auto_priority_version" = xqt5 ); then + PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" have_qt=yes],[have_qt=no]) + elif test "x$bitcoin_qt_want_version" = xqt4 || ( test "x$bitcoin_qt_want_version" = xauto && test "x$auto_priority_version" = xqt4 ); then + PKG_CHECK_MODULES([QT4], [$qt4_modules], [QT_INCLUDES="$QT4_CFLAGS"; QT_LIBS="$QT4_LIBS" ; have_qt=yes], [have_qt=no]) fi dnl qt version is set to 'auto' and the preferred version wasn't found. Now try the other. - if test x$have_qt = xno && test x$bitcoin_qt_want_version = xauto; then - if test x$auto_priority_version = x$qt5; then - PKG_CHECK_MODULES([QT], [$qt4_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt; bitcoin_qt_got_major_vers=4], [have_qt=no]) + if test "x$have_qt" = xno && test "x$bitcoin_qt_want_version" = xauto; then + if test "x$auto_priority_version" = xqt5; then + PKG_CHECK_MODULES([QT4], [$qt4_modules], [QT_INCLUDES="$QT4_CFLAGS"; QT_LIBS="$QT4_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt; bitcoin_qt_got_major_vers=4], [have_qt=no]) else - PKG_CHECK_MODULES([QT], [$qt5_modules], [QT_INCLUDES="$QT_CFLAGS"; have_qt=yes; QT_LIB_PREFIX=Qt5; bitcoin_qt_got_major_vers=5], [have_qt=no]) + PKG_CHECK_MODULES([QT5], [$qt5_modules], [QT_INCLUDES="$QT5_CFLAGS"; QT_LIBS="$QT5_LIBS" ; have_qt=yes; QT_LIB_PREFIX=Qt5; bitcoin_qt_got_major_vers=5], [have_qt=no]) fi fi - if test x$have_qt != xyes; then + if test "x$have_qt" != xyes; then have_qt=no BITCOIN_QT_FAIL([Qt dependencies not found]) fi ]) BITCOIN_QT_CHECK([ PKG_CHECK_MODULES([QT_TEST], [${QT_LIB_PREFIX}Test], [QT_TEST_INCLUDES="$QT_TEST_CFLAGS"; have_qt_test=yes], [have_qt_test=no]) - if test x$use_dbus != xno; then + if test "x$use_dbus" != xno; then PKG_CHECK_MODULES([QT_DBUS], [${QT_LIB_PREFIX}DBus], [QT_DBUS_INCLUDES="$QT_DBUS_CFLAGS"; have_qt_dbus=yes], [have_qt_dbus=no]) fi ]) @@ -342,9 +463,11 @@ dnl Outputs: bitcoin_qt_got_major_vers is set to "4" or "5". dnl Outputs: have_qt_test and have_qt_dbus are set (if applicable) to yes|no. AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ TEMP_CPPFLAGS="$CPPFLAGS" + TEMP_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$PIC_FLAGS $CXXFLAGS" TEMP_LIBS="$LIBS" BITCOIN_QT_CHECK([ - if test x$qt_include_path != x; then + if test "x$qt_include_path" != x; then QT_INCLUDES="-I$qt_include_path -I$qt_include_path/QtCore -I$qt_include_path/QtGui -I$qt_include_path/QtWidgets -I$qt_include_path/QtNetwork -I$qt_include_path/QtTest -I$qt_include_path/QtDBus" CPPFLAGS="$QT_INCLUDES $CPPFLAGS" fi @@ -355,10 +478,10 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ BITCOIN_QT_CHECK([AC_CHECK_HEADER([QLocalSocket],, BITCOIN_QT_FAIL(QtNetwork headers missing))]) BITCOIN_QT_CHECK([ - if test x$bitcoin_qt_want_version = xauto; then + if test "x$bitcoin_qt_want_version" = xauto; then _BITCOIN_QT_CHECK_QT5 fi - if test x$bitcoin_cv_qt5 = xyes || test x$bitcoin_qt_want_version = xqt5; then + if test "x$bitcoin_cv_qt5" = xyes || test "x$bitcoin_qt_want_version" = xqt5; then QT_LIB_PREFIX=Qt5 bitcoin_qt_got_major_vers=5 else @@ -369,39 +492,40 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ BITCOIN_QT_CHECK([ LIBS= - if test x$qt_lib_path != x; then + if test "x$qt_lib_path" != x; then LIBS="$LIBS -L$qt_lib_path" fi - if test x$TARGET_OS = xwindows; then + if test "x$TARGET_OS" = xwindows; then AC_CHECK_LIB([imm32], [main],, BITCOIN_QT_FAIL(libimm32 not found)) fi ]) BITCOIN_QT_CHECK(AC_CHECK_LIB([z] ,[main],,AC_MSG_WARN([zlib not found. Assuming qt has it built-in]))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([png] ,[main],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in]))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([jpeg] ,[main],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in]))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([pcre16] ,[main],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in]))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXCore not found))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXGui not found))) - BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXNetwork not found))) - if test x$bitcoin_qt_got_major_vers = x5; then - BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib$QT_LIB_PREFIXWidgets not found))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([png_error] ,[qtpng png],,AC_MSG_WARN([libpng not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([jpeg_create_decompress] ,[qtjpeg jpeg],,AC_MSG_WARN([libjpeg not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([pcre16_exec], [qtpcre pcre16],,AC_MSG_WARN([libpcre16 not found. Assuming qt has it built-in]))) + BITCOIN_QT_CHECK(AC_SEARCH_LIBS([hb_ot_tags_from_script] ,[qtharfbuzzng harfbuzz],,AC_MSG_WARN([libharfbuzz not found. Assuming qt has it built-in or support is disabled]))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Core] ,[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Core not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Gui] ,[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Gui not found))) + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Network],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Network not found))) + if test "x$bitcoin_qt_got_major_vers" = x5; then + BITCOIN_QT_CHECK(AC_CHECK_LIB([${QT_LIB_PREFIX}Widgets],[main],,BITCOIN_QT_FAIL(lib${QT_LIB_PREFIX}Widgets not found))) fi QT_LIBS="$LIBS" LIBS="$TEMP_LIBS" BITCOIN_QT_CHECK([ LIBS= - if test x$qt_lib_path != x; then + if test "x$qt_lib_path" != x; then LIBS="-L$qt_lib_path" fi AC_CHECK_LIB([${QT_LIB_PREFIX}Test], [main],, have_qt_test=no) AC_CHECK_HEADER([QTest],, have_qt_test=no) QT_TEST_LIBS="$LIBS" - if test x$use_dbus != xno; then + if test "x$use_dbus" != xno; then LIBS= - if test x$qt_lib_path != x; then + if test "x$qt_lib_path" != x; then LIBS="-L$qt_lib_path" fi AC_CHECK_LIB([${QT_LIB_PREFIX}DBus], [main],, have_qt_dbus=no) @@ -410,6 +534,7 @@ AC_DEFUN([_BITCOIN_QT_FIND_LIBS_WITHOUT_PKGCONFIG],[ fi ]) CPPFLAGS="$TEMP_CPPFLAGS" + CXXFLAGS="$TEMP_CXXFLAGS" LIBS="$TEMP_LIBS" ]) diff --git a/build-aux/m4/bitcoin_subdir_to_include.m4 b/build-aux/m4/bitcoin_subdir_to_include.m4 index 66f106c7d..7841042ac 100644 --- a/build-aux/m4/bitcoin_subdir_to_include.m4 +++ b/build-aux/m4/bitcoin_subdir_to_include.m4 @@ -1,3 +1,7 @@ +dnl Copyright (c) 2013-2014 The Bitcoin Core developers +dnl Distributed under the MIT software license, see the accompanying +dnl file COPYING or http://www.opensource.org/licenses/mit-license.php. + dnl BITCOIN_SUBDIR_TO_INCLUDE([CPPFLAGS-VARIABLE-NAME],[SUBDIRECTORY-NAME],[HEADER-FILE]) dnl SUBDIRECTORY-NAME must end with a path separator AC_DEFUN([BITCOIN_SUBDIR_TO_INCLUDE],[ diff --git a/build-aux/m4/l_atomic.m4 b/build-aux/m4/l_atomic.m4 new file mode 100644 index 000000000..75c43f9a9 --- /dev/null +++ b/build-aux/m4/l_atomic.m4 @@ -0,0 +1,46 @@ +dnl Copyright (c) 2015 Tim Kosse +dnl Copying and distribution of this file, with or without modification, are +dnl permitted in any medium without royalty provided the copyright notice +dnl and this notice are preserved. This file is offered as-is, without any +dnl warranty. + +# Some versions of gcc/libstdc++ require linking with -latomic if +# using the C++ atomic library. +# +# Sourced from http://bugs.debian.org/797228 + +m4_define([_CHECK_ATOMIC_testbody], [[ + #include + #include + + int main() { + std::atomic a{}; + + int64_t v = 5; + int64_t r = a.fetch_add(v); + return static_cast(r); + } +]]) + +AC_DEFUN([CHECK_ATOMIC], [ + + AC_LANG_PUSH(C++) + + AC_MSG_CHECKING([whether std::atomic can be used without link library]) + + AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[ + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + LIBS="$LIBS -latomic" + AC_MSG_CHECKING([whether std::atomic needs -latomic]) + AC_LINK_IFELSE([AC_LANG_SOURCE([_CHECK_ATOMIC_testbody])],[ + AC_MSG_RESULT([yes]) + ],[ + AC_MSG_RESULT([no]) + AC_MSG_FAILURE([cannot figure out how to use std::atomic]) + ]) + ]) + + AC_LANG_POP +]) diff --git a/depends/.gitignore b/depends/.gitignore index 82c48638b..3cb4b9ac1 100644 --- a/depends/.gitignore +++ b/depends/.gitignore @@ -3,3 +3,8 @@ work/ built/ sources/ config.site +x86_64* +i686* +mips* +arm* +aarch64* diff --git a/depends/Makefile b/depends/Makefile new file mode 100644 index 000000000..0ddd348e5 --- /dev/null +++ b/depends/Makefile @@ -0,0 +1,182 @@ +.NOTPARALLEL : + +SOURCES_PATH ?= $(BASEDIR)/sources +BASE_CACHE ?= $(BASEDIR)/built +SDK_PATH ?= $(BASEDIR)/SDKs +NO_QT ?= +NO_WALLET ?= +NO_UPNP ?= +FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources + +BUILD = $(shell ./config.guess) +HOST ?= $(BUILD) +PATCHES_PATH = $(BASEDIR)/patches +BASEDIR = $(CURDIR) +HASH_LENGTH:=11 +DOWNLOAD_CONNECT_TIMEOUT:=10 +DOWNLOAD_RETRIES:=3 +HOST_ID_SALT ?= salt +BUILD_ID_SALT ?= salt + +host:=$(BUILD) +ifneq ($(HOST),) +host:=$(HOST) +host_toolchain:=$(HOST)- +endif + +ifneq ($(DEBUG),) +release_type=debug +else +release_type=release +endif + +base_build_dir=$(BASEDIR)/work/build +base_staging_dir=$(BASEDIR)/work/staging +base_download_dir=$(BASEDIR)/work/download +canonical_host:=$(shell ./config.sub $(HOST)) +build:=$(shell ./config.sub $(BUILD)) + +build_arch =$(firstword $(subst -, ,$(build))) +build_vendor=$(word 2,$(subst -, ,$(build))) +full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build)) +build_os:=$(findstring linux,$(full_build_os)) +build_os+=$(findstring darwin,$(full_build_os)) +build_os:=$(strip $(build_os)) +ifeq ($(build_os),) +build_os=$(full_build_os) +endif + +host_arch=$(firstword $(subst -, ,$(canonical_host))) +host_vendor=$(word 2,$(subst -, ,$(canonical_host))) +full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host)) +host_os:=$(findstring linux,$(full_host_os)) +host_os+=$(findstring darwin,$(full_host_os)) +host_os+=$(findstring mingw32,$(full_host_os)) +host_os:=$(strip $(host_os)) +ifeq ($(host_os),) +host_os=$(full_host_os) +endif + +$(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host) +$(host_arch)_$(host_os)_host=$(host) +host_prefix=$($(host_arch)_$(host_os)_prefix) +build_prefix=$(host_prefix)/native +build_host=$(build) + +AT_$(V):= +AT_:=@ +AT:=$(AT_$(V)) + +all: install + +include hosts/$(host_os).mk +include hosts/default.mk +include builders/$(build_os).mk +include builders/default.mk +include packages/packages.mk + +build_id_string:=$(BUILD_ID_SALT) +build_id_string+=$(shell $(build_CC) --version 2>/dev/null) +build_id_string+=$(shell $(build_AR) --version 2>/dev/null) +build_id_string+=$(shell $(build_CXX) --version 2>/dev/null) +build_id_string+=$(shell $(build_RANLIB) --version 2>/dev/null) +build_id_string+=$(shell $(build_STRIP) --version 2>/dev/null) + +$(host_arch)_$(host_os)_id_string:=$(HOST_ID_SALT) +$(host_arch)_$(host_os)_id_string+=$(shell $(host_CC) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null) +$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null) + +qt_packages_$(NO_QT) = $(qt_packages) $(qt_$(host_os)_packages) $(qt_$(host_arch)_$(host_os)_packages) +wallet_packages_$(NO_WALLET) = $(wallet_packages) +upnp_packages_$(NO_UPNP) = $(upnp_packages) + +packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages) $(qt_packages_) $(wallet_packages_) $(upnp_packages_) +native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages) + +ifneq ($(qt_packages_),) +native_packages += $(qt_native_packages) +endif + +all_packages = $(packages) $(native_packages) + +meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk + +$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain) + +include funcs.mk + +toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin) +final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in) +final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)) +$(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages) + $(AT)rm -rf $(@D) + $(AT)mkdir -p $(@D) + $(AT)echo copying packages: $^ + $(AT)echo to: $(@D) + $(AT)cd $(@D); $(foreach package,$^, tar xf $($(package)_cached); ) + $(AT)touch $@ + +$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id) + $(AT)@mkdir -p $(@D) + $(AT)sed -e 's|@HOST@|$(host)|' \ + -e 's|@CC@|$(toolchain_path)$(host_CC)|' \ + -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \ + -e 's|@AR@|$(toolchain_path)$(host_AR)|' \ + -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \ + -e 's|@NM@|$(toolchain_path)$(host_NM)|' \ + -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \ + -e 's|@build_os@|$(build_os)|' \ + -e 's|@host_os@|$(host_os)|' \ + -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \ + -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \ + -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \ + -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \ + -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \ + -e 's|@no_qt@|$(NO_QT)|' \ + -e 's|@no_wallet@|$(NO_WALLET)|' \ + -e 's|@no_upnp@|$(NO_UPNP)|' \ + -e 's|@debug@|$(DEBUG)|' \ + $< > $@ + $(AT)touch $@ + + +define check_or_remove_cached + mkdir -p $(BASE_CACHE)/$(host)/$(package) && cd $(BASE_CACHE)/$(host)/$(package); \ + $(build_SHA256SUM) -c $($(package)_cached_checksum) >/dev/null 2>/dev/null || \ + ( rm -f $($(package)_cached_checksum); \ + if test -f "$($(package)_cached)"; then echo "Checksum mismatch for $(package). Forcing rebuild.."; rm -f $($(package)_cached_checksum) $($(package)_cached); fi ) +endef + +define check_or_remove_sources + mkdir -p $($(package)_source_dir); cd $($(package)_source_dir); \ + test -f $($(package)_fetched) && ( $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \ + ( echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; \ + rm -f $($(package)_all_sources) $($(1)_fetched))) || true +endef + +check-packages: + @$(foreach package,$(all_packages),$(call check_or_remove_cached,$(package));) +check-sources: + @$(foreach package,$(all_packages),$(call check_or_remove_sources,$(package));) + +$(host_prefix)/share/config.site: check-packages + +check-packages: check-sources + +install: check-packages $(host_prefix)/share/config.site + + +download-one: check-sources $(all_sources) + +download-osx: + @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one +download-linux: + @$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one +download-win: + @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one +download: download-osx download-linux download-win + +.PHONY: install cached download-one download-osx download-linux download-win download check-packages check-sources diff --git a/depends/README.md b/depends/README.md new file mode 100644 index 000000000..99eef1952 --- /dev/null +++ b/depends/README.md @@ -0,0 +1,75 @@ +### Usage + +To build dependencies for the current arch+OS: + + make + +To build for another arch/OS: + + make HOST=host-platform-triplet + +For example: + + make HOST=x86_64-w64-mingw32 -j4 + +A prefix will be generated that's suitable for plugging into Bitcoin's +configure. In the above example, a dir named x86_64-w64-mingw32 will be +created. To use it for Bitcoin: + + ./configure --prefix=`pwd`/depends/x86_64-w64-mingw32 + +Common `host-platform-triplets` for cross compilation are: + +- `i686-w64-mingw32` for Win32 +- `x86_64-w64-mingw32` for Win64 +- `x86_64-apple-darwin11` for MacOSX +- `arm-linux-gnueabihf` for Linux ARM 32 bit +- `aarch64-linux-gnu` for Linux ARM 64 bit + +No other options are needed, the paths are automatically configured. + +Install the required dependencies: Ubuntu & Debian +-------------------------------------------------- + +For macOS cross compilation: + + sudo apt-get install curl librsvg2-bin libtiff-tools bsdmainutils cmake imagemagick libcap-dev libz-dev libbz2-dev python-setuptools + +For Win32/Win64 cross compilation: + +- see [build-windows.md](../doc/build-windows.md#cross-compilation-for-ubuntu-and-windows-subsystem-for-linux) + +For linux (including i386, ARM) cross compilation: + + sudo apt-get install curl g++-aarch64-linux-gnu g++-4.8-aarch64-linux-gnu gcc-4.8-aarch64-linux-gnu binutils-aarch64-linux-gnu g++-arm-linux-gnueabihf g++-4.8-arm-linux-gnueabihf gcc-4.8-arm-linux-gnueabihf binutils-arm-linux-gnueabihf g++-4.8-multilib gcc-4.8-multilib binutils-gold bsdmainutils + + +Dependency Options: +The following can be set when running make: make FOO=bar + + SOURCES_PATH: downloaded sources will be placed here + BASE_CACHE: built packages will be placed here + SDK_PATH: Path where sdk's can be found (used by OSX) + FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up + NO_QT: Don't download/build/cache qt and its dependencies + NO_WALLET: Don't download/build/cache libs needed to enable the wallet + NO_UPNP: Don't download/build/cache packages needed for enabling upnp + DEBUG: disable some optimizations and enable more runtime checking + HOST_ID_SALT: Optional salt to use when generating host package ids + BUILD_ID_SALT: Optional salt to use when generating build package ids + +If some packages are not built, for example `make NO_WALLET=1`, the appropriate +options will be passed to bitcoin's configure. In this case, `--disable-wallet`. + +Additional targets: + + download: run 'make download' to fetch all sources without building them + download-osx: run 'make download-osx' to fetch all sources needed for osx builds + download-win: run 'make download-win' to fetch all sources needed for win builds + download-linux: run 'make download-linux' to fetch all sources needed for linux builds + +### Other documentation + +- [description.md](description.md): General description of the depends system +- [packages.md](packages.md): Steps for adding packages + diff --git a/depends/README.usage b/depends/README.usage deleted file mode 100644 index f5aa5314a..000000000 --- a/depends/README.usage +++ /dev/null @@ -1,35 +0,0 @@ -To build dependencies for the current arch+OS: - make -To build for another arch/OS: - make HOST=host-platform-triplet && make HOST=host-platform-triplet - (For example: make HOST=i686-w64-mingw32 -j4) - -A prefix will be generated that's suitable for plugging into Bitcoin's -configure. In the above example, a dir named i686-w64-mingw32 will be -created. To use it for Bitcoin: - -./configure --prefix=`pwd`/depends/i686-w64-mingw32 - -No other options are needed, the paths are automatically configured. - -Dependency Options: -The following can be set when running make: make FOO=bar - -SOURCES_PATH: downloaded sources will be placed here -BASE_CACHE: built packages will be placed here -SDK_PATH: Path where sdk's can be found (used by OSX) -FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up -NO_QT: Don't download/build/cache qt and its dependencies -NO_WALLET: Don't download/build/cache libs needed to enable the wallet -NO_UPNP: Don't download/build/cache packages needed for enabling upnp -DEBUG: disable some optimizations and enable more runtime checking -USE_LINUX_STATIC_QT5: Build a static qt5 rather than shared qt4. Linux only. - -If some packages are not built, for example 'make NO_WALLET=1', the appropriate -options will be passed to bitcoin's configure. In this case, --disable-wallet. - -Additional targets: -download: run 'make download' to fetch all sources without building them -download-osx: run 'make download-osx' to fetch all sources needed for osx builds -download-win: run 'make download-win' to fetch all sources needed for win builds -download-linux: run 'make download-linux' to fetch all sources needed for linux builds diff --git a/depends/builders/darwin.mk b/depends/builders/darwin.mk index b366460e6..27f550ab0 100644 --- a/depends/builders/darwin.mk +++ b/depends/builders/darwin.mk @@ -7,11 +7,11 @@ build_darwin_OTOOL: = $(shell xcrun -f otool) build_darwin_NM: = $(shell xcrun -f nm) build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool) build_darwin_SHA256SUM = shasum -a 256 -build_darwin_DOWNLOAD = curl --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -L -o +build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o #darwin host on darwin builder. overrides darwin host preferences. darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION) -darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) +darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++ darwin_AR:=$(shell xcrun -f ar) darwin_RANLIB:=$(shell xcrun -f ranlib) darwin_STRIP:=$(shell xcrun -f strip) diff --git a/depends/builders/linux.mk b/depends/builders/linux.mk index 98d0e9de3..b03f42401 100644 --- a/depends/builders/linux.mk +++ b/depends/builders/linux.mk @@ -1,2 +1,2 @@ build_linux_SHA256SUM = sha256sum -build_linux_DOWNLOAD = wget --timeout=$(DOWNLOAD_CONNECT_TIMEOUT) --tries=$(DOWNLOAD_RETRIES) -nv -O +build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o diff --git a/depends/config.guess b/depends/config.guess index 1f5c50c0d..69ed3e573 100755 --- a/depends/config.guess +++ b/depends/config.guess @@ -1,8 +1,8 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2014-03-23' +timestamp='2017-03-05' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -24,12 +24,12 @@ timestamp='2014-03-23' # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # -# Originally written by Per Bothner. +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. # # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess # -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . me=`echo "$0" | sed -e 's,.*/,,'` @@ -50,7 +50,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -168,19 +168,29 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/$sysctl 2>/dev/null || \ + /usr/sbin/$sysctl 2>/dev/null || \ + echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. + # to ELF recently (or will in the future) and ABI. case "${UNAME_MACHINE_ARCH}" in + earm*) + os=netbsdelf + ;; arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -197,6 +207,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -207,13 +224,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in release='-gnu' ;; *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` + release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` @@ -223,6 +240,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} + exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; @@ -235,6 +256,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; + *:Sortix:*:*) + echo ${UNAME_MACHINE}-unknown-sortix + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -251,42 +275,42 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; + UNAME_MACHINE=alpha ;; "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; + UNAME_MACHINE=alphaev5 ;; "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; + UNAME_MACHINE=alphaev56 ;; "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; + UNAME_MACHINE=alphapca56 ;; "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; + UNAME_MACHINE=alphapca57 ;; "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; + UNAME_MACHINE=alphaev6 ;; "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; + UNAME_MACHINE=alphaev67 ;; "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; + UNAME_MACHINE=alphaev68 ;; "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; + UNAME_MACHINE=alphaev69 ;; "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; + UNAME_MACHINE=alphaev7 ;; "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; + UNAME_MACHINE=alphaev79 ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 @@ -359,16 +383,16 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build - SUN_ARCH="i386" + SUN_ARCH=i386 # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then - SUN_ARCH="x86_64" + SUN_ARCH=x86_64 fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` @@ -393,7 +417,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 + test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} @@ -579,8 +603,9 @@ EOF else IBM_ARCH=powerpc fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` + if [ -x /usr/bin/lslpp ] ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi @@ -617,13 +642,13 @@ EOF sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 esac ;; esac fi @@ -662,11 +687,11 @@ EOF exit (0); } EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` + (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac - if [ ${HP_ARCH} = "hppa2.0w" ] + if [ ${HP_ARCH} = hppa2.0w ] then eval $set_cc_for_build @@ -679,12 +704,12 @@ EOF # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then - HP_ARCH="hppa2.0w" + HP_ARCH=hppa2.0w else - HP_ARCH="hppa64" + HP_ARCH=hppa64 fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} @@ -789,14 +814,14 @@ EOF echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) @@ -812,10 +837,11 @@ EOF UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; esac + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin @@ -878,7 +904,7 @@ EOF exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} + echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix @@ -901,7 +927,7 @@ EOF EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) @@ -932,6 +958,9 @@ EOF crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; + e2k:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -944,6 +973,9 @@ EOF ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; + k1om:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; @@ -969,6 +1001,9 @@ EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; + mips64el:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; openrisc*:Linux:*:*) echo or1k-unknown-linux-${LIBC} exit ;; @@ -1001,6 +1036,9 @@ EOF ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; + riscv32:Linux:*:* | riscv64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; @@ -1020,7 +1058,7 @@ EOF echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} + echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} @@ -1099,7 +1137,7 @@ EOF # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that + # prints for the "djgpp" host, or else GDB configure will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; @@ -1248,6 +1286,9 @@ EOF SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; + SX-ACE:SUPER-UX:*:*) + echo sxace-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; @@ -1261,9 +1302,9 @@ EOF UNAME_PROCESSOR=powerpc fi if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in @@ -1285,7 +1326,7 @@ EOF exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then + if test "$UNAME_PROCESSOR" = x86; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi @@ -1303,6 +1344,9 @@ EOF NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; + NSX-?:NONSTOP_KERNEL:*:*) + echo nsx-tandem-nsk${UNAME_RELEASE} + exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; @@ -1316,7 +1360,7 @@ EOF # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. - if test "$cputype" = "386"; then + if test "$cputype" = 386; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" @@ -1358,7 +1402,7 @@ EOF echo i386-pc-xenix exit ;; i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' + echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos @@ -1369,23 +1413,25 @@ EOF x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; + amd64:Isilon\ OneFS:*:*) + echo x86_64-unknown-onefs + exit ;; esac cat >&2 < in order to provide the needed -information to handle your system. +If $0 has already been updated, send the following data and any +information you think might be pertinent to config-patches@gnu.org to +provide the necessary information to handle your system. config.guess timestamp = $timestamp diff --git a/depends/config.site.in b/depends/config.site.in index 873f66018..0a4a9c327 100644 --- a/depends/config.site.in +++ b/depends/config.site.in @@ -1,24 +1,23 @@ +depends_prefix="`dirname ${ac_site_file}`/.." + cross_compiling=maybe host_alias=@HOST@ ac_tool_prefix=${host_alias}- if test -z $with_boost; then - with_boost=$prefix + with_boost=$depends_prefix fi if test -z $with_qt_plugindir; then - with_qt_plugindir=$prefix/plugins + with_qt_plugindir=$depends_prefix/plugins fi if test -z $with_qt_translationdir; then - with_qt_translationdir=$prefix/translations -fi -if test -z $with_qt_bindir; then - with_qt_bindir=$prefix/native/bin + with_qt_translationdir=$depends_prefix/translations fi -if test -z $with_protoc_bindir; then - with_protoc_bindir=$prefix/native/bin +if test -z $with_qt_bindir && test -z "@no_qt@"; then + with_qt_bindir=$depends_prefix/native/bin fi -if test -z $with_comparison_tool; then - with_comparison_tool=$prefix/native/share/BitcoindComparisonTool_jar/BitcoindComparisonTool.jar +if test -z $with_protoc_bindir && test -z "@no_qt@"; then + with_protoc_bindir=$depends_prefix/native/bin fi @@ -41,31 +40,32 @@ fi if test x@host_os@ = xmingw32; then if test -z $with_qt_incdir; then - with_qt_incdir=$prefix/include + with_qt_incdir=$depends_prefix/include fi if test -z $with_qt_libdir; then - with_qt_libdir=$prefix/lib + with_qt_libdir=$depends_prefix/lib fi fi -PATH=$prefix/native/bin:$PATH +PATH=$depends_prefix/native/bin:$PATH PKG_CONFIG="`which pkg-config` --static" # These two need to remain exported because pkg-config does not see them # otherwise. That means they must be unexported at the end of configure.ac to # avoid ruining the cache. Sigh. +export PKG_CONFIG_PATH=$depends_prefix/share/pkgconfig:$depends_prefix/lib/pkgconfig +if test -z "@allow_host_packages@"; then + export PKGCONFIG_LIBDIR= +fi -export PKG_CONFIG_LIBDIR=$prefix/lib/pkgconfig -export PKG_CONFIG_PATH=$prefix/share/pkgconfig - -CPPFLAGS="-I$prefix/include/ $CPPFLAGS" -LDFLAGS="-L$prefix/lib $LDFLAGS" +CPPFLAGS="-I$depends_prefix/include/ $CPPFLAGS" +LDFLAGS="-L$depends_prefix/lib $LDFLAGS" CC="@CC@" CXX="@CXX@" OBJC="${CC}" -OBJCXX="${CXX}" -CCACHE=$prefix/native/bin/ccache +CCACHE=$depends_prefix/native/bin/ccache +PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH if test -n "@AR@"; then AR=@AR@ diff --git a/depends/config.sub b/depends/config.sub index d654d03cd..40ea5dfe1 100755 --- a/depends/config.sub +++ b/depends/config.sub @@ -1,8 +1,8 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2014 Free Software Foundation, Inc. +# Copyright 1992-2017 Free Software Foundation, Inc. -timestamp='2014-05-01' +timestamp='2017-04-02' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ timestamp='2014-05-01' # of the GNU General Public License, version 3 ("GPLv3"). -# Please send patches with a ChangeLog entry to config-patches@gnu.org. +# Please send patches to . # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. @@ -33,7 +33,7 @@ timestamp='2014-05-01' # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases @@ -53,8 +53,7 @@ timestamp='2014-05-01' me=`echo "$0" | sed -e 's,.*/,,'` usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS Canonicalize a configuration name. @@ -68,7 +67,7 @@ Report bugs and patches to ." version="\ GNU config.sub ($timestamp) -Copyright 1992-2014 Free Software Foundation, Inc. +Copyright 1992-2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -117,8 +116,8 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ + kopensolaris*-gnu* | cloudabi*-eabi* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -255,15 +254,16 @@ case $basic_machine in | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ + | ba \ | be32 | be64 \ | bfin \ | c4x | c8051 | clipper \ | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ + | e2k | epiphany \ + | fido | fr30 | frv | ft32 \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ - | i370 | i860 | i960 | ia64 \ + | i370 | i860 | i960 | ia16 | ia64 \ | ip2k | iq2000 \ | k1om \ | le32 | le64 \ @@ -301,10 +301,12 @@ case $basic_machine in | open8 | or1k | or1knd | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ + | pru \ | pyramid \ + | riscv32 | riscv64 \ | rl78 | rx \ | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -312,6 +314,8 @@ case $basic_machine in | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ + | visium \ + | wasm32 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -326,6 +330,9 @@ case $basic_machine in c6x) basic_machine=tic6x-unknown ;; + leon|leon[3-9]) + basic_machine=sparc-$basic_machine + ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) basic_machine=$basic_machine-unknown os=-none @@ -371,17 +378,18 @@ case $basic_machine in | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | ba-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | c8051-* | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ + | e2k-* | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ + | i*86-* | i860-* | i960-* | ia16-* | ia64-* \ | ip2k-* | iq2000-* \ | k1om-* \ | le32-* | le64-* \ @@ -422,13 +430,15 @@ case $basic_machine in | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ + | pru-* \ | pyramid-* \ + | riscv32-* | riscv64-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ @@ -436,6 +446,8 @@ case $basic_machine in | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ + | visium-* \ + | wasm32-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -512,6 +524,9 @@ case $basic_machine in basic_machine=i386-pc os=-aros ;; + asmjs) + basic_machine=asmjs-unknown + ;; aux) basic_machine=m68k-apple os=-aux @@ -632,6 +647,14 @@ case $basic_machine in basic_machine=m68k-bull os=-sysv3 ;; + e500v[12]) + basic_machine=powerpc-unknown + os=$os"spe" + ;; + e500v[12]-*) + basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` + os=$os"spe" + ;; ebmon29k) basic_machine=a29k-amd os=-ebmon @@ -773,6 +796,9 @@ case $basic_machine in basic_machine=m68k-isi os=-sysv ;; + leon-*|leon[3-9]-*) + basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` + ;; m68knommu) basic_machine=m68k-unknown os=-linux @@ -828,6 +854,10 @@ case $basic_machine in basic_machine=powerpc-unknown os=-morphos ;; + moxiebox) + basic_machine=moxie-unknown + os=-moxiebox + ;; msdos) basic_machine=i386-pc os=-msdos @@ -920,6 +950,9 @@ case $basic_machine in nsr-tandem) basic_machine=nsr-tandem ;; + nsx-tandem) + basic_machine=nsx-tandem + ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf @@ -1004,7 +1037,7 @@ case $basic_machine in ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppcle | powerpclittle | ppc-le | powerpc-little) + ppcle | powerpclittle) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) @@ -1014,7 +1047,7 @@ case $basic_machine in ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) + ppc64le | powerpc64little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) @@ -1215,6 +1248,9 @@ case $basic_machine in basic_machine=a29k-wrs os=-vxworks ;; + wasm32) + basic_machine=wasm32-unknown + ;; w65*) basic_machine=w65-wdc os=-none @@ -1360,27 +1396,28 @@ case $os in | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ + | -aos* | -aros* | -cloudabi* | -sortix* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ + | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ + | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ + | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ + | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ + | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1512,6 +1549,8 @@ case $os in ;; -nacl*) ;; + -ios) + ;; -none) ;; *) @@ -1607,6 +1646,9 @@ case $basic_machine in sparc-* | *-sun) os=-sunos4.1.1 ;; + pru-*) + os=-elf + ;; *-be) os=-beos ;; diff --git a/depends/README b/depends/description.md similarity index 82% rename from depends/README rename to depends/description.md index fed2f9b5a..74f9ef3f2 100644 --- a/depends/README +++ b/depends/description.md @@ -1,28 +1,26 @@ -This is a system of building and caching dependencies necessary for building -Bitcoin. - +This is a system of building and caching dependencies necessary for building Bitcoin. There are several features that make it different from most similar systems: -- It is designed to be builder and host agnostic +### It is designed to be builder and host agnostic In theory, binaries for any target OS/architecture can be created, from a builder running any OS/architecture. In practice, build-side tools must be -specified when the defaults don't fit, and packages must be ammended to work +specified when the defaults don't fit, and packages must be amended to work on new hosts. For now, a build architecture of x86_64 is assumed, either on Linux or OSX. -- No reliance on timestamps +### No reliance on timestamps File presence is used to determine what needs to be built. This makes the results distributable and easily digestable by automated builders. -- Each build only has its specified dependencies available at build-time. +### Each build only has its specified dependencies available at build-time. For each build, the sysroot is wiped and the (recursive) dependencies are installed. This makes each build deterministic, since there will never be any unknown files available to cause side-effects. -- Each package is cached and only rebuilt as needed. +### Each package is cached and only rebuilt as needed. Before building, a unique build-id is generated for each package. This id consists of a hash of all files used to build the package (Makefiles, packages, @@ -32,7 +30,7 @@ any other package that depends on it. If any of the main makefiles (Makefile, funcs.mk, etc) are changed, all packages will be rebuilt. After building, the results are cached into a tarball that can be re-used and distributed. -- Package build results are (relatively) deterministic. +### Package build results are (relatively) deterministic. Each package is configured and patched so that it will yield the same build-results with each consequent build, within a reasonable set of @@ -41,13 +39,13 @@ beyond the scope of this system. Additionally, the toolchain itself must be capable of deterministic results. When revisions are properly bumped, a cached build should represent an exact single payload. -- Sources are fetched and verified automatically +### Sources are fetched and verified automatically Each package must define its source location and checksum. The build will fail if the fetched source does not match. Sources may be pre-seeded and/or cached as desired. -- Self-cleaning +### Self-cleaning Build and staging dirs are wiped after use, and any previous version of a cached result is removed following a successful build. Automated builders diff --git a/depends/funcs.mk b/depends/funcs.mk index 79015c047..15e404e42 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -19,27 +19,31 @@ define int_get_all_dependencies $(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies)))) endef -define fetch_file -(test -f $$($(1)_source_dir)/$(4) || \ - ( mkdir -p $$($(1)_download_dir) && echo Fetching $(1)... && \ - ( $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" || \ - $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(FALLBACK_DOWNLOAD_PATH)/$(3)" ) && \ +define fetch_file_inner + ( mkdir -p $$($(1)_download_dir) && echo Fetching $(3) from $(2) && \ + $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" && \ echo "$(5) $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \ $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \ mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \ - rm -rf $$($(1)_download_dir) )) + rm -rf $$($(1)_download_dir) ) +endef + +define fetch_file + ( test -f $$($(1)_source_dir)/$(4) || \ + ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \ + $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(3),$(4),$(5)))) endef define int_get_build_recipe_hash -$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)))) -$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | cut -d" " -f1 | $(build_SHA256SUM))) +$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1)) +$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1)) endef define int_get_build_id $(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies)) $(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies))) $(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash))) -$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps)) +$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string)) $(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))) final_build_id_long+=$($(package)_build_id_long) @@ -53,12 +57,14 @@ $(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix) $(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id) $(1)_download_dir:=$(base_download_dir)/$(1)-$($(1)_version) $(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir) +$(1)_cached_checksum:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz.hash $(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id) $(1)_prefixbin:=$($($(1)_type)_prefix)/bin/ $(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz +$(1)_all_sources=$($(1)_file_name) $($(1)_extra_sources) #stamps -$(1)_fetched=$$($(1)_source_dir)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name) +$(1)_fetched=$(SOURCES_PATH)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name).hash $(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted $(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed $(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned @@ -154,7 +160,10 @@ endef define int_add_cmds $($(1)_fetched): $(AT)mkdir -p $$(@D) $(SOURCES_PATH) + $(AT)rm -f $$@ + $(AT)touch $$@ $(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1)) + $(AT)cd $($(1)_source_dir); $(foreach source,$($(1)_all_sources),$(build_SHA256SUM) $(source) >> $$(@);) $(AT)touch $$@ $($(1)_extracted): | $($(1)_fetched) $(AT)echo Extracting $(1)... @@ -195,17 +204,19 @@ $($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed) $(AT)rm -rf $$(@D) && mkdir -p $$(@D) $(AT)mv $$($(1)_staging_dir)/$$(@F) $$(@) $(AT)rm -rf $($(1)_staging_dir) +$($(1)_cached_checksum): $($(1)_cached) + $(AT)cd $$(@D); $(build_SHA256SUM) $$( $$(@) .PHONY: $(1) -$(1): | $($(1)_cached) -.SECONDARY: $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched) +$(1): | $($(1)_cached_checksum) +.SECONDARY: $($(1)_cached) $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched) endef # These functions create the build targets for each package. They must be # broken down into small steps so that each part is done for all packages # before moving on to the next step. Otherwise, a package's info -# (build-id for example) would only be avilable to another package if it +# (build-id for example) would only be available to another package if it # happened to be computed already. #set the type for host/build packages. diff --git a/depends/hosts/darwin.mk b/depends/hosts/darwin.mk index c1070d877..4e58bec74 100644 --- a/depends/hosts/darwin.mk +++ b/depends/hosts/darwin.mk @@ -1,9 +1,9 @@ -OSX_MIN_VERSION=10.6 -OSX_SDK_VERSION=10.7 +OSX_MIN_VERSION=10.8 +OSX_SDK_VERSION=10.11 OSX_SDK=$(SDK_PATH)/MacOSX$(OSX_SDK_VERSION).sdk -LD64_VERSION=241.9 +LD64_VERSION=253.9 darwin_CC=clang -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) +darwin_CXX=clang++ -target $(host) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(OSX_SDK) -mlinker-version=$(LD64_VERSION) -stdlib=libc++ darwin_CFLAGS=-pipe darwin_CXXFLAGS=$(darwin_CFLAGS) diff --git a/depends/README.packages b/depends/packages.md similarity index 58% rename from depends/README.packages rename to depends/packages.md index 5ab7ed7de..7c8036250 100644 --- a/depends/README.packages +++ b/depends/packages.md @@ -4,119 +4,137 @@ variables, and defining build commands. The package "mylib" will be used here as an example General tips: -mylib_foo is written as $(package)_foo in order to make recipes more similar. +- mylib_foo is written as $(package)_foo in order to make recipes more similar. -Identifiers: +## Identifiers Each package is required to define at least these variables: - $(package)_version: + + $(package)_version: Version of the upstream library or program. If there is no version, a placeholder such as 1.0 can be used. - $(package)_download_path: + + $(package)_download_path: Location of the upstream source, without the file-name. Usually http or ftp. - $(package)_file_name: + + $(package)_file_name: The upstream source filename available at the download path. - $(package)_sha256_hash: + + $(package)_sha256_hash: The sha256 hash of the upstream file These variables are optional: - $(package)_build_subdir: + + $(package)_build_subdir: cd to this dir before running configure/build/stage commands. - $(package)_download_file: + + $(package)_download_file: The file-name of the upstream source if it differs from how it should be stored locally. This can be used to avoid storing file-names with strange characters. - $(package)_dependencies: + + $(package)_dependencies: Names of any other packages that this one depends on. - $(package)_patches: + + $(package)_patches: Filenames of any patches needed to build the package + $(package)_extra_sources: + Any extra files that will be fetched via $(package)_fetch_cmds. These are + specified so that they can be fetched and verified via 'make download'. + -Build Variables: +## Build Variables: After defining the main identifiers, build variables may be added or customized before running the build commands. They should be added to a function called $(package)_set_vars. For example: -define $(package)_set_vars -... -endef + define $(package)_set_vars + ... + endef Most variables can be prefixed with the host, architecture, or both, to make the modifications specific to that case. For example: - Universal: $(package)_cc=gcc - Linux only: $(package)_linux_cc=gcc - x86_64 only: $(package)_x86_64_cc = gcc - x86_64 linux only: $(package)_x86_64_linux_cc = gcc + Universal: $(package)_cc=gcc + Linux only: $(package)_linux_cc=gcc + x86_64 only: $(package)_x86_64_cc = gcc + x86_64 linux only: $(package)_x86_64_linux_cc = gcc These variables may be set to override or append their default values. - $(package)_cc - $(package)_cxx - $(package)_objc - $(package)_objcxx - $(package)_ar - $(package)_ranlib - $(package)_libtool - $(package)_nm - $(package)_cflags - $(package)_cxxflags - $(package)_ldflags - $(package)_cppflags - $(package)_config_env - $(package)_build_env - $(package)_stage_env - $(package)_build_opts - $(package)_config_opts + + $(package)_cc + $(package)_cxx + $(package)_objc + $(package)_objcxx + $(package)_ar + $(package)_ranlib + $(package)_libtool + $(package)_nm + $(package)_cflags + $(package)_cxxflags + $(package)_ldflags + $(package)_cppflags + $(package)_config_env + $(package)_build_env + $(package)_stage_env + $(package)_build_opts + $(package)_config_opts The *_env variables are used to add environment variables to the respective commands. Many variables respect a debug/release suffix as well, in order to use them for only the appropriate build config. For example: - $(package)_cflags_release = -O3 - $(package)_cflags_i686_debug = -g - $(package)_config_opts_release = --disable-debug + + $(package)_cflags_release = -O3 + $(package)_cflags_i686_debug = -g + $(package)_config_opts_release = --disable-debug These will be used in addition to the options that do not specify debug/release. All builds are considered to be release unless DEBUG=1 is set by -the user. +the user. Other variables may be defined as needed. -Other variables may be defined as needed. - -Build commands: +## Build commands: For each build, a unique build dir and staging dir are created. For example, - work/build/mylib/1.0-1adac830f6e and work/staging/mylib/1.0-1adac830f6e. + `work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`. The following build commands are available for each recipe: - $(package)_fetch_cmds: + $(package)_fetch_cmds: Runs from: build dir Fetch the source file. If undefined, it will be fetched and verified against its hash. - $(package)_extract_cmds: + + $(package)_extract_cmds: Runs from: build dir Verify the source file against its hash and extract it. If undefined, the source is assumed to be a tarball. - $(package)_preprocess_cmds: + + $(package)_preprocess_cmds: Runs from: build dir/$(package)_build_subdir Preprocess the source as necessary. If undefined, does nothing. - $(package)_config_cmds: + + $(package)_config_cmds: Runs from: build dir/$(package)_build_subdir Configure the source. If undefined, does nothing. - $(package)_build_cmds: + + $(package)_build_cmds: Runs from: build dir/$(package)_build_subdir Build the source. If undefined, does nothing. - $(package)_stage_cmds: + + $(package)_stage_cmds: Runs from: build dir/$(package)_build_subdir Stage the build results. If undefined, does nothing. The following variables are available for each recipe: - $(1)_staging_dir: package's destination sysroot path - $(1)_staging_prefix_dir: prefix path inside of the package's staging dir - $(1)_extract_dir: path to the package's extracted sources - $(1)_build_dir: path where configure/build/stage commands will be run - $(1)_patch_dir: path where the package's patches (if any) are found + + $(1)_staging_dir: package's destination sysroot path + $(1)_staging_prefix_dir: prefix path inside of the package's staging dir + $(1)_extract_dir: path to the package's extracted sources + $(1)_build_dir: path where configure/build/stage commands will be run + $(1)_patch_dir: path where the package's patches (if any) are found Notes on build commands: @@ -125,4 +143,5 @@ configure step to (usually) correctly configure automatically. Any $($(package)_config_opts) will be appended. Most autotools projects can be properly staged using: - $(MAKE) DESTDIR=$($(package)_staging_dir) install + + $(MAKE) DESTDIR=$($(package)_staging_dir) install diff --git a/depends/packages/bdb.mk b/depends/packages/bdb.mk index 68841afdb..6c9876c2c 100644 --- a/depends/packages/bdb.mk +++ b/depends/packages/bdb.mk @@ -9,10 +9,13 @@ define $(package)_set_vars $(package)_config_opts=--disable-shared --enable-cxx --disable-replication $(package)_config_opts_mingw32=--enable-mingw $(package)_config_opts_linux=--with-pic +$(package)_cxxflags=-std=c++11 endef define $(package)_preprocess_cmds - sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h + sed -i.old 's/__atomic_compare_exchange/__atomic_compare_exchange_db/' dbinc/atomic.h && \ + sed -i.old 's/atomic_init/atomic_init_db/' dbinc/atomic.h mp/mp_region.c mp/mp_mvcc.c mp/mp_fget.c mutex/mut_method.c mutex/mut_tas.c && \ + cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub dist endef define $(package)_config_cmds diff --git a/depends/packages/boost.mk b/depends/packages/boost.mk index f50828c54..bf773ccd1 100644 --- a/depends/packages/boost.mk +++ b/depends/packages/boost.mk @@ -1,9 +1,8 @@ package=boost -$(package)_version=1_55_0 -$(package)_download_path=http://sourceforge.net/projects/boost/files/boost/1.55.0 +$(package)_version=1_64_0 +$(package)_download_path=https://dl.bintray.com/boostorg/release/1.64.0/source/ $(package)_file_name=$(package)_$($(package)_version).tar.bz2 -$(package)_sha256_hash=fff00023dd79486d444c8e29922f4072e1d451fc5a4d2b6075852ead7f2b7b52 -$(package)_patches=darwin_boost_atomic-1.patch darwin_boost_atomic-2.patch +$(package)_sha256_hash=7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332 define $(package)_set_vars $(package)_config_opts_release=variant=release @@ -21,13 +20,11 @@ $(package)_archiver_$(host_os)=$($(package)_ar) $(package)_toolset_darwin=darwin $(package)_archiver_darwin=$($(package)_libtool) $(package)_config_libraries=chrono,filesystem,program_options,system,thread,test -$(package)_cxxflags=-fvisibility=hidden +$(package)_cxxflags=-std=c++11 -fvisibility=hidden $(package)_cxxflags_linux=-fPIC endef define $(package)_preprocess_cmds - patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-1.patch && \ - patch -p2 < $($(package)_patch_dir)/darwin_boost_atomic-2.patch && \ echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : \"$($(package)_cxxflags) $($(package)_cppflags)\" \"$($(package)_ldflags)\" \"$(boost_archiver_$(host_os))\" \"$(host_STRIP)\" \"$(host_RANLIB)\" \"$(host_WINDRES)\" : ;" > user-config.jam endef diff --git a/depends/packages/dbus.mk b/depends/packages/dbus.mk index 8ac9ab742..bbe037540 100644 --- a/depends/packages/dbus.mk +++ b/depends/packages/dbus.mk @@ -1,8 +1,8 @@ package=dbus -$(package)_version=1.8.6 -$(package)_download_path=http://dbus.freedesktop.org/releases/dbus +$(package)_version=1.10.18 +$(package)_download_path=https://dbus.freedesktop.org/releases/dbus $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f +$(package)_sha256_hash=6049ddd5f3f3e2618f615f1faeda0a115104423a7996b7aa73e2f36e38cc514a $(package)_dependencies=expat define $(package)_set_vars diff --git a/depends/packages/expat.mk b/depends/packages/expat.mk index 1ac443537..7f484724a 100644 --- a/depends/packages/expat.mk +++ b/depends/packages/expat.mk @@ -1,8 +1,8 @@ package=expat -$(package)_version=2.1.0 -$(package)_download_path=http://sourceforge.net/projects/expat/files/expat/$($(package)_version) -$(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=823705472f816df21c8f6aa026dd162b280806838bb55b3432b0fb1fcca7eb86 +$(package)_version=2.2.1 +$(package)_download_path=https://downloads.sourceforge.net/project/expat/expat/$($(package)_version) +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=1868cadae4c82a018e361e2b2091de103cd820aaacb0d6cfa49bd2cd83978885 define $(package)_set_vars $(package)_config_opts=--disable-static diff --git a/depends/packages/fontconfig.mk b/depends/packages/fontconfig.mk index 2cf553ed9..12695db4b 100644 --- a/depends/packages/fontconfig.mk +++ b/depends/packages/fontconfig.mk @@ -1,8 +1,8 @@ package=fontconfig -$(package)_version=2.11.1 +$(package)_version=2.12.1 $(package)_download_path=http://www.freedesktop.org/software/fontconfig/release/ $(package)_file_name=$(package)-$($(package)_version).tar.bz2 -$(package)_sha256_hash=dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 +$(package)_sha256_hash=b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3 $(package)_dependencies=freetype expat define $(package)_set_vars @@ -13,7 +13,13 @@ define $(package)_config_cmds $($(package)_autoconf) endef +# 2.12.1 uses CHAR_WIDTH which is reserved and clashes with some glibc versions, but newer versions of fontconfig +# have broken makefiles which needlessly attempt to re-generate headers with gperf. +# Instead, change all uses of CHAR_WIDTH, and disable the rule that forces header re-generation. +# This can be removed once the upstream build is fixed. define $(package)_build_cmds + sed -i 's/CHAR_WIDTH/CHARWIDTH/g' fontconfig/fontconfig.h src/fcobjshash.gperf src/fcobjs.h src/fcobjshash.h && \ + sed -i 's/fcobjshash.h: fcobjshash.gperf/fcobjshash.h:/' src/Makefile && \ $(MAKE) endef diff --git a/depends/packages/freetype.mk b/depends/packages/freetype.mk index f7d6e0f9f..76b025c46 100644 --- a/depends/packages/freetype.mk +++ b/depends/packages/freetype.mk @@ -1,8 +1,8 @@ package=freetype -$(package)_version=2.5.3 -$(package)_download_path=http://downloads.sourceforge.net/$(package) +$(package)_version=2.7.1 +$(package)_download_path=http://download.savannah.gnu.org/releases/$(package) $(package)_file_name=$(package)-$($(package)_version).tar.bz2 -$(package)_sha256_hash=c0848b29d52ef3ca27ad92e08351f023c5e24ce8cea7d8fe69fc96358e65f75e +$(package)_sha256_hash=3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88 define $(package)_set_vars $(package)_config_opts=--without-zlib --without-png --disable-static diff --git a/depends/packages/libevent.mk b/depends/packages/libevent.mk new file mode 100644 index 000000000..5f622f8e6 --- /dev/null +++ b/depends/packages/libevent.mk @@ -0,0 +1,30 @@ +package=libevent +$(package)_version=2.1.8-stable +$(package)_download_path=https://github.com/libevent/libevent/archive/ +$(package)_file_name=release-$($(package)_version).tar.gz +$(package)_sha256_hash=316ddb401745ac5d222d7c529ef1eada12f58f6376a66c1118eee803cb70f83d + +define $(package)_preprocess_cmds + ./autogen.sh +endef + +define $(package)_set_vars + $(package)_config_opts=--disable-shared --disable-openssl --disable-libevent-regress --disable-samples + $(package)_config_opts_release=--disable-debug-mode + $(package)_config_opts_linux=--with-pic +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install +endef + +define $(package)_postprocess_cmds +endef diff --git a/depends/packages/libxcb.mk b/depends/packages/libxcb.mk index f29b577f8..28f2bd6f2 100644 --- a/depends/packages/libxcb.mk +++ b/depends/packages/libxcb.mk @@ -13,8 +13,13 @@ define $(package)_preprocess_cmds sed "s/pthread-stubs//" -i configure endef +# Don't install xcb headers to the default path in order to work around a qt +# build issue: https://bugreports.qt.io/browse/QTBUG-34748 +# When using qt's internal libxcb, it may end up finding the real headers in +# depends staging. Use a non-default path to avoid that. + define $(package)_config_cmds - $($(package)_autoconf) + $($(package)_autoconf) --includedir=$(host_prefix)/include/xcb-shared endef define $(package)_build_cmds diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk index 00101f1b9..1bb8cb5d2 100644 --- a/depends/packages/miniupnpc.mk +++ b/depends/packages/miniupnpc.mk @@ -1,12 +1,12 @@ package=miniupnpc -$(package)_version=1.9.20140701 +$(package)_version=2.0.20170509 $(package)_download_path=http://miniupnp.free.fr/files $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=26f3985bad7768b8483b793448ae49414cdc4451d0ec83e7c1944367e15f9f07 +$(package)_sha256_hash=d3c368627f5cdfb66d3ebd64ca39ba54d6ff14a61966dbecb8dd296b7039f16a define $(package)_set_vars $(package)_build_opts=CC="$($(package)_cc)" -$(package)_build_opts_darwin=OS=Darwin +$(package)_build_opts_darwin=OS=Darwin LIBTOOL="$($(package)_libtool)" $(package)_build_opts_mingw32=-f Makefile.mingw $(package)_build_env+=CFLAGS="$($(package)_cflags) $($(package)_cppflags)" AR="$($(package)_ar)" endef diff --git a/depends/packages/native_biplist.mk b/depends/packages/native_biplist.mk new file mode 100644 index 000000000..3c6e8900f --- /dev/null +++ b/depends/packages/native_biplist.mk @@ -0,0 +1,20 @@ +package=native_biplist +$(package)_version=0.9 +$(package)_download_path=https://pypi.python.org/packages/source/b/biplist +$(package)_file_name=biplist-$($(package)_version).tar.gz +$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604 +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages +$(package)_patches=sorted_list.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/sorted_list.patch +endef + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/native_ccache.mk b/depends/packages/native_ccache.mk index 3226e89a6..966804ce8 100644 --- a/depends/packages/native_ccache.mk +++ b/depends/packages/native_ccache.mk @@ -1,8 +1,8 @@ package=native_ccache -$(package)_version=3.1.9 -$(package)_download_path=http://samba.org/ftp/ccache +$(package)_version=3.3.4 +$(package)_download_path=https://samba.org/ftp/ccache $(package)_file_name=ccache-$($(package)_version).tar.bz2 -$(package)_sha256_hash=04d3e2e438ac8d4cc4b110b68cdd61bd59226c6588739a4a386869467f5ced7c +$(package)_sha256_hash=fa9d7f38367431bc86b19ad107d709ca7ecf1574fdacca01698bdf0a47cd8567 define $(package)_set_vars $(package)_config_opts= diff --git a/depends/packages/native_cctools.mk b/depends/packages/native_cctools.mk index 951ad4fb2..44d238cc4 100644 --- a/depends/packages/native_cctools.mk +++ b/depends/packages/native_cctools.mk @@ -1,22 +1,29 @@ package=native_cctools -$(package)_version=ee31ae567931c426136c94aad457c7b51d844beb +$(package)_version=807d6fd1be5d2224872e381870c0a75387fe05e6 $(package)_download_path=https://github.com/theuni/cctools-port/archive $(package)_file_name=$($(package)_version).tar.gz -$(package)_sha256_hash=ef107e6ab1b3994cb22e14f4f5c59ea0c0b5a988e6b21d42ed9616b018bbcbf9 +$(package)_sha256_hash=a09c9ba4684670a0375e42d9d67e7f12c1f62581a27f28f7c825d6d7032ccc6a $(package)_build_subdir=cctools -$(package)_clang_version=3.3 +$(package)_clang_version=3.7.1 $(package)_clang_download_path=http://llvm.org/releases/$($(package)_clang_version) -$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz -$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-amd64-Ubuntu-12.04.2.tar.gz -$(package)_clang_sha256_hash=60d8f69f032d62ef61bf527857ebb933741ec3352d4d328c5516aa520662dab7 +$(package)_clang_download_file=clang+llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz +$(package)_clang_file_name=clang-llvm-$($(package)_clang_version)-x86_64-linux-gnu-ubuntu-14.04.tar.xz +$(package)_clang_sha256_hash=99b28a6b48e793705228a390471991386daa33a9717cd9ca007fcdde69608fd9 +$(package)_extra_sources=$($(package)_clang_file_name) + define $(package)_fetch_cmds $(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ $(call fetch_file,$(package),$($(package)_clang_download_path),$($(package)_clang_download_file),$($(package)_clang_file_name),$($(package)_clang_sha256_hash)) endef define $(package)_extract_cmds + mkdir -p $($(package)_extract_dir) && \ + echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + echo "$($(package)_clang_sha256_hash) $($(package)_source_dir)/$($(package)_clang_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \ tar --strip-components=1 -C toolchain -xf $($(package)_source_dir)/$($(package)_clang_file_name) && \ + rm -f toolchain/lib/libc++abi.so* && \ echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \ echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \ chmod +x toolchain/bin/$(host)-dsymutil && \ @@ -24,14 +31,15 @@ define $(package)_extract_cmds endef define $(package)_set_vars -$(package)_config_opts=--target=$(host) --disable-libuuid +$(package)_config_opts=--target=$(host) --disable-lto-support $(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib $(package)_cc=$($(package)_extract_dir)/toolchain/bin/clang $(package)_cxx=$($(package)_extract_dir)/toolchain/bin/clang++ endef define $(package)_preprocess_cmds - cd $($(package)_build_subdir); ./autogen.sh + cd $($(package)_build_subdir); ./autogen.sh && \ + sed -i.old "/define HAVE_PTHREADS/d" ld64/src/ld/InputFiles.h endef define $(package)_config_cmds @@ -47,10 +55,11 @@ define $(package)_stage_cmds cd $($(package)_extract_dir)/toolchain && \ mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include && \ mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \ - cp -P bin/clang bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\ + cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\ + cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\ cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \ cp -rf lib/clang/$($(package)_clang_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_clang_version)/include/ && \ - cp bin/$(host)-dsymutil $($(package)_staging_prefix_dir)/bin && \ + cp bin/llvm-dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \ if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \ if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi endef diff --git a/depends/packages/native_comparisontool.mk b/depends/packages/native_comparisontool.mk deleted file mode 100644 index d1b86dc2d..000000000 --- a/depends/packages/native_comparisontool.mk +++ /dev/null @@ -1,21 +0,0 @@ -package=native_comparisontool -$(package)_version=0f7b5d8 -$(package)_download_path=https://github.com/TheBlueMatt/test-scripts/raw/38b490a2599d422b12d5ce8f165792f63fd8f54f -$(package)_file_name=pull-tests-$($(package)_version).jar -$(package)_sha256_hash=ecd43b988a8b673b483e4f69f931596360a5e90fc415c75c4c259faa690df198 -$(package)_install_dirname=BitcoindComparisonTool_jar -$(package)_install_filename=BitcoindComparisonTool.jar - -define $(package)_extract_cmds -endef - -define $(package)_configure_cmds -endef - -define $(package)_build_cmds -endef - -define $(package)_stage_cmds - mkdir -p $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname) && \ - cp $($(package)_source) $($(package)_staging_prefix_dir)/share/$($(package)_install_dirname)/$($(package)_install_filename) -endef diff --git a/depends/packages/native_ds_store.mk b/depends/packages/native_ds_store.mk new file mode 100644 index 000000000..116fa25d3 --- /dev/null +++ b/depends/packages/native_ds_store.mk @@ -0,0 +1,16 @@ +package=native_ds_store +$(package)_version=1.1.2 +$(package)_download_path=https://github.com/al45tair/ds_store/archive/ +$(package)_file_name=v$($(package)_version).tar.gz +$(package)_sha256_hash=3b3ecb7bf0a5157f5b6010bc3af7c141fb0ad3527084e63336220d22744bc20c +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages +$(package)_dependencies=native_biplist + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/native_mac_alias.mk b/depends/packages/native_mac_alias.mk new file mode 100644 index 000000000..488ec8b59 --- /dev/null +++ b/depends/packages/native_mac_alias.mk @@ -0,0 +1,20 @@ +package=native_mac_alias +$(package)_version=2.0.6 +$(package)_download_path=https://github.com/al45tair/mac_alias/archive/ +$(package)_file_name=v$($(package)_version).tar.gz +$(package)_sha256_hash=78a3332d9a597eebf09ae652d38ad1e263b28db5c2e6dd725fad357b03b77371 +$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages +$(package)_patches=python3.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/python3.patch +endef + +define $(package)_build_cmds + python setup.py build +endef + +define $(package)_stage_cmds + mkdir -p $($(package)_install_libdir) && \ + python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir) +endef diff --git a/depends/packages/native_protobuf.mk b/depends/packages/native_protobuf.mk index ed1a771f0..ce50b366f 100644 --- a/depends/packages/native_protobuf.mk +++ b/depends/packages/native_protobuf.mk @@ -1,8 +1,8 @@ package=native_protobuf -$(package)_version=2.5.0 -$(package)_download_path=https://protobuf.googlecode.com/files +$(package)_version=2.6.1 +$(package)_download_path=https://github.com/google/protobuf/releases/download/v$($(package)_version) $(package)_file_name=protobuf-$($(package)_version).tar.bz2 -$(package)_sha256_hash=13bfc5ae543cf3aa180ac2485c0bc89495e3ae711fc6fab4f8ffe90dfb4bb677 +$(package)_sha256_hash=ee445612d544d885ae240ffbcbf9267faa9f593b7b101f21d58beceb92661910 define $(package)_set_vars $(package)_config_opts=--disable-shared diff --git a/depends/packages/openssl.mk b/depends/packages/openssl.mk index ad64494c1..5ee9f17a6 100644 --- a/depends/packages/openssl.mk +++ b/depends/packages/openssl.mk @@ -1,29 +1,63 @@ package=openssl -$(package)_version=1.0.1j +$(package)_version=1.0.1k $(package)_download_path=https://www.openssl.org/source $(package)_file_name=$(package)-$($(package)_version).tar.gz -$(package)_sha256_hash=1b60ca8789ba6f03e8ef20da2293b8dc131c39d83814e775069f02d26354edf3 +$(package)_sha256_hash=8f9faeaebad088e772f4ef5e38252d472be4d878c6b3a2718c10a4fcebe7a41c define $(package)_set_vars $(package)_config_env=AR="$($(package)_ar)" RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)" -$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl no-zlib no-shared no-dso -$(package)_config_opts+=no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 -$(package)_config_opts+=no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 +$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl +$(package)_config_opts+=no-camellia +$(package)_config_opts+=no-capieng +$(package)_config_opts+=no-cast +$(package)_config_opts+=no-comp +$(package)_config_opts+=no-dso +$(package)_config_opts+=no-dtls1 +$(package)_config_opts+=no-ec_nistp_64_gcc_128 +$(package)_config_opts+=no-gost +$(package)_config_opts+=no-gmp +$(package)_config_opts+=no-heartbeats +$(package)_config_opts+=no-idea +$(package)_config_opts+=no-jpake +$(package)_config_opts+=no-krb5 +$(package)_config_opts+=no-libunbound +$(package)_config_opts+=no-md2 +$(package)_config_opts+=no-mdc2 +$(package)_config_opts+=no-rc4 +$(package)_config_opts+=no-rc5 +$(package)_config_opts+=no-rdrand +$(package)_config_opts+=no-rfc3779 +$(package)_config_opts+=no-rsax +$(package)_config_opts+=no-sctp +$(package)_config_opts+=no-seed +$(package)_config_opts+=no-sha0 +$(package)_config_opts+=no-shared +$(package)_config_opts+=no-ssl-trace +$(package)_config_opts+=no-ssl2 +$(package)_config_opts+=no-ssl3 +$(package)_config_opts+=no-static_engine +$(package)_config_opts+=no-store +$(package)_config_opts+=no-unit-test +$(package)_config_opts+=no-weak-ssl-ciphers +$(package)_config_opts+=no-whirlpool +$(package)_config_opts+=no-zlib +$(package)_config_opts+=no-zlib-dynamic $(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags) -$(package)_config_opts_linux=-fPIC +$(package)_config_opts_linux=-fPIC -Wa,--noexecstack $(package)_config_opts_x86_64_linux=linux-x86_64 $(package)_config_opts_i686_linux=linux-generic32 $(package)_config_opts_arm_linux=linux-generic32 $(package)_config_opts_aarch64_linux=linux-generic64 $(package)_config_opts_mipsel_linux=linux-generic32 $(package)_config_opts_mips_linux=linux-generic32 +$(package)_config_opts_powerpc_linux=linux-generic32 $(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc $(package)_config_opts_x86_64_mingw32=mingw64 $(package)_config_opts_i686_mingw32=mingw endef define $(package)_preprocess_cmds - sed -i.old "/define DATE/d" crypto/Makefile && \ + sed -i.old "/define DATE/d" util/mkbuildinf.pl && \ sed -i.old "s|engines apps test|engines|" Makefile.org endef diff --git a/depends/packages/packages.mk b/depends/packages/packages.mk index 08fd8a524..11c2e55b3 100644 --- a/depends/packages/packages.mk +++ b/depends/packages/packages.mk @@ -1,23 +1,23 @@ -packages:=boost openssl -native_packages := native_ccache native_comparisontool +packages:=boost openssl libevent zeromq +native_packages := native_ccache qt_native_packages = native_protobuf -qt_packages = qrencode protobuf +qt_packages = qrencode protobuf zlib -qt46_linux_packages = qt46 expat dbus libxcb xcb_proto libXau xproto freetype libX11 xextproto libXext xtrans libICE libSM -qt5_linux_packages= qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans +qt_x86_64_linux_packages:=qt expat dbus libxcb xcb_proto libXau xproto freetype fontconfig libX11 xextproto libXext xtrans +qt_i686_linux_packages:=$(qt_x86_64_linux_packages) +qt_arm_linux_packages:=$(qt_x86_64_linux_packages) +qt_aarch64_linux_packages:=$(qt_x86_64_linux_packages) qt_darwin_packages=qt qt_mingw32_packages=qt -qt_linux_$(USE_LINUX_STATIC_QT5):=$(qt5_linux_packages) -qt_linux_:=$(qt46_linux_packages) -qt_linux_packages:=$(qt_linux_$(USE_LINUX_STATIC_QT5)) - wallet_packages=bdb upnp_packages=miniupnpc +darwin_native_packages = native_biplist native_ds_store native_mac_alias + ifneq ($(build_os),darwin) -darwin_native_packages=native_cctools native_cdrkit native_libdmg-hfsplus +darwin_native_packages += native_cctools native_cdrkit native_libdmg-hfsplus endif diff --git a/depends/packages/protobuf.mk b/depends/packages/protobuf.mk index 5affad283..54d3fd924 100644 --- a/depends/packages/protobuf.mk +++ b/depends/packages/protobuf.mk @@ -4,6 +4,7 @@ $(package)_download_path=$(native_$(package)_download_path) $(package)_file_name=$(native_$(package)_file_name) $(package)_sha256_hash=$(native_$(package)_sha256_hash) $(package)_dependencies=native_$(package) +$(package)_cxxflags=-std=c++11 define $(package)_set_vars $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc diff --git a/depends/packages/qrencode.mk b/depends/packages/qrencode.mk index 1ad329e94..44fdf1c29 100644 --- a/depends/packages/qrencode.mk +++ b/depends/packages/qrencode.mk @@ -1,8 +1,8 @@ package=qrencode -$(package)_version=3.4.3 +$(package)_version=3.4.4 $(package)_download_path=https://fukuchi.org/works/qrencode/ -$(package)_file_name=qrencode-$(qrencode_version).tar.bz2 -$(package)_sha256_hash=dfd71487513c871bad485806bfd1fdb304dedc84d2b01a8fb8e0940b50597a98 +$(package)_file_name=$(package)-$($(package)_version).tar.bz2 +$(package)_sha256_hash=efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5 define $(package)_set_vars $(package)_config_opts=--disable-shared -without-tools --disable-sdltest diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 59c12d22f..858898b52 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -1,76 +1,168 @@ PACKAGE=qt -$(package)_version=5.2.1 -$(package)_download_path=http://download.qt-project.org/official_releases/qt/5.2/$($(package)_version)/single -$(package)_file_name=$(package)-everywhere-opensource-src-$($(package)_version).tar.gz -$(package)_sha256_hash=84e924181d4ad6db00239d87250cc89868484a14841f77fb85ab1f1dbdcd7da1 -$(package)_dependencies=openssl -$(package)_linux_dependencies=freetype fontconfig dbus libxcb libX11 xproto libXext +$(package)_version=5.7.1 +$(package)_download_path=http://download.qt.io/official_releases/qt/5.7/$($(package)_version)/submodules +$(package)_suffix=opensource-src-$($(package)_version).tar.gz +$(package)_file_name=qtbase-$($(package)_suffix) +$(package)_sha256_hash=95f83e532d23b3ddbde7973f380ecae1bac13230340557276f75f2e37984e410 +$(package)_dependencies=openssl zlib +$(package)_linux_dependencies=freetype fontconfig libxcb libX11 xproto libXext $(package)_build_subdir=qtbase $(package)_qt_libs=corelib network widgets gui plugins testlib -$(package)_patches=mac-qmake.conf fix-xcb-include-order.patch qt5-tablet-osx.patch qt5-yosemite.patch +$(package)_patches=mac-qmake.conf aarch32-qmake.conf aarch64-qmake.conf mingw-uuidof.patch pidlist_absolute.patch fix-xcb-include-order.patch fix_qt_pkgconfig.patch + +$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix) +$(package)_qttranslations_sha256_hash=3a15aebd523c6d89fb97b2d3df866c94149653a26d27a00aac9b6d3020bc5a1d + + +$(package)_qttools_file_name=qttools-$($(package)_suffix) +$(package)_qttools_sha256_hash=22d67de915cb8cd93e16fdd38fa006224ad9170bd217c2be1e53045a8dd02f0f + +$(package)_extra_sources = $($(package)_qttranslations_file_name) +$(package)_extra_sources += $($(package)_qttools_file_name) define $(package)_set_vars $(package)_config_opts_release = -release -$(package)_config_opts_debug = -debug -$(package)_config_opts += -opensource -confirm-license -no-audio-backend -no-sql-tds -no-glib -no-icu -$(package)_config_opts += -no-cups -no-iconv -no-gif -no-audio-backend -no-freetype -$(package)_config_opts += -no-sql-sqlite -no-nis -no-cups -no-iconv -no-pch -$(package)_config_opts += -no-gif -no-feature-style-plastique -$(package)_config_opts += -no-qml-debug -no-pch -no-nis -nomake examples -nomake tests -$(package)_config_opts += -no-feature-style-cde -no-feature-style-s60 -no-feature-style-motif -$(package)_config_opts += -no-feature-style-windowsmobile -no-feature-style-windowsce -$(package)_config_opts += -no-feature-style-cleanlooks -$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql -$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -$(package)_config_opts += -skip qtsvg -skip qtwebkit -skip qtwebkit-examples -skip qtserialport -$(package)_config_opts += -skip qtdeclarative -skip qtmultimedia -skip qtimageformats -skip qtx11extras -$(package)_config_opts += -skip qtlocation -skip qtsensors -skip qtquick1 -skip qtxmlpatterns -$(package)_config_opts += -skip qtquickcontrols -skip qtactiveqt -skip qtconnectivity -skip qtmacextras -$(package)_config_opts += -skip qtwinextras -skip qtxmlpatterns -skip qtscript -skip qtdoc - -$(package)_config_opts += -prefix $(host_prefix) -bindir $(build_prefix)/bin -$(package)_config_opts += -no-c++11 -openssl-linked -v -static -silent -pkg-config -$(package)_config_opts += -qt-libpng -qt-libjpeg -qt-zlib -qt-pcre +$(package)_config_opts_debug = -debug +$(package)_config_opts += -bindir $(build_prefix)/bin +$(package)_config_opts += -c++std c++11 +$(package)_config_opts += -confirm-license +$(package)_config_opts += -dbus-runtime +$(package)_config_opts += -hostprefix $(build_prefix) +$(package)_config_opts += -no-alsa +$(package)_config_opts += -no-audio-backend +$(package)_config_opts += -no-cups +$(package)_config_opts += -no-egl +$(package)_config_opts += -no-eglfs +$(package)_config_opts += -no-feature-style-windowsmobile +$(package)_config_opts += -no-feature-style-windowsce +$(package)_config_opts += -no-freetype +$(package)_config_opts += -no-gif +$(package)_config_opts += -no-glib +$(package)_config_opts += -no-gstreamer +$(package)_config_opts += -no-icu +$(package)_config_opts += -no-iconv +$(package)_config_opts += -no-kms +$(package)_config_opts += -no-linuxfb +$(package)_config_opts += -no-libudev +$(package)_config_opts += -no-mitshm +$(package)_config_opts += -no-mtdev +$(package)_config_opts += -no-pulseaudio +$(package)_config_opts += -no-openvg +$(package)_config_opts += -no-reduce-relocations +$(package)_config_opts += -no-qml-debug +$(package)_config_opts += -no-sql-db2 +$(package)_config_opts += -no-sql-ibase +$(package)_config_opts += -no-sql-oci +$(package)_config_opts += -no-sql-tds +$(package)_config_opts += -no-sql-mysql +$(package)_config_opts += -no-sql-odbc +$(package)_config_opts += -no-sql-psql +$(package)_config_opts += -no-sql-sqlite +$(package)_config_opts += -no-sql-sqlite2 +$(package)_config_opts += -no-use-gold-linker +$(package)_config_opts += -no-xinput2 +$(package)_config_opts += -no-xrender +$(package)_config_opts += -nomake examples +$(package)_config_opts += -nomake tests +$(package)_config_opts += -opensource +$(package)_config_opts += -openssl-linked +$(package)_config_opts += -optimized-qmake +$(package)_config_opts += -pch +$(package)_config_opts += -pkg-config +$(package)_config_opts += -prefix $(host_prefix) +$(package)_config_opts += -qt-libpng +$(package)_config_opts += -qt-libjpeg +$(package)_config_opts += -qt-pcre +$(package)_config_opts += -system-zlib +$(package)_config_opts += -reduce-exports +$(package)_config_opts += -static +$(package)_config_opts += -silent +$(package)_config_opts += -v +$(package)_config_opts += -no-feature-printer +$(package)_config_opts += -no-feature-printdialog ifneq ($(build_os),darwin) -$(package)_config_opts_darwin = -xplatform macx-clang-linux -device-option MAC_SDK_PATH=$(OSX_SDK) -device-option CROSS_COMPILE="$(host)-" -$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) -device-option MAC_TARGET=$(host) -device-option MAC_LD64_VERSION=$(LD64_VERSION) +$(package)_config_opts_darwin = -xplatform macx-clang-linux +$(package)_config_opts_darwin += -device-option MAC_SDK_PATH=$(OSX_SDK) +$(package)_config_opts_darwin += -device-option MAC_SDK_VERSION=$(OSX_SDK_VERSION) +$(package)_config_opts_darwin += -device-option CROSS_COMPILE="$(host)-" +$(package)_config_opts_darwin += -device-option MAC_MIN_VERSION=$(OSX_MIN_VERSION) +$(package)_config_opts_darwin += -device-option MAC_TARGET=$(host) +$(package)_config_opts_darwin += -device-option MAC_LD64_VERSION=$(LD64_VERSION) endif -$(package)_config_opts_linux = -qt-xkbcommon -qt-xcb -no-eglfs -no-linuxfb -system-freetype -no-sm -fontconfig -no-xinput2 -no-libudev -no-egl -no-opengl +$(package)_config_opts_linux = -qt-xkbcommon +$(package)_config_opts_linux += -qt-xcb +$(package)_config_opts_linux += -system-freetype +$(package)_config_opts_linux += -no-sm +$(package)_config_opts_linux += -fontconfig +$(package)_config_opts_linux += -no-opengl $(package)_config_opts_arm_linux = -platform linux-g++ -xplatform $(host) +$(package)_config_opts_aarch64_linux = -platform linux-g++ -xplatform $(host) $(package)_config_opts_i686_linux = -xplatform linux-g++-32 $(package)_config_opts_mingw32 = -no-opengl -xplatform win32-g++ -device-option CROSS_COMPILE="$(host)-" $(package)_build_env = QT_RCC_TEST=1 endef +define $(package)_fetch_cmds +$(call fetch_file,$(package),$($(package)_download_path),$($(package)_download_file),$($(package)_file_name),$($(package)_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttranslations_file_name),$($(package)_qttranslations_file_name),$($(package)_qttranslations_sha256_hash)) && \ +$(call fetch_file,$(package),$($(package)_download_path),$($(package)_qttools_file_name),$($(package)_qttools_file_name),$($(package)_qttools_sha256_hash)) +endef + +define $(package)_extract_cmds + mkdir -p $($(package)_extract_dir) && \ + echo "$($(package)_sha256_hash) $($(package)_source)" > $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + echo "$($(package)_qttranslations_sha256_hash) $($(package)_source_dir)/$($(package)_qttranslations_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + echo "$($(package)_qttools_sha256_hash) $($(package)_source_dir)/$($(package)_qttools_file_name)" >> $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + $(build_SHA256SUM) -c $($(package)_extract_dir)/.$($(package)_file_name).hash && \ + mkdir qtbase && \ + tar --strip-components=1 -xf $($(package)_source) -C qtbase && \ + mkdir qttranslations && \ + tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttranslations_file_name) -C qttranslations && \ + mkdir qttools && \ + tar --strip-components=1 -xf $($(package)_source_dir)/$($(package)_qttools_file_name) -C qttools +endef + + define $(package)_preprocess_cmds sed -i.old "s|updateqm.commands = \$$$$\$$$$LRELEASE|updateqm.commands = $($(package)_extract_dir)/qttools/bin/lrelease|" qttranslations/translations/translations.pro && \ + sed -i.old "/updateqm.depends =/d" qttranslations/translations/translations.pro && \ sed -i.old "s/src_plugins.depends = src_sql src_xml src_network/src_plugins.depends = src_xml src_network/" qtbase/src/src.pro && \ - sed -i.old "/XIproto.h/d" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \ + sed -i.old "s|X11/extensions/XIproto.h|X11/X.h|" qtbase/src/plugins/platforms/xcb/qxcbxsettings.cpp && \ sed -i.old 's/if \[ "$$$$XPLATFORM_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/if \[ "$$$$BUILD_ON_MAC" = "yes" \]; then xspecvals=$$$$(macSDKify/' qtbase/configure && \ + sed -i.old 's/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0)/CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft)/' qtbase/src/plugins/platforms/cocoa/qcocoacursor.mm && \ mkdir -p qtbase/mkspecs/macx-clang-linux &&\ cp -f qtbase/mkspecs/macx-clang/Info.plist.lib qtbase/mkspecs/macx-clang-linux/ &&\ cp -f qtbase/mkspecs/macx-clang/Info.plist.app qtbase/mkspecs/macx-clang-linux/ &&\ cp -f qtbase/mkspecs/macx-clang/qplatformdefs.h qtbase/mkspecs/macx-clang-linux/ &&\ cp -f $($(package)_patch_dir)/mac-qmake.conf qtbase/mkspecs/macx-clang-linux/qmake.conf && \ + mkdir -p qtbase/mkspecs/arm-linux-gnueabihf &&\ + cp -f qtbase/mkspecs/linux-arm-gnueabi-g++/qplatformdefs.h qtbase/mkspecs/arm-linux-gnueabihf/ &&\ + cp -f $($(package)_patch_dir)/aarch32-qmake.conf qtbase/mkspecs/arm-linux-gnueabihf/qmake.conf &&\ + mkdir -p qtbase/mkspecs/aarch64-linux-gnu &&\ + cp -f qtbase/mkspecs/linux-arm-gnueabi-g++/qplatformdefs.h qtbase/mkspecs/aarch64-linux-gnu/ &&\ + cp -f $($(package)_patch_dir)/aarch64-qmake.conf qtbase/mkspecs/aarch64-linux-gnu/qmake.conf &&\ + patch -p1 < $($(package)_patch_dir)/mingw-uuidof.patch && \ + patch -p1 < $($(package)_patch_dir)/pidlist_absolute.patch && \ patch -p1 < $($(package)_patch_dir)/fix-xcb-include-order.patch && \ - patch -p1 < $($(package)_patch_dir)/qt5-tablet-osx.patch && \ - patch -d qtbase -p1 < $($(package)_patch_dir)/qt5-yosemite.patch && \ - echo "QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ - echo "QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ - echo "QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ - sed -i.old "s|QMAKE_CFLAGS = |QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ - sed -i.old "s|QMAKE_LFLAGS = |QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ - sed -i.old "s|QMAKE_CXXFLAGS = |QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf + patch -p1 < $($(package)_patch_dir)/fix_qt_pkgconfig.patch && \ + echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \ + sed -i.old "s|QMAKE_CFLAGS = |!host_build: QMAKE_CFLAGS = $($(package)_cflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ + sed -i.old "s|QMAKE_LFLAGS = |!host_build: QMAKE_LFLAGS = $($(package)_ldflags) |" qtbase/mkspecs/win32-g++/qmake.conf && \ + sed -i.old "s|QMAKE_CXXFLAGS = |!host_build: QMAKE_CXXFLAGS = $($(package)_cxxflags) $($(package)_cppflags) |" qtbase/mkspecs/win32-g++/qmake.conf + endef define $(package)_config_cmds export PKG_CONFIG_SYSROOT_DIR=/ && \ export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \ export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \ - export CPATH=$(host_prefix)/include && \ ./configure $($(package)_config_opts) && \ + echo "host_build: QT_CONFIG ~= s/system-zlib/zlib" >> mkspecs/qconfig.pri && \ + echo "CONFIG += force_bootstrap" >> mkspecs/qconfig.pri && \ $(MAKE) sub-src-clean && \ cd ../qttranslations && ../qtbase/bin/qmake qttranslations.pro -o Makefile && \ cd translations && ../../qtbase/bin/qmake translations.pro -o Makefile && cd ../.. &&\ @@ -78,7 +170,6 @@ define $(package)_config_cmds endef define $(package)_build_cmds - export CPATH=$(host_prefix)/include && \ $(MAKE) -C src $(addprefix sub-,$($(package)_qt_libs)) && \ $(MAKE) -C ../qttools/src/linguist/lrelease && \ $(MAKE) -C ../qttranslations @@ -94,6 +185,6 @@ define $(package)_stage_cmds endef define $(package)_postprocess_cmds - rm -rf mkspecs/ lib/cmake/ && \ - rm lib/libQt5Bootstrap.a lib/lib*.la lib/*.prl plugins/*/*.prl + rm -rf native/mkspecs/ native/lib/ lib/cmake/ && \ + rm -f lib/lib*.la lib/*.prl plugins/*/*.prl endef diff --git a/depends/packages/qt46.mk b/depends/packages/qt46.mk deleted file mode 100644 index 8fb30a5c4..000000000 --- a/depends/packages/qt46.mk +++ /dev/null @@ -1,66 +0,0 @@ -PACKAGE=qt46 -$(package)_version=4.6.4 -$(package)_download_path=http://download.qt-project.org/archive/qt/4.6/ -$(package)_file_name=qt-everywhere-opensource-src-$($(package)_version).tar.gz -$(package)_sha256_hash=9ad4d46c721b53a429ed5a2eecfd3c239a9ab566562f183f99d3125f1a234250 -$(package)_dependencies=openssl freetype dbus libX11 xproto libXext libICE libSM -$(package)_patches=stlfix.patch - -define $(package)_set_vars -$(package)_config_opts = -prefix $(host_prefix) -headerdir $(host_prefix)/include/qt4 -bindir $(build_prefix)/bin -$(package)_config_opts += -release -no-separate-debug-info -opensource -confirm-license -$(package)_config_opts += -stl -qt-zlib - -$(package)_config_opts += -nomake examples -nomake tests -nomake tools -nomake translations -nomake demos -nomake docs -$(package)_config_opts += -no-audio-backend -no-glib -no-nis -no-cups -no-iconv -no-gif -no-pch -$(package)_config_opts += -no-xkb -no-xrender -no-xrandr -no-xfixes -no-xcursor -no-xinerama -no-xsync -no-xinput -no-mitshm -no-xshape -$(package)_config_opts += -no-libtiff -no-fontconfig -openssl-linked -$(package)_config_opts += -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-tds -no-sql-mysql -$(package)_config_opts += -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -$(package)_config_opts += -no-xmlpatterns -no-multimedia -no-phonon -no-scripttools -no-declarative -$(package)_config_opts += -no-phonon-backend -no-webkit -no-javascript-jit -no-script -$(package)_config_opts += -no-svg -no-libjpeg -no-libtiff -no-libpng -no-libmng -no-qt3support -no-opengl - -$(package)_config_opts_x86_64_linux += -platform linux-g++-64 -$(package)_config_opts_i686_linux = -platform linux-g++-32 -$(package)_build_env = QT_RCC_TEST=1 -endef - -define $(package)_preprocess_cmds - sed -i.old "s|/include /usr/include||" config.tests/unix/freetype/freetype.pri && \ - sed -i.old "s|src_plugins.depends = src_gui src_sql src_svg|src_plugins.depends = src_gui src_sql|" src/src.pro && \ - sed -i.old "s|\.lower(|\.toLower(|g" src/network/ssl/qsslsocket_openssl.cpp && \ - sed -i.old "s|Key_BackSpace|Key_Backspace|" src/gui/itemviews/qabstractitemview.cpp && \ - sed -i.old "s|/usr/X11R6/lib64|$(host_prefix)/lib|" mkspecs/*/*.conf && \ - sed -i.old "s|/usr/X11R6/lib|$(host_prefix)/lib|" mkspecs/*/*.conf && \ - sed -i.old "s|/usr/X11R6/include|$(host_prefix)/include|" mkspecs/*/*.conf && \ - sed -i.old "s|QMAKE_LFLAGS_SHLIB\t+= -shared|QMAKE_LFLAGS_SHLIB\t+= -shared -Wl,--exclude-libs,ALL|" mkspecs/common/g++.conf && \ - sed -i.old "/SSLv2_client_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \ - sed -i.old "/SSLv2_server_method/d" src/network/ssl/qsslsocket_openssl.cpp src/network/ssl/qsslsocket_openssl_symbols.cpp && \ - patch -p1 < $($(package)_patch_dir)/stlfix.patch -endef - -define $(package)_config_cmds - export PKG_CONFIG_SYSROOT_DIR=/ && \ - export PKG_CONFIG_LIBDIR=$(host_prefix)/lib/pkgconfig && \ - export PKG_CONFIG_PATH=$(host_prefix)/share/pkgconfig && \ - export CPATH=$(host_prefix)/include && \ - OPENSSL_LIBS='-L$(host_prefix)/lib -lssl -lcrypto' ./configure $($(package)_config_opts) && \ - cd tools/linguist/lrelease; ../../../bin/qmake -o Makefile lrelease.pro -endef - -define $(package)_build_cmds - export CPATH=$(host_prefix)/include && \ - $(MAKE) -C src && \ - $(MAKE) -C tools/linguist/lrelease -endef - -define $(package)_stage_cmds - $(MAKE) -C src INSTALL_ROOT=$($(package)_staging_dir) install && \ - $(MAKE) -C tools/linguist/lrelease INSTALL_ROOT=$($(package)_staging_dir) install -endef - -define $(package)_postprocess_cmds - rm -rf mkspecs/ lib/cmake/ lib/*.prl lib/*.la && \ - find native/bin -type f -exec mv {} {}-qt4 \; -endef diff --git a/depends/packages/xextproto.mk b/depends/packages/xextproto.mk index 98a11eb49..65b6489c3 100644 --- a/depends/packages/xextproto.mk +++ b/depends/packages/xextproto.mk @@ -3,6 +3,11 @@ $(package)_version=7.3.0 $(package)_download_path=http://xorg.freedesktop.org/releases/individual/proto $(package)_file_name=$(package)-$($(package)_version).tar.bz2 $(package)_sha256_hash=f3f4b23ac8db9c3a9e0d8edb591713f3d70ef9c3b175970dd8823dfc92aa5bb0 +$(package)_patches=fix_aarch64_build.patch + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/fix_aarch64_build.patch +endef define $(package)_set_vars $(package)_config_opts=--disable-shared diff --git a/depends/packages/zeromq.mk b/depends/packages/zeromq.mk new file mode 100644 index 000000000..3f97221e1 --- /dev/null +++ b/depends/packages/zeromq.mk @@ -0,0 +1,34 @@ +package=zeromq +$(package)_version=4.2.2 +$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/ +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=5b23f4ca9ef545d5bd3af55d305765e3ee06b986263b31967435d285a3e6df6b +$(package)_patches=0001-fix-build-with-older-mingw64.patch + +define $(package)_set_vars + $(package)_config_opts=--without-docs --disable-shared --without-libsodium --disable-curve --disable-curve-keygen --disable-perf + $(package)_config_opts_linux=--with-pic + $(package)_cxxflags=-std=c++11 +endef + +define $(package)_preprocess_cmds + patch -p1 < $($(package)_patch_dir)/0001-fix-build-with-older-mingw64.patch && \ + ./autogen.sh +endef + +define $(package)_config_cmds + $($(package)_autoconf) +endef + +define $(package)_build_cmds + $(MAKE) src/libzmq.la +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA +endef + +define $(package)_postprocess_cmds + sed -i.old "s/ -lstdc++//" lib/pkgconfig/libzmq.pc && \ + rm -rf bin share +endef diff --git a/depends/packages/zlib.mk b/depends/packages/zlib.mk new file mode 100644 index 000000000..589490800 --- /dev/null +++ b/depends/packages/zlib.mk @@ -0,0 +1,27 @@ +package=zlib +$(package)_version=1.2.11 +$(package)_download_path=http://www.zlib.net +$(package)_file_name=$(package)-$($(package)_version).tar.gz +$(package)_sha256_hash=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1 + +define $(package)_set_vars +$(package)_build_opts= CC="$($(package)_cc)" +$(package)_build_opts+=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC" +$(package)_build_opts+=RANLIB="$($(package)_ranlib)" +$(package)_build_opts+=AR="$($(package)_ar)" +$(package)_build_opts_darwin+=AR="$($(package)_libtool)" +$(package)_build_opts_darwin+=ARFLAGS="-o" +endef + +define $(package)_config_cmds + ./configure --static --prefix=$(host_prefix) +endef + +define $(package)_build_cmds + $(MAKE) $($(package)_build_opts) libz.a +endef + +define $(package)_stage_cmds + $(MAKE) DESTDIR=$($(package)_staging_dir) install $($(package)_build_opts) +endef + diff --git a/depends/patches/boost/darwin_boost_atomic-1.patch b/depends/patches/boost/darwin_boost_atomic-1.patch deleted file mode 100644 index 97f59cb7e..000000000 --- a/depends/patches/boost/darwin_boost_atomic-1.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/include/boost/atomic/detail/cas128strong.hpp b/include/boost/atomic/detail/cas128strong.hpp -index 906c13e..dcb4d7d 100644 ---- a/include/boost/atomic/detail/cas128strong.hpp -+++ b/include/boost/atomic/detail/cas128strong.hpp -@@ -196,15 +196,17 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void - store(value_type const& value, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type value_s = 0; -+ storage_type value_s; -+ memset(&value_s, 0, sizeof(value_s)); - memcpy(&value_s, &value, sizeof(value_type)); - platform_fence_before_store(order); - platform_store128(value_s, &v_); -@@ -247,7 +249,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - diff --git a/depends/patches/boost/darwin_boost_atomic-2.patch b/depends/patches/boost/darwin_boost_atomic-2.patch deleted file mode 100644 index ca5076520..000000000 --- a/depends/patches/boost/darwin_boost_atomic-2.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/include/boost/atomic/detail/gcc-atomic.hpp b/include/boost/atomic/detail/gcc-atomic.hpp -index a130590..4af99a1 100644 ---- a/include/boost/atomic/detail/gcc-atomic.hpp -+++ b/include/boost/atomic/detail/gcc-atomic.hpp -@@ -958,14 +958,16 @@ class base_atomic - - public: - BOOST_DEFAULTED_FUNCTION(base_atomic(void), {}) -- explicit base_atomic(value_type const& v) BOOST_NOEXCEPT : v_(0) -+ explicit base_atomic(value_type const& v) BOOST_NOEXCEPT - { -+ memset(&v_, 0, sizeof(v_)); - memcpy(&v_, &v, sizeof(value_type)); - } - - void store(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - __atomic_store_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - } -@@ -980,7 +982,8 @@ class base_atomic - - value_type exchange(value_type const& v, memory_order order = memory_order_seq_cst) volatile BOOST_NOEXCEPT - { -- storage_type tmp = 0; -+ storage_type tmp; -+ memset(&tmp, 0, sizeof(tmp)); - memcpy(&tmp, &v, sizeof(value_type)); - tmp = __atomic_exchange_n(&v_, tmp, atomics::detail::convert_memory_order_to_gcc(order)); - value_type res; -@@ -994,7 +997,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, false, -@@ -1010,7 +1015,9 @@ class base_atomic - memory_order success_order, - memory_order failure_order) volatile BOOST_NOEXCEPT - { -- storage_type expected_s = 0, desired_s = 0; -+ storage_type expected_s, desired_s; -+ memset(&expected_s, 0, sizeof(expected_s)); -+ memset(&desired_s, 0, sizeof(desired_s)); - memcpy(&expected_s, &expected, sizeof(value_type)); - memcpy(&desired_s, &desired, sizeof(value_type)); - const bool success = __atomic_compare_exchange_n(&v_, &expected_s, desired_s, true, diff --git a/depends/patches/native_biplist/sorted_list.patch b/depends/patches/native_biplist/sorted_list.patch new file mode 100644 index 000000000..89abdb1b7 --- /dev/null +++ b/depends/patches/native_biplist/sorted_list.patch @@ -0,0 +1,29 @@ +--- a/biplist/__init__.py 2014-10-26 19:03:11.000000000 +0000 ++++ b/biplist/__init__.py 2016-07-19 19:30:17.663521999 +0000 +@@ -541,7 +541,7 @@ + return HashableWrapper(n) + elif isinstance(root, dict): + n = {} +- for key, value in iteritems(root): ++ for key, value in sorted(iteritems(root)): + n[self.wrapRoot(key)] = self.wrapRoot(value) + return HashableWrapper(n) + elif isinstance(root, list): +@@ -616,7 +616,7 @@ + elif isinstance(obj, dict): + size = proc_size(len(obj)) + self.incrementByteCount('dictBytes', incr=1+size) +- for key, value in iteritems(obj): ++ for key, value in sorted(iteritems(obj)): + check_key(key) + self.computeOffsets(key, asReference=True) + self.computeOffsets(value, asReference=True) +@@ -714,7 +714,7 @@ + keys = [] + values = [] + objectsToWrite = [] +- for key, value in iteritems(obj): ++ for key, value in sorted(iteritems(obj)): + keys.append(key) + values.append(value) + for key in keys: diff --git a/depends/patches/native_mac_alias/python3.patch b/depends/patches/native_mac_alias/python3.patch new file mode 100644 index 000000000..6f2f5534a --- /dev/null +++ b/depends/patches/native_mac_alias/python3.patch @@ -0,0 +1,56 @@ +diff -dur a/mac_alias/alias.py b/mac_alias/alias.py +--- a/mac_alias/alias.py ++++ b/mac_alias/alias.py +@@ -258,10 +258,10 @@ + alias = Alias() + alias.appinfo = appinfo + +- alias.volume = VolumeInfo (volname.replace('/',':'), ++ alias.volume = VolumeInfo (volname.decode().replace('/',':'), + voldate, fstype, disktype, + volattrs, volfsid) +- alias.target = TargetInfo (kind, filename.replace('/',':'), ++ alias.target = TargetInfo (kind, filename.decode().replace('/',':'), + folder_cnid, cnid, + crdate, creator_code, type_code) + alias.target.levels_from = levels_from +@@ -276,9 +276,9 @@ + b.read(1) + + if tag == TAG_CARBON_FOLDER_NAME: +- alias.target.folder_name = value.replace('/',':') ++ alias.target.folder_name = value.decode().replace('/',':') + elif tag == TAG_CNID_PATH: +- alias.target.cnid_path = struct.unpack(b'>%uI' % (length // 4), ++ alias.target.cnid_path = struct.unpack('>%uI' % (length // 4), + value) + elif tag == TAG_CARBON_PATH: + alias.target.carbon_path = value +@@ -313,9 +313,9 @@ + alias.target.creation_date \ + = mac_epoch + datetime.timedelta(seconds=seconds) + elif tag == TAG_POSIX_PATH: +- alias.target.posix_path = value ++ alias.target.posix_path = value.decode() + elif tag == TAG_POSIX_PATH_TO_MOUNTPOINT: +- alias.volume.posix_path = value ++ alias.volume.posix_path = value.decode() + elif tag == TAG_RECURSIVE_ALIAS_OF_DISK_IMAGE: + alias.volume.disk_image_alias = Alias.from_bytes(value) + elif tag == TAG_USER_HOME_LENGTH_PREFIX: +@@ -467,12 +467,12 @@ + + b.write(struct.pack(b'>hhQhhQ', + TAG_HIGH_RES_VOLUME_CREATION_DATE, +- 8, long(voldate * 65536), ++ 8, int(voldate * 65536), + TAG_HIGH_RES_CREATION_DATE, +- 8, long(crdate * 65536))) ++ 8, int(crdate * 65536))) + + if self.target.cnid_path: +- cnid_path = struct.pack(b'>%uI' % len(self.target.cnid_path), ++ cnid_path = struct.pack('>%uI' % len(self.target.cnid_path), + *self.target.cnid_path) + b.write(struct.pack(b'>hh', TAG_CNID_PATH, + len(cnid_path))) diff --git a/depends/patches/qt/aarch32-qmake.conf b/depends/patches/qt/aarch32-qmake.conf new file mode 100644 index 000000000..da3f2990c --- /dev/null +++ b/depends/patches/qt/aarch32-qmake.conf @@ -0,0 +1,24 @@ +# +# qmake configuration for building with arm-linux-gnueabi-g++ +# + +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental +QMAKE_INCREMENTAL_STYLE = sublib + +include(../common/linux.conf) +include(../common/gcc-base-unix.conf) +include(../common/g++-unix.conf) + +# modifications to g++.conf +QMAKE_CC = arm-linux-gnueabihf-gcc +QMAKE_CXX = arm-linux-gnueabihf-g++ +QMAKE_LINK = arm-linux-gnueabihf-g++ +QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++ + +# modifications to linux.conf +QMAKE_AR = arm-linux-gnueabihf-ar cqs +QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy +QMAKE_NM = arm-linux-gnueabihf-nm -P +QMAKE_STRIP = arm-linux-gnueabihf-strip +load(qt_config) diff --git a/depends/patches/qt/aarch64-qmake.conf b/depends/patches/qt/aarch64-qmake.conf new file mode 100644 index 000000000..8e68a66d8 --- /dev/null +++ b/depends/patches/qt/aarch64-qmake.conf @@ -0,0 +1,20 @@ +MAKEFILE_GENERATOR = UNIX +CONFIG += incremental +QMAKE_INCREMENTAL_STYLE = sublib + +include(../common/linux.conf) +include(../common/gcc-base-unix.conf) +include(../common/g++-unix.conf) + +# modifications to g++.conf +QMAKE_CC = aarch64-linux-gnu-gcc +QMAKE_CXX = aarch64-linux-gnu-g++ +QMAKE_LINK = aarch64-linux-gnu-g++ +QMAKE_LINK_SHLIB = aarch64-linux-gnu-g++ + +# modifications to linux.conf +QMAKE_AR = aarch64-linux-gnu-ar cqs +QMAKE_OBJCOPY = aarch64-linux-gnu-objcopy +QMAKE_NM = aarch64-linux-gnu-nm -P +QMAKE_STRIP = aarch64-linux-gnu-strip +load(qt_config) diff --git a/depends/patches/qt/fix-xcb-include-order.patch b/depends/patches/qt/fix-xcb-include-order.patch index bf6c6dca3..ec2bc17d9 100644 --- a/depends/patches/qt/fix-xcb-include-order.patch +++ b/depends/patches/qt/fix-xcb-include-order.patch @@ -1,21 +1,49 @@ ---- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:17:27.384458441 -0400 -+++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro 2014-07-30 18:18:28.620459303 -0400 -@@ -101,10 +101,6 @@ - } - } +--- old/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 ++++ new/qtbase/src/plugins/platforms/xcb/xcb_qpa_lib.pro 2015-03-17 +@@ -76,8 +76,6 @@ --DEFINES += $$QMAKE_DEFINES_XCB --LIBS += $$QMAKE_LIBS_XCB + DEFINES += $$QMAKE_DEFINES_XCB + LIBS += $$QMAKE_LIBS_XCB -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB -- +-QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB + CONFIG += qpa/genericunixfontdatabase - contains(QT_CONFIG, dbus) { -@@ -141,3 +137,7 @@ - INCLUDEPATH += ../../../3rdparty/xkbcommon/xkbcommon/ - } - } +@@ -89,7 +87,8 @@ + contains(QT_CONFIG, xcb-qt) { + DEFINES += XCB_USE_RENDER + XCB_DIR = ../../../3rdparty/xcb +- INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/sysinclude ++ QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB ++ QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB + LIBS += -lxcb -L$$MODULE_BASE_OUTDIR/lib -lxcb-static$$qtPlatformTargetSuffix() + } else { + LIBS += -lxcb -lxcb-image -lxcb-icccm -lxcb-sync -lxcb-xfixes -lxcb-shm -lxcb-randr -lxcb-shape -lxcb-keysyms -lxcb-xinerama +--- old/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro ++++ new/qtbase/src/plugins/platforms/xcb/xcb-static/xcb-static.pro +@@ -9,7 +9,8 @@ + + XCB_DIR = ../../../../3rdparty/xcb + +-INCLUDEPATH += $$XCB_DIR/include $$XCB_DIR/include/xcb $$XCB_DIR/sysinclude ++QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude ++QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/include/xcb -I$$XCB_DIR/sysinclude + + QMAKE_CXXFLAGS += $$QMAKE_CFLAGS_XCB + QMAKE_CFLAGS += $$QMAKE_CFLAGS_XCB +--- old/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro ++++ new/qtbase/src/plugins/platforms/xcb/xcb-plugin.pro +@@ -6,6 +6,13 @@ + qxcbmain.cpp + OTHER_FILES += xcb.json README + ++contains(QT_CONFIG, xcb-qt) { ++ DEFINES += XCB_USE_RENDER ++ XCB_DIR = ../../../3rdparty/xcb ++ QMAKE_CFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB ++ QMAKE_CXXFLAGS += -I$$XCB_DIR/include -I$$XCB_DIR/sysinclude $$QMAKE_CFLAGS_XCB ++} + -+DEFINES += $$QMAKE_DEFINES_XCB -+LIBS += $$QMAKE_LIBS_XCB -+INCLUDEPATH += $$QMAKE_CFLAGS_XCB + PLUGIN_TYPE = platforms + PLUGIN_CLASS_NAME = QXcbIntegrationPlugin + !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - diff --git a/depends/patches/qt/fix_qt_pkgconfig.patch b/depends/patches/qt/fix_qt_pkgconfig.patch new file mode 100644 index 000000000..34302a9f2 --- /dev/null +++ b/depends/patches/qt/fix_qt_pkgconfig.patch @@ -0,0 +1,11 @@ +--- old/qtbase/mkspecs/features/qt_module.prf ++++ new/qtbase/mkspecs/features/qt_module.prf +@@ -245,7 +245,7 @@ + load(qt_targets) + + # this builds on top of qt_common +-!internal_module:!lib_bundle:if(unix|mingw) { ++unix|mingw { + CONFIG += create_pc + QMAKE_PKGCONFIG_DESTDIR = pkgconfig + host_build: \ diff --git a/depends/patches/qt/mac-qmake.conf b/depends/patches/qt/mac-qmake.conf index a97945bc8..236988fd1 100644 --- a/depends/patches/qt/mac-qmake.conf +++ b/depends/patches/qt/mac-qmake.conf @@ -1,6 +1,7 @@ MAKEFILE_GENERATOR = UNIX CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname absolute_library_soname QMAKE_INCREMENTAL_STYLE = sublib +QMAKE_APPLE_DEVICE_ARCHS = x86_64 include(../common/macx.conf) include(../common/gcc-base-mac.conf) include(../common/clang.conf) @@ -8,14 +9,16 @@ include(../common/clang-mac.conf) QMAKE_MAC_SDK_PATH=$${MAC_SDK_PATH} QMAKE_XCODE_VERSION=4.3 QMAKE_XCODE_DEVELOPER_PATH=/Developer -QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION} QMAKE_MAC_SDK=macosx -QMAKE_MAC_SDK.macosx.path = $$QMAKE_MAC_SDK_PATH +QMAKE_MAC_SDK.macosx.Path = $${MAC_SDK_PATH} QMAKE_MAC_SDK.macosx.platform_name = macosx -QMAKE_CFLAGS += -target $${MAC_TARGET} -QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS -QMAKE_CXXFLAGS += $$QMAKE_CFLAGS -QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} +QMAKE_MAC_SDK.macosx.SDKVersion = $${MAC_SDK_VERSION} +QMAKE_MAC_SDK.macosx.PlatformPath = /phony +QMAKE_MACOSX_DEPLOYMENT_TARGET = $${MAC_MIN_VERSION} +!host_build: QMAKE_CFLAGS += -target $${MAC_TARGET} +!host_build: QMAKE_OBJECTIVE_CFLAGS += $$QMAKE_CFLAGS +!host_build: QMAKE_CXXFLAGS += $$QMAKE_CFLAGS +!host_build: QMAKE_LFLAGS += -target $${MAC_TARGET} -mlinker-version=$${MAC_LD64_VERSION} QMAKE_AR = $${CROSS_COMPILE}ar cq QMAKE_RANLIB=$${CROSS_COMPILE}ranlib QMAKE_LIBTOOL=$${CROSS_COMPILE}libtool diff --git a/depends/patches/qt/mingw-uuidof.patch b/depends/patches/qt/mingw-uuidof.patch new file mode 100644 index 000000000..fb21923c8 --- /dev/null +++ b/depends/patches/qt/mingw-uuidof.patch @@ -0,0 +1,44 @@ +--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp ++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.cpp +@@ -77,7 +77,7 @@ + #include + #include + #include +-#ifndef Q_OS_WINCE ++#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1)) + # include + #endif + +@@ -814,7 +814,7 @@ + HWND_MESSAGE, NULL, static_cast(GetModuleHandle(0)), NULL); + } + +-#ifndef Q_OS_WINCE ++#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1)) + // Re-engineered from the inline function _com_error::ErrorMessage(). + // We cannot use it directly since it uses swprintf_s(), which is not + // present in the MSVCRT.DLL found on Windows XP (QTBUG-35617). +@@ -833,7 +833,7 @@ + return QString::asprintf("IDispatch error #%u", uint(wCode)); + return QString::asprintf("Unknown error 0x0%x", uint(comError.Error())); + } +-#endif // !Q_OS_WINCE ++#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1)) + + /*! + \brief Common COM error strings. +@@ -901,12 +901,12 @@ + default: + break; + } +-#ifndef Q_OS_WINCE ++#if !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1)) + _com_error error(hr); + result += QByteArrayLiteral(" ("); + result += errorMessageFromComError(error); + result += ')'; +-#endif // !Q_OS_WINCE ++#endif // !defined(Q_OS_WINCE) && (!defined(USE___UUIDOF) || (defined(USE___UUIDOF) && USE___UUIDOF == 1)) + return result; + } + diff --git a/depends/patches/qt/pidlist_absolute.patch b/depends/patches/qt/pidlist_absolute.patch new file mode 100644 index 000000000..c79282417 --- /dev/null +++ b/depends/patches/qt/pidlist_absolute.patch @@ -0,0 +1,37 @@ +diff -dur old/qtbase/src/plugins/platforms/windows/qwindowscontext.h new/qtbase/src/plugins/platforms/windows/qwindowscontext.h +--- old/qtbase/src/plugins/platforms/windows/qwindowscontext.h ++++ new/qtbase/src/plugins/platforms/windows/qwindowscontext.h +@@ -136,10 +136,18 @@ + inline void init(); + + typedef HRESULT (WINAPI *SHCreateItemFromParsingName)(PCWSTR, IBindCtx *, const GUID&, void **); ++#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3) ++ typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, ITEMIDLIST **); ++#else + typedef HRESULT (WINAPI *SHGetKnownFolderIDList)(const GUID &, DWORD, HANDLE, PIDLIST_ABSOLUTE *); ++#endif + typedef HRESULT (WINAPI *SHGetStockIconInfo)(int , int , _SHSTOCKICONINFO *); + typedef HRESULT (WINAPI *SHGetImageList)(int, REFIID , void **); ++#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3) ++ typedef HRESULT (WINAPI *SHCreateItemFromIDList)(const ITEMIDLIST *, REFIID, void **); ++#else + typedef HRESULT (WINAPI *SHCreateItemFromIDList)(PCIDLIST_ABSOLUTE, REFIID, void **); ++#endif + + SHCreateItemFromParsingName sHCreateItemFromParsingName; + SHGetKnownFolderIDList sHGetKnownFolderIDList; +diff -dur old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp +--- old/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp ++++ new/qtbase/src/plugins/platforms/windows/qwindowsdialoghelpers.cpp +@@ -1016,7 +1016,11 @@ + qWarning() << __FUNCTION__ << ": Invalid CLSID: " << url.path(); + return Q_NULLPTR; + } ++#if defined(Q_CC_MINGW) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 3) ++ ITEMIDLIST *idList; ++#else + PIDLIST_ABSOLUTE idList; ++#endif + HRESULT hr = QWindowsContext::shell32dll.sHGetKnownFolderIDList(uuid, 0, 0, &idList); + if (FAILED(hr)) { + qErrnoWarning("%s: SHGetKnownFolderIDList(%s)) failed", __FUNCTION__, qPrintable(url.toString())); diff --git a/depends/patches/qt/qt5-tablet-osx.patch b/depends/patches/qt/qt5-tablet-osx.patch deleted file mode 100644 index 7deabf8d4..000000000 --- a/depends/patches/qt/qt5-tablet-osx.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- old/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:45:18.717570370 -0400 -+++ new/qtbase/src/widgets/kernel/qwidgetwindow.cpp 2014-09-05 20:52:38.653576561 -0400 -@@ -57,7 +57,7 @@ - Q_WIDGETS_EXPORT extern bool qt_tab_all_widgets(); - - QWidget *qt_button_down = 0; // widget got last button-down --static QWidget *qt_tablet_target = 0; -+static QPointer qt_tablet_target = 0; - - // popup control - QWidget *qt_popup_down = 0; // popup that contains the pressed widget -@@ -96,8 +96,6 @@ - - QWidgetWindow::~QWidgetWindow() - { -- if (m_widget == qt_tablet_target) -- qt_tablet_target = 0; - } - - #ifndef QT_NO_ACCESSIBILITY diff --git a/depends/patches/qt/qt5-yosemite.patch b/depends/patches/qt/qt5-yosemite.patch deleted file mode 100644 index d569d34d4..000000000 --- a/depends/patches/qt/qt5-yosemite.patch +++ /dev/null @@ -1,52 +0,0 @@ -The following patch was taken from upstream: -https://qt.gitorious.org/qt/qtbase/commit/70e4428b6f1c6a4bad112203f67ee7d22107616c.patch - -The first hunk was removed because it conflicts with 5.2.1, and is not currently needed. - -From 70e4428b6f1c6a4bad112203f67ee7d22107616c Mon Sep 17 00:00:00 2001 -From: Gabriel de Dietrich -Date: Tue, 3 Jun 2014 14:20:20 +0200 -Subject: [PATCH] Cocoa: Adapt to Xcode 6 clang version sudden pickiness -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Yes, that means OS X Yosemite fix. - -Change-Id: I236f7af7b803de24ff0895e04c9a9253b5cfdb3b -Reviewed-by: Morten Johan Sørvig ---- - .../platforms/cocoa/qcocoaaccessibilityelement.mm | 2 +- - .../platforms/cocoa/qcocoaapplicationdelegate.mm | 2 +- - src/plugins/platforms/cocoa/qcocoamenuloader.mm | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -index f841184..548c6a2 100644 ---- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm -@@ -124,7 +124,7 @@ static void cleanupCocoaApplicationDelegate() - [dockMenu release]; - [qtMenuLoader release]; - if (reflectionDelegate) { -- [NSApp setDelegate:reflectionDelegate]; -+ [[NSApplication sharedApplication] setDelegate:reflectionDelegate]; - [reflectionDelegate release]; - } - [[NSNotificationCenter defaultCenter] removeObserver:self]; -diff --git a/src/plugins/platforms/cocoa/qcocoamenuloader.mm b/src/plugins/platforms/cocoa/qcocoamenuloader.mm -index 60bc3b5..9340e94 100644 ---- a/src/plugins/platforms/cocoa/qcocoamenuloader.mm -+++ b/src/plugins/platforms/cocoa/qcocoamenuloader.mm -@@ -174,7 +174,7 @@ QT_END_NAMESPACE - - (void)removeActionsFromAppMenu - { - for (NSMenuItem *item in [appMenu itemArray]) -- [item setTag:nil]; -+ [item setTag:0]; - } - - - (void)dealloc --- -1.7.1 - diff --git a/depends/patches/qt46/stlfix.patch b/depends/patches/qt46/stlfix.patch deleted file mode 100644 index f8f6fb04b..000000000 --- a/depends/patches/qt46/stlfix.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- old/config.tests/unix/stl/stltest.cpp 2011-06-23 03:45:23.000000000 -0400 -+++ new/config.tests/unix/stl/stltest.cpp 2014-08-28 00:54:04.154837604 -0400 -@@ -49,6 +49,7 @@ - #include - #include - #include -+#include - - // something mean to see if the compiler and C++ standard lib are good enough - template diff --git a/depends/patches/xextproto/fix_aarch64_build.patch b/depends/patches/xextproto/fix_aarch64_build.patch new file mode 100644 index 000000000..372bbe5a1 --- /dev/null +++ b/depends/patches/xextproto/fix_aarch64_build.patch @@ -0,0 +1,35 @@ +--- old/config.sub 2010-12-06 19:52:05.000000000 -0800 ++++ new/config.sub 2017-03-10 14:46:55.525827000 -0800 +@@ -246,6 +246,7 @@ + # Some are omitted here because they have special meanings below. + 1750a | 580 \ + | a29k \ ++ | aarch64 | aarch64_be \ + | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ + | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ + | am33_2.0 \ +@@ -328,6 +329,7 @@ + # Recognize the basic CPU types with company name. + 580-* \ + | a29k-* \ ++ | aarch64-* | aarch64_be-* \ + | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ + | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ + | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ + +--- old/config.guess 2010-12-06 19:52:05.000000000 -0800 ++++ new/config.guess 2017-03-10 14:50:10.221827000 -0800 +@@ -858,6 +858,13 @@ + i*86:Minix:*:*) + echo ${UNAME_MACHINE}-pc-minix + exit ;; ++ aarch64:Linux:*:*) ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; ++ aarch64_be:Linux:*:*) ++ UNAME_MACHINE=aarch64_be ++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC} ++ exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; diff --git a/depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch b/depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch new file mode 100644 index 000000000..a6c508fb8 --- /dev/null +++ b/depends/patches/zeromq/0001-fix-build-with-older-mingw64.patch @@ -0,0 +1,30 @@ +From 1a159c128c69a42d90819375c06a39994f3fbfc1 Mon Sep 17 00:00:00 2001 +From: Cory Fields +Date: Tue, 28 Nov 2017 20:33:25 -0500 +Subject: [PATCH] fix build with older mingw64 + +--- + src/windows.hpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/windows.hpp b/src/windows.hpp +index 99e889d..e69038e 100644 +--- a/src/windows.hpp ++++ b/src/windows.hpp +@@ -55,6 +55,13 @@ + #include + #include + #include ++ ++#if defined __MINGW64_VERSION_MAJOR && __MINGW64_VERSION_MAJOR < 4 ++// Workaround for mingw-w64 < v4.0 which did not include ws2ipdef.h in iphlpapi.h. ++// Fixed in mingw-w64 by 9bd8fe9148924840d315b4c915dd099955ea89d1. ++#include ++#include ++#endif + #include + + #if !defined __MINGW32__ +-- +2.7.4 + diff --git a/src/Makefile.am b/src/Makefile.am index 1457eb584..803458616 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -80,7 +80,7 @@ BITCOIN_CORE_H = \ version.h \ wallet.h \ walletdb.h \ - voteproposalmamager.h \ + voteproposalmanager.h \ voteproposal.h \ voteobject.h \ votecharset.h \ diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index d3502b25d..59b205f80 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -25,15 +25,26 @@ #include #include -#if defined(BITCOIN_NEED_QT_PLUGINS) && !defined(_BITCOIN_QT_PLUGINS_INCLUDED) -#define _BITCOIN_QT_PLUGINS_INCLUDED -#define __INSURE__ +#if defined(QT_STATICPLUGIN) #include +#if QT_VERSION < 0x050000 Q_IMPORT_PLUGIN(qcncodecs) Q_IMPORT_PLUGIN(qjpcodecs) Q_IMPORT_PLUGIN(qtwcodecs) Q_IMPORT_PLUGIN(qkrcodecs) Q_IMPORT_PLUGIN(qtaccessiblewidgets) +#else +#if QT_VERSION < 0x050400 +Q_IMPORT_PLUGIN(AccessibleFactory) +#endif +#if defined(QT_QPA_PLATFORM_XCB) +Q_IMPORT_PLUGIN(QXcbIntegrationPlugin); +#elif defined(QT_QPA_PLATFORM_WINDOWS) +Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin); +#elif defined(QT_QPA_PLATFORM_COCOA) +Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin); +#endif +#endif #endif // Need a global reference for the notifications to find the GUI @@ -124,7 +135,7 @@ int main(int argc, char *argv[]) QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); #endif - Q_INIT_RESOURCE(bitcoin); + //Q_INIT_RESOURCE(hyperstake); QApplication app(argc, argv); #if QT_VERSION > 0x050100 diff --git a/src/version.cpp b/src/version.cpp index 5a92a416b..5a87f1b3a 100644 --- a/src/version.cpp +++ b/src/version.cpp @@ -23,11 +23,6 @@ // * otherwise, use v[maj].[min].[rev].[build]-unk // finally CLIENT_VERSION_SUFFIX is added -// First, include build.h if requested -#ifdef HAVE_BUILD_INFO -# include "build.h" -#endif - // git will put "#define GIT_ARCHIVE 1" on the next line inside archives. #define GIT_ARCHIVE 1 #ifdef GIT_ARCHIVE From 709ec0017a363b52574a35d994f2815502114031 Mon Sep 17 00:00:00 2001 From: presstab Date: Sun, 6 May 2018 14:45:45 -0600 Subject: [PATCH 536/555] Fix splashscreen and icons. update to include .gifs --- src/Makefile.qt.include | 2 +- src/qt/bitcoin.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Makefile.qt.include b/src/Makefile.qt.include index ad37a1d5e..1672464ff 100644 --- a/src/Makefile.qt.include +++ b/src/Makefile.qt.include @@ -240,7 +240,7 @@ RES_IMAGES = \ RES_STYLESHEETS = -RES_MOVIES = $(wildcard qt/res/movies/*.mng) +RES_MOVIES = $(wildcard qt/res/movies/*.gif) BITCOIN_RC = qt/res/bitcoin-qt.rc diff --git a/src/qt/bitcoin.cpp b/src/qt/bitcoin.cpp index 59b205f80..72a6ce3a0 100644 --- a/src/qt/bitcoin.cpp +++ b/src/qt/bitcoin.cpp @@ -135,7 +135,7 @@ int main(int argc, char *argv[]) QTextCodec::setCodecForCStrings(QTextCodec::codecForTr()); #endif - //Q_INIT_RESOURCE(hyperstake); + Q_INIT_RESOURCE(bitcoin); QApplication app(argc, argv); #if QT_VERSION > 0x050100 From 2ad2d1b58a68124cc9c8a3b5f4d06a7391d9305a Mon Sep 17 00:00:00 2001 From: hrobeers Date: Mon, 7 Aug 2017 18:27:01 +0200 Subject: [PATCH 537/555] Fix OpenSSL v1.1 compatibility --- src/base58.h | 4 +- src/bignum.h | 192 ++++++++++++++++++++++++++++++------------------ src/crypter.cpp | 29 +++++--- src/key.cpp | 46 ++++++++++-- src/key.h | 3 +- 5 files changed, 179 insertions(+), 95 deletions(-) diff --git a/src/base58.h b/src/base58.h index 23d51eba5..a49dbdc70 100644 --- a/src/base58.h +++ b/src/base58.h @@ -48,7 +48,7 @@ inline std::string EncodeBase58(const unsigned char* pbegin, const unsigned char CBigNum rem; while (bn > bn0) { - if (!BN_div(&dv, &rem, &bn, &bn58, pctx)) + if (!BN_div(dv.get(), rem.get(), bn.cget(), bn58.cget(), pctx)) throw bignum_error("EncodeBase58 : BN_div failed"); bn = dv; unsigned int c = rem.getulong(); @@ -95,7 +95,7 @@ inline bool DecodeBase58(const char* psz, std::vector& vchRet) break; } bnChar.setulong(p1 - pszBase58); - if (!BN_mul(&bn, &bn, &bn58, pctx)) + if (!BN_mul(bn.get(), bn.cget(), bn58.cget(), pctx)) throw bignum_error("DecodeBase58 : BN_mul failed"); bn += bnChar; } diff --git a/src/bignum.h b/src/bignum.h index c2142759f..9afced339 100644 --- a/src/bignum.h +++ b/src/bignum.h @@ -1,5 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2011-2017 The Peercoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_BIGNUM_H @@ -48,75 +49,89 @@ class CAutoBN_CTX /** C++ wrapper for BIGNUM (OpenSSL bignum) */ -class CBigNum : public BIGNUM +class CBigNum { +private: + BIGNUM *self = nullptr; + + void init() + { + if (self) BN_clear_free(self); + self = BN_new(); + if (!self) + throw bignum_error("CBigNum::init() : BN_new() returned NULL"); + } + public: + BIGNUM* get() { return self; } + const BIGNUM* cget() const { return self; } + CBigNum() { - BN_init(this); + init(); } CBigNum(const CBigNum& b) { - BN_init(this); - if (!BN_copy(this, &b)) + init(); + if (!BN_copy(self, b.cget())) { - BN_clear_free(this); + BN_clear_free(self); throw bignum_error("CBigNum::CBigNum(const CBigNum&) : BN_copy failed"); } } CBigNum& operator=(const CBigNum& b) { - if (!BN_copy(this, &b)) + if (!BN_copy(self, b.cget())) throw bignum_error("CBigNum::operator= : BN_copy failed"); return (*this); } ~CBigNum() { - BN_clear_free(this); + if (self) BN_clear_free(self); } //CBigNum(char n) is not portable. Use 'signed char' or 'unsigned char'. - CBigNum(signed char n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(short n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(int n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(long n) { BN_init(this); if (n >= 0) setulong(n); else setint64(n); } - CBigNum(int64 n) { BN_init(this); setint64(n); } - CBigNum(unsigned char n) { BN_init(this); setulong(n); } - CBigNum(unsigned short n) { BN_init(this); setulong(n); } - CBigNum(unsigned int n) { BN_init(this); setulong(n); } - CBigNum(unsigned long n) { BN_init(this); setulong(n); } - CBigNum(uint64 n) { BN_init(this); setuint64(n); } - explicit CBigNum(uint256 n) { BN_init(this); setuint256(n); } + CBigNum(signed char n) { init(); if (n >= 0) setulong(n); else setint64(n); } + CBigNum(short n) { init(); if (n >= 0) setulong(n); else setint64(n); } + CBigNum(int n) { init(); if (n >= 0) setulong(n); else setint64(n); } + CBigNum(long n) { init(); if (n >= 0) setulong(n); else setint64(n); } + CBigNum(int64 n) { init(); setint64(n); } + CBigNum(unsigned char n) { init(); setulong(n); } + CBigNum(unsigned short n) { init(); setulong(n); } + CBigNum(unsigned int n) { init(); setulong(n); } + CBigNum(unsigned long n) { init(); setulong(n); } + CBigNum(uint64 n) { init(); setuint64(n); } + explicit CBigNum(uint256 n) { init(); setuint256(n); } explicit CBigNum(const std::vector& vch) { - BN_init(this); + init(); setvch(vch); } void setulong(unsigned long n) { - if (!BN_set_word(this, n)) + if (!BN_set_word(self, n)) throw bignum_error("CBigNum conversion from unsigned long : BN_set_word failed"); } unsigned long getulong() const { - return BN_get_word(this); + return BN_get_word(self); } unsigned int getuint() const { - return BN_get_word(this); + return BN_get_word(self); } int getint() const { - unsigned long n = BN_get_word(this); - if (!BN_is_negative(this)) + unsigned long n = BN_get_word(self); + if (!BN_is_negative(self)) return (n > (unsigned long)std::numeric_limits::max() ? std::numeric_limits::max() : n); else return (n > (unsigned long)std::numeric_limits::max() ? std::numeric_limits::min() : -(int)n); @@ -162,7 +177,7 @@ class CBigNum : public BIGNUM pch[1] = (nSize >> 16) & 0xff; pch[2] = (nSize >> 8) & 0xff; pch[3] = (nSize) & 0xff; - BN_mpi2bn(pch, p - pch, this); + BN_mpi2bn(pch, p - pch, self); } uint64 getuint64() @@ -204,7 +219,22 @@ class CBigNum : public BIGNUM pch[1] = (nSize >> 16) & 0xff; pch[2] = (nSize >> 8) & 0xff; pch[3] = (nSize) & 0xff; - BN_mpi2bn(pch, p - pch, this); + BN_mpi2bn(pch, p - pch, self); + } + + uint64 getuint64() + { + unsigned int nSize = BN_bn2mpi(self, NULL); + if (nSize < 4) + return 0; + std::vector vch(nSize); + BN_bn2mpi(self, &vch[0]); + if (vch.size() > 4) + vch[4] &= 0x7f; + uint64 n = 0; + for (unsigned int i = 0, j = vch.size()-1; i < sizeof(n) && j >= 4; i++, j--) + ((unsigned char*)&n)[i] = vch[j]; + return n; } void setuint256(uint256 n) @@ -232,16 +262,16 @@ class CBigNum : public BIGNUM pch[1] = (nSize >> 16) & 0xff; pch[2] = (nSize >> 8) & 0xff; pch[3] = (nSize >> 0) & 0xff; - BN_mpi2bn(pch, p - pch, this); + BN_mpi2bn(pch, p - pch, self); } uint256 getuint256() { - unsigned int nSize = BN_bn2mpi(this, NULL); + unsigned int nSize = BN_bn2mpi(self, NULL); if (nSize < 4) return 0; std::vector vch(nSize); - BN_bn2mpi(this, &vch[0]); + BN_bn2mpi(self, &vch[0]); if (vch.size() > 4) vch[4] &= 0x7f; uint256 n = 0; @@ -263,16 +293,16 @@ class CBigNum : public BIGNUM vch2[3] = (nSize >> 0) & 0xff; // swap data to big endian reverse_copy(vch.begin(), vch.end(), vch2.begin() + 4); - BN_mpi2bn(&vch2[0], vch2.size(), this); + BN_mpi2bn(&vch2[0], vch2.size(), self); } std::vector getvch() const { - unsigned int nSize = BN_bn2mpi(this, NULL); + unsigned int nSize = BN_bn2mpi(self, NULL); if (nSize <= 4) return std::vector(); std::vector vch(nSize); - BN_bn2mpi(this, &vch[0]); + BN_bn2mpi(self, &vch[0]); vch.erase(vch.begin(), vch.begin() + 4); reverse(vch.begin(), vch.end()); return vch; @@ -281,25 +311,43 @@ class CBigNum : public BIGNUM CBigNum& SetCompact(unsigned int nCompact) { unsigned int nSize = nCompact >> 24; - std::vector vch(4 + nSize); - vch[3] = nSize; - if (nSize >= 1) vch[4] = (nCompact >> 16) & 0xff; - if (nSize >= 2) vch[5] = (nCompact >> 8) & 0xff; - if (nSize >= 3) vch[6] = (nCompact >> 0) & 0xff; - BN_mpi2bn(&vch[0], vch.size(), this); + bool fNegative =(nCompact & 0x00800000) != 0; + unsigned int nWord = nCompact & 0x007fffff; + if (nSize <= 3) + { + nWord >>= 8*(3-nSize); + BN_set_word(self, nWord); + } + else + { + BN_set_word(self, nWord); + BN_lshift(self, self, 8*(nSize-3)); + } + BN_set_negative(self, fNegative); return *this; } unsigned int GetCompact() const { - unsigned int nSize = BN_bn2mpi(this, NULL); - std::vector vch(nSize); - nSize -= 4; - BN_bn2mpi(this, &vch[0]); - unsigned int nCompact = nSize << 24; - if (nSize >= 1) nCompact |= (vch[4] << 16); - if (nSize >= 2) nCompact |= (vch[5] << 8); - if (nSize >= 3) nCompact |= (vch[6] << 0); + unsigned int nSize = BN_num_bytes(self); + unsigned int nCompact = 0; + if (nSize <= 3) + nCompact = BN_get_word(self) << 8*(3-nSize); + else + { + CBigNum bn; + BN_rshift(bn.get(), self, 8*(nSize-3)); + nCompact = BN_get_word(bn.cget()); + } + // The 0x00800000 bit denotes the sign. + // Thus, if it is already set, divide the mantissa by 256 and increase the exponent. + if (nCompact & 0x00800000) + { + nCompact >>= 8; + nSize++; + } + nCompact |= nSize << 24; + nCompact |= (BN_is_negative(self) ? 0x00800000 : 0); return nCompact; } @@ -340,20 +388,20 @@ class CBigNum : public BIGNUM CBigNum bn0 = 0; std::string str; CBigNum bn = *this; - BN_set_negative(&bn, false); + BN_set_negative(bn.get(), false); CBigNum dv; CBigNum rem; - if (BN_cmp(&bn, &bn0) == 0) + if (BN_cmp(bn.get(), bn0.cget()) == 0) return "0"; - while (BN_cmp(&bn, &bn0) > 0) + while (BN_cmp(bn.get(), bn0.cget()) > 0) { - if (!BN_div(&dv, &rem, &bn, &bnBase, pctx)) + if (!BN_div(dv.get(), rem.get(), bn.cget(), bnBase.cget(), pctx)) throw bignum_error("CBigNum::ToString() : BN_div failed"); bn = dv; unsigned int c = rem.getulong(); str += "0123456789abcdef"[c]; } - if (BN_is_negative(this)) + if (BN_is_negative(self)) str += "-"; reverse(str.begin(), str.end()); return str; @@ -386,12 +434,12 @@ class CBigNum : public BIGNUM bool operator!() const { - return BN_is_zero(this); + return BN_is_zero(self); } CBigNum& operator+=(const CBigNum& b) { - if (!BN_add(this, this, &b)) + if (!BN_add(self, self, b.cget())) throw bignum_error("CBigNum::operator+= : BN_add failed"); return *this; } @@ -405,7 +453,7 @@ class CBigNum : public BIGNUM CBigNum& operator*=(const CBigNum& b) { CAutoBN_CTX pctx; - if (!BN_mul(this, this, &b, pctx)) + if (!BN_mul(self, self, b.cget(), pctx)) throw bignum_error("CBigNum::operator*= : BN_mul failed"); return *this; } @@ -424,7 +472,7 @@ class CBigNum : public BIGNUM CBigNum& operator<<=(unsigned int shift) { - if (!BN_lshift(this, this, shift)) + if (!BN_lshift(self, self, shift)) throw bignum_error("CBigNum:operator<<= : BN_lshift failed"); return *this; } @@ -435,13 +483,13 @@ class CBigNum : public BIGNUM // if built on ubuntu 9.04 or 9.10, probably depends on version of OpenSSL CBigNum a = 1; a <<= shift; - if (BN_cmp(&a, this) > 0) + if (BN_cmp(a.cget(), self) > 0) { *this = 0; return *this; } - if (!BN_rshift(this, this, shift)) + if (!BN_rshift(self, self, shift)) throw bignum_error("CBigNum:operator>>= : BN_rshift failed"); return *this; } @@ -450,7 +498,7 @@ class CBigNum : public BIGNUM CBigNum& operator++() { // prefix operator - if (!BN_add(this, this, BN_value_one())) + if (!BN_add(self, self, BN_value_one())) throw bignum_error("CBigNum::operator++ : BN_add failed"); return *this; } @@ -467,7 +515,7 @@ class CBigNum : public BIGNUM { // prefix operator CBigNum r; - if (!BN_sub(&r, this, BN_value_one())) + if (!BN_sub(r.get(), self, BN_value_one())) throw bignum_error("CBigNum::operator-- : BN_sub failed"); *this = r; return *this; @@ -492,7 +540,7 @@ class CBigNum : public BIGNUM inline const CBigNum operator+(const CBigNum& a, const CBigNum& b) { CBigNum r; - if (!BN_add(&r, &a, &b)) + if (!BN_add(r.get(), a.cget(), b.cget())) throw bignum_error("CBigNum::operator+ : BN_add failed"); return r; } @@ -500,7 +548,7 @@ inline const CBigNum operator+(const CBigNum& a, const CBigNum& b) inline const CBigNum operator-(const CBigNum& a, const CBigNum& b) { CBigNum r; - if (!BN_sub(&r, &a, &b)) + if (!BN_sub(r.get(), a.cget(), b.cget())) throw bignum_error("CBigNum::operator- : BN_sub failed"); return r; } @@ -508,7 +556,7 @@ inline const CBigNum operator-(const CBigNum& a, const CBigNum& b) inline const CBigNum operator-(const CBigNum& a) { CBigNum r(a); - BN_set_negative(&r, !BN_is_negative(&r)); + BN_set_negative(r.get(), !BN_is_negative(r.cget())); return r; } @@ -516,7 +564,7 @@ inline const CBigNum operator*(const CBigNum& a, const CBigNum& b) { CAutoBN_CTX pctx; CBigNum r; - if (!BN_mul(&r, &a, &b, pctx)) + if (!BN_mul(r.get(), a.cget(), b.cget(), pctx)) throw bignum_error("CBigNum::operator* : BN_mul failed"); return r; } @@ -525,7 +573,7 @@ inline const CBigNum operator/(const CBigNum& a, const CBigNum& b) { CAutoBN_CTX pctx; CBigNum r; - if (!BN_div(&r, NULL, &a, &b, pctx)) + if (!BN_div(r.get(), NULL, a.cget(), b.cget(), pctx)) throw bignum_error("CBigNum::operator/ : BN_div failed"); return r; } @@ -534,7 +582,7 @@ inline const CBigNum operator%(const CBigNum& a, const CBigNum& b) { CAutoBN_CTX pctx; CBigNum r; - if (!BN_mod(&r, &a, &b, pctx)) + if (!BN_mod(r.get(), a.cget(), b.cget(), pctx)) throw bignum_error("CBigNum::operator% : BN_div failed"); return r; } @@ -542,7 +590,7 @@ inline const CBigNum operator%(const CBigNum& a, const CBigNum& b) inline const CBigNum operator<<(const CBigNum& a, unsigned int shift) { CBigNum r; - if (!BN_lshift(&r, &a, shift)) + if (!BN_lshift(r.get(), a.cget(), shift)) throw bignum_error("CBigNum:operator<< : BN_lshift failed"); return r; } @@ -554,11 +602,11 @@ inline const CBigNum operator>>(const CBigNum& a, unsigned int shift) return r; } -inline bool operator==(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) == 0); } -inline bool operator!=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) != 0); } -inline bool operator<=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) <= 0); } -inline bool operator>=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) >= 0); } -inline bool operator<(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) < 0); } -inline bool operator>(const CBigNum& a, const CBigNum& b) { return (BN_cmp(&a, &b) > 0); } +inline bool operator==(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) == 0); } +inline bool operator!=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) != 0); } +inline bool operator<=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) <= 0); } +inline bool operator>=(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) >= 0); } +inline bool operator<(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) < 0); } +inline bool operator>(const CBigNum& a, const CBigNum& b) { return (BN_cmp(a.cget(), b.cget()) > 0); } #endif diff --git a/src/crypter.cpp b/src/crypter.cpp index 181b8fa00..9b92b0b83 100644 --- a/src/crypter.cpp +++ b/src/crypter.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2009-2012 The Bitcoin Developers +// Copyright (c) 2011-2017 The Peercoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -56,15 +57,17 @@ bool CCrypter::Encrypt(const CKeyingMaterial& vchPlaintext, std::vector (nCLen); - EVP_CIPHER_CTX ctx; + EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); + if (!ctx) return false; bool fOk = true; - EVP_CIPHER_CTX_init(&ctx); - if (fOk) fOk = EVP_EncryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV); - if (fOk) fOk = EVP_EncryptUpdate(&ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen); - if (fOk) fOk = EVP_EncryptFinal_ex(&ctx, (&vchCiphertext[0])+nCLen, &nFLen); - EVP_CIPHER_CTX_cleanup(&ctx); + EVP_CIPHER_CTX_init(ctx); + if (fOk) fOk = EVP_EncryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV); + if (fOk) fOk = EVP_EncryptUpdate(ctx, &vchCiphertext[0], &nCLen, &vchPlaintext[0], nLen); + if (fOk) fOk = EVP_EncryptFinal_ex(ctx, (&vchCiphertext[0])+nCLen, &nFLen); + EVP_CIPHER_CTX_cleanup(ctx); + EVP_CIPHER_CTX_free(ctx); if (!fOk) return false; @@ -83,15 +86,17 @@ bool CCrypter::Decrypt(const std::vector& vchCiphertext, CKeyingM vchPlaintext = CKeyingMaterial(nPLen); - EVP_CIPHER_CTX ctx; + EVP_CIPHER_CTX* ctx = EVP_CIPHER_CTX_new(); + if (!ctx) return false; bool fOk = true; - EVP_CIPHER_CTX_init(&ctx); - if (fOk) fOk = EVP_DecryptInit_ex(&ctx, EVP_aes_256_cbc(), NULL, chKey, chIV); - if (fOk) fOk = EVP_DecryptUpdate(&ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen); - if (fOk) fOk = EVP_DecryptFinal_ex(&ctx, (&vchPlaintext[0])+nPLen, &nFLen); - EVP_CIPHER_CTX_cleanup(&ctx); + EVP_CIPHER_CTX_init(ctx); + if (fOk) fOk = EVP_DecryptInit_ex(ctx, EVP_aes_256_cbc(), NULL, chKey, chIV); + if (fOk) fOk = EVP_DecryptUpdate(ctx, &vchPlaintext[0], &nPLen, &vchCiphertext[0], nLen); + if (fOk) fOk = EVP_DecryptFinal_ex(ctx, (&vchPlaintext[0])+nPLen, &nFLen); + EVP_CIPHER_CTX_cleanup(ctx); + EVP_CIPHER_CTX_free(ctx); if (!fOk) return false; diff --git a/src/key.cpp b/src/key.cpp index 4f3efabf8..5417505c2 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -1,10 +1,14 @@ // Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2011-2017 The Peercoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include +#if OPENSSL_VERSION_NUMBER < 0x10100000L #include +#endif + #include #include "key.h" @@ -54,6 +58,14 @@ int ECDSA_SIG_recover_key_GFp(EC_KEY *eckey, ECDSA_SIG *ecsig, const unsigned ch { if (!eckey) return 0; + const BIGNUM *sig_r, *sig_s; + #if OPENSSL_VERSION_NUMBER > 0x1000ffffL + ECDSA_SIG_get0(ecsig, &sig_r, &sig_s); + #else + sig_r = ecsig->r; + sig_s = ecsig->s; + #endif + int ret = 0; BN_CTX *ctx = NULL; @@ -79,7 +91,7 @@ int ECDSA_SIG_recover_key_GFp(EC_KEY *eckey, ECDSA_SIG *ecsig, const unsigned ch x = BN_CTX_get(ctx); if (!BN_copy(x, order)) { ret=-1; goto err; } if (!BN_mul_word(x, i)) { ret=-1; goto err; } - if (!BN_add(x, x, ecsig->r)) { ret=-1; goto err; } + if (!BN_add(x, x, sig_r)) { ret=-1; goto err; } field = BN_CTX_get(ctx); if (!EC_GROUP_get_curve_GFp(group, field, NULL, NULL, ctx)) { ret=-2; goto err; } if (BN_cmp(x, field) >= 0) { ret=0; goto err; } @@ -100,9 +112,9 @@ int ECDSA_SIG_recover_key_GFp(EC_KEY *eckey, ECDSA_SIG *ecsig, const unsigned ch if (!BN_zero(zero)) { ret=-1; goto err; } if (!BN_mod_sub(e, zero, e, order, ctx)) { ret=-1; goto err; } rr = BN_CTX_get(ctx); - if (!BN_mod_inverse(rr, ecsig->r, order, ctx)) { ret=-1; goto err; } + if (!BN_mod_inverse(rr, sig_r, order, ctx)) { ret=-1; goto err; } sor = BN_CTX_get(ctx); - if (!BN_mod_mul(sor, ecsig->s, rr, order, ctx)) { ret=-1; goto err; } + if (!BN_mod_mul(sor, sig_s, rr, order, ctx)) { ret=-1; goto err; } eor = BN_CTX_get(ctx); if (!BN_mod_mul(eor, e, rr, order, ctx)) { ret=-1; goto err; } if (!EC_POINT_mul(group, Q, eor, R, sor, ctx)) { ret=-2; goto err; } @@ -348,8 +360,17 @@ bool CKey::SignCompact(uint256 hash, std::vector& vchSig) return false; vchSig.clear(); vchSig.resize(65,0); - int nBitsR = BN_num_bits(sig->r); - int nBitsS = BN_num_bits(sig->s); + + const BIGNUM *sig_r, *sig_s; + #if OPENSSL_VERSION_NUMBER > 0x1000ffffL + ECDSA_SIG_get0(sig, &sig_r, &sig_s); + #else + sig_r = sig->r; + sig_s = sig->s; + #endif + + int nBitsR = BN_num_bits(sig_r); + int nBitsS = BN_num_bits(sig_s); if (nBitsR <= 256 && nBitsS <= 256) { int nRecId = -1; @@ -374,8 +395,8 @@ bool CKey::SignCompact(uint256 hash, std::vector& vchSig) } vchSig[0] = nRecId+27+(fCompressedPubKey ? 4 : 0); - BN_bn2bin(sig->r,&vchSig[33-(nBitsR+7)/8]); - BN_bn2bin(sig->s,&vchSig[65-(nBitsS+7)/8]); + BN_bn2bin(sig_r,&vchSig[33-(nBitsR+7)/8]); + BN_bn2bin(sig_s,&vchSig[65-(nBitsS+7)/8]); fOk = true; } ECDSA_SIG_free(sig); @@ -394,8 +415,19 @@ bool CKey::SetCompactSignature(uint256 hash, const std::vector& v if (nV<27 || nV>=35) return false; ECDSA_SIG *sig = ECDSA_SIG_new(); + if (!sig) return false; + + #if OPENSSL_VERSION_NUMBER > 0x1000ffffL + // sig_r and sig_s are deallocated by ECDSA_SIG_free(sig); + BIGNUM *sig_r = BN_bin2bn(&vchSig[1],32,BN_new()); + BIGNUM *sig_s = BN_bin2bn(&vchSig[33],32,BN_new()); + if (!sig_r || !sig_s) return false; + // copy and transfer ownership to sig + ECDSA_SIG_set0(sig, sig_r, sig_s); + #else BN_bin2bn(&vchSig[1],32,sig->r); BN_bin2bn(&vchSig[33],32,sig->s); + #endif EC_KEY_free(pkey); pkey = EC_KEY_new_by_curve_name(NID_secp256k1); diff --git a/src/key.h b/src/key.h index a6b5d12e3..e094b7a72 100644 --- a/src/key.h +++ b/src/key.h @@ -1,5 +1,6 @@ // Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers +// Copyright (c) 2011-2017 The Peercoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_KEY_H @@ -13,8 +14,6 @@ #include "uint256.h" #include "util.h" -#include // for EC_KEY definition - // secp160k1 // const unsigned int PRIVATE_KEY_SIZE = 192; // const unsigned int PUBLIC_KEY_SIZE = 41; From e907ecf80afe81f2eaccbe7af41102114d4c1817 Mon Sep 17 00:00:00 2001 From: presstab Date: Mon, 7 May 2018 18:53:35 -0600 Subject: [PATCH 538/555] Fix compiler errors associated with updated OPENSSL compat. --- src/bignum.h | 15 --------------- src/key.h | 2 ++ src/script.cpp | 32 -------------------------------- 3 files changed, 2 insertions(+), 47 deletions(-) diff --git a/src/bignum.h b/src/bignum.h index 9afced339..a64a0df12 100644 --- a/src/bignum.h +++ b/src/bignum.h @@ -180,21 +180,6 @@ class CBigNum BN_mpi2bn(pch, p - pch, self); } - uint64 getuint64() - { - unsigned int nSize = BN_bn2mpi(this, NULL); - if (nSize < 4) - return 0; - std::vector vch(nSize); - BN_bn2mpi(this, &vch[0]); - if (vch.size() > 4) - vch[4] &= 0x7f; - uint64 n = 0; - for (unsigned int i = 0, j = vch.size()-1; i < sizeof(n) && j >= 4; i++, j--) - ((unsigned char*)&n)[i] = vch[j]; - return n; - } - void setuint64(uint64 n) { unsigned char pch[sizeof(n) + 6]; diff --git a/src/key.h b/src/key.h index e094b7a72..02f2cbc11 100644 --- a/src/key.h +++ b/src/key.h @@ -14,6 +14,8 @@ #include "uint256.h" #include "util.h" +#include + // secp160k1 // const unsigned int PRIVATE_KEY_SIZE = 192; // const unsigned int PUBLIC_KEY_SIZE = 41; diff --git a/src/script.cpp b/src/script.cpp index df0ffb17d..76641feba 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -776,11 +776,6 @@ bool EvalScript(vector >& stack, const CScript& script, co case OP_ADD: case OP_SUB: - case OP_MUL: - case OP_DIV: - case OP_MOD: - case OP_LSHIFT: - case OP_RSHIFT: case OP_BOOLAND: case OP_BOOLOR: case OP_NUMEQUAL: @@ -809,33 +804,6 @@ bool EvalScript(vector >& stack, const CScript& script, co bn = bn1 - bn2; break; - case OP_MUL: - if (!BN_mul(&bn, &bn1, &bn2, pctx)) - return false; - break; - - case OP_DIV: - if (!BN_div(&bn, NULL, &bn1, &bn2, pctx)) - return false; - break; - - case OP_MOD: - if (!BN_mod(&bn, &bn1, &bn2, pctx)) - return false; - break; - - case OP_LSHIFT: - if (bn2 < bnZero || bn2 > CBigNum(2048)) - return false; - bn = bn1 << bn2.getulong(); - break; - - case OP_RSHIFT: - if (bn2 < bnZero || bn2 > CBigNum(2048)) - return false; - bn = bn1 >> bn2.getulong(); - break; - case OP_BOOLAND: bn = (bn1 != bnZero && bn2 != bnZero); break; case OP_BOOLOR: bn = (bn1 != bnZero || bn2 != bnZero); break; case OP_NUMEQUAL: bn = (bn1 == bn2); break; From 06e5b2fd7747df250ebb0db0af13e989ac88a0b9 Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 16 May 2018 11:16:35 -0600 Subject: [PATCH 539/555] Move stake mining code to miner.cpp. --- CMakeLists.txt | 2 +- src/Makefile.am | 2 + src/main.cpp | 775 ----------------------------------------------- src/main.h | 2 +- src/miner.cpp | 776 ++++++++++++++++++++++++++++++++++++++++++++++++ src/miner.h | 11 + src/net.cpp | 1 + 7 files changed, 792 insertions(+), 777 deletions(-) create mode 100644 src/miner.cpp create mode 100644 src/miner.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 33b10437e..ec33ee436 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -302,4 +302,4 @@ add_executable(HyperStake src/wallet.cpp src/wallet.h src/walletdb.cpp - src/walletdb.h) + src/walletdb.h src/miner.h src/miner.cpp) diff --git a/src/Makefile.am b/src/Makefile.am index 803458616..65be26a48 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -51,6 +51,7 @@ BITCOIN_CORE_H = \ key.h \ keystore.h \ main.h \ + miner.h \ mruset.h \ netbase.h \ net.h \ @@ -124,6 +125,7 @@ libbitcoin_server_a_SOURCES = \ kernel.cpp \ luffa.c \ main.cpp \ + miner.cpp \ net.cpp \ noui.cpp \ rpcblockchain.cpp \ diff --git a/src/main.cpp b/src/main.cpp index e4581b757..78d06435c 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -4075,778 +4075,3 @@ bool GetProposalTXID(const uint256& hashProposal, uint256& txid) } return false; } - - -////////////////////////////////////////////////////////////////////////////// -// -// BitcoinMiner -// - -int static FormatHashBlocks(void* pbuffer, unsigned int len) -{ - unsigned char* pdata = (unsigned char*)pbuffer; - unsigned int blocks = 1 + ((len + 8) / 64); - unsigned char* pend = pdata + 64 * blocks; - memset(pdata + len, 0, 64 * blocks - len); - pdata[len] = 0x80; - unsigned int bits = len * 8; - pend[-1] = (bits >> 0) & 0xff; - pend[-2] = (bits >> 8) & 0xff; - pend[-3] = (bits >> 16) & 0xff; - pend[-4] = (bits >> 24) & 0xff; - return blocks; -} - -static const unsigned int pSHA256InitState[8] = -{0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19}; - -void SHA256Transform(void* pstate, void* pinput, const void* pinit) -{ - SHA256_CTX ctx; - unsigned char data[64]; - - SHA256_Init(&ctx); - - for (int i = 0; i < 16; i++) - ((uint32_t*)data)[i] = ByteReverse(((uint32_t*)pinput)[i]); - - for (int i = 0; i < 8; i++) - ctx.h[i] = ((uint32_t*)pinit)[i]; - - SHA256_Update(&ctx, data, sizeof(data)); - for (int i = 0; i < 8; i++) - ((uint32_t*)pstate)[i] = ctx.h[i]; -} - -// Some explaining would be appreciated -class COrphan -{ -public: - CTransaction* ptx; - set setDependsOn; - double dPriority; - double dFeePerKb; - - COrphan(CTransaction* ptxIn) - { - ptx = ptxIn; - dPriority = dFeePerKb = 0; - } - - void print() const - { - printf("COrphan(hash=%s, dPriority=%.1f, dFeePerKb=%.1f)\n", - ptx->GetHash().ToString().substr(0,10).c_str(), dPriority, dFeePerKb); - BOOST_FOREACH(uint256 hash, setDependsOn) - printf(" setDependsOn %s\n", hash.ToString().substr(0,10).c_str()); - } -}; - - -uint64 nLastBlockTx = 0; -uint64 nLastBlockSize = 0; -int64 nLastCoinStakeSearchInterval = 0; - -// We want to sort transactions by priority and fee, so: -typedef boost::tuple TxPriority; -class TxPriorityCompare -{ - bool byFee; -public: - TxPriorityCompare(bool _byFee) : byFee(_byFee) { } - bool operator()(const TxPriority& a, const TxPriority& b) - { - if (byFee) - { - if (a.get<1>() == b.get<1>()) - return a.get<0>() < b.get<0>(); - return a.get<1>() < b.get<1>(); - } - else - { - if (a.get<0>() == b.get<0>()) - return a.get<1>() < b.get<1>(); - return a.get<0>() < b.get<0>(); - } - } -}; - -// CreateNewBlock: -// fProofOfStake: try (best effort) to make a proof-of-stake block -CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) -{ - CReserveKey reservekey(pwallet); - - // Create new block - std::unique_ptr pblock(new CBlock()); - if (!pblock.get()) - return NULL; - - // Only use the first 4 bits for the version encoding - pblock->nVersion = CBlock::VOTING_VERSION; - - //Check to see if proposals need to be voted on - if (mapProposals.size() > 0) { - vector votes; - - // Get all the vote objects versions - map mapActiveProposals = proposalManager.GetActive(nBestHeight); - if (pwalletMain->mapVoteObjects.size() > 0) { - for(auto it: mapProposals) { - CTransaction tx; - uint256 hashBlock; - if (!GetTransaction(it.first, tx, hashBlock)) { - printf("*** failed to get transaction %s!\n", it.first.GetHex().c_str()); - continue; - } - - if (!tx.IsProposal()) { - printf("*** tx is not a proposal!\n"); - continue; - } - - CVoteProposal proposal; - if (!ProposalFromTransaction(tx, proposal)) { - printf("*** failed to deserialize!\n"); - continue; - } - - if (!mapActiveProposals.count(proposal.GetHash())) { - continue; - } - - if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { - //printf("*** mapVoteObjects does not have proposal hash\n"); - continue; - } - - CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; - votes.emplace_back(voteObject); - //printf("*** added vote for %s\n", proposal.GetName().c_str()); - } - } else - printf("*** mapVoteObjects empty!\n"); - - // Update the block version to have all votes - pblock->nVersion |= CVoteObject::GetCombinedVotes(votes); - } else { - printf("map proposals empty\n"); - } - - // Create coinbase tx - CTransaction txNew; - txNew.vin.resize(1); - txNew.vin[0].prevout.SetNull(); - txNew.vout.resize(1); - txNew.vout[0].scriptPubKey << reservekey.GetReservedKey() << OP_CHECKSIG; - - // Add our coinbase tx as first transaction - pblock->vtx.push_back(txNew); - - // Largest block you're willing to create: - unsigned int nBlockMaxSize = GetArg("-blockmaxsize", MAX_BLOCK_SIZE_GEN/2); - // Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity: - nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize)); - - // How much of the block should be dedicated to high-priority transactions, - // included regardless of the fees they pay - unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000); - nBlockPrioritySize = std::min(nBlockMaxSize, nBlockPrioritySize); - - // Minimum block size you want to create; block will be filled with free transactions - // until there are no more or the block reaches this size: - unsigned int nBlockMinSize = GetArg("-blockminsize", 0); - nBlockMinSize = std::min(nBlockMaxSize, nBlockMinSize); - - // Fee-per-kilobyte amount considered the same as "free" - // Be careful setting this: if you set it to zero then - // a transaction spammer can cheaply fill blocks using - // 1-satoshi-fee transactions. It should be set above the real - // cost to you of processing a transaction. - int64 nMinTxFee = MIN_TX_FEE; - if (mapArgs.count("-mintxfee")) - ParseMoney(mapArgs["-mintxfee"], nMinTxFee); - - // ppcoin: if coinstake available add coinstake tx - static int64 nLastCoinStakeSearchTime = GetAdjustedTime(); // only initialized at startup - CBlockIndex* pindexPrev = pindexBest; - - if (fProofOfStake && !pwalletMain->fDisableStake) // attempt to find a coinstake && make sure settings allow PoS (presstab HyperStake) - { - pblock->nBits = GetNextTargetRequired(pindexPrev, true); - CTransaction txCoinStake; - int64 nSearchTime = txCoinStake.nTime; // search to current time - if (nSearchTime > nLastCoinStakeSearchTime) - { - // printf(">>> OK1\n"); - if (pwallet->CreateCoinStake(*pwallet, pblock->nBits, nSearchTime-nLastCoinStakeSearchTime, txCoinStake)) - { - if (txCoinStake.nTime >= max(pindexPrev->GetMedianTimePast()+1, pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime()))) - { // make sure coinstake would meet timestamp protocol - // as it would be the same as the block timestamp - pblock->vtx[0].vout[0].SetEmpty(); - pblock->vtx[0].nTime = txCoinStake.nTime; - pblock->vtx.push_back(txCoinStake); - } - } - nLastCoinStakeSearchInterval = nSearchTime - nLastCoinStakeSearchTime; - nLastCoinStakeSearchTime = nSearchTime; - } - } - - pblock->nBits = GetNextTargetRequired(pindexPrev, pblock->IsProofOfStake()); - - // Collect memory pool transactions into the block - int64 nFees = 0; - { - LOCK2(cs_main, mempool.cs); - CBlockIndex* pindexPrev = pindexBest; - CTxDB txdb("r"); - - // Priority order to process transactions - list vOrphan; // list memory doesn't move - map > mapDependers; - - // This vector will be sorted into a priority queue: - vector vecPriority; - vecPriority.reserve(mempool.mapTx.size()); - for (map::iterator mi = mempool.mapTx.begin(); mi != mempool.mapTx.end(); ++mi) - { - CTransaction& tx = (*mi).second; - if (tx.IsCoinBase() || tx.IsCoinStake() || !tx.IsFinal()) - continue; - - COrphan* porphan = NULL; - double dPriority = 0; - int64 nTotalIn = 0; - bool fMissingInputs = false; - BOOST_FOREACH(const CTxIn& txin, tx.vin) - { - // Read prev transaction - CTransaction txPrev; - CTxIndex txindex; - if (!txPrev.ReadFromDisk(txdb, txin.prevout, txindex)) - { - // This should never happen; all transactions in the memory - // pool should connect to either transactions in the chain - // or other transactions in the memory pool. - if (!mempool.mapTx.count(txin.prevout.hash)) - { - printf("ERROR: mempool transaction missing input\n"); - if (fDebug) assert("mempool transaction missing input" == 0); - fMissingInputs = true; - if (porphan) - vOrphan.pop_back(); - break; - } - - // Has to wait for dependencies - if (!porphan) - { - // Use list for automatic deletion - vOrphan.push_back(COrphan(&tx)); - porphan = &vOrphan.back(); - } - mapDependers[txin.prevout.hash].push_back(porphan); - porphan->setDependsOn.insert(txin.prevout.hash); - nTotalIn += mempool.mapTx[txin.prevout.hash].vout[txin.prevout.n].nValue; - continue; - } - int64 nValueIn = txPrev.vout[txin.prevout.n].nValue; - nTotalIn += nValueIn; - - int nConf = txindex.GetDepthInMainChain(); - dPriority += (double)nValueIn * nConf; - } - if (fMissingInputs) continue; - - // Priority is sum(valuein * age) / txsize - unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); - dPriority /= nTxSize; - - // This is a more accurate fee-per-kilobyte than is used by the client code, because the - // client code rounds up the size to the nearest 1K. That's good, because it gives an - // incentive to create smaller transactions. - double dFeePerKb = double(nTotalIn-tx.GetValueOut()) / (double(nTxSize)/1000.0); - - if (porphan) - { - porphan->dPriority = dPriority; - porphan->dFeePerKb = dFeePerKb; - } - else - vecPriority.push_back(TxPriority(dPriority, dFeePerKb, &(*mi).second)); - } - - // Collect transactions into block - map mapTestPool; - uint64 nBlockSize = 1000; - uint64 nBlockTx = 0; - int nBlockSigOps = 100; - bool fSortedByFee = (nBlockPrioritySize <= 0); - - TxPriorityCompare comparer(fSortedByFee); - std::make_heap(vecPriority.begin(), vecPriority.end(), comparer); - - while (!vecPriority.empty()) - { - // Take highest priority transaction off the priority queue: - double dPriority = vecPriority.front().get<0>(); - double dFeePerKb = vecPriority.front().get<1>(); - CTransaction& tx = *(vecPriority.front().get<2>()); - - std::pop_heap(vecPriority.begin(), vecPriority.end(), comparer); - vecPriority.pop_back(); - - // Size limits - unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); - if (nBlockSize + nTxSize >= nBlockMaxSize) - continue; - - // Legacy limits on sigOps: - unsigned int nTxSigOps = tx.GetLegacySigOpCount(); - if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS) - continue; - - // Timestamp limit - if (tx.nTime > GetAdjustedTime() || (pblock->IsProofOfStake() && tx.nTime > pblock->vtx[1].nTime)) - continue; - - // ppcoin: simplify transaction fee - allow free = false - int64 nMinFee = tx.GetMinFee(nBlockSize, false, GMF_BLOCK); - - // Skip free transactions if we're past the minimum block size: - if (fSortedByFee && (dFeePerKb < nMinTxFee) && (nBlockSize + nTxSize >= nBlockMinSize)) - continue; - - // Prioritize by fee once past the priority size or we run out of high-priority - // transactions: - if (!fSortedByFee && - ((nBlockSize + nTxSize >= nBlockPrioritySize) || (dPriority < COIN * 144 / 250))) - { - fSortedByFee = true; - comparer = TxPriorityCompare(fSortedByFee); - std::make_heap(vecPriority.begin(), vecPriority.end(), comparer); - } - - // Connecting shouldn't fail due to dependency on other memory pool transactions - // because we're already processing them in order of dependency - map mapTestPoolTmp(mapTestPool); - MapPrevTx mapInputs; - bool fInvalid; - if (!tx.FetchInputs(txdb, mapTestPoolTmp, false, true, mapInputs, fInvalid)) - continue; - - int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut(); - if (nTxFees < nMinFee) - continue; - - nTxSigOps += tx.GetP2SHSigOpCount(mapInputs); - if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS) - continue; - - if (!tx.ConnectInputs(txdb, mapInputs, mapTestPoolTmp, CDiskTxPos(1,1,1), pindexPrev, false, true)) - continue; - mapTestPoolTmp[tx.GetHash()] = CTxIndex(CDiskTxPos(1,1,1), tx.vout.size()); - swap(mapTestPool, mapTestPoolTmp); - - // Added - pblock->vtx.push_back(tx); - nBlockSize += nTxSize; - ++nBlockTx; - nBlockSigOps += nTxSigOps; - nFees += nTxFees; - - if (fDebug && GetBoolArg("-printpriority")) - { - printf("priority %.1f feeperkb %.1f txid %s\n", - dPriority, dFeePerKb, tx.GetHash().ToString().c_str()); - } - - // Add transactions that depend on this one to the priority queue - uint256 hash = tx.GetHash(); - if (mapDependers.count(hash)) - { - BOOST_FOREACH(COrphan* porphan, mapDependers[hash]) - { - if (!porphan->setDependsOn.empty()) - { - porphan->setDependsOn.erase(hash); - if (porphan->setDependsOn.empty()) - { - vecPriority.push_back(TxPriority(porphan->dPriority, porphan->dFeePerKb, porphan->ptx)); - std::push_heap(vecPriority.begin(), vecPriority.end(), comparer); - } - } - } - } - } - - nLastBlockTx = nBlockTx; - nLastBlockSize = nBlockSize; - - if (fDebug && GetBoolArg("-printpriority")) - printf("CreateNewBlock(): total size %llu\n", nBlockSize); - - if (pblock->IsProofOfWork()) - pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pindexPrev->nHeight+1, nFees, pindexPrev->GetBlockHash()); - - // Fill in header - pblock->hashPrevBlock = pindexPrev->GetBlockHash(); - if (pblock->IsProofOfStake()) - pblock->nTime = pblock->vtx[1].nTime; //same as coinstake timestamp - pblock->nTime = max(pindexPrev->GetMedianTimePast()+1, pblock->GetMaxTransactionTime()); - pblock->nTime = max(pblock->GetBlockTime(), pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime())); - if (pblock->IsProofOfWork()) - pblock->UpdateTime(pindexPrev); - pblock->nNonce = 0; - } - - return pblock.release(); -} - - -void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce) -{ - // Update nExtraNonce - static uint256 hashPrevBlock; - if (hashPrevBlock != pblock->hashPrevBlock) - { - nExtraNonce = 0; - hashPrevBlock = pblock->hashPrevBlock; - } - ++nExtraNonce; - unsigned int nHeight = pindexPrev->nHeight+1; // Height first in coinbase required for block.version=2 - pblock->vtx[0].vin[0].scriptSig = (CScript() << nHeight << CBigNum(nExtraNonce)) + COINBASE_FLAGS; - assert(pblock->vtx[0].vin[0].scriptSig.size() <= 100); - - pblock->hashMerkleRoot = pblock->BuildMerkleTree(); -} - - -void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash1) -{ - // - // Pre-build hash buffers - // - struct - { - struct unnamed2 - { - int nVersion; - uint256 hashPrevBlock; - uint256 hashMerkleRoot; - unsigned int nTime; - unsigned int nBits; - unsigned int nNonce; - } - block; - unsigned char pchPadding0[64]; - uint256 hash1; - unsigned char pchPadding1[64]; - } - tmp; - memset(&tmp, 0, sizeof(tmp)); - - tmp.block.nVersion = pblock->nVersion; - tmp.block.hashPrevBlock = pblock->hashPrevBlock; - tmp.block.hashMerkleRoot = pblock->hashMerkleRoot; - tmp.block.nTime = pblock->nTime; - tmp.block.nBits = pblock->nBits; - tmp.block.nNonce = pblock->nNonce; - - FormatHashBlocks(&tmp.block, sizeof(tmp.block)); - FormatHashBlocks(&tmp.hash1, sizeof(tmp.hash1)); - - // Byte swap all the input buffer - for (unsigned int i = 0; i < sizeof(tmp)/4; i++) - ((unsigned int*)&tmp)[i] = ByteReverse(((unsigned int*)&tmp)[i]); - - // Precalc the first half of the first hash, which stays constant - SHA256Transform(pmidstate, &tmp.block, pSHA256InitState); - - memcpy(pdata, &tmp.block, 128); - memcpy(phash1, &tmp.hash1, 64); -} - - -bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) -{ - uint256 hash = pblock->GetHash(); - uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); - - if (hash > hashTarget && pblock->IsProofOfWork()) - return error("BitcoinMiner : proof-of-work not meeting target"); - - //// debug print - printf("BitcoinMiner:\n"); - printf("new block found \n hash: %s \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str()); - pblock->print(); - printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str()); - - // Found a solution - { - LOCK(cs_main); - if (pblock->hashPrevBlock != hashBestChain) - return error("BitcoinMiner : generated block is stale"); - - // Remove key from key pool - reservekey.KeepKey(); - - // Track how many getdata requests this block gets - { - LOCK(wallet.cs_wallet); - wallet.mapRequestCount[pblock->GetHash()] = 0; - } - - // Process this block the same as if we had received it from another node - if (!ProcessBlock(NULL, pblock)) - return error("BitcoinMiner : ProcessBlock, block not accepted"); - } - - return true; -} - -void static ThreadBitcoinMiner(void* parg); - -bool fGenerateBitcoins = false; -static bool fLimitProcessors = false; -static int nLimitProcessors = -1; - -bool fMintableCoins = false; -int nMintableLastCheck = 0; - -void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) -{ - printf("CPUMiner started for proof-of-%s\n", fProofOfStake? "stake" : "work"); - SetThreadPriority(THREAD_PRIORITY_LOWEST); - - // If we are minting, then make sure fGenerateBitcoins knows that - if(fProofOfStake) - fGenerateBitcoins = true; - - // Make this thread recognisable as the mining thread - RenameThread("bitcoin-miner"); - - // Each thread has its own key and counter - CReserveKey reservekey(pwallet); - unsigned int nExtraNonce = 0; - - //control the amount of times the client will check for mintable coins - if(pwallet->GetMintableOutputCount() < 2 || GetTime() - nMintableLastCheck > 60) //check for mintable coins every 60 seconds - { - nMintableLastCheck = GetTime(); - fMintableCoins = pwallet->MintableCoins(); - } - - while (fGenerateBitcoins || fProofOfStake) - { - if (fShutdown) - return; - - fWalletStaking = false; - - while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) - { - nLastCoinStakeSearchInterval = 0; - Sleep(1000); - if (fShutdown) - return; - if (!fGenerateBitcoins && !fProofOfStake) - return; - } - - if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet - { - fWalletStaking = true; - if(GetTime() - mapHashedBlocks[nBestHeight] < max(pwallet->nHashInterval, (unsigned int)1)) // wait a 'hash interval' until trying to hash again - { - Sleep(1000); // 2.5 second sleep for this thread - continue; - } - } - - // - // Create new block - // - unsigned int nTransactionsUpdatedLast = nTransactionsUpdated; - CBlockIndex* pindexPrev = pindexBest; - - std::unique_ptr pblock(CreateNewBlock(pwallet, fProofOfStake)); - if (!pblock.get()) - return; - IncrementExtraNonce(pblock.get(), pindexPrev, nExtraNonce); - - if (fProofOfStake) - { - // ppcoin: if proof-of-stake block found then process block - if (pblock->IsProofOfStake()) - { - printf("CPUMiner : proof-of-stake block found %s\n", pblock->GetHash().ToString().c_str()); - - if (!pblock->SignBlock(*pwalletMain)) - { - continue; - } - strMintWarning = ""; - printf("CPUMiner : proof-of-stake block was signed %s\n", pblock->GetHash().ToString().c_str()); - SetThreadPriority(THREAD_PRIORITY_NORMAL); - CheckWork(pblock.get(), *pwalletMain, reservekey); - SetThreadPriority(THREAD_PRIORITY_LOWEST); - } - continue; - } - - printf("Running BitcoinMiner with %lu transactions in block (%u bytes)\n", pblock->vtx.size(), - ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); - - // - // Pre-build hash buffers - // - char pmidstatebuf[32+16]; char* pmidstate = alignup<16>(pmidstatebuf); - char pdatabuf[128+16]; char* pdata = alignup<16>(pdatabuf); - char phash1buf[64+16]; char* phash1 = alignup<16>(phash1buf); - - FormatHashBuffers(pblock.get(), pmidstate, pdata, phash1); - - unsigned int& nBlockTime = *(unsigned int*)(pdata + 64 + 4); - unsigned int& nBlockBits = *(unsigned int*)(pdata + 64 + 8); - - - - // - // Search - // - int64 nStart = GetTime(); - uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); - - while (true) - { - unsigned int nHashesDone = 0; - - uint256 thash; - while (true) - { - thash = pblock->GetHash(); - if (thash <= hashTarget) - { - - if (!pblock->SignBlock(*pwalletMain)) - { - break; - } - - SetThreadPriority(THREAD_PRIORITY_NORMAL); - CheckWork(pblock.get(), *pwallet, reservekey); - SetThreadPriority(THREAD_PRIORITY_LOWEST); - break; - } - pblock->nNonce += 1; - nHashesDone += 1; - if ((pblock->nNonce & 0xFF) == 0) - break; - } - - // Meter hashes/sec - static int64 nHashCounter; - if (nHPSTimerStart == 0) - { - nHPSTimerStart = GetTimeMillis(); - nHashCounter = 0; - } - else - nHashCounter += nHashesDone; - if (GetTimeMillis() - nHPSTimerStart > 4000) - { - static CCriticalSection cs; - { - LOCK(cs); - if (GetTimeMillis() - nHPSTimerStart > 4000) - { - dHashesPerSec = 1000.0 * nHashCounter / (GetTimeMillis() - nHPSTimerStart); - nHPSTimerStart = GetTimeMillis(); - nHashCounter = 0; - static int64 nLogTime; - if (GetTime() - nLogTime > 30 * 60) - { - nLogTime = GetTime(); - printf("hashmeter %6.0f khash/s\n", dHashesPerSec/1000.0); - } - } - } - } - - // Check for stop or if block needs to be rebuilt - boost::this_thread::interruption_point(); - if (vNodes.empty()) - break; - if (pblock->nNonce >= 0xffff0000) - break; - if (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 60) - break; - if (pindexPrev != pindexBest) - break; - - // Update nTime every few seconds - pblock->UpdateTime(pindexPrev); - nBlockTime = ByteReverse(pblock->nTime); - if (fTestNet) - { - // Changing pblock->nTime can change work required on testnet: - nBlockBits = ByteReverse(pblock->nBits); - hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); - } - } - } -} - - -void static ThreadBitcoinMiner(void* parg) -{ - CWallet* pwallet = (CWallet*)parg; - try - { - vnThreadsRunning[THREAD_MINER]++; - BitcoinMiner(pwallet, false); - vnThreadsRunning[THREAD_MINER]--; - } - catch (std::exception& e) { - vnThreadsRunning[THREAD_MINER]--; - PrintException(&e, "ThreadBitcoinMiner()"); - } catch (...) { - vnThreadsRunning[THREAD_MINER]--; - PrintException(NULL, "ThreadBitcoinMiner()"); - } - nHPSTimerStart = 0; - if (vnThreadsRunning[THREAD_MINER] == 0) - dHashesPerSec = 0; - printf("ThreadBitcoinMiner exiting, %d threads remaining\n", vnThreadsRunning[THREAD_MINER]); -} - - -void GenerateBitcoins(bool fGenerate, CWallet* pwallet) -{ - fGenerateBitcoins = fGenerate; - nLimitProcessors = GetArg("-genproclimit", -1); - if (nLimitProcessors == 0) - fGenerateBitcoins = false; - fLimitProcessors = (nLimitProcessors != -1); - - if (fGenerate) - { - int nProcessors = boost::thread::hardware_concurrency(); - printf("%d processors\n", nProcessors); - if (nProcessors < 1) - nProcessors = 1; - if (fLimitProcessors && nProcessors > nLimitProcessors) - nProcessors = nLimitProcessors; - int nAddThreads = nProcessors - vnThreadsRunning[THREAD_MINER]; - printf("Starting %d BitcoinMiner threads\n", nAddThreads); - for (int i = 0; i < nAddThreads; i++) - { - if (!NewThread(ThreadBitcoinMiner, pwallet)) - printf("Error: NewThread(ThreadBitcoinMiner) failed\n"); - Sleep(10); - } - } -} diff --git a/src/main.h b/src/main.h index 369672c48..42d5978a3 100644 --- a/src/main.h +++ b/src/main.h @@ -150,7 +150,7 @@ std::string GetWarnings(std::string strFor); bool GetTransaction(const uint256 &hash, CTransaction &tx, uint256 &hashBlock); uint256 WantedByOrphan(const CBlock* pblockOrphan); const CBlockIndex* GetLastBlockIndex(const CBlockIndex* pindex, bool fProofOfStake); -void BitcoinMiner(CWallet *pwallet, bool fProofOfStake); +unsigned int GetNextTargetRequired(const CBlockIndex* pindexLast, bool fProofOfStake); void ResendWalletTransactions(); bool GetWalletFile(CWallet* pwallet, std::string &strWalletFileOut); bool GetProposalTXID(const uint256& hashProposal, uint256& txid); diff --git a/src/miner.cpp b/src/miner.cpp new file mode 100644 index 000000000..ae1befb41 --- /dev/null +++ b/src/miner.cpp @@ -0,0 +1,776 @@ +#include "miner.h" +#include "hashblock.h" +#include "init.h" +#include "main.h" +#include "util.h" +#include "wallet.h" + +#include +#include + +int static FormatHashBlocks(void* pbuffer, unsigned int len) +{ + unsigned char* pdata = (unsigned char*)pbuffer; + unsigned int blocks = 1 + ((len + 8) / 64); + unsigned char* pend = pdata + 64 * blocks; + std::memset(pdata + len, 0, 64 * blocks - len); + pdata[len] = 0x80; + unsigned int bits = len * 8; + pend[-1] = (bits >> 0) & 0xff; + pend[-2] = (bits >> 8) & 0xff; + pend[-3] = (bits >> 16) & 0xff; + pend[-4] = (bits >> 24) & 0xff; + return blocks; +} + +static const unsigned int pSHA256InitState[8] = + {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19}; + +void SHA256Transform(void* pstate, void* pinput, const void* pinit) +{ + SHA256_CTX ctx; + unsigned char data[64]; + + SHA256_Init(&ctx); + + for (int i = 0; i < 16; i++) + ((uint32_t*)data)[i] = ByteReverse(((uint32_t*)pinput)[i]); + + for (int i = 0; i < 8; i++) + ctx.h[i] = ((uint32_t*)pinit)[i]; + + SHA256_Update(&ctx, data, sizeof(data)); + for (int i = 0; i < 8; i++) + ((uint32_t*)pstate)[i] = ctx.h[i]; +} + + +uint64 nLastBlockTx = 0; +uint64 nLastBlockSize = 0; +int64 nLastCoinStakeSearchInterval = 0; + +// We want to sort transactions by priority and fee, so: +typedef boost::tuple TxPriority; +class TxPriorityCompare +{ + bool byFee; +public: + TxPriorityCompare(bool _byFee) : byFee(_byFee) { } + bool operator()(const TxPriority& a, const TxPriority& b) + { + if (byFee) + { + if (a.get<1>() == b.get<1>()) + return a.get<0>() < b.get<0>(); + return a.get<1>() < b.get<1>(); + } + else + { + if (a.get<0>() == b.get<0>()) + return a.get<1>() < b.get<1>(); + return a.get<0>() < b.get<0>(); + } + } +}; + +// Some explaining would be appreciated +class COrphan +{ +public: + CTransaction* ptx; + std::set setDependsOn; + double dPriority; + double dFeePerKb; + + COrphan(CTransaction* ptxIn) + { + ptx = ptxIn; + dPriority = dFeePerKb = 0; + } + + void print() const + { + printf("COrphan(hash=%s, dPriority=%.1f, dFeePerKb=%.1f)\n", + ptx->GetHash().ToString().substr(0,10).c_str(), dPriority, dFeePerKb); + BOOST_FOREACH(uint256 hash, setDependsOn) + printf(" setDependsOn %s\n", hash.ToString().substr(0,10).c_str()); + } +}; + +// CreateNewBlock: +// fProofOfStake: try (best effort) to make a proof-of-stake block +CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) +{ + CReserveKey reservekey(pwallet); + + // Create new block + std::unique_ptr pblock(new CBlock()); + if (!pblock.get()) + return NULL; + + // Only use the first 4 bits for the version encoding + pblock->nVersion = CBlock::VOTING_VERSION; + + //Check to see if proposals need to be voted on + if (mapProposals.size() > 0) { + std::vector votes; + + // Get all the vote objects versions + std::map mapActiveProposals = proposalManager.GetActive(nBestHeight); + if (pwalletMain->mapVoteObjects.size() > 0) { + for(auto it: mapProposals) { + CTransaction tx; + uint256 hashBlock; + if (!GetTransaction(it.first, tx, hashBlock)) { + printf("*** failed to get transaction %s!\n", it.first.GetHex().c_str()); + continue; + } + + if (!tx.IsProposal()) { + printf("*** tx is not a proposal!\n"); + continue; + } + + CVoteProposal proposal; + if (!ProposalFromTransaction(tx, proposal)) { + printf("*** failed to deserialize!\n"); + continue; + } + + if (!mapActiveProposals.count(proposal.GetHash())) { + continue; + } + + if (pwalletMain->mapVoteObjects.count(proposal.GetHash()) == 0) { + //printf("*** mapVoteObjects does not have proposal hash\n"); + continue; + } + + CVoteObject voteObject = pwalletMain->mapVoteObjects[proposal.GetHash()]; + votes.emplace_back(voteObject); + //printf("*** added vote for %s\n", proposal.GetName().c_str()); + } + } else + printf("*** mapVoteObjects empty!\n"); + + // Update the block version to have all votes + pblock->nVersion |= CVoteObject::GetCombinedVotes(votes); + } else { + printf("map proposals empty\n"); + } + + // Create coinbase tx + CTransaction txNew; + txNew.vin.resize(1); + txNew.vin[0].prevout.SetNull(); + txNew.vout.resize(1); + txNew.vout[0].scriptPubKey << reservekey.GetReservedKey() << OP_CHECKSIG; + + // Add our coinbase tx as first transaction + pblock->vtx.push_back(txNew); + + // Largest block you're willing to create: + unsigned int nBlockMaxSize = GetArg("-blockmaxsize", MAX_BLOCK_SIZE_GEN/2); + // Limit to betweeen 1K and MAX_BLOCK_SIZE-1K for sanity: + nBlockMaxSize = std::max((unsigned int)1000, std::min((unsigned int)(MAX_BLOCK_SIZE-1000), nBlockMaxSize)); + + // How much of the block should be dedicated to high-priority transactions, + // included regardless of the fees they pay + unsigned int nBlockPrioritySize = GetArg("-blockprioritysize", 27000); + nBlockPrioritySize = std::min(nBlockMaxSize, nBlockPrioritySize); + + // Minimum block size you want to create; block will be filled with free transactions + // until there are no more or the block reaches this size: + unsigned int nBlockMinSize = GetArg("-blockminsize", 0); + nBlockMinSize = std::min(nBlockMaxSize, nBlockMinSize); + + // Fee-per-kilobyte amount considered the same as "free" + // Be careful setting this: if you set it to zero then + // a transaction spammer can cheaply fill blocks using + // 1-satoshi-fee transactions. It should be set above the real + // cost to you of processing a transaction. + int64 nMinTxFee = MIN_TX_FEE; + if (mapArgs.count("-mintxfee")) + ParseMoney(mapArgs["-mintxfee"], nMinTxFee); + + // ppcoin: if coinstake available add coinstake tx + static int64 nLastCoinStakeSearchTime = GetAdjustedTime(); // only initialized at startup + CBlockIndex* pindexPrev = pindexBest; + + if (fProofOfStake && !pwalletMain->fDisableStake) // attempt to find a coinstake && make sure settings allow PoS (presstab HyperStake) + { + pblock->nBits = GetNextTargetRequired(pindexPrev, true); + CTransaction txCoinStake; + int64 nSearchTime = txCoinStake.nTime; // search to current time + if (nSearchTime > nLastCoinStakeSearchTime) + { + // printf(">>> OK1\n"); + if (pwallet->CreateCoinStake(*pwallet, pblock->nBits, nSearchTime-nLastCoinStakeSearchTime, txCoinStake)) + { + if (txCoinStake.nTime >= std::max(pindexPrev->GetMedianTimePast()+1, pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime()))) + { // make sure coinstake would meet timestamp protocol + // as it would be the same as the block timestamp + pblock->vtx[0].vout[0].SetEmpty(); + pblock->vtx[0].nTime = txCoinStake.nTime; + pblock->vtx.push_back(txCoinStake); + } + } + nLastCoinStakeSearchInterval = nSearchTime - nLastCoinStakeSearchTime; + nLastCoinStakeSearchTime = nSearchTime; + } + } + + pblock->nBits = GetNextTargetRequired(pindexPrev, pblock->IsProofOfStake()); + + // Collect memory pool transactions into the block + int64 nFees = 0; + { + LOCK2(cs_main, mempool.cs); + CBlockIndex* pindexPrev = pindexBest; + CTxDB txdb("r"); + + // Priority order to process transactions + std::list vOrphan; // list memory doesn't move + std::map > mapDependers; + + // This vector will be sorted into a priority queue: + std::vector vecPriority; + vecPriority.reserve(mempool.mapTx.size()); + for (auto mi = mempool.mapTx.begin(); mi != mempool.mapTx.end(); ++mi) + { + CTransaction& tx = (*mi).second; + if (tx.IsCoinBase() || tx.IsCoinStake() || !tx.IsFinal()) + continue; + + COrphan* porphan = NULL; + double dPriority = 0; + int64 nTotalIn = 0; + bool fMissingInputs = false; + BOOST_FOREACH(const CTxIn& txin, tx.vin) + { + // Read prev transaction + CTransaction txPrev; + CTxIndex txindex; + if (!txPrev.ReadFromDisk(txdb, txin.prevout, txindex)) + { + // This should never happen; all transactions in the memory + // pool should connect to either transactions in the chain + // or other transactions in the memory pool. + if (!mempool.mapTx.count(txin.prevout.hash)) + { + printf("ERROR: mempool transaction missing input\n"); + if (fDebug) assert("mempool transaction missing input" == 0); + fMissingInputs = true; + if (porphan) + vOrphan.pop_back(); + break; + } + + // Has to wait for dependencies + if (!porphan) + { + // Use list for automatic deletion + vOrphan.push_back(COrphan(&tx)); + porphan = &vOrphan.back(); + } + mapDependers[txin.prevout.hash].push_back(porphan); + porphan->setDependsOn.insert(txin.prevout.hash); + nTotalIn += mempool.mapTx[txin.prevout.hash].vout[txin.prevout.n].nValue; + continue; + } + int64 nValueIn = txPrev.vout[txin.prevout.n].nValue; + nTotalIn += nValueIn; + + int nConf = txindex.GetDepthInMainChain(); + dPriority += (double)nValueIn * nConf; + } + if (fMissingInputs) continue; + + // Priority is sum(valuein * age) / txsize + unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); + dPriority /= nTxSize; + + // This is a more accurate fee-per-kilobyte than is used by the client code, because the + // client code rounds up the size to the nearest 1K. That's good, because it gives an + // incentive to create smaller transactions. + double dFeePerKb = double(nTotalIn-tx.GetValueOut()) / (double(nTxSize)/1000.0); + + if (porphan) + { + porphan->dPriority = dPriority; + porphan->dFeePerKb = dFeePerKb; + } + else + vecPriority.push_back(TxPriority(dPriority, dFeePerKb, &(*mi).second)); + } + + // Collect transactions into block + std::map mapTestPool; + uint64 nBlockSize = 1000; + uint64 nBlockTx = 0; + int nBlockSigOps = 100; + bool fSortedByFee = (nBlockPrioritySize <= 0); + + TxPriorityCompare comparer(fSortedByFee); + std::make_heap(vecPriority.begin(), vecPriority.end(), comparer); + + while (!vecPriority.empty()) + { + // Take highest priority transaction off the priority queue: + double dPriority = vecPriority.front().get<0>(); + double dFeePerKb = vecPriority.front().get<1>(); + CTransaction& tx = *(vecPriority.front().get<2>()); + + std::pop_heap(vecPriority.begin(), vecPriority.end(), comparer); + vecPriority.pop_back(); + + // Size limits + unsigned int nTxSize = ::GetSerializeSize(tx, SER_NETWORK, PROTOCOL_VERSION); + if (nBlockSize + nTxSize >= nBlockMaxSize) + continue; + + // Legacy limits on sigOps: + unsigned int nTxSigOps = tx.GetLegacySigOpCount(); + if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS) + continue; + + // Timestamp limit + if (tx.nTime > GetAdjustedTime() || (pblock->IsProofOfStake() && tx.nTime > pblock->vtx[1].nTime)) + continue; + + // ppcoin: simplify transaction fee - allow free = false + int64 nMinFee = tx.GetMinFee(nBlockSize, false, GMF_BLOCK); + + // Skip free transactions if we're past the minimum block size: + if (fSortedByFee && (dFeePerKb < nMinTxFee) && (nBlockSize + nTxSize >= nBlockMinSize)) + continue; + + // Prioritize by fee once past the priority size or we run out of high-priority + // transactions: + if (!fSortedByFee && + ((nBlockSize + nTxSize >= nBlockPrioritySize) || (dPriority < COIN * 144 / 250))) + { + fSortedByFee = true; + comparer = TxPriorityCompare(fSortedByFee); + std::make_heap(vecPriority.begin(), vecPriority.end(), comparer); + } + + // Connecting shouldn't fail due to dependency on other memory pool transactions + // because we're already processing them in order of dependency + std::map mapTestPoolTmp(mapTestPool); + MapPrevTx mapInputs; + bool fInvalid; + if (!tx.FetchInputs(txdb, mapTestPoolTmp, false, true, mapInputs, fInvalid)) + continue; + + int64 nTxFees = tx.GetValueIn(mapInputs)-tx.GetValueOut(); + if (nTxFees < nMinFee) + continue; + + nTxSigOps += tx.GetP2SHSigOpCount(mapInputs); + if (nBlockSigOps + nTxSigOps >= MAX_BLOCK_SIGOPS) + continue; + + if (!tx.ConnectInputs(txdb, mapInputs, mapTestPoolTmp, CDiskTxPos(1,1,1), pindexPrev, false, true)) + continue; + mapTestPoolTmp[tx.GetHash()] = CTxIndex(CDiskTxPos(1,1,1), tx.vout.size()); + swap(mapTestPool, mapTestPoolTmp); + + // Added + pblock->vtx.push_back(tx); + nBlockSize += nTxSize; + ++nBlockTx; + nBlockSigOps += nTxSigOps; + nFees += nTxFees; + + if (fDebug && GetBoolArg("-printpriority")) + { + printf("priority %.1f feeperkb %.1f txid %s\n", + dPriority, dFeePerKb, tx.GetHash().ToString().c_str()); + } + + // Add transactions that depend on this one to the priority queue + uint256 hash = tx.GetHash(); + if (mapDependers.count(hash)) + { + BOOST_FOREACH(COrphan* porphan, mapDependers[hash]) + { + if (!porphan->setDependsOn.empty()) + { + porphan->setDependsOn.erase(hash); + if (porphan->setDependsOn.empty()) + { + vecPriority.push_back(TxPriority(porphan->dPriority, porphan->dFeePerKb, porphan->ptx)); + std::push_heap(vecPriority.begin(), vecPriority.end(), comparer); + } + } + } + } + } + + nLastBlockTx = nBlockTx; + nLastBlockSize = nBlockSize; + + if (fDebug && GetBoolArg("-printpriority")) + printf("CreateNewBlock(): total size %llu\n", nBlockSize); + + if (pblock->IsProofOfWork()) + pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pindexPrev->nHeight+1, nFees, pindexPrev->GetBlockHash()); + + // Fill in header + pblock->hashPrevBlock = pindexPrev->GetBlockHash(); + if (pblock->IsProofOfStake()) + pblock->nTime = pblock->vtx[1].nTime; //same as coinstake timestamp + pblock->nTime = std::max(pindexPrev->GetMedianTimePast()+1, pblock->GetMaxTransactionTime()); + pblock->nTime = std::max(pblock->GetBlockTime(), pindexPrev->GetBlockTime() - GetClockDrift(pindexPrev->GetBlockTime())); + if (pblock->IsProofOfWork()) + pblock->UpdateTime(pindexPrev); + pblock->nNonce = 0; + } + + return pblock.release(); +} + + +void IncrementExtraNonce(CBlock* pblock, CBlockIndex* pindexPrev, unsigned int& nExtraNonce) +{ + // Update nExtraNonce + static uint256 hashPrevBlock; + if (hashPrevBlock != pblock->hashPrevBlock) + { + nExtraNonce = 0; + hashPrevBlock = pblock->hashPrevBlock; + } + ++nExtraNonce; + unsigned int nHeight = pindexPrev->nHeight+1; // Height first in coinbase required for block.version=2 + pblock->vtx[0].vin[0].scriptSig = (CScript() << nHeight << CBigNum(nExtraNonce)) + COINBASE_FLAGS; + assert(pblock->vtx[0].vin[0].scriptSig.size() <= 100); + + pblock->hashMerkleRoot = pblock->BuildMerkleTree(); +} + + +void FormatHashBuffers(CBlock* pblock, char* pmidstate, char* pdata, char* phash1) +{ + // + // Pre-build hash buffers + // + struct + { + struct unnamed2 + { + int nVersion; + uint256 hashPrevBlock; + uint256 hashMerkleRoot; + unsigned int nTime; + unsigned int nBits; + unsigned int nNonce; + } + block; + unsigned char pchPadding0[64]; + uint256 hash1; + unsigned char pchPadding1[64]; + } + tmp; + memset(&tmp, 0, sizeof(tmp)); + + tmp.block.nVersion = pblock->nVersion; + tmp.block.hashPrevBlock = pblock->hashPrevBlock; + tmp.block.hashMerkleRoot = pblock->hashMerkleRoot; + tmp.block.nTime = pblock->nTime; + tmp.block.nBits = pblock->nBits; + tmp.block.nNonce = pblock->nNonce; + + FormatHashBlocks(&tmp.block, sizeof(tmp.block)); + FormatHashBlocks(&tmp.hash1, sizeof(tmp.hash1)); + + // Byte swap all the input buffer + for (unsigned int i = 0; i < sizeof(tmp)/4; i++) + ((unsigned int*)&tmp)[i] = ByteReverse(((unsigned int*)&tmp)[i]); + + // Precalc the first half of the first hash, which stays constant + SHA256Transform(pmidstate, &tmp.block, pSHA256InitState); + + memcpy(pdata, &tmp.block, 128); + memcpy(phash1, &tmp.hash1, 64); +} + + +bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) +{ + uint256 hash = pblock->GetHash(); + uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); + + if (hash > hashTarget && pblock->IsProofOfWork()) + return error("BitcoinMiner : proof-of-work not meeting target"); + + //// debug print + printf("BitcoinMiner:\n"); + printf("new block found \n hash: %s \ntarget: %s\n", hash.GetHex().c_str(), hashTarget.GetHex().c_str()); + pblock->print(); + printf("generated %s\n", FormatMoney(pblock->vtx[0].vout[0].nValue).c_str()); + + // Found a solution + { + LOCK(cs_main); + if (pblock->hashPrevBlock != hashBestChain) + return error("BitcoinMiner : generated block is stale"); + + // Remove key from key pool + reservekey.KeepKey(); + + // Track how many getdata requests this block gets + { + LOCK(wallet.cs_wallet); + wallet.mapRequestCount[pblock->GetHash()] = 0; + } + + // Process this block the same as if we had received it from another node + if (!ProcessBlock(NULL, pblock)) + return error("BitcoinMiner : ProcessBlock, block not accepted"); + } + + return true; +} + +void static ThreadBitcoinMiner(void* parg); + +bool fGenerateBitcoins = false; +static bool fLimitProcessors = false; +static int nLimitProcessors = -1; + +bool fMintableCoins = false; +int nMintableLastCheck = 0; + +void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) +{ + printf("CPUMiner started for proof-of-%s\n", fProofOfStake? "stake" : "work"); + SetThreadPriority(THREAD_PRIORITY_LOWEST); + + // If we are minting, then make sure fGenerateBitcoins knows that + if(fProofOfStake) + fGenerateBitcoins = true; + + // Make this thread recognisable as the mining thread + RenameThread("bitcoin-miner"); + + // Each thread has its own key and counter + CReserveKey reservekey(pwallet); + unsigned int nExtraNonce = 0; + + //control the amount of times the client will check for mintable coins + if(pwallet->GetMintableOutputCount() < 2 || GetTime() - nMintableLastCheck > 60) //check for mintable coins every 60 seconds + { + nMintableLastCheck = GetTime(); + fMintableCoins = pwallet->MintableCoins(); + } + + while (fGenerateBitcoins || fProofOfStake) + { + if (fShutdown) + return; + + fWalletStaking = false; + + while (vNodes.empty() || IsInitialBlockDownload() || pwallet->IsLocked() || !fMintableCoins) + { + nLastCoinStakeSearchInterval = 0; + Sleep(1000); + if (fShutdown) + return; + if (!fGenerateBitcoins && !fProofOfStake) + return; + } + + if(mapHashedBlocks.count(nBestHeight)) //search our map of hashed blocks, see if bestblock has been hashed yet + { + fWalletStaking = true; + if(GetTime() - mapHashedBlocks[nBestHeight] < std::max(pwallet->nHashInterval, (unsigned int)1)) // wait a 'hash interval' until trying to hash again + { + Sleep(1000); // 2.5 second sleep for this thread + continue; + } + } + + // + // Create new block + // + unsigned int nTransactionsUpdatedLast = nTransactionsUpdated; + CBlockIndex* pindexPrev = pindexBest; + + std::unique_ptr pblock(CreateNewBlock(pwallet, fProofOfStake)); + if (!pblock.get()) + return; + IncrementExtraNonce(pblock.get(), pindexPrev, nExtraNonce); + + if (fProofOfStake) + { + // ppcoin: if proof-of-stake block found then process block + if (pblock->IsProofOfStake()) + { + printf("CPUMiner : proof-of-stake block found %s\n", pblock->GetHash().ToString().c_str()); + + if (!pblock->SignBlock(*pwalletMain)) + { + continue; + } + + printf("CPUMiner : proof-of-stake block was signed %s\n", pblock->GetHash().ToString().c_str()); + SetThreadPriority(THREAD_PRIORITY_NORMAL); + CheckWork(pblock.get(), *pwalletMain, reservekey); + SetThreadPriority(THREAD_PRIORITY_LOWEST); + } + continue; + } + + printf("Running BitcoinMiner with %lu transactions in block (%u bytes)\n", pblock->vtx.size(), + ::GetSerializeSize(*pblock, SER_NETWORK, PROTOCOL_VERSION)); + + // + // Pre-build hash buffers + // + char pmidstatebuf[32+16]; char* pmidstate = alignup<16>(pmidstatebuf); + char pdatabuf[128+16]; char* pdata = alignup<16>(pdatabuf); + char phash1buf[64+16]; char* phash1 = alignup<16>(phash1buf); + + FormatHashBuffers(pblock.get(), pmidstate, pdata, phash1); + + unsigned int& nBlockTime = *(unsigned int*)(pdata + 64 + 4); + unsigned int& nBlockBits = *(unsigned int*)(pdata + 64 + 8); + + // + // Search + // + int64 nStart = GetTime(); + uint256 hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); + + while (true) + { + unsigned int nHashesDone = 0; + + uint256 thash; + while (true) + { + thash = pblock->GetHash(); + if (thash <= hashTarget) + { + + if (!pblock->SignBlock(*pwalletMain)) + { + break; + } + + SetThreadPriority(THREAD_PRIORITY_NORMAL); + CheckWork(pblock.get(), *pwallet, reservekey); + SetThreadPriority(THREAD_PRIORITY_LOWEST); + break; + } + pblock->nNonce += 1; + nHashesDone += 1; + if ((pblock->nNonce & 0xFF) == 0) + break; + } + + // Meter hashes/sec + static int64 nHashCounter; + if (nHPSTimerStart == 0) + { + nHPSTimerStart = GetTimeMillis(); + nHashCounter = 0; + } + else + nHashCounter += nHashesDone; + if (GetTimeMillis() - nHPSTimerStart > 4000) + { + static CCriticalSection cs; + { + LOCK(cs); + if (GetTimeMillis() - nHPSTimerStart > 4000) + { + dHashesPerSec = 1000.0 * nHashCounter / (GetTimeMillis() - nHPSTimerStart); + nHPSTimerStart = GetTimeMillis(); + nHashCounter = 0; + static int64 nLogTime; + if (GetTime() - nLogTime > 30 * 60) + { + nLogTime = GetTime(); + printf("hashmeter %6.0f khash/s\n", dHashesPerSec/1000.0); + } + } + } + } + + // Check for stop or if block needs to be rebuilt + boost::this_thread::interruption_point(); + if (vNodes.empty()) + break; + if (pblock->nNonce >= 0xffff0000) + break; + if (nTransactionsUpdated != nTransactionsUpdatedLast && GetTime() - nStart > 60) + break; + if (pindexPrev != pindexBest) + break; + + // Update nTime every few seconds + pblock->UpdateTime(pindexPrev); + nBlockTime = ByteReverse(pblock->nTime); + if (fTestNet) + { + // Changing pblock->nTime can change work required on testnet: + nBlockBits = ByteReverse(pblock->nBits); + hashTarget = CBigNum().SetCompact(pblock->nBits).getuint256(); + } + } + } +} + + +void static ThreadBitcoinMiner(void* parg) +{ + CWallet* pwallet = (CWallet*)parg; + try + { + vnThreadsRunning[THREAD_MINER]++; + BitcoinMiner(pwallet, false); + vnThreadsRunning[THREAD_MINER]--; + } + catch (std::exception& e) { + vnThreadsRunning[THREAD_MINER]--; + PrintException(&e, "ThreadBitcoinMiner()"); + } catch (...) { + vnThreadsRunning[THREAD_MINER]--; + PrintException(NULL, "ThreadBitcoinMiner()"); + } + nHPSTimerStart = 0; + if (vnThreadsRunning[THREAD_MINER] == 0) + dHashesPerSec = 0; + printf("ThreadBitcoinMiner exiting, %d threads remaining\n", vnThreadsRunning[THREAD_MINER]); +} + + +void GenerateBitcoins(bool fGenerate, CWallet* pwallet) +{ + fGenerateBitcoins = fGenerate; + nLimitProcessors = GetArg("-genproclimit", -1); + if (nLimitProcessors == 0) + fGenerateBitcoins = false; + fLimitProcessors = (nLimitProcessors != -1); + + if (fGenerate) + { + int nProcessors = boost::thread::hardware_concurrency(); + printf("%d processors\n", nProcessors); + if (nProcessors < 1) + nProcessors = 1; + if (fLimitProcessors && nProcessors > nLimitProcessors) + nProcessors = nLimitProcessors; + int nAddThreads = nProcessors - vnThreadsRunning[THREAD_MINER]; + printf("Starting %d BitcoinMiner threads\n", nAddThreads); + for (int i = 0; i < nAddThreads; i++) + { + if (!NewThread(ThreadBitcoinMiner, pwallet)) + printf("Error: NewThread(ThreadBitcoinMiner) failed\n"); + Sleep(10); + } + } +} diff --git a/src/miner.h b/src/miner.h new file mode 100644 index 000000000..bd83731bb --- /dev/null +++ b/src/miner.h @@ -0,0 +1,11 @@ +#ifndef HYPERSTAKE_MINER_H +#define HYPERSTAKE_MINER_H + +class CBlock; +class CWallet; + +void BitcoinMiner(CWallet *pwallet, bool fProofOfStake); +CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake); +void static ThreadBitcoinMiner(void* parg); + +#endif //HYPERSTAKE_MINER_H diff --git a/src/net.cpp b/src/net.cpp index 764330660..8141844db 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -6,6 +6,7 @@ #include "db.h" #include "net.h" #include "init.h" +#include "miner.h" #include "addrman.h" #include "ui_interface.h" From bcf28ee496dccf169c2a7369e358ae61e312110c Mon Sep 17 00:00:00 2001 From: presstab Date: Wed, 16 May 2018 11:24:20 -0600 Subject: [PATCH 540/555] Reorder check for mintable coins. --- src/miner.cpp | 19 +++++++++---------- src/miner.h | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/miner.cpp b/src/miner.cpp index ae1befb41..cd44e93e5 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -533,8 +533,6 @@ bool CheckWork(CBlock* pblock, CWallet& wallet, CReserveKey& reservekey) return true; } -void static ThreadBitcoinMiner(void* parg); - bool fGenerateBitcoins = false; static bool fLimitProcessors = false; static int nLimitProcessors = -1; @@ -558,13 +556,6 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) CReserveKey reservekey(pwallet); unsigned int nExtraNonce = 0; - //control the amount of times the client will check for mintable coins - if(pwallet->GetMintableOutputCount() < 2 || GetTime() - nMintableLastCheck > 60) //check for mintable coins every 60 seconds - { - nMintableLastCheck = GetTime(); - fMintableCoins = pwallet->MintableCoins(); - } - while (fGenerateBitcoins || fProofOfStake) { if (fShutdown) @@ -578,6 +569,14 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) Sleep(1000); if (fShutdown) return; + + //control the amount of times the client will check for mintable coins + if (GetTime() - nMintableLastCheck > 60) //check for mintable coins every 60 seconds + { + nMintableLastCheck = GetTime(); + fMintableCoins = pwallet->MintableCoins(); + } + if (!fGenerateBitcoins && !fProofOfStake) return; } @@ -725,7 +724,7 @@ void BitcoinMiner(CWallet *pwallet, bool fProofOfStake) } -void static ThreadBitcoinMiner(void* parg) +void ThreadBitcoinMiner(void* parg) { CWallet* pwallet = (CWallet*)parg; try diff --git a/src/miner.h b/src/miner.h index bd83731bb..49239f70e 100644 --- a/src/miner.h +++ b/src/miner.h @@ -6,6 +6,6 @@ class CWallet; void BitcoinMiner(CWallet *pwallet, bool fProofOfStake); CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake); -void static ThreadBitcoinMiner(void* parg); +void ThreadBitcoinMiner(void* parg); #endif //HYPERSTAKE_MINER_H From ab8312abbf3af2fdb672554a0a33999b4be2503c Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 29 May 2018 19:36:05 -0600 Subject: [PATCH 541/555] [Depends] Compile dependencies with qt gif enabled. --- depends/packages/qt.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/depends/packages/qt.mk b/depends/packages/qt.mk index 858898b52..312f2dcc4 100644 --- a/depends/packages/qt.mk +++ b/depends/packages/qt.mk @@ -36,7 +36,6 @@ $(package)_config_opts += -no-eglfs $(package)_config_opts += -no-feature-style-windowsmobile $(package)_config_opts += -no-feature-style-windowsce $(package)_config_opts += -no-freetype -$(package)_config_opts += -no-gif $(package)_config_opts += -no-glib $(package)_config_opts += -no-gstreamer $(package)_config_opts += -no-icu From e47956b279c416c43c7a16daf5aa970cd58f0cd4 Mon Sep 17 00:00:00 2001 From: presstab Date: Tue, 29 May 2018 19:39:41 -0600 Subject: [PATCH 542/555] Remove spammy log prints. --- src/miner.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/miner.cpp b/src/miner.cpp index cd44e93e5..5ee773e54 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -118,7 +118,7 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) // Get all the vote objects versions std::map mapActiveProposals = proposalManager.GetActive(nBestHeight); if (pwalletMain->mapVoteObjects.size() > 0) { - for(auto it: mapProposals) { + for (auto it: mapProposals) { CTransaction tx; uint256 hashBlock; if (!GetTransaction(it.first, tx, hashBlock)) { @@ -150,13 +150,10 @@ CBlock* CreateNewBlock(CWallet* pwallet, bool fProofOfStake) votes.emplace_back(voteObject); //printf("*** added vote for %s\n", proposal.GetName().c_str()); } - } else - printf("*** mapVoteObjects empty!\n"); + } // Update the block version to have all votes pblock->nVersion |= CVoteObject::GetCombinedVotes(votes); - } else { - printf("map proposals empty\n"); } // Create coinbase tx From 7f8ac107985c3a6162910a645d0889baa3837a98 Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Jun 2018 15:17:40 -0600 Subject: [PATCH 543/555] Don't perform full signature checks and PoS checks on blocks older than latest checkpoint. These checks do not need to be performed because they were checked at the time the blocks were created and added to the chain. If the signature or PoS is malleated then it will change the hash of the transaction and block, and the checkpoint will not verify. --- src/main.cpp | 78 +++++++++++++++++++++++++--------------------------- src/main.h | 4 +-- 2 files changed, 39 insertions(+), 43 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index aa8831ee1..1bd9460d3 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1569,7 +1569,8 @@ bool CBlock::DisconnectBlock(CTxDB& txdb, CBlockIndex* pindex) bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) { // Check it again in case a previous version let a bad block in - if (!CheckBlock(!fJustCheck, !fJustCheck)) + bool fFullCheck = pindex->nHeight >= Checkpoints::GetTotalBlocksEstimate(); + if (!CheckBlock(!fJustCheck, !fJustCheck, fFullCheck)) return false; // Do not allow blocks that contain transactions which 'overwrite' older transactions, @@ -1602,14 +1603,13 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) int64 nValueIn = 0; int64 nValueOut = 0; unsigned int nSigOps = 0; - BOOST_FOREACH(CTransaction& tx, vtx) - { + for (CTransaction& tx : vtx) { uint256 hashTx = tx.GetHash(); if (fEnforceBIP30) { CTxIndex txindexOld; if (txdb.ReadTxIndex(hashTx, txindexOld)) { - BOOST_FOREACH(CDiskTxPos &pos, txindexOld.vSpent) + for (CDiskTxPos &pos : txindexOld.vSpent) if (pos.IsNull()) return false; } @@ -1677,16 +1677,16 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) // Keep track of any vote proposals that were added to the blockchain CVoteDB voteDB; - BOOST_FOREACH (const CTransaction& tx, vtx) { - uint256 txid = tx.GetHash(); - if (count(vQueuedProposals.begin(), vQueuedProposals.end(), txid)) { - CVoteProposal proposal; - if (ProposalFromTransaction(tx, proposal)) { - mapProposals[txid] = proposal.GetHash(); - if (!voteDB.WriteProposal(txid, proposal)) { - printf("%s : failed to record proposal to db\n", __func__); - } else { - if (!proposalManager.Add(proposal)) + if (vQueuedProposals.size()) { + for (const CTransaction& tx : vtx) { + uint256 txid = tx.GetHash(); + if (count(vQueuedProposals.begin(), vQueuedProposals.end(), txid)) { + CVoteProposal proposal; + if (ProposalFromTransaction(tx, proposal)) { + mapProposals[txid] = proposal.GetHash(); + if (!voteDB.WriteProposal(txid, proposal)) + printf("%s : failed to record proposal to db\n", __func__); + else if (!proposalManager.Add(proposal)) printf("%s: failed to add proposal %s to manager\n", __func__, txid.GetHex().c_str()); } } @@ -1696,8 +1696,8 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) //Record new votes to the tally if (pindex->pprev) { if (fTestNet || pindex->nHeight >= (int)VOTING_START) - pindex->tally = CVoteTally(pindex->pprev->tally); - map mapActive = proposalManager.GetActive(pindex->nHeight); + pindex->tally = CVoteTally(pindex->pprev->tally); + std::map mapActive = proposalManager.GetActive(pindex->nHeight); pindex->tally.SetNewPositions(mapActive); pindex->tally.ProcessNewVotes(static_cast(pindex->nVersion)); } @@ -1707,18 +1707,14 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) return error("Connect() : WriteBlockIndex for pindex failed"); // Write queued txindex changes - for (map::iterator mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) - { + for (auto mi = mapQueuedChanges.begin(); mi != mapQueuedChanges.end(); ++mi) { if (!txdb.UpdateTxIndex((*mi).first, (*mi).second)) return error("ConnectBlock() : UpdateTxIndex failed"); } uint256 prevHash = 0; if(pindex->pprev) - { prevHash = pindex->pprev->GetBlockHash(); - // printf("==> Got prevHash = %s\n", prevHash.ToString().c_str()); - } if (vtx[0].GetValueOut() > GetProofOfWorkReward(pindex->nHeight, nFees, prevHash)) return false; @@ -1734,7 +1730,7 @@ bool CBlock::ConnectBlock(CTxDB& txdb, CBlockIndex* pindex, bool fJustCheck) } // Watch for transactions paying to me - BOOST_FOREACH(CTransaction& tx, vtx) + for (CTransaction& tx : vtx) SyncWithWallets(tx, this, true); return true; @@ -2152,7 +2148,7 @@ bool CBlock::AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos) } -bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const +bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot, bool fFullCheck) const { // These are checks that are independent of context // that can be verified before saving an orphan block. @@ -2193,31 +2189,28 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const return DoS(50, error("CheckBlock() : coinstake timestamp violation nTimeBlock=%lld nTimeTx=%u", GetBlockTime(), vtx[1].nTime)); // Check transactions - BOOST_FOREACH(const CTransaction& tx, vtx) + set uniqueTx; + for (const CTransaction& tx : vtx) { - if (!tx.CheckTransaction()) + if (fFullCheck && !tx.CheckTransaction()) return DoS(tx.nDoS, error("CheckBlock() : CheckTransaction failed")); // ppcoin: check transaction timestamp if (GetBlockTime() < (int64)tx.nTime) return DoS(50, error("CheckBlock() : block timestamp earlier than transaction timestamp")); + + uniqueTx.insert(tx.GetHash()); } // Check for duplicate txids. This is caught by ConnectInputs(), // but catching it earlier avoids a potential DoS attack: - set uniqueTx; - BOOST_FOREACH(const CTransaction& tx, vtx) - { - uniqueTx.insert(tx.GetHash()); - } if (uniqueTx.size() != vtx.size()) return DoS(100, error("CheckBlock() : duplicate transaction")); unsigned int nSigOps = 0; - BOOST_FOREACH(const CTransaction& tx, vtx) - { + for (const CTransaction& tx : vtx) nSigOps += tx.GetLegacySigOpCount(); - } + if (nSigOps > MAX_BLOCK_SIGOPS) return DoS(100, error("CheckBlock() : out-of-bounds SigOpCount")); @@ -2226,7 +2219,7 @@ bool CBlock::CheckBlock(bool fCheckPOW, bool fCheckMerkleRoot) const return DoS(100, error("CheckBlock() : hashMerkleRoot mismatch")); // ppcoin: check block signature - if (!CheckBlockSignature()) + if (fFullCheck && !CheckBlockSignature()) return DoS(100, error("CheckBlock() : bad block signature")); return true; @@ -2247,9 +2240,8 @@ bool CBlock::AcceptBlock() CBlockIndex* pindexPrev = (*mi).second; int nHeight = pindexPrev->nHeight+1; - if (IsProofOfWork() && nHeight > POW_CUTOFF_HEIGHT) - return DoS(100, error("AcceptBlock() : No proof-of-work allowed anymore (height = %d)", nHeight)); + return DoS(100, error("AcceptBlock() : No proof-of-work allowed anymore (height = %d)", nHeight)); // Check proof-of-work or proof-of-stake if (nBits != GetNextTargetRequired(pindexPrev, IsProofOfStake())) @@ -2260,7 +2252,7 @@ bool CBlock::AcceptBlock() return error("AcceptBlock() : block's timestamp is too early"); // Check that all transactions are finalized - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) if (!tx.IsFinal(nHeight, GetBlockTime())) return DoS(10, error("AcceptBlock() : contains a non-final transaction")); @@ -2292,7 +2284,7 @@ bool CBlock::AcceptBlock() if (hashBestChain == hash) { LOCK(cs_vNodes); - BOOST_FOREACH(CNode* pnode, vNodes) + for (CNode* pnode : vNodes) if (nBestHeight > (pnode->nStartingHeight != -1 ? pnode->nStartingHeight - 2000 : nBlockEstimate)) pnode->PushInventory(CInv(MSG_BLOCK, hash)); } @@ -2370,6 +2362,11 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) return error("ProcessBlock() : duplicate proof-of-stake (%s, %d) for block %s", pblock->GetProofOfStake().first.ToString().c_str(), pblock->GetProofOfStake().second, hash.ToString().c_str()); } + // If this block is before the last hardened checkpoint, then do not perform complete signature checks + bool fFullCheck = true; + if (mapBlockIndex.count(pblock->hashPrevBlock)) + fFullCheck = mapBlockIndex.at(pblock->hashPrevBlock)->nHeight > Checkpoints::GetTotalBlocksEstimate(); + // Preliminary checks if (!pblock->CheckBlock()) return error("ProcessBlock() : CheckBlock FAILED"); @@ -2378,11 +2375,11 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) if (pblock->IsProofOfStake()) { uint256 hashProofOfStake = 0; - if (!CheckProofOfStake(pblock->vtx[1], pblock->nBits, hashProofOfStake)) - { + if (fFullCheck && !CheckProofOfStake(pblock->vtx[1], pblock->nBits, hashProofOfStake)) { printf("WARNING: ProcessBlock(): check proof-of-stake failed for block %s\n", hash.ToString().c_str()); return false; } + if (!mapProofOfStake.count(hash)) // add to mapProofOfStake mapProofOfStake.insert(make_pair(hash, hashProofOfStake)); } @@ -2448,7 +2445,6 @@ bool ProcessBlock(CNode* pfrom, CBlock* pblock, std::string& strErr) if (!pwalletMain->MultiSend() ) printf("ERROR While trying to use MultiSend"); - // presstab HyperStake: enable of disable staking based on block difficulty if(pwalletMain->fStakeRequirement) { diff --git a/src/main.h b/src/main.h index 42d5978a3..5009bde78 100644 --- a/src/main.h +++ b/src/main.h @@ -959,7 +959,7 @@ class CBlock uint256 BuildMerkleTree() const { vMerkleTree.clear(); - BOOST_FOREACH(const CTransaction& tx, vtx) + for (const CTransaction& tx : vtx) vMerkleTree.push_back(tx.GetHash()); int j = 0; for (int nSize = vtx.size(); nSize > 1; nSize = (nSize + 1) / 2) @@ -1067,7 +1067,7 @@ class CBlock bool ReadFromDisk(const CBlockIndex* pindex, bool fReadTransactions=true); bool SetBestChain(CTxDB& txdb, CBlockIndex* pindexNew); bool AddToBlockIndex(unsigned int nFile, unsigned int nBlockPos); - bool CheckBlock(bool fCheckPOW=true, bool fCheckMerkleRoot=true) const; + bool CheckBlock(bool fCheckPOW=true, bool fCheckMerkleRoot=true, bool fFullCheck=true) const; bool AcceptBlock(); bool GetCoinAge(uint64& nCoinAge) const; // ppcoin: calculate total coin age spent in block bool SignBlock(const CKeyStore& keystore); From f0786a330175e8e83a9e169314fcd0a3f662d28c Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Jun 2018 15:20:47 -0600 Subject: [PATCH 544/555] Fix segfault on repairwallet. --- src/wallet.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/wallet.cpp b/src/wallet.cpp index 3644cc6d9..f21036dc9 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2460,13 +2460,14 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& // needs to be located above the readtxindex code or else it will not be triggered if(!pcoin->IsConfirmedInMainChain() && (GetTime() - pcoin->GetTxTime()) > (60*10)) //give the tx 10 minutes before considering it failed { - nOrphansFound++; - if (!fCheckOnly) - { - EraseFromWallet(hash); - NotifyTransactionChanged(this, hash, CT_DELETED); - } - printf("FixSpentCoins %s rejected transaction %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); + nOrphansFound++; + if (!fCheckOnly) + { + EraseFromWallet(hash); + NotifyTransactionChanged(this, hash, CT_DELETED); + } + printf("FixSpentCoins %s rejected transaction %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); + continue; } // Find the corresponding transaction index @@ -2512,7 +2513,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& nOrphansFound++; if (!fCheckOnly) { - EraseFromWallet(hash); + //EraseFromWallet(hash); NotifyTransactionChanged(this, hash, CT_DELETED); } printf("FixSpentCoins %s orphaned generation tx %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); From fd4c2c5ffeb7502762fc3c0a89d2accd883aa23f Mon Sep 17 00:00:00 2001 From: presstab Date: Fri, 1 Jun 2018 15:21:34 -0600 Subject: [PATCH 545/555] Use the actual time from the transaction for QT transaction records. GetTxTime() can return times that are different from the time the tx was actually created. Peercoin based chains have a time member variable within CTransaction, so no reason not to use that for QT transaction records. --- src/qt/transactionrecord.cpp | 2 +- src/wallet.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 05310aa3c..92aad352c 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -24,7 +24,7 @@ bool TransactionRecord::showTransaction(const CWalletTx &wtx) QList TransactionRecord::decomposeTransaction(const CWallet *wallet, const CWalletTx &wtx) { QList parts; - int64 nTime = wtx.GetTxTime(); + int64 nTime = wtx.nTime; int64 nCredit = wtx.GetCredit(true); int64 nDebit = wtx.GetDebit(); int64 nNet = nCredit - nDebit; diff --git a/src/wallet.cpp b/src/wallet.cpp index f21036dc9..c23f7decc 100644 --- a/src/wallet.cpp +++ b/src/wallet.cpp @@ -2513,7 +2513,7 @@ void CWallet::FixSpentCoins(int& nMismatchFound, int64& nBalanceInQuestion, int& nOrphansFound++; if (!fCheckOnly) { - //EraseFromWallet(hash); + EraseFromWallet(hash); NotifyTransactionChanged(this, hash, CT_DELETED); } printf("FixSpentCoins %s orphaned generation tx %s\n", fCheckOnly ? "found" : "removed", hash.ToString().c_str()); From 11cf18f6191a331c9329a87f7ee1de7942f74441 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 19:58:38 -0600 Subject: [PATCH 546/555] added anonymous namespace to voteproposalmanager for helper functions --- src/voteproposalmanager.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index c65186925..163b97469 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -94,6 +94,11 @@ map CVoteProposalManager::GetActive(int nHeight) return mapActive; } +namespace +{ + +} + bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) { //Conflicts for block range From 852bc619574713b37a0881130e1f232ced77a6e4 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:00:59 -0600 Subject: [PATCH 547/555] created Event struct for efficient computation of overlapping voting intervals --- src/voteproposalmanager.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 163b97469..f4577a882 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -96,7 +96,29 @@ map CVoteProposalManager::GetActive(int nHeight) namespace { + //An Event is either the beginning or end of a vote proposal span. + //This struct is used for GetMaxOverlap + struct Event + { + bool start; + int position; + int bitCount; + + //default constructor + Event() {} + + Event(bool start, int position, int bitCount = 0) + { + this->start = start; + this->position = position; + this->bitCount = bitCount; + } + static bool Compare(const Event& lhs, const Event& rhs) + { + return lhs.position < rhs.position; + } + }; } bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) From a766f261381e53266bbaa6fefb3248a2dc379a48 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:04:11 -0600 Subject: [PATCH 548/555] GetMaxOverlap() method implemented to efficiently calculate the maximum interval overlap for a vector of proposals --- src/voteproposalmanager.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index f4577a882..1d04383fe 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -119,6 +119,32 @@ namespace return lhs.position < rhs.position; } }; + + //returns the maximum number of proposals overlapping at any point within the given range + unsigned int GetMaxOverlap(const vector& vProposals, const unsigned int& nStart, const unsigned int& nEnd) + { + int nMaxOverlapQuantity = -1; + vector vEvents(2 * vProposals.size()); + for(auto proposalData: vProposals) { + if(proposalData.nHeightEnd < nStart) continue; + if(proposalData.nHeightStart > nEnd) continue; + vEvents.emplace_back(Event(true, proposalData.nHeightStart)); + vEvents.emplace_back(Event(false, proposalData.nHeightEnd)); + } + + // sort the events in order of time (defined by Compare method in Event struct + sort(vEvents.begin(), vEvents.end(), Event::Compare); + + // iterate through all events and keep track of overlapping intervals + int nCurValueCounter = 0; + for(Event event: vEvents) { + nCurValueCounter += event.start ? 1 : -1; + nMaxOverlapQuantity = max(nMaxOverlapQuantity, nCurValueCounter); + } + + // return the maximum number of overlapping intervals contained in vProposals at any point in time + return (unsigned int)nMaxOverlapQuantity; + } } bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) From 3b5bcc5b243dbd113f62e37d8cd97a2102923c83 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:06:41 -0600 Subject: [PATCH 549/555] Implement resource usage heuristic calculation for new proposals --- src/voteproposalmanager.cpp | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 1d04383fe..3908a63fd 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -145,6 +145,54 @@ namespace // return the maximum number of overlapping intervals contained in vProposals at any point in time return (unsigned int)nMaxOverlapQuantity; } + + // return a deterministic 64 bit integer that represents the resource usage of a given proposal + long GetResourceUsageHeuristic(const vector& vProposals, const CVoteProposal& proposal) + { + long nHeuristic = 0; + int nStart = proposal.GetStartHeight(); + int nEnd = proposal.GetStartHeight() + proposal.GetCheckSpan(); + + // An event is defined as either a proposal interval start or a proposal interval ending. + vector vEvents(2 * vProposals.size()); + + // For each proposal in vProposals that overlaps with the given proposal, create a start and end event then + // add it to vEvents. This vector will be used to determine the number of overlapping voting intervals efficiently. + for(auto proposalData: vProposals) { + if(proposalData.nHeightEnd < nStart) continue; + if(proposalData.nHeightStart > nEnd) continue; + + Event startEvent(true, proposalData.nHeightStart, proposalData.location.GetBitCount()); + Event endEvent(false, proposalData.nHeightEnd + 1, proposalData.location.GetBitCount()); + + vEvents.emplace_back(startEvent); + vEvents.emplace_back(endEvent); + } + + // sort the events so that those that happen earlier appear first in the vector + sort(vEvents.begin(), vEvents.end(), Event::Compare); + + // iterate through events in sorted order and keep a running counter of how many bits are consumed + int nCurValueCounter = 0; + for(unsigned int i = 0; i < vEvents.size() - 1; i++) { + Event curEvent = vEvents.at(i); + Event nextEvent = vEvents.at(i + 1); + + nCurValueCounter += curEvent.start ? curEvent.bitCount : -1 * curEvent.bitCount; + + // only start the counter when we have entered the voting intervals of the given proposal + if(nextEvent.position <= nStart) continue; + if(curEvent.position > nEnd) break; + + // the number of bits used is guaranteed to be constant for every block between these two events + int gap = min(nEnd, nextEvent.position) - max(nStart, curEvent.position); + + // TODO: heuristic updated; this is subject to change + nHeuristic += (100000 * ((long) proposal.GetBitCount())) / (28 - nCurValueCounter) * gap; + } + + return nHeuristic; + } } bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) From f90a08a94152754f06506a020fccf74ea4c1731b Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:08:18 -0600 Subject: [PATCH 550/555] added self contained utility method for querying overlapping proposals --- src/voteproposalmanager.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/voteproposalmanager.cpp b/src/voteproposalmanager.cpp index 3908a63fd..d06360f7f 100644 --- a/src/voteproposalmanager.cpp +++ b/src/voteproposalmanager.cpp @@ -193,6 +193,23 @@ namespace return nHeuristic; } + + //returns a vector of proposals that overlap with the given range + vector GetOverlappingProposals(const map& mapProposalData, + const int& nStart, const int& nEnd) + { + vector vConflictingTime; + for (auto it : mapProposalData) { + CProposalMetaData data = it.second; + if ((int)data.nHeightEnd < nStart) + continue; + if ((int)data.nHeightStart > nEnd) + continue; + vConflictingTime.emplace_back(data); + } + + return vConflictingTime; + } } bool CVoteProposalManager::GetNextLocation(int nBitCount, int nStartHeight, int nCheckSpan, VoteLocation& location) From 853e7fe8ff317cccb9fba76231f49de07e3b3237 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:12:39 -0600 Subject: [PATCH 551/555] created const string variables to hold voting error messages --- src/test/voting_tests.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 1291dfe50..7c46db5fb 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -16,6 +16,25 @@ using namespace std; BOOST_AUTO_TEST_SUITE(voting_tests) +// ERROR MESSAGES +const std::string CONSTRUCT_ERROR = "failed to construct tx"; +const std::string NOT_PROPOSAL_ERROR = "Transaction is not a proposal"; +const std::string COULD_NOT_DESERIALIZE_ERROR = "Failed to deserialize"; +const std::string BIT_LOCATION_ERROR = "location of proposal after it is deserialized isn't equal to its original value"; +const std::string BIT_COUNT_ERROR = "bitcount of proposal after it is deserialized isn't equal to its original value"; +const std::string SHIFT_ERROR = "shift of proposal after it is deserialized isn't equal to its original value"; +const std::string START_HEIGHT_ERROR = "start height of proposal after it is deserialized isn't equal to its original value"; +const std::string SPAN_ERROR = "check span of proposal after it is deserialized isn't equal to its original value"; +const std::string DESCRIPTION_ERROR = "description of proposal after it is deserialized isn't equal to its original value"; +const std::string NAME_ERROR = "name of proposal after it is deserialized isn't equal to its original value"; +const std::string HASH_ERROR = "hash of proposal after it is deserialized isn't equal to its original value"; +const std::string REFUND_ADDRESS_ERROR = "refund address is not equal to its original value after deserialization"; +const std::string MAX_FEE_ERROR = "the max fee of the proposal after it is deserialized isn't equal to its original value"; +const std::string DIFFERENT_ORDER_ERROR = "the deterministic ordering should be the same for both vectors but isn't"; +const std::string SAME_ORDER_ERROR = "the deterministic orderings of the same vector for two different proofhashes are the same"; +const std::string CREATE_ORDER_ERROR = "failed to construct deterministic ordering of proposals"; +const std::string REFUND_OUT_ERROR = "the refund outputs in the coinbase tx were not constructed correctly"; + // name of issue std::string strName = "proposal1"; // check version for existing proposals Shift From 0ef0271c2b965c7f86b42a42a47b48258ffddb1f Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:14:49 -0600 Subject: [PATCH 552/555] added testing process for deterministic ordering calculation. Commented out until the codebase supports it --- src/test/voting_tests.cpp | 62 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 7c46db5fb..62bcbd2f4 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -239,4 +239,66 @@ BOOST_AUTO_TEST_CASE(vote_charset) BOOST_CHECK_MESSAGE(nVersion == correctResult, "votes were not combined correctly"); } + +//BOOST_AUTO_TEST_CASE(vote_deterministic_ordering) { +// +// std::cout << "testing deterministic ordering of proposal transactions" << endl; +// +// CVoteProposalManager manager; +// +// std::string strName = "prop"; +// std::string strDescription = "this is the description"; +// std::string strRefundAddress = "kxpSiwFkHJdNnYFojNDAvP3iiYyw3GH6ZL"; +// int nMaxFee = 5000000; +// +// CVoteProposal proposal1(strName, nStartHeight, nCheckSpan, strDescription + "1", nMaxFee, strRefundAddress); +// CVoteProposal proposal2(strName, nStartHeight, nCheckSpan, strDescription + "2", nMaxFee, strRefundAddress); +// CVoteProposal proposal3(strName, nStartHeight, nCheckSpan, strDescription + "3", nMaxFee, strRefundAddress); +// CVoteProposal proposal4(strName, nStartHeight, nCheckSpan, strDescription + "4", nMaxFee, strRefundAddress); +// CVoteProposal proposal5(strName, nStartHeight, nCheckSpan, strDescription + "5", nMaxFee, strRefundAddress); +// +// CTransaction txProposal1; +// BOOST_CHECK_MESSAGE(proposal1.ConstructTransaction(txProposal1), CONSTRUCT_ERROR); +// +// CTransaction txProposal2; +// BOOST_CHECK_MESSAGE(proposal2.ConstructTransaction(txProposal2), CONSTRUCT_ERROR); +// +// CTransaction txProposal3; +// BOOST_CHECK_MESSAGE(proposal3.ConstructTransaction(txProposal3), CONSTRUCT_ERROR); +// +// CTransaction txProposal4; +// BOOST_CHECK_MESSAGE(proposal4.ConstructTransaction(txProposal4), CONSTRUCT_ERROR); +// +// CTransaction txProposal5; +// BOOST_CHECK_MESSAGE(proposal5.ConstructTransaction(txProposal5), CONSTRUCT_ERROR); +// +// vector vTxProposals = {txProposal1, txProposal2, txProposal3, txProposal4, txProposal5}; +// +// vector vOrderedTxProposals1; +// BOOST_CHECK_MESSAGE(proposalManager.GetDeterministicOrdering(uint256("0xba04fd9cd0e9487f1a713e80828055284c04e362167ceb5f75db70153c613736"), +// vTxProposals, vOrderedTxProposals1), CREATE_ORDER_ERROR); +// +// vector vOrderedTxProposals2; +// BOOST_CHECK_MESSAGE(proposalManager.GetDeterministicOrdering(uint256("0xba04fd9cd0e9487f1a713e80828055284c04e362167ceb5f75db70153c613736"), +// vTxProposals, vOrderedTxProposals2), CREATE_ORDER_ERROR); +// +// // verify that both orderings of tx proposals are the same +// for(int i = 0; i < vTxProposals.size(); i++) { +// BOOST_CHECK_MESSAGE(vOrderedTxProposals1.at(i).GetHash() == vOrderedTxProposals2.at(i).GetHash(), +// DIFFERENT_ORDER_ERROR); +// } +// +// vector vDifferentOrderedTxProposals; +// BOOST_CHECK_MESSAGE(proposalManager.GetDeterministicOrdering(uint256("0xd7ec1705209f0212de02409cea9a9ca565571ae2977241f690dac11a7889d3f4"), +// vTxProposals, vDifferentOrderedTxProposals), CREATE_ORDER_ERROR); +// +// // verify that the ordering of the tx proposals is different for a new proof hash +// bool bSameOrder = true; +// for(int i = 0; i < vTxProposals.size(); i++) { +// bSameOrder = bSameOrder && (vOrderedTxProposals1.at(i).GetHash() == vDifferentOrderedTxProposals.at(i).GetHash()); +// } +// +// BOOST_CHECK_MESSAGE(!bSameOrder, SAME_ORDER_ERROR); +//} + BOOST_AUTO_TEST_SUITE_END() From 4c31b8268213c1854e2775dbc5db954d1f55aa42 Mon Sep 17 00:00:00 2001 From: Igor Durovic Date: Fri, 1 Jun 2018 20:16:23 -0600 Subject: [PATCH 553/555] created unit test in voting_tests for the future refund process for voteproposals. Commented out until the relevant features are implemented --- src/test/voting_tests.cpp | 87 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/src/test/voting_tests.cpp b/src/test/voting_tests.cpp index 62bcbd2f4..e9e28e987 100644 --- a/src/test/voting_tests.cpp +++ b/src/test/voting_tests.cpp @@ -301,4 +301,91 @@ BOOST_AUTO_TEST_CASE(vote_charset) // BOOST_CHECK_MESSAGE(!bSameOrder, SAME_ORDER_ERROR); //} +//BOOST_AUTO_TEST_CASE(vote_refund_process) { +// std::cout << "testing refund process for proposal requests" << endl; +// +// CVoteProposalManager manager; +// +// std::string strName = "prop"; +// std::string strDescription = "this is the description"; +// std::string strRefundAddress = "kxpSiwFkHJdNnYFojNDAvP3iiYyw3GH6ZL"; +// int nMaxFee1 = 5000000; +// int nMaxFee2 = 938049809; +// int nMaxFee3 = 3; +// int nMaxFee4 = 1000000000; +// int nMaxFee5 = 6000000; +// +// CTransaction txCoinBase; +// txCoinBase.vin.resize(1); +// txCoinBase.vin[0].prevout.SetNull(); +// txCoinBase.vout.resize(1); +// +// CVoteProposal proposal1(strName, nStartHeight, nCheckSpan, strDescription, nMaxFee1, strRefundAddress); +// CVoteProposal proposal2(strName, nStartHeight, nCheckSpan, strDescription, nMaxFee2, strRefundAddress); +// CVoteProposal proposal3(strName, nStartHeight, nCheckSpan, strDescription, nMaxFee3, strRefundAddress); +// CVoteProposal proposal4(strName, nStartHeight, nCheckSpan, strDescription, nMaxFee4, strRefundAddress); +// CVoteProposal proposal5(strName, nStartHeight, nCheckSpan, strDescription, nMaxFee5, strRefundAddress); +// +// CTransaction txProposal1; +// BOOST_CHECK_MESSAGE(proposal1.ConstructTransaction(txProposal1), CONSTRUCT_ERROR); +// +// CTransaction txProposal2; +// BOOST_CHECK_MESSAGE(proposal2.ConstructTransaction(txProposal2), CONSTRUCT_ERROR); +// +// CTransaction txProposal3; +// BOOST_CHECK_MESSAGE(proposal3.ConstructTransaction(txProposal3), CONSTRUCT_ERROR); +// +// CTransaction txProposal4; +// BOOST_CHECK_MESSAGE(proposal4.ConstructTransaction(txProposal4), CONSTRUCT_ERROR); +// +// CTransaction txProposal5; +// BOOST_CHECK_MESSAGE(proposal5.ConstructTransaction(txProposal5), CONSTRUCT_ERROR); +// +// vector vTxProposals = {txProposal1, txProposal2, txProposal3, txProposal4, txProposal5}; +// +// vector vOrderedTxProposals; +// BOOST_CHECK_MESSAGE(proposalManager.GetDeterministicOrdering(uint256("0xba04fd9cd0e9487f1a713e80828055284c04e362167ceb5f75db70153c613736"), +// vTxProposals, vOrderedTxProposals), CREATE_ORDER_ERROR); +// +// for (CTransaction txProposal: vOrderedTxProposals) { +// // output variables +// int nRequiredFee; +// CVoteProposal proposal; +// VoteLocation location; +// +// // Skip this txProposal if a proposal object cannot be extracted from it +// BOOST_CHECK_MESSAGE(ProposalFromTransaction(txProposal, proposal), CONSTRUCT_ERROR); +// proposalManager.Add(proposal); +// +// // input variables +// int nTxFee = CVoteProposal::BASE_FEE; +// int nBitCount = proposal.GetBitCount(); +// int nStartHeight = proposal.GetStartHeight(); +// int nCheckSpan = proposal.GetCheckSpan(); +// +// // If a valid voting location cannot be found then create an unaccepted proposal refund +// if (!proposalManager.GetNextLocation(nBitCount, nStartHeight, nCheckSpan, location)) { +// proposalManager.AddRefundToCoinBase(proposal, nRequiredFee, nTxFee, false, txCoinBase); +// } else { +// BOOST_CHECK(true); +// // If a fee cannot be calculated then skip this proposal without creating a refund tx +// proposal.SetLocation(location); +// BOOST_CHECK_MESSAGE(proposalManager.GetFee(proposal, nRequiredFee), "could not calculate fee."); +// +// BOOST_CHECK(true); +// // If the maximum fee provided by the proposal creator is less than the required fee +// // then create an unaccepted proposal refund +// if (nRequiredFee > proposal.GetMaxFee()) { +// BOOST_CHECK(true); +// proposalManager.AddRefundToCoinBase(proposal, nRequiredFee, nTxFee, false, txCoinBase); +// } else { +// BOOST_CHECK(true); +// proposalManager.AddRefundToCoinBase(proposal, nRequiredFee, nTxFee, true, txCoinBase); +// } +// } +// } +// +// BOOST_CHECK_MESSAGE(proposalManager.CheckRefundTransaction(vOrderedTxProposals, txCoinBase), REFUND_OUT_ERROR); +//} + BOOST_AUTO_TEST_SUITE_END() From 7fd56c0ed5a5c337ccb031b0ce5dc094c6bffeac Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 2 Jun 2018 10:34:44 -0600 Subject: [PATCH 554/555] Change default split threshold to 10,000. --- src/wallet.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wallet.h b/src/wallet.h index 598c67ad3..e03a1794a 100644 --- a/src/wallet.h +++ b/src/wallet.h @@ -182,7 +182,7 @@ class CWallet : public CCryptoKeyStore // Stake Settings nHashDrift = 45; - nStakeSplitThreshold = 2000; + nStakeSplitThreshold = 10000; nHashInterval = 22; nStakeSetUpdateTime = 300; // 5 minutes fCombineDust = true; From aad681f8a2eef4261aaa9b33efa521bc656e9369 Mon Sep 17 00:00:00 2001 From: presstab Date: Sat, 2 Jun 2018 10:37:10 -0600 Subject: [PATCH 555/555] Bump build to 1.1.5.1 --- configure.ac | 2 +- src/checkpoints.cpp | 1 + src/clientversion.h | 2 +- src/version.h | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 1f171221b..317bbe3d9 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 1) define(_CLIENT_VERSION_MINOR, 1) define(_CLIENT_VERSION_REVISION, 5) -define(_CLIENT_VERSION_BUILD, 0) +define(_CLIENT_VERSION_BUILD, 1) define(_CLIENT_VERSION_IS_RELEASE, true) define(_COPYRIGHT_YEAR, 2018) AC_INIT([Hyperstake Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@hyperstake.info],[hyperstake]) diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index 11e5d363a..8adcfc56d 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -34,6 +34,7 @@ namespace Checkpoints (399999, uint256("0x875356232916a420c100b83d87cc9ce3eb9a174750b48d2fd1eefba7292163b5")) (499999, uint256("0x8e370d8ab8bdb6e6a5a4882dda755b23b5f284f633e04c12e6f73f92de15e68e")) (1207950, uint256("0xbad0a0f14081129f34d42fdc617638756158fd7b1413f4d3a2916bed2c1a61d4")) + (1377570, uint256("0x3d76cad9c096ce48336da1528ab31b5897eac41b8780fb37f64110ca034f971c")) ; static MapCheckpoints mapCheckpointsTestnet = diff --git a/src/clientversion.h b/src/clientversion.h index e93d53445..ae08f5cb4 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -17,7 +17,7 @@ #define CLIENT_VERSION_MAJOR 1 #define CLIENT_VERSION_MINOR 1 #define CLIENT_VERSION_REVISION 5 -#define CLIENT_VERSION_BUILD 0 +#define CLIENT_VERSION_BUILD 1 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/version.h b/src/version.h index 3f612370a..5029ead68 100644 --- a/src/version.h +++ b/src/version.h @@ -34,6 +34,6 @@ static const int MEMPOOL_GD_VERSION = 60002; #define DISPLAY_VERSION_MAJOR 1 #define DISPLAY_VERSION_MINOR 1 #define DISPLAY_VERSION_REVISION 5 -#define DISPLAY_VERSION_BUILD 0 +#define DISPLAY_VERSION_BUILD 1 #endif

          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 E18DGLm;e9( diff --git a/contrib/macdeploy/background.tiff b/contrib/macdeploy/background.tiff deleted file mode 100644 index 4b44ac672e627be82bb9b74dac0016057b11c126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202136 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 z zIS5{-9BXMRX%i<+8MKvH$tog=GBmNb4J-yo)wm}7d-q!EUMnkIgve55G19D6bWDl98!78XSbk&&Z>Swi{DWZ}&6p%p&-o_6Oz0k|J`#-BU&K9CQ#qsB7>`nFI zK}*;j1DMM7_7bjWz|uD#NatnUJ$F2nZFZ@v!%c#ilXQ>q?ueyWpAxB@5ntGN{@V2W z%8eLZAE+sxkQC4P0Hp;u)1X?CqH0=|l9II2x;5jSy%F4f8dP1J44yauk{j zc^>fi=i2Z|nB4GmpMI@X=a!e`Ph3@eL-{0Wqfn}}KP>(xRM+&*^~$5zMIL7f390`8 zc1Nn?+7zBBfIBq`gHM6EG zAFbp(pK3(=oH>%xIpg(>v^70SHY@Vg(P_8YrcvQtybq`GjZ3JU4QeWBz|kp8*NN-U z{8;&8*HqJXKTb!2?%kn^Bum*}6Zf{!`5m<*iGgNJ&dF*OE4n4%{jjY(@WabJCrhYRlwDbd09Va(Q%nLDmE%y}cr~C)cA|Vk&qYO@`0Y2y zo}dS>L>GitUBszqqWR!@~cQIC>=_VlmXe?5L(?A^4R2EVyv?hdz!KHvQs z{D|9oGvv2ly*LFLlAe#aaC@&giKfs3sK?jPvH&y{u(tl568M69Fi6YJ!RPru;m&vv9YdeV|Z$&g8&ZGHL zqX@S~G)tIcb@d}Zv{2`V9>4$B?{)tG!j0>?w*^zNf0xg}-h%kAwAP&{=yN$dCO0j( zJTVP1%{~uk&~01{wG2RG_i|U8j#<8@OSj}%WN`bY;#s{Gtbg8{{M|v<9^*r73|ltV zk*GLrAb#4^pSG3iqJBaD05iXz-zg=lr|tg$lzpL-!(=9RZI!e#(rhiB493QuEwi%M z5lK8+PLQ&RNgNV=iLE(fW3r=*K<+%`&+@?NA$`rj}L`mIY%QzL!>KFpr_*4cDMwQnUs z{t9sDo9S-uTf~^0oU^z2&qhN5*MG}{sL^Y?%fEZC<$ma=k5~FE_=U8oy2GwbT5>3} z-ywU3oA{-52#{Ij!EN&Fw<#dt`%NUfwZ&G}+Bg^Zq$Q8rq*L}+rBTPU+q!*K#FK$a zh`>=#F{p$4bf2@KLm&Lo@*N_wQ2Yn@h4FvkN+Y(Jgd-iwzl?r zcyGKfO1GUD6CT%h?zVuI$};H)EwE#_f%_MUu@`@-6#tFdv(HdPi8)$t;Sf zIFe`w+D{IX#SF7Dq%kuwG!zx7rD^ul%g>`XyS^UwFHg`K?~@y+uRb+oq@|9sgRHl< z;-=m|A##vPn&FZzh3kp87V6uONPR6P<*3`@6U#3a_L3{ut{96{X;g7wD4*{~2mP&j zSw7t@ta|R9QK~y@R>-bYWq1+X1!!rGiylg=Zc@}OE+g;i1kyBgm09mapZ*rPjM;?cmoG zBt!gd+P}2%=-Xp@*ZEs~S7fX2Zrk6V%ty7T9yuGQeltmt>OYM1HPFmVxc%GTJC>3y z^S-E;Mwd7W3Rq+Zha>7<*Bj>G)U=6hE&l+G`<|YGcnbQT%yee9`wreKdn}iC6!;@L zP#R-XPism8XiHYC$gV z?RmvVU~WvL^z{xWsTEYMGdmJL9`^?>Scmbi-R`bEWHqPyP%u9s)#v7|$i!{7BcR%Tv@gs&htGU}LxHC05I_iw3UiWYYB{Wy}Y!;Vgs{+CDFPRMWKmgSG=C&a{rjcZZgGmwkK5teG>!y`Q`yQi@K z0G1cWTx9zjrFJGK=7(cZM)5U%B5mif{v+Wt3kXA9y?ZM$Sr5psn6>z7{{Sz7o+_=U zvYU+*rX!&G(Kk6HNiOLW6|R<}%HJXv^x_B111z3Jl;^K*NwHg_#c0hn$;DQw6ntx> zIPqmQ#aKduwN-J|Yv5pyxc7v$U6a|}f71Iw8fx60DVYtLw42YKd}K-@eM!;?)jPT1+f;ZzCXay#D~$49-@+ zB_1aqM~K8hSyxe2Pl?0h)s}}7jD~q0It*nXk%~bONR^$KE~a8^I8>hD!>2VLUYb+_ zz!PiSe}%~7{f+*g)cf}zx2l>EL&KwS@XO*aeSE&}+)q+;v=MDw_SZiwM??Atxw^>{6*jpIDgMnXkBzG#s@6Sq z4&BEIv9z0#uRY|>eU?USW)@6#CbMkOr5yhN#Au%@I@Q(J)#RFCOHVX0z_C+DG^80; zG!gdJy1$n}4m33By0K{FsjXT#W{(#v^$SN&T_ja?sX)@V+Q*TeDB`E7t?+5{G9t!g zzK|B)>T_PbT6DU@WA`6mRaMVdTb0RC?9H1`S)0vdXQ-^D+1+)t{@)XgrdeiZOlBI6 zqP84RCCPl z8hD~_^Hl!;UkplZ9Bh7t)orN$TIbv7x%qqFd>t7B(O2`}bPu)9xdqr=FriWr7K2m8?pLA&ko8fpKM3KK2D^ z)|k*S^c`9c&m2$sEb71IzwwmS)3tY1d^Ll*xAs1kHjC`LL*?G~$@ZRhEP^tlK2DEs z<1x^)HP}U=L9iakHd1G~-mmLbd!rhkRE0wS0LQEL^dsM+j?&wg_Vh|RS}c$Lo^sAV z;{^xGomagrRK6Cb`-zs4St6QBb(#L!NvXt(O)Ss`5z8zIG=Uj`C>?;c&BSR^Ddo^~ z^yf(&b+ru~wUm_1@YT%KRq~kOV@*vpPm9Q?>}RSlc%c^cO6m=PxWAn|`l;3AMLy1< zwv7sPYP$ZGKB0f?fNx+wr_g)%kt2^%tu39gQ@M6hIIkVefDuAeZ9h)^9~dB^&`&a^dZHTZnGeb}4ErwNYVTT-(w z)LSoq;OObME+g$Gt)$E4_RUQB4Wl`RHVZ?NqN%N^i7PGpa8yW*bznWEn%yU5k+CY| zA3yZJXV0Y&+)EIZIHTZ?msU^wpLY*h?tb0xZ-QO%ov6q3r_Uar%yqPDD=Xuu`=@2a zKIQ7&*-0BbVw-y7DPXFX4^Rq;YbfKVeQfXrBj!7Kj8?m)s#5aV!6v*^nlSqakCs9Dcq#(%Y?fmdLJJOuEy=l=Vu_Pm#lA@wK$sy`{Z2wqBmu9kagn2I|Ms<#5?L zW)ed@4^Jw~M^#k>zM3eeiQ<|t(GfyCh&UkngXTKi6U}WhTtOo&%0UDg5Jo`<$b-Q7 zba(ziRN+2M_59z=cc3V6+atZUE@ue8%qyg@c$#5_+MR`(sE-}D{$us-+H)l?N1?mx zDt^~^V~Ul*?ka~$pCnaM)iDL8t-j;;9rH8Vu>SxTlDQ-O^vC$q@c#f3k5z7jSK&8H zQOrAfDqN|p)IeYw)5Ssl`;mi|%w|*%6hOAL8-=p1`Z8K-^{{RraNW2vh?9J@a)YEM3!z_4=+51J3s+H)k=C`{2 z*?d1-<|zTvBpetT9Fg&JC1mLDfhS_;}ZywsI3+%R!t z?9Jm03~sou6VV(}G)G!JJt@)2*u8=AU$rnBN2_~}6_)trxT)#V9h>s6Y1L%2lszHX zv~|X8E>m;u>M0}LInRw-#f)v5#zQo@j=s!7GP{1K>?W(n#$9-qkOOgId_(xthP9@2 z*8zu@lME6Ma68)n0CwI#)8Da-FrqlA(AD#xB&qZrz~ly?jmz(ObuW2*VeUHpmE1V_ zHs@odJtp|W?tETapK|Q}(%L(T+Oq@OU1`2?8-g{^FY{OwFoBc&btwq?RR7 zX>|tS4~+u?ya?b_j1_Ql7;rTmBfYV@+OC=#lsd3fjE7bgRz?JdRvZW<9MGB`t_%5V zcQ(iQ1GlrE3^$f9uQ!G#vvNz8$^1I*thw9WIo{i*G?;&SzBG1RgjW1w`BEa9R-~4W zNHIHtp@5lEpseaiy;>OQxj^j|%tQM{6*S{VU&e!p8KB6gLM~t2s&Mp^&xccXGNwqs4XXW<(a-N!tBUiSwi!L7{SA?$t=(BiCj7e2Xki%r*ZB$uGGg*$Q z`o{98Ved-H!m2?XZR2>z@f45sf2;W)G0}*k_^(yl8)C0{d`sOE_w!+KQs#HhL`{u{ zZ+x-qTzwjYlghVLQ_odN-dhrZu1?|DQ{^5w`K`s!6>n(X^&ybQbcQu2wT@8yi+&Tw z4NCqJdNPY^d#Dy$IaWuZs#m)NihyWHrk)k0YT89AUZL4r!8WZAY2m0Rt=iap^mOgK z_O?lCYc>Y)pqliwn~kvbQEqOw+^|a+dP<78=!3n5Jnbkbs|iL8835O!`b!H2p;p2C zutq&N5&L>Dwf_Jk_g{Bm%D_HXx73zjf}E@NaG3Pq!*|a_%gQ+eWHnsgrD1NSQn=HBp^W z)ne%~DOLOisbAD&$F(a;f6f;id*5E^FYjG@uY31i>)!p>x*7UMv#5Hbb4|DoTe>!G zLPUq{H_t$JEPE4v;iac>BCOba#VuCL-}tG|rdkZKr--0BWf!-$<%&6wtEfJe75@NN z%hRP6)3v;c%SsX}$AxReP=V{Df<;F|Zs_?pus6nTwm$9X{;l~TkE)U6PT||zR)2?| zC2CrATU2h1%hSgt*PFL9j}}(`DYvrJ)lx2_Ia9)6X3*x&>Cj^h-njW3kI0X+rR}*v zIUiSIt~-rawW>u1K&A#N!Oj7#MS2A{hTrHq_}?YdeTmqZh~+w@>(2Vx*jgRIM)n3r zqU|2GnzLYTDqTlROH+)(RWKKH1p8AHO{SBg>h)4-`woA@(g~K^TN`&eF+fImdiwgF z9+;;=Mm}7=)Xr1xEDl2{ws$QP13|hrzFxBjo}|-jHa~K0`pQg|Fe2aPr&33|vaE_$ zL=1<>ivIv3({alzL^N_0U}`9MA6|wW@5t`h-t@HeJ+G9(cU?UcD^EdN+goQBx%YN9 z6&h`h>}pu?J%*JGzwX+colzFOkF?8W1VoqvMo;jX5BHN%{JMSbXOsaxnE?JFQ~veG z`ScgmO}1;M4@E_h+Y&qaV*B|s_^4Tr>NC{G24*P1{;e@l`99wQKq$-@eUv>XCNgTO zSM#qzo+k&sc9jC|THdqRoyoAJ3ly0Ost@n39Ux##%}<}$SAk@z#F@>*n zYgq41cotLDl#m;>NcoTTQ>RGh_?5h4jyl|bc>HzFO!_|e30sKyC)CtYlW(}I#OB+t zd!`$)H%fZ^xj+Vx#`jPDJryX)DuL%zZ}O@BT`aEKF*R3-i5w_LoqaTejOK?lBE2Rz z4^I885@dS&v-+>Nu<9C6n?rEc?Y;F)Mz$Y&o$AiV#_c`bh(h5h-n69bF%$GN`ZB-OaBinb1zy_PSY2whTfeb4 z4Ia$eIP_vacB>^^v)9!vuVkX6teMXWgpux!=)4Ih&ZHx~24agj@(ZvjVU%*%j9%EMs!M5|LDlUee)5== zh$IW@d)wuVD6iVzG0~J?y6x3oVAIKt(b}S-hdfO4!snf{2XcNHm95rckq-92V!zWXAkSk9TG%I;|)s5d4B2T!)wY_w9c z-ZM=g;L;sHeTzVY@=?=|yxuVItr1~L3`QtTJzFfoloV!RLFtZwJ-O2{QOGkLmALVJ zb%Lv?ISi9l&MUW`X{2p)%?>Iwt*@)dRovd9q!ui7F(=xCc!7dL34gN#_VkEbF;OMV z+E$p&PuKzB(Y*fvXJ@KW!?mbP?mTork}+{{Z**eeTswF4JyJ!Mf^l z`OLLH-7lINXy(UI#ljj!L2qeV((d7$+}yNroM=OeeYl~g6O+=vueX9Vj@|{4fvsF{ zKWE$IC_Y^jF5dYI-QD$3OD}GAUg_R+SmhDn_U&bPquKZv6#m^d183t>i)~?`g+K}^ z>0>q=lkHWdm8FpX02hD;rdx|2w3?ogT;AQ?{{U}074+bv>;s@^00n@s{)5`0N%QG1 z4jpq<)WB+01b|u2l~Mgz*zgCvb?$`yhr4#($Ijv_qSzR&+1zzGDmqLS+TK|Fo?m9< z^K;0lkH@~l!%GfRu&Qb%A!EkK?F~~|S{XsocdI}$5HaR>4?eDe+~`44f68b+%$jv} zyVq!cGryY~UkTG+D7UuY>h7=F8*3S!hv8pNZ4IS|?5a(fi-sD!X7TObwWrDK{-yZ4 z*0|bGtqym#bNfdPLkg*b3s~R>B0GlNYb=vmqK1&^X){JA8db9Ll0Z68In6LS5yiA_ zmoNyXELt@VBQ+%y0ClqAVoDMjr10`87}u(U?yaHH9e0(VZ*}is<9l~IPdt(2W!QDK zS?;IWYXg`Q69;f)u=`@Kytg8h*Hw_)*i1gsjzZDV&031GlW1M#1IAo85RqCz#Hp&*r-eX2ERUGM9R^!FtoQF>;P|UKdopt9v5XSu~E_HyB4n- zS-$g7`4uJHTfPmllkM%eY7ORGMknr~qlgI2MO@mXWif{|@ms&o&~%1F8DrrJC-{0x zWa+3WYwGFoIVm$(=qes6Jgk`cF()Gm1s{4blg&|4kBXu0V~STYgtoA)brv`@9aE^G zNMpd#exmp1{6E6}_4((jh6jPq+1D?A>tGJO@7-^s0r7+5=WG0&?tQb>{XE#LM&yJ| zy)*rXx^fZVy8i&Bc1F>7vb&GDJ1=xp5477GH)2ylD&(EdmU+@TdUcYbSkR}tx{k&d zo?4o409Baz1s-O<@qH?@w3704f-(R(EKLj_yz93EM_ieD3z%HFC&v7(SC34S&IKGE1tilS5S98P-yZ z4Z3;mzkF{LYvMZ+wGgk6^elf9eoI9e5N^B8yf$CBwlY_46!9dcmYs*6s>Y}LIO|dI zxiT>#t!Sw#>gsX$%uNPIE0oDrWAPYFCKDe~mCWXI8Cs|@xO@&15k(x8c`U|XBU2SE z9V{x+Pdup_DP{xMfsGWqH)!HX=q!mNvLX#ka0l7z_702>e)T>dpmz>Crt3Ei9_a3U zt47DY>D;|nMpm17WulSjhUaRGZ4*3L`DK+oyv=aF zFjBFfhNFu4H9V`te26$W58Xm7*EL3+JbUN$dKD;r@sR z%=B-%M4M&2J3^3eDXQS-3}{4Nhr{6hVohtoRP;n*VQYx>DYz^L7yi6*NcMeBhUmz`xW1^!M()(C5|NceeX)JJa1k zj9lyXmumOM&g*$lK}wrZHa7Ro?W_t_&05m7Mt#X0U42+E#)(M<3}#6grEnFCnNr@? z=Hj_nn!lDu?cvjq#Acq}5yhk*va~<2XQLVX#yf_KyFPdPq2G83DP`J}eV%WSjNLw)zugQ$L+Y*jc!zj2IJYaduR@8(MO+7 zlr>UEPhAg+ozk@_P{}kQ=7DKyMN-K}A#d_`m6JrK-nhwMZYbhw<=47~@1=vtthZfh zbanDZZ)T3*2aT*iVQ_uu)MSzmr&bjy(sp8eIB409aU?gJbpN{cZ2n>)k1KmdlfP<2xpzk2R0S<+}d> zVb*qCCIY)uPrNW2cQ1;g-t>4{l0<*rExUlre;0<5%_V&;9ZJMC#sSeZ(~c&eXWR1Y zU{<-{I!0r%IUH6`7oEdo>oGa(23HxKz~(Wv4Na57=Wsa+Y_1P6j;cltPhW}2(nUND zKSYs_uOr^b1Q113ihf?5Xc7n@lHDYB<=5aa;d&89ZIfLuk{omKyP|#Gz zwSG`_26Jguf3qF%!+Gr-m{_a3cLRf^s>$K#L)B33`U*;#T0$}ljbdN96;+LAh?_Pb z79SEf;bHOz2hzF5q73%*W-lZY1-VdY4nr>j2;q=$e5sD&p@QCm`6apjCifmMzdk;} zipp(V?i($&cXw28RsJ)udrzl#az?xBYln?32hv`WCht0QGf5k`(d_>_v&9wL;Z z0Ki50d-1QWFk3@v{K@!y`F!8P9_idO?dpBMn4R()-{KE<7?!s?@q@QtT=PRsLem*G zhGKST^0=cMep#4P)K#Y2FXk;S*SQe8gi1ci7l3sC00R%g*!1aU@3%r@UFT`;+GS!W zOh^tMXNoY%bK=OHw4m z?|q4t{{SbhH_TkN%=mrtb9Yv4Z<3Jh`pt{+ljfcw z@f2Irc~Mos%H2EL<1a~9w|BipUNi_O^7PesozG((L<^8*o=|@Gv&&#*+%~v_+Sgmc zMmtS)r|_`iY4-V0kGXSuwcUIzt9X>hb^(qng*0j~)8Whh{EYk~QL6B$2U6Cr^JM-~ zy}$79dS&|tn_%HT(Jtr7O(JeywZ&Ca^*v2xbG))gPq!*0t)Hs$b;Plg2Q1TL1e%2e z%?*(ZwmtgZ{v}Z@WFAN2U$l9TMi}xmIOvy{`C9vEn6tnFHFCK|{{TvO*VR}C9C9dn zBAt8kcVh0%rGn`1n>!D4cL!B%nkB+@mv(Ggx(W}NKNu)hV(`)R=Izc&9xJ*!mW7>~ zUcKHjPe&Sm#iF|!_Et5yvbYj8-rX*nk~@{EV{!8wRQ~`;f7>gH4vOrz3r31N9oF2n zs3eA5NT=<b=1Xk&n2Nriz<0w-t?nGn?&f(-#2N{|U( ziA^i*?X~;k9k!_@+#fS~4-K?)oq@S}&bi`;Z}!IS$n4sh zE~NQ=(=p8*ImuMz^kiD`njO<6W~v`)#3nT}?H3C{#uq0^rEm^fGn3mwzIq29l#8J| zEvEMgVCS}E0FYZwNW#foD!PLskf1b$Yfw{vd?lvqjj4p~?d85{I}hR3^{yEGh5W+) zFYSEKXmt(;EhpPOHXr0qOI3_FXLT;%$NlV4MVO?Vkw|h{bUTr5i!6--p-sg` zVR|bc=_6N5Da{BZQ;iNfZe4;%k~@If_UB*(tB?sl15^UC0ZOB)u_v)yWPlyj@lUuq zH)&zJPccol`y=E2>#SNWm-2h1GwInsA9qz_08P|)O-?D z4vUEdeL)}Vi+{cQTS|0W*IxD4y5v=Kh7P3O#VkWF`18Xl{-FEcUhB)JP}hAo8noM0 zug;R*kkIWlf7SVQWmanG=)lnY6!}-Uc7}g_b>~y%dxHbBrJkR#F}*`oMZbF+tLmvkJxxDm z^zI^N?R}_`M210G{2r$lEI+v&Q>Q-Lo@gzd5^2#{xN15<`2uLAzoHJWmr5YAy17YY zf(CGu)j?7!X;KD2^cL6)bJKiJ zS%}C@H8i;#E?CFmsG62)+&)pM&jy}(AbMKHr+Zk&#G?kVjQD7$Ae!2_58i zc^I>?yEA=QpUM8D`}bb!lyq^{krT^Ct*B^9=Mh9$a=K-aS|w|aH5KRc?_=klz1RQI z)^FZNb%$Mh-@5l+_wK#an5v|vI;q5QNIsJkS!G}NBT5+){cyMc03Uwq-AjUlFP*3p zEOj;Vs4MrCZqg(Q+#6KRNQyu3QU|?j5sozKz%%d_>G?4`Zxv?GWaO`?U#>F_Lk&af zlU3hJgZ>si=w4U;&1k;8Tq-VH)xAH@)brR?`1o3rY0y#aYIa=>QAZj}mX$x|=0a6z zP@ndKIrmSeLdB&zkMio@P|7I~3;rIEl{Garv%OVqO!bvA9a23F+Sf~ zAkv@#(=1C8%t>R`AAajyd*8bEUia?3)aoi~S*1f=SZL{W0V6>N-d8&QMJ*|k7}`QU zjVy^6KT~gh%`hr@@Bo~e4v%-o@0LAz@z!W+wzppHExZ0nQ%|`w-B-Hkw*LUhzR*dQ z&$ja4Dl?c|<$uQhw8;<>zaQ2ZY7N0OI+b$T-^i%$Y=zR1BmIEo0rDkk0};dq#eBH* zX=Ay43j-8FwG}^#faEJs>C`Yt^8Bcf@6Vha`|>|)!P8Jjw>o>{+<9S^#(Z7qOjTyn z>inK*zRWh{?8@r8{FeLgt@&9k3{zHTx297mJxx$*f{{BD?zY=~t)qDKFLkDdM>?9G zi-4%V(Lk&6Jv)89-d-ouM@X#oY7wB)wXH)OmS^GLBRkf#Y8rHr+0-8!I=dGR>Fx-! zzaqO7UQ9Q~t%bO9J0qwtXGmIlj{NUDPMy)X1Z>)$YHUd3mC6{abCk-(J-Ij4%vCMv z6kcvcTaV#h0Q}m#eiPDrZ=$ybOOfKfXrSV>0*&j$oE133DH%m~C&)h1?^!Sud*dsH z#q52QCX21QYp!Xa=6S*Hr?A)%}qgw+Zz{ZQ6NeUnb$ir2}_UKy?wIr z@u(4FF%*=v%tw+@EXAd2#SB*AmK6e~r1_G3$>LAj>C>}Z&2di=&X5HMkf5dq?LTQW zrFswT!6T3jzv8~!JtwYd)=&lRIOFI)-u>&U)Q&xO@7-Uod-q=H*A0fP&sW2apb-fs zB+F4di0Npl(&lQ~$&V1zQ=lxw{cT~-y1N8jN2@BAAP$Fp$K3Mm&aBIPcIQsP_+g=CJY!@bnv!t}-fP>rJmzOXF~1zSc^M)l@8#XwaP?FDSaWscUv6z!PgZziW#waE%UKPKs5yqWzb?Or>DW>rB*mu>KeKg z`QK6Pc0R?#Q zp!GlDJv4~-60A|FGB>9ZN%E)i1MKT=>Ha_MZ{+vz4|ea#==SFE`2p7%&c5BnK-#fQdD!(53uO4KkmORf>d@-WSzU`A7j^i`C7adgQ86v4jqr-7GGH$TIvJ|j- ziVBKCq-taHl+jkXR2brVlvdi?l{UF&F(Ym;07>m?&cNu5aqWR>@=~hOkgbJKH72XB z%H?u-EY{%5k{^{C?fC^{;L1j?tyCuj@Fo+tUn4*W=t27(9h0 z-l$aolQlkKx+zlJ>x^5UX)mKQ+Oz}lm0#ym{ISxTNenkJ%vPd3P5%HHr}%mf_HKW4 z?QPS6+*?>fQNGr;yB~pkoigMjmvnDzen)3VRZ&GaWvZ(a?s+7QTwGOXZ`7mOrV16* zk`v{}9-SuzjR^S9uc`Iuc=>(T8&jt~Rrmh@PHcZ8Z9b&m?bcXlmS&aNwocu^U~^9- z&&#{+N;=YS%9E$@?JbP$b!TsI!!Ek9=yE@mI#GEK)81WMe*;te{{YXT{Tz*8q>Uh0 z*k0e_*8F>1q@LcBb%P;SSvu1tMMU)?j+!b;MVdn5o{A@t;iQ7+_Nn5MRw{zP7AN!X z&+!VMF0=p@AY}B~XEHd2)RbUNh4??vkHxL-om;MQO6v(!l0_%*IJhmWf-XS^>-6CB z@7;T*)Mz2u}Z(@JP>1z*u>)l6^c1DfX=_qg_bR;^KS4+lJ>bt9zx8+!m&%br< zqSV((Qqi=b3r7Vt8tH{1GDk?J7}|9}3)F;AuHUJ&ja-ZS-yXfzG^sSMCR27Q@ydsU zk_i_~u{b|aZY@lmWl$Sj)U9cO;!w0W6emcFQ(TG!cbDSs?$%<(trQ9r5AN_?yK zXNp`0<@}W$3|?D4ac(M0vS?`Z*0VR^ ztuE$J*7*9#&i%4b&W$F@KhyIbVNiM~yAc1OWC9yR>1OQAWz2rUxwvx7`ba6`&w1)n zW)To!?lQ9V+|y)37xm3wPOT_wJJ$0&er4{8)PJ=?17hhNDNVbCn3+LnnhPcx&6!s8 zxEDy{-~;(q860#~NWh5D<}w+MN^@0H@u`X^Cm}YiD+K<@!Y3oVJgbJnSi~JNCutl% zqKTj-YiMi8H)ud*)xV}SU8T}BLF3txSs!S;$;jXm>0kPz;m$ofh)NF=bICBz(&B{~ z5$-VZA~{;puXGd^qCTFo&~@EnbDfn4!^wi#Xl1mZA<^;lk+7Db*b$e%DfU1cE2XeMNRg%P4s7(O+Ga> z{uevbVSeSdufu`WFDBPmurB(np`7(JxN=uYqSsFI32q6!(b7rV==7NG^ZgP6Vyzv+ zkkXumm!HeW*}T|Rs+A|x`XR~_hbL5ZulFC4+*GufqyUdQF!ICNvPd^yMED#TK+JPf zyfikLRxrofo5u3S2e|8lqcV)xmQ=l5L&!gSMAf3Mj4Nkz!?_66D73xN86A^WZ)wRT zCN-w5DfI)Dyf(0-{i!3tZ-&|{M`Z6RmS?sF^`_p0HhzY5%DwePWVxTUs7PxP5SvvR zR{6dj*{gJ|1Tg)uJuSS=DLd=w=AYAfy34ts$5XP%@E5YGsLWOVu_V~{)=?(7Q^%hf zvyrU!Jl2nJ)#=P+-;ONfKn#QE!0Qn&|ME?FVBdjL(zyb&GV<`yWCLh0 z0lMWAcBv?CwhLeEig2KH$d4%7(}b!qbG8c#F#S_kK!k5!-dc`VZZaci@?}+?Uzd%IuX>>`&?j~*T4E+pN~?hAT)snR0vr6N^V2$>)E}j z=vPR1Oepl0Wx5HYhOj6v#@#nw0;FF3?E$6PX549g&Tr+`?CP7W>86X{?$!_In<8WN zL@?yZ`Si$f(?BVbqAmF2$tZR+7?zzCBn!y$7s8D1FqqT0$@8EH( z;{9<(UA4H@AN5abw-wG@NXGaEHF}Gb8Nzxog8>;lGx4{=8zO+ zu7K;Ib>ac3PkpX!I()cQO2qczIKD}e_tzbwyN3ErL+G-+#vY zB!(QDXGdduPL93~aso1Pl+_fSIG!801p~gjx}#%p|3ku&C>Un#t-^RoKJYpcwwl)W zV(jXFm0tEO!Aqm4o=UsAyb38lUL{#A=i36sRyhyPMhBkDM2myjqfcZLqQ0xD`%zp; zt7gSNdETdO>D|2dX9xLBaYaEz7Hh<-{#D68?ecu|T0vhmwk)<8e#?eW9Rr%Vq*QF4g$at#Oq9~%lUzZu%n}_m- z3EMpNQF|7PONlf8{4*zvkr`=A_d&C-hu+8%Hv@}o4G$EL^%)g-)yLEwiiD%griQ92 z(@d5RieWCzB9CSyFUZZ+%EHjuc8Jv*V~CdD2$yT3VxTPp{E5RszY>*C(2a>0g2}&> zR~H3K(?`mp1f$=cG)0 znAf^O_?UeI{nxp@IR&hI8Ns)@gB;gwc|l$)Tos~}!Yy{2;vG4s(9}Uphm71Ff=rm# zRaP01(TsDxyIE^Yp+)=$1%bUZv&Y~dvH8?q5(oYMV!k&D;Q&&dOeL_tpaJRxGAJe}T;HN8Um1LOQ18V{`rQi#aym1$r%ec_vTmvpUNUUw3Dq$y6da|B zaK8)7L0tVMl0;b)F9J4w|Pgxucs74y=j$ zu_CuRr!i*BOO=kF;aN)7ruarT^@q&M+*o1R-coDv2EjAQk9Z2S4;r2;huZn0dt!Pb zA+`vf)7J;p*rkaF%d)%Wr5v{lk$%c_3!CHehuo&qav@tSkvZ)k{H0X0TNz8O1qhAH z{0Tk}){s2?GL1hR$NEXTUt8V{C*f| zKsw1No{+;1Xuk7uYFJhYR@7XGpzrG}r~O01dSui|_1p>gzG=OiW|!z{UZ;BDP)Ke% z@KfY9^f>oonM-MJ?#9DrE9?_~Q>C6qTfZ^-5BxBA{>#cu-VP*lXu(aAUbHi6YE#MY z)qw7TxD6;#^QpBPcp}=9w1$9eBh4&J(5=P@LG=F*`9PVvI^)6gvjXjwFtxQ zw9$_&Bb_>g2G;WET@~3n7c1^`!xins|9+PU22-WgOckRckR9Cm`)v|{K>D&swzI$x zT!$h|T?Aqe@_*+$PvXq`;>^!x*J23IUml5=9TAXCP7z~oL=6U{nWINYXfokhRYu7<1QCEn*IHAgfu9t8x-7Up{PyVIum5vI_d|j~DiQM4tR`Md zC|>UjRW;H}>DnBzESiap^`?J>vYf8&tyFAmb*-8v=1N#$NmelzR0&4VLU%@Aj7rf{ zq{#J|WAGH*5vpuA=im4LTN0065A_=5^&-xkUid0@&ZqO+)`064MmgQ1k&A3oi{81M zco^AJ#s{mbDV?opl8m1EM-MNpEq?wPy)D#?6oZx#=u4Kp{>oQ&MK^3z5;^kazm$qW zp_UK+c-%tTI5`8u7ezLIjOs3scU7^qVj+#ZWkd&fZEo47E|vf{LD5;6MQ#oGtILyL zj7*9&4S*8q0)2k)d8`5UNeDS94UUtHD5V#x9l_fo<9|qi#2bI5ejr`b0h99mZFSQE zU&d#-c)fB3-qCW;d);THZ;s;`;!=(wrHHD%E))p~3$dos6^RlFZQ~W9@UK2nohC#) z7Mlz#W-mATl&rvWo0cAbgq*If>odMtSn7}_Go21FgtBH=0P_|Krk@7E%@t2;^{oppS&eR&B-{? zpv$4@*6Lk|&o)uhz40@Rrk3W3SoA@s2`zr+ko02hLE-T+I6Oqf#Z^7aIOePCm(r?H zt>ArU)-|)uJ1dTnf(6{Ql3eL&%GqJp1DQck%d=2aCX&HdV&XC~YR|_YNr2@3YtYc$ z7lngEX$>uV-X^#3kxVNg6D8Ru*@}E@j$138H!p*CHz(y;xZ)cJ_$Y2f2klSKNT$El zJ-|m=Im)V|A!egX`7d4ycHE@A9Cz zPonP4{8r*^O~7H=pwQ@VyX|nJmE}mv7rd?KsIKcH``0-@$g9tW^@rGec<^fmT)~#T zwJ!e!f}za6bGIRERf+X4R99<%UmSuCV!)QSpYI+26LdIVS|(*Ea&DKsJewA~?$_ca z)rMz}#afFLvgGZ1&*}P1bo9y@^1ZQ6>&JqGjxq+)e%nQFzWqfjR*#=2Lp;o!-@?8; z*ld{lr5(Zq9dRW8>Kp1a>U%SQF6Nb-_9fxF%O%VGa>~7`DfC&Ou|c~{C41jqsX2uC z7syU0c=MjQr*rPPX}K-ZjWQjY*>*u_R$BvrTk*~DV`;zD7ljR@GPRy42m-jy~8EBXROx>_zY z19tKcaO%_X2dSZVJ9ETMg2AIFjyvSTHd&?3!b;$#W~c{1)@@O#%9HV=SQ+A-va3fd zuE0m0{os^TxcjcHXO`u9KUZFZO|N7@KPR5Z4O1Ndo-k}r+dd2i3@ZLgP`F>-_dSTD z|6pV*(cWKqcEGKv5<$ddwFvTW6S*8lWCb5QVn3P7TUugJ_QhGq3;j{t45E8zB1_0N z*y+x_5uA2|8*|=N>DXW~s_gVZvSQ=wj9Wb3)Eh8XgE#G28XD6DV}BKK7ecb^Jd$R? zlpcwc7cgPI;aekuE=L07u-@|n8>k<)GPBn;|Iw=5?P8#f$MxFPssPgSGYMgcxq!*$ zGwu6~W^%H@Z)rT|W~Uxf^@fvKATrY68I>-g3d-r!L1SgHKX~dLA%R*qKU{tAY`6LN zOs&25tZo=3k}^`nPrI)to#o9v%)G<1>5>uaJ@ULF@m{0TQxfo+HprLiq>ra6vu>VD zJOagc4v=&hH3|>sUxhNHx~tUGP|x{OXM?KPa(_d=nRB?zx~R8Ir(Qn>O737B2%Hszbo%CtU&6DoCcqk$L$74_IrrZHQ4m!a3gEs=IlSmidd* zyMjs`m%?o-tMrd$4zOrc%PBTXNVHEGB^Ib($45r)1`x}b<^I@SEB1T=U*(^dk=B(< z2v08`bUdG%-7!ngV0jPXOOZ)PrP8D-@+=3-M@r1w+DI2ANm9d&-Bxfz%OWd?c@kz{~xA5)Z(FqnJ-j1v*>D%0wLN=}{fMLDMBaTuXT z%%goF!r~&S!+KUlPMknE-#shFue&b>j$q37$;(T`OV@l923bn$(Ta&tkGBb<*50U2 zO37p->^e6^%lE`X(C*Bgn!!1Uk+#H4zzl$tF(C2PUV^B96wu#0Q7od(vz-S6BXw9> zruaMeM~*#$APl?%E0JeBk!6`Qa>Cq3S6lz!0Ubw+rrRMJ4|DDp35OnhNY0jWs#wpX5f-3bT=CXqjV}8^5pj&uBcE;@ zbMDh~)5U1%hf}zyC0I6L&F^cIfHN3|U^0-qpG{B+f2aG&81Kc#f;QUdj9VIJ0QHYV z`AAwlE`!g&z+ETa=!Q0qA90EDR>fB5!iyC4D^j)rO;Qw>x}>?f6hAtfWyv7Un_quT zK}mQIP!Oq9l(|o;8QV6)m^Z|bhGuyT2t+bdi8fL33|! zzDua-bSLlW?~6tVr{gbQ5$-u3@gZQnEA-?gVddwitq7OrBN)KL*tE?$q3(v-8ob^bno#bB(|$!kZ`XE}pK_ z+B$AG#y=$C_=wgQ#AuU~W2)uha)(4HzP_vC{Lw>FuA#z*T5|p}#Fu{|t-tw}cMb_m z?HoE0U6cIdgo?r9L+x|b%idUnoI^)Rg$WjuJat&lFk+xkLWy$Qp#z>s0tVILQ=Ogo za)CCB2LBY!2?i!j^A~ruL5yP{9aHX(oP99A)zbExT-iXK&1J*zNPFx_^7@=uM7>)N z;_mIWPq3V$1WB_I(>_ue8V`Dq567|i+B{MJzNe;=_3`#FP?#D1`c^fWQtQXl8!h9GuDrY*ZsY&EK(VYDJ(DfFGLNoe?)pZN_nv( zK`C=$$DV#-50x^F_-E%J4z+u!KuiV~l`OO0%ywZ$p05Sqy+pmJ>b*S(ni}=$o3>{l zsi`Vw^W>!cZWSCtQoNO6lS_J#Ukb9$%>^(g?{7uQvL{1$A<7?%C7eioytR->9E?`3 zO^PiV$Q)&uOljgq7N$3EvDCZ&_V?)u{q;d<-Te>;nlx+rWv$ada)e+G+2;DoGW^*G zcDJu8v#5w~{zIDdH@Mz&y1~=d9@MPo8Iw~at&A;nvOf2%TCV3#`$VhD7Cm-UH6!<9 z*^gbtoS#(}C2c^V(qL1fy2(@bO?L=lGMP{)FWQ|W>+8?jadAYFJIkMD@ZEVKK!MgaKq}2<5Lm>9lCOu}?k9Kp# zN%F98wfmlka zV>f%iY7nH-9b%WK~xMCP4 zNJG9^q_zD@WmDM})wj-K#(e!wxdNDx+fq|8%hzOuZg?B zac=JQ7|XuJXlkk`zvZ^|jf%8?=ULM&4I@zqL=V!9723nQqeP7vd?zg2@y0G`c6hH26x(ih zLxOY_GZ2+o?$qQ5{dQRas;Ct|5=pBceEN|^`Gpf>Qt%ImLasP{V!&aJ7ou{nbeF~+BIH#cwcAA)Z*nAU0d(&R zKnQQ15#hj}!+q(p?YBWk{?s&MRpBxUDL5i^Gs8=!0>Xx5;b2FTz2z>yi}i{+d$XaV z^%T8dxqGXI*2znObzb1Wzubbs=kSrhFO}x(6J98E^MwFjM5?3LXaw&-@h}q&Qf`l6 zk>6igQ17v-Vjhs#22pCo{z`J~Cq`mpAw6&r6S(*CVc-y3SvBrETMkgcc-g-hP+VPQ z6E$qgz((_NG!hf`N5C~wy;D7p{bE1h>G`>M7GI%YR+e2HiDxn--e%C)=(0AeV9|@H zs(!u2)@Lw9z=uT@2MsX7I!L z#p)rbw5vfUv*oC5IK}+rjy8L$u_l$C@Ul{_$qaw6^4v0$cWPCz=(P$A>=go5sZ`du z`(fclz04YJROvRVefddtWUo9#Yi<&FbKR8QR9zB}@w1!RqHOutB1<>)Pa>_5azOj) zItq}K9qX(hw7iuz2^CeIf$J{&Jmb@T*U)}_#ROUI$KH{5$pzerqkd^Ta-a~~*K%91 z$?yI<>fBTBlUX-PObhyzD(mPHh;UpO66T+k#`P1K;fVIXk{U6Y*v6H z@+br%U1(~B3){{gU3fY>3b%6)MpY@yf<><9VX$4X;d|5$cLcznY_3Co`na{&O~37M zKtc(t#xfR}a*8HKXh+7D4gpQv7&(38rSG=v>~X3L#s5s^05&!<;O%{gG_ zPv>VPc>ZFa$W!dfM`_1cK8_cRWEDS9!DzL4?pHlFwd>FzT!vMUe@m7c{{4(x-ca6ijg(C@a(hy-5ONwad-*aDEDA@^TM+*!YoxFB z6lir0souy*Mc?%$Z`%`^jFK1V@HVK~<*vj{@a_U`4dHa*m3fNwkph%h=l`9Pe>vso z78>xc-aUk<*7SH403@&Wz3%pAiA0Z=J6yh;a4g`NT>tUAWp?$pQfSchn$kFKBBQ!) zPZzx0rSBiQT5R{~fNmes#vt-+Wxoc=zPt+ggZK0BY;aSasOhcca}M4*f3Qi^EAv-_1*@*2L(SgX z`ZowEyGU0nMjop;0<;OMti$qB_bQR#?XqN9$@Es>Q7O_I!qW-=#Lkeqn;FMar3i^u>dR*7y{+K5o zwk$}lTQh!QG|7V;`CC_p_!E1RB`;C8O#p`|yT&-RpWzG&=7m5pVrQKMN^aM@cL~vT zQ<@zEUyY)n?&l^Vyjvo#csWfzu1fG^_#Ej&4@L%t%-3Y@mT81hY~N@fVN#1btRBff za;#n~TAe+vYFNZ*bZtWoca%ej>aItDH;|>Jqg4(i4;lSfn4ja_Xd}5IB8Na+Df9dY zbhKwPj!VxNe zBc69J=%tgCV&AACKJsGn(?=`7o~mQs^G-nl#KYFey@YdYtf?&ead^)?V9IUey8%5H zmyU&7He!D>dTBI@UtlcIl6eiZy77yehTZQaNN+!mRn1{9H)6;gsg|F=O~g?5^*^Ld z(R*b#6)MMc9fsP!3m~q#oqGH&gYHBcq8Url`EBEr6sG(kUCRt+uMP}0Wzy29Gn;g@ zy=CQrYb&8|a!QafM)k)SK9O0w6y3A~o1}uFS4gN=L%$85MB!D}Bsu^Cx`fKm!qsvL(=2lNn;epx zrNoO^-eSqir-#Z+*S6g3kV+HM$W6!=ztzj9I!H@J(#Gy1xuR%f{-Di;HoucaOt@&7JyH>e9=i)j+ z6dN+VC$-x2@=jf=+95n3%}a9RV{XQ$bcV#y7?uQISZ)d3<}vDLf>#WLy=zgj4fNsY ztv40}$cIAj;kY%x1#>h`ml68ps|S3(s|WXv;(AxO%>H@{}e)G^gQGRA5b* zBs`>bL~>rZMqIhwVr?~uSYrZLpuXLv?!eBc8I~;Z56QjJi)gHvTU#i_uBv9XtEVI3{ zb-2O<24KH=&&nywzxK+n(=&H8m99Te~n_yIgi-tZ;4=y3jDlJFx71~rLgg(diw_wZPR`er^y5uH57{6CY z7WgZqW#rn9$Y~TMIvPphtf=CQn{Am%8*P;yS68#|0*{L=)0HLPe5Fy7L%xJt=l0y! zonzfkAG4#$1i}+-pA7C#OBfs;<2 zyR|*M^IPN9g~_KaIh266dM8P1(v)?>)cllkcVeIYB9f=&yq2n)mt+3slE~@|i*H|} zMbjas1<{5a!JKuU%D~$!rLn%2@mZKz_OX5>dd!iMqa#EhGCd=sklGtZblQ)9XIN2z zC~65gw<^0;Yh+pR{b>b%)OX;8QFoQgAviKEpo{C7l9tIbG9mfSJn1EbtWRzA_s>Jxa6 z5iiwLatML>e;^#N26{AEOSfK6Mm@Y?C_6&p`R_J`52OH@wzE^8fe*QY|M5CZ5OwVc zQ6hE>yYu-71zLi9G=Uu5MZ&i*wc&ZXjl{G66gm7`v6sG6Y(92eeDLF7$rq4xaaRvdmSH=rs$j8 z>p6c7r%oNbPstHvKUcL383Cq))PE<;FUg#`lzFhEc<7xW+dP@0tPHgo)c}RT62*=o zt$!gJ+Gl;v-bjXCW7nZ7P;pzLK>3-1Bt=dP> z{a(#$tvO}9v6_F-c^AZ1f@;-AkC5LR0sl3H{|{qwGSs^q@t>adA06et67|2PPs5I( zG_pL`zue4N73FM#19^f^M7xaWJH3XMsxpJNx&{<=hB*cz6(?1n{c(|(559_?^L_bo zw!xToBB!B+e}bAj4=oCQ(gs`1?SXfatQUEwWMfD-yQ&Xx^A`Bn6=$=GNi~<}!}Ryk zC%~D9#d3HE0M3n9mt4GZ$QbqS4`(ahsyw0vgPUfL zaq}kb^aVwkhk)79HXq3~?B-Wehm;OD-LcxphjrfT3 za9)+r2Zx+3&4~Uv=LvYHkBV&G7q1>;uNPLOpWQPjROdf^&z=?M77cu1`t}aH#7+Ef zXTcnb>|#ruT`hHACp;Km{Q(i%xG-uHGbW~^jc*V_R(l-VSGF;nXbvLQwnIS$>DCP2 zFn@2SypgEVmlQNi-97=|O(`lbh@-Y-I5Y%oraJ6+J72$i@yh(^eYC9VxMOZBAg&+s zf#X|J9Ps?Kth6*m-aY4=M)D~K1OgP%(2zQpSNOZUyHaGBv-H_}iw%$bK7w^)U}K-E zAiO<6@_O>vrJ+x3p@EAh<236RZVvBvr0OI+G+uZ8t7xr8XVvyCti^zyYGFfbugP&( zMWgqMr|9)v?kb$*s5u4Rngpn{%10tqp(K&Lv{wJgR3XRFG z3DZLj`?YzAgxXuL{zQ{Q6ZcX={mjw1FI)s0ANlyM@xJzH?buAtn{yd7&Zz5JADWe9 ze@N0J;**h#WlXVlLQg)BY#5lW@mwLwtD$rQiywC(es0-kNKbkpb%--gDRqJElj7he z5SIr;fZMn7UD!q&tXjzcG?e=lKf&3CQkL zEYZRaygli}eN`$I*w&uY)KJkZ3$VbEJ;;b{3D%-d=ktVqxFwBmJtjj1+1WhbTXg@( z2GT=B7i5er9mD!(_hz%AW#csB2mT?YmIZmuFHH^@->2mxZrWfFe7wfi+hnIQ1eeFj ziPBq|CVX(ezaRTd7FJ_+ z$F%p{)3sN1bu61s1gVnYy_i+Wf&sGp7{Ut(0YI!wtLTa$hzvd3TS>q`aM0s1d{rO( zM?8*#!Uq8~gI~a#>5^|;hE57!_OBy_SYeTrEdi&X!tc(|VJ*~(l4Y$~$k$>N_StQM zjp*ZJl1r$l6whc0my?e^ z)igR+6jGlB2&-z?ZFV+9(`&%qL2qie6I}|Tz7#>a80=BFbxH*<_jjI7ml{`%FUS)? zW|g0Wa&z}pVx$vTXu2r%Q@#7Z9zT zA9dOl?kFD2P7`uGgzw@``=k(K+6Z#FfaDqzJ59B+wJ-!&oI;SY<*dF4{X@cKJ%D6l zzgY#1&TYYJ--~-Cr%wohDbKthpAu0 z4|}<~dTP4DWmx;GyaG%|Lw2rFU1Xn9UJP>*5lPS)AO5xR8{I*tO*T7FW7Hmg+{E#4D&2za8M4vL7n z*ca7sU-6fHCr98v7t19ld98y)#hhyhM0>VC+}tJiWNlvt`P?k7Uxk#4rJywzG5roR zz-@|y+JGQD?O=j6DUf+7))>I}*FXVyx;O^wu7`R*piBn7sApAeALYqU0r*MC1_nGxq z8b{RKq8XkXb&sr^L%beeew{L_hw|RXH+6Vd+oyLg@HE}3;5O&>Q0e2( zvJ)an4cF6Yqr0iUICn`^&Qak~n3gggPo}Tu^vuna_%wElY~}d|h8?s=TcwnGcmlK_ z(>)_NQK~X8+dPIgmX_tIgo}4DEBj7tKHi_hJtGXDj|?f>hDMSuEJg0*Y<~7H1VQrE zSsRe_GPNPs#iqHU1^kcPp8=!Xo(oL55yW(jRd&UemO$?sWr)*reywm%#o+T6x%A!za6zh%lR{QtIxPXCC(%j2 zSQ|ANDwFAlP3nq^>np*(QUEsk{G+1DFf7a9CtHAfk(Xy-;FFZ)I(cy;a4^<|*?)pr-)Eu#0}lYRZxWiOA&GHt~L{#il!9RN^{Y66fv zr7VJ!!Iex~G~>8NTRTHb$e1EFZw$pBKb&XoR`f@o9W4z z!)$>T(-TC#dMb8B4;K50&H>CG9q2x=0tU3Ui@3A4x2IH!iw(S;qJ(SFb-gJGmnTmU zk_iYX@%Q|*X+62UUwf4d0kDW9x`O@TjSO&76p*jF0 zame5}zELm$T}>(TM(aoyTYVwZ!=H^y`D`yq463Q-c}kF*617>S0DHRxhFc4iY>qjv zY(gN@%^NFxsa8HX+Qisw%F=H%h4mmiJhCY$_+UQE2B_^TrLQc=fm|xtOhu^>*Visz zl*5?*+#nySULhmObz?+L@jpz$AL^3EKvYI!Wri~i-HIkuqdFnTf^W@^f>1UofGKjp zcP=hDL0^vgcA-56p&V38*z=>9KFK3LxAFhia5*PZ*d~*aFF>|{^beuI6)*IOh=#!R zzo*RCVO>2iC$|?`YMidq8qem%<(d$$8-*I-xyJ_4#*3zDUmijyr8p?Tt{rcEtn%1b z#`EkN^6~*p$9O)ck0=kKbIIgcY2@Uw_dz+vjOhU4$rKhDW%Mo8egH}sm5T?oprh?;%*j}{fL&d zvdR%#eA+2Xo;iQQ?xQjJ7*)@oLtb6ezG}>S-nRth9e5+|CY?Ak11Pi3k+{iH1ic3^ zSx~8x^opDPML28Iq^;as#RnG#csB&kul^yafe|Y}=JMA-cV!oB9o`umN5LJ3%FD)c z6bi}kTN`&9P~_AhRhtZP#DwW$NB+5?eTfuUK~j!STPaSe$Z-JAkExC%OAxDkd?Tr{ zPwyMCIZ;;98(^_ee*q~yFhA}~s5~)J)-+)+B_-u%<38EAMV;@@?ShhV$=tF?*#v{m zFG=Q{B?A!XXc>n&O?j=hhUfv5*~xx=tUO#Luze)TsX426RpLFf6{6d~Tx%fMsgKx`*JbEk)N#BFe#WCBzb76`zq=bka z+G(m#IXsEF-B!2!Pgj0=-G=z4r<sbxQV-Yc4m`h7zXxDW(IPRE0UNViFs{*}yG($u4z zq_b3a2cz1YK4uJn$y~y^HvZiq0cjfgX1v@q3pIiTho*Emm$e7dVNUw+-|1=J`4INt z=7s>F+@3T7FW?0h37;%eKF8DPqyUZQ=p%VGCNDbDwLYtRn@b>hoUYoYY9r}%QHizR z&DA%X3@_(gUdnkmSAz~km%hJzf*R8|&=yAR_>97s(o-^es=Z(Qnez{V6U#EVn}Sl? zX%+P8Tl;3Lm?6W4qT3Mp`E2($tu%yrN3-*#=K=+sA<@6{nQsD|D)GUs&Zml+eMIq& zs{L^XnkmL%L}&`5eMy+apG2lc<14( zrD%V@5C9oZNu8nvMZ1b}eY5r>V=i)^Sdg-F=_kpxPR<5DT}f z+VXi4Pq`MQ9|9>9RTmOc-^d>6HNVE;#V>}b#>7B`^s4yxTo|jut7~E#L%(Vc3Vvl<@;28kC$AC3N!j( zx^>8UMij8@JBe**V?7JiJgzGJyxAgbtj^%Ulg&K$EY|j#;t!jIN~r294Gi$lSeHr$~J*o*c_ue~4bVx?R0$(;(RTK)58xKMgYJ`()_r@)$CiwV7Db>l+ zV|Rat)XiuTzpgMzwohb8?k9hj+=XBMy&+d`(e3IT(-YE%(-5(yl2)-GAG+Y3h&Nb$ zW}_LD`gk{?;(1eB>xqVc6WacB1REkC6k60d9_j}SDX3r)X6+s@LKo2w+Yr2BX2^I) zfA%`@;56hfd=-GwVeB15EGqiOydntdtk6DQVr>sHTh7eMQ$ zIUjwSruY~kB#^>|?2~s>tT`{Uzp)g|rO zk%!J#prKNUjAdo?ySAu-p`||${vlCi(7Zx@#m79pu`xTWwehgqNc3h-aTL8NWqeWpKesDy;f7%pG(#KcSP zO_4n@TrO;XsdRXC26%Q6v58AAWE4Cy=_BLf=K^c@WJ_E9H0r4RhQiUzo#!>$nG!lU z7W7wOL9=)Yy?egmbDivd(Q34kK@6|n&nH=J6Jl><{gL+)y;XWZhB*N5SBddT-Qo5~ zZHr5_akP>`_>8;!vbv=ft-Y!Gdp_79-kxeR>jAh%euc$f&uLVNU(?g+m$B|z2^M|Z zO**xK!nx}0$1Ub@^Q{#njbDvSqz75Q2R?xMOHDy79V3Onvx+lB>hj%_DQ>ocL!vI` z-qHSukIHV|4)a*T(~)fj%h^>>M2~PtU4G3-b8Mi=#8Rfxyd0_u$u5L{7N(`;`Wf$j z315zc8e;H={g}fkQu{65Pcg6i6bDGfPlJ=g%}rVIpFKZhGRg}g3kk#ZSZs<%OV4d4 z=0t%hA}QLc%ADi?f6-TNdwB9GgIuWb(!-?7^3-!SVF%1WgESLwD3sE1rGy{&Fjx(A+=jm1LlXGkt6(twe-s`uTT)G(+E%vHJ7OutmMZ>SrvwpsH z)e6W*VWq_t6|J(Db%Q8`$fJul^sj`=++Q2+J92)wriSqim-x5+jZoc#c1}7QmGIa@ zv_u1@nq99KKj+rB*&k4l+^;0qyp#D}WZ;{JFa4cNzkk3oZ;UsdE)D0maVG~?^wumb znvR1e{84C{69}E7Hnjn^gLXin=2?MlE|zUrzpvcU$a*+if*M*&bhyx}2esr3QMiSY{s=`yNiRRL2kpm3 zQvXiOQN``VA(Oug1DEd2gx*KYX+0Y*U+Fs{XH7PrPBz04!yHlZEH&&;Cfz6OlH-bs zRYAy%jXuSkhFFGgg$h8w-&g7d04+SOx%gBMWp^l^xzArd(=>>(c7!euSN@K+R68)` z6W^sxY@vEr)t@?S^>JB3RaL_Fj5PL0N8tT`r+`9vY~ZSnl#;i7^V?GPJM0|C8FfXv zd$Xb(bN1o7gAn}<-|Ar4*+C>tbV&KH5F7atq3CN0iXTtZe)M_yTkB1ceME<$_p=~^ zF5AuK~TdElV6 zYwc|QZawYysmKUCxa482a0Pk{@?RffVj~A4w=oQVy|o}Cc4N;KdgA1eZ{VbBG*tP! zvhL(fpjE?DtW_eb|bst=`XS!1uthZ~mJw z;W0m_Y9d}I@Xjv!C5ju0C1p4|S_ylN)$++^M+<{|kF{hUC3-$7ZFnW1l8h|v7w7Qs zQC0rJPrTH1vYU#9C#?I3ltOr3It>A!VlO3XOJF3BmzW|U>dRIGH5mnZCPH-cagjNF zkcssi8qsWl6M>19DF-tOq`4Q@vetVs5>%+^$SrB;)lk0ot6_f}ksbr9qMrn~z8It@$9Su8x>$hAJevcY0Dj_)7i(vcglsCB;;GC@|PF{Ng67=N*feu+871i$x6Td|(1Su#y`iG>0mybdj0Wn!mD*AvFq&jVQO;aXzJ0}EB zl1Yz2yNdj5;p|xRUT-FA9yMAmxHDi8wBdiN%Xc<*AA4&0tt&|T9NcKLjL@J%e)Kr^ zc8h5IwfFhF%GGwum0QEC90O}BbX7s!R5GoR=V_$^EfHFYIB*qgK-z@VQ+82+vjV2{2-d zeOh?&a{ziT()StS5VXVV;~Od)hICsIno&1RAHFFX=)OHXmJrN?DG1ot|A^K6=VI|4 z%O94T;%-k)`{EtP(NMwq6Sbu<@;1cDWrS6aY#O-h!%?nz!`j+L%r5S}nf3`m<@0Yj zqNPt=d#9elIFMNO!faVLC9M^EJ|TOEhgFhqj^zXy{3xAF&}m2<0Frd>s!f||f}(br zi^!2evWLmMUkjNnH6#4#qSUFUFJ-@H3(EZseHp}{(q65QYvSg%Cx_ULBS5ES4V0Vc z2D;dLqnR9kY~u^xiN@G?UA$*|@ki_hd$^=Y!s8{qq6#5=4xIQG_GTp(eVu6T63JfA zn$#+KLgF*$I2~;ygx%U@J-W6AUx3?ED*VlesA*C;25&KRuG*~7ot7A^g)t<$Z z$S(UV@=anu>WG0|sujYh+fcyj;nAw|rwYwRE*xpE65u8E2dbSx0?fx7N)8k0V(T8@1|4)2&s_ik{?;<>xwz7|&U z%YORP*JAU>KBjTSS9%0=jh=V(>zbnS;U>l^pAi#cnKkz%FR-D8_*mNgjM^OXo~3fE zQ`Zjw!{H)6(9Z8@*S&3{2z#*8dF6!l8R3sJ?}~F|(HE&DxUzE4Yj)%v8cmK|9x6z+ZXf_S=br-A>l?XYFOy*tpr=jCRMKo-@E7jsX1VZ*WyQeo<>VFLQ?3 zn=zyASS74OHuy!fyiGzq*m!G@af{1_q^zGCO>}0~w;{56ST-hI=UW?z7 za&Kme;3Keewyg^xLsvvxD!$Rug*rIPgkIt68|@#Z>}v}=xW!(U>-_Yp(J}%`1V|qc3kAjnN*OxbFx4Frq7-eQ?H#iP&uLELC8n-C|S- zh@YGXh+JHNR3OLD)b*eFerf_KW6JLM;W`;9ePe|Vl>bl{{SZ{O_~vV+FA_G_l7?3d zi^b>-ZL(9#(t=X>Ek+Eqqp9bM^v`NveMJwcm{;0=mH1%)DzX#4k3{FRo9!Dq`U4~D zE&HB&z9TyuHm!ZSZU!A=)S#HAjQ9&~t`e;`A|(Y?zD`W_$J<(2Dga7^7Y1NJw$1-r1Kd;cdgWyxODE96al ze3}#vpRCv>Flz{LU<(vjNuEar%=LUx6*?&s4)hV!ynC;{A#^{hjVPC&-10Xvc8Y4Q z+{?J<6o7R2DzlQm0>@FG#ZS@G+mH7*6 zv{tILWt11WuPaM%1mWwM*t&cX{nof&13KEojbiY`(EPlSge-SuPEM-4lCj}7X_cEV ziUY9fC}N_eg|7Js44HJpO`n>r7~CvMncp6G+I(Mw6DL_YcEFAt%lwWR&bs_1?yAeB z#fjJhr*}FenorpTe?}B`cPKa&b>{69f87-|-+=42Wj@3RhmGPKNvv*4K2g5&rcB`C z4&kko98agT^p#;79T)ax%HoqbU0YrZPvty&M!I)hw$M+ChkvDNg>sFmA=0C;WA6%n z%Oj{3uU;pS{Zac746i60|Lw!2sT_=E>{Z{p8d)h1&q>LFKwU#JA5NTCcV=;IlV)GF zTQPg*)oPBQJC3Y|^l96b)^egk*AYMWG-&V1H~+1oKUMDZRjE9(U0-#PMEZw(k2*T7 zdyqZ5WT7)e;=h<*R$(DIa*%QAc4fS7z+yqMv-l0E_=Ok#L~>2oG{CO;^1!=P>&g(4 z!|rEzFsv?n&63TD;5|JrhRa`ns{fj&?d#B--nR2)Zmq1)ocFE$;9blj+cr&!uHj%y zwi#W9MyG2D=Pt{9YIq^MGNNv-W#`2C?~hqm8O#smwK(UWcDJtlx87>)&&AuPg#64* z?OzCF;AAUthC3ZYLqof5JOI5pD}P^Jgl(a=v*y$b9kVmHIwdZ^^nih*;gr6)xKIA_ z!XE}d8VkqkhS-=%U(?`bM?Sn$b|Oh+*4Xk))la)ld=-<&w|zQ-I8vzYO$Zm_N}5y- zv6&%KyCz41mCXgAXT#ec3@dXax}~N#ue`YLC&niif2UmYf?RA@WRG0W#}c6*&)Re$ z=vC5cM~uX&Y@mqYC(FS3)gk_>F<(t=C$ba>Ps5u`Me~Zlx;MV0 zmZ-}c9h-w(J7WqpiXA>Zuf}?K03(q1{Y@kD-`@>HqrZY3b&2nw%?#+JCFb1JZotk; zWBKt5LE3~>E2flZ2kt0~GV%!{_!FCR2r9b-=z$rtejEgk+LSskjXZgO&T`rC+B+m{ zX;-R`0Ejmu-Isdh|D$g*P<3gvTGTIx_5X8ElZ4B9NQW^uo_?w)aVA?DzG@ zHjiGp%|3bR;%y1%{aQqf-wY^_5B&RU{_faBp$p$99y_d@cm0XEXdM1T!S@^A3F~T3 zK|4mduG=(UHl@)AWo)ZgJYPZ8&OwVpWk_U92WJ6+DStE4u~;nc_U{Y@J8$`ih0lIK z(d?56OdUazYyK_ewdQN7b_H@fVk)qGFV`L94)hITtHg)$h&$h|RxSF^`Sa)M0O=Q7 zo$Pymc9pN2-V^x*vO)*{dk`y3z`i=3(4P(9XPygpX}1*f^bkMa6YJoC9#+3j|LXS$1 z^Q9ks3dU+~PMl#vo2PaLAGqjVRr&TYRlhZ*Js(+c4Pm%n129hriDL0znvAd7+kaxj z;bzk{n_bk7wK4%_*CmU8d}c8@pK?C^O>5gM-Z5OsP-c%S6oZ8uH*=M=;~lZS;k?oo zTKJ)rc*;Cd1Nk4?_=Op)`Kgoa4}0oZ&-J#$4`XR}_uuyq7$wPA+OL776B=p9-|l#K z3EOIB3r|{32}_pg!2S(7lL_EH%ym%rWzX;|yd!#dt+cPhEz+gFdSrae43o@*mzC!s zMw)SnJPhcl2(}ab@LlC=zv}fekt8wl4186;ZIg=n~zvQM#g!<6*nU18%5djmHc5HK^NiN_qN7^67$Z zewS7k7Z)Sb7zd5v&;Hro{zcf8gZ5?ZKD&MV^|9NRAep_z&2(W)07ZLdB~~MfCjV|G zMX~h%W5clluy;>d{aH*<~uFLS=^8GICwVJEp+;?oaU_qf6 zEQC*}9-H>ru57?D%2mVezU|HN87doIgzz!4Ckc+XucU~#yer4^|DeAXFAQih`t6shp0ec^A6YK1k#z-69UD#p{Lw$Y^*4AD>(uI5J+2qmR;Kqz4D$Bn2%Ff{ z0F2u30|2GnSZgbhBOL=2h$_d_+@Mj@9GbVzZ^`pbnu$VDS-m+Mmz#m4lh_dY{a zvhIb2wwcqikGJLz93p39gobBv9emD^FDFlKEQhzr6zRH0wCd}wI=2MPo3I|#2Z`|$ zTmen5jmbJ*pMgeIuMLhVhcohe6h0Scc3mD54&WH{kfoXy1$)bRG>g(U}aTj@pl-`-d=VcU`fui4RN@zXT zY(%Y}ts|yi%%Exz$DIl|!CoGa89?TpraT*oDhejv^UxBWCPS999eezxZfXs0^a&zs2Kun`A`(yq1~J{6ITSV z=t;zIMPaZ6A_QLg>wZ*wNGksgXNtig2!*+o|3O`FgvL{G`yIx2c3Dg)){XSUtQGat znB#WGaC`U#*{)wj?B_q{{Jpbxw9>f!W5F3S_TuI{X~r>pXI(;{$?XAM{={d6WisRZ z6n|gd=WekhE4_Qk6U27g&8r@?HNmD9+2)kimpi+GW&0KPx~}CrewauW(G*X0=?WAH zH*v}p_vngm8|c04Gq`)T zjm-3TXDOog_^9a0vf#V(aEqtL^M{}m(H4Eod4e`v(vX6b33_xqxu|1ZeP~-3RwMRY zR~U1{Ij_M~%4GOMzrNI$9d}%GuLl+PWj>XisfJ-vv*`-ZiCdU9Ins52I6Wn~Fzx0e z(#1acknOYhy`4Gut+CG{_nGhCgV(K;a**Q%VN8OtzUh&x?=v#;QnO@Fi8p1Zp8gkn z&Z8J}5PTN^Deo5-kbKba4SQzYcV#GgQ+*KRXxj#%YJ>nP>%-dLFs)%-|&9- ztehA%=XKnx^YT!m4`xhLJ>dNBH%BJ&%Q9aFACsvf3mz*kx;?Pjm^m}9H-(Ox9{Y3; z?MU_$|2!{VdkFH@Jsnr=|MJOP-*jtKhs=bBngn9_OfR3#&}M|uBDC$UVRCm)p5iIt zT;riYL<1XlR_g0(MJZxYK`%-N+iqF05)1G9%S9tAr3aXSycApKh2awt54`%r$`#4m zE9;xqPAguf)ZWeyR%{1j{5XC=B(@IfV5(Oobh_?UiRAf(vT#$L%RT8=hiH#AT|`Vz zn5r%77MOlMW_7G3P_VRg2gWTLft`R3vmWr1mtJg2h1KNz+0TQkS2z=7y=x|42G$lX zwwXO^KO-Of@nr{WaPY`u*J-(e;yg`@7~9p54%80E!G3OB|FAy923}DlLS5VQ(BsIp zFtb(oTQr&7JcfAj?VbFZ;26fsC9=!q0)*)7LHm+)(fEDL!u*Mw)16z@Rq2n8ni<}_ zs;zy=GEHm3>e%^avA^0{8fEyTCCd=pL`vuaRU#!E_1f;quxI0&Dc`uKo9elrUs>n{ z*!w+Ixa6#B5wv|)QC!$*E1y@R-Vj$#+|(eo&ta&B)Sx@b_9!n6$iz(1A|9G-3LeAr ztKKbM>Un{);l#UdZJ-~CcraIc`?POzh0J>0sd?I~Uo7w)1vI0<%H&$xB7Y$6MbZ z!6&~qo6O(2*pxz~F|#xBu|(zd;Ocyr?LdZA4Wmj*%EZMsUXi?e~x|Y!QI1k;Zbv3-ETFG6FS|BGZg6HGS`&?O-%;_L|SG3 zHU0ME3xawvouj1NOU~!iwOkzya(5rbns52F@qOvFHKg0~?Ao!|n%ZB@_P@I%aJ%U5+JzLWPha`P9?a@Eu~ULhOZ#T-9qP4zJbEOa|!LY)}zX zV~1=hchb&7g@R3j2jPIWQRje zAG`h!7GWdnp?Vh~G7<5^;p8L#heHCzatV4DROha@vS&w=!2W0h(t?f5nQ`mWm)6!o z9CqU~SAw7wio(`!ak+)jDdLBqaWC3^O??eq9qOckZuR&ii7Nf8<#%;{_)qO`MU{zD zkG*yBd}%z;)YPS+cP2aBmrsmtYd`gJy?Dmewz-79@S*YqUzez}U?CrN|&)*F&>kN73pg*}c5$JNG{ z#^(KfcVBRWAbd_oNT~F`Aq_w{z*^wxT)bkW&b(&4@{Ks3&Z{41;|7Mt-kk!b?kIiP z@*{YOU?DqqK7+#Pn)I|?(M++cOq>SeZQJOURAzOO=71F3$YbJhxN1cZuUg#XeOTo# z^&sHuYJ7Zl;;qFW@60)NR5g4V&hL!!HW z)^B9CY^_QaeEl*WdXUR}j9&G0zY}~i>eL}f^W%kk`vJSnpm>uXG|t4Tys6MLV^#sM zlT6MBAmO0_@ELv0CocV<%aTD7>WL%j2?YMGx>9=B^UZ1OOwIgVlMR8L4~0z*!r9Vh zYI%|-Vp)?);!!RULNTdWfhX_fjB7t5uC`Rclz8c$z-3vL)sqiD{$BmvgZYeTuu1Se9Q}XM zI=}m1I6&MA;6L|2@w6P{%E6JRMn=X%fEwiL-|RNKWoP@2`PcG$9YT4TZF6E-8AaEv zjm6Gfy`wE0+t#EDA^YS@_Z;P{EaSD;87U2kxH!B*0`J;PopbZrouTDY)S*qDF%!33 zrW1naZA)n~6DD#UyaI2U-0RXn!l}tcf>OJza z{;$q&nI1He^(yG<1_LeZ*IBc7cC3=PtYe%4=2{?-5LNn>n@1FRIJq*;TsW;x(I~YW#DTE537mxm^66W@=Vpg~WLWI&$_eHKOEa zsAY-~CA4N|i7g9qzJPRQNpA;Q(N}1*XLae-BiwFPes!h%S!s@P4lfV!JKH5#XEHM;Sk*bWSz5iS_QgGuY@l5MxJlvY8s$#HwF^STK4aWALBg2tVB&+9VAdDC z)Zd>mA2d%3Rx0z*-h^skMBo2n@t-d~ViguIvGCOJtFWNZ{OMRF7H$#Xk}y48Um=OX z-Z{))BMrLY$O>_QK(~F1Ut8Ha^ynm4RrEU!%7OCnumepRrQW#cFX&#M2A2)Y_Yh>U zAckwVU!Qbzcg(kzRfXmG^JrSQxh0uj*4IegEXcnZCXzJqrQ*bwjS1(>WJy@7sievJ z>~fdR;MtP~A{Y1BhwE!?Hz7+K(9ehu2^%&`)28$##LMNCJEuPvh9?MoB-XiJW`Chz z&^ke_arPs(j9L1f(L^=duB_xc+dX|LZ9ZOeEqvlS$Ei!Vb?LhQbd`l^@w$+gq=n&0 zN_vQlQa-t{V_endRL~nrbbg*4`uk-4ix)RY;ey0rA z7No{kl zeH#E1?R@#zyDcbDuRVrDiK7u2%U%?s8%Ol|J(qLBqW`N#O)X2YtBw7M60oTkX6IQ_a~0VTOtHvwwaGcPbs+7ls3xcbB}uUw_eZ0S zwCrEM9{FOfkRJZ-xoy6Md5rucLRHes@Phj;fzuN2zZ|u*y=?V%b7iMMsITNU!zTUA zRNVwIxjvZd`j};D#F6&}O8V#u@+M(I?%0{~>XX*{BjauB)A+Tilux^ly@;N!8(qV3nyc&)p-Qeocbj9O!UegMBdvE0_GG?;!c~G`N^4H`H$fAG$rwze;L5U z7$kTZ5B4v>J^O2tP@cy$MV>tGe423l5Ogu$nDkuyh$eI(fZTH;MZQYY&_GYF^Sk{$ z76RfX6_YrVlJY75mW_!I^VsZN$mp7Ppj(+ujn@gCFt4E~%y$pHSxgg%&CJ>fFWWWk zJ1#D-*EnU%ZL%%Q)w3<|s%1R}BSoU2%-%+;Fu4+?M| zlg~rKm3ca=&KGo266ZKGi+_2)$}9Z!3cJ^Cs=T*qwI2_dGe0iTy=%Hq{?n@WVMU*a z{-fcA*F4I6p9;nEm=m=HqJ<9e4*T8L9o5Rn+kbR0Cf=EvcL^nu9v5z(;y8WX-9u;p zLLeh}Kgf_!A}>F-W_fL>MK%tJ8M=Ku>b3gT#+p@tuX3FAgWO@Exv*xdS0|`|hHfAQ zyS?9-{c<}+^6}-a=opTnr<+%emTt$JT#u3cYA#V!Hei2iKdMhtDpWR)`*YCa&q`p! z(7Dmtmu94MGR@BTeYFe7Q5?{*%DNLw6LQetFUtL7R4(Ki`y@13`#*;CV^dF|l=K>R zi$B?~txK&-mBrURk!zdS?Tn0wD4)zJ)#*B)eUyo>#{>Dto~9=L$6iQeJ6N=b)l|@t z-iv?ZAGqNi6MrX#>F|Z*G3d|5Bb-57F0iGXCrIfpmqbi;f0aNX>JQhaXs~f&6D3Le z*c&2^ui z^w#q=RF}`JjS=hN+1}vW_@%+Ce0Dvwf6b;kLH>R( z6-)HlFI7mE`tr8W%KNHH+Rj#M;xSdh;p3@6N3242VylnXa(e+(sj53f(b^kp8B4jv zzx&+&W(1gB9^uj>UUD^KCUyo z`(b_kTaA80O1|?{fwNacd4coI$U?;@Um0~h@nU|EW=5yGNZW*T$y?r$brD0G$+*4N z`+|tmG=qaP`ZLR$ee}{gt#Ct0g=2vPgUeuXSe9a)7^Ux*VXA6ggu_U+HZtT6O$MDk zG0gM({-s4!5iZdhqRN{F8yvnowO>9;_0WIDU670Y7L*-o_94oLI44rXu>%v-Og;{K z`$t6zqClwadh658F`)yA41Rm8D?5UNeY8l6<%JfgzT}F9s4!Sm%8~q4>7I$SlUUrt zAC*Q1Y1+OUg}viD8o`SXU+doPG`dXpSQV9E0f zK*GaObbWp%?)$QFujRv|6H<#!&S##S|8`VfME}IADlUAL1bQ5)OA#P|Ipm-vxA7d;+(+eeldl&B%Z(A z)oOioGsjjEF&W*zy;6QlhYb&jJp}2v)p~xVL%m1>a?cr+69GM2b|F@U%nSbeY&YZG zM%_b9u}KrcGvmcl!t{#g`Z5<6Z@qq&WPgPnA%gQh+wg&ita<#PlgYk~Bz>Qad3E=f zU<{dVHsw2!dv@6(*LBK3A~M}Z?`XQ#$0L3=QKs(F|9)>|U^X|fwY?S`#Y#N}e_Q!_ z%+^*L32TupUHxv%KSJ>dQW|NwZU4EHUK8NdxHR}sP&vQwMs&X_Tj94z$020eD2-&a z+^shl!Gyo)_;*%a#h=KJFI=O8Rn5m$EhSaj%SMGRExF_6eCacV6v5EpnU%Yx3&|VK z-ur2az7-=7!5@<5J>0{WSM-MDc*M-FOy}xw0RGsXSZaW;Q~m9kBEV|W?9N&WWBTF9pv3EK z-MgLcp0f|VvvS{|Z|5xO$oHSsv0!t!R(5aSk2lXhcCd3!(bUh=gDgFs8dBHaZ#uwk z@Ney>5V-9Q6CwSqIhu$RR%yFU190i;m%lw3dWNyi&a!dF4O-|{k%!mJ!tu!m1uUe* zy&pWjiOYt^mP3&PYN!7sJn#xPw<}j&oBgw$lvIwg_s6xPJ`*p+XA4CZyVdz9_IN~w zNdk7TpR@9#H8RE;5=K>{m2yiy8hb*p)92KTKx%Pjc_(Cyik@wrI|Nmm0lL-bG3`fu zqCYZ&bnQhk2S1uwa%{Km51uAVA1f_WR_S6DO{zu!N!i~(+tJj6ddpcA>`;jdYOL9a zlyuP!FP&2Lx%1w^>#f(%F(Z{#`;U*LB-xG4HKo~V9lohZeYxhhJyEbg_SqUHrj>{< zV#d_B?+&Hg$Hf&a2a7t|@hXp5i^dl{|5W!QE!6xuAe&h}n;5oO-QCSy<&&B7J&CX7 zzL2rDIErr)b+OlwjgH{T6i`3*utmdbTkxzEpzCk~GRc`sp|poKQ|EqeU)Eoyp6#si zC!e9u5v)6Z$V$}&AsY^u^QR3P4k~=9FRT(JgGSVnq;tjgl*G%2hDrS$*~WgbA2V8g z0uKv)YOl&FW(sCRy#06jip-{}dmB;M^){OruhH!edm8x3EA4YGmnGPqfZeRCBBsVi zn(Y0jkCnO011ga^Qf(6c+5M|H)HX#reMZ?_?BIYqJ3_uFH zr3&_x@R;<53k^8QFARKI=1OE@`qTDK)cK99_PFaWRTVx|+UVAnm4E1ZJVWK1^lVxjy+Jw)r4EA=Dabuw~KH;XCvw?%B1 zS4osC?Ok9QLvJCIJr*;Hg8!k*Yqdpfo=*tuRoqFma~sWRsgjln_($wBFT=T9laLZH zmb*}UCok29_n1I-sw7VR+$0wp`5PA-oeN}`97hj2<@pU0T#4qJq>@F$j-SfzJL zJlAfM)Pjnt29NaL*X8f>L2LZvdz{49`tcHe6lMG1RMWE9XwsUL-12VgQ*D?&T+`H0 zZm8;uJn3~Y$(O`aIj9M{|2ZrD_~*VeIsF~Sgd{)+`jz8H)wwu}V|RW8j713AG2yt; zqGRLmo<~)qj)uedYviO3nl)iuWz5yzplO5Z8e_1Ss&wg-|LN%fU1vqez{Vtk??byM zL%7m1PxkHW*Nd4q&zVC;k4N9Ex_KtEi9jAm4#SWPP9}0`jnqx`*2-OMs~E$z^22(Z zMfhstI!es-^(MC4^o72sHVBdXH?u!qr zE;mlD$Ox(m?26jjy&UvXe_LVO?h)i9*L@}2Y0+Lo>QB-m_gyHvk@MAM9c{?Ht6z!A z+D)06F9s^j3S`xnq`Ut;RL#L5H*7&BWk=tR6guBv2Q?eDXlstzx&8UMW!?K`dgfHH z(4Cz=K%gcM{uj*`ELthrGP<~@;3TUw^KnLeuj23Aq;KM2!TbH07rilkU8l1nu78D3 z*c%yozhvLMC0Y($&X+KRP+Rp+K;(`G4ruFURaMuyY#8&qHnoWgAC*1A;guh5ef^`H zdhR62L~&RvNU&?_naA!}U@vOy^0$^D>vWtm*&S>~W;^M{EA_dk+jk=r%JsI@gRk>z zui9Dd``XXeUq-cE)_FYVwD{>J?u(r8^XLLbJ2mJ=hS>AO?7B}$PhNAL`Wp~Z6xZ@f zd1ddlkHT`!xI7a(8u-}L*O&A93&cR9-&v8@iz=O~8kHvLGb6qeIGmAAh@;knQt^_X zM&ISG=*qu8ThbFM`c~#;`x`Z`u>f$z$Gw$id$Fjth(_q=K6G-P7+ls#qF;!^;rsPB z#d#0SZO@nEGQ@Z-bdMY_?ppScOYkD$tBxBVcg#U}-DoM`U{9AUW-tG75N_P{8F_LV zfN1Aqm9qmJVgS78PB(Xcxu&q2U6l?tKVnX6J$ z`c=VO-}8mzmTSR{%d-44FE^6XEtHFb(63rQx04k$m&_C(>|)l|1X^gH5) z(c5&RJaf#e81jh-T+Dx6>H1_oId_fgGdK6;Vuhvbp@%+S__5&kJ<3c|Q_&$elrN8F z*U9@-LN~$a8?)Ax#+jNZB`UI!_Ap{w5q}5`V@$EGI|wy6 z(=$*oAQf;P4X{jOy1DNk0O%c_vte+n5I^8}@URJ(+J|o84@9?3kyj5vTF7R6!y%|u z4m=C@X24j_w`3SrhoJC7(9b>|RyW0ctIxvExg^vFvye(6K~DO|6xQU50pyM3u0)zI z4z(K(e0dfS9HrN>_~)4CkjX?o^{<&y4IQ(Y{`=G#5VZO>G5r^rCGECE9%HZwgPie4Jtdk7%TqHSrs2zWi?8K zVF6HE<_T-KeVoDp(9qam9F)~_QP!A=k`%fy*qscXw7`;sfyJHiXZ@MkHmnD?AnT{O zD0f*MhoG=lU?H@@o2tE7`s^Q+Q|>mT5DYdeB*Xp=KQ``$Z?E=kJHoWcK>1Gc7i3H4 zJL|mToIlDaD6JXT3FRz`MK_TvXB>gg?f;_IS%g+H(mgW->in09!tD?ZPzGt1DA!s^ zcMD=mY3*XY>ypJ{W7XQVh6eZ?a=(GTz8cvZL>^QDhyUfVP+{ijxhR-nQH*#0i~nJp`mlY zh-QTxYnLy&NN zfC*I%SpO_wbB1lN(pHu|D+v^ynN0+=(P{c77S;Tn)wiGzd?Qnjg+>h<6PVbEK?I7( zL`^i2;jVLZ&#E14Skpfyo;P;FXUEg_&M)JLd(BwmfW#fw)SVK2SGdYfDI%!vPiF9H zEfa$KH$rIye0@o)U^q}VS&S|*0ipfPpIjpoo~~X@NZtr#Yuh*55F((X$gHzmW3?~K zcv8_pf(TP6uTg@bpsF*D426x37BYx10x_)RJHf)&4%3G+njJvu?>oC&;4xG<9Y)Ee z8t%}1#)lt|7EGfIiq`sNfF|naDrDIKJzym3o64wG_P-^HH=QsB_eGLoSm6}(!5KOh zyp19y%wl#Ci&*%M=O$_fu$#dFa+K!=uyjcOCeQZYLl7b$+ZrMsXuPmCNECnw&uq%C;61AU4stVsV#&+;dI+iuf})T>SZ`$zS^J0*d>8b?A?Q4v z>nDK@L00XthM8l=k3v-Hi`Etl(R6jVe5>=4p&{h`%;yO_0qe$W-$wpmkx`p{6pxvy z84`j4=4Hh|-#Ih!WkAp%e^)t?XpB_6cjwkCnb(KKe?G93b_e3>so>%qZ~m@9N_1M9>` z7C$9a3O?0W1#VKa;W8vLG0VgBR3r>CiSXrHD=J|(zN(TC&pN`8IK}`|+ks`~$Y<>% zFVPJvS*i@9I$+7`(9ZN3AoIRsR%2_JTR(S+1DNU5FWhs(F>1AB7HfZH&2!5PT@B<> z{=4*uY{Mv~0I)ifGrzE&hSNx1mJo%P*(blhw;7d(%BIF33AT7NXT59W0Z^;5O)wR! zs*n*QzbUvm!-oCRnm&wfb-LQ>0Siq#$pjp!0SOTC29=is2X3_``*^xO?EneyYv6O1 zU+GvYx~gK!7ZOKrHqjuC2 z^oj`96+6l_1?B>?~$Lw%vZwyfwEOQQF2%y=?1s0}O74+vB; z6}uDjCBWKbiBdwjstBulPK4fu;R2Kec>M8BJC{wdT7x_naiLk=JYw$?a8X+9 zMFz0?mxqZg_CCvp0Li7!2li%LVjS9ftZp}r{RB4WRRV= zov;KdYW84xXaXu@xJ<}qISkV$40)Md+l01UWaaj#wQK4~?ICD3wII^h33`gv$GTjH z$B$P7q?qzK<}~d-E7k|mM@eS#AA$rYz{?mqE}IN(fUeUKGnA9PEPV{U2}_n*7yAi2 z826;tF?))G8YDCd8-2Fdiuz_T8t!R^`$q8TpitEB_>5ZdMozTMMggXe?*44evZRSQ zbO_Qwh|JTGq}Ijttt|k9!HZ5HfkYbx>`sz9^Y3mDv;o-)MKJ;3ZIlwc0hyzafx&=9h{-; z*#o&7y2*v6Q&>sJ`mb9gPi80Ga2LDfNoihZHETn?FfagoSlq6^QXdqc!dVD-&7_WU zWBBGq1#VUCgyzkx0LOleD<;O($|!vpdscmz8eA~&kL3iPgp$32&(LEST=YHWpEWSq z2S2cgB8jp3{I?77WI#W9;A8}P(~~mVNfAWSBB9Yt3{9Px3zx(4)YzW9_%`0qH7`qGmY1rd&WJQ(ta(7@p{wO{#|!EvB^>8bWC(epdp^yEBIx z0^JLS4>Ft^m}w;N@^Z*I;5DSz17{h08%2JCAL#X@tHG!7wJcyD^E(>&;1&KCq?y?b z>}!5jTxc`%0^pSfXrj){$OzykJ$K+v*!=)eAf3F%_pdO_bDgPB)PX$4SLF`Td5(*p z*^2e&k5eyl?fRgnl38Ng--(`9N{3ryg!Y{oYt0WGIV znH}_OBUdfmbJz19AB#vP1zXfsMiOk|EMBbu7EUpuZ<#S(?KGGimVNO{sq3IkcGFTm z9V|Kyq=8OG_2?YXS4>zPri~uR^bz*9Y~a$V%d0+|Sh5Yhov9j#AHPRuP$>ReQcU3Z za)i^%z!Wa#mqSo36HiJfgFRUZ4D{9rYmP{z(2(1P_MHOc__s6644GNv z_TaR2Hv>supv(X%o$QVeGeN$>&(=0}Gy9Mg@{C8?l;m~f42Hqm&75Tfb9jO`eZX}R zbjnqT01wX&5bPn&)cuev!~H~C?B+NgVSIqMa-r_8Y#bn|?qU`!bQl~=Vn`PZ8geBS zZ9pjN$dB{*55T!0GY9|GxC{S_pXQoHZwk?y7ayqmS{RktUE4D;C z2qaZ_9^i{m%dY#Tt{oS<{ne9F%6i8uWrhrlyh80zb^mSkX^=BxgZDx6NBcX}) z4cL2lJ9>Mz7M^Q!jeuojv1TQ<@(wyf!{CE!>)2LW;3!jD{UztXKD-XKWyl48UyBdV zuvm+MHnBc21S;2n+K$l$6o=;zK@Ko~Wcf)Zu(q0bgyIz7@Q0&lP_ZdMF@p38-D5JK zQ&<_sG5Xdn8oWkYrii}AZQ=8Pjc*Yer88hbMJK0238B^xzb(+C*1!}SY(Xgiu2$zk zy8H=qeGilEkpB3FuYgX%_SR;^js@2iYzI0A_he4dKd@wGSwO19qo@&MYjjUw*h!2Y zbLk(ewcVgh&l#x51>a^b4I!qO11tt`P?GGJtH9-IrriZOK%x8>c9b=GnLQo3h2G|( z0QvXg?kbKL6vC&5ZkQ+c52u@ygcRu^BZ?Yh`#7rzsRs0ra0 z)zQ2!tfXS&LHz9M05wAms$aA!LCmTxV)8j=(;1WaabFh0kC(DUm7(8-I=^KJF$t_K zWGJ-Z;2H}E?FtQsD3b=C^aM=Mh%9x$VLYvUj&+9~goxkBfO@_)%qhTbJMRuG!L8LZ z(gi#OdBf#L*HoRGZHjj=$(-uLa|?vf?mgspHz-4ObP}0~A_1aaUGSZ)I-s7^1pa(E z(g!~tL`P9}k>$fnxMZd*u+TCa_zs)HDfRtz2W7zR&jj7`Phe}XuGRp2W8WVzRMl6hTw5m?a^VZBmuE-|tRz1iT^hV1%2Z%(YSTZlJ~gf} zuOEW^Lzjjbc2p=ml68`7fkYt=LG=9%>?V-M5Fe%MxqvNmbzs(5eioh>!c<$^Tb6O1 zW5VdzQ9UeOrIHq6bvFwSiH_*(BMC4&Tanzrn?3}s1KC>;NlIaLp~rxbXlKY+LH${A zjRe-6nFHU^1^O1rl*L3h>>_5ig0=1btszucQQK>!rJ}QY1Qxn(cg0|3);Y=yRs4N8 z?+X=%NNC8+_Sim#z z2f)nUSd#RxGy?#6d4LT70DJ%kO9;3G=B|JR*eFiHv+#A_>I8d2=H)m z^9gdn1i5+WxC8{jUtWITKY9iLrhqK~2V4LXzzDDbE{F(b_9~Tyi;IIGC#Rh=hmonh zF`UE1-j>tD$bplagNqXo7V~g0GO>oc&>6$cE$u{@x9Xdi=`2k}m^ESYT=EVQa0|;P zUQTdTF9kIdFKZJ4Q)V$yLIPnAK@VF8knkAMdDz<6ISYD-(EsXP5X@gZ=A;)Db}}^+ zRCz4*j~ZY}g#I7z;_mLw;m*rp?_|!&Eg&Gk$;HFT!@~~NV0ZSkb20K@w{vFrM+cAL z&L&Ql4lb7Vc61jV8X4QWx`@!bx>}kFni-kFj7?2p?8ZjCrtI9@rbg^Wro7zjro6nS z{4nkZJZ9X+^#2&%)a0+x9bBDkevNHv!U?y5+rsT!oIy0WIq5n7cAAH%D{9skc}+s0D#Pa6G)gy4feGGN!B-d(wJMVRy7j{3jD@aqYvc3``| zloV`9_kZE~J;=WV@^83)!}TvA@Gn*VtzEz2`j-&+mn#3(uK&m2`kUy&?Lc2lta22djc>}nFg^hg)2OAd`2RyID@&*46 z;1J{9yu&SinMBzLkKU1#=S6fTKEtE3&txin+l;)%PX1R2ZrvuQpk%ts%)-jX2fNSz zKtNF9v80sr6B$`mHFXV5Eo~hWQ@EMAg{76Vi>sTvho@J-%fO)ES0SM>v2pPUiAl*R zS=l+c@AC2s3O|%rR902j)Yg4zZfR|6@A%r;KQK5nJTf{qK07zRu(-6mvbwgjySIOE zc!WAWxsVGB!2Uz5za;x7xrjlzF5%!{}gtOxVOYxOccO-xOEIGjb%M=Xrro z`Y1ZH?DG`{UX^V!W2ZiXTa0|OOgk5%{gUiICz$_#NwU8L`&+JY;2Jg-IC)8I$+Fyx(Z7q4h0Untj zp|QpG-Am%@y~Abs^L4dhD+M;=LOm$y{fy(C*Sk5QwEa!Xot&NTi-n&|vVE^V5Ai~~ z*4vkebKum5G#*3JT%~eZUCLSo)w74^6@x39j(5RU=uiC^;G$Vo!nFItuh+tgdGH^J zlg=8sG{4r4?B~@P&xnp+J5Dkj6*N3MmONGozbcCXGRT|QCIoGltz|I4Rv!i+upB7G z)4eE+6`apRVF2$X6Pekc^cGcAjD{{93_HcTGuQ{Vg6pCoTZrU2l z-f%ZT>%YSQO=fY~vbv-BofU4ii`8{7bVjVJ&003)Ejr7KeNk?Y#dve%~CU}PBJ z2hEwFTd*VgUH?$zyH7-ms>qPsf{uZoP2?|-atg_t_Y!1?dSZC+bOwV}>H~7#jPxC2 zfc4>>7U`dlm(wW`W>U+C3du9_6`*)m(WKcjAlNH3mKebA_8D6$<-YmrSDg^`1&!~i zH`i{Ved84QJlhskNBZkb1Qo5RWAb!3)j9*7Tr{FG|J4X8xc7Nne)_3$V|n@xKP0;2 ztW2NzP#ptU%QS5TC{ik9V*t?@KedURqxV@w%(*=RjoVE70@keawT7D+(M`<b}>gYBDf$gmiLjKs#V{`l7}cqrrCWW zMM_HezZ@N*Ja2FGX3R%9`T5st2{YjZFRG^u1-4CnURo?$6S^LR)Y#u%UBBz3-db_| z?BgC(Vf!HBP0*9GG3m3)*cj3D_&mk$)RY^_${Nx*d8|SmW^5(H$>yFJ6%&$o#9B0$ z&e~zl7CGY{ixev{nevcO3cia?^J!mW9KnEwP4#JY zzJy4;dr%m??%ZW}4{1wvTVq!eeG;AG-x$*)Q#bfgi~gIr|JD}_aIiL+L0BR8s%L`X ze9JB1=$RjO>Aar02?4@l-$KFFb@4d;jwGpu)T|^~Qw~aD?Oek;=+-u^w42fXPt=eU zheAh4Hq0X~13_$dy;{HHBvXV4Dx|vl#sEXI} z-B-%aH%yYQ==HG3;oPjWKxf+JW-s+_cb$8-=PMz4e%O)yAMAXHh`&}exa@0dy03Ac z6_tF-nb4MvW2(C!?iD?j?(H~Bqj6p3!7^=G4O;s02jsm?Tix6DcfTMe9*L!SRSoD2 z(^51IlHPj#^+jDpcK#vFdU`H_qo!Ru{GPmaJ=%=O#Y)jlHunuG&hwDCC!nUbWcHO#_D?8%1?G5zR}qee+ZQ?x_)9Y+y+eTpstbTj#ET z)Jf#JLFVj~!Hhwro@g@mTrcN2Q+uF^bFW zKiIOV>Pc9&^(O04%^~;$`>Cbo>3Sp>01NwMgt%nw$nV}r;9!(Abw69%P2qX$CRn7t zM##JKP>7)N=_;PY8AE?vraXUUyGoJrV56;Z!f^DLh7IZr)ydvr)T)NWN&mKW=4ak; z^%xdDQ&)`DyjVXTfm^#@&orm`o*hCT1%HB8pO?p?fi|Js%4s-$>SeGzz3=PTvyZeKSkx3^ z9a?e|T!64^DK@ZirMe=C+B1j;#N7t?RAQ|FV;My#UX@UFwH-P>M!wvvUnec1dM*vp ztVH2z-5T<$^HCFDeFJio7(?3=kv&&8^iQ49XzUR!k zYh79@MX~{(rYc^H!{e;z9a$bOysTZ7NFlp^azE;GklKP*sLtYiZ45)4ag#)7Y?Ddm=KCNL}gQdHE z)7H3#pS_2ANEFzPYDu?U&3;;w-=dUX%4*)&PD@*`BlQ!T)rVyS+WfpBa(_7lkbn3WA)5E_n1hP_07pON)no!%_;9<7hbz`g)p)NuKbWDur%z(kEhy* z8NJAF&bk_P=arv+6d`Ipq2re-Gqdi)V6=tOt2%9!Pd2_W1?P(NtrAa*b52D&uXq#` zC0>*EN)SpmK8@(whgCS*|71wMxxkzyQhtx;i)HomJ$R9IcZ0&VseC<$Zxlzvx7}fg_%(c)ERHrtZfmql-r-bFAgfYG`gQ{5`Bos zSWZcpXdfs0HpeM4`}LEh$sL5~Ot`aJn@B-+RfIu8rC~?oJCt3!d~>m%OEX$W<|{gQ}n z8v~wBkf~Y>@KLekZcy^TWqRbQS7mpsPokTOO|(})U$BF(r1@or=~R5tA*S?+>~$q; zFRQ7Es4H`idswDgWuOp_hQ#K&h4EWC<*e-3XXR32A-;ZDjmk`NZ`4vQ&rm<-dA|vz zfKo|L-FUjdb)uPmCfBE{RHiSB^KCfbCLq}6jmFE!gsrG#oBHJK7CK8b)Kz%L2jN3M zlg5_UjMtUTj?*SL22QT;2Ao!k^pv>JMeFE%jB%-tDtk8yNkXlNh!J$tH$Ko!SlKDu zbFQQ#T35gmVNJ>@;<? z_sE9!0;F#9iPIBprRDC2HBpEe?16PvkKk4Z4||!IAMX>E#H*(1{r0>vjAnMX^k8}2 z$I5F)tKJXx$7ZkIF2CncQkl*miKl9eA-RQIquCjg|2Y`K~helW%p$l^nqD=I>& zR!Y+q&nRPF23fK%$vkt5c>Juh(?OhO)vPvU$t+<`GeK%?vn3WaAnQf>D97zB2aDH! z24JP4zcQfH+4{XGJSRPL3U7(fGtCVH5bE9@`MOS-(UGx}pV0bw%{@mIe__a<^(FQ2 z-Q})0Wl7gmBS}&vEX@iN3_xPhc!XHFn?E!~g?`kF0X{YDlRTtRVC7cGik7hK>tf`& za>p&aT}stojPj{+=tJBP0p`2U2a~c%aeMSozWE|YfkRA8DZ>&s7!UL=iKUAXtO+1* z&uZUoS61kvhkS!;-CG=6=piI^3{)DYx+r2drk<@Eptf2p)joiG+|_1y02d$|)Ky5-SZ8w) zk}tPURPWzjV&Y-1N7u-YBN+YJvAlm^(PeJ5IF|8>NS$y zgOji)%*(1N;ZNxGN<3xxOf~zs*S8M0t4+*9L~~>tZ792vsT#jq9!n;dBE0V6$mGk4 zUl4kIQdKru|4_I-YOdOakolXDr$ZBqSiS1x$)F%dl&es22Yz+f+0XS2=m##zo6mgm zvsVD5?1AlOb`zm=@?MvTAbOYZew%K6^%$vKjIVESqsLNpv0}-ZqN^Boj^px6gD;h5 z=5vNWi}q~ImN&TgI}yv-2=CQZ5Okz**-P6ZL38K|7{--c`*IP>m8_cIUQx_MtE-e) z&g`5tNu1?lXI}TF9%zm@Q&)(ay+h-f!!v3xk>a*i$Ow^*5;*C_8NFOj6nr(@cndF* zA@2-d^A@!)v>atOHp~GA42g*IB(*N%>>b*0sc-2OKiDM2+sV3JGFX)*$%Y*RNtGYs z>i1uVX(4_Xo?IzZx0ib`m?dVoV1ZqTCql?!RfEv+KuA0>tA?i zKb1=hd~|s^11dk1`rl)w!vGWaOA`uLH_SC1vO=M%bXlP+z(1#=as8t)j{CLe1F8Jg zjmlZih3;YZr%0;y=A!MW1<%rF1cO???aP65fm}}JO zo}-$0g0$^ME$DYT8i-1|ie4QdjGsC5?J~YHab%iN0|sM=w8!xWuz>Qi71<2_sdH9s zEOI!x@C|95G^I__*lQ-R=z=9QU0-*ipU->09u6Je)wQNT)q#rD1EGbgYQ1t-8;9&# z*vfc%8g0S5#)edqPW~g^vYhS1&=gpbMzfyGH>6n9A=!A@t)TjJm-mT9d0zwvo(6sC z7V@A!R&tWvZ66$YbM|yc=ZoQ^fhX6cPt;zYF`NdRpbaWV&K~agdzi@V{!CWLcEW$* zwLvp^F65PwS&AJaogfvXVeZb9oU{<*6|1)sKEo@x%tY21)F(++_Ucattlr4`W&yNq z>TJ`A7~l@hg_)z01Q!5(ZtGpvYoT#B1yx@ilm^s&qK7IAtHDAus)La2h*$x>h)7_IgbtmoP?I9IG8-V zg?&QlfzT<045w4|_TuIG+>2Ltwb?=EVE}XFu1stMLUzwSC^k-Cak1N{^gO*jxRx2h zxvr%+CwON&?o5*{1Am>){LK{%u&-U3QnZpm(pCS(tBJ(xhNN}9`ab-w!Y?by?ADdwh~8KxWCwu)!gJcp4X;J2{+$5R{$Y{GegAk8QUza z8C)Zeevi4TI--B-PM}-XH6nzU^OqRk*`E9Y{2XM_-C_q;zRgf4oe#TBT<2ETZuk;f zE~V@+1}s6sjo6?YXC@!Sq2}#+9B9^%#gaALEnSYL3&fDuVvkPHOk){mejr*N;hA&bTm5bUReBvm(08XgzR?sF%>^+~8>Lrr0dmkl1?X1-J7Dy&pYt z77W4P-T71Yzdp(8XU~~?9Nit7>Qr}G(G2VRd87*)A#ri)W8M$@KYoRb+uc6u7F9w# zM}*t@OUqj7@P@9-Fqw46rKXM1*&O6Dz-TSS>GNN-sHg^D4`&cIB=Y8P-SMOjRHyk4 zDCVyAuT_7wCjxf2B8a_H4rm0YXB5ljtX(H4K|OQcQgacxDFRU>_NO%e9RF#}SJc0( z!F-N$qs!R{&U~WQybKp^X_`aySnU-Kx-!AbHk5J-q_&*ja}YA?EDJM~VgQ>}V}S{N zw;%VC*XGL+k&P|^B}Qd~l{^g+Z^h@>Z~6*u0E`sUZBOk4xiEkT4|JJEQNFexCa}So zy}SIP^F2CyG(yr>&cJ;~^9y7=#r|;UrDuJG;tX4a>FbfTM!)34qL;-R<|_P}!Ybf` z>jv%nAEv$Ng!wFx;e>y;kPIRDV2I%t=@QU8Sjy(UKB@Mi(b9u2NW%gHG_dhPa`jsI z+K6nFaCrz0kkzw4ri%3pfZ`M*jm?#;8teiJZ|6!P1jF@Zk$HyZ4 zjC5w;k>{n|ksqYdBg>#k+AaCpBsKD)A1V8RCP}tB7Xx(2a<(5+0xRI2s>Cmj^XTni zF6d_dSe`pequmr6zv@jI|bj3|I zjlzDo?%#g(38Yer7gUP%f=Y=FUntYX2!k#EZc8{T??ZXQ$?CJ`@HYh;*@JyGZ$8xD zv!pb!;(vJmF>6=#{>g~VtFpENa)LrGV1tcHj(me%gIpTBV6%PrT{jd-yeOTak|(r# z%b)ilpL#MO1F2b>xL!Z`^AXosTZ#&l--JU=O_Wcl^hqU1FVWt^VnHsq>Y@zw+LM&f z8<2U1re00?0t1O$%RPe`{zM#TZ4$W1HoY`yyqb(?gKmX4d2&Wsf22dV4UB6%>#yzt zX;AwauBU!$OSLACqQjDmsqMG++Wd)@(mA2y+*D7v;%0Ww*!047(IY-73N%dw38gKuC8|E_k z%DybgTz%xv8zm)qRpC-OOc-xY`lZ+`)$qpwa|%k=S@v6kQd0vbk@mTc@%u-wT%h*E z7KxO$KaSxLhWWevG~~WS2V{F@Mep=h#&g>;eBLluI~5B-9*MkK@U`}kU0F`G*;LC4 zW%~v?g}0YVLABexd12Y4eq~9(tQuBdK&XS29ZL?+!~Oz2NPau&g# z(?5t#_z_2ej#!P*DwOfej$i{g<@SHFuD4{qw|8^LKL+f+!)_IVz3BG|ktEerZo3E+ z$?WAo#uR55xeHT4S~3X6`Hi8ao(oc|7^j8GN>E7(ktV&x$x0-R!T(q=FrsF!sXCoh>e5Ez+&bd8ZOk+o|~++L_ zO_*TQCG9Rd$As1FqMiQE$f&p4xL>S&Zu1A+F8-P5x=P(vw?~N_rOw?&ua^6TuF)rT z5XwD~)Rkh5?~InRGG+}+k7t^+wX)C=S{tbmxV5tf#Q@@)R^jn+BO@WUcC~II-dK|v zR{Or9-6A}#>?Q42yY35^Os0IPRFH(%4h3ibWO6UFeeCe4fbwPdZQwd^sX=j$D2(V8 z3{o~)i|($nkBdCEI_LKl5j#2P^O4($4&v{vSQYb_zpcW0T8Ic(^FDQ)Za~(|(iZQV zbAAY6U-q_snZUcp+A}gQbDQO?f(nVhb+TnS% zB_!ixUOs3z*T;%CGaJi8m&Te~*)}z3p((x9@1+y51Vl!b*wmaf2q{5 z66mDax>_{z^E-RzdRdvvuvA#toLB>KWlXiQNq1kWIzFUXZg#yqjRC}F6c?rnNqPoKzX<6BpznJgw5ZiFea_^tbj5V~o&ZyPdqxHW-MEovlNDu=N+K6zn|W$^Wq z-AZ_NezMi6^s17uYq>N%{1Gdgn`~H#gk%BnT*3nbOAVH&`r0q~)Uk>Y%qi*-OdJ~y zg_mVuGalB>U*EMKzK){(89XQ@g4fjOJd|HhqEJVgtD&KL6NM0$r|mfkrCbwFrW!bp z{;4f0vSaFZt8eG>@F0h{){U^A2hJN}s;CiN;Z=Kk#sQkLw%pMZfX8|XLA+i~%P?XG zqso#_a-=kW)$5{+_F5Q8DizRAAC8;vBDt?kYiXdZpDu0u?VFQUdd_gw>pZP#2H0u$ z+xu9rA_QG=DBJT|`J!q(l8U@FR>zWHt|omITSTk(KbuvA$xh{%O-k>R*;$JzNIL4+ zzcQe>e7O7Ow0X07P*Wd{lyG>f_-b_jnV+hD#o9p3qE-7Fjc~1xrkm<1J-x<-e6|$G z_&J%|!oHF!={*zl@lOT4-sXln_DiwA#!+}JhNgAs&U(b;x3QP8N05OPM8(#YI zVb33<4VpPiGzIw+{ipf4yKzAa_uf2#$aXgk z*z?uDs~%*ZzM>YT-kz7ar9PBQ&T})zg>FQuAaz`ZHZpG|1$*{qiHRG{<1nqrPbs6; zrflH9H*J(EXBJSrScYKC8iZ8{P0MHcv7NvPM{9rBcGT2>)7U z@phA{^t(KhJq)lhADEuCJK|vLfrijwKH}GULk8!+g z#ky6PHf~Z`Z&`a+pA5EPAeHGzjOA0S?I84QE)$s@2Gy0ahT-T-kap_^#)>>x)#g+7 zzEZT}MHaA%6`W{I*pL(M78g=7P|} zjmE;8FEvgdm5dk3nG(r%YWcPGwj#JAB=6`Ajj>aBsk?jX#1zGK-oG99Iw*u}$9tHg1I886m!;8ss58ykD55jPif9aA52kR>U8mT35v{fx z8WF8;>eXs1Q?6XrP&0kz?aysMG)Htv#@dnd(1Vp8k}}nU_D8humD<_g^03Z8Wvm*a zC?Kd|{jCt6J1)6)uKGMG4cN=93@ehBvR3>mno{ZowPUSg*~+LMIq!>XKnoqPHlf-35~DaJ~^6zdv%x0@II^uOPe*AWvqzJN zAZ4THX~L9Y-sOU-G{*j7Whwp9S#>FyA~e|!UXbBqsbS76-L!A`$w^!^MVZw*)d4oU zcLqzcjXpz3OwkXPknipiT9UAN2((Up)mmu~dPl<`QC04o_)vT2e9lRFHr08Z1bj9LB?X(H~8RrSFx%cR|UNvxAA}2C<9-K`gC>M3tx3&!AK&)y%M5pxWa6ZWu zP(`mJB9{#kK-wUI_QwFn?EDyjSl&J)oyaJl=n|2VEgS>PK|R!B^ge)AV^#8_MLqAQ zOSR1 zWWafx*p+NT23Y!IOmN=V+=GzB7~0n z)liV+v0Qp$$Mm9{B>r&2T4g}bBI))N6~d4A97-DsY;H72HcBT~!O^?h(zCj^j;f9f z*K(+u>O5eJg&X02eAg$>s6@urnPiePC4V;JfiUGXY?fNy2 z_l2?3$7?N=SNZMH=AE5r6gy|)Et4%2?bx*{Aj&z!wkivV@GeZz7Aq3m-5r9{qQwirA!u+dmJ$l|2Q5x;4K4wK2Tu#MxCVEqph4TB zEtIyG`+wKH@B8U}KFrx`X7-+E&N^$I*?Z5w)qh)fjM`yd?s#~5dct@Q@%~@@JHeyY z3WfN<@E+h1-m7i#@cw3=d!CKRg2e z@qZh5Z}A@dU*O-5@bT~Ez4(7XfKPCbdqMcWK|u6BAo<^T_1z6KtTQA-w@sf9v(iy|4{ossS*%Az$d~ZCVBYi zf7JKl|5)%I;NuYx5)o73;XkdJ>xZ2!urUQ~wVW>IYmVPA~q$yANebCFzWxPJ`~}roCr+ z|Ay{q{ZB&ow5ac+s8g9bbN&d7&bVLxeqG6@|JL!y?@8lR6Hwo~{1u7(hd2Fbzt3LT zHRJ;Qu34&CJXE(X+)T+mxl=EVjf^471~-?ZGQkC1q3oV+T4*sHYZPi=@A>79{QI)L ztK|DQ#(si);z_!*x8nYt>o>B_xObjJ)6wnEXwF>A^}Z^83;AG-C_1Hm`coMkFdGHK zymJR1PU>$JzOrjgQ%hR{g7+?8fW*Iz`!UN( zq;9t9=GULQO5cyJq_@^t`M;T@sn;wDPqNwrrA*38#!ebeJMXpl`WH>4kG$P9uUskK z6Q4BjD-hnWtVXdABQce}u`|n2dKUrZ2ez0;;uiclLcdxyj21{!7xf^{Cnw9H#x4H^ zfAd#DTmMn~G}qbESTi5o0z(0WpAR;3*N)XVZ!sAA*LBGa?h8#>$)TVkcE0)r zFV+Ad5i3SE4ew)kY$j{h;d$#MXae&dk@)HuZ$%7Jd!Q7zFfD^t4P^H@9o`^ZBnijA zJI0nBY*Cn@~B&hb771UO!j)BH8SofAcq^nIS*fV1B?#>C9y$ayph^*tCE8@Ug)<2P*gJ3Zoiy6u1Blpxnww z9_I_q;xx^VUiqydabiJJm$iIXCd`?a1>8R#ErcVfAMCI8@0GhAA#+x`#?1q{l*Xs*f4%G)t*YR-!EToKP)uE0tBY*X^9l zi}3z+XmT6|D;z%Q<-_6z%wLl5OOCj9xv2BTRkwy;6ohPF2 z%o8#%Wj2Mah=6lVHV@9*Z;hnt*{Hhb5Yr2%<7e^~uz(p;E7{}XI+4yey0Q(=q5Y6o z?l_OjLJtj*SauYC)N{nI`wV);Qre274L2T@w6AXi2hbgKaUpQEI{ANNwya zpIoQqw3K_2dlqoFkj2~28-WZKY6CQ_{c-*rTA|Q|ZRqxWM`Asar7TM->QRwbsa9jL zmL|qHgi=F0idc&0GHSF)-hKK(5wF>EE3}YrlBHQTXB+XIf2g8e@w20~x1cP$SK>>O ziI9v_KCe;myDTidkNCEGJ}$D;o-nEBo#JSv$&^8KaNsIpxce&0!4_GZ8q0c|>GVnl zvFSJL6q+=vYn$1nKFDvJ5Zn?|H7o$q47d59yigpH=@BKt)2vESi=apj(yYoBoO0iY zT-km3OJMb4HN?H`C_wh(Eqi1{@x_Bq%=N_*0kHiN+c*x9wU%068BQTj+=zJR%9Pn! zoA2QRH`4S3#DtGGbG$HnERkRu@3Gj!g$Wxv$STM@Uc~AZv)EGz=W%PK)hA!ba}P=h zebT{_Y}`B>=;hniuUhSwFr1`hz|+eCPI)o?JkK4# za#^AEAf^yet|K{%oDaFNm8T2DZs@GMo7&V#Gf@f8J20_Bc69z2gE} z-(5852M+9SWr53m=5Hw%yH-`_1Kb52`qK9@;mA%F=QB~yns!#E&GMd8u(gerEyz^O z2t&QBM7nx#3$zQ9*t5EniK%vK6EE#(zqOM@iu)o} zP7N7{jY%5%OSR*TCHTw7`aVeuW$8|t#d!84Wtfkx3u;nIRd^e+RdUq8uI}buu!1XH z!w6JrQskvU2S)9?6IH(FtUATECY4%AY|>Uracd$Z%|hkT8aIa*d2=kXiq{Um4j|mS z#4w%Ok) zVb|hEzV?-XMh~EyzkQBz&!lE|yiJKBR*$MfwZmJUr#kc_ZMcMV`9Maf>|rW{vAa-W z!-*6y!*EzITdqT|u?2nLex{^v5hy|+rC;zlQgLn2sJ^ROzBs9KVD*)+k%zDF;W3Ys zbZR~{!L5A}H9J+It1ralF1V(FxiyZA_@v&syutm|-`nx2!cSp7aoybYKU@o-1jW@S%{P#&dEv4T0kl$DT@k`&5r3OZXO3kgzCNM(p}pNTlR)SJJ)_bFj9-86f|GO1|PzMQ8N{a zT-trf!9~Z>?Te`fIlfL=P$~XQ%-q%rKTb2x@MNwKE5nw0F^)Q17ABgT!H9nI3f559 zF(EuHGqawVI9Sr%ePtPIOpb%9XYI{lyQ92Fi^a0b{AY*2#q@`&rZtk5J|I^bPbc9V z?Q4R@q|@;Y8c?Gl;pXN6a|IbxjK#qx$yF%)_Leq(;e<{8+1g znIB`%B3LL2C$(ZWvsodcuWq{y7HY12YM6$PVEz0LPy83%3{tIJHix+tRcbYT*LZH5 zyFaH_w78CjtY+w%4=sODp78Jwm|oObXm>YXjk+XL-8VafwxX44nlMig_+&7w^A*O3v9tE!69Qf7X6 zhuCk>G~HsjTx4@+%Cdk%$cC|qT2+N=B3;{Lr`RKXB{{{A8THdz2Rn*{BBV?)Q$vS} zcyJG?yuxQb6=%k6T7`s^Y@@e1%R?Z0%Jf42pjCSYCZ$`seyhR_^C{M@L?Q|rD@BW?`dC=aZDnWM9d-DMp`&@CX z%Ki`&YAS8m^0uDE*iQ)SJ>vpqumcDc!!8&6C@t@-3PZIM>Q2f!-Fw+`&-LjT)}>*q z0W&m1v1zb5)E*a57%OBp;#)()QC>cs>6VDBgTk&Zy2HgNP%Y#q3)(Awu4cX>i44_) z4K89uxDXN6xi*z|mEaxTPX%>43SLGe-Yb&Djw!Kwb*@nNHk(Exx6iCY6gorebjq4I zfBW@s{vDWu%Ewi*N)O|8;mIJ)(w5!I^}yR8=S;Y;HMY9VpORmjX`>LU!SX6ELahgH zuP(Bb{js&I{%_SZf=E^k7{e*T0ulWfVm`{^2~-LUYBjVkEj>JYvLKr;%?NM@2%*{;(-1a!TM~92fi%( z{s_)GRr*-nI*HsH)Fiys}5 z$<(Q5o0kLtCWJ?+ssu#&V%+6iL~NH7d&6?~n~GkXgLTE2wGP_i+sn{Q^Q?$u_X{0B zT_l5A_b&%8P>r{~CIR2N&BC`>;+FRuqifFLYD^lL=uI1vxhGNl`G#hv%iW6U}T~u>xlJEfAD?_#=h4Vbf zhcuExSWjl0!s?}Ci0OW-a?K`*6#QkDUipQNRRGoGiK0?^u1%Z_i+P#={M++`Tj6ePSe?Z!dKGbn12zI=$4DQkFYc zD(AcMVhlrlD%)%e#!p9<8T9S&{y#hItgfC~yrW*+PVp>flviwWDzHMP^n zERqX>egozb1+@1Yn{~KigIduiI?-Oj*~QMFP^xdMBbQPu(_bVs*`$s@D9$+whB8G4 z2C3oJw*@&g#|c>fNMR6?hI+}m3PtRUL^n{~;i^>maDH7|mN)q_**9A0 z6?Doxg)K$9wLZ%w7)$w)R{kUrxNDNPM3RC+gi&&i4xU~Da*=Za{eO5^e!_vm&mIe4%?l?rAjT@IkH5cuzRA8hy~->>JCR zj;R4+?8OSD@7BrRMgpK03~xFJ&qo3B8mNF`Wcw*oinkGurVeN?`YqpuV_78Vg`9fZ zVGZo>IzQvbB!`OMrgD|l78m?3$V7|7$H4~xq=Afm>!EVES|r^DM~z(O+5OJ*cY=)4 z$^xUem+cUOu^|I+I7fndq!YJYpD=c0&?Ue+10QG+2O^&>l1F}L9+W`4MPD40QCXxbt9<{ktQyyX{G|znx)KG$7Z?iOVD_QhwS#L za)9Bkv{KSxQ$3TP<~v!-e|TyoQD6P%5asC@6|>*&E|}fry^U{al^4y91Q*Y7WHmtG zrOMBu<3R)8ThZx+{Y8YQi!&(z=?|fxXzF!jKK~Qu=mE8$8A{d`Fxd<-qL6D=rQ*+i z%rnr$PeDI6Cu5GNuMIlXuEe0M8Xs0_T0S-DoiQ1Yd25id`l$qN1XJ7mTsZTwC|JBf zqZh7^d_3&<(6Y#SpkWiZVd?X@$~!Y_>f3BlvFPChs>vQf=Yg3W2ekl`NHr)@ZEN7%{;O)o1OXuz^zVh^NJG686A<|4)Szo43yjR*L1CAz%ly*b5I@0@nBZ=G%z174^<>wlJ#ya&~-?diU)?;7Akw=lV25mh9SYdS4x4r_m&0 z*V$8>V9+5_HfP`y=Wn`?s2~wbABHNxLThbcNJCW7I-+T1$Zy(VE3wAeq53^zcCAoy zvVuj85wPefn%)lhIW)fHx(1;*Yg zMhGxnUK}%Zax&16GdyNCZ%{tn(`8LL^pg3vh^R2u%!&+cNEeCzo`0;@uDB|0$X8UO zw}1=JQQ+>yD{Gy?$+81+aSE1ZfTN5-*oKp#Nk&va68w zaIIWem8$@yzMUGPxh|q?mnJ7t6(Xc5jqZFk=__@swO9O~%iaQK?s$qXZg0G5srE2& zrI6ZXBu_0{L@t*co;J{%0cUFqe_p-^lNXv8?}Ai^>hHJDhjI~}N%h_JT8wyguQv*NGs&An#7s6tBZnKCvQL zAnp(=7LzCM2ZlN|;Fy%DGqx4C*pE8*CE*oY5j8HU#{F+@bJ>~b}E{3Dblna;j!bTv+I({qqS|Erx;j!itfr)YLH*%Yd$BgA*N-b56A&ZNM%(CBxtRcrSB$0hn{$r5zZnsTXB&`k z#p|uv^Ej;)a~0+%cgcpx;#Z_pBJv2obtS=me0KWf&)7leL(G z{il1F}F1FAc@ry=6zFW33JM%g3+ylb2}R9?|d`CJ%9?a~Av=ETJ-7kgseDS*Y* z!i}Gu?396TfaBL!vMvlIuC)c8a)BO-MR#%~1BtX|=sGVt@Zu-!q`4iNKaft}DsQe& z?I(KAIzUigq`!dQjb72NL)VH*ai81Kg~wG%kx_GM=;jCAUcEYZtm*LyEuIOMbJ)83s4Jo2Dxk-Ci)LV#0KwjgZ1eM-A18 zu!h1^xz4u*l?m6f>lQ#MdmHTpV;OAK5M?yMQPKtZoaiB@p|fJp zmK0mXll-4eeaoCr?l%!_->bV$Wj0WMYn}fV3rK={TfcJl75M3)4ER*2cCGKF(SO{M z3vmO^HY|YeEQpHhk!*krxpF6CvX3@p^^L1p|9#;;Dq*Y&x@8iyK3SlV0=fJ*^SPvy zDF6QSySJXEES1^LYtWd!Wa$0MuivmQ9z}UYTDKQsq>J9hEASi>qz~Q-*m45UquAu` z#auE@ZjFQn=V_3iB9sEHYmMq9DpUKsZ}Nm|6jPx&6aZ5L1MZ6Opq{@IL~-u{1Fbun zq0Doz#0@KV$yVbq0lD&+=xShI$hVN?4g*>ZcWM39;gK9dOSG-L78_Un{SBQ-Wc!}g z!_9o;nH7y?P^PqVigIT(v+lewI&?!neBU3!VWd{22z#*51ZBx9s_)ouIkRxL@YZ#H zT$aZLB1`j&SZ}=z550IqlcSlayP@GFObJ@|->NFu&RFnZ>aVzo^RnJG7Vs(C{Ehh7 z@U3V&NnkeOPtTLe|E@Q1VQd1OzNV;_#g*V!6&pnqDJM+54BXi$@}=z>*9lCSH$?x; zMs(aX4!A$0n*@*Rd5jflq2W6pUY3=RcyN14 z0}zN>P)W}ZYpT?z_wWIbK>Z$ma={Qnu!K-!Ox9GW9M&X8_HC4xIUAK~qKq4V$@f^8 z!y2(mdt1b$7O$!RC`dwWL(_7qyBJm6V?pQ~@RG z7jji6`RtKpPSeHWv~dfTf{DqUp)9Q5B?#6q^`zv}uLv!$fsW><^V3TP+KBA@F-xOBxvrwg01sh%`!aE(jT zJC424v*BHwd)=OtbJ@9r?K`7!i?4aoN4~)n1a>V@=ViW>q#9cvkt!pDRL2j}jMeXm zc>Ij5KA-_JX`xxwR9Tw*LMl-CrU&?(CCm)xn?sQa}DKN5v}c9#Ld%d1w0WM5}v#>!~EMcK^lM*dgs# ztHL#ScLEa-oIbWM%x@|if1~B6tTVFa3KdS+x9GkFSS1|dP2QhQdpuxFO$K{vBv*v; zRMIp7sUUIld6J-pNZ<~|5qisA z{GsBMeo8qfwpID)UX_rGmt$hI#r5+cu%)56i9@;7bF^%dgOxUzx2vC+6~LK3{je$2 zZM>WRW9w>wtj0tu(MH6nl86MQ&1H29r}j*oQtPB~`xsK%{D*2PntR$h0} zMjPap@ZDpu`ib5|69jcy%v32~2;!JZHoYp<$z+LU?#3+q1Gm@ zTK+-Nenao;Uezdqv@CaUeR|~^b9gtxf|_YVtwzJ7yW3`(rlP4Dr}+}KwKBd~RAqF) zeYZEACZaAo%H!@bINOpiO$i-Z2X0j`urArmOI@3cuK;C`oen?|7jXVEhK~Ke)labB zC92GjfzYr0#nb+RpNcdJ3&$|?Nv6f)&5FU*uCbUZZ$sI2&>)MD&Xna7-BsMd@Zrb) zV@&9Uz2a|i)gJjMVpJ5=hlqB|L#|%g3YA)-2gh%{kUTYlohI;RXMwj|1Kn!Pm(;Vz zKN)P_l}R4y@kiUNh(GqNr$vKBeV0d#wv2H=_y|l!Nhcfhay0R!S=>x8as5)iX0ZMk zef2{5S{+2gM|IOp+@}yBxn;y6oaQrgcq3jaNvW8PDpEze8lTCFF}-shXk%j6eCO#i zo%kh^-KCqO*yrLfW@0TGD$G|+w@%hnYC5yDr*tzml*>HAJFGxscCoNfvb;q}E z$Q>GDLD6WP_c)=2OuV>FS!iD0>kvDYC<409(rp~RmYjYVy{0cALKJBbU%6MT@W7&O z8_5ZAIjsbYtkH4mc)!&oyk-b#y(@=y$3Fshp^Zud)jPu)OG5uk!TPZo%+zFlAA@)W zFt)Am3A#+sl=HtN3s!$2#p0WjWyW|}*j(78jD|f_&f?+j#7g(ZO4TBA{Gr|UuQV?d zBVm%CaMQ}wNz+ZCYcU0gNrvk9qDd$$bf(;0FWt|t5j`B9Iy~m&XIB0WiP2ea3yTc9 zzj+Jxeh?_=*C=nvirb*Pc~4J~x4tLdAs%dFB>P=?#OSr^*K5Wk3x%m96pOV_8xy|q z=KdbUP293PQEOk=ncVwoU){saA4VFaHqv_c3vEw(C_CgAC|PCl2|3f`2O0r-%5E42 ziQ5%5lDDC-xvXt00Jk^9F(*LZg=S3cwjeBvlhFf^w|;Gs_xwrV zaYA8kMic#~nIa=Npf-kI|4YAPIctU&7+p3}76lQ`*YLL3x$3FK&m#X)QtuLp$ zh#9so*h~pO4IwM+&R`5G``n3Q1)AkZMSU{lO$PYtnYo5sv0_7C(dZkx$gFPB4=sOR zc3qIvl;&Q+qT&xO_U@ue48ANSS{#&?uydAUA694+IM%23Nj--f+e<@dM$+qe*h8n7 zDa5iogMdIO|D_P?|bte-gogmAi^K}hiCI67&7!m zf+KP4`tk8z!Ca-U4OddwtjwM^z^plWMA!T45--g_kpu78#RpCj)siOd2BoHc+wVbiE~VS4NK!-I`^0Yxaa_n_?alJihXtpXnzOYr+-c8$?{ED}}v|+f(`oS(Y6(Uue(ezn4Dvg0Q zIdu*6iq$c(kkCi8Z*aR>N10#cYjO=?0XL1NC? zcf)iMx4qpxJ?CeXris@?51THDoFWLPh6hSl-6@v@N5Z*>*>+&=uzmi6f^hBs}t0Em8PVliax*<16$hkr-VMKpfY4N zb6|nfysMd-&oj8)#`bj@BH~BFL$i_3Mv$*XbHuekkRYetlX!$Et*pvx1Ka#KFXveL z?!Wn^$1&}-JoG)M!(4GHDb0@Y7Z)m$cM7M@Y)4vf*WZg$db0DwqBNR>7@2=~yB}_A zTL0mV_kQpGIr|UK>6+~b`=a5{`%G*DvFOMO0fc&yF`Nj`5lb~peW{D(?^}AD1%$ce zvBS{SaVmKuc_JMeiWA2>E}~+)L7)S=9DY|gBvXAyy2)|y28c&(yCjMZRFX|luhX_XbrzRC>{D~R@Uokz*@u3B?7_iLbhjUA(JX4`pNus zv3?N|43lH`Eof*E?AZvp{P-ZMCX3qunJ&YTC^)8j0}8)e$$RwUfoBoTXUsv^(kLWK zjAvXl{e~y^r-Fj%-m_6OHIHrKckVVm0+%W9cwz?G=v$AGH!N6qVIDmFOp`TZhE|<| zcV1gGQ%^SMx_%)Lkj!K-JA0sLEfmT7oGE#D&$@V7VQ)OrKBxYNhH3w#q34`iw(WZx zu3W8NjcxM8Pi_VJKdL$Vy7n|`!q%qdRU+12e5&N(BmdQXvlbS1#9b05?bKg-wJlcD zam7^9togYq>|D3bS$XC0Hdr*zcKnPyO|(c@0bSKRa~75ZW9MWhM1`q_r~LY{jm>>7 zw8N2FG(1s0QYzfa8>e^o;p3muZFIk-51BcQOA4Ql<;&LbYblqiAW%)_hn9bM`aeG` zpBa9rX}MNpAC>+S--K1`Wh^fbYt6*h1C!yxlQynwL!q^*`~KrSa?=bQY4lhLkS9@Yef1ySaRexA-6%*v zk%+%=xZrq;cJerQE2a6cxZosm+F+E|81kHHYoPoLzdxX+>8jxKjx;#Gs)W&z+wzwq z&5sBbPpMBB+q~%XQrgzDrhw5dy2N$MEdvfAF-X+>-b7!o3q;Q7n`)m+GHsUPm^9V8 z!xP#FH+lJYhobwY>%E=4b7Mjr38(%#{frGLW@Ze3SPzU{p?ZdF{Qa^&u}5QOWr=mW z^GMg6kWos1)8%SibhjajF+rBN`{4DiwfquNK`ghx`D1jPRvv9ZMp zd485+*E)N+m21yGH9kg_fHG(h7HpG~&Y5GLZ15ZYYsCS{QR(|46p_Wc8Q`3jEfzZP za;Ss2Lj}zk;+t5={=os*V!~9V{j7JehWgC)SI7EJh5$HB>-#@EQn=y*D@3O^PDjns zHAs(EWnRg9Ve0I2f_yx)Z|v2Y^(u^`nGUKEpMDeA5Ady<@U_WKpAx=(mX6+54wiqn z%XTa4Asf^;?g z!?QpCjjo}73tDNmQ&GUo2*?zOO7GUcGu>bG8M))}56xlLR)G^v1`d?{H|?Gz$cu72 z*P4CW?GewAP$3#CRGc5jox!XrYDA78_$@&t#Xwh6U#KKlJ~EU`^4+qwEy!iy!ClCR z9I?OvV&yU6+-Sy|f@Gq0clRm>!vO*68Ch9(E)N7@PPy?j%=k6a8cH{r6Q9;bs#8Xm zU!elw3t`@ghMry}3yo8$KSvq9YEq&xc4lHMU()B0YEMM5z6#Z(Yyt3bR&v1s^85)t>5BXgJ$c(RX4#o>u7Fz(LMhvfNycAT ze(;OItnfd6y8-k8ADKwtXRW)#hL8y*5P|a7J6pKqXX;fnXq;8-;fP~e)Li~haqY-h zY*_0|%8Q5dBS}+p;~5#k4j&Rt4n=hO4HkYtp0+S4cqPV%Gi#mQxq`5H4~Fv%mr|uZ z(?=Nd#1q9?rEqzNe*K3xx^w*x?`Ed=^2wqy2n7*UI7}&%;jVmyU=osv%+(RO$gbVp ze6qY}eUP7-w_8L$&$yJpm{0PF%U$wY zQIlsX4;oa9!mMHD^!sI?E9M|cNT*H~FIt!HMdpsI^$7=o_-p6ltb{VOzwm1Z(a$>R zTBJt8I#KE)MC#Qif%}(pw<9{1+~^@({}55U`3Ik#1&ICrONfsC`2%*imEl zZIYK$o&*_CC3I&ZyCQY@Lx9~e?wZC_zN|}80Y@K1gqCiDz>5pCB{_q+ZZaIh0p<)E z=HX+JA(_9x+P521ckNFarDQY5>11FWok;5kJ`L*aF#$w!&6=@Uv3~~?nT2?QSq?s{ z37&~cPR7U0alfxqXFa&%d8zWs+y{#+9mnU&XzTs&n)2+2O=TDd4+}M<@;6D6xw?Jr zuLysD!gteMS^cIXBgn(4FS(?RqMy;uZ*Rz2Sa9Ybf>RZ(o<}wwkfW#1uV}H5p|| z^Hgfk`ZWjK$x^#S+Xg42mnabzu-v$AgUrobkN6cN$uh*%v=nT;YGaep#M>&@=y+aR z69!tYbl8`8F5j6<#{S%@W*q@5v82)1d`_S0$f5{A{nj_FLU;K@3ELoxkHC6gQ*Ch5 zY1{;GnL70>AOu@fLQ{aF(i@3@1xb5MmbNfDO!5%Z#&U;WW?CtZ?iivIo zcCS}Z>B*s&t8(_jJ2SX~m3Zksqn*YkK9)5s<;9-S4hlrOCO}33S(0CUfUHllZcg=i z1g=v?g)4UMAYuofTcel{*=5g%(o(vAE?iZUlFznIGAlu{0?W{9c?GUgv+&L5GOqfgW4FOkgp&1n34v&Hxq{>K-e9~i&+pi8B3Xg^{f3#+!sqpi zEk>jZ!kpM&(#{t<1|O?VriA76IKECkZn2cGo*3X@(N2raqvzBAYXj8b3HPx$?hr~I zWEp2do)6Fq*>gYVBXJXP!k#{9a{7m-z0&cvRWvwIfUD^;h3-W~e@3HdpnBd`>f~@v zMhuG4j}Rs>IGOySVe0Urial#XzUt1;GL&^AR^jQ=BzYQ}ya`7PG6 zhDAO{l9Vvd(E+p#=I^AVx9W@lnLCF62w4wg_2l*1+TzR5BKL*Rl=xz53_`GAyuH zC4ebaK2zsxsnHs9zPr&0Ec7z{IWTf&v1jV5hY;Hfq2MnN;BL>amkDP66o$cEw#VXn)ScEQqS z>bdkZ-qv#(FAh_XAx^TNWNc+{g*grj2@<_A3rjeE@_5Ileq~D@J$35!g@^AvN}lU0 z*iBUSVqImbW1NBso>S$fCYZjkPcNmDX}0sr`(caSsuDMx=gHVZ_gR^tW2~0-#je+x z`ana$eE1XZZv<2>6A_NU+&`}=Z)ml{GuQ?AbXN+0EC{fn-K!kBr>M%$C1A?|argDv7gU*G*PtV z!;0RC%s1Ttx*0!)QHYP(LzSZE45_*sM2DYtBO;1Y^q%hX!grjBzG9QPnT(oVE&VDT zT^$$AvXp2X8;d{toGE=dNu$4Oz_ZgenaZ0PH3Ye13 z;M8-s_I!m4R^NF40P9~iun-fXZ0U~ImVZl6Uw2M^|D*Ny&8I$@YS9G)l|-JAK^`ur z@}bA;`oF!rflJ-F+@l8Pa#V4@!eEL`JYqIpNzy*0nZ_%@)Y|ZZ=k#>^DrjUBb&gk$ zHrwNr7uHDS(SEnl&u zFVsQjF-I=bS>-?j)A^6{fFPZ?XZ)!ubHiGj=)PPaTDP6Q*Z0@zT0ABOhF)D=X5Lma zG7e1q@h;wZ7Y}^hwEUWMkX8DB%S3S*||Rw93d!o{9G z+ic(;$5^KsVsXt+vrp3!=7Xyf=kR#{j%mEnlTGGNe4Unfyn9{H;jJ!O?ddj}o9P8o zl$LI-411&x>}BHh^yKm*26A0pJS1Fl1{-BNK5v=r-B}LB*Qm1cwsf0UmARhjTXv#`JZqeYx6p zOG|!1&qpjDW3$0cXq8cx$}bqF(W9o4F;1S(aT<7`*N{&sntS$v;J)EYXE4GO$^As4 z`|9*Kc=?Il-_}oSVO@f}F{^V}VOgWyo*;KDQ1&&+*H$_*HxC=9=e?0AOCSvi!tQz~ zLMkuotmkv^*#tE`Ni+7k0IgJ&vyL`?m{MsSQ`7NR!w94Wcf>XVXw9iRo+p{M`whU$5M<`PF+<6uvdY#*LUAy#Bg zEB_l>9wA4%?GZNAAahAX(b`8|>@jY19KK}1ch)caIrq6~GJw|g@dq5i>T6`i&TBv} z4z9eVpD7!}EVrNjEIE|7=J0BYtI$L>$v&e%rA^uKH7xr#Cdu_VU@+seCi_ z*yFrP7}8ZNVnrEmA_B^O`~rcJPNx6i4R7aE$j&P9-V`WG<+yq6CE0QYo_(?bee>re z7`|-;ui>8$j805o$8y}qs)n)~(-?b~pJs`0?zx&!ht-@-kMxtoF>SQ-oG6gyXpBiE zQGoqAvg?l6Q~j)-m#r2bFcb7T#!+w<*#~ z@QmG!rFB-kXFj!GFCZ;?HlmlvU-@H0U>*1BAxvKQ)HTNPnU=@bWiV`mEkdJhi^|R8 zLvsWSMAUp=Pg=XiXwIIf9N`Ss&uX4bxcU*WE82 zAL7{fuCXo)8W7diJMn-?RgQR_AtXfXGDpXv=A`hy-B`Od>;9FIJgD0`iY|dD;R!7IvBPp_0qYhp; z*Pr$e>pr{De_v+i(__g2(9J8wN&z(tFv&HIxR7AQ#F}o@@`(^b4q=}ev9SGSRyGf? zwFPG~FN+VnYxW+?*B@V%V_)$r$4HyP%nf*D@YSdSYt<}G?4DDVl%P^_CoDjdW#T># zPyJtu-lAMHjLPj623Nq%jbq5jv7*jYMTIc%{@Bfvja{hW? z)(?v%8?nLm9}+m@^62Qu$M$58$yj)@X1(eAv}T4dr=KrBzB0)!V~0s zSCsf!3OyI)99dFFhG)JlU_>X%W6b@QIlNJ)5X_R~iM$?ZzHU(e0FxBrjdm=mq#i63 zlaqy)g+LM*L*rpfG|3vTCRXBbb6?lw*AvI@tYk+kVCKYPk>VaWJ|uoVIzi<{;sQ4g zH3x`GQ!lJIEXBy2;gpU^DoLhj@bWS7kH&uqWXhWc6p~)tbZn`c8};O0L10!1cnOi|dKB+JR48mv1xf9B*brSQVD%+bivl!{4CJj2ubWW}E# zOz$kTMXQROeHcT)*l7}ciEaAJA!_n!-yPs$3d-@cl<>(Al1^nul0(?EvO2V~NN+=( zo<4E?>k}?)Hh@CLTzKG)#mtCeenbvQ;*J?5qE~=eOg=Z@(oD;0#DQ|MG2o7EW5|{y z_FlKy`pl&5p>gD^_R4sklqV{VV2x3f;3G$pr8w>{V|utJ@%F4QWs~Xii7iX(MDYdC%mO)CqshwCa05UOieNJ8<$CErW2FAvpDpj@V zC6XgbPznsZDi%aPDzH z!E2v;nqUJMonsAQ?69+ac6vKUB4%Vm0r})r;`>)X+dg$K=Np&#ha5d zl{I<*npR~$!yJdXrd0-)yJ)!a955sCryg7n9uLBlCo(uBSh*9%S=mP(CLDK|ms8Il z;)_=zMn*g1((%7G?5vn<)h5rDs`)~HS7dB28xfS?H9yh5yZ^y$(q?16!N`oUAT&E*ym64?FNV6*kxc{o%3>}JiYb<|GbZ*$qbWuv4dY1UZakufY1%ol)*6l4 zBHzf-F^%FVB$T^JQJBNZxZW8ek}6n@)u~nL4R-QRy(E>B9 zpfDs>E0oAS-#ub%x0BYw`53Syu9PKpTx@pAk&WAyzF{=H&jrh!aVd?=Q8di{8_2k$ z90?()R68EkBw-yTk|w=>_h_?X{0eUmj|vZM52|}DL>ZnqMF(JRbUbde%#p^PL;EXS z(QZTzbPbKoskqwyxqrW!)0O5wXkCK47jpJ9okV7U!m{Vgxm!0WOC#%0}_oQA-Pkz>{ zrpJ;~BXOrA2fF%Y&3rTa{*=H59Ym^v`ENv6sks3nY&C6XZsa zPeu|TG03SyzLP;T62%kD@Wzr&fiJ9#A$Vk9Y_mGS?MGJn^WCZq8d0`!uY z>l+SSxn_n~8ugWu*>lRtAq0(qBWaE#Z;8kv^6ZHtioivaFXT-QF-PM;duaYD#Y|~u z)g^esrNAcP*O9j+>|=sV$k})kI!4Owp-}lhN@Xa=`RZ|vfeb|>lZy&obU6f$AwETj zp-G4GVyPhs2a$wz6xhQWSCUyWqr`_B9&e41SiG4L!j&|UG=veL{{XEi;_FDKfbC4S z6%u)0#JvZhQF>i z^^810SX}-?L{}@=c|K$r6JtwJ#`8$n@x@as36wS*Ls5S$NcPG*WS!DsI$tcp46(l0KjucUXvw2=9R!HMe&zF@hY}q+kIkU@>X2&eyA&bgg=6X1jjBe(Z zIbA=8!5~$2ZZG*|kK@!(%Q5?^Wz7~ba>D#tOjcYW9FBn7Pb2Z}YSs$jX(yT(_2nOn z`1pP3NYS>6Qm;{XypYQm8Z1fsX*^cqPi7NS+xqv%W2Msj=tBqj6Va7AJL}38nxVzw1Cd$^0cnB-278oW~A4nCTV{ zS;ojHR4)QqSHw8!g`bg&rUnw_<#y2K<&^DawZne3m7o6W*b=r94kohkUkfIbisWoK z6{hgj->C0J%$gZwD5MP^GbU7UfJH1V1xqPy zE^TKEjf;_&ElC)Ti!k-nyhUVVWMUtiCZJWjs+Mnn?u2&mhHk0Z+U z+eqYioO-2zfzI-5Wtj%&6KKVW#dBCDk96IjEudt{C+4f6~tt1B-y08 zJdGo{Nd?HR^zz8-XHAlb)=4CJU$_ePOsByzEMcRrLx2RH*47MjUrcOFMh1N*qiJb!1W1=1=hu(FCCZ~R8*4ETz zkjGBU!A}-o6xHl#a0yd6GXdUXp+I|US+3S6d9v&+c5j0aIa$-pu zl~rOQ;wnJ^rNYT?ScL-qw5?)IIn2P4d1IQbbr`uXFM3HD1Ec={$^17pG?2-WlQLw! z2d~cdnQ{ojG!x?E@itQN(#Fz0Pp8iHzRi>?0W7+tVV0H|9x0Y30@TizCzX1SWIa}U zw~_U?dIIN1$;h4&YumjUrD(M8sz}j|>ikmOu53lLHqlQOX$!a#OzDG{JU(2^RP~#Xh8;yMI{CprUO=5URA*CFevGe{uFN}C-8x!2wxgm{p z?O;lq_mP#P*DEU{HefDF#3ZgKRDtC*KK6IeaoyV0EK_5)G;&*;vXjQX>w3;y8GS^u zyz<+V&66%(FBZ5~YI&uVEAdud4K4B0{zHkR@$$yP&CSWU;;aNBtSU6}NYS$BZA2Qi z7A!IpqEIHk0oi0n6~whSVs(-^A{-x%ttXRkHacHlzJS=7T#XptUn6*{wva@UO=VW? zQ9@;_5u*}VP$JTPwSkmya=;Wsd}{3U!I7WLYceRYb19pgle7*pvR6KT6uv2ZyhCxR zTNucGIYo05&?bV(bKbH(D#H9M&`Pm|EJ*}>$r}b3ywZeXw$d`7)vr#aTfG|K;8$wo zO3@0n-As&gE5!a0#)Y)9anU4vc?vr1Skl$~gVf;qe3gM(KgF~(TJ!?(sqv-8)+hMw z9(l!iC3)t(>G9-_8Z#3WTe_J5AYb(0+;1j+WZ1If&yQTPmjw2tPHW1(W>>~(8T7p# z97=H#Mx#sUZC)?>@r0Y#rgGu?ESD0`O#E@#N}HOFcaB&1-U{w?A(UF1zP+pQMOX?w ziQ`P{!?lkZkz-S9g3Lyj?Q2jMF0C8-`7q$mKYc#?jfw46t|r=A+N(MmJb0!|(It6b z#RfdNGGOAiZdM1v%5*Vu9BvxJ9tm=#c%+H6UNmegA))Zg6mbeXc-JFKG=be7Gv2SK za7DEi(kNt@+K^qU)oS}x*>5yJTvvT0ibzdb^vtcG3u<_tIx=z^T@J$u^XMdzmEeO=H^HgF>8TPW8k(h``?M@*nQ=QEM?He+|*vJ) za?t3%_9X9J&3D!uLip^U4%9wB0aO0~s$4ti!}#kP0$0Rbe3-IXm83UDi|})&{{UX6jbnUKL|aFN(hkV(&GK7l8cw@=S%D|T>o19#U zaPo7rvwfar7z)9sdhJ-b3yYT*9&mVCW_hwCy_z;rNsly;#|*O^mBR`xQA@@-p)g62 zlP*fZ{F7M%g}Qzu%9dPt-Y2hPpPlWpk`7P|xkedo{jEhvt6qrF9ihhj21J%u63w8{ z7E^LhYZ6%NB6!@DujBBij6Q@5+qE!GCD@E-ZxIA&7{eu6^iPqE!Q{YRu;uVdh6v@5 zqew|LAI0#F92$2h!;4pm>%E>C5Jx1D*BDMS00vC4&pw{JE-Wm!C~6raTCuEI^Dy(J zl6i!3JWk5WbTsfs@m~sf;I7(5i3tEl;^vo-`5WHRPIpy9@L-~AYT05xjdjNO3w_K zStYKr`~LuMAN82A%+baaj9Jnqx9;JUtH|6*B&=y817d32%<+h2j@2)Z$cxE|X0AoGGsoHT+&b^b+&ngx=BSTH%CSZ|S z@^Tz9vT5QzBE+tvji{?Bjl6GxiJLF8%aT~fHSr!iYzW18W0xLCW0J7(Up8t?eoVv0 z>|^p6{g1E_^5tAfr1+i)W$?8$MOQ&;ZuDT4Slap;u%=e!2O&51Tn}68{o=P8dVLF@f|Ui&KuSMm7bi#4F+c-ydz+5Z5R zB?be8El}ebp^X{q7cba)A7ogu#lg(YD=VnTNR<&DSDGnt=8?HnKs1m;=aw%KlClmH zPeKfXi%ZJug^)cvEFw5?@uD_f1?6bd2PyEy@A`357>!wyrH>!RIM=ZCe#6z8h~#5e zt66~g?=OeOsRm8$S{{TM(zCP<;eLR1|V^;7G8b&0sR^VZV2_hfzf;gpk zWR5yD+R>C(H?Lpo@_n97yL=3fh&*08Wep^TStqEU9Y%{R$sdXohRm;(ESVWGt}l*7 z_2(Fgn!DH9k)u=qT|Drtu_SemF!;Pvz_FQ4jl0+YNVQ}9e=vg_pzl&=`&hjaaJ7#g z_@0qkZbXta&7ycb za!T??3q-O}(;ov7rM91nD`Wb2@?cC{u=r_MF`1GGys{N5qT|UdruQZv4JZYqiK5X( zccH_J#_+H)oOgsYCPw4>EK4-W6!N5|k_VY#nrJ1)_+pC!g=~CB$7HlT6p%);l?zd@ zi00$RiIr0Nzw3wBD3doOTO6aaNY`#Lxs9sSEqPWnmDn=Z0!6NAmx&xJ7bWo}wu6|9 z*ki#4XNq=8vQzhJZzL`Duj3jnK19hO_Sj7hzwOg@3)r}nTy1OGgV)L884IlNt>y`(V%8_5cikG={ z;PLoYO4ER%Vu{{ZCCm3kzddAA3X=7(lV9B)=oK{Ql~Sy>Q8 zd}`w)RCq?&xlQaQ_1?QH+vm*_#WbllK9MRslcZ74rZlgQH;w#qqDJENa%z8y9*Z-u z%n1ZMe3O`3WXPHb$6$tJgCNI=L@kecia6Z~7Ba|DUnWd)El9D)iII_!mo-J;uf?hd z82K*T-Hb>Xnb{+G9-~KrlL7kON_5- zRv7XsIk?R)h%9kOEoG|4y{b$Mb-|-+o0Azuk@%LSk0Lm)q;p9Mp7qW6vO3TtR8QiT zM|tGsamTdpHdKU@O1Ru}J{ilQ7EV~292LSmbjWtPM)IE2KIwi;cn`oA(fmRhlqk^D zih;2GzIUylB*<#PhZ=mE#)@o)UP!uGIL9N!Lab_6SsXVS=XLF9+r~R+;T2j-#SFO7 zsktlwE8^g;R+3kSxgpZm(88-iHgt7WVt@lgcc`OznASE-n5>D(mE8!Ec&qTH5fv&a zj+8~>BF1GrA&yC<$j6%#Bi8!^>ZSG3`#e8e9AZjm=OQofB(f4oV?H3?1_AN*7L@BVfDi~A?CKCAt$e^vFquiSgA+<#Sv znn_}0=JXXo{cJe#DQew3`pCd0iXyIu>cBZ*x zcZ!vYF_Q7i43M1PX_@Rqf;i=A1FA@=Hg-y9=hS{16;+JmM-ylRHj!gAu?ZL=W50`t z=SCsm?Pi0Yk9lz(VSVOFJvZBEF#0_B=>I_5}oTCx%D@ zyn(<|-m{z6H8f#U32`4OG7rTa&;Qy02mt~B0R;l@LYjuby4u^QHj1`~eYak(LAQfO zj;BCs^t5*hy;_A0x1p`Iw^R*nrK;6xCfW@xy48L5*u%d>(AqwmDhGOBu+rNP(48$q zY1}pg^jFw-fwKF~!$j^nk#I-RUWSIRpakw3AEXpcgG*>y+b^ISZ%3kbjkls|+6@lN zXirG!&29JDeMeAGHEqgtwwBiV3bk9JH(zD-IsrzBu3(!`8gir4zU%G2(V)`%d+j8e zV`>do)9tkECtms!)xL$a150kUk*FOT?zW-D_uE55VA9$R_tN_fE|%MRCtKC`9Y;k4 z&eGP>)OEK0>`4FTN7ud?)dym#Mu8^)I2 zDfs9#0)TuCcVA`bU#2!((BFM+eb(Aque$UtZ==4K*ftSdwY?EQ zbcToTpf!D$*bawLrT3ntx)$24eyB7x16$}%dLyrWel^>mXy`{k3cvUPv{Bn_x776s z&}=_eMFDQO&~yma)p|5^zN4n6p>B|&)waw1DLR@O9l&oQ^mmO0hoybOgLUt`XgWmd zHi5Rv~>+qp99>8|_?r413X`R?(Obp(|F|eY|_y zQKjpa+v+cKsqd*9PM6zlPNZmlrqyi@mfd;-KqzcG4Go+qYC86=AGU{ezJ%*-qKAD& z3+)wdh3M6)^?jsl8e2>B2BE6dD)egFgV7h*IwG&W+b>qoY_{?=zd-6XUwyV)ZMtHe z3YupC)xLypwH~P3-&@tXr0Z(7g00`7B&^y4eN9_YvfIL5k4X01cLB4#`ef;CFHAH& zdr%e{uF^LhM!~e`M%&TZdcRzBPM7EnmZEkJfTDH*pc)<5*mje&=qR0|eX80WPM4;( z(0ALVexSa=L~3?hL8$=gYPDOSM}CoEw%XgF&-pivFZ5T|{Q=Xp9hTH+Xl=Hpj>6sg zBTMKvF}Aka4wu<#zT@BMj<@L@FVw!pH`3b|TWfxUpkZHafM_*4FIU@rm)LY*Mwi)o zzepV|veX8)(N|mRZoT_oQMl=PzW)HVUv;PpX>)s3=+ND5PK5MGt8O$j8!xuidcSMc z{(}1n+kFAj-5dP@`fHuU(Hfn%*hMb>ReqVFvic1#Kw7V|{X6we^GdrdMDMnw>@|H3 z^U)_|_wvy6??vsj?(%I;Z$^>tvik<3rFt8$N(s^EZX0dU17Y8K8s4v0 zplbVX(L1lO?Hx;KIvjdOX*%Ca^)0Rbvijd`^*Y;e7CTQ``d?es`p0;^9+NN|FR*Ag zU!)IO{WH*J1L!UE0+?*?rHxy#qot_p%f8F~TY!Fw{XwwRw>df;2Bxo|JuCkJkhK9; z()}}~wY^{befJKjQLVMUyl0791 zZ4Gh$M)W9+gIoO~kamyqL+{lz&IkGOH(y{CYiKrGeg2x_{b=6(TWlQ*RrS4JefHjs zTm0iVS}jMTeF52OxA`!3jfby&gzIgs04?=b`Z2Vfhi&$gy7V-*hg<9#Tl_Z>eFsR@ zv@`~n>E5qHLNv7zvftrt(`^S-YQpyrY$B~z z(%UW2MLj{MF3Y@~FVG`P?Y{F*Yt{6&`}A$4=+-gOdR>)DS*j?3-8OlxX8PUAyM^hZM4ni|{ahtb=6 z8XW^)p0Vg&zdBz+D&1>!fH&Br9R|bnw$P2IL$=j@_P<`=K^$Q~8&0QjJ5GnAYCCPM zsMWVyrG0=~aOxTrZ>Yaewu4(x&}n))T8~2AA+LQv>y^~#Pte=wPSOGC+KivITc!_2 z`d?6V8WX79-+c3NsPD$2RVEg4x?iBnsa~D70kZq=rL`6Na?;yROi|QdL$CkZ00;pC z009L8?M8(;8VhK5Ut8(qHtQah_Z6#ZcAdo2XlU*=$F=A#gJr1F@Z(q3`z_HsZ>9P~ z(KT({yK>k{^oHZ5zLWC6Yk#J_a?;xdglszq`XV+B2-|Iz*mWBP4v03Z{Q%VT&(ndj z`dekRCvB){+gsK38sA1cEnH{{CapwhHvlbeh|$~uy4x+O=$%awSKPx(=ykS+uhH#B ziP{F1(%Vf9BA1Y&bhlpBZ7sIi4Nix6w%2k^=&f5ruYJI3ZC`*iw^Y6KC#7zUwjD3k z0*KgjzJ%@(n_F_)@>=zJw##j`TWIPX*3$h;*WQI4Ez%n;(E~w8qiP*+XzV+F+wWG; zcdKb_m!ntG`khwW28wh$MO#Z~D%#uWZ@$~FSF6>i)%G^d`jJ=Fg|><(TWunUw$49W zeVl%TjW64DiUzjQ)My>n*ecx%b?u=VTE5kPqVHGeDA4xU6lgUseyQ9y4wBnj^?~{p zwF)TaxZh)cFxA+68(C)t5b-=4_9YaTLx&vd{{bSG#xpcOt zL(#qJ+wan~BUqDtgmo?Sw%j(}iK}llZ7t9pE9}0v=##qJ&WEH1r)B7!x6;&uzQME( zfjt5A7wR3yTUF@v!PeRewOf7k2Yt7J^@Qvve`>uGeQ&M0H`Me8_zU#Lq-X^N(DZMh zI@@_QZir#ER{L*5Y0zAmq9|>x{)7!1anjuzbuZDsLj60?It>o{>upa&iU&nold}2| zrL`IXMu6Bfw(IoEU!&UHQ_;4Dj+WhewJ_cXa42doy>ww+wZ6;jzN#t5?XMpF8*6RX ztMm?+tL(LL+igv(G&=#d&^O;v*T2-A3DBA~ZAQUIXF58aqMPruHIA3AU9=xgItGBg zr(v%2YW*weZMWETzLx2g=n?eBt+x7KOX=foH|XDBI&sqd6SIzoZS@wTz&i0OUz0bI6|u&+kifu-nZr$N^N zO$FjLJ3*n}Xrrmr?HU8N)HYjn_FHk(bUW`9c3)}efv}wmXg6C^Lu!qqLqTt#>EA)H zX@90VemW-B*bbv*^g8#USDa1Pw?Opov>i@@n{D-48!z+? zZGx>vueRImxOUlXhShCtxvj0Xolb&<5ks!ZMwi%kTcJEFAfw-5IuWSZYPDNsw%ceo z-)bUHC?u#C>v@wTCG;0O}~v>>8-NeTh;nQc%pWN-+gV?9b0d< zgQf*rs3`BYhK}J@-GAHZPeuO3ZaUvUcUrBXI|lnv*41jY5mxFA2S{(fO8qWWHiOY0 z;D^+Xk9{q$b*;1tw?^9ALDja>-2-Ddt_o%tj+b(ZIszv^$RSVTSuc$N+`2*1hrE0xfVAwSp z1E@dXg~!+Z=!(4q^%nYWM%@%PI@_ePGK~n^ZN{xu`UXM{z%@Go{{RpU!>zu9wX}{h z)E@PJtiRQMIz_u^D0L6{Fn3#`dYrp`4f|WJM}4H~c3-P)ZC2`AQ~n5ak6!cz4xP5& z{BS#MwCo*wY_~(n`u_lpJ3#AOb*Slm2TbTbu=GzzRrSAG)N}_+&^ljXJq!N;h8iBJ z+kTa{4cDtxyJ`-L-j1W9BJHnj=8X}py5v>*CvY@$y&j1KZFafqajW!!>yz|1-^*qC zfh^lE)|x&_yt-_A?mFL5)EjTK9)>RZ0>G`8_q=-+CZojAQ)OZ7q4`df9jel@>D z>3yeoJv(kaE)BaTepK8e3;B)WBP)i_t~D zM%(Sa^g3dWhTlRC!}QndkE4FHvfo8*M?@}%@1Q!J zE%k);@2JoXhoCm!=tkT119z+R%Jgleww*1jZUcOBMzr?5PW(~^B{aW48nMtfPWuVj zZMM?dUsG#Us0zN()F)Q9gJ1vJ00;pB0tP<QtIf?V zi7ZvKCPhqsOlymx{O>Qk98<_}& za2Hz7&4-<+5026H*C-M?`d}q$ed#0R0_k*OroG8(DTjza-n%e*}R3-S+4oWdWr&PbYY- zsHL7f@xlmaW>8^ z#5<_=l1!=YQTGCF0-Tt405mk|=^l8Hy~WS=DN0tNw^VY)exgnKQ}6Q*@=^IcA~Eb^TP~9-^CtY=J^)TTMoE#3OS%Za*1&dwa=iP-keb4+M_&QrQU| zf~cV8*nyZVueUWukY7+J0-LG|iexeI#CrzZJ8YtNmMx)TV_9TWMsPH#2%^4T8Fdl| zKLsJwC%VD(v{E-~y=@IDP}V&%H1arF{Q`@XGS`R444Hg#I(gtF21d72Ki9%N#4cl& zBUs#UKRkPG;r8YT_sb!QW^hEdN>bo80BQRS;({p331vDZ?Pw<(Z^QRA_aP(^Nx3T= zv390^R9|!pt^T2xf+QiNXS6C)sIlMx^V1L~xjeA!?*9Nb@T#<`zu{LZ3HY2oYn^d6>wUU?#^ym++(=8ikOJmT5G1|A;2A}ixX2&esV3eULUkw+|zk}8W-ROkop#b$(V5pE3?!~>BUuPiOOme(LN zuMBRsTi8zDb+dL&%qEpqT|uT7VZYeR4(OzE4XrxL&k&k3mD;NVh-AGD_ga99mfz|h z!wm_984Ifo%}qjuAgw&>h(s*q>>rhSsHB$~+i5ivrUedX)I2=-cy4wZ{kv^9yEZAg z+PI^muL3Yi(xefXR>_49xC+v&AlL3S)W}!q1mT#a(Vm5ngVKF@9(ZGxL}kb2i7jy| z#A)7I+I|(Gz=}Ddfr%Zqm4slD%ATgkYh3ZW+N-3iwUOg36rJd*t#3?&CI^AUNb-my zk(FfJHP)bJrN+Qb1|BV<{g_%sUB&F;Rqh*GsZ)oL!*@30c*}5(JF2(n4^3{SIgIdG z_PxO%bV-R|1eqF&aU8KgDtUM-e^#F?bgjB&uM9)(GT9Vchq4G6)n{;0{@{r9cKBbV za>68=Xx$`9I}TEf)c&iMgpgM%;5B_(0j>h~7A%{s&8w2vT=l}v`&jpip})&bb%x|C zpKX-oTI;Slda62!8h;-j^8oHP(Y+;TTHC+$v#I_V5j3&O(v94S#EC~h`mYgO@xNW! znC|)qwaXoyp+@_LMQSn2(?jvYHQ*3H5od7*x#>))fw;@M2w~8asQ&;BDS;`K36|o@ zH3S}1{V>52@&P1LvAX)m0;QtrWnSgAk1-~uM>a{C4xsu z3{1nj8?2GFrrN8fL}jiFrXtW>738K>r9iF*{b6ym5{QQGghnN{`)=n<@N(A_?iaa5 z7-R#Ubs5tUJnft@M-)_0fJYkGv;vs^nhZz1DNVexJV_;2){3r1wb6$R9J4>W3QyE3 zJa*0QkjuFC@ZaX)f<%gDPw>2nAP3^78-13>BR1!F_HE#**5YynnuF($`(tREV9~in zUD=VA-u1^Zr52RI7)c{@9EfU;4G1HV7H&kSePj{;sYE^u}%ygH!(i zOdJ_3SnEoni&r7YV{I6MIKLSRnGg`tRz`cDGgH-1hBrH?Vy@d~+x)4^Dynyy#nka5 z!TU;9FQHh1)cFC6C5@qyifm;nXv!R9d4pUlUs*{vMQ%YxhPB5mLjjHzO|*`}P?4tbWv(}^2TPA)6WbYO30@^6!}xZ(rn0%n|TR;w`sb73hSm4fQ`bFe&VpN||={{Y7fZ|461aDTI+{{VQ$ zxP-^G+ReJ$?N$j1_5T2t&9N6{f_J@95o$)o$e?Csr~;XsOAYHMX_hILzvQHCbkMcTg?!dBhxg;$H(Ncto4t><1%3AHFHCW~ouy{wQgD%=tH?l6P%|c+ za082KD!&XWS`?`@mzXsE7<$NmAUcTS3M?x_Q+0k6%Lt}R6{&oL9-8Z?EGS*XpOIHH zKu`#{1*2VB>spKpO>*k^7| zkk*Um(_8~-RXQDX*Bfa4$8#>*+nPW(d#IvWWmx!?jhz8LS7Ku zompPw2QcA2?T7lUf5BZRFE^uy5b$nTiVnkoMP zAv=v>V$t<7*!2TGn*8xrB%XLvmsg&d_--fm-GTPai=Xn_12b+6V$dnva0$a}c2@H9 z!vX&Qk!bZ$c-Jc76u68t3bC!L!lv5dXoRacg_%V0)T4zoxo!Z^@XNwYy2@4=ikV`s zOBAgtJgb0f)x~_U%*N(pR&$v?6*?SH0>@muvpxkW^;Bn&pwBEw1c4TnU`;N!{`flG zmAtV>HypZ;t4nEL3-;(^MYhFa7=i~n3~mC`{My?!QCgz$CRYPY*HMirj@gOM@3~Pw zaCXF2`fRsa=Ucv5ny#`eEELLys@GJ4yuqd--i^SUanUz$FQ!jb2z3IZ^utc{x>jQJ zpv>o>(_aqsMQ@`oTxlSqp^W7qVWG>H4+y1t1&|RL1%8aP13%XT49#AFRTQWux*WzO zn#GH_#E6q6N}A9N^6=U~yEx*PY-GQBz0TzQ!Wlzc#d;}~0Q130)kz2D2Rv7Y1MtFa z{@PKQ`^Jjik4@aN%M$Ju7HA+UCYUL;43)O0g=leo!&+NjtvPbQ^Zx*j7-kFGQgT6B z57!$;P1;UpOQuk=4$EH4V_c%AD)iK6&mRpjeZyK=T>k(}6TLE)E{kF+l@Ty&-nS05 z%GJ>EINd=6A>erfN4azz^+l?IRnoQU7#C(Z;t>yVV3IHhkgjIEbhqidPB@Mp=-S6K z+uoG)pgdTNL$mz2Ha+~mFL5tw1faXE^W}*5ADEwz?#SB>@uf1s6A=u=Sj@HQHq_F%{&&RSY$y58-2dUDK|T*%B(OV7LlYp5G6^*``&%O+93CH?i+u` z+-+togeZRKwbGGx(+n(g2xk?X;{{vgI`W#4;5KZHG4$y)AhqEN8j8|_Nw)VjZ|b*>C{gw z6k%(FMpKr0VcJ7k3G4Xb52$@Z=ZM_r3pZ3?{l!q+NffUvNH%aik<{jHYYSSnpd9Ir z*-y9)Z?6hzOnD7kfUYv(#~VGX7m(!^-6M~=CsPutswrBtVqL!KCfm;gl-zCEN;*24 z6)M!B2OC*sK&iV<=G@$-0M??J z;%IM-gk}WmJkx}x*jEY!9D=7fcMQy45addHo5QXlWhIMLJsN#RX60XR%`B5=b zEuZ2j0I$OoT*=cDv6bSOEg=drVoj_V+$b%tJQ!wMTm(P+T?3EYaYkED^qp{F2&$!( zt4!*uS5xuDMn|3`ETZ?(v;*Wk9pjBrTDHeZg|92Cim9}X2=F(`BMC!8bz7(k3Im-p z&mB`V;WCZbpGf%OjdC6k#UZRv*S4NaZa=OD{{Uk-+HN+j+}OAs%UZd5>BGwi;07^} z!B_@UO!Eg(hb%o+r6@DUmMA#z=Y(Y2F4oxMLWo?3D1l4$lbcefhb%qPBxWTp7D7OK zbGN6SJ<=#5fI;qoBHSxQ9Ik*!CLN}h=TAi{rnJc7UAr2XjU*Pb(T1Xq0m~5qGs=jf z+l4J=>Tm!jE3w+2W|IY3yDkrH#FB-hGcT&zWVoSgRMPXVUkpbaE+X6RCr!Lw;Wygb ztH{(|U){w&^Oqf(0RYjwg7!)_tCcEmox>J@|-)ijr3z|v*w9J~}_R>>tG;HfC zNWwc>I@BA!6vfS0;RcUAq=hD=Y4F0pHm)XknrP!;X)%N^aJrdLVIuc*oAA~>!@zdJ z0Wq25`*$>e)h$qw3GuWBb<{GwHm%RgCH3dpuDY6#Cl zaBusHE9o@hk<1)sE9Hx$B`A7NAKizVS2D{fEhMaNW@a@clc~f`lAW{E6rQZM`PFm5 zE-oid8RK%txL!W7FnRFAfDTy?4R^ob=g1@`K5NJk+6*`?yKRiI2h?{ITO0sRFky&FtaZWbnt77?{-^rl0FbH?0$N=%!y5}2cVtT!@SAmI6F$oNMzE@74? z4HSqc~NJ+aiL>sfFQlB)87ZTHe`oi;nCkv99b1!Iw+ z0JsgzTrd;3AVxm6IVjf|nf1HMCqwpsyS{_U>asB&q2GU)LGnvaf6$)dhNgUmbGgf@^U) zoDBYW`$=SKD7jIMIJfwZ97ha{S|~2;$H=y49kIM7Ipn$kkU($0U4SobV_GY)^w+3? zh^&vdYJn$J*Ec^bLecM2br-k85Re|;-J>%|#Kfq?G`6#5!oQ|B`&cEi4|I(q-leG5 zqDr%YRs@cu2P{B@uFf~@tdkqrSAla&kDfyk55wDgsxN&ONksNIbTJ12G-oeb`RmIZ zZ?BapjQln-ZW=lE{^kj&wCw1x-ey!#weC1D>3#jl8>U(~ZPbXOfoo z-E$TYYnMC?)b}^#Gq-%2mtfsSzY~tyIutpRndwE(T~#*ZbM#i4{Cpq{KVvXA49Z9sKBCIjgBs<);M5-V zMW&+LXlq=x(*RbL;&94MZLVU3RD3)E2AKA;o92`9R=(=Jf)3TY%%m+}?sQSBmn?3R z+xIWM*hedkmg-2mGD#3_mT1F0q>dFh8CnztMb?Tm8RF~y^=aF;D`~B3&xJfX5ZghM z8s}{frks2nK%K`+e%K=Oai>b^-z-fe5PmEU%wgKx&tj93+}WCW;o|&c>vd(Hs_|$d zz-vkx=avn!cNBVLr7-*Mbf)3N2y+%+n>h{p{-W+3hPW7{JuEf#V*w( z-AURzP1`)G(OBI9Lu+T-_hQ5G6eYAD~o^)@f98ihd&+D?q-oEP(KPJK*8GaTiCF)TU`Op zm@#%il)Yk_q%ay#@FT(-1O83V`4u9|dTh6ib*=(-`s-6IPL$G^Ugdjr>riNEjl{xK zjdt`lJAm(VTSXjCKLgT|nNpe8qNiMl&lg|!3sbXCrkd9qNh02Nw-SjzFKOF!Fk1Gn zQ)KrH^3%dJg?rLVTOnSi=@rm;NEr!~+uC~MIn+};WrnqV04ul$Mr4P>>ys&Gp(r}-Z-xGdBeZwDa-^H}wOTY3~l;MZ8(lK7y zDlQ;;YiA$WimDM|R9NB#h!&_?i_2?D{{Re0v`)0#G8;1WjVb!$czvgE+y4M<+dMI@ z@>Gv)Au|lV(UG{R8lOB*G`lGl4XmaO#^%CfSyxmpI%|N{2I6{nNkikh%#N$+9L(h&Pb^6V%9l*(O0M?w1a>PJg+!gNDmibe{>1g7O z_Nu_?Kzc_C*X4k*CB~Gms^;c09s?13ceU-CdA^)KXKa+X_Tw_Pw9qLynswSm40GMv z+b?p+?i3c>#O3Br1X0rB81*us=~BlxAaKUtx7|D9U-Is=v=*ynl+L={Tm`UxPj@+L z_jc{2De0wtcpsU${76|QWt1m$-jR}m&_+(wTJYBg&kC&Fv|=jy+AE63ElQI~7Nd8b?%c*7qq8q z+Lh&V_|a=*b@Z>0#8(5#8HcZfa`BiQ|E4+d_p+$<9-lwmit*=$xKy7>@Qk{x%XRV!-61V?TOaYRAdv2M`{-v- zyKUCm#aTOQ0jdQ@sI4l?ndjiZplgR79%7gzwFvaCDZ^YAx20)waL)ioIGhzy%mWG% zDp#wQhP5rn6UOYHX^1TuzA}HpR<#_CEcVeV!K^|@j7k+!=IZGj4lPXTXoHEV%fs<~ z!)Dt($pQOslZ8CTgu)q~C7n!j1!A|xO>Jv+8EN3Q$##aKxp{nX54${8YON;hAG1o#A?V;%R?Q)l?|cK zh8`krF%k}S9Xz}lC=KOFVg=nfYp)zgos}h-NS~_ZpgC(w8sZp?skd2KRL>zH66Ut% zv>b;VvAx+xyo=lyX)KX0`U1uogl$XXE~;&9MMsDwZwhl$S|8I9%dy#=tb2H3UG38e zFPl506$?whr#g5Yw?(E){{XhP=}%s?^6)!Yw{14jP0GD%9mHqQahDx%5B~rhzvqHU zsXClUd#Wr@z#4+tfkBqJ;0l`os-;Z^H#?}JdA6HIMcnSy8@7!tYz%3Y)|z}V0`E4@ zwmX=ko&f7h;hAqo72v}$ijEv{BzTqEdwYCwf z!s$mcyFEc#bkI=o%wWvEl{OahV1MO^+DOdMs|(V$+@OL*cw=+^ny#Ay@AzHc?skik zx6>+tk){ph#Fgo#3ewZ?4?FleEo1#2m4*Pi-V`YNi6u98{Qf0vU(` zl;equ{l?rHyp5Yywbb+DgVm;kz}haf62r)2w**Zzjp>a+Cm~%14+Ejc#~x?F48r*8 zJCTh@{n(dtJITD*rz&Uw=<(49kak>0h82#PBMtfIZO6Gj93`?LZQaxIV(XP+!w5f2N^S%7IFQX7x&&$zAW`YjT7#8!!}Jc@u=}NR1#6IQ8sIabWG0^< zo&{R!XAeA|TL+6Iyz^NM~=6$?Mg=46a@B)L9`Bxt6 z?o*Ua%<@UPm;+*c*-J8_=k-2Vk8Z1cuJnsbiFzm%#G4KD5=Fe&Rw;JOy>a&VQ_C6Y z#~Y3KD!YBWi4~=~*`y4>3Jywe#B|b`anBj3a7ejM6%}1vvl&w1+sc+uQneK|uZ(*+ zAMEW~M}{j!Z<5t&oqmC@g{5;9>(07lF;YEVlZ8^j0}u)1e0NtBY%Z@i&ZK?;0dmJk? zlSL7cSqjK|ZJA!7!%>Q~Vo^iVYs6FOrkJfR@;K-QG@{jOUZAwD4H}im{5%dfTVu3} zL%L|$ca9&s7jEp3h60UVs*G0KG8qc+6s~;nYaEicW#D%kQWipzMoC1FTPhgaDFY0_ z$8H_Ko*tTREo2=)6O(6_9L+Iur=>^L=T`V*E+5Msyoe+ls4mOTTx|PW@wi#yN8Oc* zMeIn#-5*^px0uTfT9%;g5Jf9qHS)!HoFiNf`~l2oO#CGX@3;JfDKG_+_}J#Bn9CJz zU(3Q@#%GcyLHU9^?E>tB{*}QC)COlCgA6_9o<(IR}vVbTF`n1BwPzw+NCWAg? z;QLp&$+w?yBaTrv({mQ?21!=oNgyO)O{86+B7^1N`&eZ`9_djxN-_=GdzPj_mVB^o z-7q2&)a_UA{{Z&=dVi1iVNrE$DngIdvcYau;DlC3V?mPf$7{HI zOhcHeZMaoxM?CQ)D)f$0rPH02r}4y*_9I~{sT+bm>evoLJb}AButx)^z(~-@?UJC( zoEXH>?kK2xv3e?F2A?iCon$MxZN-JR1YGqQZz0S*a{{X#}FShS0@xloj+5wraLY`P3!x0$dxsUf$i&4kP8jZ3dv&+FLv7TpD~R^;Pukm;sbg_Ox{6-a^7-O;p_p%W z+j$;6zV#8&B~@ca0m8OpKCJMav`vZIzy!ThH{?jIsL7~Wx@0oOXEEtt2I>fr3#O2f zl3W(FJMJlGIZWDQcw|x{KV$>OEBW3`IZYDcv-# zl6!TMUWlp)a>QGiG@v!h6bf&yPhY3uh@`nlm=d5cBvGx*aKl<@aG}F9wan(M$1+L5 zp`~&^3;-wrAQvWz3v(wDM#M3ViWgEH2?v8NN5oZbAJQ;f(6Azqo3s5e7ke}9_VjzC zjxj6LDJm^yO-%;A6ybnT?^e^8_>48oLHcsn6yUr*IOpM9ZuSYeblUG;7u@YfqDF%I z3xDan(+U<){rc7#<_J7$JRva_yb8-&Qu~jlo>auiyGbG4q6URU0at5S7Ox9VDl_xM zGRX@^7T^=Nkf{pcTEbMFa}>tQb-3ER8-H;|lVdwA7F0uTz~lQ_m0DnW7Q`l7(WoBMK00;BhQ*sE#=r?Ezs*fG*dL zC0&KzjLE zqi5H16O{&;V{as8Q1!HSO(i$*=f&mSL-BBb%|JF%pPwn?(_ zTNQ-mi?5u>dK~E@ZHMS)b}|ubvNE{!x6RwR?TKR<~VStL5{>%aL5`%Nwoug{6W9 zPt4qb(v2}T+(wrWY2a8dY5Hx6Yi%u|&6t|u(Y;7$Mn_B{MG2YOp;J7_70271C5(V- zfS@$#%}q1ogpY8rNdDooNi4oCz!7faxog{FM*}))ryaiG?bhzyO}A2&rU<5)oLN%Q zgLiK_SDqE(k~b`~JdyVlG-&{-FLfze^z*{S8ec4|s}hc6(-DCW-iqNkav50Go|3mG z-c-7@^1~1)4uh6AXo(xH@-q~j$fJ;jxHV9?Hnv`&o;O=q_9J;VtmA5&+36 zQLmH`=F+Qb(wgJ>_!CVvIF3e*yIo5hmeEa_ocylD5lcJE7S&4aqh>6zsbb_PItrTO zGIAX_I<)sGN6O1+YfwhDr;I(gdo~~vnz6mJ>d#M>2wL?F>C0c`hA~IlKo_B!<5~cC z4n75IK;EoJ`7myF-stjW9Ehs}ZS2W~dakd^n5`@0I9P-3BoFyA$=fQi+=Y8}%sp#g zELaf8?ftbH*9UI(6T{QFTB89VG&Y#Y1Yrc<<|B<D*Q=NH?ODZ8~;HP>20H)(;{rD6k zsN0(;{{Vr9N`|nJa+-rqSRF0iyVr2G+H$79Jb$-8-hS)3+HE!;?xsKKKHg?0deH?f z-7$p84LS10SVci|IieuU*ATee7Tz?HuIplBW$h~4VZ7^gTPkHwJW#c@e3`Mfq?Nhbw(X^A8cG348B9!hgor03~U8`s^ z(-O^XbF7X96c#>0g8^;{U##dcxZCfd6VW6|B93uw%^yQw4Zzw+YJ9MG)7AVu3O&1K z?HQN6-Mf%S+!U^*hoo`97E#4&^~jHg1SUdZ3|K=`ZNyTv=awI;+^I@yh@zEbb&%4? z6f~^FQ9^^v;0IpR`*-R_UrV9Tt9kImllMS*Sl**5-I>S=QwSt;9Be?6KrW#8Wn4!p z(TrtC455Zx!QqCvYf;m}hr?&>?#cMx-t#`$1V|pci*Ku_xxE5_oVZ~`#e`Yb+E-6J zLAa4=9_sJLHzBWWt!jX3JUsAMh}Sxg-GElMok{+zS#j;wp?FtJQ}^R>e{k-rAL7#9 z-MQa=bFP%881w0g71>AXfJYb?#ShG0*bPMt) zj#L;GZrYt>HK#rpn%6|^#?m$NBy|hHZz8S84Ez~qLmaxiY%L<}^veu^h)1RC&fPJ# z+?f%Vb$zj`t4O`GX}LkF*M)V%D#;Yj23^JN&l6?B;L35a*zPwkF3;NpgWLAx^u#89 z&BQ0)EzZk#+18;0j+D9!VSy3aGzVEhhdi@SNP*R&mRMJK-W*|;i(y8 zb^h!3eZJpsIz_jKv$kH`F~uK33NsQ)h7wy3;by9O`whJB1YpL{_j`KH3DY z#M3+~hE%-TU9=U;JTOnWXVkgr$HBuPW@=dXQrz>)juA^2?Tb>Rn^%yog9fIYu_gPJ z+gOh3%pBaxDil}_ZNnXAgz@;`3RC*L@OOUuyIt<@Bl!bww}sl+V%v+12$caMPzU_Z zHuA`-tGH0mk!b}~*;*;)F?L`zXm}oeDZB5XFDpiNqP@ims@EK;Ls|^@97VSU0Mg*OS6zHz{{YI?IF=%o1T{9$t5vz@@WgY$BSSPS z9vP68WMwr4NYIRJeam=h{;hnwV&#mJFLmQ-Gt^#$R=VI{TYjo*PYEwe%L+zoOHFml z2Z0)S=Z}uK+z2-9xlNQ4Zg*;qh|3HKb2Vh;;idqn1nHOq6Ybha=54!_X(MqWH8`s- zM0w#&)vl|aSl(=Qg7x=A5pE*wB(BP?CF!|XsjBL@P+KL?VuSR;8)y%t(Di<}y>cMb zVZX=f`S_KO?hXWtcwvBIJA#Y{5nBHMEKUBaCgvTtYH!DrZ4^=;%I%X9zj@;U3H2J( z4jAr`RcmT728=+dq4MK{U4EQM&G#BmL$h@p`22imf8&lds2W!d+j51}tI*P_*%6mK zGf`pA|vg4l#%;t@K~}IP=d8`Qk+*j z1v0E!{l>bP3jHAAMDN^!r?~MEQarE2DYD(g6uVf=wyZ>T$P6l+5ufM5xLwiZLf~Y+!kou2>PLs!o;6D9g52v$Ylvld%E!2=hE5G>wEq794tV;^l{~Gb1u#Or=rnp$ z8in)E`D1XMsO0a*+pC~rok6ZnO_eK(qm(Brfu>9;f&1_~$=r+vES<%On^d={fyP*( zwZkf(mUt2EHqKs6v}?MOa;)Ey9_DzvbhUI8HN=7xyRjR~CsMCOV&Zy;{V

      2. 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%0D%=LAIi_3?5K;TCZM=&qJ-9gg z=-Dg7_~7zvwQOI$x*dlp%<=KXS- zF1oMY?G2)H_VQx$&XdQrtGl}18pEq)H;sXqR1}IB?;c&Ao@^EuXD3geUzH*`=f$Em z)*ObR6d|hJa}lWnc!qnjj(~=ca?ZvWW0;xdkfcZ{l5zfWyj05DBa0obtSjD{7!ASqyosrrGeWnyX@pHk`jb`DWO z>aehC0D4^D_w?n)ln&wVcKBk}>s)}%Q@|o3bJB6LkUydMA9dmPdiZ&1e-&FXJc%Y} zlC`NwT}-N~_ttwm&yi|a9}yzNkdUxiQ$$Mb`EovD0YnNY8gs9f!s@@QKuHwUoH8O@ zu&hHkjp>ie^fPEaYr9;34{rD7NrREUX5i*AvAp3J7FejL9PAQMgFyk7Oz@;pZ= zQeR?y#_%`=QLTTGQq(dP&_X;p z_X{)r7K`tY{@1g9GvvSc0H3t{`GLN{>7P6`-?VAo5P!A6&)$U}eI8F60}4qs69s?~ zF%q?nH`b(-B#WXZ1)fkM4GRW2;3chY$haaF}AwOf|;?jp4?-%A7nuTdU|irC)g{xrmQG#!%u+ML3iLA0paQWnll(=4iy8JHA60H+x1StF{>va_a$ z&@o-}bxiiLimd#`%d-s-kf;?w5tq~Cn{;fVG>bN!-|r4>NS(rAN{{mVopJw2riSp> zP5-OSVkh{5sTejyhyC#2^0egqm9IThP{WK!>-A!@>H+cj%bWVp13(3x9EK^z+&2E@ ztDCNE`mWjT_STrbZ|`;o5&h)5PwsYy^Ro>B?1oW9_lIHGcW=M>=;~&>-3=;Qef{-% z!~6TsS*`>CV~kw-WiLfQwI!e;n_)T`hY!&lm{ZJ#xroG=jWK*rUPc6COf}|IIFX2! zEK-4@DkT>M08nF0E+xdMqIIu1rK~abU2~X|A@a_Kn5$^TItz#?XJ(EmJ7y56X|Bxn zS=LucA2;;##{N>0A2Q{)dj9N;lhIYuPf7R#PJY+Q{Hcrbzwgt#LH^VoeZ;QyJRnZi zv9p#?pqdv50gGsi(OND=Yuro-k(mLt6j?8O1Pmb_zw_EG3e+fFxeps+CJ{j(QB_f6 zIHx=S%}Re@oc?H&e+100qeE4TK!_m=sMMGgX0nC>fIuVY4e*I)h-q*Aa?#%1?)tV} zFT0!Vp+*X4k$H~J+LFsr8OQv3^z!Ib_`&E5luSrWiRgw{I4qS`cm zvtA&=6mvx@8^bB*lymF-?e<`;IbAOZanZPiH=e<@{uih4x4YFZQ^O%{lsxCR-;`~D zUjh8PzXAS%Gx>%?`YrFt_k9ZBCxH|{^+3LTgvSHQ6ZpipL4O8UpM!FReglEws{;Se zUvBy0$-|T7Vmut$#@EA90S?31HNNq#l+rf7QX6tk*VlJ9ce^=+)AcH)+;^?DHl=Kx zWx`ZS*EWrJqT;$}sF&3+j7 zhY=C$im|>$bBJBr(}0zz9~p;$pDxM86XoC#BI@^O!R9-zB`9r z=7oW8YVk7wf4sA8XIh&sH0M&DXnLB;n99bx7D-d`NUDkoqILNU1+eCH08lM6;pon- zat5eZMNDa$BZGD+FAV3HMq}%qL6J}uL$oQEkRF!wX_>wUrUTQ@(&`tuA3;fE=$i?t zHk-!q_06_&N?*RZxxU>E<0K-DcZPThG3Q*Fxz_Tk@7kuR=TXzR51+j}97bkSM4r5H zS#tjH>8q}9r0A>bTM-R0DuA=*<@FX3-gtOEhZ;y;y4H7%AE)qov?ZdJITx*I2Gx~o zjj40s`>jch98-K9Vg_1Apa|784@ESk{POB{w;!%i`SsQHU6txJ-mLmI65RrRsleX`w`07pI0!k-KLGhVArO>9(V}D#Er4U1REt9A z-Gj@MrfEV0P44w!#9O6E|*`k77*8cW38E{AfN=$bqzCxkfdgV0ak@ejWIz$ zYnhqz{pBY`y|;_LDOsAv#8i-|RbdhE&KS0aOC8(h(sn+jTtZS&KsY7?I13^fC=-cl zLR~jLu>0U{@@@I#n|fL3FI>wB>%ZB;-@kDWTm3CQz)+sv;%ANVAWpPc>-$EKVv^bm z(a~Qkh_vh*1gOqMV@#0(3MrS%^NsiR_U>SDm>DU0=I0APfQi8<=M5mZz`i|Rq} zQp5lKV!lTHF9ym?!fawL0NtXi{>xG&KL}C^0Mxus*S4D!0#J8xVo0I=57pi@Ldpc=ef1+I&}o2D>pSvhmaQndUD z3Qv){w)F~x`7x?E{>q#_p5wpseEyZF8^;G`Ax3M0Vo>c{=NdN+6BM0O5!L=4eO}9m zw)I35Q;IQN-|S*4i@pgl#gH6oZ+O|*7i|8=Vm_B3s+d_edjzAWEtnVh-Xr+Lw*Y(= z^9Q(FY4bHqgZ-tB@}^7zkABE@?~tG5$G<}VoB!7Sg`ajm)-HIlT2{A~cmDcz*Y~Y8 z9Ok%QF9~ozj0*JZ<;^^YDh4A&@7-Yx`(e1eIO)4)Ka4eV3IStC-rLvdtRW?9n3-Zo zP2<^_R;4i}8RHu_3{xr6G+tGmv&+7nVq~J5+x>ojP|;zW599FQ{48fVj1vO2jjx(3 z=iGYL&2xDB&4+ipakn43&M%jXu5G4iy1v^ZQGMKo!~6%Hj6eJ>`cpp*|HsdpyVl=E z!-hYnnEt}lpM6jcjTLTu*QsFn)3MI^(8@T+A0PS!NW1=z?m6+Lb6yD!{Z9efAM zpZ58O7j!kI&t=IXK#ZxhQWmIQ)Tok*JuaC_5FsYlSS?}@v#M(KH0iOBM4WOdyK$8> ziuTT7(TOPK+{C zL4Z05RD{j4ujHpWBt-On*FsqLKNW0t4Tu;gl~hr2^9U)uP=VW?Ra~Wh_xYZ<=H{h7@89Ay?@N z+((KZ!-nd>jnEk8T4t4^)u?I>9vc!YQc@~}XpBXG479G0rLH|&FNSfhl%*;p387RS zD-kxW6T~uVXYktx_>`j`Sh!~he{%>g_xYzM_ap3I zG6!q@{Rle8h$S0qi%7{;=#2mnVrE07NYhwD_qrH8RwSi}fDjWi)jmc<>ew*d1AeOj zxDKmTGy`n6@((;b{Qe(~|J*O~UkS^l1uELEmZ3<~HK*(4ewYZUz9YX8kixW$*#JD5 z4ll>xE>0!o!!Vt!I%~OUyokn_s?M$soJuM6TCO71#`~smDILXJ6`QH5^{$0`_Yr_r z!po5@C5niIP>LwvoQsrF=J@+p^z93G8RcCIPYVf_Poh=F7xVa|+x&IwTJIv61b}Um z7*i1uu%&d?g5hBfC6{I2HjN*r5K>~I+wCxn6EmHz7YZ0tu8;1;*=CsLd5$NGmH-Z^ zJTvyoe)-wG`SPBhnDQwnL16!BY_|wM0|+pEgu4Uw4lYk~yMWJb;s5j0yh8uuU$_7M z-)_Em=w7OcNZhs^sLmlFQIRrDp<>^5hjE(coQtT$m|O3v@!T5TAI4lV8#4^!VHhjM znTRT$H04A@^(^wvvSGs%V*!Pxb**8_g_eEFsmA;EouB8lT6PMs+YJB^Qduv%O6_Y~ zKhE-ZfyRMmw%w)a&7-LqE^{Qv4aSGO2LOcv}EdXntc#Mgd<`6gQ<@xD4rQCR5yKwL9?l9cl z?X9(^C(9yoakg$7_vpdd*~$8&=dT_;I5k9d9I61`+Yr+<$GYmP^_{cz@+(zu0;&~c zQzzIpg_W7>G+Ra4nA#LF(sB25guN*MSZft@nqyV>%^{CdtTI|ec>4TR-?v57d%Ik8 zyWJ3CGE7oR0xU#oNE9;Sg!ByQm(~7SF@^Y)K@psVl}HOJY}&?(=&QT^FwTZqRc>zg zOqf+6`&Lv#xRCBjk5}fl-s*~DdqZRH%wFCHLGQRw>^|1)>}zA z6cxg%n=LAr=clKe4DW=;(W*lG{G{4ywvnY+&)+T%O~g28gC4$ z)Nu3T)Dtl0QbY|AGaF-6wZgiX;QVw|6{pVG`oQ5m81Me0lC@SvOzR?I$&&AND07JQ zF)&O=VF@1X^C2c@jd3Q$Y^0nK7UHHepE~u=57_>?I?{2vAQcXskWN&8ou z{#Ts86TGtiy6+Ew0WkyA&zg#`swIG97pV1<-22T<&IJ^*l!|amNfeX-3CTKBGtqLE zlq-U}X4TeA1|c?Mq6<6yr#~=!cnkl+7gySLTW6ol!?#!%&(5FU?j$BaV8etcBE)>0 zPa+n=9dM7>&EWvlu9urtA3_v?w(-``9Fw)Sx{UDX2j=4{5}*`mTZe@6oL)aXL?lu~ z;3(%gBCP@8Shm(LKb8WBu1HAvI;4Nb%O71B253lc3L0VhfL{P| zB^Rkdynv->hy=i0bC@C{5aIqXiO8aBn#Na2krWZp5HmAdW&mit1EL~HMPn+5{n$Eg z7`=A~=YG+<&u0IH4{>MYbdt?4A%vizv9C*S5CoV(E?N$FT_}K&TZoq zj$*cyGI0gVsPp#e^DB`ug?M|n_uh_E%()yj0+!hZQtV0W9J*w z&GWUw;G1CBR%Ja@oEQLcGMtNOIR*-rTw2S^zQLw>n$p)5e=*UI7y4|ZyDV#j6GM3} zjrR|o_lDlX{EujQufxBd_30c>011H=3_ycmRVn8tBmgJ?4v_#20ID!TOSmR#0Gg5( zB`uJ0kwcagQNv!zt%2qy;DSG0-`o0K&l}KRqh4%n#qS3rvNa8xLS3m ztL2+-Jgi#z#=A;cDNCZ3F7sj|l6`pnjfu5mv3x z@t_3o-dSr)Db^T7lp<$mo4N^GExX!I7Lnay>f1(D5sydkVVI;yUBniZ>S0F15h((S zLO~pic}4c?%CTRrA6?jz--^M;80I*Sv-K{dJjEDOKHaRE*2k2W#3!Kh?$7|5m{`P} zEMKOw-4CvAUsO}dh;(+gE~QK%-Q4bPZg(jcHoROkIiy{Tn`M8tS+U`h_3G;SPDC!w zPEJo2&e_KgFG5Pg5NcN;0*F|JorDB*j9TU6Jo)HOtG|LA%`JHE$cEFCRoD6VKX_j6 z&H9B`c2@@STH2TntMVT)eZQVy)>qA3|C#+LV$g7;ADVi`M6q1;IOCKka(i1A?j$Q}1olHit2QYRWmp zYz;YQ#wpgewx&h^U`!?F!iEhY5*lL7Wo@uSTo&@|Od9_FCYJ~VnDd@&1fu-!@6tGx~DI0axR_=Ds9aOJp)sZezVc-;lw z6FEwSZxEssJ$~jRUP_H)RX~NCRF*0KgI)Pwwdy_nx@rLk9ZpH!7?Y;-ukOl^Omt!S z#PClQ%1lOOS&ENI5obWRTEvu7Ovacwq@2ne5}V^Pvh}uB&)ePLz5B-Z-kRokeY?HB z-6GP%%d@-PusaOan3MIARh=bc_<-%RQQy1Czh}tylM3Gha0U3(pZ0na^FRHn{X3-r zu%+#avBi3SvDxKZO1V5;^JcxC=g>C3Z5mZs^sTdYnrBrMg(D9s=2D~rfNK01ycYP1 zT4zH@plU7mee>|a*><}h#@Sjk&xwhO$l1yI;%vP?4AT@zWL9Ns0pKu9HK3%3TISVy zky8eRVVvrBl(GPzVai2vuG19;&?2zkk5^ZBUF+|51AwmAi~V6tS%?u4$r{at$KiYP z_`6vD-_PhLm8h{_r@oi;PK#f9YN*a>Vy^5Z~7z7`8GuACd^)T4fa%STzijQ-X-wQK-UrNTTDVN|tz6de$e zHHHnPl-BDdBD}iZ?hoTMN9U|}=KO43S2abHsru8^dv|eua&>(dVoXVl;lnt2XD`oA z`mVKxuWxrHmB$Y+`o8_>`PCd^is_BV=Xcw2cNh(G%9)Vl7{7_X;ruJ5VofS(>uAfp zrr9ToO4AZ*VwtrrL5OsRaXLN+xSNh&J6SI-R`Z&4^B>2PoKX!SuaH zr7nf59ikTRc)xSPV=&h79Jhw+VG4lT{b1+_s;ml&r0M`JN+iT9a$h`{l`p^d-Mmsc zg(NuuH9^Y0eKea_+5~G_Ln$U^cGjkx=V|U*-!v}9Tw_TZ?^4c$VAvEXL?i+?xBDuR z4B@Ectd3YBJUdy1ka8|<<4VazAjZVZ#M1&0GLH$F4nTM zyo+fL`MXsAKvTYTdw4L)((<`r)5(7}m>+}glb37i+kHr?YUpS+IJU?l2!KEp+O7aG zi?hs(dhdBxfSigRg-8aZu3(|@&N`d3y!MIKYo=x~)^3%E8t)EsdDD*n!FNnRSGX1?9 zb4Abz{F?BufU?lHi`)tPg+RZG&N%zutNjV`!TUqgB|=7=n72d)QBrQ4J@%tnn6YVn zi0SU`fC%gL;>p8{IYetX=Q57-X1(b9ZWyPW%lYY=iN|rCLu$P1`_>u52vZ1v=^Iz^ zy|X;OtNcS?AEJ3Ge52m#&k%kj-E19L24~OSd=N?+c7tQG-mq_)e4N^IjZHa>(;RY5 zTDUmdl#)S}n3%DMI%}<=ah#=IMJgf2i?frib^F6OjB`wR*?0THD5};N=eXXO-nkmr zghkbGE~=^zE>3ePRohKWZDZ#UYvA57&WfmQED;*ZNR(5l#TOi7pA6D*bGush;}lcO z%#3V`N*tzlw}*e+miM>%A4k)4=I2A_8oLQ|%6aSCiRd`7G5p#9Cn7|3eImwioztXT zQZC+F6s`KesG5s9gaOL)S$~bq`@MY=g{I^Xcgzg51o}rGt-HnI%XvnSoJ+^K$8w{( zB{5hELIJT@uw>1-p|aF`Dv33{2k~2|d_zNPDIXQgDi2HeAeJwnKX|8x4L~)x-V@&m zj~+X$iN|NBs~QEc?AuSg`&QRBFJD~)!i!foO#DsX@bMVq_05);UZ)X4N&FXGD zAVP}y$>RqV*tS_MUtQg%m{TcIexuIKDIYHefciyM4cDUa7ia4tDk|Hd}MKo7=r%wAR-6_&KC` zj_XyoUN7qotcdo`E;q~lIM?d!;pO@MFzkonZabu$pFF$_F}}FE6#+hyAD}K8oHa-& zP%#ToBZOWn`i_CFaO@uHLs3uC5aKWe!wgvQF&2qJ5d&}`2@$W@7sjQJ*HaiI3Ys zBvggNFis&lXB%g4_hX2OnQQ-K4VSD6>a7uxT!i^JV+7FUqQ)14cXmI{&Y6(PUbK(% zALjAfR(WXwTyatW_$QvjwfYAG3F^v+5VXI(A6>+R#50R<#Rgj`A%SZe;0Z|;BRnf$-Lft>HpQ#Er9E-){Fq$-+z}i!qFVuTeEp+3i)L zfsnJrn3~2J=6MeHgJ?wns=2-ZPzn`6kwP>e?#KA9#D87Je`^D8^n6fQ5u6BLb=}W8 z{shLaT<3o+;9nDW!t@O2rfFtoBnBx7Fd>6M3VIjm} zoX$?yo7Lj0A3U?xKDs>J@28MbNa>9SXUj$R>gFz`RCRnQ<)S(s@{H;CzLT0e{ld@U zynxfcSKw{NFVNrA{CvRH+ho`++G(6)OjUx|c*|$!CsI@qa*B(-YZ_OxJw>E#UA@m5 zXOC)iKm|31Yh+Z_=xtU@?`_R$NU2OySS|Z$iaDjGaUtZk@w>xtdv`FF8DZhA8dKk1 z=d7w0m6)@&MnyrvSVN3C7X+wK!Cb}D3P=!RZd+fK(0$kTeQOL)<2+8G9s#8YJ2TEj zulN64?lWIOb;&39zHm`z1?45-#vMJ*|qJf zt6L;wrmk_$n3T(X-VN!!f4`m%_kvGlW+qNK8)NF%Tm4pu7(y;ZtU0m*0I+1K4A}G2 z6%&nf-0lut)2vsES66qX2qGMY@zwQR%;j!-K!ACUL|l&mYfb&e>fg6YD|0F$a(c3U z{P67Qi>qOnZg019NW@%34b9-3y-8j$A8RzUY zMP_aqU$J?$f37G_1WY;e>p?eDt@*32uRhGxZt8I&T&Y=p`M1qeW~ls}&5w_8bs5zYb!jLio0AS5GHs&`-fhrnHi6QOx!+O<=9MvnY=PPnQ zZ8^Fv0c)RU4c}}J)*eUJ3Q9d#FU*g<1mL5`>p}NzVXjr-5xh_qD6#^wOykCnB~Dd{mIY7v+srn&+!X? zOMgM}W8Vkv=ge2Xj(;7}!uw9O6&4D}3*pulfDeo&zg)|$nlYZ_N~kA{hn_J=X$ z5@H@JYVzLAqXGz;iwHpD?DJQ*(;U0j148wXIcFPhtKut*AX4MqksUrxz}zic5!vns z5nc3cN+qS-_pPeTAsx?2q>4>SSyVKO5K-&xaW@VqrFxnm#B?0`Sr&j-+f<$&{_TAD z!*A+mBmRp!|FE+!sV%K<$I+%dbzNjGM5d1Ziri-l1K|DD%M?@2snj~L4&Q1Y!-RxL zmO+(s0cHdUQ~Em@=5_zdny1cwp}>mmw*a0SI7Iq-%%52=PEOY%Igk zLgp$(OXbV&fBnVP4KwFds@?T&yFHAvWwwR^Fy|stjtNRgZR7UClu{}pAtu9obGIAk z=)GAjd+*%ySJ!RhPd3YO4)YwQDQwnD!#Iv}J(Vgs5bn3=a6gwjeu4Kl93a-qyZVg) zp}xa8mm=bwsm2LoOwJh;s&2cM=bQENbhA)^tD9{VNiG-dqH7*KI7h^fp1nk*u60f0 z5YZa;*2I{J$yx(|qRK~Ys=oE)!R7hp+4JjH*W12ty0%$%jj<+(qO)@@XsuZ;8RQho zW9$7m=6UA6n^earEmHwdYq;@;kQLzaeDm<)R8&{XE~eZz9ssUywufO972EgSI5mgE zRm|jUb;USmQZ9#Kdi3zDZ(C>0ILEu~VY%#>FvMgGSM++di!|PrQnMtFdz$JwQvl0M zhE&lzSCzC)45cH97B>)&SO|Qb7fpa^w#n;x)}ED>co`Gm^|QTZ}oS6T>tPQ z|94MmVn$FQTJ&AcC8t!uqE(@qOF6>IivVKNxVCYKkV_qhLn)=g3+p4AbK0zz>(%1= zc1wVjO=Ao=F~8;_mTLO>K8}-9GkB;?Ju$~cCm zaiaPgBwoZ^2?VO8h)PjFYZ!>9DgMiE4|9Nj>uS9|TYwb4S6UKL1%32=>#RA9bI#H< zKE{+%4J0zmTr-4;D!Ut1p=J?>Sn9{Cv+z<1A=ZwFsV*+jJxq4YQsPC9)3*AAJ^$$a{2FXphF(XWD%9(G6jl}8GQ_3L$pMO0LrHO6pdD2_)N9Rlb$ zhuvZ7yLJu{nHrTgXPsgxdeMZgO}r;<;hlmX{F0cCD@#<1kG_ zG=|SkR(!HvH{RwV&RHpvi=J?uy~`;xQ`^}3L#b%Yr7l!TE^`R$Re!Qt z9)`Kv*iz1?C+m}w)$R6B%k7l1f&!wX(t(0=yE%jqTklgYG3BoH(-hjqIcHKx74TFI z_(jUmzygYZZR6)TR&K}~Q%b3tjcTY{5yT|#x!wQnhj0JX9}xJ0{@JgY5Bs)pZd@;& zl(WNO&t~j8Vn&2g1=g0U)hrir)>J3B9H+iS1W?=1a{N7CC$u>cAsmTO^)W&sUU$t7 zZ2;p@%^1FSKea`F$u>XZ`Ac_uy_tNH&tAtMRAz`ByT&KjfzoUS#upE;kXT zxvYr4Q25t_{LCSJKG?N$-(={EL;kX$c;~(4S|+<=HGMDMp;~~;{rY;G=Xs8Gmzj&i zlnhfPt{ponL=~+U&+ABv>iA)zo4fs@@0N>hyFVym$Yr~qjI(Ua_1(UROmm`ALX4Zu zD(6(Qc;*}M z)=TH??l8_F8RpB2lfLWjw)@-dKBe;L@?^Q_?zThD#aeT^Sq|fzOF61f4O?T_7;8<} z_`Ch#_U_Pi4I_!j!^<;g?N`74Y_(qcMfdW0tH$&>AIgo8gm`ZC|0u& z03cRfm9w^fLS{M~W+J@z1p@wtQyxnxhhbDzsP6u%3I_DfmgC?KE2dHb40DlEA0F>* z%(-MS3QdfQ)@5s%h#BJ;zVCARU8m=#-2AT9Dgk`%Zd$u06K3a(AuS>z-dpe7ewgZb zwiKzOAgozSq6%u5ytgT3RY0cuF$MxcZ5aWe>wHZYGEAyq*({gs98$V(?&}LM34S_` zKYSkk!X5qev@jOnUJ+J*wYnxxsq|e_M2$7uyZxeTPEI$6!&K-0ISVt_IFt%Rl%mYF zn8%CRbTuS{a^mrgCs5)y>F1!7>=-WltOmj%NgpyC@`Oz>s1Sj(5 zhGds7f4Mvy;Q1EDH9nZ2`x^f>FskY2Cz!gW?b{(IMvN)9zUe#9o0HAy$$Fe7!<0)& zDOqRgo+cfm=ybK{Dpvd$=3rTJsh_P*Q>-zo<>D|*F&5|SYS~?1Z*RAUMc0Z*%2H?g zZQFPNqmUYBncK!8;4lXfExELftB&cTVMQUu*!S(_`N{2eXAIX$fwAgks;U?Ov2AS; z01!l+Bcw6^W4|x`6aQSCuHYa0OXf?^cb>MsDc)Wj4(kv;>iT31NI72TRpo`qOx74{ zxcYW;5vhK>pxK8MuZqsm8(c4o75Et3sY!@mEgu`}!wp#R?rM0&4Zo4}`gRVCaRS7JWk%3=g2$8OQo&%r-5@$vN- zpmL?_*prwHQ_iJzCW#zECd4B#54B{8DH~&~p`sdNK_m;XVC2q=vw}Db69T-`yT9+E z|0h6m6o}D-{^;F&;k+1{s4lsf7y+>H)>$*psa9IG^r^|P)zqj8-q}h;R}o@9s#yD;tulv84llfQ~s~B`Mm9n6ax^CWep-7#Y$D; zL_{@^uZUV}4u>JeoO7vs^OTNI_-WQ4VSd%}n^KwQc;sOz)T90|%*@+zgY0Afvn-;3^%@S znqiu&-i1$3HxDn)?sofWj>Z^g9VnDiQYnVHzp5yiH z)*5rvULuN$AwD}@592(~v2EPRX6d|Z5X%_u1PI}^w7qS7Ey)klJWsLj8&O4MV|WlikB|N1B^{i*>)IUC z`7{;4S8a>OM3vViH4tOTHGWT1%rzPTL7BOh&naeN@{K)C^Ax=`S+yW`Z9^$Ni>VOV zn5K~K6h^^qfe$) zQ&G@)jukfrfFk0(Bf{-|$T_c9onfw)tlAwboh+wmJ`D5e zW~HDvx7#-!UNo&sxjbC2T#U99Yt3P|7vO8*tJU(??+(H?F^8g`V)#afjJe+)`Z>P; z@@~JMyT-?mJhKv(aXN|V!aEoyT`v6PIY>S`S?~ALFwLi%)$VX0r1#!^W4-Fzrn$Pl z69r>PMDE>_LQE-3+xV_^bq9v`CYCB}DMbmPsCe%yRW!qq>Oc4b~sR@Ix@Y z64;R$ncHROoe6X5yVf`(qO0C(DJ29Z`Y5`efabpr`X!<7Y+#kLqApQE6afjuh-SlJ z2mw;cP2;9HAgCd(YQ}M#jWKnkX{|}Q^sO%{2vEmaf=U(C3E&McLTC|Cq+vuU1Y{R& zA{vWWXHYeza(wKa*@u*i0OAxgtDXV;vv)TuO#e;C53`D~pWP0*AQ>~Wsj31b6jfw0 z%ys?2hV(e4uVJh4pDFrz5+T~kUK$8d4BNhvF!b0+1y z%k~@F!@vAPgC_X#r|r)z`V~V?sn#(S+)#nkh?rvmfN2hFjEG1n{o*^IGL(~ z5*knt0p{8%SUf2pqX-b9vFxo)DbFD-x~A{ilyb^BrYxeXWmi;hW7;FKwM~&%lf0YYlam^T zlwmVyzx40*-M8lQS9X!DRp+yFr4%BHa~#H*m&@hua5ze1MTjuQR7xpXRdu;&8t>*g zrBuAPNH~sxm{zOB*=9Y@q3@fLMF0q?5VJKOPQW9?{8y*E-34LJw7ukFf;hEwM zQ1ni`%gkU+^^?qVcyNC5@wXq(F-~(Tr2wKJ_Jp1=5Z#GfU>QOgl@N65S~Lbk3>}&7 zRYy=)_Z3EL4A&NliHPXpbi;;;ux2n3U@kSLhEfr&fECrE!bH{>P|Z0n+s0O94bfeZ z(sy^U91yofE}lGGY}OyXyavKJjPn!@Q&_F~&3d`t4K{mW5`X{I^UdD>>ZRMi-hs5IVnt*_@!)yG%P)MnkQO3o!`$t7d;Jpv-aILNZKsT!H4@y?k2VQjp=JU^}My^t~>reS#g!BdH;A$)Q5 zY8X=@I(u|JgYE?m3Q=ShxC7iP7Gu5v%J*`4ZwU)qh*0J*UXN|aX9O1pzZvCryPf;R zyB~jN%()IT@3#B%)Ai#A=TBc;A;N0WjZ?V2+t+?hRZ}iG3nD=&a|p|2Uv0w2?GaOz zFjQ-~HS8=e7hS2r8capiN@;V(EEg!h!^V$6+9Q1t&4El|E()uzvCbBS#+sP2BBqo> zNQBsu0^`K|{usVKrLOTi#0BHZ&_@MF04xQ(v&JG|oe)-~L#PRPigQS9>sQNetd)K# z%mfN3I>)Grjkh@$!v+Ckk=14~jdPwNm*NPQrL5<062lwQxH6c?B!pO05o;;TMB^B^ z$XsMI?EjfE|BvAQYU}?2%pY5J|HbWa8`W7Gj1?7lJzYb(r~Dr^Beh}!1p%ca#~Kiz zIt^1ywbianYdInekE;hMg^AXy#V}6O9PW0*a?x6Au7}ua{F9dla`GR(!ZEt9qHhcV zK()RhYR(cD%O!OP`3|+HQ>6k z<12KKE7a|X>|tV}R>G#IUBgiH8yvL6`$>Pr!IuSpNublRCj5mxW&z{y-@7ZHSH5({ z7&|jhwZp3ru%plyoi&J5HBB`zjuCT_-F~cLymLsU=n>n-EC^bPVZ@kJ)Hn+YRgBVg zP2=4=Z#_B;V;xWrGem z9vAI)oGo+PdJ*B}a#7WBMA$TL(Y50gV$7u!!{nU>#F$db={04Lki0byFHdfFhr8{d zpv+tusa@Y%HZi4?va!Z8*GNVtoI^B4)^}<4$PFYOmpy#4O1>q6Fss>QgwhB=6_{5eX_v6x_4h%x4q@(1+U1i z7Tw7_`)S%apKLXHqN-X$#;_w!+B_(Pp!_Cu4C;C8cy6w<6H%>?eSjN_~)!QB|C^*4a`@ z(>M`1KihobV{bZRPfk{^uI}2_TWe0%3u{dbDW%LzwYfZ|2^Q(Q=E243G=*^rbU%XA zdrX(NwjP5qWoyl{Z<*OQwv@71bjGl=cAV#%7uQQ-Z*AFb7hyUSw0+ku`!N;Yb?f!w zb~ikFd?^asEVpQ0Ci$p!x19|ot1F*g3_rM>-+5HtyG$+Ui@Z2z)uLC#AHKTbzO#J% zUADW!V$q$SZ9<44re`m&hjDh+{05sUmt4xpX3;kOb~}WaD~_^G7Y!eYSqPenlp>es zC(haHo2|2^ZQN8~D(ba#5^sfmOxwQ(?dTdIBBGpf5p7#vL~8s~CA-cc)zjG#F1;mH zTCcts%MH7mu6H6E)f)jrn21xB#+#bW*?5lt#+WI@ah&T$d9i4xDTqLwe0GhCDFad8 z`jkp3;+$D@jbWaP9c}Xz*3+TNa14mcUvzHpN6$av}mp+rDWVS0_n1OI=Shu@p&lvRO380#!*1 zSSNKySKzUK(<*bV5v0{6iHK34FViR7+!pxt5A9D(mj^9_Y9Vr_PRvvU6u??;{c(j> zE7~IBytnxr57eTH+Jk+jBw9bC0_N=eDbWBI5wXL{s06-urh$g3R zbnuzCPdGg@|Es`1p6y?s%wHGtb3#9(eCz!0Zg{Ess^}qRgV3-M zRVCE>jo6XIUN=^iq$8pTOcdsb1m4+UoUM1ZYv!0bQI`@C2|z9?pvcUGxs<+d8)vU? z_qW@9ZKS3-T5D3uDVMX&QgSXuLV*DKWu{*`U0k(oijvX%bl`c&k7xMQ68^J;&IOl? zHdzZr$8jzIyjm^im~zV2uysl$rS`%U-gtlvHHFEy&!sfIZhc~+RW|-I*vgYP6d1Kywa>>NiHc_W(e`Z@|z{^ zL?>fvDq&rD)?VZ&C>33;I`3_mQ$2PFu~r8%0M0}s(x_^kZM-c~NAp_hCnvPl)ZKoJaS9>KskT9iWKmnhNLb69Cg)G)^hGqf zSj-5ZDn*IV8Z(E~cxw!Yn6WxEjv_ku?pu$BVZOfGrBZf>k)0D}VwRjcm0q<4Xi*GN zMj}8#m~yF@9tF)sA3ZoX1Yrsvd;9S)jD)!8nv}Aro}aFtJi55O+lG`y!8$g?(;QaI zMG>imTTIDW+cnJ;LKPANfMKozZfi`}`8xCI`i2NYNJN-ZIXzi{!tLF@zQC(x&&(HR zr!~aYIXjM1*EP=CahfYOcbtM@MuZSj&Qgs`<1~ek`@Shf@hH7Hx?F~Fs>r1x`pJ*K znR40fhliJ^)|kUE4dZ-uw{wV(*Gnv7?(P=zbjS*A*RK}b_*eVUwH`q4wuj}SKR-XY z-R?nT-8byqAYhz28pXdIG=n;eIO|6MQ&NiP;<8?hb}2=8|HZ zW9qvu<+R%m4=ztbOs_#=RYnw3an{6C0Aao8+t!bBs1jvsIORf2&e@#H#rerR$J_1R zc?U#1hVP+p0_BDB2h^0)b!$223`9W0maA(2bhC)n<&9X8-wIGl5rvqG65G}trwYzJ z%i3$+ggGG3&RNE~ptbiB(27AhX8QmfjuD}X2yN@7$Pl7ovtIY}oD{%&gGCWxn1Xk9 z*?CqF5h3K&;#Jb8#@`Y*1ZM=N({z@CEg54Bsf3VT#r(%{{BK8){@fJbC<2W(PG3Y>n7_~YSk4IsZpy%U-acsPfvXSG}C&$IMZ*0z` z>UWqq73~ZyNWAd&Rrtj~n|Gfik=N0$^4iX8bRm7|+VVQWgrX@B_kQ}>xio98A! z+@&{_{~rndd@!F^`@Wi&=)R2hSA}=Zeu3>@o|KIJAx~+Zw@eEK&paXpL?#3xAdsR6 zP~EgiK>@lVTjB&zu}ld-RXxBmB|Ax2u`cQ(uSUGvj-;|U;o2aWB$Tdz89`$gBd zYG@51mLkqs1a;ORbIOGPjiG$M{8NC&n^H8y@;bOO=KScv*`n*d^8V8)gvSrhR?B|7 zJIK9N#SjkT9GRzaY7}NrR_zt?VegCdtHmJNcP*%tT=v5x#|`;0eIpk!Op55OF$OE4 z+&M;oDWuvhg``}jKeHG=CGeAX_?N()I+GQ4hS?a&Wz3~Rgd%%HWybq#o$8vZ?xOlm z)XGZklY2#U3aLJhHBZtzYb{S95>hGZ92>?Ma^;NF5j-nkeb+_jn6(sO0wlxKwM`MZ zINMaoxM6zpjfc#<+mE$oQUF^DD~!1a5g9fq{5Fys!8_k%q5{x*EBAAx+9WY?I<6C7 znxnP$lOKOmkaxRLOL0Zkkk^EdR|}a&lXC%#L|Z^@THp9X%xcWV`GyHA3sj0+-)*(X za?vdo-P32UvXryaO+_eOo}XObY)dY$7uR(FtDsCYhh)w19orp7A~H;`9hQ0&#Z}fF z)ZCV~ae(NZHHOD2B2qQKABM?0-*{L5=eKv;Ro}h1x;4g}u9sJLTL5H3AmW@s#25<^ zRM)}7%hPF|4~MBvW@>Vth@@QF);)Z1N_fP8)vj^BpKi7XB)GUZ3)Ad#d9+&I-rnim zO~Yn(Z9zz?%JlZf-b_Wm^tES*^k}nKIlHi^DLe1>)0~Q2ZkCXBoA_4Ei(B~8OZzgn zf26isuPp*kf%5$hyPWYKy{wA&4hW#4ymjNg&R576Lx4W)!RSK7g>*q0>|sT!gT746y9mwwl5;g30|1L^Dw&zGb$cZr!#f&3O>mfD%Ft>)EqMjHj8W&1 z4Br_m-WftYO6$ci*XeFmQ5j}qOvG|pKYQ#Q2bRGN!Sb3njp4&xMzHS1-680Y6NZirA+4Rhc5{V)$HcYv$iUcA3R~vsR%3jAyUVJj+AtLmfDjE=w60Wj6&quj!yLS`&RWAJ<}3A#eBtPo zh5s&Cw$>RQyaz>72dW9#kuD2}4LRmpWzLAEt2%>s9~q>Snt; zcyEtG@3x0!-^El;H_I9- zTg5mPRdas2xja9KDO4V5N_n1>fD(}+T11{^8D}~Sa(y)$OaA}Q)PG0owq|F2;0$kA z;Y&N6d}HM*m87atK&nyz1QG&7Bgwcy7?5c^z}QW zjEyA_79a^pC|0SYQmIswD&Blg+UZMctvAitf4twm;{0>Rxc8pD_c`BMZ+PbO{GN6a z@w0Aqw9E?DnDfWyT*`4{DVMX`XPZ>^MeaX$-_7Q`?XGP0j9`pdg_v+JTwq-Am|~+y zg?wxmi(AL9Jvx^n&f2!|wLJFndNYNj3Mpqmw9Zt2XQipu6GO@ck#a7^9FRIOXlK?0VPvn2XjAteT%eV@wrxc)i&pV$-+^danHp%vAjy zfN*-UT5pC@O4Ilu%Y!%=NnfJYItN&D*^ts=1n^#X&HP!o#IJas9x*15(F z!&n3uz!M%hyJRdOjWMSXQ%qW9H%z-!6qHo0>Tym`$~E$!xF;M$7are#!mo*b(zr)$ zGbDHvAqV`*hVFLwk6zww*!Qcs0+v)lNLAk|H;Gs}l-ZV)OU}hGH;pBL5ObYr83gNW zE@BK-fn5bu)mmo56_Zwq0N^3E4?xDKv4cV<>5U98+kP6SMb{jktk#=-ZCR?vMAd`U z>n5jA$)i>3M6R_bA~ms4t+O$vdfTp#0T{$04jpsZi$ogS7dgGCsIyg z91FBkS_Ed^qqz=hbNVjXe4vaEK)xKq?|pXs&MymRZ^rYhymg#UkFJ|`ourh~Iq%9n)nlsLEa6E9lW`cIWIkt@#jI=nb~mU% z?LrbM&YHIMF{PABE>bJI!juRP7j3Oa8=}te(RPQ1-#}t#z}j`uTX%2An4S((+c-m% zL;=8Chct&Y5u^?m~DG!@Fbp4^I^oer?cyTw3D{qDJck z)f%&GtPL@U#@5$trdH%%J>en{W3A+^eO;BXkV|1p-dP1eBsQE=e7Gjt#t~RRr&KDm{AzfTuGapL1Qp&N2M_3VB>n15i z1q*BdZh<@svLiNqQ#GMs3?W1&&MDWBY+bfM#7J4r`a3f_P2=mC%<)lLu7YnTmEC?a zNUK>>8;h#vlbLqIwA~MPZ=DR|G){?$h-ua}OuXLgQ_e(mw3;`K4`Y}@Y#LXEBqmCw z95DF+NK{46N~o%OU9Co{x|1bmaE*~!!Mt0~41vbAPD>rRhX6+Nn=UDvd&Tg>{D%cCckeb?N(dpeC%-?imX=7Pt^ zi;$vl;xkV#*Ub3bGk2_^l`*!+<;9ka-d$gEme6(vA**;tN3EZEA7XrZ zu`z_RzCDi_y`9hc$4@Rd+r2fE_j{AGl6DqEBw~4RD?T^R7kl%=ubW>g^Ig_X#T)Z* zy$iXlH~Yn6<}82V<=3TvvFt1pk#nY|A&JOZvsm=QFi95YZS84604Wkv(rP(DlpBL% z<#k=I$Jw;MZ_*pZhJK!nF+@4%w_0)=#@hm+dxoY^PWf zpduxar(>iko=R+|unO^Z$zO@#59n|^1S_$L;V8zhEaOFtyP{8$DC#?U+k5}i`hT>C zCGm{;&9U4CdH2#>7x7U=C2Bd&ADg=S=6P>`{zl1&wlq!5;-8Ni6pazKRU=ieq(pmxP_-!aBnSI z=A+dT5kt(=7`oQ7F~*pjON_bh4c1oXf;8R@Q>g!5R8mNQWDR#+Lx|2Y0_0rnNwvaT zj4{4zH&g6mytmyIYtI{JjIm5P6+?8jA8hNlMIH{LX+0E0qJ~jJ6afavNNww-l$1(! zOXe(DiZzB1rjU@CK-v<2r%nIwyNs8~^cvFRDc( zrOb?VEZQ`->$=n9)x*c~uLzvEE~>H6nULcTn$L z&JtoSdO%_VV&kods6q^Jwd@r!$8-`V6&TT?Gr1R;sY+ zJlx^wB5)yY3{@qsB7So&r4;8)P`sYvx8U&qcy@9Br2n{Owf3m2-2 zZEt`5%DhG{StP@)cbn~)r62%9t+a$9r7}FMHB59EWGVsGD3q#z6lprwHeQN^l$|k) zzCGNMRhwMC9@9IVJRv$^0Yb<8aw`;^j(v(#F!Dl zSwnn?dyiuXF*)y)kc(P?!c^Bss6X$avlL4aHWgB!)|$mMJ+t2l;?uqtW0+tVLS<^k z5K}Iz#oRCt!$gL2k)&FPQYucxm6B_jgUX>OodA#&zz{IA09e5DP3lViKiw*jU_ar1 zQ|!L!2-K-$!wCsNje?F7ww}8-=X@9oA3jB`?1su5spsgb&LJW(t7s`wvLKPM%*>+l z)_M_hUd?B#bQmK8#Zp$Iq4PBe<{cKfz*&f0MbRc#)pi7Fq9NttrWyWNmNc;@!m`Nh?% zZ#+6VTB_oDv+FuP>$_o?YRoRg)V0mM+o$tcr-~0BpVz+-XH7~O5l@d7UE9Q%_rn-M za^4b>sy5y&=Kba6x|(8YZ?pnTF;v8cD5$Dst}Oxe)K(8}HS4-u%ubG%PtUJzovsj} zYnx$;;~1*TuG&&gPgeKup4Hq~*Lr77?K$ha1{6ZdDdlmT#xYDc``PvNZnqm#&TZqT z5a+YDDvDaQb=7f-Mb%le-Hq$b&Jg7+WQ{RqZouus$^7y=kHf!t)LnEgTg=R((CYTx zExXH9w)>&A=Jwg~)AOqetwjQ6G{&&8<7Ti^AOR7z5Tx+c)I8ai+${&@F-B{7%muo( z?HZDTDebPVfz9&tL_oLusd3gjyWdZBHLTbaMU-(!LwPdToMb4lop8GoDe{7e@3G?t z&Hih~^r4m##AhLV$HJ^U_XsJLono{$*E1Pm&ZV{|#*hKA28sYcq=@LOYo?e$4+Hq> zuSuy?>C74)QsyyqA^}lKVap6;MU4oj)HrKIyvW?!I0Pr4QOc0w7_(;U@*MW>pKt!` z*QVe1<>lMIBLBzV5dZW$;-3upySn^Msocx7>dTRb9O=g*{Ts0VTHTL``+?*>M($JK zKHD#U!#1BOyl2xG@=f!y=*KU|e{V5^nEtmnwhtEllax~-@NNSrl2=poSsxbIPNDU- zj`u16wg|+WiOCsLiU1;%LaNSNi%@bl3Zfc|M1iSDN$F6~jL6Q=TWuR}1!<9tWvqS0 zh_;lFHF$rroTZ#&N|lCVxK81r(&6fk!o>Bo!9<5P8-T+!P;c6I@NmH>H*L{3>-WrNUG|4ih z?`h++J-w#9o+M^mLVmHpF9vvpO=_FHHTUv#EW)eRk_e48P2+|!ddn$gHk?ZVK<`~l zscW0+>SX4ky6}#r1Y&Es(jM}S#kL+^nAtjugkzR|KinC|c(i4ZOb zAOaggP$>$4Q%Is3Q&E*!*MtyDu0=a_J%OCd6q4M4I#Vk9p`u1s`(cbZUtMj9sr8PL ztTQQ>ECM-m1t$=W0x{(tbs;%qjYMwVB>>0VcWsC%OOc|6xf=h7XultFF13MW9K)0I zs~F?i>G7iPjp3{7O`RcG!L^KRzu7?{(yZv-> zG=Jgw2b=AFyW6R%VN(ZeF{QJU)oMB4?MLQA1?x?}oni#}6N$U#&L> z`RHH^03!0v)(WT1b{}IpSuG!*UzJ>LogF=XdKFVXJ6=s8Im-$Vb2(I;GaBZ;Yxcu9 z>smyZ_1&`%?)H6qz21$}G=;R7b!VqXG3M2>N5b`H5LM$Wh~hY{cf-58@Zfs;<3n4L zeGEdz#=^TSN4L)wN6U-LD*~88iXqmzB0vZs&Sx{W_VVg_x!>P!>=A>6{WS=<1u}`@ zow04#Sf+7``(e6$dUP?Rb3w`nFr)Yj=4@^G_M`+P=ILQuWK|@WeMliBF2R(rn#23<>$@J%H-5zY_GkBBYlr{i{rG3!C$}Ol=J1ZY8lJ-J zCHTV2^ban~-`x8DI@y1g-4E{kzY6BZP5|~#)IHi6edMhWswXZgk9GXa}p8N>J9TM#o2`2oN#p~1LYY{##&U>|tTCbzV?xBXaW$(pPRTjT#C7&nuO9@UsOQBU`OHZ!A{jog z(GehtG|cBgzpKCc(~JCHzG8nmyHAW!az0t2o8o7#(ob9`(=}Cjtd2I~3Ukrgzrlp1 zXq}IW0w^3@6oxO<&BpO}G@B2a@Y;?(+RSY0mLM}iCM=~i&Z;6KRCwF0Z@qIOl47oC z;0kJ}9+aX|GXNYxhiU-Yb*IMQRD0H4G}w*(pR~=~`!vDW$|%Qrb7(8m2L3g8;iB zTVowdF7=kLAWhQ%zwG0XC)Fj$uReauSExs!TB%Chyyv%QQv>xOMwvzaL+D z?I8ekjrGn|h*~K!#k{o+C3H_NZqH|id7X}%fN;M5aDZ)&? zwJGE}4>y*rJ0#7Gp>c|v-PkzG#wgT5N-58&qUydPo?^4P|v|8g3@#JW^AI1=3 z+jvDvIf-b|+W{f#G& zpI%*W_SW!qE)SnvcxM6N{PNm6M@&ziUN4t@#Y`h&Sz(Y-))C6CJ-UUrg3_; zHiowX^Tl#I?%n$8LoJ=h^4b%b(2{6LDQoH(u;m9neBDR#|MOep>4OQL0(=gB?HWF2 zR@`1=9y9BZOozyG3IJJ z6oFw3Oe|8Q2oYA5<@T-Bc0WEnzXro?DGMou%t=efhF{(7z7k<>=w;RG0#2v*+I;_h z`QZEEYo4Jgjcg2_~eDwUK9}CkZoVAemm;(H@pW*Y-eCaXYYV8oqCnpY_DO5VP zlgMWYPmNu4O&K}GG#Dxg7V~bK@>q)Tt~DhpzM^6%cg+8y$QJc`pF4V~H($6M-h7n7K08YE<_?fW`wJ zUPM5p2vl~fh^Qzd88#KVJ&xhl*~#je*(^ z^=&CqktT>#q#WuJ(M~yeB0>mbR1s%PDWwi&k*J0;1r)JH3@8G`DI#-3{vV>f!|{(n zzMElV@!zVxJ*F=f#wqZ!YYF$vug#ZCvpI;g))di{N+se{y7VxHQc5jd46z#Bm5anu zwDH~$C>$nRRr^$JTaQe63auz3zGE0xBCoF&+mvUH`?ejY*m!FWG!WkIN8dQ#_)-K^ znYpfsQ%H4_FRCNaKBUDo-C}|wJ{QhuHiZTt0@@UNmG3?+9|rm28w4lvwl5b{uowZUZ20`*I>xly4>4x%UDvu{ z4A$EDthdHgniL}M*SjN2v6$aAyZ(;n@_+RPjRx232B9)vXxHwi&^g;Q&Ki4hwJxPB z7TxLba+u=vdV6xT*lu^J$S%-Vz0LfI4_^Mv7vdMwf{dRzSG4S`BX3hoGw;-}2<$ck zAim?7J9#&5E_NxF&AO~7`PzHCcXX4<@$JXscYb;PzVGqh_ebQ9e|Z0$&+WeF8=-r5 z{x|;;{%`-h{rtZ92VXEh_|fL4w@07TqwDtcbL+H4TL{ip^E6_=}_r4##>N$A!%jsw>KlFL@*}VSu)_><${H5c6Iq@U3 z|LQUQ-ItnBnk)2M=PwFw7_76Zn3=V48DLChoF-?DH5_A_^=;RB5lI4tPyx}9GEphW zIBEGq$baJg**6}|p9J|A7yBb;=1hfku5y;*Ch`l0J~O7Z;;v`{Oo$V*5NZrZ3W?2F ziVU%h)15qil};b=#TK{%eq{Y;o9Qb8O9M?7XB-@*}ca;v#Zni1tHJAY(*< z3?;yVumTxk;l|I}W(=|VR`6!}SQm{tB&}JIxB4jf&`Ph?8c`XCkV@$q|H5VW97^QN*(cJfqM#LPeuh56+FR9z`S-Nhu?s92Di6EHzc@Evjz;HC5CY({&yRE0lnl5TTac z6XVgM2gEoOZlxcd>HjP##cJm72Ra~si4-G2w29zZNp#Lx+lgWfEFR95OU6? zZ#^3hQzkG^F?#DXbqu)P5^93i}ociqzKb_(`IK`q?Ce8rZ#}+!Cjnl>H8KG#%Vg(qeWE2 zST;;jR6&>X&M@!CiMhrubr@pJvsV~L4dqlGQq}b9AFvkeg&6lkFovx$sEWuUrQVs0 zsQ}!THgE_pW!o@Y&D5yxk4Y-oLZokL&Hu7%o}HF@%t| zyWM^mb15m8uJKLN?1tg;YVDi@Ez=b5-@84GQ+Kr~7QGgrHHK_>S6hPD`UKN-RwW39o4exeikuvW) z04=H^W@cC}W_{nLluIdRCr7isF@{7Sr9A7KqvdQd?=P>m^_qCJnzv2!`okxNc?z-b z8fNq6qo>Z<>-A92fb`_I1w z|LYgsd^NvFW?S&|-kGs{eZ8H}I#Id0-dtR5>NH}#*@NoS%eAP^XWiMX;g~Nr_RoFi zczTrn$B(v0OLyzYE843FS5L1X7Kcb4$iPT;$} zc`)q1s!WZ_tjIme660z=SrOE-9LFzrdBrdSUYO>`lmGEz9-W?k&UHT-`KQ$urt`Mj z0TI9>!7tiw-!z3746n0f@2K%(DFRUWe##t)8Dp?tGlt;b-T7`3pVl0_1=Uel zIW85-UG2Wc+WjzIU2lmf7g^0`UDpi5RQ>F#Du5o-u`N?#0xZM@V4HOlra!Te2WtMe zV4m&VOG)0_!5`~+b+Y`}5PteMF1&BWnwz97RY2Oon|e@Z;ij+x0I2{Df;3Iv=huJW zsQf@Q|M!>uXX1S3!5^ULNJO<+=#8>rz`M#T@ukRq7(wAsHYC#b?KnomG@ErQI)!*Z)z#4};8rzyr^aNW zLKK=Yt{+?q$n{FQ%(hunCS-e1C{Mk4K+2DOf^|?D2CRG zawld&s3Qleyo|~fL{!37bzZUqblz=?8j={(j?C=#$;H(s#Wakgs94K6mHDhcUM+UJ z{eB!DKe;?w_14(UZUEKAtly6lqSim1wZ89~F-#&=$~VrL3fLW|P!-(}vvannEQ*|+ z9xskp1aNt^ZdzZ{AdGc(jn(r~VFe-No03~l08z!-J6EsTH^1tWTDwm6`(Zx@MzWU2 zDK_4Rn1?AobMMxyYmo^6W_@c68N)}*`Q_CH5nAu=-#xR&oL^qg`i_}WiV6^7B!uUm zyQhlh7uO=PS}jzyl#+AKDc6$sQc7hx0-_33+WYBhz8m5nec|cXJtKeVqXwI92SyOv zMZY{=g6PHN#xNhP7PDEqTFjTrUKJicy{smn`K+7IXV;s(Nuh{5e;2>$ZTiC>QvesF zJibu3-#UqBIQD5UG2hDjXH9%R58sl{-w(TQcs6|XnSA(b^S3PF;#2gm8BSL4lb^-E z{I9yd^`q&({h{ece!YJ~`Zsp=mtM8KA#%<*61GCH+3YQ09c>ym3b3E1nRj%4z1{8l z8NW8=$Jub}>UaVOA?2oVR5GMI8EXv9T2JE`i!kB>u>cm4#u{fh(1ss!h9Cje-cOR1)RXU4tvk+J51xd9pDAZVdRQV(Rhr z9Vg(m(38=CG1=Ntbu3bdows95#MpVeA3_Zwcxx(HtDC-WNa)14SaeUCVXD9Pt+lQ5>1o{o9?TpR8-jyAc`>HRN@*$JHt;_!h41bWO59jH3 zTUqq{+Z_Jh#(mo2uMhf=+iUAG(ah3}2~%pMT$9O6P06)nL1sNMONazoyWf4^lp-l+ z1mM~*Q>0(aR;zgfP>7}}){{LT96Wc2?GKnJ<+|$}(#e%nTstDFBM(%)cjFY+n*jj! zE@(#f;Sp2D6y%Ps1Od?LT}ZfBxM3^R*qjW#2m} zxf)hgR6%QW=Pj^!{R1J^0HrwRjOB5P6|_(|5Aif#T!PZdRIfl>hY`xmYhpWg_v?KDdn7UF2ap#+03@5z_@rHTttRR7u!}rQX$^nR6&%YH}3803! zNS$t0q@GkLpJ-`Y-?vRwqU$HhHw5ZKC7WuwfwgOGe?DvnhyGV%sAgRV5kT3P#k`-- zyI~Afm;!(T;0fn3De^TNa<(=0*kay~J91{(Ke@VghEkUOe)@{{zH7Byy!yr?M4Zq2 z)nfMO{Hl~P>zk5G-#60~QqEo1mZIK!5xKa!Ud(61FeyOFxu`m8i>SAjsM4`Drc<$eE5`*D)Yi{?SD}OEk$!Fv#vqJVGK3&DK|$)HbxLCDHv|rsf{tSS(js0 zRcj0(mWsL-O)006OVM$h_QMoHvW7#9A*52|>Uzt};~1t8E16+2?@x}GRXJHL=KwHH zaX$uY$XZK8m)9Hb?fJzz#`OHNcXQ6Fx>(G|F);IPKZ(lI^J|*oym4<{Zr zMY}#O`3FDg&e!JDU47ply84S>HT=;b{NZJKr;Y!+_YB`_;vY8Y_dm$H2|pJ7&ur|^ zowq;otM(_Jb|0nwfBBO8fzNioe(uMK8+Lx)nmK#Qz1K~mhRc%km73PEWvUI;BGu`j zxk%f!D`)6>{k%6HKAT^MaGohCgqWPSMC3r1eIvsZhD6?Z!!iXPN0Z{l7+@-@lEr{J z!@KQ(MJSb+^Cp*PUH-4y_{@}GNTB?~O5=LnCwN@w*7HhV1&_aR{;p`FFkchgrCFE@^fsJ*>)Oz=ntziWSW3bk)mh;VasA;g2i?wDx?`r*9rHM`< zwyh`T5;KVQhGwcE1h)3kQTqwZr)2IQ^>05l@4w|wi~QJ2`!~4zg!&&?PajS2tI+&( z;*X*E(c*soi+(em8q~0=2xb`ZJMkO3MJUF+Jk*VYnBEFSF8l{=qe`$?i;_z3Uij=$?rc zYI_wn&K(#uMFFAQ^e@)(QC02xw())n5q}d!DNS>bIx7?0GS?2vw(;W>L^P*tnMzR+ zJzCCU&NV%min8dN1zuPA?mRBp{H$?r6M16jf84?~nFzR8_5{d#*S!<-*FYRIpOiT6 z2Ve5s!11CVk_;gt;y8vFlW~R+D}+Ksn8{mH=>u6rhB+qLjBj_&@5l1ViLh~#VPb+J)#KuejNWEq(%SZMqdDN=exj;GkVOEX@vcso%nc@6 zZ@Te7bibb}n4sR|6x8q`&0TLcgj7U8!8vp2JqIKrV+|A6x>u;~Ucy{tIqy_-e>f$u zVG>mo?U@SGmQ7(2Q3h>Mdr+Cp-<-mJoZk1&7Xa|3S0A>mU(UP7Po6$=?{+-~h8RM~ z6}d7_aU8>}Z=bn$XS3UTYi6@<3bF6H>&>>Z+@_GMIj}?fzO~j2Q_L|o#$JeC@Ak8{ z2{DC~O6_)6t$n1mEbU->Au^V0QQ2E^>02p zfBu=f_wSs&`RJ*Lc3oo(8#YsjUE7`>FKag&6BuVY@A76BH@k1+-FB>+Lv&qAwoz{dRNtaQfm!e*3d> z`ys5?`~To~;qU$s{o*IPap!;GP5tp{@kY~r<{CdC?&rk)l{aUaJf^RfKK z_2`Haq62MJthKxK&JDYcr7gwBcs%T%(fIo@e0@%RPVbQT9wYAy`+GU8uzXPB14s8* z|Kd{r-%EJT=f@%Z^(XQu=8vt@RpMWn?9YPzMKV9}8Qg>Y<`3b!A2inatIKIr9uuij zP0cxLee0xzeJGjO8?J7q5L4Uwu5}^g`rbKXyVmDYN)~3U#fKt_g!^G)!g;-Zm4YFz zhhTF2ElczEl|SuTa{f~yjlq4vfbzNP@mDr-)HW=dvR+zu;hN9b?iZ;26qsLU_j%hs z5_(wR4d)vsTTvS#l?(Hh5=e-O07WxGAq-=v8Gj_QhTGQXTw=<#Bck3Mm@rEjr!=Ol zyS+CYL@U1Tt@rK{}^7n2*mi0Nyl^sQ(4h(>*L`_~d)v`w&9R1KoD2eN3s38Wjt zRlH#)Wg4@*Z`gh{%C_^7?dwxcN`vp$ZD(?-dsRjM97dc9A*Na`R9DD(-vU5RhpOSm zySl~=SbYF%s%u`wh7DJDH=rEUhJQKHh4ogIQ`RZ+dq}^B%m3w8`EcBQW`gU+pXZW^ZPy3D6l>#BDdkYWJ?op= z!@`Uz;=OCTW)i?szG8iK5A+Q*uiBPYGfSwsj8pQBtHUieX1gCzp=+J7X1^a*#X3{( z4KZf#jB}>KpH!jsZn@}FD&v%_VdvNw;~Pf=no3Gp5HGTvdit8Kc^Qob{f%{anyK}6 z5)}j@5(HEQ;vh<(h6xnw1|}8Rr$9AiDu=j&GYr)QW=%zYi$ZO&LqK8@&?;mXxnUEb@^Wt;&&ac)_&aYGe32L_QAT=nCQ<%naKJQg^oWj+5 zLr4dXUCtuP#-x;oF-8&1`QF*l{Rek8`%!Xv?!ldDiXq18z^<+0%*3iGYaRHdl)Kg= zQp~BMo9aL!<;<1%!UsA=?eMG}4l%}B+6#y!mz>LLIcpkM@lK*D0@j$z>upTAZ~ev9 zW}HITHZMGTce5KVF0Z?;4KYn2t~Xo5!N=ldDXMqwosr`3^y%B3oa~1bhdIJ;Kb808@-O%HeD>^@9-jW)U(&y`UH$Ws zFHi6O>U8qYw)7Ly|Mafed$T-Vk@weAj>ZKfRctLd1D*km-xL-tD@aa7$*{FTrW*t2 zX=8kKI9EFW0H##fa8cNWv?F@Ij^9h^-wyIq`*dgCB!GF5W7L!~4#PWU`rf&&$9!6J zNe~R(GW6AwzrmGn*1RjF?b}7)I+PYeQ7fZ@nPjvhnSNd0S^ThH_^pR_R!`jc2 z`Q)il`9jcwiSqjg4;?{m<49{h_#qJGOUldwDBOI^t z%TqyweGzOsv33A(2s3~VuvMLtT4MmQsW>RroJ;K?sO8etw`nX(7G#d7jkDHp%2E-X zbr^K$KtFWX*YgV2?wrE}Y(I#1)|r@cP8sVlTJey!)EmkbfMrglFj0-c;mu(h5$j@6 zFG~r)IeU6~yh|v<@cW+Me9MFJV^6!6Og}IY(Ol(p9A0I+ozE|YM=5{*ZR5Q^Qs6Hj zuk=TM96w_kv4kR(Yg39?W9l%m+E40ohlr8zb{zYX-(&~IZl)MZ(YAffcC5k(A_ogk z?YllWeX3nk#5pF!BFbDNb~X42;~4h)$rvLl3Tg~1RFW+-kue79BoM$mM~0fl9WNI( zlD=HdjNxHFl_Iqf3{VSmDC$f4=A36LTT45uoXU?CFKoIH!g>db8Q-0CkA;2|+D9s1 zN_sw9p|$HF>_akCi9YC@UG(j|Z;C>QsjjDWbxSEtqASCg4zl@ik#%c-A&K z%WeqXag7{>m;frwo?^;~fI!X|)l!85JXCg2CFwP-uTNo-Qu`$;TW=WSo@n7Xj&T$7 zxApqF7TwQSx83hPah(Bq<}D#kqK9fPK(b5#s0W(+fwrztN=CrSU8sp~K+LIlZ`;PD z3g#*mgsp&;R!eNyT0>Mz%cNdkiU<;_Y7J4vl;^WP2c)z{xpWYvt!DwloeC51`gO8u$GyqUaZRv&$p@^ct}|S0u~i!u5U=CCIVkEyS=j(2??R%8MnJ3=W=$s3Ni1;DNG4arHJ*;S+m`bQk0ny zX_}_xeAYDX>U#a+bN7wm-7uc47KC(ivLeGzA3nuUW*q-vw|+R8KR@z2JC_CezRe1Q zg6-Rq%QQ_*>z%dR?I5C!_srO}?XBCVNs24^`tb$DX!g4g_H8q_vB2HO^ov{lp`j^L z|HeoL$IBt_0OvC|YgocWF)kX@GM>!aForkHY{4fNKKC}sf_U}oPnCMBMdpuHO5zTN-vm8{hN(_L_c9$~>WLwPtQ+cxaXu!q+p zZe06N@DaIRu(O|Qx{pWrY4jg0{DsBQ7mfe?kbWiL8-?B!{P{gF#-E7#KgaoTYd%|W z-FK<)2L(psyvaobDUjJ^xXR5Jugufy#14;UXtM-mkOXL)b5S7XoMN6rs)nf)OWQhU z&3-=_LydP8C|~tY=ge%@j#EGYGCXE6NL|iHC4-8wMxEOuE-hJ0*%@#qiJp&EnoK!^)(~ZL=uhxAnIuG9MvN!~-See61bJ!>A-L9@eQ1jN6o`b)MVIw>ol@U<@ zw21Sq>lSHq{hr14uHRm!_T$(6tJymSRt10-)v8_^%Y>A5Qu@%>$9I2(;62OqApPJ! zz%Qg(KR1pkrcy1Mxn!VPW(#lCi$*{j<5J4hcFEfP6myEw_zQA7L{_O@iaOxvyQa?g zMb$fN4Ao|gTr`BFs+IFxa!IMwY8Gov>s=86#Tsc$xy+01Q6k^KUHgjiBFD@D>PmfQo*+AY& zv-4S-QhuxYuJTi?Wk7V+65$k6dV@0?n)ik+yB# z@#1r*C(Ab;oxk+zo7>&a7|wtMfU$&!j~CMq3u5 zK`Cl%>v$Tc{ca?HljW?GGEAZ3JeaWYu4|lOPPx?2iwScoY)wL*6dk4qCLGPun_JlL z@WkZ?iV>A5?YG6UP3!4YcS|qNmGGyQ!Ot-NI8W# zLtPqnDnc|Ey9EkGt#hw#;%P(gnfp1wEtD4uyu6?O$&=A{edCN_N=PZCYUjT3Br5=v zEH%(oUtt8urPP@mA=KQrv!?MTu7qT^$ z0y7g+Eo=!f0YKwzs$^pT$ub_Yd0Y*WyZsbnI$F+VvvxO32Plj&D=jauei_4&mS6MK zd)Z9olaU`ff8I1q$cuT;DbFmrd2dVU$6-XaNAvUbK7=&uS`isSgepcLddn$hV~Ci6 zs5N}D+0uHmK0eNinSdfd>ueD@zuW*qV{OW{PX6$~Fmv0wB7#Vb;ZjGU0LGY7J1vVK zVG(JZt2}61*8qj9&CVDD2sMp&+u-|8%o8ssWBM9ve&8~GDY9+sRx|=KF%VfqAxekP zx*;MYG?mg@&BqEvWQ-Aksz=v(Z}nf*h6g}k;zQRqRSw(1ILgdKD5b)Gd7NTB@>ye4 zr0O|!$3?BiCqTp^1q5n*t=5s$W~B-Xt>4HPCZyV-F@`wo!!QiDp1t2&vw8i|&bln3 zs@_@a+;%q*0V2knce?=)O3~F~UONu!TU3gy7JWsm8Oz(rRdq+ucA!t@kNJ z*$>x6eCw98ZWu;X3AwDdgNWo(ytB4yys8EfkP?x#Cgp?v7E?h$px>PK9R{Mcep;jk zjR~nHP3zKAr`(8`OPUt}x_imrO`RHPrqP6Ds zt&_HKo84Hoqnt7^&1UU`yJraS^zwQbr{mRPxtLvVwq5Jrc=V)ZjK^VuTvoLHf8B|* z`R)I18+QBDAdqvD=#*0c*v4#~dFH_#-}sBG_2Z`(w{M-E-8z|yctE>eyEk9EI|Z^f zo*vKd-FX_)YggAmv~m8I2SEg{a{u{f{OR%2%Z+7@DNj?Xla@)5%dT%*h9;*emRZTiQg%RF z#DXy9vKfO~p4eE!Mr9zUNF%cnxyCz7B^PUJt9Y5u+LB9(xy~9u<>;t4&YW+fw~8rV zk2-9EHHh9Oh2!PC@%Hk1=bWiWv>0=J{;L(aIsk}B6^1bw%OFZQV-aoL$TYE;1g`es zw3Pd~9M9ZWHhke#i-7~-K({f5?r2*wxyQ2=kP zb0(%7LUzs&ljJgvkqk3YQ2{_kBGpn#+qhb}UK!uknclnktW(5#j+s(vy**mafyjo~ z5N&fIqRJUKj8XtA^Q_*SDg(17K=kGpGG^q*Yk9`*zwblaFFzSReFcy7^h^8Rw%zf} zcmpvNVpP!@U#V#A`p?}qzj&N~-&Z(h_u8lP5C8lGu8#(#6hLg8vxY0?=`Fhr8n%YJ z-M+OJy~|lvInE%DrrDzzt#OF8sI_8gt5+wNLujuY`rk=JeB)~OdhNq<&Zry;>qAVX z6k|-fp-&?~ousslH6n60n(8??q5^PxOl6@8>E2;OoSLp3a(wN?P4f{G$S&LxP<=ly&? zwA`+#GHyD#F)P7$l6R()=%tr|L`Io&w6UyRnZY38qJUZ-=c!TF*Rj~Hpc@YovzNcXgQyzP%EBQWI3O$x4U{~979UESjN6cbGy|1ug?_8~eXdA!T4b}c53axj;INj(Q|E`8pJB`ZO=}R?%Y1Pyxx`~>+QY{O$cjjNXL-A;(hPf?Z;fo3(wrSUhe?(*6FH< zt~a|<#26;Tkh6$(P4n={#pU&8Iq%Oe*UZ$nO_q`sJn_kDp2pA!e&ijSKlI^o`SRkQ zZ1^*~-Lprt#_?_{3fL$>EY|RT7+!zvVHiV<`Oa#_>ox2~y1L9)=bdL+t@fw4){0l# z&C`o@COSG@9nE?nF1|^-9ebzVU2nF`Tnhu3U^(wkPmZiL!w|+PGBGg@<8-~*k5eRM zRaneB!+5lu$CQULXc0ybfKJnTGB4hvxsTTy+!UHrKX@m-&6W2&iywQ#{GDHzKldEH z??V|r1Ap};_o>E>2!i;c#beU7sEv8Zd9-fq`*A*hZ0z2;eNiT~Qb@H?bs{oFG<3Z)X&r!qk4e$5n=+|m*N|TMAH-jFe^w1ebnxmatfK2yyXQVw1ZKrqArFpPl>D}VwX zYEp=#sQ0$qR2CToTS_isob}$ukO+xDJ(7y#8!&cCnT%ngGK`*ZIqx->uH-3X(|AOx z1GYK}eQO(5)qE)CJ#+y9AsD-hIu7}}?rs0dSM6`l_5bsU*(cV=^X2@(*-T2=?+3$l zNN}lEB5}=_0fI3mv%lrycf4n4arok=HviMdd9;l%f=Z30D`GXB9*B1e3fSjl6?VoV z0Er&UC`hJlgP|P|sm4?m^ZxePY6`K&$>x1$oee4VjR!rTK5L^!HNOy1*E&E-IhQ0w z#5ucK&c-Q95mTdarB(#etZQfCdl* zT*{{*Y=F13zE&zr5df;8g|78TG=(^ycL#4SqA_d@l`M!9Q=(MBu++y3feycr5Zh`v z3~@f|QqC&cw*D{?Wd=evoW}Sy9>1nBS1JGF$6;WvOgltzHdczbAy&zH&=cxTuX?cI zOF0aXYt;Y}7;B_R<1I56(XRECPFuOa)!~wJLC^!F2vEwQ^a~N{d8cL`fDWE9JV>l? zQx^<~U<~O^+!Y8*kqVZr=HQyRe=9IhADXsth-BCq@0fYN9|2)MjHO85`Lolb`*&|`w!5xtAKbn5%IgoO5G(d+oTgdV=2FHf zSVOre6Q`KQDTr#$a(1!=fTtJNV+bYXXKtO?lw?Z64d?QI{=L`FiNcTBDaW6gaxEw> zDdj?Lig&FM)vL`e$Baa?wviCrH1$ufo`-EP?p2y^o5pm_)630fvw!i0dvAOG{=r0(hms*Bpj44H!Q59;y=6E&Fsl=qKUcUMr^S}55?>n>G zANZ$XK5w#QP;iDTz;?GE*$^S7B(qtoBI6Wu%poQuw1z{7xd;=29I(;#rf73|9`(Xwiy7|6 zJd9{C{;FLkjOoTOrU5Zp^6B|x|S#d6UIu5_%_U=30ng7*m&ENl&``p+y4TNc^ zQqyKPq?{Rnh#7005We;HRU_l|R(|(8_jm7y^hx;#pZDivogq}9n<62+F~-**vXL?? zW$;a6<}6)KN1C=|1#vGr5*x%?sN$?WTFp1Rv2EM|tXjkvcFt4@s+J2a=I!zEqDWb9 z2g|%#&Z`hKj-l}u3CAf_jZ}&NLQ2^)lQpU!Duzu3#^qeB;TpEK#w=zX0F+W<5u@b} z%LnG}zT~e^N#6bcwmJZ#HG9I=np}i$-#Y0!-?cs#*{A$lB%Z2%k{tt10A$U!Xty8c zD*LukJUr0tYCcE0_4E=5$9ZqOjUr53m;71_P(vf4y4#I(Fis)>#F%Sr8~|Etgs|=q zG3J!=jZcK?-KcAQ5fRnH7$9XPDy3L&Q&F4CS73Rk)1SN=KOgu`>!;R3-xd{Tj5C}> z6p(WnMM}v4h=5s2Wh=`~qOn2>sz}R*Epz3ur7ZQjUC}BcTJu$iwT??`2LdtGZe?ri zVcZ3Z3Kb~xmJRaoA5@#h5K)W;5v^fnQaQB8*34{m+Yocf1rdE?Lx`0z@KArSx4(MEhZETQ^Pdfc{3P z5j|r}*ZL4rJ?>RPdX+}$5N_eN@ux@2$LCjvD#4V;m}XsDq^Q(GXi23EL#W4%tS;nCg;pJg^SCrF`QBv#xQfPEmN2GVY_+HGwVO~ zp=3S{u$|ujWz(-B?WTOREcX`h;!*m*J7Lz~Y?qFsoW<|}M6FMZ-O+0T1r$SK$I-jqttf`pZO5~hR%)oWb^x+3XPp^-d_miqJ;AyDI7KWl4$G8qD*&RJzHsulnMW6TDz#B?0?&uPRcn;|@o>3Tnw zl7oPCHY3#dyojcoX-J6q@b^HJi_UX84%2gKIC2sU|I};#-#m25Fq%hXr z*HYer0aD&IUE|zdAQ)3}uI`Nxb14#IIyqVx=G}e-fDn>*wr);0O}~(fRPT5F+3Fnt z5ppSX2n&{`v9rDv(J`b{%4*ryTe$ZwgjmN|IhT3gI%});)^`mv8^dJX`IwE!?~?E~ zK(_7^WBLs=>TF?#+O@t~t!kxHQk5w@4e3QFkA#LIAqgN-&d0-OK*f1B+^96x8G+mD zi-m0Sn?16=8LX|OEQ1}5aND6S!W0_7dfQL zRIM}4*_2Y_91;#=P=P7LYI~h>DY=|UKC$|8NS_;&nil{oLI}8r%a?ggOK=t?-Lr8QO zciqHV>kttUiLt(5h`?-eE-FgQh#(4GZ4Wc1mS`Kp#KcT}*Q8XOv&(tE87F7WElFD- zw1#f(uf}l9DW-h??(L`NS5Gc3yT$?FW;Z%(tTjj|rR;~PHq~`qcX7EHa&a+ph{gLi zcLR=LRf-@SgL07o7;>&D3l-f@5de&#lxydN65;V`E=7)3%eM6u^fyl7c(r)j^Y{0| z7-GCB$bx@|r35!1G-_MVM8@)VJJhU5eYgQ&IiKyvshX{FD#IAgFW25#X08^&i|Y+B z-M@WWN*Sjx4B>dSI6hh;;d;HT7wFY;v0BcZHAQs0+Y@5fwcG8$O|zJr51r{Bd++*% zM&TIuFX;DumfpBBY|MOVxoOyyy_vt7+DozGnmyss*=fvWUiSSoeirT8dg*$5c9cXm z+a0K8k@ap|9xdnd{^DwV>*VO+qw``dY1t3c)oyIOGfXAR*~#+!YV+{%`Et>(H~XB6 zAsogC0I8H(`ltfV@_M`P+jc)p!xX$V3&}7Hdvtr}d}A#^Qxd!OT&eHm+;KK{_S*s#gNga88K4I9f@)B&(aJtoZiHm0&4r}}7D3ojE{LM^f#L%*E0vwlB@ zj4F(f85)*5SV!yo^p^Pl;Ni?4n=?)Lf7 zwsDOKB1G7?ejjtnrL(5(n*Dw(QV`Hu!;Cd{d#FXNK5BrXDo81$-!^RDFX8*K`6P0_ z8sE(NRjqpwXaIPWC6x4KBtJe_b=GuE*SK)QfvR6t;ZS*9Wf$*E*LuVQ> z5>?sL1GJzkm2HwuOrB}kSP`AJd(7FD;>UnF-PLlMQAB+)|DmzsLsn*x9F-5Tn;cl8%l9cJ%H7`?lmCQ3{8i5{B3xot(TMQ2coQ#U3 zS>Ujz9%_@$`=0NFZ*N~Vy*wfV$t_q)3qKD>pVpj9by5Ds-5Zz z^^T;6fX4foH-q!dV(tu8>%&36EhVN@pMiPbEf=$Tx)lH>vW9oVlyhmltJT@l6e{3G zq-sUfc$j)~IR?XB+0W^D*WrBg4?aKvKYi*tA9&BAHslcHPJSJjlZxZo272nvVakb~O zW&=#UD;%t#bu?WQB&LGLM8HV7W#RsbOBO%Bm5ty?kQ9kIraVj&B8h@AYzfhDEv~eN zLAB;=4qO(%7!x9~A(3ME&;nnjk5T~xHw$-d;4;?K1Vw$kh|n0WJ#B|yShMgLLaM1x zP*M;n#c(Cb)-R~W8fF#|t{u%x3NY(^O+Eoan9_1FOQ~#k`;-fVO53y|Cg!cPP>N-C z)(le+0q^Xir{~i&5wR!$f{0Eb8YTq@F<02Ytnc>I6sOb}J`x#4qjx!%Q_W|23P}Ue zKtxTgYY3~w%sE@PrK3f^A7dRbAYuq{7^d52M>)%SvolO7Wg_ajW(u)tyw#Y~G@frD za5WQ|a~Y=ziKZ#k;daV-Iqy%77RDZe6K5yO*{rV-B4aqjM1-5ozRK*Y#jI)EE3ZER z)xK{<_1*7y!7_DiBdQnIo5ies`-}Hy{j6==`Q@63-ud9R0@(R-mrb9pKK%A_?;8sM z{MSDO-~TzY^melSlN~Q45xWxp-@?H+$pkeAcoxF~se5|Kxmq_x1@PJU+il zF&`f-h+qoI8Y3d5$nnwq-kp;e^ON(dDaOLa7CkQGm}T3~SBox&RKj@LYe09Ib=F!- z1PI=m?Ua_3-{Xg09@{lq)}nySTp{4|SvQ8*l?>LRv-R5%aZI^weci?gFr-```jgen zJGUD~X0sCrgdlS0CPk?1-;y%`R-||Z1?=_{SGr>^0I*ne#xTab*_D@H-Mo4ZFW%NK zy%8)K6^*J<#FjEEc}!V|3?G_+ZgK=zuM3ChE|V1i&;s!GuzyFMe#FmTLh~5#GtTUT z{GMT0IC_Cib3OdMEqs}EFNgdFuv#NIJ7cRO&oGICWgZBH7t&%&g>PiVH%YQx%HWg6>676Dcq;xT?B&y*Hb{p&WXi%ZW(mC3?9*lK_fLH`f9Wkb? ziU?pB1(4|A!LF)|f=-1D!hiae)4iSi!=Hm+TsIS00;w7usBU+IHQWFNLHfS;%{WFC z&8i)tFoQ@BaGOgW!&BRMfC#8ZM=6(Dc4&;O}-UTQSr{Dl%|lFd9~<`;q!|v5jv**5bAZpIa_k6K%88PccyJz z&SkqBLDdn4P);qppXIoeIq(ndGOo~_4)GapVN&i$4zv&O6&q z<8NQN_qWZ(UVna+;#~BOh$Ln*RP7SpSy45_MIq(_sHoKmtT#||HI=%lN=#kXsA$Ti z4(hzOm0(sCnBR;jh!7nro~fd-4<*2dD`Sn$ROf1ag;WI;5Xm}o(_>i;pClEk0#Fdx zaFw>bGpbsBVL2C7seO1km8j|oox+KGS`nDOy zsV*onmyYQc(@EcqF$K#})faIh4da^ZE5t#>Vx_<9G(}Klrmk%ba}2SPII7vFDC~zZ zhPWSsA~0gi`O%Y$oTb`&51#Jo>IQtPC8LVNF{K!Dy(Kg86heq;G3!O82EY2Qfm#+} z*cukm7}M#=l8B}$UR`g9>DdQ&o_}y>4B?g6A5K%4&*yh<9gpMm%Ii=1t^vT>Bd96e zy?g8A_Q^Di!+L-HA5-qTcC#AW_gLb(S=z3# z08`Gb#g)m!1lf8-&86flDV3DcIsmVyy}~88L{RO2rIh)sO*s$ykpW_byAv+wZ3wZZ zS4$}s>oej7B zTg=+cF5PdZ9>bTO$We()D8m>RF%h#YW+0MMVdl26Ip>rL5>^@M@GdEM1QfwxIM(zf z*F83VU|J(xA$v`uWR~$(+PbKJZKI!w^sT4XBD@}C6hIXsa@H6_mCy@X0VT|AoU_9) zZMI`Q_%aiu3@YqhR+zFZPL{s0!<04(1iAoVz$q7J&8fFrzzbt{##qpY%CGr0B3(ua zMH`uoX#xhIM_BXou|BuT{pmMQdk&nY6&=$o}|5>s{N*jy&nr`Vt| z7By!nDjRlzbcy^29!&3iz5I(`H9v(O4Ury}!CBve zYU6FaR4HQ1WOJSjt70eR`Du78I{Bs)c_i4Z77TiRv2oTkjWtZ;l)STu(Dw}yKYDs~ zdA(iEI|PU^S<4FGjPc&>hsil}dc3UT$@!BpXCpZcwIxe6mqJx4G{!qKjuQYb=3NCs))pQ_ zTrFp9+aO^U^@vSM&w4!~_|dEI#R;|bp_JvkZM$Y1gR{mMQ<-yFl@JigumJ!?HHLG{ zrAXJfgVqG9qB)hAN_B6FXpGrfYn^?IUit6B+UdXyt2`8~2Pi^%tGi27xLV6@I+Trh zt3To3`Y{!-R1^TD6e(JxZ=!ItoHfp-oTm^=E-4r1Oco{3K165D043m~j;dJ(8imA~oa24G{1HI*`@ z3dS-s?e}9$NkpwRQ-}{AUyNfQqT{1^*EV5FsT2h8&OW`kJ~>{Uoh%o#{(8Lw1ZUml z^=7f?UV7zC@9q6NXP+QU2tTp>#T5opS-C!FZMRuEV(slC_zFP0Y^%lpW z@4EoNvrhW{)gjGppO)F|_02F8MQ;Vb)C-0JGj(kfi>y|&>+O(5-u3opAKbkiQ~u)1 zZ_c`QG4En7cWxaGV_2_uxfJ6ps~pGBVcf9~zL%1>yHOD>n@&Orc_1$U^R7|RTto;r zL;8q~&)Mno#Z%Ww$#tj}W6Ze#n|#wIZjcCZyPrf06ERUKT11-05>ZHbw;#tT7-OqG zSNFY|Z>i_Kn>#(GoKwoi@M7Lq3z&dbG=!95bCg`RiUKG(-=^@_?!`Ns>7x_hF$77r z0;y}s7$^#e)^gu^YfQ>wn5!A2X?+Z_1wg=sBwON@>qFNkfP@5qmhf8OGeQBVw`}M5 zEe1Z+;?E_XTD!oq6$*%YsL-mjJgHb}MXkerQBW0Y8JRiddDljy6q7ML>wW8;4*pd{7NfIt8NFqKkwJIkhsm_mdO$&dg?wV;-h3PT|(+(e1P2{SY?0y|L!*q7Q((kP`D;Wfj6p zwgGFz*=xlxOhnkWzCzAKpz+pw8)EX#5mn_+H@l%}TuK=Mii#?P5F77~SM#=UQ%DF{ znK-Ii_v{!`T+5T}rK`%y*5G3K0^$vL}R^mU?Jq5E}=7h<#sM}3RV zrI_m8t_qgf96*{_2R8L8hJcHCR}-mi=cf>3%0<+H-dPe__~r8;)?emi5WIIGq`Ctg zcGd%751Bv@O(I2Z49By+2{Bi5X3ALsyfcVcvJkNXl$@(bN)_W!|Lze0sgCEW1*W3f z`DW)kpnU{#lFDf^IZ>VlbEv3L)A)7iuCREW<1Q4FRe`mSqEB6EtaxO7sLFkBX zt4yU_X(fuO3fAAkRMB+Wcil9_l=E&s6%ps$Y}W3_KtyflPZm9Ic6hY7&Sgr`ITw?} zln%)6oHHRCqap}sEjNujTF$(;(-?;-94!}!FpSgvJ7-d49H*R1(|Ye5A-0V#MM^2v z?NV>jH=*9QOrT0cZ}lP_4iI?IxQMxwQUk>)<)%5P!TT|U5Q)fHouW<=*Xox*mq4 zqi>%g1_idJh+gc*H@Bma2PrjwIZOSs$YR0@}Jx|}(~m)D#1b~jF; z(%Uw>!C8B>nq94TrAXU0(=Z+Dexv-9It2km!^ombj3UtvPfe3?YqEq??<1H8Isjzyqk^ zFbmg%ZxFD$HwBb$2q`Jo@Gv2$GNW@MQbN3)r}w7(d#%1#;V*BR#I`HZdYg!LW2_T| z);k5Lc4B9ZVY1fv#_v+TCFNF}Mu6g7ur2~-6(U3=P!!@N>V1OW&U$+*Z)>S7^0zkn zaoalQIRxh%cWufU5cNQ}SLa>Z_!tu-T0=#&ZC%5Z$Jnms08mE&&e~~;6`pRGyx}5Z z8e0GbL5Q(P!-T3cfM-z<~*hjq~HQ2R!d)N)&IHg+;VF?@}rv zGM{%u$VAq%Xqopt60R0ALhSoyy%`O$sHlRmCKtI{Z&S`Wmz*;pIcq9XuJ!JEvkxJj zo-Fsngj39bSyhVe_G1;yytg7CQbe_gc<-c$a}Gd5&VsN)*h*<2e#I6RBYiZ=XIxv1 zX|=GkeDB`vlyaWJ7|WOKt}W3k$0vrMb2h~|?niF@Fwtg^X*LV&a@6;^a50q(wwbjP zV2Mdoh^X-{=Q4$ubCDw6TVo6&DnN+IT1JIb3KOa#i1dAf)(k@c)#ZE!2qGny+CPVg zm`Y}5=ZuJ^RJ=EJ+N283nbDZHL-`}i7K;AH)wDB?XRV6HkU~had20-%lq=b!ZG0)E zqFY3i2??+wt&yoNwE$|J1tLPKX-aDj%$6b|sodmbk&xIK2cQaxYb8RZ_SN_xs7k4y z36c^jVOA|7SQ8Gp&;b=@=B>{mRa~^QhS-225!5-^Za>shg|k-lFsn>Ooak{$31Ce% z8;3U(T@Vm!`1aZ9IK^QaRg@W<#?QO1)+wY^rd(`Dr^bBYYUdlbnsqUiVF*&BY5a25 zmfa8m$r!pxK9yW574X*S(J)Ty&GzDQy&EROeDBU#N{NVuVI0QLcTLwewMzbmZ7nrk zS;e>C%t8Jp!;s#(6v7QNw-PQ?G?!9aR1iT$Q_fZQC&CyL5se`X!&EIrxs+MgTISat zK55%#9K&ikJ3BqTT5nr#A3wd^?uNI$_)LR%^~RH1cieyXKl~1~`Oo}`kBw97PZr8} zb-5OiI{5M4G|pLT$1xxQAk~P=hi^~c{Y?C@mFv%4{_RV1vS_vOF=xpogp^bE%)@@1 zhOu$hFijz8We0p)Y_TDMz zFeL(=ao$ril0_*1Kq3vubIZ{|dUf9jf&e0M2x-5c=B=m3uZQ8KWX^4Gp{M{7GLwi# zQJ1q*7?`{<%SBhsUm}u=lw6;-dQuU*Ik{90mbEpD4UIp5LMkPs((vouP({a(N|B;s z3~Q14_$nDSj3OrI6XHv7pT6eb9@0l_{G}pI*u90&Spg=Z10A#!yfN0*!+0fwzQqctPVySeQW1p1(8pMg%xBZ|XJ+GlqQ5_wN2|rW zZ-(udQm*Hl5D)e?QE3|A&)N`DNZArLQm%nUCKNT!fM_i3K0Q~U_< z|EKEDgLPfgv@Y--p5Yz7VGVmeW1gI|<}5%83aX?_QIxhsY|Cgc8bxiVR$E&QCkzQS z)DAn;=)e{Y+HP6}5ks01Es6q!f}((`qKc#{vvR1DnP=L2ujw1!_kD)@zWa~oTRZ9e z>%=)b*IN5q@B0k*bzQ$}Jr3j0%}egO*!ZYze%AI2YRz#c+>JTskRUh~ZAl?u=HubE+6JTpc$zxDKDw?L-Z!fbnQIPi(`K12rZDaR0 zE=;L3oh>u3MSpu=Ki%0kXZeN6eBUWybWY8dCB+!pDr|<#=$S>JIeNWkRU>RJP|&If zF!r${0?|cO0i1VLH8)TVb8duMwH9boz-=j91=J$I!tA_9$62)+NOL*?1XVWMif+ur z3`K(DfGD*Zz-rZp;Fet5Z52*YKM+&zm>nOdG|j1vvx4`Hmj*}!z?sSH+#G{e(NlSo zsp^u-X1)5v$6o)^SHGUKRMqC8-L6*vus)9i~}DzvFYCSg(d9QUVHZFbD#d$ z?r?nh@~-OwAa*g#%Myb3%uBArFq{Rvdimk6{SNs2JK^{L=U@BsFO>z{UgfYqifHSx z64g>lDP@10)r^Tug{^iBLiBTo{^u9^t=r>u;V)?1nq+_i5WPF!u2nULpr)dFzFnnM zQYw8P3t$%mBYg9Nm%w!S;9SV-&L_~5-`8vA&0zCGWryFPX?-t7*pIoX>gaEtF4 z6co%%iHeak&6B;%ojX5UZAMmIuZCRe?cHIw$frkf0M9XE!vLuoU_)uOB5XsHs!FKho1}`?1WT;7wsKTtDz#3Bxu|_xo*&lqg|4s8 zTLUt+039>~Jt{&a+KZjn^68PkZuI|2bnHh0bE>QLxEQ7-TNUTr`T3@*A!2ZNoKjU4 z!iMzo&RH$RPO)KTT8&*>sff6X-puZEs02hy%A?3R;#Jl6rt~lK^m|A7V>|tWGhH#i z?fGcxR7S!Gw09o8KUS4eiSTD#{Ha}fFB4OUQfjV)NCLPE-V<@vnaMFV0mcAo)gtnW zqdRo56_YWuA*!fT0d{SN z`ffj^TnJ!GbO1CWH1*LFoeJ`Dsm@W~g`8^xl^v(Fq|y#CBJ#mUSBz9eMHNn#RA|R3 z#1>}P5WJnJkc`AqTf;k=s$*WHxu`Hkw;H=HdheWwde2fd<Y!S72vhYpL5&>fX&h1nCB%i;V|^gPdxNNb1eplAXSg^0swss zqUOEpy67CY2B0c z9H-a=wrFi_1IPQ)B4(m7I66+D6|bbSjgCcok&W49ErhsdSBX?DfoZ9aOM#+8E{{~i zIRZOl!X*tV=Ta_J9;lqDc+<6N4|XIHCN&VSZs_{4zuO;ohsim|j3=uLf(KO7r3xu9 zQ{$tWX|19LrUt}At-i={?5lTH)q7&*Ql+_aM6^n6eW9v$cbLvM>lnj+f0&oD-K^ez z_UQc=H#?QH?dTmJru6*9&8I&8=J|I0-iI%8)lM}amQxBxhas-UJ{NIJwbuP%esQ&H zDv@)1oE9}b->!-1aF|4`i8Q5FGkrxcYWK5O|0AL%dcP8r+T8R08hBzl;OW00SXgOf5_OItJZ_Mm7pLkQj<|Pr~^Ov`61`Y@ckf!z%58@}1X<$ZmgRgsuyS`25AqabCQmWtvN=>s3!gE@i);95b1+a~8XjGZO)lfwelXGq0Dv-e$ib9*;}P<^f5uBz%#K5lQ=%y*P-Hw<_m0U_|%FabvzW9NokLHq=mUgGsa7;hpunkO|?q7Kli|?XGTOc1UKK?Wq2$K3caB?43^V3j8^0|^?;I;)--o=ElRKuBubDaTT7OR8 zcOtcgwsS5qdO*0nJC1#PLHIq(;Wsh=Shc@e`Du(G^+kvtfH4l6w0wWse?8f|oMm-Auu2>iC05XyQ}z}eesgMGCL-e;L*`)=;wLKxwKq!i}7_aq+DvP zhvN*0j$PCL2JarN2L-&FmKaV<=>|9L4rU z|5lH0NB=Xkyv(M|B-#0u7xVrI|DnJA!nat|&xh&a!= zxk+z!hmXJg+C0yX9$Yfv?d}kQcitbTc~04TAEUpyy33_T?>6f})N(09A4)D2K&pUQ zB5dPFFnn-vmP>hYbysU0#{Svk2ghkyawcL%yt&;iDIwzB{uqOAfvvO6YJZqp;dmn& zzZ#&XtGiO_-R^jt=Dv@jYR#WagmmKZBOxFLg8D+!?zsDX;(Tp8Ow7UvI1Vo~uqC+3gw!<_hgVx=ho;`qPn{~6cIoi8M>OM z*cXvD32V_W?;R2`Q7OWV#N56WAhg>~7d;d0r={;g-^asYVj?r>x)6d(DWBj2ZQAJ= z3{$O4+!Xhrk7h8$SXB|Q5o8Y2+`eh>j))J_jQ6yCADq;RfTc(=i^xxw^qCR9ApWN& z?Fkp>59~mMZN2%2>)mTL{h{?kcX^Ix?R&)NP1QRBM5$Gfrn_Cwt{_e92dVE+{ZitY z*rJbJkRr>HbEyWf-HZ)u*>$1yB>_m?odlTGW8*tnH2HfEjjb4OI8{N z!aH_EfRJ-VwBY?TrId>q5cA;Zb}El8|L`_QvcE7(VW&(jvEE1Ty(d0}_D&_n27uta zgIu{)-mz=P;gpgYsu?mB#97R|gBb3rULoIvFcO|sd4ly*n!j7Bp=?I_kh?$c`rT@f z7_NX`gvgIB^7ib#QfGFRSpbHy0|2WP012>P*1_UbKYBg)IPgO;vZ~aTN20a1*HDIEyi*35t zXj{#Fi-0$GyWRdsOtsc=?1Oi^!$izZ?4z6IANzZTf9~J2-}hh2k9}d?ceJaDh~NSS zpHpd*!WPK&jvrobn}F9wxQ`#5H~ZBX{n^<6)MW1_`<;VcM)&2)lu{{zOlVfC><-h| zMR01XO3k^(=$+?M#8hjkaQ_Sw zqKc`(S=0w-aD8O%2T=vnTC|FpDFa-Sdpa#EfUi5>5w@=8HjON`)~fBr$fYuK7egtv z{azZz#Q^S4pQtJbsHb|;Hl8{eKHCptrnkGpG^fTNZ}M1k)h{UlSl7iEe9jpWUGN&Z z$p=h160S#kRKzFya}>AHt6J=X0Lzl8RzRZT^u}^H2Z_$VkM6^+2j{4X?d|bsC3#2< zbJ7z^6)W|7SNL?>{oJI#JOepWv)~;wmr|P5uImF6EvdG1PZwM>V-q(JJ~Dv-$i0iZ zeWSlAAFLG&47AG4l)l%}KONI=@8FMB`sdTIb74g`5epF!PY7#Jb#zsY0FP#|?;ymT z>b2^X>%!2@3JP$nV&iCFwG=W-#0TZ-xB$?-Sg=`-x4WZ=I!En8*zKp|w8ZF}1iM)e z2rw-P9eX}?blQ5h zKX)jz*%CurRr%?5{Z_vDnHuNEkK%UR-|qLjsr8AgnTRY)UadM8{9$+8h{Vm9fO}hh zV@SWW$LrXOchR$`Hn&S7T{*|C%W;29j*$_{lE*GOhi0&-Jr~~d??L%>10?7E(5+B(nW*vWz-$~lfCk|9 zNZ7uziY}=D!04$c6p=oLQe~b~yMvk;sChzecath)nvvck{{gyNWJSnTJ}C5;VEDQ9 z<`~=rP=cS3cBvdw71cB^Y(M~}`r6|Mj%a_JoMT692E^o;`aUeFlu{c(yJ0o~(IKr= zlVfoA=X7i*IBG$HOO=eYN3>eeutCOCuC1(*ka8~bl0>Z5IxWj;HB`|TS2t&y)uYR^ z=2K`sqi0VZjN|atci(r8$DylYD*E8zg_C+b&aGlOmC}^F?PlDpS2@>je(>VreEs13 ztO@9j3AGzU@=*Y&PSE&#&9H_0{C_)n?YbQC$q{)sS)veYYmyHUY(4 z#4$TZ4T*$+BBzXPtx`)3!99L(4v2^2+{FN3s@CLm=LpQ0NYz5{uRncweRt4Y)2@8( zb^2p}@Dq1m%m0V}K+k%Ar?96m8%mXFPG;sq05BD4fSc`hb)1%=@AijjvmW1k{qgZQ z=TaYCo~?&4cJX?>{wB#M4>#RhU$8q1elSx*^NtA>;QD4CybCd?ihavq0#&sZagKub zU5rc4A^3~4^}OVqOALOy9p^dKD#+Be9#ljVZRELHMGZG2M-R6E_!GlH-wT4A~16*wMoL`*!6u#OJ1+~F}O)g30Haf<>Eh(@a>Uas(!iPMf9$V z%aVM`t6I-W^2-!r(A9Va^d7lF9jv=X;N=r(dK#xQ|codDM6ObB+)S>TU^z9N1fR4!!T6!G;nXrl=(a^`k z@r0my^zeM_;)Bccz6ebzaO@hFl+e_c1fEcA5^#8_J~!aX&-*&N7o$(7B5ch0eh z7(lU;@?eC8=`mPBnia?ByFU8h8||ePF}GK)1;-KLRR>s=8ob+X#_Bw!@^`!PorC{> z-NB!kbzJr07)@2odsfjZ;vIYEnx6@QPFD{kYgs_ES|#UV05Jxlw(PdhsNEYEiBtm^ zf*k>OEnx=+XEBt_s17kH)G!!ST4e~7DVS9n)%>^ceP5_g)YYZ zVOo|1h)*6}9*@(KG63dMZ*KQykV@SjCImd&u2L#XO5VGBdFfm5&nDpAd%*DCSkaPX z(8^x`p^7$Luv8(&5L|1ZY|+F0ah9s^su5JRaRr)k*LLMn>a?Uco;@l1>8yG*q5E{eQ2q`$88 z*X}xsj#Rx!HB_SZ{5QLM*M(9_Q-K{qFGc&lAG_(ej6>(WI~?cMaox0CIOPz0*98%4 zV649HO4XFp(09iv?e}|CU9W~1Lf3_qYc2&4R16WgwWAZhs{UwSv>h}nPry^jo_@4|XD-0hE#9$XmMhtID*_SQ3Y?#1NN$>ib@o8*oCeOqAEpB7+t_pL_~(*Yh&6qx&x&r5R5-tlgK zeEr#@7=44C-t7+2doPvOs}HlhL2^)eo@`i;5upQoc(x9GG(g9+-LA~+(;t76nX1TZ z&mJ$!(#n}rF00kBSq&dPzjmJcu2Z$U-7$DR+pd$GH=E zp8AQ$rYMVuNEdzZKIQ5h#Sl`?O_&$a z_A4g9Q%n_LS`ssR@9uU-=h%5(mZYku85dQjvKZZ)@v-E3zFm!DzuO&;#~A??z&nSC zj5s;Jt=XylOs2O-_Ya-%-y+X=yKm3)sE~OB1mlyMoZ4L%`60NI%O^e zky4dQs}H@aj(^>Q_q5hJBVj4ROl=elfYY4r#jyet!% z!9rXd13)(1Ea|si%zxi!=0~^nVYL4x@h=?vH6u$+NG>==$fYt7P^&zJQlv?1h!{;K zqu9lvkNd-%QfcOwz6*p{t2AD5%4NOko7G=LA6{;TzB^9Kyeym5*mSYg&;!D}WChE) zHowe$Iv5p<9U+p4l_EnQ2}z}b!L;PyU6W8kaHZCEeFwl&>yk>Tdb; zM&IhnPd@ht?q?)L0`Ec$DHT!cyz2pJSr!4;ccoSWh`~!eK_XHveINT6?n)V_$(!8( zwgh<>W6tF`FJLE2WHY(8$`~T@j@7Kzx<4*=OMbKD-+sp5F#EH!?R-?{pjIZb(>w&) zUk4Ez2(8&k#IyxXn$6ccs#U#nRispHg_F%Dpk}SSi5(+RtF2&wN|Z|_0CtVpdXmJ) zK3?DM8xo}j(xnRX=`7QR5^CCpx(#@5sv&qlkg7-s2vRB-IHHV*V6BtPdq<7{@KGs2 zzX%&ygEw_FYp1HkRwUaA68--X?NVn>(f zn-^ENAAkFeKKk9^h)81EdN8Ure1VL8|LDPaE|PN@hVIeB^PKaGt6KwDjpOC{rsPV5 zPaZuOhwgTFxH#K@86n;7r@r&vxl(J3QnVBVoDiVZJO9ROj~+cdKTdPIa)jWC=>C9@ zqT0pa9W8TKZOH!<_5u(HkP#{X-}h+WzeVjkpfu$C{_qy1ABp*$7xth00{qNA4t+?@ zi`v;{6+BN%27@7n^=1^)>zn=U?l`B+2yLFMs^btJT%4)d&F%gaR#DBlOevG&U%Wkj zjl#C~J;D|-ih}9p;;h@OZfn2_QtE2e zElU~4e(1ZyG{xwbR8Gz^#HuzO7XYhjwQAbUn<0zZVe*yk_ZuR1lu|aejQB+BCBs!W zOu0y@?c+_kqN?|<)tr?oY7k>cOGct*JSM`Ft8;w1_Nk6z=a~(mRyiIQGm!gMRbpbs zT&ia-wI0P->LiK4ETw{k!8;KtssXX)GWNsM$e+Xfjj8@h;(k4tcO};leFNX9 znyU6)thH8=T%_xQV_ue047LPk%e-_Q#i&&btewvQ!H9$RT%}IOk4k;lulD0QFtch! zngOcnF!oKvZKqviA_D=cYRI6D8PPFvtshIv_Z;v3tWhFbe4JurQ&p=Xh~U_XDT38% z)p_ERFy!y`RXvsbaZBJe&Z3BbS#xoBB8i!+bv6C(-deuvO@L}w1V6ralyDJEU0`OZ zBKNyy!$`G7jPR7nZDEvSRRm~PVRqD9{^#430i@-`uuQqOS#hqV3$dZGo%6fH)W(~+ zl-s-G?l7&!uBC*D$p>zB)@F%E#MTws#2sReOo8dJWB@qdjv_iQC3we#^PKf$E@lMm z`=9_fOZkjUzm;lte(_axf8k~+V_)IK0_5*nkMG7|weGEo8L%TW8;1@|t4JzU)nfGR z9DN403fzU>BYw7c^rZ={tw(edxVGeRFm+CUW0LV`oJ^NBRRB-l_bFJ*4%Bs^0O* z2G$f>049?A*q$j05m&Odznpv5KMuY9aApi z!)b)=gFCT_lUS`+u;eowT+sW^O=z1TaUfJE7Ih1AroSW}WFR zyK2_Le=VxaM2F*aoM!JhXKBU&MC|*3ge6x5xVt;t?GHoWi&O(kOA*yv%K3Iph(z$g zM=!qbSAW;p+2#ws^kqm@`a%Bg7k zSO^i|zA_sbKvl`Ni=#C$@|EKT5d|=+Xsw?c%D??q9d_`0KXf!~#>@FEM==&({j7y z^H06gJ-U2xySuu+jlnk{U*C88{V}B!JAZw>%eg##d^yd_;W!ggm4;cs!(kGY^=ine zmMX+-V4)TxZtreRnM@xBc;xm{($&F}!%VGy)lw>e5JT{UH)5SgAzp|PpzA_oyR626 z5JTtNgNFzq_{OR&jZoi!Rfx`UBNMF0UPR0+dQZ#^bl&*aeIHu<%fKjv#}6-<>2RF< zsk6;gC6~r7a0VbERV2pHg8T=u1aPjZA^eiU^(-F>iT6k(p8aZ&B4x={Dj+a(Yg7AH zHiJ)m6C~PhMt1CLoduG?JC2^5hcE2&`}>k}y;)M5wyei~9JXQo{YC!@8Rs-11e zmK`#r)Qm2KrbdK{vOxaWbtC?f&x=>4PwJm6Xgq}%@6ea|V z2ug$qCDlBq&-nS5g8i8TNDR}(83TZt4~~#>DS*htIad&=$lkZqzTT%<488?UBJa3G z5;vQHkaDi%cwNh?)QR|wn*JfptM@=>EDzz2y`c9C?_(##sHUnwHFhjg)v$}+IjU8i<0?u-+s%kfxyUoAKh)DNRr&E6`>_X+CdU#sqoAp2 zhz=BxP{bO&tPz7$mBHB2oN^OIwwv+t;tUOg=Z6o@uW$FQaTf_|xkr>WjF~q6FRCdK zddJq90*Sg9Qk!3&{s6SmO6v`7EBn2(u|2j}s)#gPfGI!+0L;SV3@V|Nf<&$LUJ=b; zDCLNh0r);V-q0!`_|2+6PIDD$%Y)R$T5IreJkg=Rh^XXZV8Q!Z<@$DCYAvM@;ll?P z^E^L)aRUH`bl*vhP1qZUE=C`mTb8Bkf+~pGwm^OBmjr)DvD7XuN;F6{U7 zl8c!!oicW>{K}2pemu@CLObV9b8a>CRix|U!^^Ydlw$N} z+g02Chd$oi?w2Kr%3+%OK7RD#`sK~-*=DumTx&^lu3+b5wBu1+tV7SiFVnI=9EYJB z`>1Ap-{o9OE!VgEXS@{HSvXs z9z8s-weF7-F_$7K6$J3nOKt2qXMw4i6O2w$XY^_f~rOg!`Q)_HF!M#q@d913b)I80< z7V8f`3IERn{Bm_fNCzn=l zIEUb>2s52F05AnJQ6%)ipRl5UudrtbP^&hJPcsNtIh7o>$Ebnayl?Igh5HMN_parU z0YJc<0jW*^edE9xnCi)HC;FgdQ$2bwh}5tbfUSwJlzO&Zz4hj^!*SW|5983av_P#g zj(zKYV5Tayo$N$T)gb`z@WI)OtGlj?$K(9`>UO&sb1pfTcF=6ywIYgOEwHg32N8Yv z;BtRBHe_?k**hNkK6pM%b3>7R?$htgOP;2s)Y^EsZIJk?4)>KJ*un;KIyTa?Czo9a z*SGuTzgN{-l^i!QSgrXySq(e`s4il!a=0glo*6V4d6Anb|7)LE{?YHZMd1JVSKRx{ zN+UVOw%2ws-0hBL2Bjj?W-}td+1cj$cGs#WnxWw8`tE$Yj$LG;7cXzR7{B*q zGxKgg4MRi($GoH@Y7Z{XT5=o!y6B6jAbICb=x{_Jx-RgsqMt7E<=D^86F@G-0K9i? z{W1VT=%rTYvSTu9neI}hi(XZ0l{u9*=BZVJciZ)l?)#0GB^j6qFt?B{F=5|@TD4SZ zDJ}yeI?WPKCmVoiPR%gWn9Qx?cQy8x=bPPOYBdghAIz-jlzs3ZGKbjb{C5rdtivx& zb~%K3&gfh&Q?(?0G-O#B) zsr7K2b16+4XeE@T6}30oks5$GX3tc_8gJp~Tts;L_T_8y{Gwm|;<$d{yNp;G=%YCp z9TQWUa}{X|dM*{)0-_2{?gp%;qM8I$>L<_KuYPtuDtskT?N>26CcL{lq*4K3yBVcQ z%c>wiBtq|60mfXPysPaiI+?2l7BxFn#;_}208BdhdXp96Ru@h$te z|0@3R+slu=evxwq0K#UyR(O?9y4UI3J0)st5D5!YbMUoN#x@;PRp*_Eu2(}5Nx6jJ znwQ$|Eg8SIfsN&4NkTiD^-TRU#+^s?(pvW zFNYxxUCgER2%@MBL+6}p&jTW5H8uE+mOt6iQp*$6Ka%Jx5JDeDCRs9HbVKc8YyNGO zX?+)&Xh{VLut743)GVjEu>t^H*ZG|O)(7P`f5N_65>d0ltD5r;Ok2lvn?EoSATC897hKXm zyP>x?<9~EjgdBKcq!73T-P;QjJrh!?rPSKwK53UMFjeh`&M|AX_Tx?SyxUJL&Qe5M zm^$7MaN1>s2~1Cw%BBr&0u5$uYQ#vywMsK_G-ex~Ze6D|RYM0Oyuv`Es1h+dK20^i zoIyr3k(FvCE?`jA9J9*nIWOMdAp>FiVB66zMsHv*uI~E2+pLG1yZ!ws8;Hp}H}>H$ z%?gb-8rs2rpHZRQ8AIt=FHv^VVx0KEJv=--zg(a`SYZ60Zo>ddaLwd#{YU8iN~# z-Z3vrcFf+hh@NJmh>d~<2p&-Z>bummP@%fTVGt9K(P1&$KM-vFrO-tK?d9u8!F`ZYhgKfo+BpQ+@jQLR6b1(`N5T z?3fX-HG~l1ykzfO--j3iA}mWmL{VLq)czmZF#q>!gmcb0-c`M<`M-VK{p7L!*+LJ` zw-ns6KT44%?Y`<9 zaE_N$R5YimcGBCLplAlA)|{&}sblP)O~+qFveWV+VwRsZrvjN;7Y-#!l68 zt z=Sv&cNAFRplu`_=RUx*Rpxq;R+vQKH0HQ~D2s#tbqMoVst$XisZfc;m7aR~vuCG0N zm`h!jVg^JobkTcO(`LnJ9NNZLYC(gx-nJ}9la@~m+D3aYU`L>KSkijv9&FdgB?DNC zK0D`9DKUgL32VOb5S%)GH0R$0rCLRGe>}s@xL&OWN$Ej3@H?CCWd;Fb=A24!4!pbB zPcFC+gAo={Q7frB&x2zv+V}nKvV3w(-~L(np})ocr(faYLIxJd_7q{WB@;9g)4RLl zYSj~SyNst)+r<{|s|)j#@-#p3oI;qpE)dR5IWsbAGapBEqB6C48X$-n0&2=1tLa~R z=yu}&>#Kz8k^4|nsZ~!U&IZibob)L+7%m8?tr*^!$zTFQ)|A~*iQ4Yr^XY29e?CR?ZJC@bGIA%_=$Jkc>lwfS2uU;oQSmaRcmrzN(}(3;FVBSiBIQ+ zo4cKeK7D+7oR)b>&z?NkZpQ1|eII@ECG}m%rKk!M3s^h7wzuU3y)z@g#~^}FBr@O-;IOmj-rF+O|x&=fv; zdHu#~j}Ft)NPbJocl+ad90)PzBBC++{eE(YZ@=~Q8VNR=l$O^!@5jMyH$!v`Xn?uM zG^g!m1hB(lzBpS0z~Q(6z%*qi_xgVScYyrnMj3H)fTJNjyZYf2<)*|Lya-PhH(YX_(zGa!%xuRzC zyf(uwX4RUjo_=7Ks?Jd<;)6rPLvU7l^PF zPV<@6bS!hVVwiG`svUrea35FWSZkFzrCfffpMK2)-M$8Y=w1Bp|I%vi&JUqGs>|T} zK&`IDJ6^8`RU7-5Qf|R4K=7W4IYvJ?PPqtxG1b1S%)mrdyyxSR=6PwmemyyzSWUau zPEzW=%6U%z{!qVT-T#rKKYf=VgiKV6$Z6z=C*T&MSvy_2Qma&L1M^n?K#a8t5)EVD z(&A>&P?L@+<91`XDxz&CJF!kq?5K8|1a{=uX={pU zMe}NACo$uMQMlii39t|&!b+qDhfJujDtTa>nu`gcio_7ttA2l&+Bh*rUyGC?%>l_o z4==aNl9A{;KKJqS&3L;zlv2T?)1??I% z&3Q@X>Ej14uWp>@Z~x54MdZWhSH!$OPN|g>-KU0A&Z@c{$K&0Okg{m1H3r|W`ej zxPjmQOYrY~)P4MX)Zm-g+^l>{DlJ3-OhXrHsg2r;je5 zJbr)x&z?Mb|HBuD<1Au#`{R;xDYa3c9$sw6^=fxK?oyt79M{9)>+fyG{_^QV=iL4< z{mM5!Xf_i-Jlm{qcZc^sx;h@0&1#6D$u?X|HC5+H4RS70n<$_@oOTqo)}#Ri$khHe zo%hwg$bktB!PG))YQ;jjK#=cZ> zp112!M01rx(eEwGSC{2WeK&|)9TTdubI?U)BBq8&ZbN%wYW*YzNX!7>MK(3NS`?^{ zVe4oq;zi!t@FyR8y3JqQ)h;-6EJQK*Dt0(bZLAYC z?=92gp5Ki2zkVoxGIi7k2E+SA|0y`zyxAvZ*TH>Y*LybA0*IoWS@tfa0<9R_6dVCj z(>TuvUL%51OUg;CFrq@kq?M{;-&LveQc9`o)!^6-eOwLw?d{$B5uHZvc?P0=4r$B#i_(_az$u~dFv z)PK2$M@T%{ki_=;`M5h!&06c`Fn=2?52xdkbX=zV{7}~_aXoO~SxT1E_pI~3`C9ty zYw+`X_&0vs?R4$W$2Pq(Ra5hhQ>hK)-$pTDprRr0YBjWnUULCah#~Y5%}TEOC6y|j zh?bg9rba7O5MdZPvr~0Z;~O1{ey`*oSSvyJC8M7{EW{vm4&a4AgO#^}p(l?oVhne?qjPkB_N?R3*HWi> zX~85gh+W*Q$6N|A)glete3CW+sz4~qzkfM@`c3%Y4u02HeeCOUJVZ)oZsB;mz?kO;68YtN@>Nv zmuDL(^=v)N-h;t*p5HsnU;pT3b7sci9zD9)@2AW2&GW0IVaWT zCAXR(B-^Z47u)q=YI#AbY7I1hSLO3kz7NWuC`8V=7)-PjQG>?8(W)?X7YyB;_6pQT z1kAaWD#*}x0I=InV;_lH*9w}MbIguYDzysW>3FBwn&eIuj%~OiRSaP0qpHm*HJaLL z=-O@7JKi6rTGcTV)7Z!6+BE}mZN!2pl_h0%jtIuX@hgf`-@g;_DphGOhXJ?zIHDSm zbL6P4gE4wFV}KzBD49g}bfi^Hks(m>6q zeO_j&Du_Y#vs(Vq5kGb5|I|@_c5l=L@@|@zM(qG-10=K4Kb!(Xu@v#HQJlP^ri~F% z8;Z69ljwarOSYftI_q}X{qPp<(4{HgE%?*Jne&eH)R;)r?4Rv!+5ldJ_lJ1G`#%FH zX1!|66~Ky!1LzT*NEGeOx>}!Vdc;-)1{9~NednCZr7A!wJmra$&|JIY)TD9RM&_X|2Aknu{H!RD|$$$^Qt+w{3@? zq&hPH)IoNJm5C6VSq)B4nzc^5mcBd*c#c%8R_TLt0ND%-8pWrPFTmgxhrAY%DvfB~ z)TXY$GnQ1rlSZ7)@T~1(usCq#HMv&%kP_6aLr__&AHnEXD4+WjMQp7;W3z4 zVIE5fYK9QOHl}-{10jkake*B&z7_Vir2okmss>2 zhi#vJRlxA@;l--&HtR7P-rXI%b6^&NySUh#Z#SFGSaNYp-urL9|3X!sJ$d-@`nJ)N z*Q?>-#rFDkr=sL|7`msAFP^`=RV4IoIZhh_L|&^t4Y(j5or~TvQ$xsl$BZPRaDTAf zta>$_mlQ*2n7v`>Zf^JI+x4RdXSa8U)!3^-t+gRQ1?afczhjvH^^Xe}{D;3te^Q2X z?`QAq{_>|{DV26SZ*>!@+Qsnr;l*Y>E-6p*yv!+;8k~Fm=>t{!==s&<`R3~8*38zc zo)Ditd9Yax(>&iDrr_MO#}C>8yp)$>hnOo|# zi23NBN!>2f^=c!8fw`qD5WqVMo?E`Ck)2O2O)*1g^NDsLxc_mC9XaP)Gef-}k>y;~ ztm{H6OpejFZoDPeluBbl1@B^T^PHNQYo2p(uF+~PF4jq4ozo@A`>xv~%}5={Xtf1E zRm>3qfHuWf%@Bqm<|2d`5ZpA=v@8Y^VlvC642ZpRKIPx-@%xdYO#5B>lCcA*qD!u7 zdVanpqG?*14GqoqB6S$w9(c3A{cb&UUHq%@Ok)VOzzI1UoTpmU0J`3TK|7|m?aDj8 zH+&i*cF~JkbASip=2LAl+feeGpnoshCy@Tf>+%yAhu|DjaNK5zZ8lh{ocjM%ktiZ` zr5xEc^H^)nZfl+6=1_ws6|Gmpl8Xy&8OFQoyMN=%eg3lh(dW}2-|O6ktGH_P@a8Ti z;`^W{sI?Rs*87STK`tz<}>}?4t{X7 zAAD24@4JBSfM;|C-dMqJcmfw7fAoeP^}Z*FOW7ISs{ZQp@|Umh$FEm$)$x5<6cT`1 zF5(kR)6egV8~eSU2m%dhNOWQ%^nEBrQqJDFW|C;KEfSSd?Uby; z6W`CQ&AwZm2O>0xngMu6s)k@KvCyK{C;JnjfxW^{1Du)#Pcm{lET1Ih6T0Md2sk-$ zpz%|h#*c(mtpWZ4kO_rQnID&BC{hp|R42A~UPK9inN+p$JWuG8Q^L;Fj1l!)m%=va zCuV9X=KI!JXcHAAJQ*Kyy}sQ&d2qHJ`du!0S&-<# zcl$S9dn{G&_J`xV9H(hX`Pq|4w|9Fr+aIQs%H`Q+DP=wMWl5{FT##%))|=tZg=3cB z_-r%wU945EZ+49i%1jN-I?pNRx>>KDJi3@u+N{RoGy}jm_M7#1w>y?v8|qBWDu5^Y z7^QzREFXISKWFf-{Bjs#I1+Ie0+Fb)<2J|6RlN7@V|aLZMuf*{ZrIrOKDhGU1xJo~ zf0&*#OVCtCsL-UWQgB!Ps{VedoP9 z+pdr)Ps>@&lFCFJ5O3#%AZtc2ie{r$A{322(sbEo#c5FG$&sfH*apz5pQFa%JMB6WYT2a%ee8liPK#7=j@uf0uU>)Z z32WY7QetX-qD(}@2tWuigw{dfJUPcq)OVrpIy2j@R)+ZAhcDR?_Wjv@|C>vaKK^tq z!y;FYaQj0@XUPB7Z@~Gl;Z?@Xj7oUt(Lcga5Pk(mihfw= z?I?fWJLQWz_*2ijal2}1$98xm!cvVHog)M!1gRQhXz>mtsG?;lNI1{=R8Ql)?_5AS zIJeIwFhO(45G`{irt{5Es~9LV&q=cC+g3kKGOAq=y^QWBuVw+n82J=fBxE#$=($o=18Y`I=lQhhwNw!DNjq$hnw{L_+}c9*#PSxvj<6G%3?b6m3KZBgAs8XH zSr#+3m+iFw!O3dWOgGF#g!jF~`s$vCh_C#pdaAqw?>VJR&OLo}`Qqwk%0)%{E_Qub zQhEL9!|R*7X-*$Lzd^*!didz&&0$)eJUqX?*$qSY;NtB0%j-9uJ_5jxUR?KGyxSjl z)4ZFO5#ed6emS~`*G4z!XtPbray-t?`%k?6%sY2D&N-Kc#Q}q^i@6jvJKwI(&$pcq z`)LZE&0sxrPaa*aRzoQ@r`&ZN04zl^*zbNk{jLkSdJg}{H~GEV#o)5{aEhtOdK_MV z_VA?iAPz&!xg3tmFm{OW!ADp7ofe#?3{;$R zxkR#rd{rqC1M`aU2`DW~E-K9C7^+yx9xSKCY4OgdzAHqF2r-*MuH~77-sEwfzmGF4 z@Z{Xy1^D?Kdq?1CU^*71zyP4R`I~L66_Zp^RVk$wb`R1LOZ|)8@L8!*$E0SLg2z~^^Y|Jjh>u>9`p`t{X$hye}J zu`#!!ckrHwOimM_Q{EGikeZB%gkm-zvS;;9i>k=7B;VXFMV?B1jjRB^a6CM`NM?ah zYjJ!!Zi|`{Rpx`3m-^6gDZ-BDDwC)J1fu(jw3a?^r8m$ThEL)bpn(}eo7D}SZ@mjd z*!Qs?VoG^`oPBU(-x1=RGB|g*-T#)d|J#cQ`@a&nt0g|e2M>YX0RFe$!ucoh*ui-Z zR^Y1>$R(V=2Jjweg@cE9hGy`EN&oUozX>R2NAMpX^KW^(eEFO3N3YiFvtDa$vO(J+ z?#Wfij+RtQktSMJQBy6svS$DY(Qnsdtu?Fil2vrCR&uQ(&M};>ZXGi%^OCCo;NdtU z(HdbRB^Ql-xDNOt$}$bkfEKhU*yQNDdCNc z$|oNkoYcwY|7{ymizh1B0kJ3OL^E;^I%JuM6QPP+Y}c3P>*KUEw+JFN|LUvC)5eBw zIiYs4JMHU+&N;{Ih#JjH&ESN~@yB_Ya$a|FnwKe+afqsVbGsMOi;K;AHJa+}?vQgu z#M`@lt@7x>*>ReW({g#Sy}H@WOA^4j6m+a=n<^{Qc(%SF_hEu-aCfQB$EgdRnQnK7 z!*RYi+dO)B(Z%3B2k*NWwwrP2yTf57qP`0;hA;ohdnL=0$Cpy;M=!3gu6LXDV1U7K zQ9*@iuD|nQ`tFazhcDqj`DW}^aUs@wwhjQKTuLb|)gGh2yf}OE@Z!bQ-SIe|Z`XYv zn?Zk?mubltXPY;lJvM-xvZ}3CT{~Y~-`rJ^aqM=xD^X1;mnu2e;2k-tRb%k6`8k<(`(xLI zi?j81GfY)&f9MG&a?o%&RetS7{-LwwCqB}JsW=BGiid$nFBPYGV}kR10D>;W&J$uQ zLSaH;%(*gi@GciI1Ls^-Z9a8T>tax~6GXm=TaM&(%sS1|^%UM!sgiQ_j>jR+shsRf zx#lF}5c@tJr_`wSrAUk+28YuE%c4tmA)mn0G{oNsW1lS)YRUpP;h%LN3^f3nCR_AsJW@_ad)IOF*n`)|j z+fCurAIKv@r&e3ho#*zkH=Y!o zWIAqDJb+k;c$faAJb&kt`fuOie?{9zV{n8H(R)`;y+y!|MFff1Q$wz7H^VEKI0Z%| zn9^}tB=|>{XSGyOH9%l;2#<3*N1L6$0lF5wo|0$0I9oAOT1s2Yi3!XIjJ?|vSI?1< zQi&;dYUf>?!N56FZIb^h%TEhluUF${HO%u;s+3&JObtYo7=!oT`Gx>3Riw)0`BqGK zhob>32A8+HzlY{`*4&$WgjGOxAH%oa2G|?_TU+Q03=G@@%^)|>zh$dW0elg35AF^0 zBfR_9_?K0mi@um3IyiH*;qn_F%aq^`Uv0rNwo?OBn+7vedwbzteH9T=>$*^z4UDPX z)7iU#2*;@`xdd;BtD)<<(_ZD+5#sSU7qy{_t&t=m_N91&H%Wiz!{MvJ{laef+JXa;8klms5KW%`^sw8X6cRQe4mR)gOdT~zPsR_-9@KovGvQC zT2>Q;jVXy)!#{eLh_%Wv^iLjMRFPK4Rcmb)QpbFf&0EujNZ-fJs&DHQ!ndqtYKDZK z+3q?2En9fIJC3U!=LG=X`S_dL<~Jey`Zqs{A&g^xcXvpon1N?L%yUYa7@xnq9lCgR zx6gBa(02#1Ugfa}0^B)&^qyD4oGXZU?^L8zF||hz&blrfruoUk%ix`;)*@B(;lo2_$~Z$90wMnrh? z^~W*#c_|Mr&Y19UOwy9St%AqQIf{W(F8jkgbn$GvKHIJyUYtF@x|yb>FgKHUQwVdV ziaP^q3U#X+l)gh6#?6=(K#m~ zr(iqM(1$+ylnYbq1Z%WjYN)?9FKri&afmU5o4dnm>_TwUoLasprQ*Fa&_)m}_2m6i z({b!mRX-hL$+7FQXqDna5aNP{V2%k8YpFM>zEmuPgUWYkeFpjwL8;Z5f%m{p%oJ%D z`&QfoswI^X?3(<~SNHg=K2CamhyNY=6l2?DoXTOzF4fPZs|ULK;Y4($8%1bKF@n$o`;O9A|Tx*rL-gq)}-QDik?!h7WHX!oewV*LKmmN_HLlbi* zdb-RPX?{2MX!JWX9lKsnS4VEv^OzrBowwfL$p9 zAYI6*Y{y|-^>_QpBVx{-Nk_U?fuaZRlXu5l@Z@;sTnZsHb`>+KLi6m-)p*re2tN2{ z%X~IXnfO>$h`>y$5CRjoJcg<|rU#eXs!E7`7o6i3z(%6&s&9k$oNFp|y&i@k-rOGU zj+ao$cfbZ~P9;^8bH|DV2-`tLE90UrZwV6}#?MROD_OZffGZWHW2@KryQdQmd&lbBv*iv}0+*xky!_rmk75 zglxpgW`rSx#$r-~SA{7}d^QCHP*V|YO%$h1jL;NbUCZtVrgT4vH0L-3-zuNlN}&z> z(|Svh5}-3(gLMo=ZRdSqazN9(yu7{xfJYC`FV8oJX->H|pH;2eT-~R%yTLneJv}>H zzr4Dmlk54U0hk%yGdAeH&=L`+CAXQ^%e(zN&yBENsy=^tJ17i0)Qpu&3gRgJ8$%TyuIBW=Q*5uCm0Y* zt!JCnG%xRd^P}D2m~*WnfDi~lHTJQTno?%xD)E-;zwm7NySAD?vOn-m`~q}?<7{xk z*xOg?P3ZZ*t!4j%S=O#gw zdxtF(HK#5+Zmy_T#6&f#MOC%$LI{3;Tw2b@)K+6`u+ZIZLd5NQM1poxTvG8?J=j$- zCA;W4FiQaFW9P9iWlGhY0|YZD&Rx6si$u3X4E@ZV&)56;Xre zUDtUtI2`8tD2^^Eo9eP;=b4ym)%#YH6F245s>tMsOFad!wq-8FH?gmdZ&bgxFD1)g zEROrAOj>G_XB~3`;5C|^njtheCi1=8g^3&af$u|d4aK>irDXe0|1a|!ACn*c)5Ck+ z`T=V-^>1-cK>UOl8}JRnAmoCNf8j!iuf` z4nRfs#|Z&8o8jVY?Sr3}oNL{TgQ^NZAH#f{+YMVqpj4RCQ&~Q3*Z)pG{pKOlrNJiw zW_VZde^vM2d?o&s_dH*`g`a)ft_;4B>A&~}{|_4eB%#mhw zrDmW4Gj)!e*ZCxdgNd9Po!ZFtTV085-#{`oHAQ4ZY=fp(m8AC-xa`1slUPj<7v~nh zHma>v8nZFynsZIL#NhkBt5sXByzOwMlok%1meeHA29w15VsWH)558|~H$%fF?WSCg zb5gZ=N#oElpBx!W%5T2*B*gIY`Zfgr`qM|D3x_$;k{_q+=3}(_jc#}^#2EY#y@=#o z&d)ZN56;`NQxiV;{)!9UyDo;~aYmw{@6NaD zwr{=v;S~~g(a&?fy4%MPymQxghgzi%VRxKM5mU>h9OnfQ#-U%9BvOx48i#JZ8u!Oz zN;Q@8`qKwDw}TUCOaloq~v`O zX-kZVtXKVEO0DTs#LRRUqIYh8m>Sh3m%5}JysOfT7`{C@)Nn_R+L@IIoA=l`60@9Z zbJMg}rmFQ_>^d)EAvi)Pxu#N?5K8{M+K+6y_cR}s1Rxta=TTG?M#9mw2G4z$a_zly z2*vP@a4~w@6X*QA8ivsFXU8Jbk_lj73bj(TC(fOrO%-N`AI9$OZEs>$k&2^xYBIfOQ1Y_CS6k2WMi3?A+YAC9R_ z3)&^4X(*?WCh^NF{q^5D{GR{j?90D!{qO$xs$V%$0YaE&^4^VoT5|Ius6x(_n4!UW)EP9=3MYxi-hRg$0E{5 zA>bW%U1$LF`7qB#7Vr6djeT@Wic10{VLrtfMXeR-v{ud#j?;2|vquCGA;w|oBo&z# zBP?p`afn?!-tOi@{WWy`hkoGj={G8@5Z=PNf`8?g{eSmi_#6A+3xDyYaaS(?>|eG& z@|F1Ce<}RrZU2=z-c|oRxxaQmxPtF|B>Y*kuR$MRnBhj?>nr)W_goD0*(deay&-@7 z1N-SR22airF>BFQ1PowRw7EBPmT~A>EhhpxLNyT8v{X?IXo_4Nd*)IqGll4zuv|qP z(>U~qI1X`M(z0Zm)0py&%4ZyW{yhFwEr0O6SvXkq)qBs}x`))PRPn*}eXO;W6EPSz zCa%L`bQ$9$L^wKsedB8guFN5CS?z0IW^kLnGp5Zf53tGX=G=H8bCD zDkp-1syQNJY?iZTnYq7swS1K|HfB=<0g)L^+dvkPutlzdiPfSC=6!N)iGfyuU5ZR| zYKH99FpNWNSIwMC--o`7rPRZ5J{)IIXi0Mwt@VU`V&>K&*7oUF$eU&L-?CpO&x3{-@pW9LPj3*5hU~tcLzDFDkNGkL^^1 z0EXb$%_$>-NFB$a@4F?HE{2@TyWji(5QF!k`tb7n@q_ctdMs5Gz!NUHlH;-Oswk-L zcIC61{I|a@(8E`b^yAm=jNp!F1~gGKW#+z%qAIG6xq%bMq1*4L+ugxAO1Vz+GNo1 zn;kPd#LK4-j>qGrnXbp(ajp%yLgXAZDp31XwlnY8_w4ZY?jTi;(;_O3Q`4@A1_p#H zG$!`JMaNfr{JhCO_`rWv%JW5g=O*Om%=I2VZH^kE%2uOyR7-8mi&exCInN^21;3;s zYU9{9AcLqnN6gg1j&190O=KK%TGm^KzK} z&a?S9ZUF>pM0#ZJeFOfpUqmJ99aH44_go*n{{AF2_Ai|4&c;b-U!ZchuI}pzwsZZq zcLctSU-%}3?}8`S_|0s8u^3Jio&M0b*Q>?;#5ae29ZrB|Lal0GOw>**Ew};zrAiF$ zq^y~?dJRz{Kn~7Fhk%}Wwd!-OxfC<=!HL+C@;G#@lc=v&uJ8JiGr-?@=D+8n`;WhI z_~H>RH^b~)5+$@Q`k{{^l2U1N@TN*O;AAS*F;{>d;Bn45giI*4sgG-GP`pQZw~ZIbRQHydJ6^b`#| z*?kQ}wdHfG!Ito{!(AyNSiG-{j$U=aARuas0jW-NT9(x6f@`VF+;X^fiV~|C3`6G} zx6i!226T#lC}1P1SQ7^B3)jp5bFMj;dC99)&xBnUZ+8bo>|$WEu9Sz8KarRBIKJNv zp2(YZo{#f#zFix@;V`FM?)JyF!FuPap1`}eyF;nc$ME1{yFW~a<6LS@DZlr@%e%w$ zxlg_2ygwYK+ub3htbolPw}^I*&W9l#m&cTT_jfIydfVUz@f#7`_N#}4gK04 z3?^=Nm|Uu;o^1v-yEr@RJD*A=#M`?ABeplN9Sg?Q(8f)VADnevyxSdzK30(!{4m7e z{f8f2KYw|{>{hF8Jr1I_q`VrsTq=NG?dMS>-)c$(59(q=t~XsgU_4?@m$f0)Lx zJN+4;)vCK6mAAGV0!C8Bt`o7X+4n&H%*IcqKX$bJFedM-b6{3WVaKa=f3_@MEe|~s z=2VA1I;PwGba}R3QYD55=bK#WyyRNzIJ9*bqEeJMsrI|Xv& zg9FiAb*DNKu0;>`mPm5w%sklM%y+>9?6St_)f0(s`e+I{m6~!OTojFrnIqDfGnAT4 zKgn)Q_WtekKOT8nt;lgzlPZi@s!Ve-H6gg{Knxy{vg)(6pz2|>j?o{cWlrTC(%%*5U&{68tc#2@U~~>&<+99>C^|PU z`8Y3xNPs}6ciu5|U1%rKQ@I;+2JUM5!{2*#{e|>T{H4v=MI@g?#-mKG`X@3D)ynoNRL+siqSgM_HGWY!q%aTQuml6jJd^^_`-?M(K8qq#93zGB(cY$1e>-G61OGmK@g+P|;473~{!+G=H~2d~W{(H^ zBVS>OQBFaaQ!9J_dF)&Dl9>1Jcmiju=I)wd0mj8_F*gX-rE(D5bjK zcUhn9Zhl9w;OU|0@7ef1jDO(e@?3O%xvh>EvFpM-rFlt>&fqBHdNaauy~%ye;ieiq&9hnsJo@AhXG@2$6oQazZ8_I+%|%e(!tR&m6Q=}1IPTWXYp zVdxz5_3iHJW;YD+<<;&uE#ugI{OxDk&FbcMe{;LrALdl5w)=;w^UjD4$0_Dz2;uTf z{{GkIN52f^EAWL3KbFH?*9)@)yJw&B-wZZv1+Asj)p{hNtLwYVv(2-|mwn$oe|c+a zj=7Zs1n<^kpHdFqjblI0X|o*?XRn4Q3+&1so(8Dj9> zcgKTNnc1Drg4P@d*jm&@q+u-jF2?9fscPUIl~SiEIc8$6MG!OtDIlgambxwVJ0iS8 z`oFx)f7Sx7Rz&2O#LPMV_}j1bMBVjuHO%A6M?XzDM%SPrW{^t>Ew@XUQfZLJ7`>GC z^B6O2*WzZg|4##dkEg}-4OR2PzA^`S7 zq$;77*E{;fNpFD+F@&gKC08&Y08vYb4^e3;bMRebM>vYXWuOu9yFor!DmquyoOcXX z#7Zum)Bv_2i%1)$4~s<5PZI43zL@G2%AYIp#YEQk(8X5tre;Lg>_N5ExmI)>LO|x= zU8B{crF7A?x`P&yYe(C5sBI_Oc5nnlG?Y`lry;Y7Jj!$O;RYQNcER(!?56x}aemM1 zUt7Y4@r0#7BFDkC#}=wc6>)@B{(nsUXS8Nnc9w}wv)0h>XliQzpwwWmF}V z95Tp)3@Ql;kU#=NBLo-WF5`~whK9>%?j6vyxgh8Z!ZW%7Nw-1BOQkB6RH~9xDyQ<5 zJ|i+Bj{D5sdzm@s{jt6iV&oY4D@VpTalW(nT64bd^C%E{x62K*ZKylcYDhM7tFdSXSj@XPrOG;)bq$ye zqPHh{h3QjW>5|>LhiOU zPv!Ed)3IO9ClN-hb)0H@_ra@LPFcVgJB>KzECv>W zt5kjjtnn(X=8>JAn0EYoB=5O8E4=r5IS5rz5ve$ z?+Zv~Wj9CK-7<@52J}&$+Hbo(x_h$i&5e#GRR%=IfItS7j$PT-m0rE0e&dc7QQvk= z+O3hib3}N!zg#Y7YPQ~t zl_D$Eq=Qs_fK?Szm4Q9s(b4k$m_I7`29$HOpVh`UjUogyZo@;@j!MxNp1b`phymOs zr)u7F*ZA!))$Cm3Jv-hGv66BTaIxqd(-dKFVKhMJNO$ElsDYxK#Spz?P(z}w z3H1hvNJX^dQjdvRSJ7DEgMbLYBvZ6l-n!sdHT>RH=^O8N@%K7<2Q>?fgeYx$!;^}v zvxr*XH_VIzBJwU0pUZD1*e4J|&Vu6@ioB`e8NsJgE(T-KTdI2j8--)=;d(!K_uezR zuhh4VcrRwEQsJ>8Qkl2TJC9Jrq6h*`DG^c#Zi<-@y?4%Wt=_hcFGY9nL4sNrsj1ES zqRP1x!aacfINtXybS*MDfO(2vob%U%{fETATkJ?O0gCq-;Iax2dYL?WU@ikBK%C9m z%Kwz=&|s=Y(z_?+OW!D8_SVJU_-E-f`w&3ovgQw%fe6icS5>BqQkHq@p`5w)6Er*H z;J~~H8HB)ec_6-=;#%cr)g!*DqA4*wz4dp1kM>~cahi0M5eP%$b1JnzZE86cb_|9o zXF`-BZ5!Z{rQq1rkx$8`4^9yW@7I8da4B+w)i(rS#L6nsP}m{!qH6#!hmeR~cX9F5 z?U(=B(eU+8Kza;#4NrZV|KoG;S5BAMhCL6P{RJX=Mim7$UMv<}6Q(Ju=rF|jye&m` z!cEcKcAuE=+U>$CJ8f;hg)_lVZ|PM_`;J$^mAO5=hM#@jt)US|u10lLVK?|TQ{&q1 zCM2X73jnrVNU`|wrPStI#{kZ z!}-O!Z(C-ksylIkcMCG7dNyW7zH)u>b-4L6XY1D^g2R81!%ww)H}mTrOtUuO4lOv6k7|wz+-xq!a-{Q!AH<3L-i>*fWHA-)*i(X4H;uX6)F~ua0lReyrUz`A#6tI4j zhhe&RdY%9eRGL!mA*the6DqT`6!ETZuj?urL@cK4y_;gL@_{IYoSKd37k4MZVPV%Exdgs^d-V*G(=qHoh zE;)<*m4o&bjc*X%O!Ria-`SMUn-RMd!h?AL5sF$}ay#eeop&mJ))x^`3y!O-N6l1r zF5gnL#;2WQGo{NyRQ+|XP>kT503B00(D=MIVb(CxORM2X%Rjv~-tu<;obP1mnb#bK z#=|AyB^Rw^#Ja3CGp;X>E-dHWlu}N)h(JYGBO1_<<&S^i`ngZ9|LF(Ad@qDusm|&; zg&s_L3>?CqNEUmZyG_%!j2!`}GGQqK1~mt3ms-ABBW9|iV_(6@gvfy}Ce~6KR6;r# zDH0$;MW9ruauHLpDtI@5I!~VUZR6d+a-pi9edfi3{W$>UB94gxqFDk+o027^;vAX5YBkJe-E7t( z;%YO*l!9}0)Wc?oR*-&A#EM8nyQB$WO4&IEu!`OO%7%3nE zR;m^oKsxfUWlJHidKRL6`eGaEqHHMLlZfKsI9Y3lZ3hwiPnik+6WLJW2z(5`D# zp%j@?N=eq+v1V7bg1?FGpI*Fp`!0DNfnJ+8e_*`$joHyl%SF%7HsSPaMMNrMu;Uqy zQ%tGAWlbu0e|E8{7T-!ys4~*F4abN30I*tbFD^E>Zd`r!laG#LoMLR6CgzG>Qr z=1q%+{X&a;{N?kvSowkD1p6?U{r7SR`}-M;5rcDPRs$Mz$<*k&hM97fag5t>IyzWf zJw7NRuYU4T=XjhVA|4+u5B8U}Uvc%yVdKO7le1dZJiFK+V%t?^X1aEKm~**(_oUu0 zP2uohIgD{V41~B`^!t1Bi;ImhoiM*B*r=|9FGxzfGH9D{>!B-VcD^3go1tq$CHYkW z7y+`|DI}SRiX1tpH(5qJUkyM+1`l=oI+gdW%GNmmL)8K>#@sYP4X$bK32qla=essA zQyW4Zx0a&QlmKAfHT8pfu^L3`IY}Guc2LS)d6!j%h*h;t`@M5b@axS~XZX2D2wqiv z<5V?e5z$Jjblx!%iaNAIm8EJAHspM&vLTO5tcGd=&@lp0aBQLuVeZfqZw-4#ec-dz zpoWXUxs;C;{ZiBK2{t*yBp=wshG@^zv&BB2^?R4_UEWTB-m>I(vFwRr%B$_PIfBi%JvP9jW=JDUVcW7iaTrl^W;XWNeMHss`joWt6gr+3<#Zf z+wEjvW6X7)WCrZ~-7UQBq4od%`tk4nBz>qkI%v%EP7|uXH}*$UD_|(fDx0PHZrV+82hX4ZG9;a(ZOC_@c5Y=-=Ng ze`?EjWB%b+#V5}3|M@xoe!Oz<(DAXv=!4r|9xeKqQpH{|Gw&_;kjObgfRv>^kH#ql z&rRcNNoy0rJ;O7hcNc%J@n5wsSMQfqg52SwbMUA?d4JaL^_ny8K0VMjL1kC%QmsQ# zaE?tR7n#pGVxCeFgif_}l!&D4A}TxBJOHY81fgvT0EkVS@w*?3Pa(kP^1;FU@7^t+ z*viARPG{{Z6;MNflyZ^MHlZTb7NP;rLV1L#&VY8XIwvtr|!8tAl zn@MOI{^;JyeDiP1V&<%K{Hn(vb>5BBbmRJ!v(?%$E#}<=T4^OFAM7nuHH+lDLy%m* zdRXC*72Eyj!w-#9JiFM1p10d^N_jEwuV1@zyuV1(v^`(B`Qo^P*PNVwjgE&;z}~~~ zFJFTHI4!RnFGYl4*E0#;*GEZhd5>dEIoELZG{vrKt{m;pW}S*H7qeXQb{JQiA?Ff; z_rY~dbNBw~W;+7F$=OOoyyxu@nQ4DHpJJL~p7-sn@5U)kG2K5syI60#rU{J~k@Jgn z%Eb`|qz#~%HOS|)*#^warku}K>tT$W^*EpRj%l+QcVG@CK&zz9Y7t?_UF)~&sp&gc z5AsAK()}dAkJF2)pW(Lk&T3t{h66>8&}M}9jV6U+#sqEKGGWSP);Be{C}u?1wM~q< zp1Pz+J*-I)=iHQX5pA04lO_?XY(_u`HEC6ZnVshp^Ef49nssexy&>i-Dx!oIJa}Ks zz--~MMOdq?fjv@C>&Or=E3o6vJBQdXf|@cngyWRXiUtpT$>&qTVlOHD_BQ>Qg?!Bw z`+DP%>FFsK#lgy_Ht~+YJ6ie!OZwuDKD3pmP0yU3Fm46UCi~TFzU$WpB^Sr6UX{8Z^N#=Y7gWcdi(;%Uy1LDjXf`dFO^PBBFOr!AdHN6lYpi z$i+9tu4!1+?v4UlzWJ#%yAD795`HQ-!~o4P1EMnv!52s4Fx8m~ zFe7t9JXOq_@>d@}e|uwp`9sUJ=Nl>26}5v&)w8~t5imk0WlL0?W3$S!8m6S8_2pJ2 z-qk1W9228+#JJP6?Fcosl86YV&di&E!MX6(kiqIbGK+L=b9gY{Sq9Bic6OSS@_Lx+ zt;x*BF{PB8cfq^*KdfE(WOMQV`GV;k zuZLgxRrja23x7Pn;W03~zAGuM)??R(dfGQYKG@%{>GRqfLxL%0?{+hN9~c1G41(LT zOFrB-w;D?e`UbC4hS7^D7Is{$W9Fy$dGa}KN3 z1-UTqR5UAqnMWvwQ%nfZW@!jxOye-MlD{1Cn<798Pfz}TI7$2S)*O!p6@pOzD%nw8 ztQE1Ga}fo@rt!hM5F7%gA_Ra2f`|Z)kchHa)!@~&3NePjmr1;xYFrIM@MfA)CaR<} ztO4a36JM8jG=)i+9I9{@G#sQPMc8uo zug(UGNZW);Va};I&yIPu8TS^m#~!^gjBz_o9bq!4qeWzQrE8wTHM0C>bFDqt+iZq= zC+9Kd#~--~W-*uZ)y6UNWv!ydFo>+bx_=d3EXH`^av-0076Fa=w3hcK6}X5;QPqRn#W}Y=^iRM&?><*iEV{G<+v4%>^z&dOkQLaLk@r;Q_Wo4WMhA zYB%+s_vgJM%r(O$VyYoH^L|rgor(vI#1U9jvt-ZggDVE5&M^We{svOzT; z9k3myc)OU2{@E0l>=$g0XLX+5e2g@r~3*JS}+wuH3%sk+4OLizU4|;9>E8m$6vT;+`OUSYtuzUka%}!X7Y}+ zDibbqE}|J|jM)G)@r9Th^OM7P4Tm2%PIuPuuZKM#BCYEi+P$02oFit=MS>Jy(x&kM zMZ`HboArB(S@m+nlw(SsnVIX!zSh`?NC8ZZnH0dl8bAdQz<}Dpl%j2w)`Db4j)=$+ zjWJGBUM_kA8-@s0{|{I*&lM6wUVm-;V=|M8K*APBC|F1Bf+Jz{|a5C3DxeT}(OU zGM{x_*OVgOInS)Mn%gu;ltu3i<=54d@#B`CRd^)8<|4oQ%#32OFDdw(g2x%D8FilL9QudDfu2Hj;O5ZhzIK^xR4H_^j0+Xcg%wX?rfOWJ4M5~}?r+`Q7YPB7Xdr$;?B?MR!RFa-9TmdhgL$9o zHWBOUtqy9m6s_pqI(x(i*q6#d1povlu3z3_(Rt?8dMl^tOz8j}$Go?A$ zRmo?*aR$qxv$VM)!)G?(Qxdw)-@10BYEM6Vd$S!v@aL=ba?!__rBPgvh<)E}Hrs=}1pqonG3FZT5ytlZeOBuqx+-z{ zR)6uTxjlRzfBcMoYJT*@t!vk=95G=orSDr+t?TVN3{usUOB=$Yx2|8THgy=@G+`Jg z5t*hmj7inzv-Z(j*P9Sh$~6cx#Wd?$H50QY`0G~=y=M`*aw?aONa<^%j$y5)wd2W_F;(n^a$HPzq$eH{Aq!%$X9zwjs5h9g6xTl<0zs< zDmc*B4Tu;aHj))7BeDTf9mc>Iv#C{~2U_JI!h>T(g>~&MX490a8otEzPK%Fdeh&Oq zpY|zPk;a4_`4$h&o_tw;;wAcRZO!|tIOw{jo_Xu)7XYg{d8=TRj)y6MS@5p!n_-M+XPY+ozHj;J)uR-1KWn}B!8^y4ix$z@taZ#W zWmTx91yg0jT5U;yzvbG;qI}6%mJwflY(F#V*_P(BR@~*x4k0ul^tvoNtCfBQlF=7R#~_>6D=#@1$tNllu- zOeGf)ZJWSM-n+I9O%p1@xCx=+S*p@6<{Z3RmXZLZP9%4C{9Qt+&TmbP2)*|rnnhHM z5mk+;@@1)O!=*|dtEecaB4&VO6=SsnyW{L&)r{9T+dql*b2YhR^QLb89{;nS81Ma zn!Uw**0<};`ut+!oI5_)6V>f7HBC^p5IiD^N+nh1OW})iv|0}(i-GMeX3Ir)cDAnM zj`NH4@!?*bNI!JtkeLuE<+5IH+ctRTrK8>T6$ z83Qhl4}!{UoU%bNgWwy__2(RdZ-N`Agb)0XjLSt&NV$|6A)e2>*}NUMV@=B^wOH&` zq^|&cPlU{_6;+}P*i^7>mWMTN%$~tex4%-Ee*mGv%)shkJe5*pM{us!zS?AMn`VlM zxCU_4J6B54vSV`rKrTf@0Z_zZN@@y7v%W2A=i6~^vTTDj4VX$UHl?2VhJ&oiDi1RT z!dyfEJW@?LhTyoAJwh-|DbEn2=~c#CY=e}Gm|yGki#mF|2M*eMU=NTKk~mP{^d}j4w#V_prp~1g;DY}+9@VSHQ9okmjw=HCH?08_#0P`+Xp)?{+sl=4KaY8e< zoQr{}A@0<^xs)1{sguK8lq~Zggpd&~>48xQ%c@VU6zgmd3mJ zTYc#Xer(;h^M)MeEQ4VMv=~5AQzj)kNo8}s{&O>ZXBQr7^*e90H`@G-xcw_CPd)_x z3GjF6u(201{CYAep`Zq)3ihl8mn@2hw7%;dfI-c3`k)mL(422)I6&^E3V zX&cXuK_r-+H|>S+xA|>(7_MH0!?FCQ+Zvp=F4W@zGdb@SF%_xz70YFwO9Ob6*A(%M zM>zB8H}CsdPQ$jC$*~g@aHexGFo>#7N{L$O!yN`$F=O$!!3g-H@s7e-c z6r4|`IL8R6sv-C$_*`@vqxWtYV@{a}Bj9q1i!Q9$d4!tot-OZ%?%B=9YbQZf)cBH^ z#fTxex(KYcIU*Fqs84`;`eVmx)q7bj z_V@r0TCW-*c(a|$=3>3=+U8P|WIpBV^KK~RUM!jDOXK$YW!<8@JU_H<&exB@ap&Ev z>rT&CH*Z{Zj;jznWtn2G-NZUNyPP(&s&#Gf%wo0~rqyN~;}pDGt+%tjFCxPf#~5?P z7l_XL=E<8^SFwElnY(Yc^4+-p+$R1pmK%+&7M5H4CmUM1*~Mo4xo2LOVpdV-{NCQI zV!c#tKI@MU_okRC(|o&~ibx$BR9Rh2g$N(Iel*3r9jALI=Vo^0XupW&T((0z*qgVF zKRH`XF`MZ)#h32f&qa<7mX7Isy;-fdrIb{p2CSH<@0yfy%w-%CA_VU|^QLHN=h&iXS+HAD!YIa$40rD!O#~SzENgdJwSrqk+ z-``t+$S}p3=9StRhrk4vG2oP?X?@CtiT3yAtIfFHPF)j_u^xR8D{Tw9Hl&numXu1p z{nQxYj@u5PYDK|=Il=-E%&15%(l-u?0>ZHgZl)n-5+O4*eWTe$DW`@9O=ulF(qc+- zo~?Bl92Ye-C9@)m!8guh&Z(4@!3^Q8I$cCtV|W^o5tgF+8-%q%7H9#~oSH-TnN*G^ z{n^v<$if%Y&u_{KxJMo`ziEc=bb4o-PRD%USlfo2WA8+Dy&bcf6K!)QCfg2UHDXkg z1H0WumZ>@pACzS;w`C++X`M*Sem=iHB?_v}zce&s1OiP+$xx+yeLsEqk@ODUecye0 znw5r*S^H_Y07`^nFl4wG^E#I+as0s$|HlJ<@^BfJisU3iq?xA|)s$yif9i}nH<)TNR7&9@}dahhH5qFj) zQ9@GWmh`ZJyW9NiU3I|=;#jOj1G6kfRIh-Vv()$8ZqzTOQp0MNMx~}_fgkL90Kq`j zq$n|~bB}J?`h=g7W9@`c@5YA!_@}**K+~OA#H0*tKCX@0qxWNRiEUs$?uC8gp@G%Tk>8A8Pw))Ne`C zNrJb{;H|OzyF|rxK6QZ1%84W4jx-uVw?{NP3Imvfr69K3fdMQaRh9Fr7nTMr0T zS2m1O6Z~S)k5f{Gdayk*z1sLY0s!E7=Oj`yK&!F69R%8}`WSa&5hOr#ber+7zjsUk-pc2onR)ky6rWaFIocv70P{{v$$-=p3~Pc*Etk?Y%`2a{wb_maR%dth zC;WhFS_P_Oj4{R{>Kqes*R@S>DaHeWFLv~Wn>D2JCqnuojr@J>)6sEcIwv>p!u8{W zl*=JYTn5HzP9K2u5`?~6@TsSp5JzuTPR$?j&s_KYh$}inLX}o*r z%7K=$8Kaq9zjAP}zZkY70zisyh0`BdZoX;KuV#51jVD~M;Fm}IfQI|zo33p=s{tZz z$8o!zQqBl4#@KhAW2y$qm~%CrGqH1wggIsB`PR*=DW#M1Rq(ED!mMuz@#XtxIhX5K z4zrY(UOp8y@7(d>UMaF2rWn)tYIAzFR@IowFhypr^w*~G-t%^tM9euCJm)N%^)@3- z%!eg)fGxmg%99xw)N|B-&08?D>KvfUnY*eMfrgL)qnQ9K!QS4{TleVWXXDG}t`aC< znDxVy)?=ic{u`&SHu;?>!8vg(^+^qui_}R#aBjUFE8)5}&Qzr~%jq!+Gi*D%@G3PV;&_c1n_gDXy6St2E!>_gS;I9fhT{i!mqFLvN3QUoeqA@fC$<}qALvFm=|?qin!b)#f68yZW{Uq)Ywx<&zE9joksfRO zuicOT-`nX!*8gYfe!P%#N$WmHO-rtZ9DLvwuDv-X+=Uhi4J@0bSl(QQYb@W`!{1)wwPp7!L;BHs?(gwl zzrS~V?osl3J(MEOvxtl_dGAcE>jLh~LR^DO>|8Lku4^4r&N5BW0G9KfnQHNt9gSnw zOIcTy7A;Ew#L~CFD*jD8yg3LEK6V|(vHZe)pp+<07?aB}Pm@i#n_{tYZ>u7?m+>ac zQ#bM-e0BNOoBBuJA@6#NeEkjm1IPO1FUva`xt;M&(v=|-?u%@TodZ0Zz}5vLfzcGIJh3lag6L)tfiB7?#N0QJ*M zsAb2Yu2-@hnFSC5RB98h27Rr9gL5hMy0%+WAR^TU4)%RhofT%#cxNJj7=n*kdeGoF z*C8Weog`GkH6fH@3cI|siWC(h+FQ=eAXUR+{Tx)^G}gB!X(fqOOQB0TUAyDc-r5G5|Ee)d5{8g?ArKAfjnZ#iTAZYp72}3}GU=Ye?R` zsiZ%eH?L*+ZH8ZwmXSm5w`RK#fQ_9;h zx;p7aWaey|QrTO~f_K3?Rh`DfOvi`Iv-8b%jNZGP1<=UxdCcq8hETtFK0VRGUSwfi z7TZ_&hs8g4eASEH-A-+A^H~RG3S;}P`<6_pY*4xwbwIg<(+qTKMhzL0{wYKrh zT(^c`xR`Z-cyze8-i!wD@IzPozD+4NO|#yNJ1(mkA@qIsV4Gh3Q?ouWQqEFu2E!2R z6qE=7r~@8nBgMF2drcZ9m`?$4op2m=y;@oro~Rx+D1LdoJpgBiw&b4jA6vJX=`O}bvSWf}@R z)Y~XD8J~}`S_?}0(h$G>NS{1}dxY2DWMA+OS#0IQXMj}qnuXS@R3ROafIgoA1wO6+$rzxuk0;nb5B|Bs(SAYzoLFHl>zMQsQk4(y4E(=xcL`%H>c(nvu0z!&W+ot+FX&a zrd_tfRA+a!l;a$kSNr3!?T}qX0H; zwkI*Cm_u;2h?0tU=k}K~Rl8Vk(M(cKrF31p-E3?0hKRg#bqy&Zhx^NGR}L@MTOWKi zMO_S2O6khMvM%uUm-Au08H}Ep@YPd#=Y7Eog#|h#W&5Ah-|-9fE;N3<8NsX$!=3Xv zmodgiZ(V=%;p?02I8Lz?DWafIm3zcgim2LljKTZayxVMs{k?^VY&K)xw~yX>h#6Pw z?Zs+vj@mYKZQ~qmx8o~rJ+!x&ou04S5Gu&#aDOqzv_t2CId+u=A(wdQI$HpDu5O*Y=mz zt)Xfo#etFc6VMiE05E`rqyTE5NG;8AkSas^)vcD4b_)-pWgU`{qM{q<9Pc7%7f z_R$gEbwQttI?sA{g5TWgXOe9NKAv!^^qJ9qCcECzugCOsac$QCyDJ@EZ8em%GTMaJ zd+z`Wq5viZbKK1O0+_^*sHibf+Xh3_R6JOyY7W#z+&U|;++WAMC)23h23d^dV|U>V zv+4V8jql*{Lo;~WT%XOjcpPMlr0}Z8;g21cuiBF@@6%tL(wDdN$V{$ffWZI(3QS6W z;UxXk7K#tE)-#wlW3ZNCMF0Pr{JR$Ei%4EP(Vw2U2_bl{Z?PkpGT;`u3$6lzD=WBZ zLY;*oW6H@pS4~*nam_8`E)WkzN(FuFbQ6ftsMqqR-!YzV;e#KC*`mBynu)!LpeYmA zd6ExKRpXTFNKDk6b9G=`14mjY_Qh+eJfFL!#2-C^5Y#qd{O96#av zD|>D035q!H&D1-B3bCXry^$uku5Ao(8e__ZkbH1_cyO@4H_N49HAW)#U2}TANl6f) zZ~Zt%AAH|6Ip>;3kKvE0g5PdP0(4F zig`aVE20>9vKq83@_^5TOekWNlYDs>G*hVSBF9{P5jD$S1koLh+C_AL9wCb%A_EHI>G>+fYyi2G%VC%ypoltl)u3x)j?f4HY}Th- zehkvH;v1#{Hebx@jWq)SV_>#Yydz<*p{H?5IZG~bS-1g2U}k2j<6rMtRFO$l#S9D< z1UEM;E#=qx<)=dv4ekS;EEkI#*9U`=OBRt*dte@DmG>h&XQ+a1Uz*TS?glqP( z0{?8<&yCBBvo;WtsOBP$xrl6sv9@K75BI7N_yG;>5{-uQzE#znWj=2!y8XtrqUP0RQrKV%FctNxO^O95s@;h3 zn?w1s^@BGf#t*r9^;4T-ZgTLNuZ~%d9Sxe*WSh zw`BaTC#LUwZF*u^{?eDkDdJumrfV>tnP)h?3Rioeg3usjbco9WaL0Z#h7UXVXy(t2 z?Ryjduap1rDDPFivg}=TbT9?)R1HiQ2pe$k6aK-Rf1lGkMc$j-qVr1BYTmPaj%^`8 zgCbHlm(J}FKNSyYH5?B%>zbJI#cC^J%-FV}0?cIhslbYRQ^V^)zWFVB=Tz>l@eX!t z>QRel_TE*25fO#JDM^iVGCMUD5oWG`Zjpk3xLfvs;~hA(nlym8#6&6YOZhe|R~6a0A1e% z&nl*>m9o=!jrV>W<2a?R3vKJGB|M9wsu>hj?ZT^6`jPGTgn-`*&32!f4VTRkLtHeUw4U#WA;CQyJV9%8+8I2W>%Yb6$v? zg(ecUVqGa1JO&r1T(esMK-Jy5yY?UvTsi`4Lr*E9G+fmHruIfo8$fE^=n6)%@FpEUo|hk@9k&s z27rBlBl{~acE2S{)zo-53=;yV$S_X1h=@M0a)a$s!NL1lHg%32b14EldJl|K8pl{f zn6Pa^OnEu)uO1)1@Y22gz4@&hS58h>Qe=v$(m`LmeZLgx>oWqN6gj`xN)f16a6q%2 zvn_ZZg0Bz?H6_HxaYDLF%@N2ANvFk#9XB2j4XJ7Uj`~UDRT)VTTM=Y#%#N%)3T2hj zCgL`0^fK#08i@FP}N4nWm|M6qlpfC?zi z7lcmBwe9K^!}c@2J@ZYA*!JxOAU7eK#Sl(?xMOfzpjZ0>PYbkd! zqW5vQv4E~VbGeH_e~*h~P?=|e4#JInl$1#DKYyIxPL+l$TMMz~3 zJaXl0ZpIHy@az!Yd(Zvd54S(Pg|B!tzvaL_eivRG@u&ew0EfV2a2tN~*YHnHvwz{c zU!L0kL+AhAcmD<2XPvu`?7M~yLSQqH9cK|MSiA%IeC8iF{~e8eR}UW<$_Gc7GaZsD z&>Fexn`(HkH!!z*cUsj7lEack4N4IrWU7TZa7>OUmx4r9^BaN#q8R0og?#lF^`CkP zKYZ6cH~RgaOw>8ry}b}BNDC00V=1aC-n+UEK*Tyriz(Mba82u!%VhyF0l+n|v-M^V z^ViJm6(xV{B7fJ)Z)Tk*2#)%$Jzo#At~s3d735RFa8*A?#7*N3fE@?#ymP9?kKB6b z-pK_a?k#7ID0p{vu_nY?&|$|2Fpe?hQcL9sFr`ey4#7Ll24j{(kuNLjU&iM1vxD1N z-ZM782+Lm?{Yw+Pexb9uK0CpGx!`|s9xi(RrQ7t6e$)TNr`r!)wC{bv|N3X>S6^yB zebQb%%TJ=Y14A(!035&wkTC{)&g5REA3f85H{?GwgFNq_kLj87nAoY~0T7w$Ev<+- z$E6ei3*Hwg^}v#|aHZ!V9hbBKIB7dUXaE)>BXd&Qz36tU7OmvcN_(n)K0;(-L?}hn zl;{$Ya%oYoo3onfaF=YrERdF+UYOiZg< z-k@@)h^Ve+opYs#BMgpTF0@vBJ50lr&VWgZC}g4vW&|)noG%v*8c)-!pLn#Hcjud} z2XJbNwe?iXPZ6+Wsg{5ce9GB-x9Gb% zHQigzt{xvE;K|v=PO4!hBF?dMT)PKEBvxq}bhtlHsjRm{*S2qZ?JMuxJ2^R9Ip++4 znT9dmKRv&Cbg&xonXVokR~IkC^(AaR1OM_~=U#DhJ5DINSoAUGgS|!9wc|MPu3ibu zJWlCiy;V_WdSE$rj_U=e-Wr?6Baw=xT*fJ0zjFBU{j-?z-l7Y^5mV0P{@Dcr4&!*S z9*FSD(Oxbx3=sgf!xUql_3i%Ntd3k%&34MP-8rUe_DYdi-++{8b_dsosjMXaP8P=jn3XXjs2F)q zO%OF?DzkoI_9=BpH#~dKA8`1a>-P!CP$V{fh=4ne;y=_t;ck0sfP~ zAJLt@p)e@`5^)n;!c*H*DuR0U;fE&^VuDHqAl;b5&!H%MjrwDES@gx z6;Gg!;0btukG>cF$jRc_qh;`pyq^*EL^B2kWJiQpCo~mjQ30cP~P`3{m6Of0+?u(a;IF1iucYDRqCONv~43IF%?4uGbXM9>B~~sE}*OeB>j?BAI{^i zPUJ&q$+QWRcfXs$(;NM*P5FP^oxM9PpI-Z4dXC?Hzq{WaoC`qFw(WDIBO z>;oRKLV@Q-_++Ms72iAZ-$>1Kg?}mYS>wNvp@aZzcVhnC%m;m&92=n)W5;!h2mp@A zdlzFa)lw#!E4nGCW;-JDmRS+O)Qd!>Y?YQ`J0}BD*EKPh%X#;%pTKVSf%A@cIcJ0F z|71o3&`U%t0JL3j069xBMKdOjG4G`2PX$n5=Knh~|$FN=uil`99O>+YSe=PJidn1-=Q z>Gg5CVlt|cX{!n`d65}2<&tAwT3Kr8O&Bb@5S;_WqDFw;u@NT`L|~#O__pzgm{aN6 zCgoygx#-?vKI@y9OHRpq&#pc_rM_c!4MnILaoKD}-F<2s?|Gc2^=6DQA;LJNLTUL(bAReg`=>C`GD6gD&Cs6+4fnMz|_?)8m}w>M$PXGMBhNY#z_~ z4JAIN;}_EOPR);C{tJHkVV}ReaUAH4SiW-JUL15E!t_*;M--n%_?VRr$`=}bA;R~~ z@lPE2oBMrpG#}dVJF9ZCO~C+%an5+rc6ETSs;Rnb&A@Rs%d)$=8e(foIqkTyh?%$= zep1TAnCY@)X1h$Y0ad4%dC#g^vQ)7T5iJ*e6MV^%RUN`34p)MSC>eystZ{CNspK;6 znsG{vYXU<+~m!-@h+Eu#_)< z1Yiz8u(uD7Tmx7@mvD1xfA&4$r_OshoKf5Ok{tknp&FV7LNLgpgsAng0{~{h`}w>} zxlFM*CLsK@;&(&5zQeJ$CPu?5Ii6dVaYn1w^K}r*tKDbscS%Eq`-7w9`7mJ?&y)z~ zt)Botli_*APoDb|!_%OD|H8l9H^;_5KH{%JIA^EMUGe<7)?NzQDBOob*76?ahM0CntH6MYKaGZV#> zMWo6iW?iFdDP;gC6;gVsnXdE0Iz3m_oD1<~gC3zXy$7^*7!VTqa%pL58eh~j6^zME zamI9Zaz2S9=k9NYo{&UN$tCB^IR#@8SL9)|SGiIMB64zW%|ZH>W^F72yI907Mr5jl zv>v8uii>&gynFfH8PhHG+@-D*A7GJYxIy=#KcMPe)!SK)|LmXp(q;JB!&>0;K$lylDP zoT}|FXUueVz8=R^qmuPe;=J?TZMIVpsrXqYe$ce3&1NQkz~(1J2HOC9NO?y1jb&Ko zk{c$*LfkQqK&fddgeBsf;pY;auz!8)u7&V4<9(nGV2Jwp3C`xtrxo_c^unzBXuwml z$-C3Gd&b}X=XwOQiM!}c|c0e z?YQX(W>%d|NXSgiF(TDhyY3zrR)-}I(0a_&cvnPIF3vkNc#Y;O2u}-5!Mor?a50q~ z9w?XKodFPlZ~W7McM#8%o=v1(I~oAf+}VZcso{OWJ5lZeO^*NjJ$q}Le`^qHog9Ns#8Z*thrt;V7^w`YW#_!7b zmtAdD3vRa{uclnu#hx|R)VkO*jz89n4>bn&8GUbzM`{3&GcKi(HJE9Uts3@7z5Vk>kVVlygjZf4?6`OG(;>s@53+|la`?XoF)1reX$^Ky~A9Q}%`i%(B+E1tQNiYuW#W?N-=+?Rg zC`Dk3IZN;k5gYGw5hfCqluBh<2Jg*mHfu`Jj&Odsyc4|Jj9zr>y>FalDOoGHA;k;` zh~SxGmR)F=8Bj{8qiPo22``D*Or>ar+&N$~Q!wYS6v+V2Ic8KP5!+kLhH>(aRjsIc z$F=iUN~t-en(D0h-AyWB;GG+Fn#L#y4r!M`Km-6LLI;568<%6Lk`W@bECn$+-xj%| zX)2{-3e_V~N=ukkaI=l<2JdEFI~9dRGrMy5Tj!evVWXN2(4bq)74c**$woV}AQY8D)e>HX7HJ>#oty%&1NpLzQE!@Wh<1tLmCnDF|w zql@(b_4eZkX(#2V{@(hnj#KKpwh5e4R)xLAET#O?{j-tjsT{xWx&qP1NBc+8?;R~; z+^&Fc%=_(nb9%Niz*pRQ=(Eqf)U}}oj*7@)(SzBYm(QBUi|DPJSB{UCr)R60Y9XTe ztUEYZtk+}AX_}InEf;+$^5UI)v%ZTlA0OiyZH&&ad8WcnXy~y@+!Y?u>?kCZNip*x9id%)5pM{bJ z%0qS`>KhyT);?H_ZyZbLyI%^l0Bd`GX6p93?k?j`JiocRg@+IIg-t$6tN&T!m!)+4 zT0MFtz4*TTi?_?s9&01#$)1q(<+wdZI!XKm0UEP+mq4L4=SCtT;!<|YK-|6K&9t6l zs@)l-LlHGB3Ee?;%`1`MvZ$HQjfmgQxcVWB&-8%qI0NxGI z12}kb3tO>S4?puV{FRT*(8Ac!TCF$yOY`Z6p4`4zU^4D}$Rd!l5!F`?f`#4DL4u<9 zPKtuVnkcT9c-Y0()c`xNmzaL$tSl0}lIa_I8YTXNI1X+u1c6-r6{}+*cI=ogy$-Y) zrXtq0VShPGS!(rY$9z#m00UIji;W3La`|uEo<8aKmdoCmmXw*8 z87yU0n_})fH;qrF6wz@^UF$2tqAI2xld6qV1~Z<|=TpqHzGb4#c52%YW4=rTQP+mE z^R=oW;goW%ps8pZ+yIaO4r9uIfWQR5Rq%V-{FKI@ly-)uW|5hKYY?D{VI9xAHpW;) z+OYGH`Yz;LN>(;y$Idx+eoFR`gGubS!E4_oVgT&s-MuM2G?cGAoJWd%%D=P)?K(l= zx?IgdjA}c_tnS`X2!J`~F(&VQG400~6<$ht0cNJL2^E6rJ=Z-cBB&@4Dgf+~fjc)( z&PC09a1Vr7#OOSmJwW2^j=DR;h^cd2U6r#g)GHd)sOd3Si90ghYV} zh*Y6LYTHm8KdbQZi`=r_*F0a$o;p~bW}s{f4j(c4TF<4xPoAVF5Elu4cghcM;um1) z|0MAb>hW0epl{&v(EaqTM!$%+4&^hhIpOX(a!-?c8pGf{5`rokAW*$1)H(za1s`@O zH8n7FZpUo&!GrFUnRKavtzAjyc3c7^v|Ji3gQzYSnHZS%7i}BDW*aY~$Xu^A!~|xo zcSba+t;ZM;dVsTncfikp$r!u z{e_J&#Z;=U&(t1>kh(Thqy1*0AAZ~R{`2-fzVG1rQT5&d09JBr-7FxYW84ix3G2hm zG1nboWvu{M5v?%=0RYuW^dZJ0(|a-Rd3~+f4Uiu_v%e#=!)4D1v~y9B_r4UVr!7R- zTg+q~t_y7&cz=H%z%DL^qr)W;j8m%lJvE!pyS{72m}5-AJ5vLL z(705MRtB+cu<@A6);l8HBzs+uKhox(IFq4ijme0>^g*UpRkzz=imCq1Iwr@g2Duak zW2zghf<;uas-2SGHcjY))YX^cAx=N&^qXekHptK4ojzZvS-$DT zvuMT55n{^HcTKHT&bmfdn^nxbH%C#=42_RdlA>K7h_J5ToFf&JQhky@mnWTS6^bb% zQT?3l25L2v2`0tBjF@X0l^^W+4AiRlg)3+460`=FB6zGqz`B5BM&ASgkfP3!^Nxs% z>Lm&b>#}O6TQYdy<*Kt&WHz;&tlj?gHjM#KdlojXl3sUbp08Dg4WJ(@4( zXtp=&oOhM$1_+)Q&=!4r?Qm}c_~LeoVrmeybg@Q8F#+^3mRz>Xq!zqe%=?&1?GjYp zVBdAaFxH^Q-g5rrV-H`fx9iOyq9%5RMqM}zna9+ zFr^YN7mc-TvRmac5mqiPT7@+bAz-i4rj*%DO_u;X)fqF@zmwKG5piI^2uuxPi*z4= ziejByQ}m-NIr~EYrZ*%0qTV`&FaL`2 z#n0z=-Nv`=yMH{|zm(<1&r;KzgIg=rX%qp}16-AB?Sgqob$Pj5c8C~b2HaWk>IkmR zP*ub%U;{`%B;H;(;3z|FG-IT0yuTkkIc*Oe_a2UQ~dD{H^2W;Tm+k)z}_5Qac*C*!7n?Yd8coe z@q0q~8Yf@CFwbz+)Bc`+xB8#HaDnU>&fI_6cK)l2_c~Oj-#8_0V=uW>NTD{!!S(i$w z2NqQjRY$y-cezMCAkJo82wp{t+IEY7_O)ko(0}rgdD9t)(gPqIA`zurkjQaWs1_tN zL&u=ikElkB%vAziO}|tTndutm<0BTL}LlGAJ13tZBrcYnk-+y^L?!v5V&x)D~AlF(M`?YA`>rkajd_X=RPJF4p%)grN$lk z%JDuCO;cJfW{r2-af~TfQ)tdb%$TX#{`$VzZYD5myM~!!%G+TAMDLtvsihQC1F&2q z)i5`6sm_g>ue;2t*Zqo_XR$c%A;hzmg$11NPaHj&Byhd->$3*9)IHf@HgKx z8yEbyw)#=-o4zGx1Z$XM%E7zJtg0+O1FimNQ)`;gG`@)J9I&Fhy`~w~2(c z8q_tX8g!jUW&}HsatL+{?dhaBILAE2oN`9Ol6TX%zH5BraxU|}jWMTO*fE%D*_~!) zo-@)wREmtTdpne|AGuvV09|U^=P3LZ&wjnzli(Y|#^b(sbAryXGgx@{?3Dg# z_Nn78um87uI6rh>^-c2MJfuJOjQ!&e^D9X)*>}IEefM_use|w#*W3d>1Nv=iehIsO zCE?#&__5IbC!PI<%|C?Ahd1tbruG+8?`MJ7E3xnWqTx9alG_-+C=MO|Zf;tyPqgEw zHtwR(5i5hVIeyI|zpj;EIOh&^+XO+-U!cTeG~lI`8Igx1B(b) zbx2v;ct%ROG>u;=hLpeik^Z2iDNa9@>BF>i4p9ZFyA%-#H5UTQ0DadIW5t`LEY5S+ z_}x4SU^~WH+sTa13caA?oQ)`-r8EZJGPRtF!6igKiN|7oT zG}t}n`o0Au%h@9eas>_7gatF_qC0e%TGRNNkwd21@v8GrGez6^l0;1UkGx07Vb_aWH*QtmQ&C|31c)66OYwq4Z zi!on0+CN=wEM+7rVku=+LBjpz;$Sgvf?FOeh9MT`ao$sjKT7NG(EM+cTd~LBK<#`z zFkQyr>vWemrCj-bT35EX3r_>0l+pm4Oi|4a_vhmj!FH9(ngtDxt9zxM><~%8f_JMi zAA0+~y%Da!b^-rkm`(F5+hNEl8{x%jt2t*;@BOUr#&Jrye4h?-h`m%Dmo6cM%B_Pf0Ef%jZtwpgcOmxKW@tbtb~VuT|CBuG{@yDtuE6jcFP1AEfOD^D@Ll`qeP=qEJ14huh?_a*cGw+}Tof+p)fHA{ z70E`N4Q6qeTR9JX21Hc?Xqi4|yv+8;_UAX|gmHRqBL)bLvKp!x)Y5Z}65@ZgquHgM zYD%jPQB=)&J~_*8eH{M!-+U#w{uh7t?6db>(_*bKILAA&3_uZ6k@_4aKr>LWu5VK+ z&XHrDrrb0R0E$W$0fSVE_ihyZYRiA|#@>sa{rXA%z>0a+RW}C^5MxSN4Z0=>*mj6D zB;^LO@Xs z-e)lvyouqiQ2=|(nHijq@zpthL+8`Jf85hAZ?Y&JFK0IEYazW9Wk$zbN67%@9m|d- zSHA$?sOBsw1T!^-sM5EgX*?p%=WU%A{^w`g9H&>k@=;_LQ|=Krr{`|g_ia;Wt;a|EV@$(#DxwwkO^7k&y7S(S zv66#g$~UhcBjWk_8WD(rnAW>!#x7GwzFsOeRs+Q`%TjW7-6Mv z8xd4<4Io?&HKCpgRjsIqSk9%QAVmcg%`A9s+hA&Ks2E8FfLiI%%OisGoN^v>VNo_a zP`McL>1?)G^w}(>T(L4l)C8A{lp>cqb<4SU&t2Q(B1N?AJ3t(g)Sr&j$e$w`CMnXi z4SP3{v*1aDQ~|+__pPZe$FzyOUff?WV!194Lt5gITu$y1!89AjRNoZ7}1JkK)qy?7d0Ym9VG!n zI!Hq+`JSIA=dF}o;aDXw{Zcl|<()JB8kB1)?;dRc3XK!93bLtjbY@!4yOfKln3|}P zt94{}Foze>i&gpRH#fikwXHv**=G7T@0t2}L!i47t!Q=rRpoWv|JBz)mXfoC;Om9b zd7ky{6jM{js-iwP1iqHHe`cQ^G52uSe`Dhwc|wh5bIa)fQ;hm@V;whiN$ zmW!SUrzzJyPfYbADqRzb$a*_fB^>YX?{!T8glUW=%W}~Jzy{K z;rL*0#|bk#JzEFI-ZKzdDlRx?Zalv<$P)Baj0`8|5J5}rXzvQ+DHdj~*DoJ@%B5>V z2<~D%)JP;EnrJ;i695vhbB*`+#|hQGc0ng(SGD;J*k_V_i^p0h{jRwQ6afynQVy+D9DJE4jF?NUu-ue2Ks9DUVwq9(fM}XZS*9-}rce}Mm z&F>OsHLo@&+&BjSOt>44?IHjVZtk_js+Zg`NV$0Dn!wXkcF4U4{~)N;`cxHy)O9ah z0=$462gYFPQyF6E+wsru$(zNm+x9P;iO5vf+o6I7>vvaAT}2cT5B6vCS(il*_GU*1 zdrjL6ZuV`>3tzb?cV2?`pVNCzcuHwKMwOD!SI03T;knp)Gn`+nnYi!UYghK?^Dd=a z`%m=>SkFdP-Qc|wk+ao?2~*mQ_3B~PF<07Zt+AUxr550&L&`DlaIUah@?YwKOhqeB zp?-IW=)FTic3io7rV2=-=uMQpoJRH~GzqbCwknT5#oTwHp3qB?;A$gV9kUT-k!xBO zj*7#3Q~rXsc}Hme)4gpAxQEt2S&#OWua^0K{=cs9pZp3u-sRz(AQPynm`rlxCh zE^W+?@S4aRan*IqnCqj>doduwVT^4Px;9kXKs}Ylm}4rJ{3S@D$v~OWz9 zjt!vBq)=o8vRrOV>jv$__Zg`-W0e_TU$4ovy- z?31#Dz}~r>OVbALSVV(!qRNhU0%x;k9`3z7zWZmMUtSFRPJaA1joRQU5uPjjMd|^r zjuWamx#mB;<0&RWtX_I%BIapI^_Hm2=R^FFC4AE|{QK4PHpQ36^uDM}B#4Yuu?&vL zMC(E*XHm7T@l(u|yJTQZ@QBa`pK~FkqAE3kfxyefqHTlsZoQ3N>x)WTtA1u}+c1%; z&F5X;wwvwP1b6lLAm_XtVl|%B?@A0DfvOY*P)njWy@0@oL5MP9-JI9qXWM$`ofKsz zWX?rW&ZbazkTGTvoA=F*v@5opcaGh5m{bJ-&k?cMK?jdBes(Coyv;M`Ce?yys>2xT z7q4|si41_=bMUSdF+v!lZ3mq7*0)v)69SQnO)*ycYwa_2ZK%DvR7w_s%L3D7>KD|i z?Fa!uN=*j&`f5Y0^Ii*DB2rWXwMzKn-5jsfS>=4ucTF>;QlTVBRC|YudB3-qU92~| z_ap)mT;2sMk`$PkX{Qmv9kv#Ui48R6>v4dbt}k5IG@n`loBd{?bL0?QA)2PN-!^l{ zi?fsKl5fu3NtUfq0cdA^Kqxu;w%e}Oq_7n!bjo%7z6oG;-KJ9thZ0z^V=8((8wJ2ev2>NKdz zFh=KiZ#iRj&pv20~Xx$|SMJad!%=?^xaIOSK*B>HB(8Nz1$I?M~S3l~PiD)^XU zx_5G(i(ENA=(~2a9b(Ego>TD%Avge3RqtKOWs0f((5tlFz@*BV034I6X`hx5fZOsij9nPn*+IofAOo0j_Deucgx zX}F5bYs|ldn1PUg5Ne8y z)oWVqfYkyI_4EUVm&`su%ekO;3xJSIhu{znSVk#l$%-g??>x7`*TU6&*6pr+!68`F zxcR&*MRF;%W{t2jh!r(v^ugtrw$A0gt7v)Hg~b@qYOa_F$0>*47K^@Z8)lkfW`vog zmFPgtm}K! z_)W9*D{WK;1pSD+dw5v0tr=&gi1(?VgN~1IvbLa37L!>Feq|Bnn6!N z8H_OoOk-o&*m5J;maNulA{6cG-@T{Vd#|TQwAqszPhC{8tF8Y^s_&o!CBHLjq0euE6gbH8)5~7wm z{+sOLyo8U8{c*6%hN86N1p=sBYt5)?jB

        nqHKV&^CxjV@tX9}*dRe9Z!Y(;(ai7K2! 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 a#g^Xg)ruBd-#_+m{=(ls_UFF$o&O)$T~`DE diff --git a/src/qt/res/icons/history.png b/src/qt/res/icons/history.png index 830efcaf6f7474b17d12d48560f5fa958399dca7..bb6f28e0e1e3248d85f53e98c81f66b147d9b73f 100644 GIT binary patch literal 27117 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≀sCF%WqV1QFBqd_N8LXwg1LV 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 VxnJVRMV$oz#s+5kmAcL`{|B=&KeYe= literal 27177 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

      9!B>UJeoZNnoEoO~`MDSkw$IriR28#tq93 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%0A;RmV)gTPHICI8 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%0ACCcSE)>TQ7_kK!tI;N@ynhIbhrlsGS|UJ%bk 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

    }9fTF+ICo_nvjeY0OJL^00&U+h>nmcIveaxNiXR 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⁣bI-pRSgV`zrT_Dj|9tWFx1*}YP0%{6 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 literal 466 zcmV;@0WJQCP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGmbN~PnbOGLGA9w%&02y>eSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+QK7us`M#J^$qS*bX!U(rIe8VzB?yoax+c!z%GgbfyI>2Bc;nRw=KMO?yq=@`qy>+OxJ`HpwPfby ziO)HHdnJ!>Su2-!280VQJ@{wgR*7Ke<$`h;ODKm5UYf3t9{C*#dH5B^cfw~EYRMbh3(mD*ylh07*qo IM6N<$f;%L`KL7v# diff --git a/src/qt/res/icons/mining_active2.png b/src/qt/res/icons/mining_active2.png new file mode 100644 index 0000000000000000000000000000000000000000..f2818780db29781ccbde586038d9fc9b44e8fdc5 GIT binary patch literal 28939 zcmXtfc|27A_y5e;cd{?pN)j2Zc0-Y}BuPjNMM$#mW5yD)C6y#GBwMm%&o+aKvW%T< zGq!9ogJH(3zj=RtkMDgv=JA^Q&%HCR`#jI{JkN7(%B`E`0=zQ3002PX#&y%%005Bn z6$s$wWG(lD${+oA7JS?M3ZQyOZi98g`M}cLl(n*sqpNKQ*1{8T-6$D*4Ih-SxlcimygEpw~ennoj#qs_2zW^$#*=jl)2*-jaP=| zC+x8T)a8O`6g9?v9w7C7=Vu3Ovtl#$S{ynWql=HkL`#j{@EVcpciUJsM+d0JwxPAy zlZ>>+y8`6oVsPaNU_aw^iDw(}S}rfcWW?>RmW*DR2pUhnHW)Pi%xpd=#3@aWt+mQb zo2&J#A)Km?ARxGZDLs3(B6pvgJ1U?{NjFA=LkEL8)e_4LokP7qY3j7Rd>KDBWk%Lp z1C27D&2s#_ za-g~MS^)vS&}R*G*vym70dD+o`GlA9=dSCj64u-#=Uk)~b?<{1UVpJ*6$~o5f1M;& zGUZ8-m11h0asg~;j4l^5w@21KyXk*pO$72Rq$r2Vu1K()JWuC*fR@GAd{U zSr;1u{8S$?iZIfPjQ@seo>TfZvn#Ffq zzgHN<<@Ao|eLmn=`!Q}v>AZFRO{e^M5K^2B?fqs+&5pawdCfP6gS=iN&~Q`5STF4o zooo0lW9l?rQjD(J^(4Up@U}O!(uGq|!1O-TdCN$!5tX^qE|tIhCDz=@wQ{O=hI5t*8`V&YSVXqn zILQfsDK?s5g7~{zp=!^Baj)9OowB%0-lbRo= zjJ%IMzFdN6H*PIj@)v*!YmQ!94k{5l9%AL_bmI>b%4raTB*D49I4W zCDZ*Gzx+7~LDI_2nG5$@qdu5dz?6b4o%+ORr0W<;^7>6kjvjyHsV+XxSZXWv(miur z<|zDX1uE6Gj9)SThbTRUf=!`=%b3c_z{GxlVi3;KV!tX8C((V6yMNx-QIftK2HpLZ zU#|WLXxpKXU=RY@ySNa{<|=gS-^sqw`o67b=$5*D`4Qa=*9xj&zwUJ||JyY4z$=#_ zitGBQVSF|IDs7Ps5#`1IB|51JVsX?pSMO;=S@Zdp zhC2`V+P4(#ZgaHtW++&GG*UiX%wSrdW+h^3b~I&`g1hkZ)_hIzZ8Z9{fSH19{!HwK z#$O@=>?q76wh*C54afv1OSHd9A?MR{dr|i#qH{s}6Oh}qkQ#LcIO-%fg8IO~7i9{K zsA%y&g3V(K*YRTr;L}S7RQ(dBfen)xfq^b;JTo{)zHun)NaOw@(vOL}DJ(G>Gg4$G z<;7v(K<058P&W8g)^O@CYJBg65gG~#ly)2CcscYjm0|pq#60FW%y2;ebG*Y0)>2nn zEt|p0m>(v-$BwELD(WWGO1$FRFxE`F4FzvyzmoI~2Q{SoQVL}Yoq(fk4b2C8L-EXm z-PI+#sAB%~-?@k>YNlnZGO#>*8SqL>C;x{TBRiTo3#g$hy!o;2&!JN%j14|SUL7`5 z)D2fdg`PFuh+;-M-z3W{Si(F{4(xtE-bh`#?54?Adbd!F!w^u094yhWh%N@6cxY`j zVQvU#e!VU8+xxU)sHT8cjWgkisyy z8j)1_)g$0B?#Oeuegj6GU@Ho@*6Am9sLklAkX8hDfc{kxq`cC>S`nL~u40i=hewXx zan~pGl;?#0HujGv4|yb$#YBXRCD}=AhLO==GWT%J#0=*xuD{S#G(JSFJ5KGZ`uM_|Z5dd@G%;{%R)$ONs>5}ja3TrK_Sk;!9;{VAuhDO?O;Zc#Vf5o%?NW$AJ5fxo>XugTTT!Qao+hPkxHM)HFOb zHDfF-UI!G7Ss-)cqv@sNyc%k3qCD@0mK2$LM3gZjaRH^WoGGv6I7QX&Bq?|Sj3{~0d$h=2ff#V>f^>AqoV^UJv__qN_3esmS| zt=ox7M{jshBb~-Yy#RIJ|A|VX)84w*UVcCdeY#<0eAza`U-@RC76}jL^qh$S{uf>G zH<|ib2xDiwf^sS&{x7w^gE??O)m1#Zx4>jhlm2A>1ds+GnKMB~OZ~SoNb|q)yTdo- z4$LmjY@K49-m@E2u#DWVFxn)^nl-`$4%MhL{}nMn0Xl zf56d<0!hT({N_**hg@G+{83ijYGxHVu1yv_4+sN0&kY&pyD#w z!_izf;u0=8h^aChD<*|DJDq+5m1YJZ57~r~hk2(xg#%Wg4CjHEd%C^B+e?$6PY;>fYM19qJISQ|uIRc4V^S@0u5#@S0w4}s*@r_@R z$nfeT_q;}&xem{#U`)3m@>UQRJgUb6tX+(KO3STT`kQEmOziKXqq!!c z8t7(T>+w?;XH4&#z_U&s)5&){B~c>?5{z7QsyoJ~1wZxC_(zV)pq=%&+s;op(2DD^Sd z%3d{?uIzJDV0Ba7yx8Cg63rfPiw9C{?iEe-5kZo;j z-AU1Bw)D}scmhsx?&Zb3KEb;73Ci-t739C#-Q=A62-7z}DT|}f3KCwWbN3%S`MIWr zdgnKdjH5kA;OUQan3*{8Ze&%>(j;_Xy>cnY1|o@r0Yc-f_@AKsML*x{x$?v61WO|i zAolQ2ToANw%*NqYD43p6j8bJr`0xqk>^8`o?{1xc!u6`%gDm|gve5=_Ch|utIeaf! zslWQRUQOt`Et2j1t-U&-*J;UC6){rx<3fYjExdrQ5MG-UJ2qthLGQimNd^?Qm!yj* z`eMAJ`N}cZp)_YW9}NKRhxzcn+!cK5vVGO4sYlAcYe?PVh~5bizXRV@e%W5FT{38V ztup?-)~VxmtjyAVg6aBx{(wvF%iuxpz!IfL@i|SjtKa6iHyC-Ee8{nc$>hq3rjM8j zCqOx%jFuW3^$za2&v(k&h!C*2oOYo_HDrN!;w|&qLhNdZ(rS zIQR(4Jg1f8&+ct$m)-(N`F+ff+4hO-9Jrc8V_v^}pR;MOj61aJ?DU%ut}~8FRAjzp zY{*|P3Nz{(BcdN)wLl+6Qt~pt$jZ!U$W;J z?mGW-RMIZ2*xu;WlfEekKj*4s;+d~By}RO+ep3}^LWqRkkv9LMO}8fM#cBwA2>a$f zg8yXwOYDP8__KY-ZPoq0q5U*P5=DJB;;2s{WA^bpoX1q7@h{~|=bn<&M7oeM!iV({a9hd+xK6h*$|DG6d~-5dS^>T;JZ>s2ip^Lw&AE(?z(536 zf@85Y+b;%w8docI=1X z>4@iLPx_p~2t0GKynq+KI=cB|NBt6viv%1w1C-uZc8B4nwQuDvX_%aoy#Z(KhS#3I zgDJ!1S=f{Uglxx>Dg7>z=*QfAoAeXHh&cX+BrAws`Oy-GV*4j{u@60tvr3@wbrSW? z+-#7fBb^*=WkT__QhTjcnxN8xWQB?J?MZsC@Aptg(MJtGSqT|JiTPRR?*5;uqop#8 z=n9+0jDy&-c#b;>eJGg?rZWz3zz}EujPo`ryi$ekqrLvmGH`)?1C;B`Von?&9mr0; z``&U>vwBara_64e<-XWxKJ$rDDlqr+bkNROf53}-i5AVXh#v;ez!#nvS@)9co`3$bfVAl zNh1axLOBQE<$v!ZrR5Ef36T6x1?D0~u+DJ&*?aJZ>;s3U2M}*U?`=vAOHEiJVt8T= z*lIbi5a!;u6~}p<6cEgd;uCQcSNT>X{?0Nqt)AZL?>|!tOaNYQZz#4#DWt?Tq?noq zdMP3xKfP&-R3n(G)W!PYpH~vDIsw_(2G>EgYHZiN7R(Sfj32*IRe-}dfyu5A1F{`k zFTW>Hx+T;S^2}poRLIgU_7eyeMEHSSZ1>py(eDi3O9R$&s6gA!mHo;kpO3H%bNv}o zy&CHN0@}R6b;mr@Sky&u#}~Ck$uI~V)9FT#&W(JN6AgN9 zaA2MFOMAQH;K3*DdT-G04MbpjGa=a8r%?42>CI37d0LtRXQ5QWgMdP=LMb`2I}Z`` z+tIuK{V~ z!Z5=Ch6#0?@6Vn7S!7%j)9Qb}vPOz7z~ABvtYeul`=zCfU^8a?RnOVJ zlmQVpi;#Vez9kqN7aYr%t9~@&f%?Sc(y9zN1)cdL2=~GjrJjTyMT1)WzFMu<%4&5+ zz$4c%62*qfwdNI&IM<`=7#Iaylx0iJ?9tlUMA%zP8tY*P`>@p{OfozP%{zebpe%v` z{IP$|nKQ(rm=}cK#w8Q6!s};a7UJ>Fp+un`@>30B3P0qXXUP%mW1#t0_S5G`_0Pk8 z@6BJytJNAGV?;BSE;6RK$br4oAZP$$Zw0p6>LVw#^O7{wX^}_gf=X%-21?sLoNbe4u!=G z0(q=t+e!67=#%%yQ5F}NWqa!=)0g{T)m4Q9ruy?~M6Bg~Ze>f!iKnlJ28 zp?Db)2~enD@N4kn8!36!K%tf(?ca%K#DfkjbohfyWS(prJ&IS>5 zz1${Sbq4i?93h&?HLjoYtA|9QvHp2=pr$?*&kt0ge z?rEeMY$23Y8Js?gT)FU;b^pD)3g?)DL_p3>F7(xTeA2T&Mb^bg+=pp|d=>41M*8r3 z$4ndkj>)W&yOB#nE4D7Vu)*eY+hY;;bgwblwy@!<8jb&4eH+U3kWSvG3XAT4#)y@W zCM)RgC*$PDYTH3<=t7SER`=Os2$gx9xfzib*~9&5de^PJl@yU7YBf7rNras$?!(X#3Q?0MWv znLU$1J7aO+EJm-yiJNsRtmFVM>U!ku z#0ypFaJThI{jLx4Na@ojEMllrCuZ7OU8Bznos}wezg6@e*~JQ9m=*e%w%a+j{)_)2 zYNG$ke4SLBISGaAB)k&*-rwYy13#iw#dZw%w9wbgix|M}&j3bW4EhJ{Qe0f38cUyn(E z|4R_~%VZ%l91_s`xVGf=aWvAzk;6StxM|7Q-#UOEnrh6aX{f-e{tHQ$>N*alI@h2D zp7$ z7P;cizF;fwQBE*RW8g2kp98wNunccq-+$p+dpfdp{_0XmJhi;Ajg#*xuKA$2P>OEh z-@KtCVn;FRx7Ji*Wf8yx(St64dkyqMb)MGZRHU=N`x)@P-;u@hyOqMjliiMzRr!+z z$*l_$hnLq0#|hB2nSul1B8U7FGwP0aHgpqy+?CuIdGN^Z{c49mE`Y3xNA8oZ#|XME>;|caAI2kV zyc$R%jO(WBM`DOGsfU6{);TJ z96Ap%@^F_5zZZo^dU+TO6(scW{~or+kc==ZWGSF-kCd_|_W>s*Uf2 z>p!V=qWXZCE;~K{b$1SNkXc42yX*%*^Q%qzwL5t2U;PjZdZi2~G>CM7lOzswRVBXR z>`rZ>BVe>3`q5rk0W9TFpdaaQF$2N@80e1gX;lYEyrIYG=P z9*u%zm{-6pZ#QUPOkcK(5$Jhr+feqVU~0bQX;Bl{JUXO&8~NfR-SkcKJpYzS=IlP^ ze>zKoCW=c?@8Um4Z;}B*s!8NG%Gn$k%-)7g;sNp1 z!O72l(k zUB<+TRT-`em_@xt474{FC=yVvjr4TcaWzw_&JR*!Ou}tiA ze833w>h$L{g7|AM;N-U>y?#9H7@-OJj}FeOygX|kJ{Q>YJ7dlN=lLN;n-@y6r1p3t zo2z_j6I7}{-$+5+Ga!&%e($Z*J?Zz~8jvHttA6!zxodMFQX;UVJ`?|1_oBte;gXB< znDA!{TgSK0SvH{3j1kdd+xRD$hd*jDPgw1x$ZcE>Q85sMV{fSt-->ztjbS9l11oP_ zI{}kBxcZ%x2hYem;9`rO3 z8HFL(S57)EKz5HxgJtAMqTBlUzG9gC#&YXI8O2`8O80ffk=%CIJ8Kq)`16wu|E#T% z+qwpyZ*4f6S;eS~5@l5nRPI6*6KXF7TvTII%mtr$`aS2k{z4;Vg_w9%lK*Md#5`oJ zCplJCp5p}uH@?eTIxXzSev3V-##O6!prh$b8T~#Iiq_(~!WAV#+kc`6`ej+8;`6WR ziZrk|EZ^^c$@hJC9(crvWoNK}lI%sP#Fg^63$#?-{=Ozmcp$&kKv$aQ^5iNYRDO$s zQhXrG*I+f(hZ=~jBX!Ld+Oa!l?u<>f#&%^yYyvY-G0&IH9vqz2(YRon0d{*cd;I|) zj+6h6$a8V zeT=~jCJOQ?_+~NUDT;9+gErJ|*C4PjJgt5#F>@`d23RP z(vLD8{l43&3i?~#;Uij`e~?Z73g*-`jN(lAgS|DY-L)5o|9R|B37Aqs9vjU)2}>e% z6riq1#y%?_(xJnJiO;=bw3CI;{pt0_ak)(y(YnQ_PE(r{BB+xp`pplxB+F&^ChFdi ziIVS=QMOg|d6&vvZjCtI1pBY4HCL@M&)6=#7i+v^b?Rz|e~gPz9!l_1N1W%f2>C|s zh0pG5&VERi_!=_WLk`t2L$aVI@6ND`nMLNBGqk=xobwHE0QH@wM2`ybKiO)QpJiNq zfK!EUm}|St%?tE@7;KKJNc2b0EU60cfR=+LI|nHFKL3vKU#IxscJ>nt$2T)!;!+pg zY>TEi-}*#VuWlOLE$c6|Yrwdj(?J!-EU`l300$Av*tNP79z>i)R3?2R*z3ZdKDQALH&)6k z7><7ZnED3zX`d2{O@mqB6yBZPv)hC=zHA!fu8DhTFokz!>q33=KZqRsy@~whzI>FO z^Y!5d;Ils197|F9;*piUwvR=RF-ewS+ThikCy}H5A@urF_VOX0`oVmm>#=Vi}W7!!FT#S1jOM!X>*;ER9m}M}vZ%#!K=wpJ# zbh#@{-W;D~QtY=7G)kz{ObmO+dA7@60!*>L+}(~8wJHKVY!r-0I1X7-kO}VLoqg)I z_BnE>>^}-vLO%5w)OGVJr-(=J05i-W)$kQ$HO>N>dj=;TOZV?k%`+7 zQNrtP|5{%7J;Ih8@op;@`zP_2w};oxe&RT(@yX!Qe6%%|a&`*(LcCY7h?JGgP<4&; z)RsA0`$)7;2K}9#0ES*W%$?6fy4m{_zEnT@_;tQ;VeH}y=Y-#47sW2x4S$hM4J6@W zZhhexd_R2u%D&9Snk)Mf1CD%;8U!=+F3M=FCz!Bt+G#m*CdAZA#dq;eS)+NEgqzy> z*+pwxq$O0Zd~Y6aYtA}_4NIq_$1+_2h~I!A6$0iiBcFpjcpsM|Ji!?UJ=S-@{E!FK zZZ9Gd5z$@~UJfN0?hQ1Zb&*`Cb+@;%xyxUHj`>X*Oxc)YYvx4j>AS11I@c5|&@`eTVk_J9rI%PieeZAx3A0wSHAb(eL zY6$Qo0XgqxV{>C6uZ_gLd592TIKa&z+*qWiNa1ZHbw zT2>zu+0bv#qCa2qH_5c4xJSrI$+4g6jVrB4e`Iw=W#Bh^L`95CsHC-dX%8; zMm}cFTUT1S7I{3W(JfN+Q3UL5C*3II@*lEhIq^Tga!cU|%0{++{Skt;VxF42|wwW4~0%ewtO*A+bQd|z%c4VLr(?E+3BCPu>Nj&uT%2aC`X1%T5BQ;f35Y z*m@Tx?V;-5)*d&gUVN6MZ$^xx{zZY+2GSXsNuI0vb0YAwCUUV{sCf5d?*(q>LzAWb zy4^TA2XDt3fO$7(A_)MV*B13sk6F^quie%7N^p z!2tg+*!-P>YZ-lp=T`a-I!c|&e{Z##kDS|DuL9EdoBtP z_h_v;J%NcsmK`}dHpZL*9wS3V$yEI~)OjwlpCDXhg62sG=6w3aJ=*n8xCUFD?84|# z=3b-!!<9c4VNdp!tW~>?4~rb_L?UA%Y=uf_!&)zg+d+emwZ80Z(m`Y@H*Juc7Wf&( z_tm@it#W6+eS_$2S|X6~AJ&`W5N?_T%c<_lb=XHtDhzGT+x!BPu%P!)YbOpfZzb>L zn{%mB+m$??8Y;C-G>^muw(n&G8fdkC_SLur_ZYO-!k(mV4^&N#E-K#=qhF9J_|^$G zCul1Za(rnQI2Z<1+hZI7nxgQUx(RJ9=NX$59TU=h7N&=PBpN9ipFVY>1{Hm9=4fMX zzAkZrmC@&5WbWI&6-&DKi+e{l=jXnwlep&&Rx1M(s<3-o4GpOh{)M?DYEhx|E@&_DbNaHlhwdOqARvu{T;@FLXlEbRj3CI z-o;m9%Z?S6SiDD=!C|3Nn$NfK#UeNfHS)czyVwL2Kkeov2I%uPhWN?7@W-n?3@7{z z8hS`Lk%;{ht1zBJcUqxwYK*-!xL7>eecYayPC+Y!l_TOJ)#i{DP)g z2u;Gn7ZkWi!5g4P(i`SPEW~v>uoNe$G^0;24}!*aUh{1OI*@ww$k@-d3~KA$&a$wD z-`mZa315QPe_?WVevB|FD~z_z(B;3>c&VI`&9kb6k#gg6GKcO)Y=t%T>7xjN!V>^$Y^!bcohJcvIji}497}Edcz4(<8|8m3&<5(`j2YEzuD#l<*xo)B{{bfD zL$z1i%jsebzqJCsq$o4V-jbZ0brYF}Ujx@ZSM?)29+CuPrKp#n zauKx|{6~Oq@T3_3jmVfyjJH5@X#&`#r}*>YSMA?rxvmXnei`4?w;5Rbe)pOLs#L?zG_U2RZ7FCsJM|LtC3( z8O}D|e7A2D;zHW%2Y*kMx_35V!yNguk4=V2@rqWM&h&J62Y_2Jv%zd)o`6fI->Q8HEIYI4fx$*qXr- zKmAOBP{$cDNS!Ehn(9K}aEz6UFh?jVE0HAnE0)HCVt7Z6OT9cEgOs;ge;RtCl# zN6LbRv!hPsql$nE@^O%03y7v$lHrCncf#WJ`87<+^|`TKJ;P@7e>h}k+_co=p%HMZ z-58G@-LSo{+m~IBq-tVoolb5y3SU#xCDZtPHRakv*4`@-_q z+fq;5Z&d}$;1wW=%|)x7Aow7(_O*n+=-zc{+?vgybP()UNOlZ; z;s)%H1(uTyc}pkoMqKb$hw&yp3J2C=bRKfG80*Um0dD4Ubl(^J13E6eEcMX`(~rYChl$(6D|W#7 z7x^26(Rg+v4Q?1kui+@EE5{~Q=x$mo+%8xIdvlar9rtCp=Wbt*P`TscTr|fmkzE56 zo_ZmiXKtk4V|IJWVF=I8pdx?PBXyo*7>PgZaEWS0TwyE+0wDeHB;NCAEe5Gzv6&)(sV#HhIEL?hH1Mc&oSq8J4C%1lAR~Edv zyB3f1uEf+`t>OQGX!sf&DZZA?WVccHQI9l;!@wV~2I~{u)4%JTvN_`OGje&d`y&Sa zv&d0fY)d5{QUC6+IS%#ur$TTEgNIhZ?%0RRjH1cYN_n4#j4y+;VkVw13N_73j82v> zVD|E3KJ6_xpkMdI*5tTY*8I5z?Xj2}$>PV*A0}bopOMNa?DRwL4-TU$ICi7=_NO~Y z6u1T5`O|*#pdCW+0o}QJV(RX`wq;f4g=*^94N3GBAVNXv&}~v4HS}m>H`t*kxewp@ zmrlKsXEVx<6u&sVJR6f5Lg$2Sk1Y558yJQ4|CkbV{q9(xyL0?!Fmvv^7lLV8aCpHK zr#<}g#Xr9D&^o-^rPGg!oH^fn-m%J zSrAH+WNHQJmu9qJ@W$Z2@v%sfkK-}2mek$EzXJzHX8HfxM9C}xGL(Q4G%81*wceM0 zGXs+YjoIea9BVuhhEYwYCzl)P4UJq9@z)}Cb>1D9uf|5LlD>5AQVb%8_+_B_saz13 z9=n<7gISoZIRKS3X&Wsx(LUIFF{J-hL(bJ=jvj%FdGYQE!v?{ZQ0s}he|`=521yXY zSxmG6dIupRIcSWPO9(H5P3)|aRt*2g;pLhYzfKDYGnz!jk?GS#`*)iORM%T8Yj^gi zUSyJDooOqdt0dvLdz~ruG;DteU)5T&?6TuMua_e0)~2)~c6iNB@Wb}coETmkdyDAvqHERcmQ`y=9%uI_v(o9n>n=!RXU3ya*5#D1nP?Mmk$=7d9?(IZTx~~M8AWuBh;=6;+U&@Tr z1PKN%T)#|A=>6`u&*F&QBwhjv{Kw(?68M1F`SpPQ;OmyW~$5zR6&R@Tb}r zzKh#CoOl1w3>qwTZ%O>?@(o?4#A=3BbXLC#XWG}21&6PZ=ku6@ErYN*9$jqJ%33@Zys@AM_mXVT-AT-X!QK|icalA z^IboTl+{iX`H)TaZ99wkiaSdCZ0^o4?w=yF1rRuIPIZ8Ki*OR`!Pe6spTGSEr^&&ttYmgU!EuPxzeiKq zr4&|&4bK?gw3I~CxR@HBu(`32pxv*E1cx-7kf2dyUQPUf-`|5TDDfZsv1}j1?;N-? z%VVg22V7wj921O%e#)e4Fvq{&;>TAOe|}|q$ZL)tA(v4#U3X8usic~uqYiO3f8jC5 zGYrlQKY>XQwEs@eu!#v6vTCH9*N=b;`~3t-`!w#3mLbQODZ{D8iv z2i9}1NS+%6ap9CGciff-z5HN8cvRVX;0$&RFR7Yq^($J2Rf=beTNC=;qd5vb7JskEV z3@1Z*S?FKJ-ye2Nto_OWBfWkj2u%rY`cuB|}6XLsRgd2V1j!-p@ken%x$O^O?YNF>r- z=eZt`E-V4wye7R0ZT@R`as0$1Ad~l9Z2|SmJI4Ql&S4a9H51cV&R%F3)5`Hwyrn8` zmUDv9`Byuu)#i$Fu$yG+wdk`Rp6!3eWXd<14HNn&g&y1>0cuG+C#t`-Ow#MInSQ>T zFO!pF3l>cHHNf#qU(psSNxBnWCn?}!*59xfqVVdO;dw4p^G;F_cI;S|7vfq4;_uxE zjNVWih;x=D{8R`ich%4vs5~F$lO%cD8iiGr{FOQ16Ke$)?65rB8KFBME;ps{$6uTy z@w?3(%T?;FlQ$PP7hH*lp;ybL3ETRGn{pihEhF9!QXEZBes?h^c;@zflXnjitgTFp zyROJWI%NmVIs{L3zy!!v!SpcMC+dta+{}EPuKBC`MJ?5U$?Ajzi^vU%J8`sO#f->+uHXd z`Di`!{*=OX$RZioqKD1qmFD+SX@XQAVPt4LChrNGyh`>_1tvk6dv!aEd}8 zvsvEQUs6jqp#l*h*v3t>D?<72!;Oqz$B3U6_ap4i!0(%_iC(E?oyR@=a7HYI0%NYgQ z;M&AH6ghIvKNtzf99TQj4Gv`zB3S+Wi$ko*mtYwdHCxu-ZW9{c*|*foZ^HU*W_6YJ z`%ujS?Ii)<_7$64Jj>f_y(QZ$t5v{KjRx-Bah^?wTBMI2=3AY6P7#(RN2 z`4Wm!rG0dXIls57+Uu&O@$ADL7xhl913Nr(RV6Qoz(zudlF7aJZUyGA?FbKc8`!!6 zik6>S35Fkf_(jAExf(r1z}r^si`?APom-_}!&A?l&gkpM*pSrL(TV9+JE|KB z1SU*v&LYvwr2KJ?h+;H0g;k;2dPzD(dX{<7&i0{SOCk8~0Ir{VKT*S^{F;R`C=-x| zRRdfcmwDi_HQPF#i{&Hc`b8&N$0es5^!MwnHSFBP*__1ba!0s1mbn~A)zGwmuMvTg1+!G^^;5Mlz;pvJtRdx>4cu>PL6y>0 za7T7BJ=|Sc*7I%)y8pb`x3)w&yJ{&TeJ?5YNXQsaA=R} z=XHbQAX%~dMw<^M>V%9{@$hlwCe%4TvUnp^Y=Slt=IS$_}wO} zVP*vCd*pb`S!E`#3jSi)c(w|@oYH+FQ*!X?$EBADge)2GE<@>Lk z@xv~kV??Rrx#8U;qEAc?tA%fl6GGR750j^U_15rEXQY`Sqa3xueVrGaM&_MC2)=GX z;YG<3dRH4%Od`~xUy0rO7uUDLdz??5@79buA1nSD23%w<|TH!qgT zBDnLKTbg||h>X_}ySXZV>YK_cH)df2uQDXF5L&}l`X?~Yx4~bwAIQ9)P}^R+#Q{b| zc;=j}12O+xd@jj1>FrE^Azx#`%Uuz?OX}V){^`B z&o<3u-LTA_@LKh1;A7(D3kg4iZP*aeq?KUIQ>P&Oz~31)(VBJ6sB>%^&#{@6EYOH&P-R zYA_%XA^MA7dS>0f+@Pb1wLj*runc0FJ)z{Md%e757f4L$qWgF#qmv%=o5^L4Z( z_e`kc!r~a?@(E0Yr$bqlVG1!XT$PT8h>qghVa8%~4P3>nx&!J~BhmdRDdxxIc zr!)?|S}z8-o=Kz{KCL(+_N(xxK2FEHQ=P8EC*=T}I`&I}Zv10rKq zjSZ$Jzy3}_=o!#`UQBjcOOfqgGZ@od5Ic4GF@)6%`BDL;Tjo^Yd2xdduay1jke>OyydjgggGn@c91c1IIdo66D` z77qDzdffhVj_rvyv;2~|c?OTw+xa5mVfKd|kEe(kUAPmDNzvOGzcH&}4Zl9Uyyb5q z)wK8F@~o$81$Vr)O_%8UF9VK|6?8uj3|k7zc2;lw!`<|bn7wm;XTUwVWfmxL$<&+Y zFI7?eNUPmFd-qf#^V`dX+aiK3nm#vv!4B^|uB7fJBYg2HZUB+ib&V!k>d0eoy98OT zO~X2gWG>93fGc)l1>qNOI{9B8mFOkE3*T`>Qgdr=O8`J1)6XN~94_anQ3y@aWNRQb z3(@OZ+>!$>v2(M1(^7a*sW~6e8&!r)@~h~bh`O5v!+V^RSyhdN;7fhEnU_6afCX89 zQ2#py_IY$cfZ0L4om&d4)z&l+Jx>IXI*d?s{{1l-l^b|%XEkDRZY8kkZ*%m-+4j%r zg2845;pJx@SlXJSIO!4VTOfL`F=({Q=T2PU(m9JAlY|dQ*cLI{dHgd=(!RuY@K?EE zG&Eq#OHL5p|L|tuE0!wgw$KyQ$L+1P*0Q8Hm|h&bqW6-q7u7|o<;%|GEz_9j4s#au z%F`ZNfH4KyOkuFfKAgn+;YBn6Ft$FqfGbTdFWC44<7A>POwwUE%CWwHUS1jaA+mEG z0PSfbH0EfU6}Ns^l2)c-`#!B7ymv$J>*dSPTMF#RjAUCL(|OJ{s$B=0-VaCM0jg-?FSr@6Ie&t{gu6#pK>DEna0y%3z z-70Of11a&zE$w7f)A;H>=^g>_UZ|xm4HCvT3!^8#o;60pIp*q$KXl1 zhe--L1jR~erAIuFnt;7xO$`-R z!1q3jrSDQuJrwpo#`|L>_4WOO5`d;~kgYLO(k4TuEmhs=Zl9q?kXYw>CO!?db17=) zhl%!&;wN*&kPA0$`EVv;^z#Q-zC_|KO|wVtMD%rU2gd!7&-cn);xp*N^U4Z;P4vX- z3J5aySdOg~gj&kV0fAax0IepYFRB}ChVYo_tm9BSMf8b)wh%`c3i8#zN9>5RpetO? zLw$Hi%!pnR7feVHOfD@czw4SVK0Vkaf_&WCp5Pq$bON(b1ii`68T-J|8cW0D3MF8} zcvKCO@$ZLRa{u?CTWx(p=QyvvFb`gI96;M9KQi)tYxU}9OPU1>TCy?Xa>C^6!y}aD zN0Mm)7bFfzaQ@np6JWk%7_Rx4E%XULC>Hlsu9AlTbhCr@uk%=Whc5AvNT7cZV6?JaJaO&&<{|u?{=Ln% zSOdBXY6riOcJ>bEtJ}zsP^|Hb*_P@$jIWPFMta~&>QGyK6^L#HzZ;ae%+~hbQl_fx z4~qWGSi^${YU@4UG;kEQ%A_`kzJ3yRs&A2|$^l&Vu-Rltayw?NmAjsm^XEFNi8l4Z z-{oJOc+Zj1S)pFhuJ5sUCnS6QCPwxMHlsJ}kk8Il-0>*$6mnT20wrNXX;#ow^z&Aw|#Z#CCm=e?I6A8mldysAIYkaONeA zYC1#>4Pzd*=PiLWhjcl1VPwBEr>lS~BlCgOQPul2qu2tN(TgP~@qUkDSo1bn_dOh@ z_d%yR|G;#Kh6-JF2IF(b3QRHiB`8dWuAJxXyaV5v4?eIr^mEji6p{pu{t3sAjL?9J z@eq?sA6CNiTBkpy8v-QDMc;lGxeXLw5$Z5|F0c1eSNkTu=0XBl|M0vB=I=LKhhU;w zY~!HJz{jG>-c!}0B25h08G>75g;&lrQS|S=JD8##yLtpoP>xrG^dO0>;dK2MqL z?m62ei6FwjuE++s9}||n0Q%6t90O^z7FwPxNPBffcXUY8xF!{{q+Y*6mq!iL!eybp zj3=!{D%*QKx+t}1Xy)@U;HbD?!@U8lDsSan0|Og$90K96l_xk&0#MX=ARy2MD8<9W zUHZ+`p~oANx7!UUt&YM|btdOF5iXrFl<`XWmUMlfqj=O@09g&@$a8{OlL;FOC2Z#Q zyU${{5(&}qfyVNIb+r=KQN{*yo|C)i36l%KZmp@6Z#TZ`?;X*`dB+v(^zg2ogZd+jFt;MN;KAod;%}CA zRG5~zzV00kW@$^1sm6JpOqDQkIsLP9`qc6k&VFiV=BXl9?oWwJEHrGSP4Q`k^j-v& z&{9B%o#4p_DO}&;g*efd;DG1xlxUKLE-nZYEmJS$VVT_QWRKzTdXq~qsz6dq#~-Gv zOo0>tTy@~}Rm8Rfg;`hTvQ=KTn9x?CUWpro{CaV;Q0J~< zJHaL502#OpaERYL^&9w(#|1&xM$U=OyW9x}rQaQrX) zO?_6%z(I+MNKw|6AT@j`pbB|2P+NudHYuk-k(zLMb!G~FWkcm>=fo+;JDUTsejM79 z3xSN6Ed}4QGdA;w@M1Ony+HOk1+8i6dIut*SI&>e%$^!k| zbjQ&sA~zACs;vF=p{Jo*Xnlim7(ZDk33*6UbciOTc`Zgla`F0mG@aC_%Oh!xzK%W4o4HYtzF&Gx55~gfm8=M2qS z_M3HDFWSuPZ7ES>Ht2yo(#-qIr1QGyD>Scmq+AV#`n6Hz`M6S*)aB}|3Age~wa{qj zd%#v!w}utdL^FeruSnlK%|Z#YTMT>?DZh3X|46xc9`M1d;hw}HYH=>{1mj!GPm{>A zk|I5KY@-8xg@ggDQ{mE zjD0ve28l)O?o9F~)7&XSex10x{|wsX&2CJt@t@rnWm@D*wgw0HT@*UINu0iLnsT)kd#lsccq%Uz*tC90;K5@VKx}Q<`U` z9-r>VzZar9QiErf;UIiuJI43OkM{YjsPkYYskhPnDG3Y(1hhx?FHsOFcFc&?f0*@> z%1g(a6L%e#C(`m-098{5*N%~E)%dtKu5J|I2Q4a&0@I@%eZP>r0V9{5K9H0CcNWZ$ z<>$3#)p%TH?qf;I9dp}@ZskSvt}o>h&14c*kCECyu!zO)oDE$I0w(sVxjt9QVMfA?5eK$1ATFGls*>=9zA6!gmNciV?y|noY;pv8W0p>~mM1eKF zvN<(Q9Ma@NARi7|+3nf*IkLg6a4s`*d>9887~#Wz=!}NK0o?7TL2qm1SO`5sF z%XUf^p56*!v$L*|Vls7CnnduJHJu4-vI~|{iJbEv0GqQntJe2!zLGj;X=fN$6}MS~ zVw_lqcUj?B>k{tGGs#PF?jcU`G8xbAoox*zD_z|Syh8#T>#WovxsQljyjEHe;Sg)Z zs8|~B+r8VRzG7WV>?LWjwpZf~2hZ|93p>AUtG(#UV`m6W)yz2JU*i_EA*OJCAk?$PlH9IIk=9tSB+hG~R&5cI4bg zfSB?%%9(0(;ust_dBe((+LtE8P|=$3vkQ#L8cwq6M7%C`DRF+{c(IS6MZ^ewFB2Bh z7T;_r;1Vc5E-Q%9eLg}h^Do!04>e&UesSe8Td1#RHu2i!doqP;d(PCMeJv(AvTg&} z8f)g{uM?@P$Nb_)ccj#pT#rQ(pB^~`SnJ!4;Hzp8VI3zQ{U*Qcg^zzJ^(_=zB*BdW z+65g#gIJ}r+}@k5^b4tTMFNQ5y|!z7@#p?^bN9o(ShTffCD>Jd+gn8l#{IKn$A{c^ z#IwmkWvN{FRgRq<<>@In0}Y1#ZqVWyN<;!zS5|C=BaMJ#)BA!?D}8Zeo~bPjtk{=S z55_6+4Gz#i^)oC~tBO7UCG%^ZowPfo;%JpADVRy%tiVg{z~F}_q134qmi9owOiPf# zd)C+v)9=cHA?ELudbwwT0zpiNe>ez`&~_`{Q@X9=;{@a(Rqb=F`@kdE^Y?Ww#6}Zd>U5}Fd~m1fIZvf5>GZwA_@D8NiQkH|Vf*;`2cTFsjr4XujKMrSdzdvG z3w`Iv|LpQN+v|#_Z)aHm78Gu|+6CJd8q+aK!eOWW9@{i2B|#60p$a|5qxX^FXCIQW z4x2Fi_)uLxFVCl6<3LEL=i?>44 zvlrI8aS}X}dwS+9niflyWe>rwk8v#HyI-VD&3E6=Lyz_ZKzwVRJo}DMIGy;C^WC;^ zfBFECL1V7Gx(s;!iY^uPPcFsh=7=@g<$+3rX!WpdlB8<%{+gcLl$fpX?@lps!r6i$ zo$^`JE^;^+n<1$~jkVZQ`jGV{bqXAyTlb#jXG=1~>vXo!tVm+lL!gJN*90gIVeoKn{a9m zuYOvClMlROUi*bC0=zS+TUM~tlnzn_bjh=V+Orf119}Rw-6zO}zr2C%#De^=sZbnl z2#<5Xp_*b4@=IO9oG0?HMaVXGJ=OZsyVi13^Wcgyii#?i zyW0+JR_|{yx)Nk{b^oktSU%}0`vv%IljLlhD^DeJ2Rp_-Xw|plL(m23UR;~Y@oXJ- ziMD%U-*qQ*1A0Xc4!MHE{O4W{OQT19uTY`cZ54mRr+Wg_+GkSNK4a4=-G9ONMWqsA zLg&~6L}hB1&10-VziFMHhgVwyo5 zeeimuxFY)f5tyI}jz}f2IUTBdPSlF6>u!KJ1<;nHRR6@{8_5rn%b@JykMfezZnCt& z@w}|H623^jIAx}ZW4;0|jq`6>0_Vu57a(*Y=}~@~^9u?a+EA>pJIF(GXB&e2KciGH zancmk+3HM)^{&;(EdV)B;hFq>xg9w_m+YSN$FL|;6xZkUo)Zq&KQqjCA_JUNYUKNpm|cn!V6n)b%64kMu~U2cbvF{TPqbYR&X}<3Sw9GttUy>kOVL?r zB3ywgi6F&TH-rP|tGX59!@}GV=EPZ?q%uBOp#|l!#xB`qN*|J@%bf1dHMt)`Sf&x5 z8l6R}WL_#g8m+!4k(rq)(E8ga+)!{m;~Z2M|XTO~U>g)Z&*BTiUcdONos@;;2*ge#s#_+6kF7Oe3V;-kwu zgbf7O`W1#n@3jb}Bzcz`n*SPnGWPQEg@DD?=D5tY=|Qm zr7JvZcu2^&RgC%`^f|cSR;tFCK={p9ub2IvJHKhs*l+!qn|OjhTL~c!9^Zn*YyeJY z{s|_1Gm(FEp+bPur?yhD72yW38eJ1tUNlpa`qHUVzn%LUjriTcGKye)SK2}0S0 zS1-J{8u0p)$lMH53v1KAOW_b{)9++sY;%;hFZ!NZ0NcN@*n>;p<~FQC(q423{Io|| zB$}4J+p#7vfHBp5;G|0 z#IO6Ew3QS2Y8@^6xz6o$fb4C1_(=E`=M6~H?qoITEC}xQdA3dr_jQvi^KozH@^|x_ zOBxGdt1ctoVo;eXWIiE-Yo#;BxAI9afZlY;>FOf&4r>8PXXUr?k|0KIUpR8x`1eGC zx@s3#XDJ?YZ!zyenec1R8MyJ9-qMQzvVkd?U#=j1hZke9G^4J)Ls{H$~ddfhs zk?W?xuZTLn7!LFyd#C(+!0}&Ik?sg5?Iprw=28wVp}C6FszF}B9% z?2s;?C2eA<2*9TO@>9a@z@ z7y1w?LOJ^EJ#~E={;^k>Vt$KPlL~pj;N1}IUBQOU8)JWm(bIx34(1QKfR7mrk#w!4 zv}qhbYbA2(4@OapNgMOalgOGwrxa>f>+YO?%wyGj1B0+rh2gM*Tr5{mW)r&0nOMdB zXV=SoLiqE5g9iaR3IlJsL=^c8>}7ezo3ckLVh#}2tii6*aqro+34x@}(!e*y-Ghi3 z&O7WElGZUwr+`q-d%A1>cW*i7d#&F{F_7JWEd#M=(Zj*Zuug7|`3eMW@KXsD%dHL+ z+*R(AtN~$D4FHx6V_M;;^ZAt%=S)>#Eu$dE`AwI!spEb_LcM)-)6LH<+SE~}JKLzZ zZCn*s|GA{|fVB7OIeuh1Q@j4Y5v@dj`rvJ2){*D%J;EI^Lr(sK`{n^&^8(bL2$9FnFVWE&63+p>!xU@ zQ~|ejoBSxY#GHSs;w)x$3`*ni(f_Y#NYYpvw%*N&zv#=* zuj#w2qe_o@eq8$Z1BVZ@;pe4i-yN$Y+{9tm_LJX;jb4&GEu0V=X!%FjG!}P?PCN;? z)Pr>49WK0^Hl4O=T#9=#a^7DWaDArk=}Cy_WL|ydR@0KHB4s4m6948zsEWn%%*FBJ zw!mra6-=hvqFhv2%+Jnw?QG1^v6BGTe7T@|ki9b^>^e>SDS#G(ZaaWl;p);c@793^ z1J>w6Y{CIL?QQ>QF7f;&Y146w34gQH+M_sdqaX11iJw=#6|wdY;&%^B9^V;J{9$~{ z{aLxy%(KG{3QV32!}LU^$#lJ^6!wC9Em7 z-fe%I1)+c_vo`1|kb7$vw(vLxErZtq!zdHSx=(ht*%M>*uSKF4@y*i}D*A`>qf01i z&%Oy9{e!sidYi1j7tpAp{F?c#pUnmt2EQrD@iJ-re&J_ca&H{`vJ7hp7GxyOUxAdXdTkga9fl_+D(n?zVXV z$WCxBDlLs2IS&ci*G(~8$tXT-%BTPF_`+-n=_tb2wgDn1c{w&-C35JE*ns|cnEkd= z*FJ^EZ%kkJCO75TV%MA&s2y_DEeVjwodFd8{r3!+O${Ye_{9`YUDo&LYCtTt3y(7r z*kel5>-y*T_{IZ_34NqQ)(y3(yf-Al0GtTppjBg_%ivTzbRIA)9oCqbwQ84*Kc$udHnG)IF&$LMrv zF=Rjpi6ci69xc@5zc22*yD}Szo0ano#H?y)V6T-l@Qm#c6)90&RN)&C##zgLc}l)dac)?Kpa<2kYRxxwX7cIfuG zFWC}7%aK4CpEfqhSE==76RaL=lD29YZ9J+ieP>47O%#2fo4tj4kdi&gy|!s++QSKL z-1OVe5hat(u+DdH`ei<`@fI;v;vu!5mI=8)rJ#UDj>g>iF(}%R zQxWKXZKPkvXikD z0Cmln$AZ6MYD60jHqUlLBM;;c6U@M1v*)IFW^v6@oK?I#J(Ol4#VOrHW%lF<7>xC+ zy-syO4tAc{&1uU@-yIJP&wg8b8CAtdP4KGvGU2tcnuJiJ_1q%QIHG&mF`873BY;I6 zK%XT4X_nLwLFV>zs6+;t;n|M8@a+M2#nqkX^3(xO;pO#U*=su6jHzF0yXwX&`yzK= zAv>R<%AQnx^}Id%_bvMY>u)Uf(3#mYYOPaVo4;3JkFBZg5O2;oA(R&VvOe3i8Q_Pv z2x6Z<3Up0tGb}j7FI(1q?Vt-#D4aZvV& zDt7f$wf6nTgrC-LYSI|)ID?O2Cs5z&6S4nNO^1n(rO*BK#Il>ZT;I(9`cL?xP*GvEA z0uH+WQlS7!ZHaayg5l_1P7I6!(2x}}j5%uMG34qzxeC`}bLvz%OGS$FEMEN(#zCiLhK2LW%+NWSfIDUgNnE?*4n8E?iain+gBsAsbWNp;PbpQ8!nw4^IhB zkLjSTwCsq$%SBjgGk@&DUwz4E>nmnZPtI6BG?e4pjs=IZ@3do|lz$LWC^~YgZyfc| z#-yx*Hq)fDCwNlkOxvSRnzy4?w9(}=q~s0j{=Q*P*VVtp&x{^KCIh^~q|F}i2c(cD z<*zdRFK`uqB}sFP9EezD)}4jQAApmdwlWX4wwBAQcLXzp%>5m2F9)<7obg~K-5?RW zLT`o7%QXlzdUAv1ZzH^F*|o0}!X3$KS$j8v*}#y2n2yWPkDmp6+94Wjw{qx;>mCo# z)D>9kh02t+8a2fI+jpk5{ykT4>)>Un!Y55R1+Vv-yRDY)G-rIB4E@cha^zp9#oD2i znO(PlMn**JO4(rLZw-pnem0@O(>^}Sex}W-&tI{1|8G`B>S)i!8WZFvQTi0p z_Z{%&)yuxa+jU6j%X#cOmyxAs7tX8sc45|J##CspJn{r**SyHRW|!nMyml)Bps_2M z_gpJEy32n)^T|KAMazBs$kYDQZExtuJdTWinU*j7*mVs@NeT@+6kQ{9 z^!X3IGlV8iNQIz*$WEOvCv$-t!oK4zhb~;(&3l=8OfCVl8?mEYBV`R|@mppO=CvN29m^v%JYE%4{RJBR ziTwXguL+oXqHq#CD(%{9Ccm-oLjj@acAd%|I5F&-#+r9zU_ZS0xz;wbBSaFx9wP0$ zayc`4mp?m_k6!1B8fmy{E8`lWblt{;Q?+qHXKgK=wkIGwRot`hv5|io_%9)4$Hfaj zR7vRHpD~4el_w1P>FP+UXyV3baRrHxV7~pGB;JlJEb{}snH2^?&)#w0fCSPbHD9lp z3$?uros6hxJa4klwwU)4kqGojd$vV`oWX}KS)0=Ndjji!Lr>AWPPM(|&M~U`9VPfI zmlKQ%n>dyW4C{b>LSiOp9UC!G>O|~ndOF5Fv`WNPZ7#I`HCw-mDYKaN^yl^qmN)#Y zKn1ej_E#tN)&ATqt~L<@;}n=MVgLPUggXA~91#vm6qKLVO5Dw1A2d4`?}-WCZpdR) zeoM>DbV}RZRfZT9a;_e|WZp`kB!j|+?-m_?G-JziklLKDo6y{6+P^?(lhpr=T19Z6 zj{52)`1;4zG=}z%y6D*G$6~Z$T-AM!>*nGF@xg9OS0EAv!s~yEj9AAFqS=L1T@tO> z#o|&CqT9QUwb>34ggCm<5SAH8J{w8S86wXmxQgOq3{^V__UPn9{$$|@LE*1Bem-BQ z$;(iKp4u$4ybA1uxvlro6g+BchX4xxiT++HZ8_g9SgM)bf@3hp8Y!}i{C^3~w3dEH z1kmo{)ym@Z`Og{UM96KFs_v`66Cny2D_t(iU*qNq{LLPKS?A?Uv%&$R%!b&QlZPML zv?<5_*-S5a$SzUijxDhZ#<>3RQuUjn89F@?A=hn;SN2z1 zEw6+DmoEq1-wGc3hk1xII?a}CCtRwE{HOygKTQVOl7p3ROATV!di)z{_Sl=8zeh4w zs;Szli{4)#*7U0WKas$TiuoyxCq0};%pUH{MdR-LPWN`ho!?3cPOqpC-n>6Q2qh#B zf-wnZx-)P^dsRbbU7Q6ceH}K}`hYR^fa`7Zfz7OX#YoFcxs+=`7?}yRDUxW@_roM*KKe==K2v9qeF@rF)%60$DSx;wc zPy;j7n)ojFw-JHpMy!TSgy~rQ_N*CJ!w5ZT74ax0Q}x5Kn7}(mfvM3cMI?=mUF_fv z82CK)%#P5mGYA#92QyrNy24|Y7OHed{|hh=MgA7u7IQ(eb1@%2!3m4~D=oAw`uQz) z6z3blqYjML4@GJm{`K4nVk#hp+OR@$`~kuP(YOOW+|&0V4s)z6`6;eN7Q3RVe{PyD z!W#nOQ~3_rr_2em#7YYbT85F2D%0289uf+;r8-1;X~5kZ2;o&Y z0*eC^6BL)k+H$!1x&K%er?^hMJmwXzZgBvp90$&i|CKBSUeFtvsT5d_$OY04A6Kg( zdLcu%&V@*X!lxbfTkik828~^Z)}ssL>4l$m)al8mxo5Kj5}`&639{KB_sK{@h%+FN zo$0(=;p+0G?}sY=SFPNlOGIXg1kL(*Rn_{Z!-z<`w*?!2N5rF|5JL$hs*OY6Vw(VT z$qVmHwNhi*2Ln2fs&dP?xRtXWWDayffXPcB8*))9T%`N+_)U zO7qEEFp=%SpUDkiL{=vPDdp3hm@`QP`%xhGSxzHa!PXEhUA=6NYdnxN=&7kZOAF* z7|LnO`MhE5y#4g~UcX(}uGe0Fy$+B2aX;?+emly|C7`p%a0tb34 zng9TKz{Lxe*CMAj+oGP8jE5`JOuE_{f&|sxRg6A9H4Fe1b==woh|6I!Q^6n?CI zun9?mph+8NnK%2n8ngdyWSsV^neFoPtLzwKpIQ3>W}rIAAIeu0bO3cA0nm?Epaxli zBeI|wU7e7Seypb1Sq__SC4de$B+Jq^OS0nSaY|Sn|F%{JQC17c*4rZ#=C0tn?vP^A zMmKaRf*AyVUR2N2eN%E zV^zDHo^m!DZzm*PN;r{M>F4?#Y0-VWu{RDYv!b=-%snM3S>qv&FUJ@R8|MSoeoT_U z7B)0oDGBCC0&{%My9TN=t##Yd1^CO)({MM*p>LUS4_CTZWqr9!zaKewQ|@ZCoFZm1 zv}CB91iN-yghVHflDn4x5<1o`$%A?T6isH~d;CLSg&t&#ZGv?uWSt+LoW?ui!yT^R ze1WD}v}+y4OH z2#7r>L=HP}CuPPwI&5t{RIYM2sZaBcf)f#^WVQh=Ghw=~>ns*=YCi*RZ){Kcors5A zq6=2C)S^pt58(qPk=GDnbeIF%>H_FUA<$wGTlj3*jlV2;i-$G;Rr2@COY!HR7~)jbZo504iq1E!V2(zB5^Uf8cVxb#8L$loGB_XI zNi$=gV+NN#OE~?G({^P)n`NgX8(tXi%MKKr`HCIkxNC1kBe)@+?It$)4#bj%#vVv? z+yUIm=_Yr++MQG_Suw5HGu>8+taD~uK6b&1I(a!2uh-)^i!Q&4#i|Hefn`djkZV6y zNNoQ)dDdF!8fMoY!t=QRiF;zfF{8%wpnvA1m*pCyiUd3FB3PtOy{$E`>dt-VI_$&z z07T-y_A3#{v7zN-ef&&T>DeD0=<}C?JHzDJv2DS&97j_u$oq#i(}R>DjF^bW=H?cK z*o!&~8?1|IEOVv={)Q6c;fTY-MgpKb#{S9Itxd9GPo?dIdq z8`!WURCc#UXI|{3fLkm(O~^b4i=u z*2LLQ+P@eDT0pLTsmEWk-EDauxIUvryP}`9y0jcGz2iQ{GYj~6BwMcZb4_7{I0K!f zErA-9x#M+hkkK-Sa0iL0 z*->i(fR`reL(>mBCyAc(>Pp^EmABu{N;Ck&Ty?&HDpgj2XPNi4?p&FY5tNh)*nMZd zzC+K-A9b`ouX_A8)_lo%>cSo%mGiQ%c^;y24pYS0;Nc}6MC?7%%PP+JjX)d=;Z@;v z;fdDi4q z!M9_ct?<~&FLqm~a@hK^au61;$ytpA9CyR$8cPAYC2AEL{rDFuSqQm^eEfuz>){X{ z`Eg%au~VBMl9Kyd*(HUXV;#M18$pUjDK*r+4b3{G|X8mf2KITZ5#i@Dj zQLgMkh9Wzbh5!gu17C8=yj^ETj4gtBY!d6)uXY-)?Qx9i7VK0I36=g~E#S;%Tu+Iy@lo_3X-0YiNaVphac5Edi`X3qNv76*yM3 zHv-nnM%Z-JiN4)r7WPB#?Q_jS#u=q{*hDkZQh8IHLV3Epv_M*U%Oo>wF#Ti#G1oi# z=e#*$PNaTfS)hH;ExNtH`Pd%%GU?;!e}Y=y6Y?*fv@qU_XY8#(0QWh*FXD0=_j})Q z`X%~+$}CtTpSi3M1->A_Z5uW12VC+it>sI~@7fFRr0VSN--(wz|409 zVGGvQAfmaXuoC0_vSIIPpD#(N#zKRwdHdKML$GUz-~+tj>j-rC^}4P@)< zP{qE!2p%4xC#RHQN~x>|1V|VYE@YeDN@lOk!YH=|LWUT7Z#7qx+BNnWQMb2`32%M7 z0=rP&7BruwcvzW_&kRxP<#5cEYa0^2>^%|r70{6~d2RViZ%WsGP)Y2G(cat&OwLx} zlGoS5Xtq>j=E^8;n6;NHU*HQUu%t-i{sc(GFm)q=jW(9j8c9Bk>I@UbyRd?!^XIUg z=VWjjh9|ID`>Y<(B=emg2y>;Q;er_nBWkO>|1ddY$F5Rh-oA0pU)_8VlI zzN>r$&WOk6b<`v~yL0bkLjkQCU-u&|fva$Fz`c>{QjxS{p6|(lisjFrBN7tZ2FXx#Q&*fA~f?I0ztNCCC==uy*X zik@OJxLHTihbzgGX8~5XZ=hp+3}SH?b!v`sz9@0jQYm|qrZr#v>9p-XLFY7r`M$p* zlEykiIer-;apO5$Z4_|!goQc9N1OlZzdvNHQx zHp6%yl{$qmeGYG)Lv&x#HY~^aGm6mj%Sl$Kq=Am&m=syYsWjq~b-2fk9jOz7)VH18 zrSoQpQxQNdmxP!OsOmZ$sE}vCQK^UP!|dXrAOMLb2$)|If+#+v ziKUw@?8;X#Pl0Y**5x4rr%K?*cAQs_To{359O;#{7zSS0<48T6Jr21D*0);7d9g)s z1o3Om;-t89oY68wn$bTS71`c}{?)KjnTb{O96C`D_I*CVad403Q8akd%;E3AAB+D$ z>zhlxIjH9dr>mfQORaz}YD7LYzWC9iyhYfbeI5%_%JDwP-!jM-dRi?+AmQ^%-b1Oi z-WP{@wv+8p^jD%J0JC5Q=c>Yw9?e!-e_s&3D1cF@lJgKDNB*f*D@MME-H%{}=1_%2 z@U{Yrh8)T^r4N^_NxlAk5Z8}8$%XES3(tU(m#E?I$b^&aJDYH;3lf!LIQN2{*r*Qx z(GhriSsJvub;3DxL;Ei2dT3J>ia*30*=%u&`zx-2@A`P1s zD+}A4v_mYc68a&YQ=MIROlx|tFq#FX1bcZwbS@?^E@&!GIIX zv^dep=GM)w#d!s%dth#7uM*kASCF`fD{5w)!TLU6eiYAD$YKE&&1wiUo<}!Q+&c%N zLI;B5!T38x+V((QPwzkDMvFe`J(2v6JgtgcId=p`6+fg|fETGW@he3IrnOzP)cFVJQF?i={5Ko7a#O zL#nTqY>%>AuZ7GY)tXq5V_7aNnJA8e!Y9uLlKu(7jWM>`F1m~iS-@wd82p1n$UAo1 zpG4FHjdl&m$X&k`RE7cb8(#Y|P({1b*3WR=7-BNC4dxl_Xd=N7}Glg~^F z&#qnyN9|TOe^IL^T@Kk*n0K^-ptHAa=3kwwL94mJcZQ&2hp!dBOK_iz+i2yGxA$X4 z^}uefaL8knUQtBJ2cDn&R*!koX`ahH;GG9Yk3ZUZmn-Ev@}uk7H)92#lruEBVNZ_I zTi(#y`}xAu=MHuuXtHyZkz+e@{%7aEQSqpXyOb3{il*NU zT1V?p&KJNgQ21)gGa&-=e`$IswW$Xy8*NekM|5t09t?UfD7^Zl;QOaTIfO$EaP}1W zh#uflga9bXz)K37Nv?^Y&Es>-<#QynTo1d-u124Pc6Z%{mL2}B#Ucm z6~uM{N3I7B60HpWcbGw6s!tP|r&TR4{M4?%nfGVyUHVim^C<81LMZ)EprhCDhUn^TOe1g3Xy~a*F6b+T^7ndPzq{%`+pB^AUo^z8Gt1gmDq{K(FB+ z=VbT=h3;?(2%IVB$G#CbM56@Lj4GkdHURtZABQ}>ojb&W&DM-}wM*gNPhkjCX z$X{@6RKuX;q`Syl;!`0i0enPm=^tj#D=%aJJCquKB$?HHm`Y?xMm>Ah>v>2UqWS?S z`(`|KbjS~=^7&}O%UG$b!tmXM?uH?5jr+BYPLOQ4KrCFNs=IsCghebfeVc$)1GW2xWM%2lQ z4wRfuhRB+;90M3R+q@dA&xde)yQQ8`66QBBIoJ|~=LQS8_sH*M=^z06ak zFIf`3G5nCpXWY@Z9zgvW%U@y5Cy=)U(mLYhkhenc$tQ>TReWA+hFw9O_T!H(IfSq0 z-Y?Ai1H^x6EM-}0gKfgv#rI?;9-8 zSZfchX}?7>)WO$s_5I6o0$$LDM49Ci;IcTxE5`ZbKctB-3|ZGi{|3r~&Km)^2Z36* zYZo`NnYk=5w!X6{*56l|QWBr6mK(c7;KP6I)_r};&?|O_v8xYp&NxWH%2l!s?VOU? z-Wukywe=Q6sH?G>eckLZ(};yAA*$veV44)Cx(+*MEg1u-JNiS&WEVY5Mw<#SO>OWT`GELG>TBJ6itm~Z$2;x(ZlU~0X#O)Q<(xhP1 z>KrQkJO>~m*R#+XGlc4Dr(UU;ItVQA#FhL{o1g_L)hQSo#br#64T3U<3Fn7oH`RkD zn%MG+fQ|>60JAXS+XL+Z#6_m>6;6b0oBdqEXD%MpTVM38u&jBcV{%}__HFXQ0DeWA znL6l~#Y?(|7Op^bkm%R6HQH{JqCS0LA6QIKIqZ_b$^fiH*iBt~aQ%Dhq$xZxMhb5#FaCt}| zW3xk2z@-&6WEE!v((Sp#Z*=|e8J}68(-TS@PhE>5IiYYd2U2;yl8}$A#1-+asFZ`W z(`g5CBm+>J{8yC4&^;YZ!LIdf{bHom32uYK#J9BokK>-)-TT1ac}bBeO#G)4S(WcYg0#}&8al2HY%f{Iyx%KIx(ky2UP-%rB|5ld3Vr9q>S^FWfDS-ls_ui# zlgy5?qQmxWhp8g;DSOTAvuD?}cFQGxoWa_cq(IURCLCk3EP^#F*%@+ARxK8VRcBrz zqTb-PHuOsD&U`;5JElWwA4Ih$t(cQvj}xexZ%T{exXRm*Pfn$xk6iI=5EM8wP8E5Q zXn}itC!8mG0@)#|u@I#F;Lzbk?U$RYjl#jyg#wtMfV%8P@Wz?lYL)R|ClWewQj`yo z4dWihXFJH?%OL_TO&#s<{XQd4;6Bk4kDeTOlL`Oc&@r zQfr=pg%P*arNVDCZ9GQ58|}7`>a=g0WPUBgMcbPn-xfK$;-{T5j?$Xqc=F}a$XwiD zB_$*WrTO1*0H`gY`>cleNPxU+Lgk*?FZx;gHW)V~bMM8)_w)b~@e;&&BfS~Cne%Ly zZXmDZ>lIB50cJ0wLT|pkat6OzzpSQ9@6n!28Q}PSbZ$I$uea!@CA3RF?Za15r8}>7 zB(P1t4t$Spxe5yi9A4AkEV$VKrz%WK8sP!}^6Ff;)0zM4EkPE?F^WycN6`Hd7cPn( zZ?*h={>};6)f&E9jKeX%j>;8||2zPs_9t3F>^1_mP*>wNzqzF_x&eHt zw+Lx{VoKUCpxh7o4)S)+aA#$6;O!PvV#}@W!^QpftOI+BrB}KS;6+`Z*T@@8iMWO} z@WZ9U6wx=6c|KYc9x_$kKwhJEojyJeLxC;zC!1wm6cB{#~xj7{x1PPR=fah~0{Bpwj=zGeWS5UcS@pFy&e^=1i!g)BU4>s9!2sv9 zv6ls3N+P^Z7R6HbJx2qnHFhh@0h$$J^^0TYj+Aoq`!~5!{59|S6uvNN#ES(rQ%&12 z0`C5$oyJ-SZ}+kGMW3EdK{+?yQogi7%P{EYgFc>+Yae>GZDPKowQ1t{AH7cCzPHjPdK?5cdJ?cpPVYc_+(6oH^REDpx**sNP57jam!_YJ%Yq=w z9B_yc?WV#yq?y zFjokW$5K*aquzx)q0!mQ6* z1iQNUD{yOz|kH%{zq0`O?E-C&x&5Wz_g3d(^^Z_3rSV6$9{JVrC8j=0)Tkc8tzU>3qj54}Y-oZ$tHzU&CmsPRU63?7VA# z;+?57<#cJNILN)hak{YFOzj@Ms>}}}y%ad@Wwsg`z@q+}$?FLS(O563=L&Cd6H55r z{dU;8LJCoDaWgN`6h?8as==_%$#WcaNpW(Ug578ydplOekjbj0T#<~%$WDa+oaORj z*l2(&)*1nRGdHM1MY5}>@vs|#xW|?Vt9l#NDQGA6x!_MAQma0=Y3Q_qn@CkMbf*>0Z2mOLqkET1N4i-HpbzZC@js}W z9)Gdbq7x@P4_*Ueh2i!?A^s4jD4MXt$W-E-V+HwD^vPk&`iQy1PFy{?6enFt8M_c2 z3&IALTz2?3AC@|B6>+UTc;?bGNMc=Jh%G3lL5XqC7{ja9fezaf_Mag_343&j{Vn*T z@n9CQWui4gKd3vLyvEH)lo2noj)d*LYol1wjBMzXMvso@S92v%Er%{{OuI zrHR&}vu)K+16GPaMA(`ix-6@@jQRDJ2N+2xX9kXG!=Q%(Ok0@ov9T(dMlZ*wb9ekW z+ZZZ7r&z)GwZ5kTIa|pn6J?0KSsX~|1i_r_EZlpUdqsaz^@5jE9b?D4`-9iUX(SL z{h_;xZ>7KWHTb_O*hObI`g)1ZoJre<+fv2&V&8sQQHqt_KmUzf49_gy=LyS$e>Lky zzgkRmlZ&EEM7Y--Y!TwvQTBt597sefKN$x<$As`04lKmaa9G9Ie`)V4HxFBDziz+- zxsbAHzAbaA%oaSk-=685+|j7_=lRbOxr|B?`4VS7#_2!K5hHT~IdwLczoQ*Uy8&c zAERfD9Ci_%x6@qUsj<1U)pmBaDjF6YjF8@G+l>(p{&VkFF>65BBW7eOsj<%{4j?%Z z`FE&29?hCO9E z`!mnOSo++KS*BSYFtbz>Ho*o%zjpBCr*f1tnmYnnb>kI>StaGN30S|$;DYR!}gyai)5mv%5UR$g?AQ2)1GG2t4W5BI7KUzipKO?iz@nK; zkiAo_RZy>!fYyg1XCLtXZUipBOFTRL zM<%F_JNNRL7L|2=NdqaPjry{K*@vfOq%@iV88#zx!t>u=Fh<^rHD#7DPmEolPkU1T zSCkNk0pk}Xc-UF)+A0oA7$L_%?r*;LV?zLL>g|>c2~F@ z13;uKV1G*v-}Qs;FLWO_3xHye$DF3<3$BOwy?Gb6a=YctPk$RZuj~#T?sV~Sij);S zqnX1gs=~LeuBx@a#}1(D`_4mZ%ZzBYT3y!0!>pjbcV-Z34;0veZHK#H4qnD8f|t z&#EFb?*6CKHf3@10ME(a4fm%I?6G*1D4ZiaB+Qt&Axrw2z8?1-RDrCMx^3E~EP8Kt zLCK>qc7G&-Jt`R7vQ!Y^e_0E?9j0A4*r~{BXW2D1o(hfgIF% zUVeYz#X&O=cbUPf3%6+|5~O7dj=I7P|WN)c&i|ra1dcW`*k#$e|doCzrYMF!#CbYFs-P z|Ao(bJnTOL2c&0XDhabU+|27`inUrq zA9Ybz({OJ-I>y|Lr1+Q+p%I~*dqE}_Ho3Cmw#>--ah~TtKZyzA_scjgTeAjxtJo9q zC^=#w@&VpgDj%fFV;*pJ0zx9hy+^#kqPj-RJpif1>Qf9)!1-WK)|HSC#{5KyKk!rm z{WL~9PW!byWUBKH*ni%az+O*RClgx0&iC6y4Cfl9HYS0WfOH`M(@Y0N<(6apC}qN+ z4arZo=HvUlT8{-zT@hMM;zyo-n{nRq81XYNL*#|Ncck@Lq^6{b3n|Cz?RUTO?;gHF zhs4lz+;Q1|k#LP-KXgDYP-Lq`@LlGI=cmUSV}spGf|H!6u699fvSpaelX>S?KSv82 z1a9|a5+34tko0YiZQ2y?0hkl)D{1~?|FMVeu-cCerva$cg9ZN!J;e#XS#OuMk&r~G zpI%R@!*zpBZ z;(u{p)<;-P5j0y&uxMMnkGz7yz1s1@Nd`&!6|uZ8*y!7+@+*%?$F|@md|)+=R&3}+ zRl_IfZwHo`^7#pVfMEccK-oWG0wxY;e*d?JC;J!+Sf^WzNliR(3zbR^GTHkHc%-Aq zFr^d+#h;4y4*AW8JfiCnTw!z(Kj(m*6CY)`jx<1}ER1myMD4dAL?AbDT9%>so~oJb zrPSq7to+1~NwKdsaBn;oxmO%UPTo$JY zglRvxCM&yw}wV&#y)dek%)DuIplrI}F%s++$jnrZVe#77O}Z?A>HM}u9T z%;DC1?IE8|^RVrdhu6n(cu3!XT>5~lA zX3_ONT`Rn=WASVx_UBK~s@@7sN6J9@6cy(iq|mUR!fj_ASbc zGJ6f4BCBib2=8}HC(w(Sz-FWB?`SOQ=&EOaR8>~rBL{tB4HrKBeJh7wRA zGiD>O;#C0T7(y+Vl3@AKy7s{5yDGC22^F_OV2lhCyKh}(bl*pS5Z?jI|4~AviNO#( zB6+eSQ>!S7H$A$~`z!3xF9sLUt^6@#IWNF4qq<=((oDRdgZ;w+KcXDZ_tc5} z^sgO;HJk%MEH|G-6~}H+dESmYORm1-#5@^1^Ke?2`VBwiJ~dRVqinWjXn{v%NU|jv zW1dxLZDN&(S8Z9A>0VZ(Kv$3L$q^pL1$-l<1mBF3F^T#QZus>Pot#)tfS(QMZQmI`j1eB8B zF(fJ4yxWXAjM^;A+f;JkX+KP+a?G4HNUApMNmYsyw+^ZU$7yq1R{uRUm8kb?`Mf5; z^X8S24eg?6WJCfkhN2B#MF-BU8ti8@Ad~oKrcFaZjjSz6qnShmd%QPqV>D4DYyP0yI;f{Ug$WFj&lcWdxx;~a!L5S+0w}pI224h znDlE@7C1Ot97LGgu#S1h#k-(&>;k`O?Xb&kj`w~$DkgbG9K8WTUQEmhe)<;%r}D)z zjWPuH=H?7`_os|gVsE*j`(~B*HZdyknC)m*>xmrr^-Guwv`P`LxkQZ6lb<=*DvZk3 z7wH)l-f6)g%Pa2ZT!hvn9?3rCH%*$41`ZI9aW~;!%p0%sbfegLxv2AypuPha=|AUbw z5oh@gMc5%myk|NBm$9B%lJJdi z#?A#;0dzO#dsdf)22b;(xsSGPZ$v4@{rkVxIX`T4%K?|qBK0W})+khuah!+hp7)G~hB&@b?FZxU!HQHpL6e);hn zpFa?fhGbQ-EEfpirlT#OKgzG`Rn?eBrz6JBqRBhwt>2mNQ~AS~*YU7oTg)?Ht3wAQ zFbh*aC;xeW-NRsN;n|qy?o(k17Rb|WTWFJF76J|%sce@odLXwi0D>1)DOgtk=wIyFyqP&w%80KxIRtEHdDEfhf z*OT6FQ076?v3bH%*EX`c>VSR@Vazg#H{%-5KAf0P&pqcvgy@V= z!dm&!Bsqj;@ZR_*mHCE?Kb6Y@&33MVK?*9-2N{~~jh`ff|BNx;bSD-Dw?AT*bp+3b zS4p0Tk=rozOscN+6q#Fo)=iACUc%tMtd*gm0;Eiy_$-7qAH#FjrUF*H%yhL@YRg@w z)$9?3@e%JZTk?#8c@5b(5y}{sj$0Y~As(Z2Z~yu+I467zU}#f$ZV!EqaVE-|d6 z#^vu>x5jnJHG7P({X*H;Pe& zfscEaG7ySD-#hDwT0A;&`eMi!QpJRVJvX72VZ!l8;!i|P)VsEaessedJBFT*HWg2w z4PkmShNrc@iP;r)GG<}8pQyQgP13(K#WaT?$PU*jhBnupH1%>nYjDTF=KcS}^bwhx_Jdo}N#q57XzWLp~nE zoyZ0WG)Uvry|!l|`(YlQ`DQpn5zcAFzicrCXUFn+`tZ3&1Gw1!w+(Z|QUw9!HGK z3+d&Lw}59G{P*1^U>Mfc+f3oVt#;ZGAyIfsuMvDVg(wV5G{l4--7pl#9X#!ohfte5 z@?wHr?*1NSnJy`(qHo>){km)@FNf#SXU6?pEL4?kl*kUB#}{iMsn)cgoN&VY`8fEj z);L2iaDB&wCVDR+1yUV0nx%h_(FSRPulFqZ&9I80K0jaVHuz%%%@u$`Wz zBR_DTKKVfoBuNt6hC|!!k$)P-zq3vkjC2a=ZeM%ISIXVJ-jrjLebAEw;YNJsWQ9t; z)W{$$%fvjbx&dnjEQ?aA6qtjYjGUZgu6T?mCnAK{KOL)oJNw-5BTpGKC+<3b@QvD; zbYa#4XI&T>9e7a$#g~{v$E2s8=N_8*$ZR^#Gf^9Ri`>nODedda zlZ~tAL6}iUCL2LCV?_CM9c1exRqt&y56>`vUnG$nN^fj%156K8 zvQ_cl)xCwm$x*w2gPAxk(XN{M->d`&Ol%xv?l5ZaU&l=HZ&T zQdYknCwodN`cTy!Lh*R`VXJEEvan+#rV!0dtnT4*Ur?PgiK^fKP|SXh+J}1mgqQMq zTVmt_N^ke*)VYZOuYgG*{I~uFykMaRawpVlG7Q_3sRKjsmZO+7pO!~x&v2ZQ4DD67 zzRa18_jh^@8kb)7XfAkFtT-Fn#_DtIQ}vqVMFsa=UaW2?6rrDUGwi&HqS^l_m3p35 za-r?{0RX!d4pzgH%jX^Z~5IImRFS5?3P8@?;& zyf;1AjB=V47F4iNe(|NyT72fy9cpevZM^&F!c>eh6c}g!d&Oa%3i)h~!-1aB~KW~?4?p@bA$&xi5;AIF%Kik&35XUO&iSoTUb7gMu|EOFL4iGbk zKmR&A$uEx8?x+Da%;F^zEd*!or7`qVzTZG0AFElzhYRMmkB!G{MJPA4d0P?+P_U%A zlV&bJ0Nsk3|zlc+h(JRkX+@f0H-XW&wmtX{+X76Aa42AZbOVf>E z4>LnNr1%kP`j?Xb^WJlp7H`ZEpU5E>e|%&Xyo^N~PqZDpw`vTT$4Ayww>;Uq0V>zT zm+{9BXtm2p+)tn}%=&~f?f?wHW=va#oivnC$J9EaXMwpKWD0Veq3%V1vv zh|wWqSN6j9gP zPKZ<2X#~0G0`50S`dz|r&qk8UA#`%D!-qh*q@>dVQ?_T7hWxH1zu|fKi{Lz5RQ3pF zT>-2A5LR&!4;?Ue;wCnO*zztX|2of&Zba<6P7MciFfT*gtA`HlW=SuU){T!~KZW}% z^Mtu_3Q*D(s>IpDep_$S=eWc7^Rqv_!YqYm=Cs^wTp>SdkXxlC7Auc92gCzl07z;5 zlieIhBmMp14ziCQj%z;HU9%f79^)cLgCJ^Huoe7aJQ-?z>eXB?+B(Qw;}*j{)DCSi z$l+Ksq*@$?Z@_zbZS-tnTMn}39x|uKgQZ=rF&g9yC7WU-BiQks2TB3bJ}))L>xO%@ z*DTBjz*pgrrDWT+!X_Fj+=(_+R>T5I{_=I1`patHH9s`WYQSX;3IU*=68mOnTN{ay zGonNvhvvIQxo(UiF7TV&-u_)oCsTi+zU~9OB<#I+lCwTX1iQ7X5&#I0B!l%_+js-!B4^L3IBTL|G2ab zi*_WxKJ#18cAurBcNFeXUyU~ZnHI$1Dsc@ojDSDI(GRBknw(vDx5*^ekOAz3;B+@c z|4BsfvB)sz6Z%r!tQ`aE?ca$lkVi+!a`%r>fOiC}BArqguFtn7yRXlB+ecWxk-J8Y zQAfX4y+`dXj%NN5G8{E2>D2zmT%XO?eWX7LtI#OjHSLYdXb>jhZNM$M{Yab5gI=JE z!wkR*zSTkS>Y})`d|h{InQI)uYpQc!3CM&#LEQFv{S|}kMfgg>AkV!8kh)0Sr56|h z_|$yY*?81CB6z{WW#Z4NQ8fA+#rX^UJvNJz^$qw#je&YI2azDKuJBIt2Sp}DU~r@A zyo*I{zrC%t|A22iRLEj@dEICz+N!BGgoS%Ad=Kz)kOgVYJQLnWnQ}L=d7lNT)f8Q` zoY;t=)wkP~I}&(^Ja|L(Gc5bvoq&#coqhUH(GFDE0}vL!X_6;4+a{K7B3>XK@okP- zR`=HFrjP<&{9!Z(K7f7g@pH(dC2RkL=_sxxm^~_dzjeMOYnZ71eJ{YODq1x; zPwYMQiYo_t0`%e#^s0;bB74n*C(O znhBZgMK=Yl{i3SZDIO5ghaPtfqgZoc=?CsjJ9_MZ({l6Se{Z)LYph&TI|aDDxT^Ga zylVFb3O3gv6BOv|-Hg`0#aPgvO(oe$U|-hILl5v-HqrKp+%b=3R+0qr;*1*i>LIIC zAL4OpZ%t5o2f_5ywzDA&K9+2Ft84xzzql*^z@?~{pZpFr4`Vbjl3_BiQ<-dVAbglO z!Gq`eZ@;3c^L5|!4v#oWyDjyTu~*lttwA9ABa(A`TR&Cb3xFyzN4a#AFJkmK5v`3~ z_3|Hp!UwbP_d}u=A&W!aFqjl$;@t0d{V!x?f*G6p!8hp(ZXr9Mj4hVc|KAG`e+Phd z5qf<(v(Pj0*!s6~rld7(bCca4opUFk->(n(bX_$Z+~A2)`7#OriV>%h)mJmdxH{~L zW8U*(-XCrPqgC?b!+BWIe2g!=jQU0nwW&#on#}}c%E5kA88jhrvUhlVc&mqso8Es? z+~8?I$&=Z+E6k#pl0c8({=Dqnwk~Z!f^l&FoKInGVDa|d;zMZ$rFxg@f1x|dZQOAz z3fNOkV{QK}eDu}7zTy2c%HP!&bm)Rs{#$eAX7hWk*4WbjUrE>D2=)K}@0^)g$zG*G zGD0Zh5K78u%Qy`yakAIlk&IF#pUAqiM@U7syOTnZv$DA}4`-Zt`|hXj?;m(R-_Pg! z^?E&@kH_oze7;Bo!MrdGnM+Z`@dGTl9;?EJJE=mVu#(LtQ%!bP|jGNBlUSLHfay?i=0RheNK`#1B3coO<8 zP%rgcl;+r<8V0%LSr1m{ac};J3@GxdFuFrJl)Y|Coh#!(o+QhT5eP-nfwEdwClyx@ zQ`<5X^CxDyQYD2=?#Wu8jq~h!V2`Yh4-1((h6eBfZK*=dBA zO6ZKwRy;VTR~fuB-vqzj5VZHq1pakrd&TsTgLLv*OLY#Bc;36y{oeFB)5nf zcnbFL?le%_BtP%eq|OVXNFC|!b%n_Q(PK#_>n}|gaw6jr5uJHCqDSj~C9bl_Q59@euya%uYBjlG{|BMr=liMe zv5@bDo)L95sbd`NAsm)*x--(C+5+=HJDGQs;JSGa0HFQ`jnSg)XOlTFIeXr(sTm=b zKae-0E9jbDWll`rW+@^&h8c+H!U0>Gz+aOg6U{?=`!DFiJ z7&mth^2et&jGkir%nD`ib~EL7?rdri1~PouElN-eXfqTIq%JIW*})c328v^WJ0qej zCO|)Tb7tb@Q7KklJx$SmcdO`gNge)$m3+$DBgY)AjJ;Kt@kGZPd$ewQM{pgjFZ6oY zDSW0`#sRB#mHv}K|ILdG<)ye?$^@3M3J-X;X}1`jdw{9;5-D7$-p%l+uvE-v82;_~3zicLQGh1VWnm;6H<8zR2#T%!Yz-wTE<4 zf5%MsqivyyX!vKZQd7iL#sOU!^%*)|_iIJ^EnHQXt&vS0iig2AbPmp`wA*3lwvTRg zX>eO!q2(3u1x2%+`1}ntwXAZ&b z4&$xho*IT#QTCHMRrHsq*&R8W-)UQ@!rSSWWE^65lWhTwZP9LgW*Tj+>s>oe@KS!} z&^eZeB#QeV;p;>|kq#o-v#t-iTXi7;x|S_;@#_>d0~{pNzZCVbnS2OCnCbBm`fvhF zAs9TKy}s$=zL^&5i!^#R|NOzzH~9SmA)~}kCY+4{VUnG;oterAgmHm=V*;YRQ3b%1 zUrJu=Z*Q$V#B|146Vm?yS*M$%yOu27EE3p^0Jf3gc(`wkD5$^OO^+XN>jLtx@;^Sd z(KhpAzUdLm@chhAh@2B(UJeE*WJ!%Z|Me0XA}E1sh*o=zm`vv_GlfyeLlDE@$Kd2K zxKu+!Dy}>6#0x|Nc`UxJb8)%Pk82V7W$i!&sfb}`)!PO!lazC`wt(kRrg?63k7-UM@QYl zi+vwA4s=2`VD)p_Ysxmw?-j2-#OpF??VjreLW;Mj=9Q%4qxE z^a*G0 z?Eiqh_1=&a>N#@k6NbM)LI;rPA7l@T21d}Nx5>3ud=RHp548AJNle{u51{!X-<1m^ ztMu-)&U#r{DmlnrapOo~f+Dm3$XO?@$>q++ZwmYY%F^GL(3i>rsF|A=_r|rLF4VlS z8c0-^o5Xl%RF8k27Ky(aePbeZ-|0j6N%Da&M*i;Wme7~4P*Zb_?kC(xyT@(n$US)mvylL)50kpy%0Do0_U^mKREKN&cHUaZ2Y?^^RI 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

  2. P0VYq&5ei`epZT>@k;L zG=IUo8Pn$gS3x#IrZjjcVW0kf5sT*k4Jt`miojGlMn*vs$7zs2IxOpq`LSSuU}@sy zB||=fHvb6F<`k&nL|3;qLgqKpZXEMO>r7pQjBwA9trFlfOGgn<|Zofwn;3wDnFg`KnKED!_V z+99s1W@qni;o)SWqdN|zm~h~duSsBkC;uDpZ2Di|xj;@_#cIR(yE*wE-d)`gY+*wD z7SnNL*@C0|U&wP%fIJa|EIY>|{uO!va6i(|W9J-*A=5ut4xkrXRdAO8V84J@3W zF#C^3Ia)^VD`Ru}kj%lyZG@K}|3v9O>frX!2w_6MlPWkkg_oR{0Hpe=K;`~n=eG-(WB6;xD6N2j8eK1^0R2FB(l z#+KIBcFqA;hlj6(c!fu8E@X4Q9m=@X&YLTydZ41I=;r&-_TS&Y_?fgUZ28vna8X`O-JgEDSk`ZMEn+!QamcPb=zx#| z4K;l~WNaQ>?PB2(wg2*?tV{c&9POMuJe=K@uKU1dT#kxZ6`%4Pr4={M?Mpp+EAA6i zUl@!$9P27PckcYz;}<^QI?Zm&eg16#K2glT-t0m8I~lM z!i`AQhn7L4w~oQX$|ezAl6tbb>dN|NhDKgnPTYBrdGqeWi+jUSbp7Jhy~|tItXdhl z_6dx^JSHMzkSR)>3c~#70Igi!Fjh-fRoBtg(bd+{F|~Daw)YM6boCAl2y_jO3k``t zDPLGr#AyuTI-Z?4lzu4r&};Nn<0TzK$aUSDdl^U1pE5MJpjadcRg#DdJu_S9KyN2U zXT)y!<8HxcS!{Tu`=+(&e>h{+x3+KEvUWwn_PzU0e&q57J071pzGrvx_Kj(&rcm$L z+B&+pIoUfpy4nN!hQ)5)m%MFt-1_w^*6+Rex`xC0a%@Z7noa8xHmym#kKxA1;PtI5 zw`|?9IdbQwl~%UaHW1P{BfZht!NzUFt-^101IYNPu5KHkwv#MWR?pQf2aoL9n3$4s zJiiAlQAzr?h-GnctJWn%t>0k_k_b{9J6CUCA78(9SzT!EWDV2F3-xM@H;8~(XuXF< z8?r8DH>16gH#YKo@8+nGz>uJjnAJgX+bq$j>f-9?>f__)<{f#XhfQm$Yt4OM(O5S` zTEWT50An{2W`uvTaC(ix8l9i9Gtw<6I5=`eRES?(=pH9KM`u@iCl4PN=dhi*G}gDI zrNLn_K~a%$&j+e=1`uDAW7TRD>$(t%oWHtEF87& zTb>Vb#v0QhVf6KjICAEANlj|R$-Jxkc1Ew?37aXO`F3N%>g8StymWK(_i(T^xAY8u z&bhkL$2K7P(7WnZw1#ub_O0|_@vq$N}tr^Kn-M18t(izOY@BP#xL9QX_@o)}3GsGCU z^O(nDH{_k&62Ee(lev|RiMoDZ5@}B#Yt3NOIJBnPqI2tGJe<~+F^eBvNZT5+A;sU- zEyUf)$7MqWWDmhX=la=r2hgbMebf>7N_ju_1jnxMvGLz}wv1V| z#v>>&z}nW$Hpn;7)y^gK>L{-`(!;_2NY?jWn5a4Qp`XX1_7!yD)1P@ak;m^E%2??Y zdpIL4J#`Q_eEWRuecha(EHkvQx3sf!N^amaCI(xWTWN<``EN=+eC0cf7|rpi!RWc+ z^58d}@xedpPCsp+yPwV~yqRPNRiHgi3|k9JGgXVFduw>3Dei_UI>sP!W!2zja9UHz zAFC{*bv{{RB7@UpjQRUFk~<$)b+?^$baXSfx3;vgw>MDJ(Y5i~cBh6%duU-KtD zy+}h2e!T_qdUh*g3}nr0)gjoc8s;M-naywC5xQl~CQoMzj9rZ(-!sxuH`I1NU5gsp z%VGL+G-Rb!XQ)aO)?$I^)OoX!A4{V5g%*8;)`m$O+VtNaa`*c~@usJ%rJ}B=q^@ke z{S%EpoEdGTAVCDgpgR^VMmh7m*~pY20~aW^rhlD{bNX&}MMc9fkBye1H(RU~RP{CW z6y&rtba!{K`U?+wsmv9Tk|l8~V(5w@svS|JQGCTETx=dNAgoYQ$%ol}A1g+*GQ{g!oCqy7>y#S&T z>&cXvVv7}2Rb(Z_7pW*OoFh7E3ZT|3h|ur~35~%A`@b-C2E44Z=Zc9hk~j1SLxz)~ z+@d9@Pvat!8Bh@O&41z4--6Mo=t9XkbEQ#c>Jqx+_@y(uRtEXFPZQA9aO2Qwm1Ful{a}6MP)xq-(Q`mA|#Mg9R&2mc>PT_R=Xx%+W1 zruG~fqdtew`B)xj)r9{Ti&6#PR8q+-EaJvHIwtkJ#!rNghv|3HRJ?BlsI>pzQK_Oq zM8r7~qKn}ZxThg}*EeqR4AHqjc96P}X7zue(*A!;M0JCsQ|kqfU%SV*kXX1OLFJ7O}f;;i0US549C#?PToFlhSbrij0X2a<|Y?0IK}YY3QGS zKvMhF2M|Cp`aSE^Lz2LXfKJXRTiG#kOUkK?Bgq@0eeDgkwV}qgb#NBg+N^9z8-c66 zxdD_whNhO*o*VCw=da0qa_zxge8>CTfIrJ@mhQSy-1s#&C+FFX6R{xyAu-$F>3nkU z?19}$>Gxi}d35o>ngDx4V<>=vR~~61tN8f%<+DeGo1_11K%9Y3!m(i>u3A=S>GKEY zPhY)Qo*n8Q;fo_3V~9@5DOvRT z(t+L&Ii$5?u)4mirM{??UvmA$uMd^|V@N#Z{SgpX93&EA&p5-~-Q;h`8mHh09N2Ln z`OU`tgYHiSVYkxrKp0|A6SNruP1PpO>u)!I!?VOVp;sBbV;JgNt-%Ba$8%$o9vtCPbXiwmE~fjZDe7ruWjPw z?h>^9bao#IztOr6^$o@Ezt%Ss!)hz*+q=8>t|zWpw>|CgH(zMV-2B|FtgJm(9eo4x zPK1woC&)m-moHR&Gbt z`iELl>{@JTS4;74_($r%+`?Xaw}Mxf|LJpe89}Kn zzccfGHvGsso4VH4E+l5%_7e}GN&8*)G5hn!a`c>|#mT*Hgoq3w`#HE$=?1SPCoxXhY=GAj2j|JJ|3etyOJy{2D6GdwgMy_Izaxr6p40kPtyVjS3}csRg3bCQg|ru>g_Tx3ezX zsp4ScX`gT3xP9j2p~o$~R`~T}5H7BSa-eQM0C!ZiT@)eEz-5 z`wySI|NO?OBWd}=*hfy!$1-yAw6k8`KC<3bO=_x;&_vPMGe|@PVAWrN+eD$k8T`I? z+oFAZ(6#0tvFYd+e5Q0#udfXWa#xpBP@FvxTBu2YCKwO_K} zm=uQztP0~mNt0+g6`?+O{zxzz{EYu&PawY#hUJ2?pq;>5=+B|=N4Ww>Q>>D>PeEA| ziz=KDGJm8OBX&@rh!e#wVm1so{uY!WKj6gIeCU9=TdO;QuY#dofr@o4+ zHk7QY$_fyEFNDDoFb9rEB0^*cBJs#D66q`M-FBv0Dq4_QDauPNmc*zSDKa8xydv=* zgg{2^JQhXBittQO?QN@~{5_muJ~ubkBl&B9`9!yeN01;q$|R0pGsW?cw(fhI*6xh; zu(G$+RX5brQjwQ|*;E|o0I|kWrmzHiPKfup#7fJl9M4}^Nl+mBRJ0!^0#@f;Z>sM8RBMI&Y2>lU+f5QmA;pnnzsfQ6%Q!n5fTRASF3(?gDX9aWRqE)1`p{p?5?nhUm=s5=<_$mo?CW zc?8nakf26mc0D|K>tKM6uCBR)Djb@!OJEO|M9QLOr}7i9xlmzOJs0zJaBw5n~WlJ|vBfF*b;IZ%N(QfYs=bL7^1$;Ja+2P z{_Av3(e0!)t0DtEf|f_F&3O4RBNIurr`LtAT)849d}+wC@Vzf;Pv5$By8uzv`r9vB_BU? z`f6c4gA2-ej5}0WLVDNh#;C2IGBe-*q+!R{R3y*CSq8f+oTgy-x(7ji(P>C_rVqDm zNjr8nGp`vL)V(Z>D95OkHN)I78W$%5hefA?+yo(qlZx4!d-T}zCuxUrxP0ID z1UzSO2!vpJ!I2}E&!?xHJ)ZgzMr{K3I9&WkMq{`z6=57hM{F?z8^L69Y5h35Yy{PI zz0CT>p$-1Hl9AoRfisrLg!h(O@%mBLiz+T6WpE~wpg*M3u^80*r_bGc`ePVxQk&TmuKt=gTMxc5|PA6Zb4tb$i?xamylsmlk_3Wm5e z2Ht1GjM|6yuU)-z{6;m&d&cgf-xCLid2ItC+r6<>HE&#{K8=6KDd7V?5Q&s&YrsRefDVnwVrmzt?yW3hi z`31#3Xn|6L#mL{8u;W@kBP;FD>F3phIDmMuGe(%_j_gg`HhY$o_BFSu1MNLOr&voVfZq_Kq*`#V2r{HkI!Gu*8>lou0Jmz#{R{X0a zp7KAdfldsnGngHv5rM1%pkU;*cJr#EKN0*)MM!ts%~c`6exWIED=SKA45A$q)F_Zx zTFTTP7;`|jhRq>dmiYWdvWQ_;QPf2Hw^hjAJ6%j#(V>Xo<>;mM3XWd0E+MUkcn~KF zLOdpX|Ccz9sJ#SAvbmB7NG8c(vPwEe26oXw0lxl0zEpuyS$}_5Dyd^Wh$2-1>&?IP)-nWtRjSlFkulvO$B8#2MYPW=uHrg zyhLc6=&%63fDc5N2*Fs$K!&bRR%mR&e9HWObe$sK49wp|@=N@d5V5jCo#4~Rj1v_O z7&`%H5PbF*$YBJwP^ev*1XmLSB67)~_D3Sgf1o%-04gbwyaWJ3%r^leumu8CM4pDA zxO!bRZ9~|+Rg{Ri29Ag<2Q)xknfT^Aru39yjBEaIggZd;fl zpl%dw_y0gRPUKQ|ds~Wan~k*vl53Ua|3b~Vq69RdVeIdo5C~V>aU(tkz1>!hjz+qs z`kKf}BX~~?FdhIAwh$}|{`fC~tHej_Alh}JJRR-q9ZmH#RpA;GKsX>zIAH!0!tq8x zHH~&zONR%Sp+}!&EAcKs)i-Gw05kxj;;0)>J9HyOG@@N=k9X7NRe3kT=-E zX0Z{k&^HE-uKQ8O?X+McOrlgYwAJKgVJRTP?fIxzn;|M8EjnW|ZlX}PhCd|4W*4DS zkit)oU zieIRuA!rm`fA}OB#9-Gg3cm8qFjR!e&`rv(k4-Xe)v+Emb>*zv3u4AApHC4q> zQQulePY(c7M-LiEa0Iv#;dE%~?_v;PdmZC#>WM9hDR(|IJ5zl<5ME_rVP$GzW@un! zY@q6I=cKA_s-aKOM|v_MrgikKERDFMr0W`Mg2@q|tAiZg(7m)H2li~(^>(;;dyJ2p zr@M=@B?3}if_<%h{&4zMI9q93TbskkXlkzS=*@4*dk3U|LJ!1_)*{e@&FOu0_we!5 zeV3`Uyh~eG#)SKO0>`a6{^b6#Ob%=8)au~KsK{j@K|#SwcVtzZy?*IxjsQEn#zFY` zww4X&*x1j<*HV*SA|AQ?_KmCi;x}EYWzu+n%lt70v*G=l&XKkUI}a2LgX~H=boA(j zyasGK;fedpKDQD@HDjo`;LiQr@?l&g{-8R7O9k_XKx97jhJ5}Y4TK^<2wpKdr+a-$ z+R3|!nWON>VZJm}QQeQOaTYG{rC_FL0szCrapLs7Ka&3VVd{Y#a_`R`0>{JZ>B>L1 zb^F$|+!6eUPExZdD8yur_H?3XgGd4ZX>f*+!2qx5(DvO2P8~T{jw>gJS92-lWlQPJ z6T9M9?7Q}hkjZ!=^fa*$L5upTPf(miv3Bo;Rai19QqDxNZv$9zdJ? zo>NDXKOpj&O-OQZMpz4oC*JtK?Dr=$0+R+zYy@|V-UnKX1HFFVE5NwX!IE=_U;JSW zk(x?0l2d;?zJ24t4<=Y>27?E@hAwrqUUC_kCr;gd@*UWA+*mCeT_M!+Cs(f*jRK+8 zqhAw%a}3Ni`%Uu7sLeaqZ9Mp`4~Tq>ympx8G21it96p6JF$zF-F^~J2_Rx=H}9tMiisth~==ew{rt$ z9T2g4Uu@9wu<*1G>?Ssg{_9ZU=9INBM~5z4ICkjxrL!mQmk9#3X^&4_yL?(*X_2a- zmL}3>AqfEmi>6~&Pe%`be^0OQ^|?6M5LLfFvT@a(A>Oa!yZ5K;J(Y_rIWhwMeC1T? zp)@`D#Rk&Kit_SkjL=W%R1BloAGKfQC|yo|cuD!}>>(DPTGvfeTzB6Qj(^C9zgu<47mf z0x21JH7zxH6;o3!J+H*uf9TYLJprD+NZ+V}&dk8*?iMr{M7a#BF25h{^$_I1Yee zY@Cob@ETz(naJ7&q?|&20NRoQ`fEJ2S<_(J(-sI%^(0ALV!MSj&e1*4)Vu&08)n>bknM{@?8q@)&AL8ueQLtFwXI3#`nQ6m-t zC}{$5-V*Y1q0oq`7O=gcj;h=uaY8{Jg>Aci%=Ojb05{TBSSSX>1{W@#0D*RBvmmeP-`QJTW?H*w**C@X3|*&5@pPA*m}bSu8#e4;VL{hT7G+v#?eI2?d~y z&n+!3&DtLu=3}a9Vq%Dd9E|?}L2>>d2<4xk4aPQl)4Pj1BV1j*eVnX}wUn1&=tdD6 zm^YWikNk7$#vSb!{%hz)MgUm8b~yLene>y# z4(wPH=4EH5ql(EB;LiUwbYtNPz~m6dr=FVgJpa+nizg2zZdeuSZKIEHvPH<@_&asO z5hWXk5hXb(DO1Nt>@;O6Ptfwq;fV(N19JFuCc=Rm(O==`d(b`GvHm6g{w`e8PY0$nu~ zWmRo$4J|WUS6f3hX)PtC#p05hI`Xo(b%2Wx8Li;$5SvQKr*9-4x0ZG^(hJ=?_O=cv znMXdczEfm$dUcMOT>!@RcaA8lsh=|aj5Hv81N2u;FtsN2SseYO5`I zO(@=hm*-b%Ouou-;>Kn6OU$GKE7qs@mqJYbNSTYgv6wyntQOH z|EGmm9hr?)1tmqFJMr_urdKyF5^n3_yN>2onjMdb}KusjB1eCqeNPm9XGR-*KD z8ZvJA?SBRbzkV3PzB1_5^%XxpzWR>kJ27_E1$Rn5mXO|2N)NU0`O{nHvMRb8YRRJ~!gzao*9sq3Pyf)U)te5Uz4zt^ zp#!;9$i&8;c2=}Cm%T@kFq%dRv#wpf{j#K{yQ`aEUSWPyYd`&K6CD}Gi8IIm9Rp0axW)K;HbYpa2f zG)suq&8?l>JOZM&9KCw^#`O!wGw!~^ZJ9uoI$ZVj8+^Hpg0HRptySa=!Rl*m=T$a; z`0#zFtE#3Lk}6f?6jgQ2jkGk4oI+N_tXmTky*cglb;K4UB$o3r|6?hi-&R&n_%HPK zB1O8BUt0AkFGphm`gath=Ofl%R!!f;2%jhNvKnf7c3weod(tj{%p#%XR zRS^0aR568L-BQ_5nY(b7%skCS(8SN3FTO}wM_*fM5pJ#*C>h$hx_ZU#Onv_K7kL0F zCmpN7qpAk0nrc2FG701YG)42prcIZWS5Z}3f&hR;3Tj$fYTCBW%eEw6s34~=L<~3u zSS0`VcfZ74+Ma9Gx6$=Xk6{Kf|NrvBbk9$97Kj%E>y#K!+-NJ^I_gb^ob$`EC z=sO1Gt>3-(Ov}Sh7@@PDZ=5?YE3J6dx!YGSK+}r`m!RmRNnjxfOqhWB5*mx}7?o6k z0gJk-mXV33w7i~)jhk;=e({o1XRlmoI=iC)?Bwtnh_)ZP^F7tD9L!#cXj2ejP#j{HfJ)CV{x(r%B9>fGAP}Q{e(r)0s73I!rAR1Z?O!NT zkr-Bzqy^jtMJDPSq=JZuQ3xhE((oq}ki(w&iS>K}7B)l*dss$Lsvq?XywOO#617Gp zMOhh;#VC~5d|d&yi833uN9vJeF)XKqs;1f>5|Ack04NqF+vQg-l}YRb zsXOAf0K|tGp^l!RxxggY)j`)Q@(Y`Ww}S+bih{C&yq2M=q7m+XBPc$o#ulmuHpWvN zjSQxS<9dsswg+1j(QagKfyFPah~277nV86{nOo>uSeOf%Q!Ho>5CfSZ1S+Ds1s%q5 zFs?)8PPCm28#why48V(AURlFjUD3qd#>f&~DTLNLxmdbd+rbKO?y&&|b}^2>((}K@ z8azO0SU@PM!l6vp-qXq1&c!!41Yt40UhYUhjSCIm#-R=#0~j2KT|FaXMFtD08uIYa zP}YKa&)VE}YJA>|#Ei78yuy6wv(jSn*6wTR;oMk|2F>yKah*6NqJ~98oII?QHPmzr z&CP7=Gt$<+=X6|qK>7@Wy>IVa+H`psL|pon;?x3=-^3(7{B;Eh#8t+$M^|6Z)Y4&E zYFYjjQPVO+SsEkh>Xy9hbw6tB zvqJ^nrXrQB|2X&;Ky}hHG zS3peBeP;jg-4%sZC*CocZ7oNZW7aox^g}P|YA{&D3(&-fcqVBXCdj zGYcC`F+Cj}yrxIQ#3vRvAjEZNMeR-cz|EbtmD_JoM;M*8^UAUd*Q{A~9^=5Xc64#I z1%=kq+QiIyimjuAEi`&w)22s+M`l$l-Nj;cHJ<1~_SWtCRr@au)4S>2dn!^AQbBUB zuG_x+?59vDAg3q!+G9;;Pdhtj|G4zDq~MUanZ*mXoZ);&XKe)e1BkU1# z+-busI<0-t%)H=;`0%{bKN&-PAYwDX-=;9W4eZNEPcPWF`EWa8JJGpA|AxtcG#9rS zky5rdJ%?ffZJ8&liwhIe^5QZpt}=#BEM9r2uH?(dmoMK#me|9i{xMK0jva;fYkl@@iuWlUeWY7*J`-LV%1eO-(m;law(iv1_A9zAvJ=pzQBgVBAtB*4qn5)KTNi>pe@E)L;7 z=b&vofW6iToPk5!2sS`tb$8*e9on(@8APdlZy$YQ{qCmIhX!e{_AlRB5pIX8ZEI=m zu=>ag>=9z%ZX7>@IsEM4rcG;WSIwVSp1p-j*}__SDy}&vbEj z0Oi?2M;i{TW~AFS2-Pyabe}9QEzL`xRggV9Cu`=6wB14AO1V1|6Zl-CLQJoSd4RmKqTiojfBY_b9?aYa)_k0ul=f z3t|F2jV+99EYQKy(vVWu(|}f9RY^q+7pNAW?m^bTfqC=t3NjEU6_b=07n_unyyzZ- z-jEX+;^7_|=;sa2vj$R00Bpy*zS;XNI{2?%J;L6>KcT3NYhx=D7t0|e8 zo|+V&l$IPD1tY>lXl_@2U{D)kT&zs33@w41v|#MXucV-#Ltd5q#@P55;v3hkUbeVm zZvO1-l=%4cxX_S@$jGROs?{4>nau7g4@_|lwa{l!S5}abLJlMc?E>PoPB_EQ@QSNj zv!t>(FDoN+Mp9ft0{BP~(_?3EJo}73%wQgkoPzvPZB-pGYvA;bSu14%`cUIwK>=rW zkZYcZ%$-wMn4g`Vl9HSl9~*{N?exUe*M?|6=!~|r5w->zNR?8=m`Nj_k?_b-;%>fS#oDT77x^G#6)2znE?P4B8nl zR~rdb858FyyV02S29%7#dA8*N=>gW@*6T#hgX1Sn`0&9LrxVR(E zh^&I9pfFH}xIp#)3j6e6uZtn#gD;eLfE~b{5*7mVV}m_KdV|6Y(p}_#Pp}BA)^zwu zs<2cQ=HCvuB`{)Kl&=Jo5hq2ANyuMfGA4%hCR(wew@)Cqu8=qv9C0l569qLQM+Md+ zaF7s~{(@W-NgnAQvnQfNBqN}J;Xx)Wh0;S@OZXZ~f-(p)*y^_?8?k z!Kx@D@+tHHaHwSxT!xk}|Bs?F?n^!{{PG7El4AhYoWKteMX{2A5CZiy1T~njxd7t( zgA3Vza3Mvk8!jmL^pdVN!I1zT>ip18K^=-Nn=q7&{|y*of`Du=ObQg_G!0Y~jL^|H zF{7AKO)b@pY)z&(8fv)&{{tAltSQ#>*+oFFqQM4fT0X|GUAl=)T|uQ zW3z#+wx6G`HwbOPkrDp>byO2MJGBADV z_NzY_%~eT!VEFXkfFVLrPzE+Lw~CKj{Br2!`P-aP4zuf7(}~(szvv@u`qkp3od1jq z4UNpKY`qeSXI%#21qqqd5zeU4C=H;7N*}quWd8gTJ}#t8{*DhPLW<$4qKyWj2^>R$ ziW@$Ht1!fGQsRE%lElYFq=t@pC!5~Kl0!zWB++L~l9WT5ft-RWD%M&MrW>1E+uOR? zMK43ee3VVSx9>5UP_!}LAfJnao)8K+K#0@6)ikNN`h{FQ#hXA(TfVc{3(@Z7>W8c29ngDM$uxjNwM0Y6*YLE8$2 zX;5_TZ8nYBx@gw?)170SwrdBMUS_a|j=b$A_OS3mBj@vQiYb_AV9B8aVQ8X{Y%XJX zHlcsu>gwk0?_azX{GS`EidWoWkFi^pWY2#NQ`u|9MYT;mpx?n{k`4b(jIgzpwFQ73 zA_yU4aCM#PJzZSlWX>16x)2FL?M)51gJnr+hPq*L~smH!72PXVdCE7nvBv!9xqu6H;c( z%qv?~zvRqE|Ech`j6h2kO`zLuR#tXiVX^QSm>QgtJ8#2D=6BR6*=Q1@vB?_+8w>S@ zO;NM)?hK3D-p!@m>l%C1bmh*2Lsb#p6z^ZY)8m38=ACH0ak4r+am7O_qG+)`DX-n( z(U9{Fx)`TpX=YAnY*J+Isb8FtVJ^Ls4LHYU4y-sQ(VP*?*Qt}M)pPnj8+R(X4jdbDcsj-|7^I$yv2GQ#6_zo7wx4kNt^(|**G zQNZGm5?CAib5(i8oP{gPN{i!yrsth~-n1VV^l-eFZ(g3pfU(C&xp< z;w7;?McE5o*M|qnlFIj=x_12B>C?~HtPbk;#sVKtH?+GvN~-3~DQzOXtfh3&IY)V@ z4HDHGo7dls(h6hm(l$1O)%WHhG9rG^Sv2a%o5QtR=K90Q&E5$T>Jao8shZZ)#|64l^GViAO;F zBUQE9(cY7#MTOZ3>Dj578L1hm$vcsdy4yFlc;UX0;qOgb=6X9>x>y@q=&9&W(N|H@ zHZjsNG%(1H43WxS}Io*X|tDJLf{HrU6)+QPxw z(8y3*OIpiVk5E7r6;&|Gcj?@Ly>kk)XJ@3PC#8bhn4X@JxZoCzd3IKKq>oo9REOpk zHb&OwhM2{}r&UKuK~)XjNch0wxIb_ikLyc{3(|n&fG$$96N-Z(vTMJv8H;0m-2Ck@ z<1xjAo^EUe*H3U-pz;%xrO3QM2SFNaa2}g>;lzd_JOR@a({bJjvC*+1iAmvGxTD{S zLp>clt(-uC04aLs;Ve1EGW#&N=wN|h>4AhjSTajvuMpj9;bJa zkNp%AQ*9$HHA3HzC$XFV1qB}f3c}^Dq%a?&J9|b-a#Cb;LWF;K_PR4KkiE)09Ai%` zhShXnNePt}2<-Wi{Y# z5@LiLB|Z)Ozp&tQA*iNvvQyF$BEllW1N}n%LzX@VtzmCbl)bg7rlO9#oYG%iG{SR2 zP3sRBY!_TOX9je;(NVFHNUL?l!?l%1Wz{4&m>Fv!ViK{YB+(Hk$%kshcTJG;s=Y2N zB^Er~@KAKpd;?-GaYw%|4YdQc8MJ6j4bXUk^DCdtj+BBwU~r7tjLuh}A3md=-X0-` zS))IfI~i-L>FBA!9UgtY{|E*l%>Hy~Wns97qZ2&0VLZ${?O+WoqN}5f1N%>4uw(si zq8xs@KHlEUW%@=ckA7!{9n21Zzaard&?x{aARGh${~uUT6^5lkA`Eopz)vHnkV5D8 zQu!zs+D^)N-Z+4_K|z$=(BmcQK=klPcISX7>>6aDot-3(94I*jX)MMfw!LEGF=t^< zlo%%hcA7vxgrB6Wgy>H|^a(QZ(gG$h{Y7<=Z+lCjjF4ne2^h7C;TLR_mH1m95fqh> zl#vz(EG2-D$%m!rZHfu}78ED8DUdjbi^JDLQCUG!Oypl^P!ustK$a+3@{Q>re?(s! zrZ5EPDXVJgX-H4z!@Iw#geZIA=0;@_{bm()II^Lv3epokG>WQPdPZi(YKGJQSta~a z$ds5UgK`|gO$`6kjiD@5NBF0?rJYY)*}uSGH;QT#iE}LhkCP=;b(G|cbU|OD7!QNt zsbXk9#bIhd`N2c~9Sll{PlT#iSzXe^SY8#u?_R!Mt`2aqbe!hr>FF0;dH(0ve*lB% z`kul}n_h`ENenxU0fXjsnN z!h+nqg&Vikuc|J}PK73?u5SA;y#IK={z8MF{#hoJ94|6i$0;beXx{Q|7arWa*sx*k z&f|@gM&`L|4cA|PB4nP?Z;$wR@W;R5L1jf{BbU&Wxl1lJ6MY^$SkZIpe$w`p4+4Mu zx8k6wXK+GJMP0*v;%Lx64JJfU5GZWJ^J_Qny7UVr zd&-Cid@Gn#fEILT6u_PnpCCv2sYr^Fl7MTpp!6ULb6N)GuHg$Co;?Mj7w=L6&iWye zLu@1$Iew&b&@L^fqAahdp`)XzrVO;Lsjeu8{3<0CZP<#sB`tc0m%$Kui9Wf(?^`|p zh#iiC3xvo@7%Qrx=m+<{9#tJHS2q_Mg@xIO6Sh4T$q2`iAuFXg^QY*R9{VZ|}x^Psu6vJ#2c9yM;M~ ztWhd;6s?w#_O@3$)~&0%F$x_Uqw~n|qh~)q`-ILmx9!hDyMZrRel^Lj-L4LbNju^Xnl`D z?Fz>A*u@j1;Xe4f`TfI-n+jqBJRBSxUy<}p&LE9R8n+ZGqqpnpU#L*=Dwvh^D>i? z;uB_6Z#eQ2dwj=jJv2W#ZOM*(bvdyCCPwNC2!vD9Gt`$B5`lk_EZi2Ty?vyE-aFL( zw0T=q?%cB3sfj5O6(w6*i97A!mlI19quc@_qC)-LZ49;4C~EB>Q{eN5LJDCj!Q%lP zZd}DNYJ2mU-8Jc{`T3b?=`%}fjx?PkTln>6XK|R18QA8wNGyf`>ff;!7Y}2y)JWH_ zPj`=RTvm~r5I)t-FS%^pwTEptp5w@VU9QcZ=7{N-u?aqX@|aluH}Lgc{B38~udWx( zdsdat&d$gTwRMatT6g9#be#-ry8Gq!l2~UmRbWnS)Z$Rg`6v4N3H0@*Wm<39XXsZMTHL86`Y^`4SV&7Tx{6CZo#bh@bIYUxYYF7 z^Hv>%1F+~A?bM>|P*)Qb((3|^iz@@R5LhSwRfGF2e0WX8%(Sdoxid3UV0>A){d5ay zQ1|dSj}ER$k8&~BlE!NgqeEQFNuTdu6}VoZll7JG9GWpJGd(RTBxd26+n>oeeQLRQ zY~QjO{!=ZqR40z-7hon3%KG1^t5>k?=8>gEX;CqWDe*CB1)DD3BAn%)zn<<{xgaOT z&(T6pRhlr_NjMR>OMlhi`o}sNPrxoEDFID3JfUb6d@oKwAcQw z_aUYE=Z)RV7A)TR9AnY-ylYiq;O z!}s@>d7GF|vDC-$5dIov+$i5If`Vo!%5QvY;57mY6a)OHETD^@iV28QbfM%VUsd7X z27=fmbtwqoLJ_Bo7y6@XOf^aM$#T%ey(x?Fuyyfputqb{-NP?5&>ar? zJ_u^|^_k}5?QAv0&dNv|(^r_>K}(}bbSN4|dN>?uF(d6SpBY0pYI4J-dO%$2=Qlkr zw{qF4)u5skFRH6wI6K1A1KBhduC7K}#zuGyLr;J}JtJc?8*5!NA1@1)lA{AmX6IJW z$-Sp0hDTQ1prOaa8)OPIn?~r}SGRB4xpn1|1P?DaV_j>A7ol#lvhmKX-MoEqVR=J= zXG-Cj-y@7KN6XMxODx*^9=aTedsqzWFqJw)Oe_abv3}8gYej;;pBw6oF7_^t?x96@ z=mSHv;eHzZQc*_HDMl}YdAcZf!O}BdNjFQ7MPZ1twn1AoG7K}cz7u6LqC7nVJzYHA zrk8av=$)r)%9htXre!VKxcdXGkHNUJY*!bolSer8d$6i~*gNp*<_+|7QQ-nxX@JH2 zup%u#JjTx_G^FSvk%&H69PJ$!zq|{*)&Z6<3w=Kb`-UzrC|y@uxoF$gg%uFVUu(U7 z{SA77aJ3yc9GjLA5s{g_4Gy6U8imHbHOt3&8c&c1rZ`WS*NU>x?=#C5FRiMAt3dUF zMJpE7;Jd}EHnjDF@XdL)7S!y_tb^Uy350bFdjHB)S5VstAqNCn^5p@$<8wSF^Y^UICv)~;K>qjuv12u#`Ndi8UdbT0Sv-r4!tnFp9d z`?)-rWAV7)Bx8_;xnKvgS+7rT-L!4jo-DgjX3v74(Z zin9{p3wMHe&w=M0M+BDFLO2lUXeqp5PUo9`B0YsY914cQpvMz-)msqN#;)vKn3tax znzLw-`S{8EFYoW4-LP=wsdq4*0|{+p2t)y*NaO$#lGZ(i{S;q8bpy~K6*VAK?!HCy zQ!;atbLwBu$}1@?&Mhh`ELn2qI~Phk9QMY$O%+3DrrsE16Cj89C-n!Wfi8H#}+?6iimmf45WHpDcH*YL`_aQMK<%NLIx zI(6n!6A1fY)p33_)RZnLjt@`I^YVhPFg6pFlAKj>7`(T4hpxSQ`RvxUS4<9e-g9N= zzLO_UooqPUaPoA+iAPxbDXt^q>!m&0mgUS&jkLA5hkZ?ee_%{Za^AB05NupnQ?+ny z-J(r*_zq^&7w3;0IlgD>wgdZiAGpjN;=MZ!5${O;=HUZ@XPJ&9o*dA{rp3d zDi@%qOx-lMY*v2Fl9g8(5U_Gtoy~jq9@w*I|K@Gy+IW4#$F{ZfKyV6z#>nqCM;4nx zMs1D>iK~}~SFnHP{@={*wiWYpW|hsa*mMO$irVe)t3wC3ZrxvBe+Hj{hg;THoa&%6 z2D>prY!(%y5p6AfFz#JlT)ey!LmFU)eXP8AR&sXP;zhT6IBZbw2VdPgxb@(c9d}s$ zw1XQ~m#o{kb<3{iUo4yhQ&~wxLkAoX9oRcMxmw3&U7&Z;SC^!v&B!jQUa+r?EJIi& z=U@l4r|!hi2n3)DimOY?Di@R&R5ziVIs%(@(2i6Q+CwJ(cHXfW59q_U^V8F#GV}5( z=Pf(k$wWULkFlRkH@Gb7u4Oe$}A|DTeJP*_eY{-onlaZg z3(I*=A6SNTSxQ8Wz)$!N=H=!sZ-mAfDrwYN>3eI+it>wcb7p3wB*e!>dqgGhr}Gmg zp){h10*0}sfoFIlopBi1bRpsKk%^hJa*7tz?r(*$IArFm+WB+yv-2`%WTYjd?;Z*6 zE@~{;1UhL_cw2)>r(@_}(ZzVXE-oN2G&DLYG8XW*Ab-WyW@uG8%w=VTIceD`iHWe# zi;M^kpXNh4hG1U7XN&l=%4lmTdxc$KFq$&`ruln?golTPMJ1*e79=lu#~fshY%R=A zk55dD!`k7&L4I!2643mk2;V`$32_KgGK$j3K%C;W;4A&kOkWqoPe3IQh!07?jAc!| zFx?)$GG|6gY(#8SWJDNR!l(|%fa%|bE+c72ViaUlq*RsMqwdkKX8PJYyG%t>p%YGy zLCMP>AtV_W^TWLC)ac-tAT+T3rXg-Cd?C8jcZfADPC`OPN>)i;$s*wN;OiL??lu-q zzJ9K*0a4L;XX*5-XYlSAY$*v%ObH6`@(J*Cb$9Tp9LDMtp?iN;2gE|^qOs>{`p^zP zCsR*HdwW;Uz|88?-SqoqnGJYj4%}Rk8Xg(q?d5K3=i%vb;5WZV-b#)i#kt9#&TCrF z?w~)*_0mJKg1uX4>A7zMwDy|lpt(@d?=OKD_p}9%hK9R;F# zrz4G%LxC1INk3v0AQFIi9RNN0z$h!i=#AK;2ne7T45K%oeId~i)PGSrMCTU}8ggR( z{Aqj_!L(#Of`_pIL3|Mw1_UNC9TK0&3=Pd^($6L|M|=k!Bh2)m#KkWNj;07xaU9TI zkkTrD8Zv;I=LB(>^8$JU{G!N9nZzQfnnZd`zD@f1n2EuV58ERX7qaH~@gjeH#qKft zK}HrTmEc=|eut7dsY&zMkQ9Xvn6g5fN=o;HE=e-1_+hBTRs}~uB)+03Si?e(1h`5= zXd#7r4pyXqQ38g%G|Nf;?HW1&b_e=;)_6C>SA^jr<} zb##!~tfNcO715*U3hD@H4ibB9JRyn1m)}RANC`;`N(xF*AtAQ3bFi^8g%2}2ET2t* zyAAXq>eSUko;v;z$|W=mI2w?0VaG#}qsR*>P~<=21hGYIZ&kyx#Ho0Nn1e)TYiEu2 zGSUdq1vN4eG=VtNN?S!6_9xn?n`!FmLR%%Lj9gGHbscF1O;ueJHSI}qcrZVk9bjwf z2p1PLY`r{v0;k$}c(}Q^5G?KC<>fTR!p4ehQ&(GC7ky=%oQ8_Fi7~dSBxb1f^T#Ol zdS#}+o2P%Uzn_|pa14-6f6JtXoeNCii zn3|~TxH%ij&pU;N-jkYe^Jz z6jQ7`+#H-8oTnGv1MQ4C)HlLtnw?tIFbXR6+5C*ciql<0izqq<@ItzmJD}6x_8luq z403Yw_jGo5^e_Fy8ymd3YW~WN&qro1*?RChhd#!;zhc*Syqg&8;hSp?9lQ1Y=hG`q z{V-ued4|Uu;Nq!--|0}57)0;xngn6lG^2qmr|BemV92caLJ0wRTp}p2_7AKa^xh&4QS|PRn+{( zpS(-?1nsji$mlLpxS!c0Fv0!x;MSv)+n3iYURJwy^OpL$+GWdYH!ax!9ywXKpGAds zfya7XpPHGLwtsA77ghu|Aw!H2>;%RIPUVe_zB;_Rc5VHZQ&*pU?iql@l?vxv^q+;s zy1BTTtnEd48S#m8KQo^ogLjliClXTzhc?LJf;5N?{T^yNQMYpMl_7|L;SB-17#>s{ z@XQ+p7VjDzyRocjc6M^y?5#AYl(@_x9)HJhU`F{8-;%3CV|{r36TZyQD3YlOQgZRb zHXd%vu`AmvW)xcVi*HDSLg+#@~rDo3GkDU%vVWGoj4FaV@Jj`rAzVq10 zy}OTIIDhEC5z3JlXn-?Gf%?~x(m4y}CWfWtdU?TRBrte-ctTui$zhO5-XFO5{ORKx zm!Fck#;xv)TecrOc;wirhEpew9oyS7I?A|Dq}^Z7@7TN~J1aH_5%fr)hyQnEblj|( zdk~FZSW;54YUP4eEo1}7sZUSs*?Vx;rfmlf?A~{dF~E6o1cIG0DviZ_+gO~EM7X=o z&Jgzb1q8?C7IkrX%yk8Ga|#z#FKfnBWfan+OFMV&+qL)5&OMjg$NC2kZoEm{H){lr zW3Jcp?nt$%B{)B(POffKJv{wf<977%hT4{w=jK(-uh?*vP*ZrL)Ypd&Y}tNj`?gEC z*bnOKsv5uHI`#5DGBlWr5a?}d{@J3V9H^si%sOTwej zVopw)F*7TB;ptbHJ@U|^V2$jB#;mxsAQ!khF)lh1&%l4;ZcY6uNJoX9uf`% z#@OV{?9AMGOZNbG<5|jJEUzq^TUe5lnT}R{B2@n|0sq9^sv6n``nuj_UF?q4(coD} z#>FKhXJpTwJ*#Fz6P{ZP`jX=OoEbUk2>{N-wj?7e;NNh!vVxJJs+)fUn{y$}-#^GZ z3|okaOG!tV%EHfMR2E}PZbn*sN>W^GbaYfiXxQ|qjDN@7O7ey}S{8Q2Ke)Ftech+J zcm+hpgh6ZIleY8*iuh}D@#yd^71G6>>&o>dwF_XSWxuz;NTE6)`F@=Ij$3l6RiPZa$A2p^tMje_B|SkDqr?L`V>f3ai-vz}*w2C8dFa zwCqyOZtO3@Q8<+ou@;^8sxHwBl(e|=wIA4>eB2F*3uaEj zNJu3aVY+GWIS4Lo@66l~lmywhp9@G?p9uXwBB7Y5P zSy^c)uLUIJ6r{*z*%PE?r9`o%9+623T6%_hDu9$4YLIbF082p%VK5!iqy-`%2%~Aa z31Z?>s+g8al4*jhk}Nr)iL&ri5yhtZBvg#;U0tlT6{Wy30Fno+ri}Xq+JYiPEgEui zn)(J>a6Ob&*V0rZ#?srxu_}b(qLbwzLQ{mrprMnux2wIGrlK5<9;#vDSThm1CTd#x zrpE9*GSJsjL5*A<;jqx4<0KRnB|%q^R)Xy!*dZ!8mBrzf$_Q-J)>ct9G&MFPRyKlK z6ip@+{04d&N{~p`2<%dnn~Y090rVH2EJNtslVucv^&tnAm0G`NOKGeFsaad-8=8TB zND`|8Aj^ewqI-a!qq#nmHd>0Xq!gM2RxJ^86UHQ15^|E0&=Kh1eZ1SaV_EieS4XJ+ zY~6xW3v24?H*W@#S-R?QeQ8cgIOgi6iqi6G24+@zs!HOblchD}lvO}d5z8&PnjJbq`D_s91mG%&C@J*DsxIINs25^Xi$s>sPOsKO@M)9$ExPOI?-8Qkus0 z)4~FrZKs%+MfwAz+@R;Bz!ee=e`G8&U==+zC_T?tWB^6cHU%?Nk zgO4vi=|+a>)u*psV`tp{tAtFzeFY2vx8HYnT8gt~%-y(;G>Avo%nghWA( zp^y3C&ezYczq5v3J?`iM-E^P_E00hQZLhE0a2litwAEpz0?NQ^w8F90PvED%&!6s| zK6>i*gX>Lqp1=9n^=pvY{}p{M+NZbQUN;>>!+f+KNBx2Eb}hnt0Ul9)15O*`{(kek zyZ7Fq; zar<99dHwGF<3pPdUAXn?7eSKTuWx&>XKv>^vJ|)HRwr5W^(_Jp0SD0w|3Sq$eSdlG z=;gaFI==r#HNXFND{OZ0mVrE!&@CCAZ=XDajW+}1MPcZr_X?gl!&-!Bz z$rZ$4i^1rcMuw8hK*TSo0kHa`jew<$A3>STkNpMQxpV8`g>{wHXW;q!yO+sh_q@4! zx|wvTxx>AL>cJjmbpN8^&|rLoQTv3hz!2mXx#uE)^&oyB} zfcph|XO9l`!D&cl4ABC3y^m3Q-(TESxBlRs6Pq_~TEA-jmhF3vo_k1a#CZ&Iuw+_D zfnQ7avll%Bov%AOKfHMLt!MBHn6V;b-9PU&AFo@p|00TViK&@+bE?*?-+hAUj7JAa zBr1i82xd-K|0wJI^Ui_3pPipReg59v-SLZTncTuXUGHw6Y`%8Y&c+rm{;;Uzg3^UM z?_tg1pI+sgoYOW7|sABnUUK!+K>VYV$_JW zol8JS-0DGM-8204$<@7E8eewwjt%`JdUzV^$FH7GuiKiN?!O{O$n3|zpuCEV^?z(P zHZcJ0(7?hD43~M=`mkNvtNSN6?7MR3^APri2<@()@87(=bM*oL8vXp%@(r95irSE} zyqv0uwIhOF(yAIRW4|L^9dC}VS>O1H&{{Cfg4~&I|&R=!=`$sx1Dx3SW`vaK^4bz@oI&$v({a0`9 zpF9T+*H|BVp{UrXYNLW|>pU%PRU>hvroTS9I;CK1V|&LBoW!3F(dd`=*uaOk_bwi( zuUoTn>GJhQACU|APatb%;g?b0h7An2A6b{0ICp*H-IpET$jOe<$>_bo?aaG(Zr93r zP~)U$&RKJ@?fdI%|Aex->W+bxk3Wz@eRE_>QF2OQ)ut0y9&}-xT0flIJSQgq(%jEeM$^hqv|+b>Uk=SlNsS2&2u!TmcJf+V-!PejzI)r+usSy-CM_p- zW_o&Vc2fHKe*>_p^4eA*n_9?#UMNpb2@Ume@{F0Y`sC}*d;Ce+@2=J>yB5q$$(Wg& znHZB0A3FOWAHWX&RXCPYQ_#}3DIzy*@AaiQsZmL>{=Ol}CF>5}$MBJnGRF zN=->kPYU(+3@cl63<$RWUkDaTZY87e`@|+<@Yc@x88K-I{=PB!E4G~fh>iAe@X>wr zpykkllJtbAKsN`6sLf3;fg#`g1!2dDPtvh44nEz655@ia`_rce$3=$cY`A>mE($r^ zZ~Q|T_T0V#t7zD|$^;Y3o?Bk#g*?16cI|Hjn^Vf;Wo zVfPL!&PZEu_&F8JgG!I*UNwPBDn90V9B%lf{Q2(5x_f=UVH!c2e*;tBbw2%VHzi47x`Hx=NLlCI!5Dzr+Z z(o2}M6p&MU36Tetc49X}e(~3j`SC53Ny9`=Mr3dN<+1p0IWa{Y35eRjPk_buU&~J> z+I##51S+K>DXbt5f{-Mf8UNZMVVa16Falt#03s@ipOYmfOHUF*C78cU0C6ylu?cuL zb_>{<8>)_zSCR)AVX`Q8|7RI81e39Z809Apyn1P=w~2xZv5%JJp8$U$3+ksnlXid=JS#v}T+MO5I3r76Pgk`dYv0742Yv1sGilvUqCpIn$)2^AxViKt*RsmO@cve%SMzJnsG82%K47-G&#HWcEE*aP-z|IJDZ4|dbO${-1n6<6@ zM1q-xmZmls_cRbSakkhDs3xc#%kl_uWfX~xpo~tYNPWPh0G3zslHiL>oHPMJ)gc~k z-U+vc>pg5t^iA~iNZFX8Nm1bvs)(S{r~<*!qu{DgWQ3(Z$S9JHgV}}v9?afA=^h^! z?rRscg7$l>uZ^j>t)(emWlTL3dr1-mc$^pfd z<)AjhJ#?TlJ=i@Z_$uT2_NBFl*5n4*f|r8AxRHTAJY`WOK#^WsUk?_Y*npaXik`W- ziIFA<_uAl8Vd~NS`QnnKc=!A(!$cW9^!{8;w5zSHjg8e5Ob*N`=J!m=#z2fCp0E~H zCN9bID(96)`Av%}&iBI%M4mZ9AKtX(`hg8Cd$(>l@{GZFyA1_$Hy1|-K?jO0&&HZ! zO_@?d@rLvr>1xwM%1hSW9~`F9t{gl0l0JAc+uT6y#Oon?5A8RNF?fG%Y(ng=A4AlR zEi(h%-SB>OaImp=cXjj(4Gj;Sd-`hg>*0Z+_gl->pC0~3d%N-!oxaFfH6v?B7wzqX zm*BPhevq3HT>6eaFz|F~L}XleaA*ip)!bd9OYV03Ktr#ewr9hFw7}^RLGub1mIXy_ zZEapWH85<>`c3oGvsT~eL8kH6^z^cuj1lV7m8lhbHq4F>4+xB_Zu(7S(1%CpT`zW* zLX+y{;N$G=>0)CNv}*Y0^8A$G$YlSZl$^r#&zN6-emFfRq2?@_hw!rQ?%T7hps4Q3 zFTU`+ZxBaFYptDI7$4vh;$h`vXBV{S%|LlxYCMD-A>o0s)jJt<`p>4Nd9%+Av3dre zf8sKK^?*~rVGYn(Lab-7QKo*{JtHy1+Z|!BPS)8+YM5z(13LE#Z$F1h%{gXI~qDJj#Z zM$RZsS@#B}-R;*m6wX=Kc<&C>NnG?OxPu(#-R)~mccBmrgMpFmwZ$1wWQ2!>dV4eA zD&2Q>VQR8qa({eQe)g6j;;6s|i3M$Y)SS`D<8-l`inFsaidMtG6HcjMdOSRF_5S6< ztM=5OaQhX8MDGvJ&&-%T_t2@Pj|i3Kz$hKo;7}Xk)CD>47J z$yo<_AW5f#RX~RXYji9xB<$dr>^ZwWvlv5UBtXO91g0i0x(#XBU;Kev9b3w)bK~c393Xb@yq@#xi&ARt zfcDjQW_Dz3*i>(qAV1%j*u;`m2k(DJmmCfbKZEw4Y6HgyTNvye8hLbl+vY1hI63O= z<#Xp|!A&42weHafqvzPNRkbq%-2%N_g0O+u==qOW!wscHwOdL)gJ<#WW!q;ktmq^s zytj9#e~8%ttK{IoX&xT_(IB4O0h?*CzbW6x*}*HW`q=Fw=RUJKmj?O{nOR7)y(624n z-b?TP`toge$MzU&LtQgXW!meUkSVryuz$68@rp>ynmsEy)W^me3Wz`bLW&{9fTnK< zj}_;DO?X=12v4>|hRsNhoN7g$a2gu#D}roo&|Nfv@YKq|Wvb6q7i&}U9OOI4qSL6W zt*fQ2sRiH1m@S}?ZLbTRqGxUa1*L|T9-i4-f($H)naeZ8+u_*@vspYe)wQ+o42DIw z7M{e2B~?{dQBYKt({X1q`@I~LjZ{$+0mE=qO&j8WcDk$16ip+F(TG0LaDfDz? zJh>^VTw*~)QRXQrQWQVQ!%9~UJx&!H2S*86O}qd>I8+6*1b_WhEL07(C|XQB_7&yv zDxxR}DKqgBK?z+MFE%0B?=q9+WhN^s%gReg$?M6;2tYhe2+Oc7kd@&Z8~zI=xf93( zIAA3(N^lDRhA_V80G1F@4M9k3exn)1Ha;KKOn~40roiln&hMK44UUMt_8^+qSQ;fM zkW2r7Ba%BZNN|%VDZrtz{^!TNXdaVbIdq;u82E#wfQ_hfVhY+5BqxlYfanuYRoQ=* z|2J?XB_t;&iPt{5>i-iQ$pWsZDazyJDK$~#KZ7G1Geh<93Q7v_9h~%^z!42cxNu47 zRHHxcnRL{%0O9^SI>P7VsI4}x2yZHM~+s35M_OyYB z#@Nu*+zcRVfQX;LvPUuqz>$WY9?%~}?=jN(^wdyam6b!xqoRVcCW^rON>f9|UAeV+EPGr6ruXA;|)$Ay1X-fHoK%un-KiwT&%Iku;;GuBEG^ic+xD(2wS2 zNioh@=lf{z`5At9x;(_e%E1ZIbVvxcv$sRChvgJgLDP#+?wd_9a!f3*Dk}@|@{BH+ z>8hxvB8N)F$kwgbcdxs7U|ao>rz0b;Hl_Nwxx2YIJGr{My16+!+S@>aZR3atR{xTs z)%ONLHr;ah@Ugbx-}{mbv{g>FQ(?i3{9DH3)ySjW*~1?Fye-qm#m&Vh0IR!rx;wZA z1O)l#AHRI%4XmF(ZJW3L45Nq9vGVi?z0z7fIc0m_Sm*N(EFP!lZf0^|`Ij*U?dhV> zh=k~nuwY7XjlfcWSI4lzo3FpY*=CS^WXIxkKmV}c>WY=sA<;V@URmJo6!tv-bIDPv3_V`EfNDfI=9|k*=-{^D<_wZ0f<}u?6;kP($2VIBQ1u zG~Wn6H*Yul;8kDgMOiRCiH?kk^^cgh6;0y4OVu+n8&DG@f_yf;s~bNu~m2axy;xZRB4zu8M2)mv;hnpTWAFtgpAJs_knLGB*MUOIf&#_A&7Lf8I z8=-cXp$ntGyJZxC%ZH0ng2K{bae6JptsCuqCN2kXB6ZzC81~Y*v?nBgqzBr6{Eox> z1$S#66yQYa-gBa8QAR|FPiS(~^q9!x-M?5!y+zRo)n0f&B?jgmg@rLV6CgZu`sgE% z*W_d_>){U4QB!92e?bLz;7#?+C^++mg+)gPh9u3be+T|A3P22>=*X%TxbNW7-u<$p zymCg^%$40e43KX-Pt?wiUvL-TaImo;Iw8_8$S=yzBfx)p&hjHqAaR8#o;?(}@6-$6 zE1d3ik{JEs)VBId-AIk0-K?3J85#yyveozV5p@qj87@!W(IHw|m!ab3S>*XIFpP6?bxOjxxT}raIU1%&1v1mr)&qV?wo{*? z4G=~Y^?Eu6*cGO<$Y}q{M^l&~tH81r`Z6sQ6>W8SMLe5DWpvcg%o^6fEL;_31TQ&L zH6xr073(Q0X=sojQAJ=PiXu+|P>O>|y%Z+Y-({s?)P{ImS#fCvBSmEqWxSwJX2r`= za`L}nBGkYf1nA(^felAQO9D0mbi~gRDT}zMh=82{ZM-BV`m$0J5Frc5WGO%u5hoPA ziE!Ehmf}~CB>2ruRF(e5M_ifl6vVg@Qygfj|DYfa)JLQ($wm1F?|Bxn5BgJ5`jfbU zS2o_X1b^Y@q;#YurC|tPBUFaOMBy;~KhTl2y`GGwip)g5aOY3e2M6@8(otNn>l7np zsc|CcxuS#mXMuk&9W5_P_BAllQ9*99xbXi{I(pjHQkxUv=Vqa!B8fur{{TlqV?Szh zV|^TqR3YE_KMF^LzD`}0;cjK9I7wRiKSQHdq0{?cjEyzbgnL@6%Ye#A^z}rO50Am| zNEZg3lCT(w(>KVr6Tpoe2fJ_R?|~j`1diY;LP3_lbo+a7+U7^u=ozV~DoiAX-4bG= zFlv+(5}t^$Cg2pMLGejaa*EojD0PjKkOC_b5qy)SK(AbpT6Tjm#yV9HXsoLXjDjX7 zLP1EXG7P$9a^^?_5!_?lvC8t8>Gr zN5{lR`Z${CnHj4}kC)Uo!bgw~a{!nWQG1&#Fisf|Oi5N=-9S%uk`P5)V*IOyL+fhy zp!xN)_290$1%(+2pQRiq?l1Up%KL}wK(-+TPbnKmrKBMnR*krA?f z@6W&ToD`CIq(j8{{ONoPz7D?Iw`JA*>V@-4t7{f4-ggJ@tZz8L$B)|E8gDn;yuSBX z7Y=Rng-cK0b$)pQttM6-c>Lrwwlg%;yz|In?HX;!&_n|%=!HVy_`v~#lgFI1pGLX{QBxu%dz@Z zwQDzS+y~9^2$l2tU|vS~rjs|DTS;qmxZ}%{4`?Pl!md!|kRGFUeZF<`(WS$O&po|H zRO8fl$M-d!UQ}FvruD)X{Qn5A@6N%4O>cgYMj{bH@f)<<&W~tz(mucc`0e$b^S63_ zcVOoO{f}ENZ(qOb(2e`oKk=KC<6tk2Rw$a~tXnPjA3uN18j~Lz`O$j5>2W)YPCBsM zKJWt3B|vSBMkO+AI`8$(U0V*E`uOz+PHhwi3(MZmoy1#ufB+d1y+Jw=gYO&P-Mw;p zL+!G)SKhS31RDL~Q7WO%aqd6*!o;1y{MmXHJqpq;9=dxGOt=k|xwGc)yxu{y(O(98 zX&C8I_CWLdr_XW2q2-G$4_!WW_fB&=={~dAAFdz2LHvz>|Jq--ciW;upTuQHUw{47 z`TXJY@1$SJ89fRka5Og10j3Sm$G*OOM{KicgHIlRcyPFW-PWe>_-)_QGtCe0?kg^- zSbOVz`~71ZPLT6v4|fia-Nw?Rh#8g`8~n6+PveO_Rk?GPAG_RmikPI+?rvCEv-u`! zbA!bCoB8wEt0%3u$qBML?j1e(gk;L1=ZRtOJh`WAMrKG*P-w7U%)*A3Sef~kH`_Y$!Bj>=R zS*6SB50aqnyH{_%dDvJRZEtSxAK)-{r!L;pz!1q}A@l0C9liPF(WOmuBHXP28$j^} zPumbRWE&^%n5^vz^yC)=na^VL%4*Xj9*4rXS~wi>$ALVaLbfJjC! z2NQL;)9UMkv!i9>Xs)NNV`6RZnOTPo)CjEFxhy#=GGMBUgS{zy2$hts?V1y5ZfR+6 zp{ibuY@HVHYZQ_u`$Ep8Cn>^aetEZ z;gmQFxF?vHVk5@r@tWJ)O)&x=hnUtXO_bEs*Hlwe1UpGU&CJ}{#mm|T3G0A!s0Hw< z#ca{&k1s|(2?C;*r^XAZ z!l6%5L1MyWQ4zlP3ZZpPoCpvH>J!O>olI&B&=8Q?1WFdDSMbjtznKL0Z>WZatN*WI z{sXFn1=v_ngs|6Gf*3C$l%t3zA*puoyImr}WVfV(g#kz9p+;cqWFnNnlEf;G4}S2v z1~5Tw1mHtNk=Vxl@eNXyHc`+}QdSg}R0W$;QxSKmyriO+p^}M$nyj3r*rcjE7ArV3!^ObHB2Te9Q?@{9I0KqYW{SkkjRD2#BI3esz+Hq-f&Pm@`fY9{~R4< z!usy09|-GsSix*EdIE0um7L*Y3!!>Q5ff}1EGS-c!??24ps(= z5@HjiR9vj}6s1&Pd?h(S6XY;WTy`08F=BVFg3cT;9lyAU)4+*?KZkRZ5Qo}@7+nH5 z5;GnW8%F|wft~)Zai&my6S)n*Ceg?U!|6v=RS~2;gq{dXz*bvI0w{W%z$n;#VgjSE z?4byZ3W`8ba$;uFge?pbTObcu}StP$G$aq`oAiRv9juK;OJ!uk1eqarjL{GI) zlA17aoPgNs`MJfxUIr@KlU10{wrnUbjSq-&@&(nV`QpiQlylswnFL9I0D~9*-FZ(h zKcV6Y$l2NpDh+reeAd<}@-!vivFRsA@n! zWycA~je~Ey1f)LW1(Zk(AN*0_C5eWtyfkbKL?_DO<131%fPhG~V9OYrZ#O`Kk40E` z3P80qf%s^`8Kou;YGh(+Wp0KMrJ(JL)~?79Sr>n? zzW4;J2@_f=F}YqP;A#bB4MR0jF4NS~HZVjoG@06v*$jL%Vai0@SII<&#E%v#|oiP^5${hmI>*R*W1Owm(1=V4$Sp(+J)#S%-pB zDNYVfKxA~tsuW2HtU(9{e@5|7Lm!9s=Zu7jCn*w>$wFc{X-u{7{Ds8>4qa4~)LvBu zCSoTd!nlJ)l?9~mYq<7feI;yCK|oy42EGk{|5q*6f}c`Q(gw=_ZszNO(M|@pz>`k0?gU>BO)e4>KaulhsffCnPMX zXK!YtqVWH?d++$Ds;zze%uF)rnMv=xH&RG|6d;s9=mIvdSM=(&iyg2l78FDf6cuTT zfPhMu-g~ikuLY4B5|R)gzvtQI%uGPv`~LC!e7>L8dxuOWv(8>;pS{;w&uTk1t+b+| zb8jR}gPy0iGdg0_S^4aE?k7I<#|p4G(R&(A2Y-V;3`vZ2pg}H9QcS|LOenx1)OoNc zXg^raA{$%mUoLg8@0rR1m@4)lwg}L@KXRqv$cI}!Itsy|X!O-N8<+Hd>uHV-sBYa{ z)UjhpZb8S&4kcOHW%-3qAIE{-M@Mxj>e8`K$Ib(v+}qf=`}Q84J6Ck-QroW<1@Jfy z?6NB^AAZesmh0Btc>N7G-iP2|Zhn4YMhbjmSy=^@uQVNPUQpYuLqT*-VM*~t!)F|6 z*nQt+y}O_*TU8aRg9i>8H~8M{!j7QHuwCaybjw*7$7+ z@hS0fX+@nnmSD%C+ciGLEZYww@<)uFnrkM`A!o>U`asKh+&v{Mzde3@)$k(LS%Zprl<@ zS>><^f7Blh@P-Vw$v$k5-(gaQL*t<;+!Ff>Op@xG-}~vvpY=!Q|Eo`Veok>l&)kH{ znmfN~{Pj_^d_k43|8e?sZ~}#c4P2xw{{flmF#lo`(|g?g^rWSA$G@9kRESz;)&(f>b zH#GcpS2?qW&arsh>U{={i$vEQi_ce7dEkMi1W_q$x*3y^nK@cq#Fmuqd2i3xmy41H`zUZX`trzSY9_5IL^G!%hEgn8@@#^~elZWe` zE6a<`bV6G(xM#8dz@5&Hijc8R9F`m82#?P!EW6>^nUilSMwWkQsQ#*V3ydo2x!<55 z@pT8xGHmCl*!b-B#VJnU0fz(Mb;1Kl;DEffQ@k|#;9y#i#O4R{!tRGj#S9w(&}zUP zWY}UqL&b|j$$|pC0#61Y4u}ps0S;Jt_?iRufb0g2FP;+Z0#QA{6s&ryZ%~krmp9C0 zZzD+<4;JW4bOX0zTw6drfJz|xp0fp|ks^!=&huHjKh{Y-3N(;32wxrSjs$W1jEG9x zY_@aWzBX_h5a5mej=lgyRx~8{u{ylYK)s>=INm~CryH?+S@;_5U2Sa4Eh;N1EbZ2# zYsZ3uih_bshgP?oIeLFtVbAIzm0kOc`QmKDmK(bCsO{ia*)%Sg@0!xb`83yR>}E^7bG$-@orcP=k2jL9u2D;jX=yGI-M+%vdaWp}jY z>4l9taDa8dhZo_v%OU7|T661rJeW2mDK9B54douW@p+}U&w6PnOxNs!jGTCvNSuikx8-2}1GzhD1;S3USA&IN(<8?JIo+_r>7^cIcHY*&yS z9S8F)Ej=CTzHrdXU$-=FeD&JOitg=E5ZtBLMFVR3)b_c!eeHn0S50qLyZ&S>4hqCs zy%A_R$SUsd(NsFScI2e5|7zGdrhm`=)fMFx?F%~f?$ob+d6&xkp|6~1Qk#AUeXWdr z^Uy^oE2JF)K*wjbzx4H=PuH(~XWBirg&jK=7odKrw7RUrpcf9c)TuqcL!eKXnCL_y z>=Yc3g1T=Y=`g7)W)g@V3#hJbG6Dzun*njHaV`9r&{Ob|?XSCf9r#+&9 z|2N!qG?jShV_MhSM!&lF$kFdVysM_7OV{wkic6=RJiY764r0sKQMIv_on050JNHch z4xvFH8znSIlSoL4O)kB8QFHUJ8yCDcqHE!>b&Y3E+*a)C+Vd?wJipq;PW4#-U&DRN zr5)^yj7g2*Vab_UiT%gS*nAkptQ$A{(sF#=lO@r~YS-7(+VWz;BMfZx$-+kR_QUS{ z1$*B&JSHSMAplJ!3x~hDbQ554ebWo=Gs052L4k^Ju;MXgtzi=&Xph)E46H*=Ong*K zLTXn2@X^!8Ut5UgPRM=?uyExw%m52bCT;vhOOu87JQj#R0Gz_Q@Nyy2G!`6kx zfec4G=@5Zn`X+qj?CEuo_ZKcZ0S5&8*?rOaJPd|`;V^8L0Qe$sRR(oQ_VTMWByn+O$GIH3lF-)b8U2JYtVA zTEqoKUkJ>JaTdQaTyh-z*bQ%VM}W}-e1PGtV&-5GSq0WW2Q+Wn8GQS1rO2_n?j6y$ zBpq1=ML9VG?|6kB9_tT(c+16I2lcvT=C=fh`+k`*V&K63gRZ{g-?!X!^UWh}y6(!0 za6rVhw~c&q^33JEyOkGYqb+u6*Q)%ysvF(|{mI4e+|;YASIx!u%~`@w?b=PN7QFu4 z!#517={sP^<-;!-)Vq6iO}|U8{r6LEuijT&n3E70U0B?{vNSy^spRPy8&3T)fBfAQ zRRd}|S6%kdr<|Tu z7u_=QzIVQ9Z52|)8ftO=5tf)=QQf&T8>g;>MJ1%=7GxJx-!x@8i4Xt2=f^#tyz|b4 zyN04=LiH6Ro?FL&t{s+xHRu=A*+r%07Zv8lIsNT^!4WYyV?3q(!28F(Hfzam0OfUG zES~b@J$GLDz*U!ynS20r=T<2x@{=7WqlL$!V+E`HZ2lomAG?FcQKfYpce^K3vIyk+UnF6;h zlr4uR-ZDf8kFx?RATDV9$KnSs46p{kU1U@!T!~rvxz|1N{FIfy!aEPY_*c`$U3+mm zhyd92R=d$`^F`Q^2;*>2L=1Y_h9?%3m3FMU=&o1iucH67>5JD!T$G1o;{Z!DwgW<8 zxThwd5~TL9=<*kPAj}e;{TnLS#( z?T}k1QSIr7M&o7_{#ihG3V>Vi$c~F=MNqZb2OcZr`1)S>6e0 zR3*qU$VCnoGCA4(B@PA&Oz|+^Fk3kL!0d)s_^yss8RdmQdPSur1tlP8hhsZnhQYmw zZi`5cM}!ovW0VlUpXsop3%%80by|Y<2lgvZX7X@(5;>VHob)F+KK~jh|HmM@pT`6_}sjFPx!<{rJx`Q0uYyvLpib~45HO> zjOH0NITWvSS7X1xs)k(gIvtb{790(a^=XzhIN&7oa>|o;tiGpNnt^3&^T)EJBg|@T z<^cw9Ojw*PF!_T8-#8NzELfmwebC>s8Gd#AABL4RSR4aI9KnO2P(chgS*WE&u)-## zO?W5DKj?P=I|yO;SYs`xh3^si9zB%U{s_{+dXDW^tw=!!C_uae4kvsaOyLvZ;!8Jx z$h>(H5glUKMld3*mJFzUY-MaG{&r5l3H)P4hgBa-7-K6TBB;V&L-8xFp`?~odG8b`majUYxm{^Glv<~@Js^_LIob4l01l^rYN zD|rZHa!hI|vSKXhPh_OV$E4>VS+c1AtZ(L=J3jS+DL>)_vgV^7UVT-sp4GiB>WkCA zdR3N`ly}SQoE)E-oQVv^G&EF7icU&Rj6#t&in!shHU0bd?AEhO zr-~|O5}~0GvVU^m@3`Pj`%P?y`@7V%>x#^yj-5J}qXkhh2FuP$wWeB=kN(|8vp9bt zL>*Y2SB-j&PNf~nJAf=NJ2NdcMKn{j#2>%#R%_tV=sp>lMTy1vmi%9HkhG9VL4eaY zAUs$+gI50B(rq`J4QHJFmYEb%7@vwkn3;-ZugDIf6u^!a=TMxt*`TU?4%=g6(xOw? z8y1rm3;$kN7@h3F%x1>k_is9XyB%{RM>$#k6y`*yFWSjA=V>P25~E*W$DM-VNryJd z?yW&BOwz^1f}X~fJ59^j2WM*e*nqdKM`?9CkgW@JBQk>g#l9m@hku$LYJLk$!R)4q z4ES-*7fOfcv+2Eu$}#IPT+|yo9ZA?I%fdIY@!a zq#rxREP*p$?_%T~aTsJWeEs3#;{&kFrqnH7`~IZY7k;*A>89O3e6f7?oA127Xu^{ZUs;=%4mq8i7%4oa z;i%e5%8qnqb-U)ViJvWRJ+x-?o}W?8dtk@1sdwLS?RB@_e(S&fb=#e{T|Kl9dnTaD zATNyz4`CKSsIUlY#1;T@1OrnGDj;53mrR;JXW5!Hi)O$5(jEP)x_0T&qgPGOZj~Ky za^HnF;m*jo+=ASB|GK%~b=Tj1)5Sfy_oyfboxko#;_~L;oJh`8X9Bj)??pDunED z!W5FmakijRt8Mq7)$hw-c}8sY^?E#{{2EWQW) zahyYWQAtX2aA0IwaY=SE(I?%H7|4Nj2(Quwl-`lVtXM}xfIrSy%Sen0foqJ#bjRR( zr(*zz5DTs3q4|u%Xue_fc7&sBAT%o6pH3~=?z$P@!{Uba@v#M?W%jQT{s{a;#`Emv z0G#K>HkI6|*hTPf~pmRtl)8z0qe97wN_6;wC5xFx20ARzKdI23u zbM?^DVdc31TTn767?iRYvWm^mtv(pl>a_z-MZgC$>Cza!WuShT>rfCnX&NR{JJ6NZ?SVHx=F(oX8Ryg0A18(TP{BI96BRc&epo z;gE>z#25$i2ay;FJVYre9y5=blp&BEXb}nb1U;mVP%Hb22jo}ZGiTrCRjXg^osHIk z?B!2i7h~J9s)W7Z?Up@|(uiJTMbOEL{{vsSnQ?(h>3x=-ZT)%nj5p`(Jh<%kD?4NdCgCKKNEF7H0#_g#yD&JQ3o-YLTH?JW{X!(1pfAXK)$l z>zj~S(y6R4Jvk~$_-tvX)O#+=dbuox6@m7oKL+5a`v?U8khp?C31lf3aoc5y1J=a? zK%@a4RhIn(!dkHe9}nW1qZ9@OA%tsL{w9{CkhOH43a24LN6cfU+0tfFst&G)V6|W} z0x2Nqz{IzK1KO<0LvoQ|nUNhl93B>W!8M63f|*D*%I^7p@6lXxyzlY9~3L(+>o z!HUE>6uDVC9}Abvf(L+sVXSL3jKXb-+s1b>19&8Ouy$*S*cDj8xMnF_sNCWH7$X;D zbwT)nTEAI-|G2vcr^O|O8iq3=InrVTqiX;jYe0AuQdEo} z9Fgu16<{2L%gBk^yv*ub-`Koz^DZ87^VOl*PhL}7nV%RD4i_2xNI_mUJP~%Ig-6AQ zUNqr4!oUaU*X52&EUdZu_AyU9GvU3tv&UWBsa-}AvW<{a#6|9spnJtqMbbl1IHC<* z`dl{R{!x!VadZ2~u=r>c*V946|6M?UQWgGe^$8A*iA&BZC@$-m9~&G5In8WuOsK$+ zuBF;6mMWbwzuCMfGqI{dfTj_46PaLG*U)}=1VVnE6vB(54F89fd&CQZKpaqlXDz;I zF(SosI)%jyF-WJg-Kh8GBBjpiW>3f5Xf{qCERi+qqUI8pl zM3@E-f#$?n>|c(EUywNjU3(IX72=(M1E1x?(}s(~pU*XHw-&;T7;W!i&~#|(n2{Kl z=-|;d8wy75Jc%>NkN&ypiGlqF55HpYfPq5?J+TiJRVSKQ-d@*$-v{;UQ9Ga~jw3Cr zEb2IHRYOyJvcJsOM8Sdw1*Ex4N>rtfW)BzGEBfehLo=i*q<*gMHw3&2E47oIe^)o@{71fmhve zM5~%k)vw-ix@GIwt8TgUmYM-QY6tf2(YnIW(0%am;g{WTb+3vZ{rleeMdPdy!}|8GsltI@m1V^p zN-yp8U|s$3w=Rl-c(>87ZCrf)MO{1B zcI{Hry`sEpuLq~^{{3kEfolsK!sH^(4crhEXh(GlqPY?N&d9jr^o)#@oPzAE!m6Iv zOgQoFg9E!%RQDP@?BYSgZkc?r;Y4G@ydmx4!-T4$QndMh>4Pd8ha(^ed7fxMpO~DD zLsU9+DopEo)Bc7z!_kHAj<-Htx^(q6)OVlSv*^K$UWh8-=s^+lxB30(;~R+zQy;YD zOM=G_<<}Yc*?H|tFPnby%iB8lowOO%leUJs-=Ds+e?eY=(?1X<6hJgKo9_-(9s9uY zLPHQ9DUE~wvI=t2(=&52d)>OXe*Cbzf32(gcImvuOFkUYGdDglBq###+lC$}7W*z} zFJ{!hyu~5Y5eSharJ_PSxvf`XP3&tWCUZetNi^WA%pnPq!z!E zY&H&BIQSA1Q!FXJ#uXRe@y)^A$Lr=^Q<0aRlAaPnFoW2jpFhNpFD!ulwB(?HsW*`( zfcP!~#_aRHzv9lMA%KiSo`@YC9u?nz zZhhS!_f;iE1%}7_!~X|Um-hQPUyuYs)qPF@M4ivJ{tW5HMrGZ%ZS5oN5>n!QLlO{R z0dI)y!}^23hYJE@{XiPtABfgRTY37I_hkz z*FjjEh&CdzGbkzy5sgT+0}8_jw5E`4ii~Kx7rxF`IgqE;A0Xa@Q5N7665?$SL9KXb zux}8SB&9H<7Y*QWe4Vvej30tGi*F0szVkfFI${MHKEjT{^}=CFTCDIkdSgi)63h#? z3lx;Lb|9bSw+;*Yn+u4y$?FLBhy~6{C~m7IUNFcx7YAE%>S;q-y-raP@jDhHQ5Xr* z0H)Ca3)hkaeFJd{gM;%}DE=Mo^@1_R*i@1f9UUJ`oRodv?k04Z`~5$kj;ifdJNTkL zIQ*~QsNE;vzC?O3DkB>D3>`eAAI=2qR?!_PK_vx)*PU&QP73smf^iv}5ExbS>P{So zgNDpAmVJNv@X}G&+;iv0XnNe*SU3C5W2c)gxuP!;p}P0%)wQyFr?L*Y)lauJe;E>p z449a-$Uyk5lJbVl!C5kB!NmI*s#LyeM;ZT8rwLQ9Z?p)oz zU2);{>(2Z&3Jzw(rY+%Xn717i6kpn{yz^7P)}3l@#5K-AMjx3rc*Lj8O-mjgRC8I+ z8VE|nGs`imF?jixwLi+PK24-H_9a_ouNp9iitq#T~bVFctS>Ic}a(! zHJ!@)UiC@S$Cvl6>ReNa?ylt>Dy#2(@4(Tf<}a_zb-D}6V2C&@b7xF2dS&4R(9HO> z%Cbb;>LqeDi=YrblkHMDDwn%mx5vh0(Un@=ITZT>w8U9s7}Lua1)d_;$uH+I3uJBsSzx}P2z*fl*nAT&6{O;`p5`S}I; z`XHSPskvbhF)^vxnW@N;OYeU3-czq#a_3*?S`V)MWXaOm*K|w>jm9Awe*TbocCYQi z{m8@$J_)3uLSDkAP07qm$?r1#)PiS@oM~KoQ&m-$^3p6cRzNxeEK5OYvF+qeXXb*W z1+eBZCn+g$1zETJ-1z<3mXEG(k5bd5cr5WSB;*7A31RskCA@exENPj8i*)6<_>`zV z>u{Hccio%~u!KzX zZ9miAY2mxo@T0R%(2|7jQbA^UPg(Tm-ef@)}p-CwrahVQ)M3iUk|@e4Tyx|N9qVu zUs{lfL1Wenq7Yfrgklt%;`p}HNW+5AL{=RgU_^hAV*f8o&69K98vo>Dw?8r#Cx(8F zN~V+F&zZM+&z?2&=FESehf|(KyLfBsH%D4q7d(qTI)g60q;HSf@(#VOpR)}eSMR)` zb9Qc0N^Z?HH$46cTVtNx@&kyPTlOy9y5cb2oko%V@g;b3WYdO`Lk87WRrRPWE-UCV zVifxB;Uvypxv2^McBhY{xbOAP&D?#i)rl%>;-^F3%$xVl*4Je6Za6Fzl_+R%v^Xe-f{S3PKi@%4L`}A+Cw;lQe-#q;7TaVo~WY|D7iywN) z@T(rYbK>09yg>acZqjit(kIf(FS+98(eKV%Fn{ry%^N@4wsHES&&=StQODNIx$pWb zF23YS^fkZtmDfKSzkn$XpZ?2~j{5^FzCls>6}4C2{m5evj~Y9E;@lb2U%9;dty4hV zxMk73*FF5;1CNfp=dtl0eA58l8kavk)Fm7bAkP5cH8MWEB(J1X=WaDUYifoL>mHYO z>2tfFYrbCm*!^$3zhLpaIg8i*2>{%%>Y3|m-9+QB0ltm^|L_QB81r8uQ9YhpR^2H% zqw4ZmJ8_@Q>))C-{{W9}ZTji8_phj_&{FX`0vd}wG$eq=M+#iqDVZ?|IoX-*FMDbc z7Q>J0HXRp*jytD5&=p0vE^%n_NAb4ZVgw?nbSNSwDJ?T8v#=0-(YoF+X*HU+et#JA zbDR|Z@>q_~7c#U$qB=jIo;%P1W1*e572{St)7 zzF)Iu>AYF5J#}W@5NU)$h>I=vaENYi6z;eh(hv9gNZJBerKJ)==508Gn>Z5mG zesbis-Lpdc=q^Ft6l}+H%w9NRMNWDkeszRJCgxO)cx?@f8;@)m_3tbDbuBAOMU}XJ zL^!+%LJ$gHUNg?@hJXO5Y(SgF`1IVqqZV=t9R6~~Ew!1c*`X1^Uhq1HqGXy>c59Oz zb={CDNR#+H2(msrB9uv|PSo?qcevs)6tVvK!Pu+IoS_+^sF(@~cX}Hz+Jr1T>m3X< zWpi2`Ut(1w6E4^=!qEvkF1d8jm?f)UfAY%CIZiu}dJs;N3pyyeLE{pN4 zPqf1@!V<#}IEyIhfAvEnJEIXyLNEZm51h7e-=V#x5oI1YXe#NQ5P^cYeW z=!;~-aHb8>jRDgRmlh#qFXLN_4-j}@3Fzux)(P9a;9t{fzV1cWJL1my}e9!8~ z#fDF@#wjNhIuarjrm*6aq*$YoJt;6-bl+QS4!Chn({;wBXLbLTQxw9#iYX9@6HZI2 z!5Ja)062lxcHk2@d~n}X^JRu~@LS-M6k5F#^uKJR>V=%@7GvAYijHw*?Mg~frHED= z=>s31v-4h!buAoAm6kOv@D%`32<#eXBjDib~J!#iYVpnGLOR!TCu z)JG>}wHq*M>OGei#YQ*)ARUC?$dO^=e|YQQX2X4o1QOibKJQM6G40axbJ7yxlW+zU zKx=SRQdD?MkY6;Cfc!&3Q9$MhLK_AKupt0M&;eqL(X?;jlR^?j4l;GH8j)lqT4dqb z;-N4jo;fs(m^UFGmGgn=K?03DN$jjO6-_@+AsHYBp+`98|9PD?#3n^YA=5b=u_2sA z|If<|eO#lFS&WVra&`RuGCLK4%zo;LKp=TkMx3|E8o~m@qL6FMJ!=zx)hp~o7<`N3 zfiRxqzQP(|vjz(DlZ#p|usVoF1dq6&FcXMPr5cUACTu7d2DjUc`h-y z9r567VOU!#PZ@=95XqhRL>R#|D)2NcmQHvs?yKu)>-u>Ex}m2iPLQlbuI*=kL4h^> zvhZCr*sMkyt|Q4w$iEJQ{}7&Kl$us~(Z8R5 zV=az?-#hj0%X)RIN{a}MNQ{LA3=gQW&I&Yw?yO90KyowEpW$xvGuA!Wr)zw$Uua5M z`^cc=qF$HY{OC(ByfW^NL7h_LQW$KAjDka(y06I=85fEYFwpNnR~Ui}16Tx_^LRB9{{KiWFR+;@J2B< z>V2BdGzJL23kJrGO0dLbAgeJU4fz*1IuBVNINPmbX?{vhVJ5`24}_83`YX01R8_E_ zpECsDAUZrKBrZA(CDC!{m1Ie*&rgia%t}r#N=wa!nTHUuEd3#JLw98kW^uF#E6ftn z1V=ZrFk(^gXHBvspFwsMXxxf`Fu|Y^Q9qE-uiXR}BgzqCP`hP~vm~5Ll!E}XGKU^_ zhk!BtU;-&atRe;(+(Oe0DTr3&Xj-GZkeP>_&tMr{VTcC^SdBzSBvhg^0`oCjP~sE@ zyR-zKa~N@S|KTclc*u{0G(?px28~~klJW%VUewP?_*{Dp?b@r1EW0*IXETdPi)-LK3$FDkc3=# z+_c!dl&5Eri(>KL4kb>c9~KRuo{)lW5fPdBC?9Iyu_!aEv|Hz@4uyr~-Me)xtfjSs z6$t@=8dSotT}Lnv$5Am6nK5R#72ZmX>xXE6PH53Tz(y=f#o} zW>hgL8dJs4H1`d94`KTSg&`k2EGa%BAuSaL37~ypQF3frR%%vhZcZVV6lF5Yp>dWD zQT}P9s9+u}KJ~Z+9=q_&pw{{r8f8YKT~`9Tl`_{i)spJ!DM^6uL-UiRG)k0Yh2 z%EDzMo|-ai(p?v!>2ueb?%is7Uvk@+MZjtzb@&W?+ORM80eMhBq8`WT2#iS0N=vt= zbu7)xuc+zVwcmiQh4C?2od*x?)iE`pV#t*sKH(SOl4$^#Vsi=J~OWv^YY&c6-!)80{TyYg4r$qtyDP^848j8 z-z*oXeWKF85iF+zBXaU$FSK03a|=?=UoL?$@zEDrF0d#9lw>Kw!mwNUFHC*LX1PE* z;WZkb{1%ji2V$YL0OvZnV4zjJN877~s`-Azos+lkZ>T@^!KEd`CLC{W-h5A&c1R16 zNlJ`5(|Udf6>+eo^yFk>yrE-yOn5j_ zGN3kLSQ0vjuN^|4hXnNR>vZ=h)<)X&c7xcm{* zCf{BhO`j%?)DrpXs;eEpca9xhe+~@^kBZGIEzM1I1i?NFpfIDBN6;8b!-zM2W{4a` zHNH;tw+|0QGh4fzo1CZ&W5Sq9FwQ_7!yY=}@9i5B>hI@;*qROL0#@%Pa4)WtXq?5( zSOSjuhlQau#BM`76n`iOwi`zL8&JbyBpbg#U*iAXUI9)d`oX;bE65Md1)>9(5-I37 za)z-eHs@ub3)CM{p?qPPAZ~+1K=^`0^J18Ic6?~@@<$mAMmWPK;)734!vw;$Sl~h= zX8~Cn>=bG>Z|WSu4L{9*4np*ti3mP8nnF~&LB@FV>!0I?7sLauv(k`O880dq(|0gl5Wh$$y=(L7 zlbeR-;yUP$f&ehQ*0>y(9M{Ni=u4865FQhidCjC(Z_WwvLl`m~z=_FG#4e&5IL`P! zIu2RkXwDd(n46s(9Td!}b3huFFwvlpE9v)Oh^(l{AYVsBL`X=0JpkPf!&#Y3ap#3) z^gH`CAXXJ%$1;M=7=#2q)Jt=1Ag2NWx?f;I`1<((bsFd)?F<0!_4P+eAEzJxPXU(3 zqWcRQKY$J}U$1~5NCw=En8j2GP@I)V_aRm}>qVJ&A@eL?0rL-ZC*jXldoym3cCQz! zBE`zH1!67W!D016bEiUdK%Ltmmc>+|r<4WRqv$)yyQNaY??rfaB**WakZsB^D`J!u z1LxUUvSqm?YDvWh7E2zcV6^=KBHv54dO#?Rw+B%48Td?NZpg2C)Mq z9rAHQOQ0_5-We;m>|^P~nFF7)z^%Sz=BV=Q#JHFcRBu@UdRUk1=Y{glrr~$JJa5VJ z|G*jF@a?iUF3&w4nmvslz7Y6HhdL^o=VXa>sZaTlVYp zhc54#9TDW^gR=nx5f?!@EWd+2AJyry`z9`2`rf0L_biF=vl(7~4u|-LS~lnWF?O9J zrd{ndH{Wt?O<{U0yA>gi1{VUX;Or(CN5j$i(-w#%tK6~<`RUOim}A_SA9_UsGFq{A z8p6;OGcqs8CK1t|An0$Lvxs91*$gPdsI&O^!$5X2 zCCnytvz3*+#4wr0L5s+c1>~VwD%KYM1gCV7=pZ7}>)4^nhVQ~Vi|ip9taN`6OJf-z zZwspi9w_@6WN^WxJqz@d1Cawsg{5{1O-ganw}I>|iah+~49a$~49`Fe;|?I8An33d zl8rOLc+mKRx4$pS?DU6NMD?+Nljk7Yr-ya@+i0 z8}^N<=#-dKklL9JkTfcx3IfmzJkPt|E!gW8D!9~c$2!{~BlA-ku?6Kd+ z+ZkK-_}9metebFkRaO+!I3goizK>S)=~;!{FI!Nz`HJ$w=y13+1tpe~Z3omAt#w~p zU{F+#$HqT*ZFOom%yw~dC%ei=0ii|4q?dHMymx9+q!WJG2oPfh!REyL?*`1mR)Mw+ z$t)^J492rTcXp9Of`+85hr#JM;qeLRS>tc#ub6o(P%BaoVCX~s(t!I4_1;K@_G9P} zMJq(I5cv+~<0H5mEY8%Sw;X9~ykDppub)AUO$Co792&d@I`o$4R2l z^N{s09RRa%30PJ>hrog}2)+kIZEy-^pqD)a*A|2p<9G3VfHUn@n=jM^Q<-rAN>z*Z zA&8m40LU&l{Lnlv5ON-WV2G5riAy(gL193V)Q0=DHK4>^k`wA$yqobGZ7WG)Md~sp zL^kV38XPGa1qDY0diO?408Id68WV{I{;2GOn-O+{jl!9AqR9HRi|pnwq39{6y;!2o z?0uj$fLfa$(uZk@%Tz-_j9gS|9pX5D`E83OmSUep{0RBLwQI9f;x*d-Jfy5m*%#kZ z0>U94UHxV=&gRH3yJ7Y(4WB2meVdjr>JJkP8MU=H*K1|;}grXJ|whhV>lF=w5z#IJu^^UVxkVU|16*$J( z0woN`Z4ox1CKHh{WSPTo!hxwUe^K)7j0kn#aOgxx_ZUnBU$}?^P(X)WhTVcGum&DN z`86C4?1bkZ6c%I;kMfrL4g1_cwkrJrsGReMjcoDx9(xoqlpy{q!XCI62Yh%5$b>)> zW11m&KvfvT349QSPl95}R;xc9AI zjnb0AZbPR(2qM0$a9L2E!45b{ONT;&HWbFQ*ic)?|KZP|Ahuz-nxqoI++u5j^-XMq zov6H5R%;*)YF?dtPuOWFbnwIP7$4gZ!$Do^%yMCGBH#$iftE4KZupPzcw;xqD>t)r zNbFsjTu2MU)xi)atAQI<-5-oOd>?-kx#oBSQ7zbvP*S%EQ;GYbP!Wb-4lg03G4I=I zZD#~yYhNL@_Md|CH z?$C}Y*wn`%X5rMp@gTv8RrkNKiDumCt+c6*pIQ0TrG<&$CbVrFt#m%(?=-Mee!e_+Hl{WyR6 zD|cPqUTtQJ?F6O(UNFC~_(qRXKY60pxb7lFYZq(Ub%00_o9p_Hbp}>gs`~w18;x! zgH1bsU-!%{z4A-q&D{*IvDaTdf#C@S6+N$ceEfu`?ifC>x+pE)0h8xoaA;ImU~ocl z&r5H8=!wy{4eOH=5sP4sP@fj-c2p6;wu12(l8{wg)#sAo!v>;Be`;h1)QBIW^c6d7EKNQfF=lzfEN}w$#zL-Q7(cQ!BD)%pjMHA05s!gM-i0T z(9PZmb;Afm5S=o$6#CZcFP!1#n!D$<|JQD@Zc+(U% zet}ZQdPWq;*MYKoEJc{0II|iy2MkWMU_h@JZdx45jba5hL7?hKVgqHdlyH5ZmFLZ&0 z^b;tS-=rYG1#s`o&O+)ut^kyRJH@TGlb1!rmVg|6gJ4GI7>yW;*j4L&i{BXr9ddXr zuK>&;E#L0K@;zFRkP(x~DrRI7hVj%_9N*L;PC10fJz_Phh@o7ZK@lMV$jJ?hL6