From 03ede069c18e62dbf95bc38cd07e7d802cad41fc Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 5 Oct 2012 15:58:06 +0200 Subject: [PATCH 01/37] Avoid initializing progress bar if called from unit test framework p4#: 19042 --- cafUserInterface/cafProgressInfo.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cafUserInterface/cafProgressInfo.cpp b/cafUserInterface/cafProgressInfo.cpp index f5e966aa0b..19decafe5b 100644 --- a/cafUserInterface/cafProgressInfo.cpp +++ b/cafUserInterface/cafProgressInfo.cpp @@ -263,6 +263,8 @@ static bool isWrongThread() //-------------------------------------------------------------------------------------------------- void ProgressInfoStatic::start(int maxProgressValue, const QString& title) { + if (!qApp) return; + if (isWrongThread()) return; if (!maxProgressStack().size()) From 65acad250c6516c02442a66ee922281c17bd795a Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 8 Oct 2012 19:44:10 +0200 Subject: [PATCH 02/37] Reduced loading time of Eclipse Ascii files by storing filepos for keywords QFile is used directly due to a bug with QTextStream fixed in 4.8.0 p4#: 19079 --- .../RifEclipseInputFileTools.cpp | 191 ++++++++++++++---- .../FileInterface/RifEclipseInputFileTools.h | 20 +- .../ProjectDataModel/RimInputReservoir.cpp | 4 +- 3 files changed, 169 insertions(+), 46 deletions(-) diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp index 599cdd3d4c..e84451c5f2 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.cpp @@ -29,6 +29,7 @@ #include #include +#include #ifdef USE_ECL_LIB #include "ecl_grid.h" @@ -38,6 +39,8 @@ #include + + //-------------------------------------------------------------------------------------------------- /// Constructor //-------------------------------------------------------------------------------------------------- @@ -63,6 +66,20 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigReservoi { CVF_ASSERT(reservoir); + qint64 coordPos = -1; + qint64 zcornPos = -1; + qint64 specgridPos = -1; + qint64 actnumPos = -1; + qint64 mapaxesPos = -1; + + findGridKeywordPositions(fileName, &coordPos, &zcornPos, &specgridPos, &actnumPos, &mapaxesPos); + + if (coordPos < 0 || zcornPos < 0 || specgridPos < 0 || actnumPos < 0) + { + return false; + } + + FILE* gridFilePointer = util_fopen(fileName.toLatin1().data(), "r"); if (!gridFilePointer) return false; @@ -74,6 +91,8 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigReservoi //ecl_kw_type * ecl_kw_fscanf_alloc_grdecl_dynamic__( FILE * stream , const char * kw , bool strict , ecl_type_enum ecl_type); //ecl_grid_type * ecl_grid_alloc_GRDECL_kw( int nx, int ny , int nz , const ecl_kw_type * zcorn_kw , const ecl_kw_type * coord_kw , const ecl_kw_type * actnum_kw , const ecl_kw_type * mapaxes_kw ); + + ecl_kw_type* specGridKw = NULL; ecl_kw_type* zCornKw = NULL; ecl_kw_type* coordKw = NULL; @@ -82,19 +101,34 @@ bool RifEclipseInputFileTools::openGridFile(const QString& fileName, RigReservoi // Try to read all the needed keywords. Early exit if some are not found caf::ProgressInfo progress(7, "Read Grid from Eclipse Input file"); - bool allKwReadOk = true; - allKwReadOk = allKwReadOk && NULL != (specGridKw = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , "SPECGRID" , false , ECL_INT_TYPE)); + + + bool allKwReadOk = true; + bool continueReading = true; + + fseek(gridFilePointer, specgridPos, SEEK_SET); + allKwReadOk = allKwReadOk && NULL != (specGridKw = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_INT_TYPE)); progress.setProgress(1); - allKwReadOk = allKwReadOk && NULL != (zCornKw = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , "ZCORN" , false , ECL_FLOAT_TYPE)); + + fseek(gridFilePointer, zcornPos, SEEK_SET); + allKwReadOk = allKwReadOk && NULL != (zCornKw = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_FLOAT_TYPE)); progress.setProgress(2); - allKwReadOk = allKwReadOk && NULL != (coordKw = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , "COORD" , false , ECL_FLOAT_TYPE)); + + fseek(gridFilePointer, coordPos, SEEK_SET); + allKwReadOk = allKwReadOk && NULL != (coordKw = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_FLOAT_TYPE)); progress.setProgress(3); - allKwReadOk = allKwReadOk && NULL != (actNumKw = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , "ACTNUM" , false , ECL_INT_TYPE)); + + fseek(gridFilePointer, actnumPos, SEEK_SET); + allKwReadOk = allKwReadOk && NULL != (actNumKw = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_INT_TYPE)); progress.setProgress(4); // If MAPAXES is not defined, this pointer will be NULL, which is a valid condition - mapAxesKw = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , "MAPAXES" , false , ECL_FLOAT_TYPE); + if (mapaxesPos >= 0) + { + fseek(gridFilePointer, mapaxesPos, SEEK_SET); + mapAxesKw = ecl_kw_fscanf_alloc_current_grdecl__( gridFilePointer, false , ECL_FLOAT_TYPE); + } if (!allKwReadOk) { @@ -152,7 +186,7 @@ std::map RifEclipseInputFileTools::readProperties(const QStri caf::ProgressInfo mainProgress(2, "Reading Eclipse Input properties"); caf::ProgressInfo startProgress(knownKeywordSet.size(), "Scanning for known properties"); - std::vector fileKeywords = RifEclipseInputFileTools::findKeywordsOnFile(fileName); + std::vector fileKeywords = RifEclipseInputFileTools::findKeywordsOnFile(fileName); mainProgress.setProgress(1); caf::ProgressInfo progress(fileKeywords.size(), "Reading properties"); @@ -168,13 +202,14 @@ std::map RifEclipseInputFileTools::readProperties(const QStri std::map newResults; for (size_t i = 0; i < fileKeywords.size(); ++i) { - std::cout << fileKeywords[i].toLatin1().data() << std::endl; - if (knownKeywordSet.count(fileKeywords[i])) + std::cout << fileKeywords[i].keyword.toLatin1().data() << std::endl; + if (knownKeywordSet.count(fileKeywords[i].keyword)) { - ecl_kw_type* eclKeyWordData = ecl_kw_fscanf_alloc_grdecl_dynamic__( gridFilePointer , fileKeywords[i].toLatin1().data() , false , ECL_FLOAT_TYPE); + fseek(gridFilePointer, fileKeywords[i].filePos, SEEK_SET); + ecl_kw_type* eclKeyWordData = ecl_kw_fscanf_alloc_current_grdecl__(gridFilePointer, false , ECL_FLOAT_TYPE); if (eclKeyWordData) { - QString newResultName = reservoir->mainGrid()->results()->makeResultNameUnique(fileKeywords[i]); + QString newResultName = reservoir->mainGrid()->results()->makeResultNameUnique(fileKeywords[i].keyword); size_t resultIndex = reservoir->mainGrid()->results()->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, newResultName); // Should really merge with inputProperty object information because we need to use PropertyName, and not keyword @@ -184,7 +219,7 @@ std::map RifEclipseInputFileTools::readProperties(const QStri ecl_kw_get_data_as_double(eclKeyWordData, newPropertyData[0].data()); ecl_kw_free(eclKeyWordData); - newResults[newResultName] = fileKeywords[i]; + newResults[newResultName] = fileKeywords[i].keyword; } } progress.setProgress(i); @@ -196,45 +231,47 @@ std::map RifEclipseInputFileTools::readProperties(const QStri //-------------------------------------------------------------------------------------------------- /// Read all the keywords from a file +// +// This code was originally written using QTextStream, but due to a bug in Qt version up to 4.8.0 +// we had to implement the reading using QFile and QFile::readLine +// +// See: +// https://bugreports.qt-project.org/browse/QTBUG-9814 +// //-------------------------------------------------------------------------------------------------- -std::vector RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName) +std::vector< RifKeywordAndFilePos > RifEclipseInputFileTools::findKeywordsOnFile(const QString &fileName) { - std::vector keywords; + std::vector< RifKeywordAndFilePos > keywords; - std::ifstream is(fileName.toLatin1().data()); + char buf[1024]; - while (is) + QFile data(fileName); + data.open(QFile::ReadOnly); + + QString line; + qint64 filepos = -1; + qint64 lineLength = -1; + + do { - std::string word; - is >> word; - if (word.size() && isalpha(word[0])) + lineLength = data.readLine(buf, sizeof(buf)); + if (lineLength > 0) { - keywords.push_back(word.c_str()); + line = QString::fromAscii(buf); + if (line.size() && line[0].isLetter()) + { + RifKeywordAndFilePos keyPos; + + filepos = data.pos() - lineLength; + keyPos.filePos = filepos; + keyPos.keyword = line.left(8).trimmed(); + keywords.push_back(keyPos); + //qDebug() << keyPos.keyword << " - " << keyPos.filePos; + } } - - is.ignore(20000, '\n'); } + while (lineLength != -1); - is.close(); - - /* - FILE* gridFilePointer = util_fopen(fileName.toLatin1().data(), "r"); - - if (!gridFilePointer) return keywords; - - char * keyWordString = NULL; - - keyWordString = ecl_kw_grdecl_alloc_next_header(gridFilePointer); - - while(keyWordString) - { - keywords.push_back(keyWordString); - util_realloc(keyWordString, 0, "RifEclipseInputFileTools::findKeywordsOnFile"); - keyWordString = ecl_kw_grdecl_alloc_next_header(gridFilePointer); - } - - util_fclose(gridFilePointer); - */ return keywords; } @@ -434,3 +471,73 @@ void RifEclipseInputFileTools::writeDataToTextFile(QFile* file, const QString& e out << "\n" << "/" << "\n"; } + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RifEclipseInputFileTools::findGridKeywordPositions(const QString& filename, qint64* coordPos, qint64* zcornPos, qint64* specgridPos, qint64* actnumPos, qint64* mapaxesPos) +{ + CVF_ASSERT(coordPos && zcornPos && specgridPos && actnumPos && mapaxesPos); + + + std::vector< RifKeywordAndFilePos > keywordsAndFilePos = findKeywordsOnFile(filename); + size_t i; + for (i = 0; i < keywordsAndFilePos.size(); i++) + { + if (keywordsAndFilePos[i].keyword == "COORD") + { + *coordPos = keywordsAndFilePos[i].filePos; + } + else if (keywordsAndFilePos[i].keyword == "ZCORN") + { + *zcornPos = keywordsAndFilePos[i].filePos; + } + else if (keywordsAndFilePos[i].keyword == "SPECGRID") + { + *specgridPos = keywordsAndFilePos[i].filePos; + } + else if (keywordsAndFilePos[i].keyword == "ACTNUM") + { + *actnumPos = keywordsAndFilePos[i].filePos; + } + else if (keywordsAndFilePos[i].keyword == "MAPAXES") + { + *mapaxesPos = keywordsAndFilePos[i].filePos; + } + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +bool RifEclipseInputFileTools::readPropertyAtFilePosition(const QString& fileName, RigReservoir* reservoir, const QString& eclipseKeyWord, qint64 filePos, const QString& resultName) +{ + CVF_ASSERT(reservoir); + + FILE* filePointer = util_fopen(fileName.toLatin1().data(), "r"); + if (!filePointer) return false; + + fseek(filePointer, filePos, SEEK_SET); + ecl_kw_type* eclKeyWordData = ecl_kw_fscanf_alloc_current_grdecl__(filePointer, false , ECL_FLOAT_TYPE); + bool isOk = false; + if (eclKeyWordData) + { + QString newResultName = resultName; + size_t resultIndex = reservoir->mainGrid()->results()->findScalarResultIndex(newResultName); + if (resultIndex == cvf::UNDEFINED_SIZE_T) + { + resultIndex = reservoir->mainGrid()->results()->addEmptyScalarResult(RimDefines::INPUT_PROPERTY, newResultName); + } + + std::vector< std::vector >& newPropertyData = reservoir->mainGrid()->results()->cellScalarResults(resultIndex); + newPropertyData.resize(1); + newPropertyData[0].resize(ecl_kw_get_size(eclKeyWordData), HUGE_VAL); + ecl_kw_get_data_as_double(eclKeyWordData, newPropertyData[0].data()); + isOk = true; + ecl_kw_free(eclKeyWordData); + } + + util_fclose(filePointer); + return isOk; +} diff --git a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h index 4767358f7c..d0c264b28c 100644 --- a/ApplicationCode/FileInterface/RifEclipseInputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseInputFileTools.h @@ -23,10 +23,23 @@ #include "cvfLibCore.h" #include +#include + + class RigReservoir; -class QString; class QFile; + +//-------------------------------------------------------------------------------------------------- +/// Structure used to cache file position of keywords +//-------------------------------------------------------------------------------------------------- +struct RifKeywordAndFilePos +{ + QString keyword; + qint64 filePos; +}; + + //================================================================================================== // // Class for access to Eclipse "keyword" files using libecl @@ -43,7 +56,9 @@ public: // Returns map of assigned resultName and Eclipse Keyword. static std::map readProperties(const QString& fileName, RigReservoir* reservoir); static bool readProperty (const QString& fileName, RigReservoir* reservoir, const QString& eclipseKeyWord, const QString& resultName ); - static std::vector findKeywordsOnFile(const QString &fileName); + static bool readPropertyAtFilePosition (const QString& fileName, RigReservoir* reservoir, const QString& eclipseKeyWord, qint64 filePos, const QString& resultName ); + + static std::vector< RifKeywordAndFilePos > findKeywordsOnFile(const QString &fileName); static const std::vector& knownPropertyKeywords(); @@ -52,4 +67,5 @@ public: private: static void writeDataToTextFile(QFile* file, const QString& eclipseKeyWord, const std::vector& resultData); + static void findGridKeywordPositions(const QString& filename, qint64* coordPos, qint64* zcornPos, qint64* specgridPos, qint64* actnumPos, qint64* mapaxesPos); }; diff --git a/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp b/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp index 9d3e3ee924..5fa07d44bc 100644 --- a/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp +++ b/ApplicationCode/ProjectDataModel/RimInputReservoir.cpp @@ -220,8 +220,8 @@ void RimInputReservoir::loadAndSyncronizeInputProperties() if (isExistingFile) { - std::vector fileKeywords = RifEclipseInputFileTools::findKeywordsOnFile(filenames[i]); - for_all(fileKeywords, fkIt) fileKeywordSet.insert(fileKeywords[fkIt]); + std::vector< RifKeywordAndFilePos > fileKeywords = RifEclipseInputFileTools::findKeywordsOnFile(filenames[i]); + for_all(fileKeywords, fkIt) fileKeywordSet.insert(fileKeywords[fkIt].keyword); } // Find the input property objects referring to the file From a4ff9bd41c40130e1da0892b7a440df9c95fddac Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 9 Oct 2012 11:26:50 +0200 Subject: [PATCH 03/37] Added slider editor for double values p4#: 19089 --- cafUserInterface/CMakeLists.txt | 3 + .../cafPdmUiDoubleSliderEditor.cpp | 218 ++++++++++++++++++ cafUserInterface/cafPdmUiDoubleSliderEditor.h | 90 ++++++++ 3 files changed, 311 insertions(+) create mode 100644 cafUserInterface/cafPdmUiDoubleSliderEditor.cpp create mode 100644 cafUserInterface/cafPdmUiDoubleSliderEditor.h diff --git a/cafUserInterface/CMakeLists.txt b/cafUserInterface/CMakeLists.txt index 3b31a74508..b35796a516 100644 --- a/cafUserInterface/CMakeLists.txt +++ b/cafUserInterface/CMakeLists.txt @@ -19,6 +19,8 @@ set( QOBJECT_HEADERS cafPdmUiFilePathEditor.h cafPdmUiListEditor.h cafPdmUiSliderEditor.h + cafPdmUiDoubleSliderEditor.h + cafPdmUiColorEditor.h cafPdmUiPropertyView.h @@ -43,6 +45,7 @@ add_library( ${PROJECT_NAME} cafPdmUiFilePathEditor.cpp cafPdmUiListEditor.cpp cafPdmUiSliderEditor.cpp + cafPdmUiDoubleSliderEditor.cpp cafPdmUiColorEditor.cpp cafPdmUiPropertyView.cpp diff --git a/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp b/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp new file mode 100644 index 0000000000..500dc1e5cb --- /dev/null +++ b/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp @@ -0,0 +1,218 @@ +//################################################################################################## +// +// Custom Visualization Core library +// Copyright (C) 2011-2012 Ceetron AS +// +// This library 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 library 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 at <> +// for more details. +// +//################################################################################################## + +#include "cafPdmUiDoubleSliderEditor.h" + +#include "cafPdmUiDefaultObjectEditor.h" +#include "cafPdmObject.h" +#include "cafPdmUiFieldEditorHandle.h" +#include "cafPdmField.h" + +#include "cafFactory.h" + +#include +#include +#include +#include + +#include + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +class PdmDoubleValidator : public QDoubleValidator +{ +public: + PdmDoubleValidator(QObject * parent = 0) : QDoubleValidator(parent) + { + } + + PdmDoubleValidator(double bottom, double top, int decimals, QObject * parent) + : QDoubleValidator(bottom, top, decimals, parent) + { + } + + ~PdmDoubleValidator() + { + } + + //-------------------------------------------------------------------------------------------------- + /// + //-------------------------------------------------------------------------------------------------- + virtual void fixup(QString& stringValue) const + { + double doubleValue = stringValue.toDouble(); + doubleValue = qBound(bottom(), doubleValue, top()); + + stringValue = QString::number(doubleValue, 'g', decimals()); + } +}; + +namespace caf +{ + +CAF_PDM_UI_FIELD_EDITOR_SOURCE_INIT(PdmUiDoubleSliderEditor); + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDoubleSliderEditor::configureAndUpdateUi(const QString& uiConfigName) +{ + assert(!m_lineEdit.isNull()); + + QIcon ic = field()->uiIcon(uiConfigName); + if (!ic.isNull()) + { + m_label->setPixmap(ic.pixmap(ic.actualSize(QSize(64, 64)))); + } + else + { + m_label->setText(field()->uiName(uiConfigName)); + } + + m_label->setVisible(!field()->isUiHidden(uiConfigName)); + m_label->setEnabled(!field()->isUiReadOnly(uiConfigName)); + + m_lineEdit->setEnabled(!field()->isUiReadOnly(uiConfigName)); + m_slider->setEnabled(!field()->isUiReadOnly(uiConfigName)); + + field()->ownerObject()->editorAttribute(field(), uiConfigName, &m_attributes); + + PdmDoubleValidator* pdmValidator = new PdmDoubleValidator(m_attributes.m_minimum, m_attributes.m_maximum, m_attributes.m_decimals, this); + m_lineEdit->setValidator(pdmValidator); + + QString textValue = field()->uiValue().toString(); + pdmValidator->fixup(textValue); + + m_lineEdit->setText(textValue); + updateSliderPosition(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* PdmUiDoubleSliderEditor::createEditorWidget(QWidget * parent) +{ + QWidget* containerWidget = new QWidget(parent); + + QHBoxLayout* layout = new QHBoxLayout(); + layout->setMargin(0); + containerWidget->setLayout(layout); + + m_lineEdit = new QLineEdit(containerWidget); + m_lineEdit->setMaximumWidth(100); + connect(m_lineEdit, SIGNAL(editingFinished()), this, SLOT(slotEditingFinished())); + + m_slider = new QSlider(Qt::Horizontal, containerWidget); + layout->addWidget(m_lineEdit); + layout->addWidget(m_slider); + + connect(m_slider, SIGNAL(valueChanged(int)), this, SLOT(slotSliderValueChanged(int))); + + return containerWidget; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +QWidget* PdmUiDoubleSliderEditor::createLabelWidget(QWidget * parent) +{ + m_label = new QLabel(parent); + return m_label; +} + + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDoubleSliderEditor::slotEditingFinished() +{ + updateSliderPosition(); + + writeValueToField(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDoubleSliderEditor::slotSliderValueChanged(int value) +{ + double newDoubleValue = convertFromSliderValue(value); + m_lineEdit->setText(QString::number(newDoubleValue)); + + writeValueToField(); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDoubleSliderEditor::updateSliderPosition() +{ + QString textValue = m_lineEdit->text(); + + bool convertOk = false; + double newSliderValue = textValue.toDouble(&convertOk); + + int newSliderPosition = convertToSliderValue(newSliderValue); + if (m_slider->value() != newSliderPosition) + { + m_slider->blockSignals(true); + m_slider->setValue(newSliderPosition); + m_slider->blockSignals(false); + } +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void PdmUiDoubleSliderEditor::writeValueToField() +{ + QString textValue = m_lineEdit->text(); + QVariant v; + v = textValue; + this->setValueToField(v); +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +int PdmUiDoubleSliderEditor::convertToSliderValue(double value) +{ + double exactSliderValue = m_slider->maximum() * (value - m_attributes.m_minimum) / (m_attributes.m_maximum - m_attributes.m_minimum); + + int sliderValue = exactSliderValue; + sliderValue = qBound(m_slider->minimum(), sliderValue, m_slider->maximum()); + + return sliderValue; +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +double PdmUiDoubleSliderEditor::convertFromSliderValue(int sliderValue) +{ + double newDoubleValue = m_attributes.m_minimum + sliderValue * (m_attributes.m_maximum - m_attributes.m_minimum) / m_slider->maximum(); + newDoubleValue = qBound(m_attributes.m_minimum, newDoubleValue, m_attributes.m_maximum); + + return newDoubleValue; +} + + +} // end namespace caf diff --git a/cafUserInterface/cafPdmUiDoubleSliderEditor.h b/cafUserInterface/cafPdmUiDoubleSliderEditor.h new file mode 100644 index 0000000000..3e4d489e1a --- /dev/null +++ b/cafUserInterface/cafPdmUiDoubleSliderEditor.h @@ -0,0 +1,90 @@ +//################################################################################################## +// +// Custom Visualization Core library +// Copyright (C) 2011-2012 Ceetron AS +// +// This library 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 library 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 at <> +// for more details. +// +//################################################################################################## + +#pragma once +#include "cafPdmUiFieldEditorHandle.h" + +#include +#include +#include +#include +#include +#include +#include + + +namespace caf +{ + +//================================================================================================== +/// +//================================================================================================== + +class PdmUiDoubleSliderEditorAttribute : public PdmUiEditorAttribute +{ +public: + PdmUiDoubleSliderEditorAttribute() + { + m_minimum = 0; + m_maximum = 10; + m_decimals = 6; + } + +public: + double m_minimum; + double m_maximum; + int m_decimals; +}; + + +class PdmUiDoubleSliderEditor : public PdmUiFieldEditorHandle +{ + Q_OBJECT + CAF_PDM_UI_FIELD_EDITOR_HEADER_INIT; + +public: + PdmUiDoubleSliderEditor() {} + virtual ~PdmUiDoubleSliderEditor() {} + +protected: + virtual void configureAndUpdateUi(const QString& uiConfigName); + virtual QWidget* createEditorWidget(QWidget * parent); + virtual QWidget* createLabelWidget(QWidget * parent); + +protected slots: + void slotEditingFinished(); + void slotSliderValueChanged(int value); + +private: + void updateSliderPosition(); + void writeValueToField(); + + int convertToSliderValue(double value); + double convertFromSliderValue(int sliderValue); + +private: + QPointer m_lineEdit; + QPointer m_slider; + QPointer m_label; + + PdmUiDoubleSliderEditorAttribute m_attributes; +}; + + +} // end namespace caf From 5f9de8644e26a40d9f5ea5e8f7821885a9065e3f Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 9 Oct 2012 16:19:49 +0200 Subject: [PATCH 04/37] Use slider for property filter range p4#: 19096 --- .../RimCellPropertyFilter.cpp | 33 +++++++++++++++++++ .../ProjectDataModel/RimCellPropertyFilter.h | 4 ++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp index 3cc8822740..d4c887a866 100644 --- a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp +++ b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.cpp @@ -24,6 +24,7 @@ #include "RigGridBase.h" #include "RigReservoirCellResults.h" +#include "cafPdmUiDoubleSliderEditor.h" @@ -65,9 +66,15 @@ RimCellPropertyFilter::RimCellPropertyFilter() resultDefinition.setUiHidden(true); CAF_PDM_InitField(&lowerBound, "LowerBound", 0.0, "Min", "", "", ""); + lowerBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); + CAF_PDM_InitField(&upperBound, "UpperBound", 0.0, "Max", "", "", ""); + upperBound.setUiEditorTypeName(caf::PdmUiDoubleSliderEditor::uiEditorTypeName()); updateIconState(); + + m_minimumResultValue = cvf::UNDEFINED_DOUBLE; + m_maximumResultValue = cvf::UNDEFINED_DOUBLE; } //-------------------------------------------------------------------------------------------------- @@ -148,6 +155,9 @@ void RimCellPropertyFilter::setDefaultValues() upperBound = max; upperBound.setUiName(QString("Max (%1)").arg(max)); + + m_maximumResultValue = max; + m_minimumResultValue = min; } //-------------------------------------------------------------------------------------------------- @@ -173,3 +183,26 @@ void RimCellPropertyFilter::defineUiOrdering(QString uiConfigName, caf::PdmUiOrd uiOrdering.add(&filterMode); } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RimCellPropertyFilter::defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute) +{ + if (m_minimumResultValue == cvf::UNDEFINED_DOUBLE || m_maximumResultValue == cvf::UNDEFINED_DOUBLE) + { + return; + } + + if (field == &lowerBound || field == &upperBound) + { + caf::PdmUiDoubleSliderEditorAttribute* myAttr = dynamic_cast(attribute); + if (!myAttr) + { + return; + } + + myAttr->m_minimum = m_minimumResultValue; + myAttr->m_maximum = m_maximumResultValue; + } +} + diff --git a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.h b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.h index b0de0712ff..228826cb6b 100644 --- a/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.h +++ b/ApplicationCode/ProjectDataModel/RimCellPropertyFilter.h @@ -72,10 +72,12 @@ public: virtual QList calculateValueOptions( const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly ); protected: - virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const; + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const; + virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); private: RimCellPropertyFilterCollection* m_parentContainer; + double m_minimumResultValue, m_maximumResultValue; }; From 0df00dc2faa3c5c170e971a82e1e4d89881802ee Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Thu, 11 Oct 2012 07:10:53 +0200 Subject: [PATCH 05/37] Removed stop button from animation toolbar p4#: 19121 --- cafAnimControl/cafAnimationToolBar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cafAnimControl/cafAnimationToolBar.cpp b/cafAnimControl/cafAnimationToolBar.cpp index 8133354dfa..299995d501 100644 --- a/cafAnimControl/cafAnimationToolBar.cpp +++ b/cafAnimControl/cafAnimationToolBar.cpp @@ -99,7 +99,7 @@ void AnimationToolBar::init() addAction(m_animSkipToStartAction); addAction(m_animStepBackwardAction); addAction(m_animPlayBwdAction ); - addAction(m_animStopAction); + //addAction(m_animStopAction); addAction(m_animPauseAction); addAction(m_animPlayAction); addAction(m_animStepForwardAction); From fc5dda4957ae2214002e4dd216f112b856432eef Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 12 Oct 2012 10:14:45 +0200 Subject: [PATCH 06/37] Use static_cast p4#: 19154 --- cafUserInterface/cafPdmUiDoubleSliderEditor.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp b/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp index 500dc1e5cb..15b632237b 100644 --- a/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp +++ b/cafUserInterface/cafPdmUiDoubleSliderEditor.cpp @@ -197,7 +197,7 @@ int PdmUiDoubleSliderEditor::convertToSliderValue(double value) { double exactSliderValue = m_slider->maximum() * (value - m_attributes.m_minimum) / (m_attributes.m_maximum - m_attributes.m_minimum); - int sliderValue = exactSliderValue; + int sliderValue = static_cast(exactSliderValue); sliderValue = qBound(m_slider->minimum(), sliderValue, m_slider->maximum()); return sliderValue; From b4ae324d9b8f6e91a93ac84b14c7b8118e5a509f Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 12 Oct 2012 12:08:38 +0200 Subject: [PATCH 07/37] Added script folder to Octave function search path. This makes it possible to recursively call other functions from an Octave script. p4#: 19164 --- .../ProjectDataModel/RimUiTreeView.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp b/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp index 0bc659a768..1917b12e67 100644 --- a/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp +++ b/ApplicationCode/ProjectDataModel/RimUiTreeView.cpp @@ -452,7 +452,26 @@ void RimUiTreeView::slotExecuteScript() QString octavePath = app->octavePath(); if (!octavePath.isEmpty()) { + // http://www.gnu.org/software/octave/doc/interpreter/Command-Line-Options.html#Command-Line-Options + + // -p path + // Add path to the head of the search path for function files. The value of path specified on the command line + // will override any value of OCTAVE_PATH found in the environment, but not any commands in the system or + // user startup files that set the internal load path through one of the path functions. + + // -q + // Don't print the usual greeting and version message at startup. + + + // TODO: Must rename RimCalcScript::absolutePath to absoluteFileName, as the code below is confusing + // absolutePath() is a function in QFileInfo + QFileInfo fi(calcScript->absolutePath()); + QString octaveFunctionSearchPath = fi.absolutePath(); + QStringList arguments; + arguments.append("--path"); + arguments << octaveFunctionSearchPath; + arguments.append("-q"); arguments << calcScript->absolutePath(); From e8da3510ec2874a189fa488e5f6fdc94eb34fefa Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 12 Oct 2012 14:27:43 +0200 Subject: [PATCH 08/37] Compute SOIL if one or none of SGAS or SWAT is present p4#: 19173 --- .../RigReservoirCellResults.cpp | 70 ++++++++++++++----- 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp index 6aa4f5c3d5..c82a69e5b4 100644 --- a/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp +++ b/ApplicationCode/ReservoirDataModel/RigReservoirCellResults.cpp @@ -335,35 +335,67 @@ size_t RigReservoirCellResults::findScalarResultIndex(const QString& resultName) //-------------------------------------------------------------------------------------------------- void RigReservoirCellResults::loadOrComputeSOIL() { - size_t resultGridIndex = findOrLoadScalarResult(RimDefines::DYNAMIC_NATIVE, "SOIL"); + size_t soilResultGridIndex = findOrLoadScalarResult(RimDefines::DYNAMIC_NATIVE, "SOIL"); - if (resultGridIndex == cvf::UNDEFINED_SIZE_T) + if (soilResultGridIndex == cvf::UNDEFINED_SIZE_T) { + const std::vector< std::vector >* swat = NULL; + const std::vector< std::vector >* sgas = NULL; + size_t scalarIndexSWAT = findOrLoadScalarResult(RimDefines::DYNAMIC_NATIVE, "SWAT"); - size_t scalarIndexSGAS = findOrLoadScalarResult(RimDefines::DYNAMIC_NATIVE, "SGAS"); - - if (scalarIndexSGAS != cvf::UNDEFINED_SIZE_T && scalarIndexSWAT != cvf::UNDEFINED_SIZE_T) + if (scalarIndexSWAT != cvf::UNDEFINED_SIZE_T) { - size_t timeStepCount = m_resultInfos[scalarIndexSWAT].m_timeStepDates.size(); - resultGridIndex = addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, "SOIL"); - m_cellScalarResults[resultGridIndex].resize(timeStepCount); + swat = &(cellScalarResults(scalarIndexSWAT)); + } - const std::vector< std::vector >& sgas = cellScalarResults(scalarIndexSGAS); - const std::vector< std::vector >& swat = cellScalarResults(scalarIndexSWAT); - std::vector< std::vector >& soil = cellScalarResults(resultGridIndex); + size_t scalarIndexSGAS = findOrLoadScalarResult(RimDefines::DYNAMIC_NATIVE, "SGAS"); + if (scalarIndexSGAS != cvf::UNDEFINED_SIZE_T) + { + sgas = &(cellScalarResults(scalarIndexSGAS)); + } - size_t resultValueCount = sgas[0].size(); + size_t soilResultValueCount = 0; + size_t soilTimeStepCount = 0; + if (swat) + { + soilResultValueCount = swat->at(0).size(); + soilTimeStepCount = m_resultInfos[scalarIndexSWAT].m_timeStepDates.size(); + } - int timeStepIdx = 0; - for (timeStepIdx = 0; timeStepIdx < static_cast(timeStepCount); timeStepIdx++) - { - soil[timeStepIdx].resize(resultValueCount); - int idx = 0; + if (sgas) + { + soilResultValueCount = qMax(soilResultValueCount, sgas->at(0).size()); + + size_t sgasTimeStepCount = m_resultInfos[scalarIndexSGAS].m_timeStepDates.size(); + soilTimeStepCount = qMax(soilTimeStepCount, sgasTimeStepCount); + } + + soilResultGridIndex = addEmptyScalarResult(RimDefines::DYNAMIC_NATIVE, "SOIL"); + m_cellScalarResults[soilResultGridIndex].resize(soilTimeStepCount); + + std::vector< std::vector >& soil = cellScalarResults(soilResultGridIndex); + + int timeStepIdx = 0; + for (timeStepIdx = 0; timeStepIdx < static_cast(soilTimeStepCount); timeStepIdx++) + { + soil[timeStepIdx].resize(soilResultValueCount); + + int idx = 0; #pragma omp parallel for - for (idx = 0; idx < static_cast(resultValueCount); idx++) + for (idx = 0; idx < static_cast(soilResultValueCount); idx++) + { + double soilValue = 1.0; + if (sgas) { - soil[timeStepIdx][idx] = 1.0 - sgas[timeStepIdx][idx] - swat[timeStepIdx][idx]; + soilValue -= sgas->at(timeStepIdx)[idx]; } + + if (swat) + { + soilValue -= swat->at(timeStepIdx)[idx]; + } + + soil[timeStepIdx][idx] = soilValue; } } } From 346db45afc6cd73055c2e649f42a1da578b52adc Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Fri, 12 Oct 2012 15:05:42 +0200 Subject: [PATCH 09/37] Added default Z scale factor and default gridlines on/off when creating a new view p4#: 19177 --- ApplicationCode/Application/RIPreferences.cpp | 24 +++++++++++++++++++ ApplicationCode/Application/RIPreferences.h | 5 ++++ .../ProjectDataModel/RimReservoirView.cpp | 14 +++++++++-- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/ApplicationCode/Application/RIPreferences.cpp b/ApplicationCode/Application/RIPreferences.cpp index f78417c979..af1e330a5e 100644 --- a/ApplicationCode/Application/RIPreferences.cpp +++ b/ApplicationCode/Application/RIPreferences.cpp @@ -37,6 +37,9 @@ RIPreferences::RIPreferences(void) CAF_PDM_InitField(&octaveExecutable, "octaveExecutable", QString("octave"), "Octave", "", "", ""); octaveExecutable.setUiEditorTypeName(caf::PdmUiFilePathEditor::uiEditorTypeName()); + CAF_PDM_InitField(&defaultGridLines, "defaultGridLines", true, "Gridlines", "", "", ""); + CAF_PDM_InitField(&defaultScaleFactorZ, "defaultScaleFactorZ", 5, "Z scale factor", "", "", ""); + CAF_PDM_InitField(&useShaders, "useShaders", true, "Use Shaders", "", "", ""); CAF_PDM_InitField(&showHud, "showHud", true, "Show 3D Information", "", "", ""); @@ -69,3 +72,24 @@ void RIPreferences::defineEditorAttribute(const caf::PdmFieldHandle* field, QStr } } +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RIPreferences::defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const +{ + uiOrdering.add(&navigationPolicy); + + caf::PdmUiGroup* scriptGroup = uiOrdering.addNewGroup("Script configuration"); + scriptGroup->add(&scriptDirectory); + scriptGroup->add(&scriptEditorExecutable); + scriptGroup->add(&octaveExecutable); + + caf::PdmUiGroup* defaultSettingsGroup = uiOrdering.addNewGroup("Default settings"); + defaultSettingsGroup->add(&defaultScaleFactorZ); + defaultSettingsGroup->add(&defaultGridLines); + + + + +} + diff --git a/ApplicationCode/Application/RIPreferences.h b/ApplicationCode/Application/RIPreferences.h index 16183a8e0d..7197c2e733 100644 --- a/ApplicationCode/Application/RIPreferences.h +++ b/ApplicationCode/Application/RIPreferences.h @@ -36,6 +36,9 @@ public: // Pdm Fields caf::PdmField scriptEditorExecutable; caf::PdmField octaveExecutable; + caf::PdmField defaultScaleFactorZ; + caf::PdmField defaultGridLines; + caf::PdmField useShaders; caf::PdmField showHud; @@ -46,4 +49,6 @@ public: // Pdm Fields protected: virtual void defineEditorAttribute(const caf::PdmFieldHandle* field, QString uiConfigName, caf::PdmUiEditorAttribute* attribute); + + virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering) const; }; diff --git a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp index f774bc0829..fb8170793f 100644 --- a/ApplicationCode/ProjectDataModel/RimReservoirView.cpp +++ b/ApplicationCode/ProjectDataModel/RimReservoirView.cpp @@ -80,6 +80,10 @@ CAF_PDM_SOURCE_INIT(RimReservoirView, "ReservoirView"); //-------------------------------------------------------------------------------------------------- RimReservoirView::RimReservoirView() { + RIApplication* app = RIApplication::instance(); + RIPreferences* preferences = app->preferences(); + CVF_ASSERT(preferences); + CAF_PDM_InitObject("Reservoir View", ":/ReservoirView.png", "", ""); CAF_PDM_InitFieldNoDefault(&cellResult, "GridCellResult", "Cell Result", ":/CellResult.png", "", ""); @@ -93,7 +97,11 @@ RimReservoirView::RimReservoirView() overlayInfoConfig->setReservoirView(this); CAF_PDM_InitField(&name, "UserDescription", QString(""), "Name", "", "", ""); - CAF_PDM_InitField(&scaleZ, "GridZScale", 1.0, "Z Scale", "", "Scales the scene in the Z direction", ""); + + double defaultScaleFactor = 1.0; + if (preferences) defaultScaleFactor = preferences->defaultScaleFactorZ; + CAF_PDM_InitField(&scaleZ, "GridZScale", defaultScaleFactor, "Z Scale", "", "Scales the scene in the Z direction", ""); + CAF_PDM_InitField(&showWindow, "ShowWindow", true, "Show 3D viewer", "", "", ""); showWindow.setUiHidden(true); @@ -114,7 +122,9 @@ RimReservoirView::RimReservoirView() propertyFilterCollection = new RimCellPropertyFilterCollection(); propertyFilterCollection->setReservoirView(this); - CAF_PDM_InitFieldNoDefault(&meshMode, "MeshMode", "Grid lines", "", "", ""); + caf::AppEnum defaultMeshType = NO_MESH; + if (preferences->defaultGridLines) defaultMeshType = FULL_MESH; + CAF_PDM_InitField(&meshMode, "MeshMode", defaultMeshType, "Grid lines", "", "", ""); CAF_PDM_InitFieldNoDefault(&surfaceMode, "SurfaceMode", "Grid surface", "", "", ""); CAF_PDM_InitField(&maximumFrameRate, "MaximumFrameRate", 10, "Maximum frame rate","", "", ""); From 7fb59205c88c8e6b1d46172961616cddd5aa9508 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 15 Oct 2012 15:13:41 +0200 Subject: [PATCH 10/37] Introduced Octave socket reading state to fix communication issues between Octave and ResInsight p4#: 19181 --- .../SocketInterface/RiaSocketServer.cpp | 143 ++++++++++++++---- .../SocketInterface/RiaSocketServer.h | 16 +- 2 files changed, 126 insertions(+), 33 deletions(-) diff --git a/ApplicationCode/SocketInterface/RiaSocketServer.cpp b/ApplicationCode/SocketInterface/RiaSocketServer.cpp index 6c95df0b28..263a989475 100644 --- a/ApplicationCode/SocketInterface/RiaSocketServer.cpp +++ b/ApplicationCode/SocketInterface/RiaSocketServer.cpp @@ -46,7 +46,8 @@ RiaSocketServer::RiaSocketServer(QObject* parent) m_currentTimeStepToRead(0), m_currentReservoir(NULL), m_currentScalarIndex(cvf::UNDEFINED_SIZE_T), - m_invalidActiveCellCountDetected(false) + m_invalidActiveCellCountDetected(false), + m_readState(ReadingCommand) { m_errorMessageDialog = new QErrorMessage(RIMainWindow::instance()); @@ -67,7 +68,7 @@ RiaSocketServer::RiaSocketServer(QObject* parent) return; } - connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(onNewClientConnection())); + connect(m_tcpServer, SIGNAL(newConnection()), this, SLOT(slotNewClientConnection())); } //-------------------------------------------------------------------------------------------------- @@ -90,16 +91,36 @@ unsigned short RiaSocketServer::serverPort() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaSocketServer::onNewClientConnection() +void RiaSocketServer::slotNewClientConnection() { // If we are currently handling a connection, just ignore the new one until the queue is empty. - if (m_currentClient != NULL) return; + if (m_currentClient != NULL) + { + qDebug() << "onNewClientConnection(), m_currentClient != NULL"; + + if (m_currentClient->state() == QAbstractSocket::ConnectedState) + { + return; + } + else + { + qDebug() << "onNewClientConnection(), m_currentClient != NULL, state : " << m_currentClient->state() << "errorString " << m_currentClient->errorString(); + + + if (m_readState == ReadingPropertyData) + { + readPropertyDataFromOctave(); + } + + terminateCurrentConnection(); + } + } + // Get the first pending connection, and set it as the current Client to handle QTcpSocket *newClient = m_tcpServer->nextPendingConnection(); - this->handleClientConnection(newClient); } @@ -108,6 +129,8 @@ void RiaSocketServer::onNewClientConnection() //-------------------------------------------------------------------------------------------------- void RiaSocketServer::handleClientConnection(QTcpSocket* clientToHandle) { + qDebug() << "handleClientConnection()"; + CVF_ASSERT(clientToHandle != NULL); CVF_ASSERT(m_currentClient == NULL); m_currentClient = clientToHandle; @@ -125,12 +148,15 @@ void RiaSocketServer::handleClientConnection(QTcpSocket* clientToHandle) connect(m_currentClient, SIGNAL(disconnected()), this, SLOT(slotCurrentClientDisconnected())); + m_readState = ReadingCommand; + if (m_currentClient->bytesAvailable()) { - this->slotReadCommand(); + qDebug() << "Initial call to slotReadCommand()"; + this->readCommandFromOctave(); } - connect(m_currentClient, SIGNAL(readyRead()), this, SLOT(slotReadCommand())); + connect(m_currentClient, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); } //-------------------------------------------------------------------------------------------------- @@ -178,8 +204,10 @@ RimReservoir* RiaSocketServer::findReservoir(const QString& caseName) //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RiaSocketServer::slotReadCommand() +void RiaSocketServer::readCommandFromOctave() { + qDebug() << "slotReadCommand() "; + QDataStream socketStream(m_currentClient); socketStream.setVersion(QDataStream::Qt_4_0); @@ -210,19 +238,23 @@ void RiaSocketServer::slotReadCommand() CVF_ASSERT(args.size() > 0); - // qDebug() << args; bool isGetProperty = args[0] == "GetProperty"; // GetProperty [casename/index] PropertyName bool isSetProperty = args[0] == "SetProperty"; // SetProperty [casename/index] PropertyName bool isGetCellInfo = args[0] == "GetActiveCellInfo"; // GetActiveCellInfo [casename/index] bool isGetGridDim = args[0] == "GetMainGridDimensions"; // GetMainGridDimensions [casename/index] + if (!(isGetProperty || isSetProperty || isGetCellInfo || isGetGridDim)) { + qDebug() << tr("ResInsight SocketServer: \n") + tr("Unknown command: %1").arg(args[0].data()); m_errorMessageDialog->showMessage(tr("ResInsight SocketServer: \n") + tr("Unknown command: %1").arg(args[0].data())); + terminateCurrentConnection(); return; } + qDebug() << args; + QString caseName; QString propertyName; RimReservoir* reservoir = NULL; @@ -326,8 +358,11 @@ void RiaSocketServer::slotReadCommand() } else // Set property { + qDebug() << "Starting set property handling"; + + m_readState = ReadingPropertyData; + // Disconnect the socket from calling this slot again. - m_currentClient->disconnect(SIGNAL(readyRead())); m_currentReservoir = reservoir; if ( scalarResultFrames != NULL) @@ -335,10 +370,9 @@ void RiaSocketServer::slotReadCommand() m_scalarResultsToAdd = scalarResultFrames; if (m_currentClient->bytesAvailable()) { - this->slotReadPropertyData(); + qDebug() << "Initial call to slotReadPropertyData()"; + this->readPropertyDataFromOctave(); } - - connect(m_currentClient, SIGNAL(readyRead()), this, SLOT(slotReadPropertyData())); } } } @@ -402,8 +436,10 @@ void RiaSocketServer::slotReadCommand() //-------------------------------------------------------------------------------------------------- /// This method reads data from octave and puts it into the resInsight Structures //-------------------------------------------------------------------------------------------------- -void RiaSocketServer::slotReadPropertyData() +void RiaSocketServer::readPropertyDataFromOctave() { + qDebug() << "slotReadPropertyData() "; + QDataStream socketStream(m_currentClient); socketStream.setVersion(QDataStream::Qt_4_0); @@ -480,6 +516,8 @@ void RiaSocketServer::slotReadPropertyData() // If we have read all the data, refresh the views if (m_currentTimeStepToRead == m_timeStepCountToRead) { + qDebug() << "slotReadPropertyData() - all data read from socket"; + if (m_currentReservoir != NULL) { // Create a new input property if we have an input reservoir @@ -525,29 +563,20 @@ void RiaSocketServer::slotReadPropertyData() //-------------------------------------------------------------------------------------------------- void RiaSocketServer::slotCurrentClientDisconnected() { + + qDebug() << "slotCurrentClientDisconnected()"; + if (m_timeStepCountToRead > 0 && m_currentTimeStepToRead < m_timeStepCountToRead && m_currentClient->bytesAvailable() && !m_invalidActiveCellCountDetected) { - this->slotReadPropertyData(); + qDebug() << "slotCurrentClientDisconnected(), but not completed yet)"; + + this->readPropertyDataFromOctave(); } - m_currentClient->deleteLater(); - m_currentClient = NULL; - - // Clean up more state: - - m_currentCommandSize = 0; - m_scalarResultsToAdd = NULL; - - m_timeStepCountToRead = 0; - m_bytesPerTimeStepToRead = 0; - m_currentTimeStepToRead = 0; - m_currentReservoir = NULL; - m_currentScalarIndex = cvf::UNDEFINED_SIZE_T; - m_currentPropertyName = ""; - m_invalidActiveCellCountDetected = false; + terminateCurrentConnection(); QTcpSocket *newClient = m_tcpServer->nextPendingConnection(); @@ -556,3 +585,57 @@ void RiaSocketServer::slotCurrentClientDisconnected() this->handleClientConnection(newClient); } } + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaSocketServer::terminateCurrentConnection() +{ + if (m_currentClient) + { + m_currentClient->disconnect(SIGNAL(disconnected())); + m_currentClient->disconnect(SIGNAL(readyRead())); + m_currentClient->deleteLater(); + m_currentClient = NULL; + } + + // Clean up more state: + + m_currentCommandSize = 0; + m_timeStepCountToRead = 0; + m_bytesPerTimeStepToRead = 0; + m_currentTimeStepToRead = 0; + m_scalarResultsToAdd = NULL; + m_currentReservoir = NULL; + m_currentScalarIndex = cvf::UNDEFINED_SIZE_T; + m_currentPropertyName = ""; + m_invalidActiveCellCountDetected = false; + + m_readState = ReadingCommand; + +} + +//-------------------------------------------------------------------------------------------------- +/// +//-------------------------------------------------------------------------------------------------- +void RiaSocketServer::slotReadyRead() +{ + switch (m_readState) + { + case ReadingCommand : + { + readCommandFromOctave(); + break; + } + + case ReadingPropertyData : + { + readPropertyDataFromOctave(); + break; + } + + default: + CVF_ASSERT(false); + break; + } +} diff --git a/ApplicationCode/SocketInterface/RiaSocketServer.h b/ApplicationCode/SocketInterface/RiaSocketServer.h index 86519b94c9..5860d98a48 100644 --- a/ApplicationCode/SocketInterface/RiaSocketServer.h +++ b/ApplicationCode/SocketInterface/RiaSocketServer.h @@ -28,24 +28,33 @@ class QNetworkSession; class QErrorMessage; class RimReservoir; + class RiaSocketServer : public QObject { Q_OBJECT +public: + enum ReadState {ReadingCommand, ReadingPropertyData}; + public: RiaSocketServer(QObject *parent = 0); ~RiaSocketServer(); unsigned short serverPort(); private slots: - void onNewClientConnection(); - void slotReadCommand(); - void slotReadPropertyData(); + void slotNewClientConnection(); void slotCurrentClientDisconnected(); + void slotReadyRead(); + private: + void readCommandFromOctave(); + void readPropertyDataFromOctave(); + + void handleClientConnection( QTcpSocket* clientToHandle); RimReservoir* findReservoir(const QString &casename); + void terminateCurrentConnection(); private: QTcpServer* m_tcpServer; @@ -56,6 +65,7 @@ private: // Vars used for reading data from octave and adding them to the available results + ReadState m_readState; quint64 m_timeStepCountToRead; quint64 m_bytesPerTimeStepToRead; size_t m_currentTimeStepToRead; From 427a7cb8c563270d4e0b43c2e8bf6db7e047f02e Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Tue, 16 Oct 2012 08:40:44 +0200 Subject: [PATCH 11/37] Updated ERT to SVN 4117 for Windows 32/64 p4#: 19184 --- ThirdParty/Ert-windows-x64/include/buffer.h | 2 +- ThirdParty/Ert-windows-x64/include/ecl_grid.h | 7 ++ ThirdParty/Ert-windows-x64/include/ecl_kw.h | 61 +++++------ .../Ert-windows-x64/include/ecl_kw_magic.h | 3 + .../Ert-windows-x64/include/ecl_smspec.h | 7 +- ThirdParty/Ert-windows-x64/include/ecl_sum.h | 2 + ThirdParty/Ert-windows-x64/include/matrix.h | 1 + ThirdParty/Ert-windows-x64/include/path_fmt.h | 31 +++--- .../Ert-windows-x64/include/smspec_node.h | 16 ++- .../Ert-windows-x64/include/thread_pool.h | 4 +- ThirdParty/Ert-windows-x64/include/util.h | 2 +- ThirdParty/Ert-windows-x64/include/vector.h | 102 +++++++++--------- ThirdParty/Ert-windows-x64/lib/ecl.lib | Bin 998744 -> 1013744 bytes ThirdParty/Ert-windows-x64/lib/ert_util.lib | Bin 1088702 -> 1092142 bytes ThirdParty/Ert-windows-x64/lib/geometry.lib | Bin 48880 -> 48812 bytes ThirdParty/Ert-windows-x64/lib/well.lib | Bin 76482 -> 76392 bytes ThirdParty/Ert-windows/include/buffer.h | 2 +- ThirdParty/Ert-windows/include/ecl_grid.h | 7 ++ ThirdParty/Ert-windows/include/ecl_kw.h | 61 +++++------ ThirdParty/Ert-windows/include/ecl_kw_magic.h | 3 + ThirdParty/Ert-windows/include/ecl_smspec.h | 7 +- ThirdParty/Ert-windows/include/ecl_sum.h | 2 + ThirdParty/Ert-windows/include/matrix.h | 1 + ThirdParty/Ert-windows/include/path_fmt.h | 31 +++--- ThirdParty/Ert-windows/include/smspec_node.h | 16 ++- ThirdParty/Ert-windows/include/thread_pool.h | 4 +- ThirdParty/Ert-windows/include/util.h | 2 +- ThirdParty/Ert-windows/include/vector.h | 102 +++++++++--------- ThirdParty/Ert-windows/lib/ecl.lib | Bin 595052 -> 601768 bytes ThirdParty/Ert-windows/lib/ert_util.lib | Bin 583840 -> 585630 bytes ThirdParty/Ert-windows/lib/geometry.lib | Bin 29848 -> 29776 bytes ThirdParty/Ert-windows/lib/well.lib | Bin 43442 -> 43356 bytes 32 files changed, 262 insertions(+), 214 deletions(-) diff --git a/ThirdParty/Ert-windows-x64/include/buffer.h b/ThirdParty/Ert-windows-x64/include/buffer.h index b52a3b653d..7df53ca7d7 100644 --- a/ThirdParty/Ert-windows-x64/include/buffer.h +++ b/ThirdParty/Ert-windows-x64/include/buffer.h @@ -92,7 +92,7 @@ extern "C" { buffer_type * buffer_fread_alloc(const char * filename); void buffer_fread_realloc(buffer_type * buffer , const char * filename); -#ifdef HAVE_ZLIB +#ifdef WITH_ZLIB size_t buffer_fwrite_compressed(buffer_type * buffer, const void * ptr , size_t byte_size); size_t buffer_fread_compressed(buffer_type * buffer , size_t compressed_size , void * target_ptr , size_t target_size); #endif diff --git a/ThirdParty/Ert-windows-x64/include/ecl_grid.h b/ThirdParty/Ert-windows-x64/include/ecl_grid.h index c2a4cb358a..1405fbda00 100644 --- a/ThirdParty/Ert-windows-x64/include/ecl_grid.h +++ b/ThirdParty/Ert-windows-x64/include/ecl_grid.h @@ -61,11 +61,15 @@ extern "C" { bool ecl_grid_ijk_valid(const ecl_grid_type * , int , int , int ); int ecl_grid_get_global_index3(const ecl_grid_type * , int , int , int ); int ecl_grid_get_global_index1A(const ecl_grid_type * ecl_grid , int active_index); + ecl_grid_type * ecl_grid_alloc_GRDECL_kw( int nx, int ny , int nz , const ecl_kw_type * zcorn_kw , const ecl_kw_type * coord_kw , const ecl_kw_type * actnum_kw , const ecl_kw_type * mapaxes_kw ); ecl_grid_type * ecl_grid_alloc_GRDECL_data(int , int , int , const float * , const float * , const int * , const float * mapaxes); ecl_grid_type * ecl_grid_alloc_GRID_data(int num_coords , int nx, int ny , int nz , int coords_size , int ** coords , float ** corners , const float * mapaxes); ecl_grid_type * ecl_grid_alloc(const char * ); ecl_grid_type * ecl_grid_load_case( const char * case_input ); + ecl_grid_type * ecl_grid_alloc_rectangular( int nx , int ny , int nz , double dx , double dy , double dz , const int * actnum); + ecl_grid_type * ecl_grid_alloc_regular( int nx, int ny , int nz , const double * ivec, const double * jvec , const double * kvec , const int * actnum); + bool ecl_grid_exists( const char * case_input ); char * ecl_grid_alloc_case_filename( const char * case_input ); @@ -148,6 +152,9 @@ extern "C" { ecl_kw_type * ecl_grid_alloc_hostnum_kw( const ecl_grid_type * grid ); ecl_kw_type * ecl_grid_alloc_gridhead_kw( int nx, int ny , int nz , int grid_nr); + void ecl_grid_ri_export( const ecl_grid_type * ecl_grid , double * ri_points); + void ecl_grid_cell_ri_export( const ecl_grid_type * ecl_grid , int global_index , double * ri_points); + #ifdef __cplusplus } #endif diff --git a/ThirdParty/Ert-windows-x64/include/ecl_kw.h b/ThirdParty/Ert-windows-x64/include/ecl_kw.h index f27ee05c40..986ff5eb38 100644 --- a/ThirdParty/Ert-windows-x64/include/ecl_kw.h +++ b/ThirdParty/Ert-windows-x64/include/ecl_kw.h @@ -103,9 +103,6 @@ extern "C" { bool ecl_kw_is_grdecl_file(FILE * ); bool ecl_kw_is_kw_file(FILE * , bool ); - void ecl_kw_inplace_sub(ecl_kw_type * , const ecl_kw_type * ); - void ecl_kw_inplace_mul(ecl_kw_type * , const ecl_kw_type * ); - void ecl_kw_inplace_div(ecl_kw_type * , const ecl_kw_type * ); double ecl_kw_element_sum_float( const ecl_kw_type * ecl_kw ); void ecl_kw_inplace_inv(ecl_kw_type * my_kw); @@ -113,8 +110,6 @@ extern "C" { void ecl_kw_max_min(const ecl_kw_type * , void * , void *); void * ecl_kw_get_void_ptr(const ecl_kw_type * ecl_kw); - double ecl_kw_iget_as_double(const ecl_kw_type * , int ); - ecl_kw_type * ecl_kw_buffer_alloc(buffer_type * buffer); void ecl_kw_buffer_store(const ecl_kw_type * ecl_kw , buffer_type * buffer); @@ -149,29 +144,29 @@ extern "C" { void ecl_kw_copy_indexed( ecl_kw_type * target_kw , const int_vector_type * index_set , const ecl_kw_type * src_kw); bool ecl_kw_assert_binary_numeric( const ecl_kw_type * kw1, const ecl_kw_type * kw2); -#define ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( ctype ) bool ecl_kw_assert_binary_ ## ctype( const ecl_kw_type * kw1 , const ecl_kw_type * kw2); - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( int ) - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( float ) - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( double ) +#define ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( ctype ) bool ecl_kw_assert_binary_ ## ctype( const ecl_kw_type * kw1 , const ecl_kw_type * kw2) + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( int ); + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( float ); + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( double ); #undef ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER -#define ECL_KW_SCALE_TYPED_HEADER( ctype ) void ecl_kw_scale_ ## ctype (ecl_kw_type * ecl_kw , ctype scale_factor); - ECL_KW_SCALE_TYPED_HEADER( int ) - ECL_KW_SCALE_TYPED_HEADER( float ) - ECL_KW_SCALE_TYPED_HEADER( double ) +#define ECL_KW_SCALE_TYPED_HEADER( ctype ) void ecl_kw_scale_ ## ctype (ecl_kw_type * ecl_kw , ctype scale_factor) + ECL_KW_SCALE_TYPED_HEADER( int ); + ECL_KW_SCALE_TYPED_HEADER( float ); + ECL_KW_SCALE_TYPED_HEADER( double ); #undef ECL_KW_SCALE_TYPED_HEADER void ecl_kw_scale_float_or_double( ecl_kw_type * ecl_kw , double scale_factor ); -#define ECL_KW_SHIFT_TYPED_HEADER( ctype ) void ecl_kw_shift_ ## ctype (ecl_kw_type * ecl_kw , ctype shift_factor); - ECL_KW_SHIFT_TYPED_HEADER( int ) - ECL_KW_SHIFT_TYPED_HEADER( float ) - ECL_KW_SHIFT_TYPED_HEADER( double ) +#define ECL_KW_SHIFT_TYPED_HEADER( ctype ) void ecl_kw_shift_ ## ctype (ecl_kw_type * ecl_kw , ctype shift_factor) + ECL_KW_SHIFT_TYPED_HEADER( int ); + ECL_KW_SHIFT_TYPED_HEADER( float ); + ECL_KW_SHIFT_TYPED_HEADER( double ); #undef ECL_KW_SHIFT_TYPED_HEADER void ecl_kw_shift_float_or_double( ecl_kw_type * ecl_kw , double shift_value ); -#define ECL_KW_IGET_TYPED_HEADER(type) type ecl_kw_iget_ ## type(const ecl_kw_type * , int); +#define ECL_KW_IGET_TYPED_HEADER(type) type ecl_kw_iget_ ## type(const ecl_kw_type * , int) ECL_KW_IGET_TYPED_HEADER(double); ECL_KW_IGET_TYPED_HEADER(float); ECL_KW_IGET_TYPED_HEADER(int); @@ -179,7 +174,7 @@ extern "C" { bool ecl_kw_iget_bool( const ecl_kw_type * ecl_kw , int i ); -#define ECL_KW_ISET_TYPED_HEADER(type) void ecl_kw_iset_ ## type(ecl_kw_type * , int , type ); +#define ECL_KW_ISET_TYPED_HEADER(type) void ecl_kw_iset_ ## type(ecl_kw_type * , int , type ) ECL_KW_ISET_TYPED_HEADER(double); ECL_KW_ISET_TYPED_HEADER(float); ECL_KW_ISET_TYPED_HEADER(int); @@ -187,7 +182,7 @@ extern "C" { void ecl_kw_iset_bool( ecl_kw_type * ecl_kw , int i , bool bool_value); -#define ECL_KW_GET_TYPED_PTR_HEADER(type) type * ecl_kw_get_ ## type ## _ptr(const ecl_kw_type *); +#define ECL_KW_GET_TYPED_PTR_HEADER(type) type * ecl_kw_get_ ## type ## _ptr(const ecl_kw_type *) ECL_KW_GET_TYPED_PTR_HEADER(double); ECL_KW_GET_TYPED_PTR_HEADER(float); ECL_KW_GET_TYPED_PTR_HEADER(int); @@ -195,31 +190,31 @@ extern "C" { #undef ECL_KW_GET_TYPED_PTR_HEADER -#define ECL_KW_SET_INDEXED_HEADER(ctype ) void ecl_kw_set_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype value); +#define ECL_KW_SET_INDEXED_HEADER(ctype ) void ecl_kw_set_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype value) ECL_KW_SET_INDEXED_HEADER( double ); ECL_KW_SET_INDEXED_HEADER( float ); ECL_KW_SET_INDEXED_HEADER( int ); #undef ECL_KW_SET_INDEXED_HEADER -#define ECL_KW_SHIFT_INDEXED_HEADER(ctype) void ecl_kw_shift_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype shift); - ECL_KW_SHIFT_INDEXED_HEADER( int ) - ECL_KW_SHIFT_INDEXED_HEADER( float ) - ECL_KW_SHIFT_INDEXED_HEADER( double ) +#define ECL_KW_SHIFT_INDEXED_HEADER(ctype) void ecl_kw_shift_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype shift) + ECL_KW_SHIFT_INDEXED_HEADER( int ); + ECL_KW_SHIFT_INDEXED_HEADER( float ); + ECL_KW_SHIFT_INDEXED_HEADER( double ); #undef ECL_KW_SHIFT_INDEXED_HEADER -#define ECL_KW_SCALE_INDEXED_HEADER(ctype) void ecl_kw_scale_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype scale); - ECL_KW_SCALE_INDEXED_HEADER( int ) - ECL_KW_SCALE_INDEXED_HEADER( float ) - ECL_KW_SCALE_INDEXED_HEADER( double ) +#define ECL_KW_SCALE_INDEXED_HEADER(ctype) void ecl_kw_scale_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype scale) + ECL_KW_SCALE_INDEXED_HEADER( int ); + ECL_KW_SCALE_INDEXED_HEADER( float ); + ECL_KW_SCALE_INDEXED_HEADER( double ); #undef ECL_KW_SCALE_INDEXED_HEADER -#define ECL_KW_MAX_MIN_HEADER( ctype ) void ecl_kw_max_min_ ## ctype( const ecl_kw_type * ecl_kw , ctype * _max , ctype * _min); - ECL_KW_MAX_MIN_HEADER( int ) - ECL_KW_MAX_MIN_HEADER( float ) - ECL_KW_MAX_MIN_HEADER( double ) +#define ECL_KW_MAX_MIN_HEADER( ctype ) void ecl_kw_max_min_ ## ctype( const ecl_kw_type * ecl_kw , ctype * _max , ctype * _min) + ECL_KW_MAX_MIN_HEADER( int ); + ECL_KW_MAX_MIN_HEADER( float ); + ECL_KW_MAX_MIN_HEADER( double ); #undef ECL_KW_MAX_MIN_HEADER #include diff --git a/ThirdParty/Ert-windows-x64/include/ecl_kw_magic.h b/ThirdParty/Ert-windows-x64/include/ecl_kw_magic.h index d6453617b0..d47790820e 100644 --- a/ThirdParty/Ert-windows-x64/include/ecl_kw_magic.h +++ b/ThirdParty/Ert-windows-x64/include/ecl_kw_magic.h @@ -255,6 +255,9 @@ extern "C" { /* Common keywords */ #define SPECGRID_KW "SPECGRID" +#define SPECGRID_NX_INDEX 0 +#define SPECGRID_NY_INDEX 1 +#define SPECGRID_NZ_INDEX 2 #define MAPAXES_KW "MAPAXES" /* Keyword used to transform from grid coordinates to world coordinates. */ #define LGR_KW "LGR" /* Name of LGR; for GRID files it can contain two elements, diff --git a/ThirdParty/Ert-windows-x64/include/ecl_smspec.h b/ThirdParty/Ert-windows-x64/include/ecl_smspec.h index 1c122094e5..20046b3595 100644 --- a/ThirdParty/Ert-windows-x64/include/ecl_smspec.h +++ b/ThirdParty/Ert-windows-x64/include/ecl_smspec.h @@ -44,8 +44,9 @@ typedef struct ecl_smspec_struct ecl_smspec_type; ecl_smspec_install_gen_key() must be updated. */ const int_vector_type * ecl_smspec_get_index_map( const ecl_smspec_type * smspec ); - - void ecl_smspec_add_node(ecl_smspec_type * ecl_smspec, smspec_node_type * smspec_node); + void ecl_smspec_index_node( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node); + void ecl_smspec_insert_node(ecl_smspec_type * ecl_smspec, smspec_node_type * smspec_node); + void ecl_smspec_add_node( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node ); ecl_smspec_var_type ecl_smspec_iget_var_type( const ecl_smspec_type * smspec , int index ); bool ecl_smspec_needs_num( ecl_smspec_var_type var_type ); bool ecl_smspec_needs_wgname( ecl_smspec_var_type var_type ); @@ -112,7 +113,7 @@ typedef struct ecl_smspec_struct ecl_smspec_type; - + void ecl_smspec_init_var( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node , const char * keyword , const char * wgname , int num, const char * unit ); void ecl_smspec_select_matching_general_var_list( const ecl_smspec_type * smspec , const char * pattern , stringlist_type * keys); stringlist_type * ecl_smspec_alloc_matching_general_var_list(const ecl_smspec_type * smspec , const char * pattern); diff --git a/ThirdParty/Ert-windows-x64/include/ecl_sum.h b/ThirdParty/Ert-windows-x64/include/ecl_sum.h index f336ceb3db..c575b85ae7 100644 --- a/ThirdParty/Ert-windows-x64/include/ecl_sum.h +++ b/ThirdParty/Ert-windows-x64/include/ecl_sum.h @@ -173,6 +173,8 @@ typedef struct ecl_sum_struct ecl_sum_type; void ecl_sum_fwrite( const ecl_sum_type * ecl_sum ); void ecl_sum_fwrite_smspec( const ecl_sum_type * ecl_sum ); smspec_node_type * ecl_sum_add_var( ecl_sum_type * ecl_sum , const char * keyword , const char * wgname , int num , const char * unit , float default_value); + smspec_node_type * ecl_sum_add_blank_var( ecl_sum_type * ecl_sum , float default_value); + void ecl_sum_init_var( ecl_sum_type * ecl_sum , smspec_node_type * smspec_node , const char * keyword , const char * wgname , int num , const char * unit); ecl_sum_tstep_type * ecl_sum_add_tstep( ecl_sum_type * ecl_sum , int report_step , double sim_days); void ecl_sum_update_wgname( ecl_sum_type * ecl_sum , smspec_node_type * node , const char * wgname ); diff --git a/ThirdParty/Ert-windows-x64/include/matrix.h b/ThirdParty/Ert-windows-x64/include/matrix.h index f71c1cec86..a44fd96866 100644 --- a/ThirdParty/Ert-windows-x64/include/matrix.h +++ b/ThirdParty/Ert-windows-x64/include/matrix.h @@ -131,6 +131,7 @@ typedef struct matrix_struct matrix_type; double matrix_trace(const matrix_type *matrix); double matrix_diag_std(const matrix_type * Sk,double mean); double matrix_det3( const matrix_type * A); + double matrix_det4( const matrix_type * A); #ifdef HAVE_ISFINITE bool matrix_is_finite(const matrix_type * matrix); diff --git a/ThirdParty/Ert-windows-x64/include/path_fmt.h b/ThirdParty/Ert-windows-x64/include/path_fmt.h index 6440e49268..fc913fef86 100644 --- a/ThirdParty/Ert-windows-x64/include/path_fmt.h +++ b/ThirdParty/Ert-windows-x64/include/path_fmt.h @@ -25,22 +25,21 @@ extern "C" { #include #include -typedef struct path_fmt_struct path_fmt_type; - - -path_fmt_type * path_fmt_safe_cast(const void * arg); -path_fmt_type * path_fmt_alloc_directory_fmt(const char * ); -path_fmt_type * path_fmt_alloc_path_fmt(const char * ); -path_fmt_type * path_fmt_copyc(const path_fmt_type *); -path_fmt_type * path_fmt_scanf_alloc(const char * , int , const node_ctype * , bool ); -char * path_fmt_alloc_path(const path_fmt_type * , bool , ...); -char * path_fmt_alloc_file(const path_fmt_type * , bool , ...); -void path_fmt_free(path_fmt_type * ); -const char * path_fmt_get_fmt(const path_fmt_type * ); -void path_fmt_reset_fmt(path_fmt_type * , const char * ); -void path_fmt_make_path(const path_fmt_type * ); -path_fmt_type * path_fmt_realloc_path_fmt( path_fmt_type * path_fmt, const char * fmt ); - + typedef struct path_fmt_struct path_fmt_type; + + path_fmt_type * path_fmt_alloc_directory_fmt(const char * ); + path_fmt_type * path_fmt_alloc_path_fmt(const char * ); + path_fmt_type * path_fmt_copyc(const path_fmt_type *); + path_fmt_type * path_fmt_scanf_alloc(const char * , int , const node_ctype * , bool ); + char * path_fmt_alloc_path(const path_fmt_type * , bool , ...); + char * path_fmt_alloc_file(const path_fmt_type * , bool , ...); + void path_fmt_free(path_fmt_type * ); + void path_fmt_free__( void * arg ); + const char * path_fmt_get_fmt(const path_fmt_type * ); + void path_fmt_reset_fmt(path_fmt_type * , const char * ); + void path_fmt_make_path(const path_fmt_type * ); + path_fmt_type * path_fmt_realloc_path_fmt( path_fmt_type * path_fmt, const char * fmt ); + #ifdef __cplusplus } #endif diff --git a/ThirdParty/Ert-windows-x64/include/smspec_node.h b/ThirdParty/Ert-windows-x64/include/smspec_node.h index f5c498fce3..cd5ec9a3b1 100644 --- a/ThirdParty/Ert-windows-x64/include/smspec_node.h +++ b/ThirdParty/Ert-windows-x64/include/smspec_node.h @@ -68,6 +68,15 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , char * smspec_alloc_local_completion_key( const char * join_string, const char * keyword , const char * lgr_name , const char * wgname , int i , int j , int k); + bool smspec_node_init( smspec_node_type * smspec_node, + ecl_smspec_var_type var_type , + const char * wgname , + const char * keyword , + const char * unit , + const char * key_join_string , + const int grid_dims[3] , + int num); + smspec_node_type * smspec_node_alloc( ecl_smspec_var_type var_type , const char * wgname , @@ -87,6 +96,7 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , int param_index, float default_value); + smspec_node_type * smspec_node_alloc_new(int params_index, float default_value); void smspec_node_free( smspec_node_type * index ); void smspec_node_free__(void * arg); @@ -100,11 +110,15 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , void smspec_node_update_wgname( smspec_node_type * index , const char * wgname , const char * key_join_string); const char * smspec_node_get_keyword( const smspec_node_type * smspec_node); const char * smspec_node_get_unit( const smspec_node_type * smspec_node); + void smspec_node_set_unit( smspec_node_type * smspec_node , const char * unit ); bool smspec_node_is_rate( const smspec_node_type * smspec_node ); bool smspec_node_is_total( const smspec_node_type * smspec_node ); bool smspec_node_need_nums( const smspec_node_type * smspec_node ); - float smspec_node_get_default_value( const smspec_node_type * smspec_node ); void smspec_node_fprintf( const smspec_node_type * smspec_node , FILE * stream); + + void smspec_node_set_default( smspec_node_type * smspec_node , float default_value); + float smspec_node_get_default( const smspec_node_type * smspec_node); + #ifdef __cplusplus } diff --git a/ThirdParty/Ert-windows-x64/include/thread_pool.h b/ThirdParty/Ert-windows-x64/include/thread_pool.h index 0aa675360a..0f4fbe4e0a 100644 --- a/ThirdParty/Ert-windows-x64/include/thread_pool.h +++ b/ThirdParty/Ert-windows-x64/include/thread_pool.h @@ -18,8 +18,8 @@ #ifndef __THREAD_POOL_H__ #define __THREAD_POOL_H__ -#ifdef HAVE_PTHREAD -#define HAVE_THREAD_POOL +#ifdef WITH_PTHREAD +#define WITH_THREAD_POOL #include "thread_pool_posix.h" #endif diff --git a/ThirdParty/Ert-windows-x64/include/util.h b/ThirdParty/Ert-windows-x64/include/util.h index 671e99fd1e..063f8807dc 100644 --- a/ThirdParty/Ert-windows-x64/include/util.h +++ b/ThirdParty/Ert-windows-x64/include/util.h @@ -405,7 +405,7 @@ const char * util_enum_iget( int index , int size , const util_enum_element_type /*****************************************************************/ /* Conditional section below here */ -#ifdef HAVE_ZLIB +#ifdef WITH_ZLIB void util_compress_buffer(const void * , int , void * , unsigned long * ); int util_fread_sizeof_compressed(FILE * stream); void util_fread_compressed(void * , FILE * ); diff --git a/ThirdParty/Ert-windows-x64/include/vector.h b/ThirdParty/Ert-windows-x64/include/vector.h index 6a405858de..48394de0ea 100644 --- a/ThirdParty/Ert-windows-x64/include/vector.h +++ b/ThirdParty/Ert-windows-x64/include/vector.h @@ -23,60 +23,62 @@ extern "C" { #endif #include +#include -typedef void ( vector_func_type ) (void * , void *); -typedef int ( vector_cmp_ftype) (const void * , const void *); - -typedef struct vector_struct vector_type; + typedef void ( vector_func_type ) (void * , void *); + typedef int ( vector_cmp_ftype) (const void * , const void *); + + typedef struct vector_struct vector_type; + vector_type * vector_alloc_new(); + void vector_grow_NULL( vector_type * vector , int new_size ); + vector_type * vector_alloc_NULL_initialized( int size ); -vector_type * vector_alloc_new(); -vector_type * vector_alloc_NULL_initialized( int size ); - -int vector_append_ref( vector_type * , const void *); -int vector_append_owned_ref( vector_type * , const void * , free_ftype * del); -int vector_append_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); - -void vector_iset_ref( vector_type * , int , const void *); -void vector_iset_owned_ref( vector_type * , int , const void * , free_ftype * del); -void vector_iset_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); - -void vector_safe_iset_copy(vector_type * vector , int index , const void * data, copyc_ftype * copyc , free_ftype * del); -void vector_safe_iset_owned_ref(vector_type * vector , int index , const void * data, free_ftype * del); -void vector_safe_iset_ref(vector_type * vector , int index , const void * data); - -void vector_insert_ref( vector_type * , int , const void *); -void vector_insert_owned_ref( vector_type * , int , const void * , free_ftype * del); -void vector_insert_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); -void vector_insert_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); - -void vector_push_ref( vector_type * , const void *); -void vector_push_owned_ref( vector_type * , const void * , free_ftype * del); -void vector_push_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); - - -void vector_clear(vector_type * vector); -void vector_free(vector_type * ); -void vector_free__( void * arg ); -void vector_append_buffer(vector_type * , const void * , int); -void vector_push_buffer(vector_type * , const void * , int); -int vector_get_size(const vector_type * ); -void * vector_safe_iget(const vector_type * vector, int index); -const void * vector_safe_iget_const(const vector_type * vector, int index); -const void * vector_iget_const(const vector_type * , int ); -void * vector_iget(const vector_type * , int ); -void vector_idel(vector_type * vector , int index); -void vector_shrink( vector_type * vector , int new_size ); -void * vector_get_last(const vector_type * ); -const void * vector_get_last_const(const vector_type * ); -int vector_get_size( const vector_type * ); -void * vector_pop(vector_type * ); -void vector_sort(vector_type * vector , vector_cmp_ftype * cmp); -vector_type * vector_alloc_copy(const vector_type * src , bool deep_copy); - -void vector_iset_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); - + int vector_append_ref( vector_type * , const void *); + int vector_append_owned_ref( vector_type * , const void * , free_ftype * del); + int vector_append_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); + + void vector_iset_ref( vector_type * , int , const void *); + void vector_iset_owned_ref( vector_type * , int , const void * , free_ftype * del); + void vector_iset_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); + + void vector_safe_iset_copy(vector_type * vector , int index , const void * data, copyc_ftype * copyc , free_ftype * del); + void vector_safe_iset_owned_ref(vector_type * vector , int index , const void * data, free_ftype * del); + void vector_safe_iset_ref(vector_type * vector , int index , const void * data); + + void vector_insert_ref( vector_type * , int , const void *); + void vector_insert_owned_ref( vector_type * , int , const void * , free_ftype * del); + void vector_insert_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); + void vector_insert_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); + + void vector_push_ref( vector_type * , const void *); + void vector_push_owned_ref( vector_type * , const void * , free_ftype * del); + void vector_push_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); + + + void vector_clear(vector_type * vector); + void vector_free(vector_type * ); + void vector_free__( void * arg ); + void vector_append_buffer(vector_type * , const void * , int); + void vector_push_buffer(vector_type * , const void * , int); + int vector_get_size(const vector_type * ); + void * vector_safe_iget(const vector_type * vector, int index); + const void * vector_safe_iget_const(const vector_type * vector, int index); + const void * vector_iget_const(const vector_type * , int ); + void * vector_iget(const vector_type * , int ); + void vector_idel(vector_type * vector , int index); + void vector_shrink( vector_type * vector , int new_size ); + void * vector_get_last(const vector_type * ); + const void * vector_get_last_const(const vector_type * ); + int vector_get_size( const vector_type * ); + void * vector_pop(vector_type * ); + void vector_sort(vector_type * vector , vector_cmp_ftype * cmp); + vector_type * vector_alloc_copy(const vector_type * src , bool deep_copy); + + void vector_iset_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); + + UTIL_IS_INSTANCE_HEADER( vector ); #ifdef __cplusplus } diff --git a/ThirdParty/Ert-windows-x64/lib/ecl.lib b/ThirdParty/Ert-windows-x64/lib/ecl.lib index cbd318d17884bd9652f34ea2ee5b2e66ef0df6e8..47b329b824fcd54c7c333d2bd0494f1a4ca8cde3 100644 GIT binary patch delta 159882 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 delta 150411 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

f+)Z#KkA^6N=bB^rXo#-B1H@S3MW>>9 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 CtzQ8E diff --git a/ThirdParty/Ert-windows-x64/lib/ert_util.lib b/ThirdParty/Ert-windows-x64/lib/ert_util.lib index 3a853ecdc8d09337a1086c1b4b78f0887e0ae257..463b28f9e2595a14b07609d554d821f7e0db6e5b 100644 GIT binary patch delta 89734 zcmeFacYIVu_dkB`X7AlJNJ8idX&Vx1NC84mLg+O?KspIcke1LzVT00?mQXTu5&^MM zB1phOwSomyEPy~Ph@e71v7qvOpE;B4F6#66JRg02zdzj9Ym@gqbEeOo`<`>p%pTa^ zcE@{db89-9#3nRt78lnv%woFj@mDAKAExK{OKbBV zW{$ia|9Nv-Y97%3vajQ>Ozgi%%kh`hp!vCSn@w=t^-xa{|+a__# z++)Qq?eF|L{?5ezMB0wOrFPb?k7$4H>-e*Zf0Lf$PnY!XDS*SZnGBB++W+|L_+Mvu zM}CgKsK!TwHRHeeI{uqTe_G{`2p$8JhWLzuP|4%s>1({#Bp~ zd-=3x{#{?k-<9y6OxN+>)Xdhtm-ZKZ9e-6q|7ALkzpN(zT>%__T~q$s0(d_1sCMVq zai`#aeC_y6iT*DI@Tyfw`_I0Pe-mNj6wT}J{5t-I#Jy|!YJc|Y__KzGfMW4!1+JE(JUZDB>nXlu|DE*B(jz3k(I}7mZ51P+^@b!(J zq5Z+v@kaswBe~-bOZLAhfa8yw=6_NE#~<{||0Hwd{ZIe@e>(vG>Hj}9(*2AB+Q0q! zzoq&8r(ehKMQGMf^ZOrt9e-Iyr!H%Lf9CsjyyoZpI$ST@@%QI6zrW$@-@vLlzYf=n z-@%=0YW}X@{*5*N|MWZSqUQfc-==>Q@UP{&{i`2HO=#PxZAx1Aj;YB>k*OUfCnY2` z8J#(4#PEqDMvh2oGHT+aq$Z7LG)`(VK6A>XF~dhrPHK{pELKkQOxkT3wB2GIIi;~C zs%Lvf?|y5DzrWW#lO|3d+M`dmZX&v$KHq!jmRyH1_jcS%{1d9kiYs^e2jHhO8kHNCZnZr<8gr@ghP%05~_b06)8#=rV#J8JuCGopR9 z1BRdWmcO6YubH2A`IMg)|FxfX?t4GY+Q46{+1X!f+}~fjILlwVxnlh87gsdcGi=4; zJ)`u%-KBfx7`wBc`^>r`?4Wgb?}K}MSG>63$cmq{9uh+jRqVXt)rFsm`+dEdi=j_f zwC(=xts36{edo0OsH3m9TNB6ae)#jft(+ZJJS0NjXb3#MCfZO}@veW2@oIWfr%$`Bvp( zEg7tbi8a1{L40|7uwGN#8jQ5UhUlRp<))u1{>0k;)mUZW5X9IyM30DZ%W2XC&Z$vZ zGpg5laS5v3MP7)1wHl3^#i|#78Qvr2-_$1GdLV7f2u-Um^pze#qSsJ8Qe;*2vRYn` z5{EvpM2HKUd<|h(4SzAXo3)xTFbI_8(@YK&jx-( zltNp7Tx6dxD~qASP?$Xk{sa}u5FS?JTj+#|IjcSFV#G2}RrJv!^CYxyLtD=hB_Wn* zV^af7+ai*N>vqeI1|sJPGfE5_u1DrqM~m!5*oQI=<0ha*9A4uQ%8d{vPKH{d^*UnW zStK&7p{7k1;cHN!St2gfViy-G8&-V|hU&jP4?AyPaIyJ5s=T7a12W!Uvb;$$Nq zyH`g{Q7s{TPz0<+!xR8M%?ig@p+6MfhZOpVW^`|)Y5heJboJ>XGaUI9puCm^jl_vF zXaIS!UtNUxq9#`mVX#PFhs5uX)wBg7+uH~g{%9zDt0;X3ZPMtt5ojrj6dgS-0C~4wnXN?^Yhlvu1jW+R`)r#$IcpY43@+Ri2?D zEFTrWE)Lg57h1&7PpHEpP~6m}RNOhMJnhD}fSL&RLxn;_W)wO(K9S;Q=OeIYGfj&U z=>-@KGO2bV^L?}-Mxmd$;D?^?E%az4dLk4R84cw&BETO7eYClz?GU9DFRK7WctaF^ zVA{p5#>o3Kgk2Sd1!&A40h@>-ig8y9O&cmo3gyVkZsDU^ejdc%ixh~B)-5%yvpD%E zH0}|3bx_cWkmQRvNQ@@|_j2HS9C#KI4^bF^w5zq!G`q;&jF>56PF+j1*%^{YT8V-j z+Va>pat)4&&5 zn;P0;O%iFBFt=0|c}X-1w|ZF3nn{}WWRmd5gkhcqzLX?(jnyM`Q}X4i%)4 zt5*_w7hANRNB```EKSo6ODM7yBD9StjKh@en1Xq4Fyl?bF;>H#MB6-o+2>$KZog9C zUpjK~K_af3t+EK6st20(PMS8VlhiR*18))8HE?GfVUXCQg;i@FF4 zLbJwp*0dmTdn#_kySr%GaFJOPx2wDh=7{X>HoM4p3WZsNu!1fkc{uL6f+n~vo`hhJ z*fb4wKLD82l?##GRnumP@B&Y}zD|TUMl&4hi;8X&nLUtH?&IhZAEEcO*}V>;E$-{4 zY0bp4=}2UGcTL;aU1Z&d-gyD|jqdVMV_pWn*WI!F$|ZLpXGc9F9KHC%xNKkp&?-tg$DX?~(4 z7){ww#C5{meF5rbYl!dZ$#=m0zzam)uCn`OE9+(LL{i%kRwYf|u4d~r+>B|mUYG|; z5|JIvKIU}DyQlL_x*}cEHiEJ~a#!V|b%FHKA9C312x z6i+roLc4;I&`e01-o*($aF?bn6nYr-AT`QkBA^QuelrU79Kx>MC5ON96R;_Yc9#`C zQe?KE^ujS98uX?cD_}R>Sb)b#&2D}P_+xKw`f7b>eku*a(?12UPahUf26l+TJxEke zz8i$z(qcECML%!vBmBRzM2WNEhI-drrHYf?QO~SBsOMb>8`F>LIT_f&dXge-aM9a}u;-QD z%fKgH^scgASZ%b&_Xyi4=Ilj#oWSG$tjM-wSo|dBw5Fky1AbF!fGD`zJId%XK+`sh zO*y!gjst!m!izEOekTt1Kozc{3i?2F!NB}!m_Qp0qLE)(8x;-PkDlr)!tcfnlCudl zn1-atF&DTXlkda> zz{iyQ67Ua7UUitJMGWIRG#R+}Fdh$+fM*N8xwyI41HQmw^EB|qVR9<7Sch{-4`I|B zzQZ-Glh{f6y#Tij=Xv;L;FH7UJZ!mIrjI5wZy_LU1S?Gdk)An%C+pQ>&OlqBxDe^z zUvDQ4ec~5GE1Cf|bik-_6ElmSzHMo!7r(YZ_mA*-PKWeMd^NN9!V`L8P0=RUCs6p; zHUo-VzN8-t_w_~?Db;#%>{G?Ii~63%H5w%}RurHAxfA^=jhn?a1u4i7vo<#o?70XeM}hB~cXWr8rrv2nYrxY9@Am zh<}qsCSC0ox9RE<(fMfODx&OQDu1CKo<)+%o8DmCH5EH=2HcKG`!K+1O1u)dfW-#@ z-%;Xgz&|sWugUD3xV#=EQiz?80_|ST415>h3nEWosGoMB@t-h_4*0|NUqIiC(1 z{t%P%LMG?LMz=$HgB1cA5!nGbS2Up|G4yDoBgBs~eLn>F2GjS;lD?ZD(%MgDgnb?I z#cC}A6m|^ccY%k$z})>b;6)eiZWVZ-vhkBg#A}0>~xbF-r(Rf znXs=0+`@$Yh#8;O#uQfvyLa&HK-Uk zxE@cOJKAUiNe;8}jet+Ou=3X=D;HTSJgvqFgx$}y{BRRZd((xMUy-!ja;pg~=Az72 z;Ned;<$2{D;B#V5MP&E0C~AtCnC3CV7sPxA6Z3BYH5XzI>h4a=V~ChX8*Q6uS`Fsp zvp}{VcH!jPTsZkbgdG!-lfMV(&zw94A?2(F-F9BY|oV?hDlOH5b9&H{)XlQFp`*v$< z5C~@D^IX{Y63NER-3a}%H9rV#Z8R;=g^tHL>3DOd<87d^T+#8zfS+;Fas7nU=Ed#> zp@UAF7ojpuvGK>j#`iEA7oSyzfnmrwOJ%uqxQvjl%*Tx}$(lA*TAAL#64=;nL~ za+P3LJzuN27J|?&T>Nx!_Q8_t=dXd8NfLdce>&Fa3Fx4o5$;JmUNvPDk@;vnM)G*? zy=bjPUD5E}MDBDvy4HcmZxcm3&`&P|p6bR7;0Ew*5;Gk&Yjp?HQ@p+>@IdDE`h6m^ z2@+qz|8hkUU9F%iyO2D6mC&1_it7>Qo9^7#zM$*XiT~U6rp)3cMW5nlqPap``d}VN1G=h zh)Cx`B!irHW8yAXp7%=P?)^NPXBvXydP!PtP6tJQ2pDS^9nYp_Nab0Gu7Jy9F=~7V ztP9E7lNX^gBxjeVo@ns&H6k5M+b9M+%1Xqp%@SOf-o@?g*PGUGlFk$DH=EW-Eo>Mn=W4x;YS<|`04>dPwK!P5JSl5pJ5 z(}}xBn+qV>(3h*Q4R|+&s^M~yRX&3Fs#5t8*kEcedjri0YA-S#LxJnx4UTs=k4z8n zZ9nGXvMdcnNh_4Py>R@9OlKkV!+zX(8tAw$(Q)-auSc9b+H4AO@Bn$M^aBkaK{Py6 z#EwDBN+w=_-r0zNHUl}stbw?3L^@G%xoBD|vfCh;9T3+V#5uJGBTpx`Zr3L=QO{V9 zV&4z(WmYjOfsls`W(L}dhR_q3=gQWbYN>`tVThz4O3VT*ACE z@C?l0uteZgQA+VLX8IZiE~l!X6~LP~h*l8hi@5%n!^~U2woH-yfNs|_Ma~AVD6?TE z7WWX*0zS4TW|Z*|9L38Rn$gC;y?^cunyS)&7TSvl-?es{Ieu{{Ju4mgG7) z7bfCkOtdAw=t87EY!5R>jgCf!d!@|7apAt2E86oKx<)H;o+^<0GHst~Y1 zqT_oxS+`);?F&v_-Gy~GW!Bxs$-37;BVDoXr$DcZnRTB6{G3_0 z=>eAPr!3|Tfm0OY9tu2GG46+%YH#3w1cP_+O$bfN+*mN7-gp>LDO=jFBVBGQP zB5XDm&|uYrTnP6}C*hutpcF;87l2W(P=vdP3HQqo-BN_x0Cx^hgqz-+H*%rei3odw zDfg>@@48U#Qe5K=qI?4$3ie!|DYt*PVHmg^tb*LqAnQ?!BfN6?xuLQM5 zOG#t-5-?NAx8H{_N%8H$pvz;JZ{rmP@ofRgc15O(fsZ=*wixlON2UB9ELF`f5pY{6 zd4W||abesEE{wY+!b%k54g{wTbz$7CnQ`}F#=QigmlWgnCu;4&xLYve?f`KEX56De ztfw&JPTPy7UGC)EI}p@Eaqb+D>%}gd`$^{92Ow^!ICmeA>rCd{4j0b72;!d<=Z*lu zj!~Su8*}b{5IxVFTYy(@W?o%zKe#h4Pb$iN75J75<*os~TsK3+&cFx*yo+hITuWu+ zdY+=(n}K(_Q0_Nz{k5XpKA_OmGTE%%L~-uckWF^w+_NBfS8?uA;9nHy#w$H{&K(V& zJxg)!b->#c=YIJQIXAp?1{ZI;Z5jC+x}BgGcZ~38U)@Q%i$S{Ix`S^>0-gX-)4& zaj|a3?K=r~Vr(q$UMIr+y|is7i(giFr0VNM%1V#=Sj49{g0biJQ6tb;9!)kNa#=C9 z0Q$3WI|Fv^aU!7HxcvzGt;n}>vE-++Tsf~CcX3|9vP4?Dlcn>DH~~GQV_kTpu*th= zJxy!N-YXe^S<-t&>}ue{Gl{Ve!Z+BZv9zbxJ z?~3^XbS~BB^|0B1O!U(19qTlEi#@`llE^u0sYGwijeDRpj-6Phu@j4BW&?T?8)eK! zPyt)e4*(wHq%Lt%GbfZg0mKJOY zk3})MxLCq1GaHG5bEwFpQ1xLmcwHzpaWRAAJ}P%%85%2+&qF;QI(WlR-YfPva-5Og zD=@Z@_X@45js6h7#u^s^ud{}~G=>XVmEd@q8l-=V18|Xx_sSEbrktRP;-%Y)7oNb{ z73ei)<9M$GO&dZ6bY(VpK>DtTYa5XFLWCV-wM&5CvYovW`>i~IbZR!Hi8mY8cf+d* zO|MSBl>|1Br%D5PgnUIX7b;(ifKAY@(p1yJ*+!n^w2_-VAuesoZ*LP5X|Z1fZ7kXk zpTb*S@>#KDCo1Qk0<7}qL1#cS5fg2RFb*`M!ou6dj+a2Nrz?jQtvPiF8OO~kfa%Re z+C0o_fcKL*-L9`;OS-f$6+#@y#_|3wV9;js`9o|z-&Kel7eV|?3u#f)UlG}@aC0AY zz|lh**h$0q0UCIIkY7teOR`N$r}*goE<>Cv z?dxJ?LpTUZ>*R+nelef1UkqGijOwtU!)1ev?CSuxDYuxHrCW@2*|5BsD&OB5Enz+H zNCtMhK9X$fc4;@yCi^;g+Y@-+gUAxjA^ejIuHt0$Ml8(elSR=J$Z#uQk#d`Po6Ygk zujK>CYbw&;4HUm0lm2P!S#t=+croQk^rn9o5O%uMH?mue^l3SO7*B{&*yhd8!S72u zvf~k~ip1}SPSXR8Xi)nYkw<)9y0bLHHC_olg(%$s-&8&|w}E|#_S^Nk#Q51q!qTKO zw+E5?y}T-rHqG}~r{HNk#m;sXhpu75Yu<(Y$4)+tyQ4G6dmpCvWCb)PC!WZd&(BT>Y{iv85GxyYchuIpA01;sLH>Qibg2#ee7u@!GN#6!z7Vr`g{tT-66ksv07mQQDUrMoI1K|%8(lAf`g_rj1PV)@9Hw7*? z@agp0fcg%D-fdnp)B?w^t4#5jul0`XS(CFHeL56judrv$XMopujZjg#$w=Q7BLoY8 z#zNnNhHC@Zg%$|pxJiyQtdRxreAdVXT+bTMu?E@FjUy0`7NwNNS}X=0<5hw*rN2ZA z3FWkM7V8XhTB(eMz<81OEYw#4!ljO!Z{&P&P_7s9_oBa!BWPDYIURq6^}r9bTCnSQ zBi$MdWh0s(zQ3lOU@sZV08OjNO8~iwYao{Zaw0L35w?R}WZnnFltnHw8nJ&k>_wy7 zeX#@>E3zRrRse3|MS?8Pi>!8`7zKJAVGRaLhZVzf2)*rw{|m+}VA~#6gr(lDgOBuwFV7)Z#HlPIlSv@ zk=49a@x#x1JQe06^0kJCB=p_@->DX1$hBqfuM}8^o2x+{xch zuJEW?$&I{Efd~3Oi>}Uf5`hkC$9D?V)&SUlyT)uR>|e4^V%Qa1))y>j!|c&BsuPa1Lf zKH^0WLphgQtwtRzqos4Xe;vF{RLYF*m;Aa{yZtPk6aIBa112f37YQU>%y@_mbvu>15s)fiu`Vo)7q_%VyC->}dWPJDOWy{tgr+u%laQ#fY5QW|Sp7hPO>g z3tu$C7qEGJD_{{D(BF3M6g>lJ1bdPv!zkX(#n=2^X+)Q%O=B9uPO#cHfIqRBy*k;- zVe!RoE$m*^;bhKuAY*B)T}noHwv30sGG31@yjNgW@#}CL`Jb z+MaFbGOcuo@dlChh?W3;%^Gn2!ah#kBU%jx@R6br5sf8)YuFZE%-ci#u@zK&<%?c8 z^r5AaxJD-2$`y<%B54FHsB)vI-k91zZUns-a2orguVh;~EOc4{q!(Gi+Js&YNn5%! zq{WDn@1Zr)D#A$G6k!Rc674}H?f~~s>+qx6j)-Btz8X7LZvftAjauwE zE=}sSVa@KwyFoJm$FceQ5f_c+5btM=HvvCljqjyzx^WwlWRX`1wHyu0_7t{-FK1i$ z#Hs#)mbKU)3iFk8`rZhY+iJgP`!?k1=-dW6k*wir%N&{AEz{d@qmc2<*Z}Q!dH-lB z;4jXImLT|-e}NsLcHR+67I&jg5_wu?SH{ed3%DLOa%}grJf}8~;vHDo=27DW!ZSnw z+{caO$+Q6re(1_M^#zyxqwgWCu`-4Cg3Wsfdz?SOrf@R48w(-M7kX8sQ~>xmL3mSE z!=&~Mt|zeNdoe8Et1*X?2P8J;!ol2f1ee%!Ehmwi2*w>siA2B#9^>L<-c1_9WrAjJ zg!y-1vt|s2cngtN4fkC?GF!6^-!h^@d8+1Ws65w!ZI>?rpI|HZH*Dpm{iC9Hb-3qC zD>rQ(*Qb)#3SMu~Cedq;$c>dw!3DBQ)+^iTNf%u^<$sO68slKa-l;6wCBR?vE>Re^ z$)ZiJ?M5Ih*?q-fY#uch0<7Y-}r zxE>4Jb1UhMVh#YjwK~gJm0U*g{bHLcr~6cj$38eoHs@GmsnU{BEiS%-6Na=f$q4 zvf-P|@J3gNcZ-?5dYT0MY@uUzTEcD!f1V1#6_TW&I8_1;()tp_ZE!PcD<$YW5HVj zOIP@?U}vdez$zW!vV#)`GSH6DWIHlVMA-ZAV4;@{-vYzjOj|fZr1e_F3cMUApK&k) zh>b&lZ?KPxY)ovaf{~l8?>`|7n~fr&RuksyD3J+>79hWJ*60TDFxD6cID<9vS%dbp znB;oiUb(?chZP(CY~)v7NXBhto8LcBw4##WZ z;ryg__pKF8+L8CX(J|19X4)c@%G!6272-L4Gb^4o5|iY&FJB>os=Ej zAH3Jdy~FV)WQkD?j_&cXP0F0y>Hi(9ziDD(*)Kzo+YPb)HZE>A(R^HotM5%79B$UI z@6BdFKj!{J!Tra&_}*ZL6rC9(w=w4_x0}~p-EO>iDbU8n?WR4J0v28hG_FTHLmnD4 z1aJa-*enKIEj?_Ey@1E0G{2UG=T5T{mH|;}b`I8HOdo1YS5S zcJaJf4e>SBsMv^BSJLyQnbY&8ldI>=4CQ%K097wG-bcrRBfEIsV6#fO=gnZ{d9xBa z9=s+9$MT>duO7O(c;4I%@heh86vV@IYS%6ggO?1_?WQKy2{`ivO9pYGDbDJMz3wA} zmAlPO7k8U4p&HMAG-+5n403U|nd#zgGaq5EvD!tz>%7G9ce>kD#}eT%yW7~B(DKab zZWG7uHYqOdHV;DO3cK3`Vigd|3x(D$?l#>azS>k|oj2@OtOQcn+h(YXx6MRXZ<~jp z)32F$E7i|##cJU-cDBKADR;K{6=E-Twh6=vp=WcROU47=$KE!=#oJ~R!~xRVh87Xs zgmkcZxCP#=vV)EB67UK3!TH9;!{#Q$wb;WZ4hx3XykHpU;$br!;w{p{#%=}tkTq^P z9c(PWwq!yi-D@mZAPi#nn$>_fHiS-_IpX48Q|VoGOR;;+HE2aC_nLNCFQoC3VuI7X z#xjkU6zp7cKXl$!&NZI`UuEZ-3NFqywb;4Fj)lW+bj&!a$gMcqxoojADa7#JY7|FO(m2=JOz^B-`=7x)N&26Ed#Y$)5``9I# zfQ7+owXE0+jPq2;!{&mEhs`C3m+}tQr`u}UK9}=n-goh{`NZjGQ#F-5u%w^O8o;f} z&*rF$pUrXQXVbhLI0F0G40rn3Omy+HS>}kW9@ z!w1I*#9{(7XSuUYYZqsmbc8KX&Ng|#8+cjrJgZ1&o1+jXu(M4%mL7wZv(5d$i=1$-mI0Y!9ql&?dP!+GIcrMg}Zkj3BH=qFo$q+PgT~3`W>X z>}c}|;5Y1O;M#Dy5+H6sdHcvzJ2|L<+1(?E)Hbb$(7|V_}54$+ptb+J5JKA_=!XHRE+Qdsoo3U7< z$(^YU@Uf{@qe~^))P5LAoCCL^DIu7Z;tb-9^dp2HbTIWs#=Yv zWoP_^Q74DUPS$dIvFQ8$y@`Ce1xeulN^ zG{`QQWE(RhZJHKq<8JE#JjBM`_5kog8+Y4dz|Sf9hrplNxT!6k((r2WM)#H(z)U~% z>ugWSP0jVdk8|H!Uh#Auz+|3AKvgfc6m&x8^%eowee9M=UQ);F7V0n);;G{HauW{i zJ~R^a9{#+g-IC-34`94A>52c8uXIQ4CEl*+6K(c}ZibH<=ks81xfg=T;_3?1Zq5Q+ ztip1eV#w!1@VpP(zTO5t!Jo?#WS)n~~;9o(BE$QqXC2Y?txjf(Gzr&;PN8O;GKm7mwI>kPt1P8jFc})%sz-x;K?`4 z9^gZKvs%unj-fXx<~Imv&Ucm39X)^(kFNXRNP`Y&5$+sLYyraFQF<4Fv6+MPhz42w zy}73|(EOG#Z*k}>j)$$Q?zjNdBL;U>lDgyY5Yjs1y1<)fo_B!Hd9x|!XJB8Ee#6IZ z)I;wyrQWd{)Wf4$Iv;R3_Zhv*vF!4ZIeXXDL6Z?y;wv_`@QE;{S0Lk8$+svW8Gy|~ zT<@<$%#R_s3GC{aCvmzaB8->@0MS7f|Y!_bP= z;@nOmaI?=;tCA4kB#}oE4Weyw5WOMNUolh7)yOfsCXF2!qpNvYO|Kvv0u;pl)60O@ z;UxhM`jV!!{UYF1OrtMDTpGkL25td^s*y@ofPtNYuVFr!j6@p-ql1Duo!5YIhH7;$ zJC09o(0lo! zWFF3ukyidaBJLQp-@p!7>O5>u#HAS=21n(v{MWE52Rb3b7nJFLLkf0pfmF?KJnF)E zdU_l93|;_GqhRbk5H{e_d8$Ty9V#jI&{0WC-a;|5AhFiv(57|a1Ajc`UL;8Zr=tpMCaCOvLh<3(Jb;-DLVSS3@Cd`Vl2EOyaG?fP^c zaY;DN5*`7VCGr6Er4(rQ{t$WQLpq^>BqU;-9lKFzLJ}*1WU!?n-orNJ_c4uQXoZL) zn0eO131@T;vq+18XZQq!Z4eFdmfUzA@Un!aCyZc;ji@mrj6T3~#Vlx;v@0z!mYZV? zx_c@c$8y)v@v`rry|zJ^6UVupMz3JY`EqosRoc6}XQSAaVZ&M;&q=%ljJI=iNV0q> z04w3UNaRf2b7NG4tE4^xvxF`2EREk_f1XjOqaS*dC?<9oCr zFqW=#sIly>yUA=7Z4QO_6{T_-7{~aMimVpSt@{8^smem9e>Lcz-N4O^Eg|WU7_DHx z!p?fyL^g_5CrBMZPZgX?D5Jq(K!+#i4#DeyIf$^7%wwV6hmp)`T=s9lO-lR91evvukTC(2kmUO6iVLgng$3@&nsKGu+K5xml>{Z}fZ0xEb!cQYKyp^U+ zY{jAX0ncOG)@BZU3X&gHs7GtEi_2|d4cU%GyCuDDqM%I>RG(jLcWy(Qc4)&FDu|ci z(dHsZJn?#as(*x;lLYpX#J4;SJC@An(7hnUdqoj+^^f_Vm5fW#dVRJxNsGa?BxuEo zbjZ!g$*^svaDCgS&>Q&hbr_5|YY02K#=zMCPVwy_hUb zI7>J~_mlHmDP5yEU}|cV%G4`1(brm`IRxqW(#IlFgl9EzVLN7;k zqG4ybRQ1NgPs{9#`J^-F^1G%*1Zp92J<1{P zhG>1EnA0A&DlG_}CcUmw&)SvV2D6U?JGZqhZM_>yql3~7!TcET>$|y%KK*d|gYyUtvk9)d_v5g! zz|&P24T4p4yau|D_I5wfkH^;xbj^#gX`$QZ06y*Z~&)w5coKU z(GeTwm$)_ta+rM}x{)n;Ia_h&1uipHkOLSy)99GHoCzHCq6#{Lpf5Nmxfrkfa1=H7 z5uHP<1q|Xco&;_&2>W4i;>K}UUiFs|zrZNS1p^`ra{EV_9 zp2*}SES2{xxZ~E)MqL=!N0335@Q**eeaO*f*f8nA`ar zYi}y%vryQejzS?kK`h@22LNzO+69#e&x}yW~8%-TOpsu zUJaOL^3rj~IpBC?9vB7N@hBNr|4NjQ{NPx~tKNg<|2>>$H{gEvh}?HE^WMWr9!Du> zL)>{ZPvZBC#^4++!XDD$UWjoynqwXWK0aDxDe;d=Tx|?aiyy<|AqBYq7*?MS{LmP# zR3Y%QO8zeJ`7u0BeiU}NBRV>#_%z!S!D z+KYh;l>7kjF_!C>gx<%;E|dFtEGPHPIJo1E?|}KV9rEtm5soACvsNr0bgKs%db$y zYSr{djVoqJl5fT!`H(CwZntc7RW>I*4S0UGC^(B76L42HC;b-i#cWR6ItjiLlStjJ zPjVKv4a8ZKxv(=~SC~JUQ``c)XEH~92l(7%PV#5q%2QY#KLyLsDN^4uXo^fzmT=q@ zF5%j#Sl3VG^j-pfZz{*T4*cs>PA_;G>}k_j-V1ohG*0hbx2{r_71FP$lN!J*Ca9TFikDtQ-M0`8}?1ngdT7S*~RF1NGtFQT789Rg-^(Ha3K z&E_Hu1|Bn8KBm1JpgIe1y<3Hy1pauoYRbQwMqp za+=|Tb1-A(a0Xp~`{u|Dmi@B#$ZIUF-$4kns8yqbV}{5WDX^kW$P zNd6$tF5Mo)sD6-hod!G~avIfuyB_2Qe+&4N2gNlKKLl&!Lp)p5dx-n+q=s<;xyM{i zF?=qJWpg>juD}E5a%t`Zo;R11+zec-vX06c2G*!4M%_?Qb^pyUUDkFh?cqB#?Z(2Ymi|1h6# zo#6|xj9tKmSh7Hz_!e&nRza4wka&o>cp;j6A!oN2_?3m6-Dkkp7V@1{@nKjb9%gwv z;IxOOzGcG0-0@_gx6FocqnG>_W&NUh|_rhc;O;W|1sbL z(8+_50PqrvbyK8ILMzc)+WQt-DFmdr#uDy|#3isfE#YEhF5&4d2s+u25zkJvU^xw) zqsy40URefzzGYmDD!DL6=E`CislYwOoM2zD0pdsFaXm+cZ32FZ!=wk}>$yBEyfJm2 zLfH8{Sr+4$JbFD75P~!$$BJIAX^G1@{XW2%940xI1J~y9bU9TaO1~nq zr{X7s`lIwUSK#5eiffy<3Xk?xT>9sMkFVlJ{1W)PRn)g3-Y^eof%!OAC7*L137job z!cZ!?zE~#o>1fT{w4@XHe3R~4hF2)BK(VLD3-h&`;{_3H*(o@HrIhr^#6Sj9tmC<5 zj{%>6-rCiY$G*RsETD1W)PSHj z=uKS9M`O_v-*^Fv4MnEi*KVY&BVW$|yXqUu*md0g$We13tlD~RohIw?PIo=04G*lD zxC3YvU`&S`XC+6XVjBRTSTAn^{Z*;rjYq5YHpHzqa4!znK)kRpQuU%`?gqYL>Gze4 zl?dD|N|BWDBH-(+N9}6)g7xHkgR2N@vXKoAoj1bVvylxtlQ(i&{`eg*(}4hU6A#On zO`yV?c$V+CiIr$cVva+=-c6j+G2r(%aZ2B^k~a#DDFBb10yg^H1h$C0+89e=h1^W< zVwlDjV)ok1KgV)@GnUMoWiwg4w(y-BhTl}Ogm2-|AZ^q=w}57D;i+gM@cmnO>R7Wy zT>BnVM{+Hr^ z*=t10x9TG6G1U9!Hg52&Nc74rq|)MXZtxzD!w~&APcAbaSG_U?N(&K?_ymuaK2Ok{ zon9BC%K^CT2`=e&VEjN@T^h8sy!ZguS5;VrCozGEQVL6k{TL>FXUV!g$-TA|{n{OR zXP)E*T!p77PDwq)iQR`KRo;U(yBPB!Uaa4$1z zJDPDjcYE4)&V<&Yqak0ulk2i;CpF>W2B^zvz{@*%dhy%^hPF#aHRFN1>|*(7;3>O! z)GptpDiH}M`p0(h96@u@yHK(fQG?p8MdV^r8iP8>iL`wY7bD99BLHEC_wXcfV-L8{ z9@*|jt!HT-$d1Du*A?(?5fD$!mhWj;aS2;2g=_}g$su%fx$!2hzvdvHy|j={Pe7HL z0CwNY-7^+=y3iBKin3}i7r$UI21MarS$sNi&pZyr6MNZj;5w>v8rN?WbCbsI!?dwa z`jVRifM@RGc3BO)Wgkz+br9zWt}m-F&;4l2{d^P0@8`GAc-Gx%fV?r^)~C4h0^6`O z$D)@y&G`xgPHVR)rB2F2KUn?dg`nTsHBV{aH?J~Kx8W(xx(!cn)#>4WKls(ny5v`P z#)s|v>L$O|X;FXwo=bc!U6)i&hM?0v{7HKpfBLQNxg@yPbwB^$cX5@m5Pu$s4C}hY zns&XNpMR^PggVQJ*0v6)H8@K0$m5+C9q#0DsPm%NIvp;tLSFeO{zTU3vc&okfNyog zYm0aqX$M3580mFdVm(QM$`ssrREl4nBcs~;)j0-P|M#x@^*>DDO~h|?bd+D6??<)s ztMe+v*Gc^Hbw5Y{pRfB3x<>Jko75h3h_9e<7NR529P}FEa=7219|)7m>j?c=YNYt} ze}mLcAn1JxI&{6QU;oO->2Kqs*Aa|7W$3Gu)_u ze|?Wq{8qZin#k8G{0l$7f+BE2t)&wpgI>iP}w*=bvJ14@7r!iy65m;ZcQ9+446yyhV?8&?Px zcb&1lfegaV+NxCfwOo%8>HQ+QoV6W= zeJWS=Dc55}dI46EUg8lXj(ltzhx8hqLwZ5wdW=Y~rd8zhHmZvUpirM`$`uMlP}!$; zc{D~8EmFL4&UUw6B0|n1;X36Sj7THKDq@37JOtzM%6Hm%+k+^@kLPW5t2QfFW<<(~ zR`I+Iwd!-h))|Rzx`0I6mg_Mhy%d>fHF4#FZH>=mS=we0Ulz+sYy+!wE04j5VstIO zU1Gbb5A2UHtJVaPFnq0Ad;IMyWdq6)mdF|>3R8v5($do^!iN}@#b>vCgG8Sg4?nTwb6ce{ah37q z#brdr9Vd=`Zc8AQqR-6ARi>A#Fd~&{#dR*)hUktpvh@8S$(QIMpj8rK*`;JVfR;;H zak=d0a^#27FO#9wfjE^GKt%M)K5G%qV~`P*ActhaxP(FM6f&YIWwB`F41%iWRGKgP zU$TX(SpMZfG+Qhd%l;_VVzK{{ZH(_0S=5%$ooN;Rt6{_JeA!mnvKb@&InU}M>r30t zWUd5EG1`k#n;L~>Sbu1sO68veR0(t;RM){?_*!a{)?>)9?DKo+ejx%%ZQ-FDL>k6%@4lU4-Bx8QdJw%@eX5yOzR4+qPH#GD`TEU0RT zD&O0}s&Waawv4E@!Ek+^BE{WmFBX*R2@cCod%-$kG8r=ET~={6b#f%sz(Ct z#<%SAdx^x0!XIsMD*Z5MvJypY2LGlCRem??W+LDxTmLezfTcg#o@;9->Vyu_md*~q zG*UKthEkgN#OPsIl8;?$X&YI!Y)%W5uf0o}mtEQ;I!lWywirU{09S(PELD zhZd7HB9q=F(I<{1JI+^4iq$druXsA}*f{ z!ykO0BvRUV*7Dmpd+%sxst3jRHYg~yJbl(L|L_54;5%Vbs5Rz-PI6}1L}uBDgSAVK zH^sxPj0;{=u}H_FMRx0vkf`+Ng@mcaOc^<2ijp*y={yW7Da#(Pba9Hal_SGhtEnD# zM>{3TXl3nGx^YUkrsYkasA5SSw{~hKW6_wR&jxYu$Ff*=VUen$NhK}DrLN6oG!?9k zx*Ut@l+|^d5|fU_t!6DmP#e!6$CFB-g??upS|WbR9A z$*nZc*8J&;Ggg9%C3Uz#X|n}=lEu&@l%}WBNJc7hpfu-Tc(Fm^K2TC*PT5ef;QLmS zbMoJgN)@m2Ar`x?OYhC zL&ZzfYO+LY_nY!{6n-fvUmX>vBg*GKA9Zpo--yV{^*ffAFHyykI&S6bEMt`oy*S6h zL}#q-Dwfo7AERAF5tU|y(&+M=*6Qk3ntPx9rfZk-(qyYxQpc?{-DE79iRsfWXy6=Y zta&Py)S=djYfMuSeYzl;dv6lQ#lsw709x34@vuY@qR(2DP#F76>?l?}lK_H|pk zmlyhJ6-(-Rq0$2U0k? z_}Bh-m6xWKiY0a2O4CQia=l-jvHGZ3QimEVKCbMBxC_zTTdS{_*v>NuzLZ}CRE+kk zeQxl+zUA4^7qu!?46RE&Ngt}SGjNN_r5}|<4x|Jz66)2+i0_4O``n7JI)}?qv91y_ zI8fMVM*s2*PKlFy^zR=PI6ybOtt3v4_aKD5Z`#Q)Zu8T^}kIb?^)d z>a7%pLc#s1mmv;A!Ld>)WFUX{=S(K0S}LM(LE{x+)ce{Ogar>-kaT8P>bOzn2mz@0W%jJL-=qFUBMl zOX|4w%UBt!jOA8ctFLj!%2lzX4(H{_kSo4>bO;Gf=gb*uqMmu8|I95Sw)jdZkbJ#(aNTjq7LV?ow3Ylu7=ccql#I& zxVFrw8Dv))Sx5!#>_R59#gZ=|qTe|trpj1lkFJv` zUk{p6J|>}Km?{IA|MgElIS*+@lF?zpnG*>tg?C%N}`_pI8iSZO)X8}5WK$EDEl z;t)k09Ob?7S{-3Y^NeUnJxMgn8FE3TH-}=omFqz$qiOf_^sH)mvaVQ~?iuA+Rygj7 z1?5@3rXnw-4BWDOSY}x^kTWXO40Oi2s$xkUx3TqzTlKc3Z+^xZt17)>X@jp+a?5N{ zdHv|F{n*;3mNQyw^=3xuh*}|dSS|jd`;$(E5%ol;kcuI3WkYlS&Ii{zLmyVrmv9YT zX2hkUZn|es;7+Bm6bf==#y1f@y*z7R&tNvf9lxmXW%`|cnd?^B1%nsp%gP&;ezlE0 zQpc^XdF8Pvy!M;@Ydd4bt5{Np`Z7^k>PT^!m=jvDT6KD@ZQyc8m*Sz$sWiR5*cDna z%FlPkHcwn4^H16A7*{H%*rEO4!gMoMyk zH%`Pxgo-urYg7k&V}M^$;Tv^1z+H@Fn`E-&q2P^g!kNzT&LKw|BI&b9zw@>zD6ax_ zj(v5T1Dnc+WK|VQ>Ttz{pS@y*>S0hNb<4ApRy)-b8j8mDic$VY<9ehzrD+Ytz4nSB z4w}0uPKWHG2c4ngRTi767;as%#jRjZk83r{8S4=hOX|4w$ky^$$V$6==iwJsEaKf; zRWzw2C*LwIL~UnkhZ`18>+3lp%rRo*l*U@5yvrh+M~=^&GHJ|=p)4FeI&;i~JB6&- z?DsV95VEFQic=>{A2VTuYus2ZDQReG^3d4SwB)v(+NPv+@0gmL6q(v#a#BK4lk(To zNloy6I;ja>P#3>6>tr93zsD*d)y5Z zcyEY!>pg6^m$7F<@EFJ51^5ETKJ60w6NsQe#3mUJknK4qqLPlOcSf%w3R&M6mBvs|eaP z6tED9j1t+{EH3DPQe!5>S4AeoMm0NbF|~OdKBkrw9Cx_|=d1LAd@c63j>o2t9l-eU zEo=w3e28tz^lN~!l|O?V+vy-TzXuGD*${syN=Z8eL%&{a z@VpbvLUTD?U;`cS#7Zc3_H+icRFoR)8AyAjNM=sOO#0K3-o6GHbq}*4|g>3+8kKadIgdUNFPr`L4y0#m=0H=s-#4r{D zuH?wi$jDwb(CW`Y`YtPc0eFKI0%%V zKLtxJxJE^=AN*cD1+@ai(GC^L>bi*W-Sf zjtToAKA5r)u!uLXzYTbXfBN-DzzR5Jk~Y)V$HOpD9#M~1_Oxr=Yb$Ct2GWWmWf{uS z6w^3<98l2qp)fc@;^0XP7dYXXGZ3OdczDwwdsMF}F{2kM+ZzA6uWy$fMKHI&Yy zMnnu=GCB9S8{Ke?-?Yv}Ml%8Dy98~)HHJ6^y#siTgUI9A@^g%c?djb`dMg_J@YW_v zgy%tTDd1X{ljm_TT{!JF%R^~jLf99vTnazDGz^k^-p%HKo#VJI?g5@GGO-oj%mdu2 z#7BYO7Dco}{%bxkk`Agjyzta&CG-`@Hw|zQA0j_f;5S&Yd36P{oDXqa0{cV`Pk_^~ zC?st|&jY?HN=f=T;Eyb=hRGgBhgZNZq!f|a%rDyL4#{qjw-S110C8?u z9Si{M4WxtO>BwiJ2F&&jKK^kV;BGoB(ypIm4S9~>=Mc9Sb09XR!?N-aZ?`Yx10qSo zEP^;dogSZxbyQD2ArimZ9z|7ZjT>qf#NUbRd?eDc8RlQ%+&@2(PllAgemPZ?wD7Zg zRl!ioh1ymTAP{3eU~SPH(6T}uFQ0=0h|Op4o@8DNxu@Ltr3E>r7eS{&G+t1q;!7V) zk^_CKdjfTbk+KHT&^F`&EKh=`UpTkoaxjP754eCs3;zDMKX^~BL#gUcg7oy08_=B1{gn?fa7_;JPw${et9p9Rc#Zb zC&XdwqBlMR#BVL)D0v0^fF`%;mmjnhLS|R_<(;rwHuYh-X6!-lgm{ z8+zk9lP{7y$UV3VR@Za}yP91);JUAf+k_;i0OoKIb)m5l*Uxa!3Ba??SojrJY;eZ2 z1{+{ZZ}5*{UHNWa30xqsx7n^Apl!`%yL##HgJWWRf#*_jeur89>xRD$gv&wyLeJL4 zqR_K%44=;waKiJW_SIq&U09II$;WzCub_aqatgFXn}lPJGeyIyUa5GYpIz0fzL5vJ z|7)VKs+V2N_=pbIuwi;G{0OweA4lz2st55gGlS?@9n2DR{Lb(ocrL5scfJJvj*j2K zY1P4)aDsWDr2yj>sYyH*(4oW|fS=$)c3zdo@bD?X??Rj)=HTodb0Fx~Jvc;%#>PBg zoYG0+-GB#c@!0qnxKxS_zYv;&!O+xs9?h9($$6+f!nTI+?eHe>N9a*s-I{^m zQ#uF`o*=}N8UeOso+SBYe_T)HpcR0dtjBD=$2$xUZ0{K zKA=uGXDA9eR0T1LVCIwzn8qAw0^m$OSzG428rL{qi%8Wwfahd{|3}!Dz{hxf{m(O# z=b6k*VkUd6NhA`)lGs9Ri8XeywkSevMJq*V)vk6bwxg;f)Y1*9eQOh2sV<^LsV&r6 zTA{kD|M%SUBon{)_rCx6e8l&jd+xs9=bUr3e@uJZcwE=;!^UZN9ntU^3yisfH&JWE z;PwG4HcgyGH73u}RTM|I+3kV5A;N_H41u1V=EKUTp90v8D29h@eJD@}xZ735v zC}RlV1e5$W@Os%;9a6g}hs%c31E@DB5&I4;mhzMFvOFu+>zz|9FxsKEBa;B)bDosbYap$rt$0wv)C;=n1V00%dW~|} zgW$1FJk+Kj5AM_A^$-v*Tyq%JwB^M{%qX^SmDn0}+*+yF=<%t1l*+D&`svPQTTH8a z^U%KkVX|jPf}{Jc0|}1s8b!i+fA)3ssvlmb_WyDzg55xPcw*fW?;w1rHU!&HKZ$%N zQdYyW9YQ*Fh~8A(19v*~SYsxMtCM$!fk8FXR{lK)!}a zg_qEf$l_}gULbM$gw4DX20S`N%CeyXjtBFfk#Zdo7R84wv7(27))cJZ@9+%==x;|! z`X2-D5uPlVbjxKKyRRN!{z% z2?WSaK=IX-D-(6XYzV(?azpY1AOx8C8bq09$-&0JiJ8(8faSk!6{)Abz%RCZcL`6ScQ~QTlV=u@*nKvp=)PA85 z)&jLEY73xD8P>%PU~s(T;&tGe@|FkQ6TmeJsmIQ?f?QGVQQBfH@1Y+3qrib$AVt3C z2-T;6ctrf~0sbjFfG}Cxr*wyYUqp4<$`^0^+{PmF5@k2=;Szg+t0it+l0gJr?51=vg${QiI=WWiU{;as@!^bT(x_5&Uh zFV%Q>5dxPiP9F^uJiLBO5QBZKu&#HJJC;#^FgK{SysLpfP?ssjF~A>9vK8xnDX}rg z#&7r%#T>*<(cX<}(aDXDSbYMxU=5#l1s4FZ-m+0bHJ=&sG+zSG{iSNts7+w+iH!hm z3;7Yh-GGPXg$-za^D}?kKE@r8`-p);eIZu=m3-?WOFk@3<;P(2$wy%082nn)T@K>| z`V?HF;5@$!eOygAAIKF;XTE3HOHbZ+#2KH0CBB}l=5=wWlA^9!jDCPG*OO{k0Q@$S zu@05jbsf$Vrq^xYM{+q6BsVYWrHp7yj%|~q%MJw|BgPO_;TH=ZZ##{Z@H-AZzDp%q;( zKppUR>9VP)v*XiXLfC(Y!!IHVG*R3TpO6tenLuhx zADX|%(Jtf_c>7p5V#yds-<%45@CykU4Jg?W#M#N9f@=m$6Pw{# z>Z3S1{F5Ayp&>Oq5xAm5BxT9A&ynCKK`|SGjiR=}e(8{{(7&7cUs*btEbX3$F@9BU zl@Z5&N2*y6tQ=-Rk~vDse$E;~8*GSiWr>_4KosXZIVKcbk_B(bRL~^%BRLMFdBGmM z?6xOZ!#fe2@z)Rh*NiWG6S-<^^|)x%0mm~XN@iv|WDlZ~3Khf^x?7@r@|i=Y$)7qp zo8{mRFAahnI?9n~w}pi8+#=xxarlEzhp(cF)uB9mq*&gFxKBy3#sGO6WjtI(zpnr! z1wov`m&Ga6c1fH(E}K(sF1i%mN6$X=5WxaJV$(pgyE+0awbxPL9Phxk!0dO*tpQr_Y!Gl zGe-oT*DLD4FaD1l@Yt0adWln@>_u8gs8cJd5*>z{b?{C|XakCDE{>m>s>If_Qdp ztbzjI1*^;d7_qxf9CZX~S`WJXIYLNI*1=bDk_#j``5Y*e${uq>g!C*fn;_0dYwC2& zQM##@Ac!-@GT=5#3!q2%SM>XDk#wMq#~hW+_<6<^rf{IHRB+4@@?VqgO0MIMcR~gt z8R-6kmqSXMh2hH572L55^4*f)n7Ws#!F-M0+lDVqMyjja83kqsJE!eSB}z?y#ztrIwF{ZW4T(C z@t^wrw@5@1DoVFn^f89w;!ynKB)l;S;=U$vGl$}&RI9xr%^c-)ll^N)d?*Xm`KVgm zpindzH{f&EJ6JK!S)o&z6=bv1yssSzA;O9a1EpT-V~J-(C%;CAANY+Un8w*~x8e7V zBgq_-+zq6W0HBcA=zHuL_EPdpXE-hT#&M+W5tZUlcy3o{9MEBf4g*Pk04&G&kNGN)F>@_|DlEJkNs6GDq zSa##D^xu3SY2kl>N+F$@&I;CVG#Ie4hf~nY?qJssDnqT{{SQUXbVlIPV$~^}w#UKK z`h!OOx5JuE{7h%C_QUdT9U+yIyQWUR8#ynJdCW2WaAfa8TrycNcoLQ}z6d1c84o1onG7W5nE@o_ zc^62^a{%ZNP090(fW6%07u==kjWdp5*8^1=W|iusH_iAeb=2~6#1>Aiazgb>bw)w*zkl!NP{JSQ3~@6&=o|; z!v{s6k%xStAkY(EPFtUL>@XMd6nF`HA0WK`amEoeQi}U32vXd)fTXw|0PVoP;-9ss z8?l(JY;+BUI8y#`5%{NaQOqOUexL_Z<{3vws1TlJ^0UGMF_el=o^kkv2m@D=AkG;c zlR#M0>*=t8RQ9X`eHbaif(Uq}sd-uEe^Mtr=@tFTsk|{=5D$p5lyS_r0#&VLbJ69q z*t|+~HQ^=Ebp|pwaj&|du3ZT^)-W$zwBb#Zx4w6@Hbc}Z4$)PG;QcH8J_ZwWO^W>4 zR+?&@bEKM=mCI{-e0Qxq=UA?V1%jD>chB6qf{*74^OfD?xt@ryrEnt8miVp1&{>N- zJJGE@Mw~mu&(K{;o+r+oeQH+;VkR|x#}yIA z70e-ag$}vq4eB`3f*2lkN-$evvBs zxct>9eJSL`&RlSW;xl?wq$|$-LNDL90*kX5K^d#?l*{ZI&d^{sLdz~QljCmuw9t5IdifGAhR@QDcU^HFj=FSl)Hkhk|8xHeRXLOVo7H^auU_AO z%{X}>;Tpzf#73D9F`Z`x+KuoQATY;(w5AwtMGYHcqv3-*vF@-h&wgC4I3ZZZujq=S zwr_b#S<`HEc95rnUpm5aw7W-St)Px|J)yLWoaNk=vQo-L6bGD0x#Wz9<`Kw07HIZ* zE|XlTiNQuwQ*1%ue41uz+OAe#do#7!w!D@z)_wV}YyBz~N1aRgYtUNuQhuR9=ggR5 z%-}4>r4=|z6T*d4tpc>TovwWE8|Qv;O_|D-isJ~QziT<;sMFidQh_yOu&Pn4RHc&W z<#WD~bOWKSt$gUyOjOHXz1B9bTpYXyO&Q{di{w&yiEIOfe|%;Zl`Fci*i(i+wfPz< zGVM+J7r|6q@x^fwrOb6lG%s0GUeB#&oV?|KT8)cW^`~`LYEYYNjpWd~Jj?Yta+riKLwz^c9^_gAkN!u}*Q&**Z-M@<37`-0l;>$#H#pz4_5G z{&8k(xbyK;lE@C}l$C@6a%4%xkwG}_Jy%5Kk_Gg7{$)nhfTL2{a8#qdGm)BeCRtxWMrNXFc17{hkS<5i!6h}J1pnR)Oth>_O z9g`auM>?9aG<4mBR9k4!JTnenR;9u$lxuaB*6@hTO|;{C28_lTv7R2O(^e)I$FReo zR-d8x8iA)4xI8Y>q$9z;C`#(Seo1E)+zrw!Tn6e zR74_!^9?(_`@Sziu^=L57fF7xn@542CG*j}aB>IXAOdrt8wY48pR;#EB4Y_u=V#(guC;(;_c zWnT3S=8>r~2v?6@7V(czt`ANu?Dfm1LnBXJF#x?N&KLIt5Wht*c%FAwYy+CKCx4Tyh(95iaNHP%yoe$v?9#d*qbQ2uq_Sa;~xxBGgj zGpWpIOvw6}*?)M6u=zUL;oYCC`n%x}ujf{pi4gitw&TSY~^f5SH-oWHhk?bPV(#8q`s&hI*?)KcWU?W&-E2NdW0FTBI(@~Kd4 zyyfrMDZyUf04JB(VtE1op4Mv^#FSzc+U(^&&+vw-Y=%-iPw6$FKOz(#9(nMt`giqg zGZgQPo0`EC6HW5-DeK|wf;ZkCPO7oYS|L$wqY*Y~y= z=ZOE2=t!n$ZSa?W(U;0yDC+HK5|>b!N3>&bA7?G2y`(aNDOy|Uj#E?fOU3!<;i9)n z`Bb1y7yLs5N1G9hLIkSm>)@FtBT@~0?z5kC|7p9ock4_}3@u!hs>hZsxeDJsq$=ea!N$=_p&BfagSYQY$sMNOns zWs7~WwN^hqn@P4IIvR(I$X1|$)FsyzcjkrhBQaGLb?aC^ zO4;m;_1Nue-yL6^Qf)l{d(XFGFn6=e&u6ai`n2(*kHPQ$XTyj+UTQzeuWXM9FWQz5 zp0j1R*K@2NmEM9RCRWdn@>1vdQKv0VZ*Tm)%aN;I-!*1oCUMqzPr#c4^&3x@UdO-= z{tZj!c4X#f-&noV@NEw#(}Ld|VOC81pI-3~ugLvua&dXSHKUt~C}iEc=|?}e!<@P0 z7vJzOKGX4DuGQLCFM6xy0aY*XkMpn=__X4fEdF%7K&ulN;;(XJnW17t2J4dhsuoEL ze@ENKQ|mS8fyYuS_jt27WIcbHw8mZGsa>AeH`R=9mWr=r>&>S4KXBCOP0Ow#H`Dqw ze}8syoJ0I6GRs|os=aIVZOP{huh;8lgmYDdoY{pYg|RFgD~l=IWl#u6)aO3%EnQ(A zSZrD;bP}E<-|G4V7XU>)W&@teX@MmwXz%L}<`w5;H(tSWigM%5h%m&;FG5qgEljXhQ3Fz&Y3Ji>vsKyAX!WjCiRrrRb+gjtUKnM#y*V zdLH!pHZFyv@yom*@mupZpMaArM zs%w(h_XOUh*@4lK-?Z=#FZFsUnmu3luF~9{y}pml1XrkHqTOmGQu+=5i17A`fHDm~ zW_ZgJ>LyQuJ=VSUY^_Oe7Z<1weT5+OLV`Wi|2a1T;`a{z*{C1^b4v0}e}iiMgWct1 z({mN7&_+$)bC>n(opIK0RdGy<-IQ|^8;w_T9id+8W;fkrYODTlCwi%0xT*Xtw0StE zgnw(TLrTPS!%bapAwD0Qa8rp00}dd<;3tUix`$E^p!4(L z`u*Y<|Mt+N1Fj0sl#J2q8_xGE_yqfFsrzR zjqW$>rO{*3Um7@QN1?Nl|KuUBygaU7$L{Uh7pXqhj(K&^z%ehs(yxS%=s*59A5m?r z^}mMsZ$1)6Qi&;2B?3et0;}FfcF^-6FQq3Ai`pbnqA&My<`)59rJOE^0IxrVAc9o^@|X;3QW~4#eJ(&`w(bG{DXe(DEEJiIzKCk3BejW? z{ykVbjq?Q2>~Lowb)IO1($;Wih^i51Dw0|T{)=WStT4zOLS6TW4!OfHC3mP;j)2}PT(K<2B)c|Tv1qw8wXC!MQ<^gc&*Smx zNqz9rchhpt#=9n#b8hh$^_k99o$rK)*J)6<#F%pwiLnJ$WSO5b^sZo%`+kUrlg-#LB(eGdPE<$E$ho znFg=ZkxF_lAc{YQE2&$4DUmv*VuW^z5-p8#katXvlBc4^2#uz!!3^;lLY1v3Gemkt z)i|s(GmnLBP1UQcu6{nWy__SEJm;*T8q{)GohFxGz&MW(b1+g_TzFqJD_kml8lI)B z*GWyWuyavXtuM$}DNDL|s*SXO%>(b31D9 z7kI6!B5b#-uxua{gQFo8(XTyn6kioGvQ;Iqq#n+=oSpI52_Hqy4uh_LQAFG^wq(o93)p3GgY1P~GcPD4G{%$Q+ zVPlceYRcyCWD$=N7~9$7vJ$ph><>{#7Lcq8l*hoHKCq*07vhc z1m!l7;8gu$DnEM-jVR8@+k*LB80{UwS&uV{!(0_D8Y?NHu|nWT1NBw|;V6R-xv}PJ*4)Wk zh{j6fAiTKT2Y!bdA^?8DvRRqe2s0@^Ol@vfcEEka)I7Nc{EPUpT94u1*kY;Dm=eZo z(LR7(l^`gtCDWQfdPvQFZ=lAe!s~Gpy4xKO7VpCa@8?aG8lrI>_)$~oy+O%5KV@#< zo`Xypjp6QYD%Xw%p6vD0-c^F0(w%p}?^8-aIOlT~h$z4rWxiJ3HHE)iD&^XVEYfLC zMV;|3i#CS}szX+kgJgs4FEdEBW-K59JzG;kzK2)YR`Cvi|Gs8Yt@nWcEWr!0@YZ&- z%SJcHoYq|N8T)`gH`Q#fQ+^GMNj?!jqMFY+h>u_qVRh=3UIJ(5QmdAG50H>Su$-whKAFM%*y&dwb z2GI_sH{+OvQMnroO{rmTWGcNK&*$oyV3nzPaKA%QAKRiSwG{+aI?37*?Rn!5Y-SkTz z?1u14Q(bGE2L0!{R&3Aq+B*E_9^|=Q4f{G*)smgZ-;10Flf&!Q`rkEov7N6|w|)b) zGvTdAE47_pLfR>8Jysy$HZHMSqP89dE_5kBSw)-rv3?RZ^3mEb$~%P#J_D2-)At+T zAH?@h_KkM%)T#NSFHqtm?0%O3u93|?4aHFfUc4LVFY z@axlGVe@Wvi^RGgw&UTlORvYf^f`i4Y}k!-z=T*`pc$OKP8pw#OVVAzH!-fman?RK>D6I5R! zw%ON$*fw_!Ryr`4WU$SSGbV!cMX=hd8rTa5n%iS22Vw_J>LsiCvZ-#QHq`;u zZRp$J9D$uJ|C*{<&$wC!YhM{PRy03W(~i?(L|a=;=J8Yrl2IL7$17!N^$DY*-VuAk zUb1!M8A~4z_aYhzwJpfvLVGI?^OVMFQ>&56T6iX7b2tne^_kcVE-o)gZRL$(ob?zK zv-yp|&0sBrH+F)_hxLm3FWB?_EoxhA$fgRalc!oh$N;jL8Z}pDz&*#*yxs`B4Jz{3 zg5>koFwVFLN+sFerAMm4%+_h<@%~Rnlm8r~+Rmckyv0J-xmVpaXx>F<7fb}ZE?ji} z9c&7gZ2bFyGd#R*-T&j9T)IKs+I3{d&jTw_1{PXy1Lalll(p`+)7CrgSgYnMDsb=m z;?~q5o2Ryz6?;&?16QmZEj4AMHH8&AO#Xn0qC(X-B2 zV-3hU1~Z=kt79-XpzMk`srFQZ**O5!GZ54xCdWPCKZOIz>))ckqU9{n7|hB3<{=fh zzj?U-z@{rE^=hgy6F!Um2Yc2q9r>DE-`94}1npw#+$aZDlE7Wn5 zZ$%d$u|97RQ<(|wx%LoBi1qyFJ1Tw5(0+qQj-j+SJWXj!kgH_~uSq`YF_1WgYT$1S zr99C?=tY7^aWvHqcFnDVts>a4HL^$mtZzzs#K+Q=11MkofmUI=DxO$MI)sOF?sszd z(W+l<{`5zPE0o%XxEh-AU{7bplL{mWcLwstGnj_Y#nEoA&E`jUuNi^G@pOogtngpS z3KvzPXwOm5XX9NV6#t=Lu(g$i(qDCl()v(W*{*5u^s$u2-)aiskA-_@(XR`Dh;It= zg`4wavuF^%Giq5A=B0(F&THd)n?tZ~H3|xIwGH82s*fcafBP#`6My?j4MP1Q7_0QE zFjrrbjXi~px0wCN9gfWQ?uMoQ(#L+jlpO9l+gl>!4lbx$aTpHS5C42D!|->yLUZv~ z_%;GfQ?wlX6~6sI!Z!uzIHm4$MARG$XtPA&FaILdUyc-pGVxDD4h3O6L+w1bG&0$B zpCeeCKzB;JqC&(Iz1|Ff6$flN1jQG{HkI0zadi%ngfZEgS>V0}3khWq8}vEi=)3oQ zqYU&=%a|JU@(}-!aw&USfW_>$mN_kAB5%PBgL|p-+R>;ouJV%;dZ#|Ykro=2_=g1w zx#m?XOd)Pg&WewPt2s!adiX1Rje$7JJ{GP};p-11xg1rDCKn?B<;(x`?;Q(mviSx2 ztpql^MHl+9jB90MiGx!Wgwu$L`T!;4pO0k_{z{L16-avQB%m0Y`il|5+9uZbEcDqS z+#`Q>pWiB~GOB=N)ym_Ef#RE24^dT(Nv} z!+$CEMTnGt3*|rcEky2u-Lf-$6-8X7m6lET{8JfLDfEQinY9Z&L`w>}FZH zT_q2Zbn;I~f1bSHFsMfaN>&Yub^B1VM(@uE4JeMO4JBtmMkqPboqzs&YSzbHY#-aNz0clPGKx%oxx^m>17C| zEHP8y;U(}BlOo^$K(^%l56ZU?VCxJS(qGQtgYbJ5RZ%LOg>25zbEoQ6C{F0Hjn;f> z;F>SUE?mAP3jb9}GnV+nwf38uwLKG7;UgRD4*EjG@%<4rAQU`mSD-L{4 zuU$irDozRZ17jeBThvwd&W=j809E zBaz1p{}!kG-rZZq(z;M9qiUWOOsGN)D!Iy9tHL}`lsndA>2~Y$D#evhU#D-}ezB4K z>C;Q?U`7^?I8`m<&L`9!89p6u>=7-ck9K+4oAf}P#)sNtJq@O9zgVp}=FvKB4u#ZK zQPHOlEVbY3JJ(EsmjIPQVl7Imh(7$F5_-m3^3=o#a_#-%!zNKr{t^a@R>+2@esh6NO_PnomXna>+ zYXooDwWWB&v3@mIjJArNujYz3p08@LOsOiz#ks)COIZKeF4lk4MtMK{&Y67IfPeAw zY51yN-4$oB^`AcRa^12JcqQfOdbF_{@R(^J@doe%WgyY;U{J)!MJXK|fYqY^4m|7_ zI8Y0rZ}?^b*N$u)vHw1`olfSyi{EX49!XyPBd7p|4Sj$ z!j8`NcyJdHl|vi9WL}JB0e>VHqn_1xRTxg(ld^@xKLGJyV$r>*UJ;F1PxSS>0roe& z_>92X`jqt%qMiw#Yc(a0AqlvIU}HV7kpkF>ly#qxfUk)OA7uuB;Qmm&jsu<+FZKNc zV$-!yqkn_kBT?d~)WwcQOaz<-ye4#45`@{Smo2!8c7zlCJarMNY3U4|lV0*RGG#ro%{H0h3P=}T~Y^X8L z_zmP*Nz(ZnVdD=op=)dr%OAPWu&~mozCXPJ`iCaZ4&b~JCIBu|b`qkw33A2yDjHf^ z*jR{CPk^|mnR>wveEun+JRW!6U==RgiMjTS}XI=GtH22icAR-<57Q@6yW>xF~C#!hB;bW%`9>H z22iTfyU*a#D;N3wlJeKW^A2TJHVsGUynJEc!W5+SVZ##djz=l;kTfO$XEJ3*P~G8F zr5teTH5##5iHi*p?HKHEr?761X*N(=BjkOXkQOC_w3o7(beMf$ItuB2 zNrj;3_Yp-;N@QaL?>12%AJ*ggId?YtM3L3VAnhBr7#W9Nkpt@kV%D}T6@a8qZmLGx zdRw${9Po5g`S$v-sk*$-pF=`_)6^ztif+l636iC*eg^(a8IaU@k5XCeFSP>fBK9Lk z0nQNWTENX>l;BIg!H#zRh)A!1dbpX~B{`d;kxh$_b%0xlX~zM8FTvi@b=)D%2i_#) zqkyNt4MQ_{?J_4Bb^i~XeDj2P!4lsB0st-K`eQoqTa>p66{6;kk0~t$>^oYBc!9b@ zyiM7l8HHe7+)@QI_O`TGj<%HR{U3pUZ7E|l5ZBTbOe0NvS=I>dZgPSB3g9H~-8PmH zEfFIn1R44WUU{vg-cAD-Fk3WqoE1klIP9%axYp`2!Z-?ismzu3y)N|`wme(KZICbkR}tye+l-H=g3D;Izx1y^wBB%|B#cL*4}jK|BaHK;wOo9c^XyYuJ|6f0bQJHPB#nwI!-31LTV)i@O~whAHEeu<%!h=g?J{pjv{w z-LzkM1NeckcqpwEa#5~5S5jeFJ(@}tT5;{(6P=WOj2rMt?VwUOUhe>@xen64?@>x? zcy9%%Mn}0#oYavEo4o~Xsxr5U3hSY!`B=6cUbQ+2+q6zNO;P4n6!RlWOhqKSK}qhc ze2qn&@g=acq_LL@k`TdML~s=3&S?@sR+?G|bBfaWf}+|WmNOuC?;^3R?}Aysi^TE` z<=00oT&akgqaQ%;)m5VTpex(o(<0F}D!Y)kX^UvCfE?A0rd)#Irf%FeIops>ZVW0U z{TalgW~brs`KX)fIrPaJxXM*A+##(UV)zZ7&ALms>VaM60LtE8l-DVwHRLAgfXvK? z-w!6=FTj77;44jq995+r5Yg#Dxv$|?7H~E!4i;q>*2+1i`|qN0KY`z`JtRfnp8Tn8 zYQ-WxSpI2`n3{l`)l+@tya0Hs1P4@2I=G_M{bS&>xZ`|Qacu?MPl-D@=iD2>6Q|z* zu_on3qqlaz1oRwbz*?>pejH70jK)ewV@-$GkI%^}^)oQ+s4|-x0pXO_5fN4Hh4!SJ z7(~4vprFXl!qK%JU#7y&|q__@n*3~dy~O|PaL}NBT{#;>^5LMay7Yf8SluM!(w~+Vx?+r_NH5!0eO6P_ zEOl{^?dgzPr5l-27_^l=uJ_XDlpYJ?jwZjYzg|eF?nXDFkk33 z!0@L5)f>yJ%YV+ZUdfLq_Y}zE>1lw^%cs5xia|{DPY3xAO6!Pt>iA>M6yd$Ta`B(M z2>E{zWV|-OUjr8bu9B|<$@6{9uLH_R)Is+Yez6v^SqVC;ph(A!?Z%B8(2iEUOe8bzxl6>a3 zvV(H#ANc{+=%e6sh}d3Y0Nd1n*q%%hdT+RgQw}8hjIn?hAj5|*TYAMnHXpBq^4jw^ zKg^>rU`R24xFC}^0e4@c{&4wNm*P8M@i&|=K*at-O2MB2y9CKJIXDPP()?8*8cz!F z*Fg0VBn#Brl=3GM#s!ll(UiICBrNWApRDY?Qq1)1MD|{^d&B_5NS35iUp| zHZA9h-qpbH+ZhmEueQ8sp$@r`{~@Xt-k|7fGWT$+>ftptd@SP6T4B^N+^;hBE#t!d zI?{oSe#M5R?WO&mql$moW9ZG&ela|t0xS3+OU|10l0=&HzoiyN_e=ZfA!@{NaRN{{hcf%4YV-%TS}sL@4rod~|_f z2{jUxExH5nY_MEX?zx=BgHj^>qG9@48wW`XWkYcp$o`ZGvJp>glvJj3oQ=Vv9>y31 zG7PAKL;n}hNr_R&edQHWA1adiD=e0+G!=CHYrylu@`uTys?7Io>}}qbtV{u(Pf-<- zl@F+3JhH+jH}#z$Cs78-M!S`mkypyHHJ0*UW4RD)$@Hn9uS>yDH283Yb!qn}o^;I2ar=H<$r8a=`S;e$oDo0Q=w{ z|1>ICX@h)k8)SYkX!u$U7NgB3WPX!KNRHlQ)@&6-IS(Gq-)u%iW=Jqc#t`;lFaed(HT`Y z+FBLq-i2Srhcd+9{!rOCMiA`~Wll4T?5Kd)et;LA;)q9V{vWaB*8F(HrWWfYN}P@w z&5B2CP2soaBZ;j5_#X2`>#mP^e)*GOb->QB8GQ8Nc}AvrQ1KM#zL z>dZ4scpU#A)we*NM=3RtYW^oUlYXL#Z2kL_5~+r5qvVN3tTn>?KW>{W(Yd@SsJV@A z9}^Q0!9c*5w@J1aY?FNC!mhM+**2LrXClEnU>ZgF%s*p01Z1|$er+=_o@Ph{`2ygr z?W!B<#t!bl86fM80Pzu{778$UheUoQ5gqs?(5F#4==yxX6~eMpSXBS`6lA;-!5lXL zammDycy>x8>iRc)Cu(P>Y&0eU!+LLRWMw1ZuAS1br-5(nGlccA>ByY{!}c?F^EGQq9b{)U;AVll0gq88sMb@vB`8lW){7+_ zw@Nx5nhw5tvHoj1rg-2m_DBR-brC_J=}>ItN;+aphYC}zWSIKmU;!#iGt*;HJw(>i zbnp{g);CNCKOtj%&kRx;K|V7*5|R+)dvQ2;w{U+CU+bqQp$={Pum{~Iou&G|61}bN zKIv_Z_en3yibIK7?voOoOhJr0OhxP2@Ec{IOptF zE10$FerX&Jc#L}R&=06#oN|DL- z9|9kusD|MFDpxYecLe%(podZh=tiA9oE`F{vijx;kLn$R^HjY!dLpkGU^*uJHvk{x z$^ON2Q215*MIJQku?mhaEf4ahE2j|>_zdvGK}q1Y8Gw&h)bh0ljaQDXd}L`M11=RB7tHbs09$D}iDor6H}$K+^{ z)fA2faQs;+)|zS(?=!J09C)kD2tZ`ZO^;;U5?eQxbmW>2zCX5}GaXYpczmqaOow{I zCF;1cVy`xzgO0N~q<|D;Y1(n=$}Bsj&jp<*o$1-fmGXrC0Z3aYhe>;mOM~`8IroDc zN?J2iYM&D*_6e!fnJ1)x{JNTT;R#hhBLdk!aYBi|-8rEu)G-rL6e8R>D&!~*e1$#P zSE^4KH-UfuN=;x!$k(XFuchNQ1@20j&B2}lIPq&q@tv<#jLTb~71x2@>l=}HJob&n z@*O3%0Q&<#>q(gsBTw?jg{e$#3pn5;MP?e&K7jKnpQ#@J?mekCF-8?+{P0PspX8QE z;2u0@=gS`LZayEMGg=}{=qU)TpOTGF?gErN;Z%u0ZQ*O8gM%P z@y}dpQvnx%beht^q2C64#LTi`um*i6z42r#WTotP5Tg4|_RDvH{~)b3+9>q2R50)G zDxPLp#x#%(=NUBD8L7xRz^RnY++EJ7e5ynD%OLllLXh?TXK`;snW?<*!R?cE?pa#& zA&g+J1pTp7{w`y3$fJOZ3I0|3MHaa#^>zQkbq^}GaF)D{7(KVZZ6 zgUpQD1wOyzae(*>5N-!L7)q4hr9_JJK|e1np#^M8dTK|o zBo~;~-w|a^1${++XRCQs3Y zOl}I;?xytBVK=3e>iXw35c$SOy=l1xTrrf{1p!{Xg}c^U68%zO7$au#LBOwXN%VJt zA^y-6;`vn%!|N)OL69HcLyiiI}-C);5R9%8_4Sbx7?AK zzXFDiCzGE5x_*+FtNdhUoaf%UAaeBl+?f8#PmnvOfbIzJ51{W|2@rc%0;tCUYJtcB z_-nr2_bxxTlfwb-0sd(Q2)ic%B6}c(=zApsq}}7qVp&vH`x2zWOYg5P?^BD}VcX_>U^W2a)Ds@?J|`am zbbk9NgfgDPpr0Qx=31KrSm#pLs= z)J6QS5|0Nebb1mzT2g~v2>TrTRZBr_&=?DP#Ya*{-5%ld1m%Fom;|`+k*r`J0q-WQ zH^^rIe>TZ}zp<)C8pzgqze!Cj^TCB8$oNjr-1HB2fv`7o8dd z{VSUtHM>tV9a-%2j_FYE?i?w}_D@MinI{r~+F8_pB6Y^+27T-k>;@>KFWPPvAimu6 z<+ghb&AJ-yT9gMb`(K)7F{~P8yrxCzF;>k|hXVS6-UYBP=sDN*DE$pMa7bhNPQZiA zKS+zRT>(h^!5XFRgl%`3{d>4r+rn1Srcv4@xFY-e`PgG@nx&r){Kw+4$Fnf4bdA#b z`$gL{-Hd^EX|~dEY3Hn!poFARVHam5TU7uR3#;+i6CiOg3Y5%|$m|R_7Eww%V%cnR zIe3TpDd;mO6LfowU9%+EHOfDtN7*_8AhVTh0{}Rmc0X`unhweIyKr%GDxx(AJ&2|b zKt#Gjvjo7Rwu-1GK>DAhD%qL?WL!WIvocVrox#(eq6UI}63lSVbt0AFsH9B*stAh) zq6oS0!mEXN)YOR5H~49Idnu2DoCN$4^z?KT&FZh=sg8gbK(7Ya!r!D1fa4`f2i-Ow zG!-i!*z{HK*iJd{(2oJ)E9(nr>qXHHj!O7gRnYzyJk#A8J?`X;(nGK@kD|0eh^?u| zA@kjWHN;`2=c~kwF^OjDyv|{2&cVtto>MfQp@;&9Q$0j)ox`1#o?g z4AF2@nK}gQ#I*Mu6@9T&{t)E*ln=6fC5$6)2t$o?cRdWp6^a@P_B)_)6FGW-{}Jfz zCa@}M$R>H5gOiW%;7+35oYgJBVt&Q>pmVbu?>eyn2aCD)>5h&3p&~k2CE9o;p zn?qAUvo8VM4!RnZ$KZgpHuF9JjdS4Wh+O^!dMZVY1pgOR(5I@H+58nim5_IzHcwTM zd1!VjC!^ z(a*whjdDP@Y1Je_JD*}4aHz&qeXdqD&9V-Z>?!DTC*U|sX)hzlBha`YYBQx(M z==PO>8>+(+bAJr;!vLxv$wSdpU&5s#PQdHC`dKjIeTz{DGq#3inOeha-ZcQKjri)+ zz71aWYl2dsSMKE z;0ES_Si(j>-D>i2{n$^!uU&0(;7+W~y(E1!BHIX>>J9Tz@B2V+O*x?3r`OReZ`DC< z@dETQ90y1n1NskuH$mq)RM+cjP)SW=dPBh0bY~K{|Gq7Qvv9<<)Eq5_@t?? zhDRDDzKQ?~>T8hXlQP(L0VuAlSCOaB;kB`WSsmvZXcnjsBZ$rRj9DE$F*w4W;dwo3 z9HPoL#0m%mhtM6RSa6M}?r-KL*^F0yPDVR@|QwCm`4$z_G2&##;i% z8lfKm{0j5}yr1L){5$0{dq``|Ql&KtI38r+t`zkK$QgjkKvrF58yufe2I#hnpmB{k zK1ceuLElPw%zvS+X1UeYY#yVXhD)G;iJ;d3Om1g3PhU7*5&9y)RiLY8*b5-dFcEcn z6kgdKG-})%YxE(^o!^i)2}$4UXeNCYNo$=n%lDK9y8W*->?pdJGfE6VdV6Ojd;Kn& zile1H5QnA8sOrtX2G_?v7ZW=eje~n5#6_&2JxoM$)MK)Y}L)=e*unBLSG2D zwuqh!$Cs2i1-ZNfnkvhpsTd;<;4zV=!oz;3J4(`BYRG;Mj>m9t_1eq!KtuO1>!>9h z&rv>y7za2VbeI5s3(F9Lsy-KA%tE(6+u1%+z+~Hw)1e@pnz$h`#g(Y z|Ex)`2S+nX2i?{mwBlIxQSkViayUTBbDE{Yb7p%EhhqY1(?Ne5a6Ra1xE+E6mlsTb z1gP~g^BMtA9IL%1?gjUPqVj6#jR8Z29Hc7XGri3`JqyPRlrjVKX@JX%=-c7QRs6O~ zpmD4Y2Uh=|LI0f!n7?&j^xD1{C%pB^fMWqAz6tt=fV+z5r{O3Ry1SodDccV-(hSsH z12|CK%s&orI_PS~$cAH&(9Z&116_4ht$$I`W}>V5_tz}`>E>qX<8%&^Hxt!*7BpT9 z?G-UZe}Y4f1+%a)`VT-%ydmoYuPOsH9OTnyA@z>|_pl$&OJ@PpTB=S3*UTXD(B3^T z`jIvp%TU#U8YJ+u0d3s|n)yD7>Yz7sBxv4zM#~Y6NJCi@*HqW8krr^59|raXfZmNO2_ngN-hHv&w3 zP14W@!!b$ds{l8FuBOMM0O}NVrU;xX0v7;O-tB0S%LsIX(iS7$c!zZAJTFZD|i*_?zj+&>U+yNN~n%Za?dj9P~81{(qQ;UE8? z8k*`C&PT)}pu9{OV6Z1m!6tl)^gulw4!rfv^jU!8rZ8X>?fz+d61Y9erk$u)}5Nh-`h zXMaP%eQqZ24zoFkZI)&Unq{sHiEuQgLZiah?XjhkOn)9&k43YRTOI$0roE67-XRcR?@Y)69I{5M_XDt25t>ltqg4M(}u% z^5CIQ0)!O*%A)yeQxW5pT^N|#;TyIP8RO04TMISVuStIgsq6tf4!TPHCL9kbhv@-t zVO#eW`WkQRfV+~m3aMu>shhK+FP6|ZK`uvWAlv6I#*(|(917dvI8510zY6$s5#4VI z^A|Gx8NgOc%r5W(9B&AHCE$i4`e8UOD7yX^AS97iqip=)$QHBItOWjEYp=6ZvwR4O znsjc$@sL@gZ2`-K%YjZ}DZdQ!Crt(2?j|hY=vr!>X#htX%4hlzz|o+qbtV&z^+G=c zh&`k%_;{rko92u);E!LSS&~*rJhtutYJ?5~P$N{0$>DIRK9G=woQ_0@U2kKx?26Sg zeI@RHC_M`?%>#UArP&I5;5b4#Ouq(bd&i_ly`$kpdo3F!YX@4(pBT_Fcc{Z==;Ua_ohB>(=ykZY}^ zBFS48tu3V_d52J^KT3%q*Ev=tqVC*^dApJgpN(x|wrmOR{h`~6 zM{F87sNbKZ;xrF!;s463|E!gDb-%9j*|#=5fseJRkcc}bbS4z7mrgHb`PQc^|61do zvTU{Bd956^US>4f^~&F+=2=A`KkDC7Ry{naRs&T!^Uu?TES;E;P_LHq;zA~=LiP$~ zZ5p=1Lo;n|*4F*d=8iWOIG~y8R9|0=Qche%Iz=F`K8)%p`A*!Q8J*#=&ty6R40E?9 zkHBc?FD4VWs$p|MW5gw&lwSgVU4-a)Lup+h!uC#lv9-JhziEDArse{w29`{V4C87B z8@7!$Qo$AqW z%MSI}Y`~rt7FFX1P#+3a4{)=UGG*zup%RgI@`<83sB28)S?>ey5c@ewE9P4;fh;zbl_(Z;ASMUfSe$cfPmh?*>|+|z>5ob=(!sjGBNg@` z@Gc2i=xz`EpuWI-MrHKII;QY`ml6W|3z4ce?v6!@CMa-u;a3?W;YK#Pa)1Z zukjUdfzb6Qz%Gia0J~vT*a&Kz(I5^VZ7VC;fHZvDe7=PF(+SG_DJe;kCGe|MMLw_g z#J%`Hwts4Bd`+d41XRMZD(cgsb3KZ52rNUZDmfB590|>49$xz1s{GBlU%D2(yu4Km z;2DAOkN`5Z{96FSmME0}@j}PcMC5J~DEm!=siDqU%?CCI-H$N{r#7KUl%WB zuyO_5+fBbyz?Zyw|N1|0`zd{W>bA&Na-nytf&7XR|4hKeqTbJO>09B(8ISe*?*RVB zUeU13kj@(X{LN91tjV97^Fh`p0YYDkEdZ#|3XR-4D8_b>kJl7I)QiBkg~il^D?DYG zF}X2jJ5ky@__{d~&{X>0$~JlnIi7VO?oN<+z6AbWRR24N>tNtm_=u|i3!kP`$gw=1 z$nwFNtDxjLiwf!@iY1_IN|Y$}14BA>6>_Vxg5z&px0=d~pW*c|QD(nUTM+4E5C-9! zB&y-HS}a__CR~Xv*NTMzCEC3WKJ~?h>zLZCxSb7tC~jvYVKi+9r79Kpqnc9duwHPc zKVnex?ki%RwIO=WG@GfMRT}k8ep0BujA(c&Ct4#Sv|= z1=sWjBA+lBcpj_Z;~L{7n9hXrfa&!E@J;bb-euE8K|i+=rsaTVaO3`rNNg2ZaDV-bM1B|e57Rs>`-P&it2PwBRN!u`yKnYd+(0)*mM4Kcy`ky@&KaoH1#ky6 zQd32TMyz$38IO5n9OZ!7IuEvEuR;oj&nw0ycz18CI5QhVeUBCR5qCWLF?9Ijtlu5#jCe>7EF94%DL$nwpAQ6m|GC#Ht}3gGvYhQ4tS@RVtV_CD}GrWIPA zv&y8fvfI>Zj%d9-;Iovt5!q9{_ElEakJDySN-KM`6UPk8d*DcEzI+KJPYaqumPJ(d z4YpiYwuRJn1K^gTaj&MTfpAYY{oVzBp9Ex`aKWxJ~lTeJ8^6TZ>T5w!TT!W#}4iFl7Wq3;9yN$7M zwyuiT;c_RnbHp_SLeoWdH7|88h4{MpqK|@MQMLC*x zgl2Fj5vKj96U!Vy%U&u*JHx8>P?%(E;CLR+va~ag660iNv@_K0U(+gTe^E*s#NtfD zU`Ue*VY|EhEa(DrAzf4~`YzzlDe4mx_c~x<7o`GX zxVvKfbd|2y2Dm$E#hUk{DZeceo(%FoU1ja=`y0xp=8}%xpqt%I0=@w}TNLtH(975W z_g>TQd*C0vej1*-ZD_@|5%zrl+gWd3d$(91ZSQ`yHuh;sRrA#;?$fQqlj_$qcYNx< zrw>0NbsHokh&La8B4yi0Zyj?t*H@u^o}@n2Y$axsi+3cuIyJ}LSt}l9tue4P^YWf9w#>>7UuN@E8 zY+og>{Uu1)5^CSlWpEhZBarS8@i(`Fg0|$*-?T9s6g8sItEWHaDM|kE@ z)n5R2p+mZ++lla|>T?6&4x$mw@3M`9qBM&SE^|`yU07hv1{?OOq{Il{2ZKLspt3EO zC>M`irT?sYR6BBig>3c)`IyOa0r*x47K1gQ&6Zq%g8qkI`QOir!Omv8rhV-mY{&-Q z@3ecKGrWG{|Iw1AYt>7VQ>@Y}_o$X^jwY)s$JoCvt7B}$6>Q+g+R&oV<=AQdzgPaJ zSFX5Y)CugMO-^8++f=!g{Qs9G?V`|}naKN99QsH5NSn{{!C?jme11Y8$HzPm!=|ip z93BsS6$y#Jj>6y?mqbc`nvkq zsEQ!oYwzuGSFX4Hy1N!*funp#5K0kRY!Pfxno_kOK};Y5iI@O^(lih;Km%w)W58(H z#31FPl2n8Wq10*!q)G_1#X^Ii6|DLPf`A|qq-yjxGh43`!hf^#_Pu-e-t5fm?wjAw z9nKjy;UVUnl|8l(RQ0p`5c-?VR|5rHQ(tDGs%ig2(Mp5AzvO0A*RDcP%*R}tUTg*A zN`b4bm6CP(kX7x48la_Izg^^~anFP^63LXUr$Z}+ItE+3zZMKBt^#XV#q7OSq?{|Y9QBJ{RzmOqIcb*8FR#U8aM2u zLY>MttcruU;hh$7S}-;sJJx5+%!qgMwz3x;drJ()ttufTm1t0ZkjmZ)O5LFsv}Y(((zGhI{%38 zFs_-0_HSqthW66~z|<;CFbulBL}0zUsT#LRWaen7W`-D9(%6D?S}fhn*N}gd^Evm7 zAyjYc?W*uw_u&gnxf3Y$PpkG`!J!!Vi5M`euJ@%h9l8^ET=zl_D32}=g>!n{n+*T^ z;@E`joF}4jY#0yx3+Bk9x&YD8m7zyEUc{c|CM!cn)M1D%9`Qom9$BDd^z5I3xQ%)z z#=?soF40KPvtN;LRMStMBXd1%LokZ7c-%z@EU2p?JnnLfz(I(2=DmShn@e55@#-Fk zf~a4LXN>a!2b1;e=y84ud~IM;`mCtRZ^W;89)2Ig15` z;{(K)dX6!~2IA@i)}g+~p%K=p<->awiBnrdPR(*WaH({;csU)>ZnYBqKKGmL6H#7W z3P&>+b5p=;uNHW1%)nwcLwmx!1Fdrg;zdEwz$YDq!cW_BDh{6KDZ4&c1Q}F2#FbSp zAR8C~F{`1)3IVjv9*75}LkD%R2D1shrvHC^YgwkAWoi$4hnh9RbY>G+wA=dGeCP0J zZTg3Eav!$VJ8q06CgUKP#AdP#uMvobwAS16q^7mrj66M39Y<`NVPo5?FwGTi8P;1Q zw)wEB6|)Wck%}iOtw?#!D{&{kLv}pkP9m_i(H^5WV8E6@UTXE#kc~%1XQSAl8i@aU z(!($OiZx66Sku&H=p^Q(;v!D<2Tsj|ah`D^CUgo|ZZy(j7xtrYx)|vgW71d6!*cle z1~sW^$5Z;2Tk?p;Lhbg1bF;G^5<+vcv$LZkX*55gDdz8DjagXG>o$ec^>C*Y&#b_d zO~<>t4lBMVDON{aoa2U74wFo3D#TKoU@e2ZUer4w?(@m$Ywfjlsut`NTTkpYU#i&% z!+hV6b#k*O!O}g%ekonN^>|(gYWC z+S~%_jO&^NX)dn(3u>&v07hN~V9`Y!dn6+@=Uu2<1YW)y;x(~< zpG01&yjDpt>7myC$3V^#^9J4$fy^}H#uq?406@5ShO-f47fOs}uZhfqKxXLWyWXZ{ zZQvmUAlLL+;wC;KMG*9zb}{`TP^Rl=NO0fTW z5GYNp^r(l}C_Os+^yq@xF|L`oMgYMZd!mFilS|9r$)5?+KW2Z zXC^%oKcwlydHPghICs2t&kyq6X<1+ll;boD$zz-Q7(U`F8J1_4Yr#Zn_6ie12}}rX zlGCsr$RLOBg&>L@5+8NwWFd@ROcphozVN26c4|OS?T{E*v+=NYS zM`}nB@diw%C%WsR!Z4KKe#u^*fjq-f7SIfCIoccSv0ae&i=DMedPu|jJHHf;@Yhph za|6VSX2OcH#ES5Sn9GC;+-GCIhT;X+GcV}dSlZjbo=WVh1c8I8#Z~soRZd2&RgsGZ zKg_yvWPv_dT~M+`HnnkLvoB!d#Wk7vO}r>wh$%$3Qqxd@H+~X!buO9!s@rJCCCURB z1j865+bXMD0WdxX)&ct&qEH zW_S;>BblL!z-lLi#P!dDJl`gRYeQ_6Y7l<5IuzZ)^gkde+V{FH1)PmlK%x-(7w_D delta 88089 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

+_U=V``#g6J2< ziTXWEF%!hb#|F$Fcyog-RjUQjDVb(?c)H4yk2yTG!XT7Z#-#LEXvM?uY!pT+7^Ef>$ z?@G)YThD{z+vHJL2dVei=Qr~#@QX}Js?+2j2mO*0F!Nb2)e?eKOL(3Jw)3=5r{-0C zWVBa`2`4ah^);uiXE8^;XrnbjSWntiKXTwE&9WZkdeosk`o))6&Rj5Li1-`W-!7w1 zbu^+zRJaiJ!?%-054b1UDKiC|NWj$;$L(vMYF`zNSQLMuUG(CL?Mhoo`<=FTK%HCA zs%lcA@Z z*-dsov{yDQ>;U=TW)lWpmFJD&$7^*1}nr{)W6m%)kAqNIle$V7|j#sYK1 zmTJ;L>I0^@$y146vl@UHhJg^{;Vn$O4Rh&mo=f?JP}#I$OM+T9EJ$HcSXSmFoL~7d zwt@XyIe#w#ys2hk(;QX$Ktvsk2{<`W_1-psPkK+lGhj>#3@?DXP8hZUe&}WRRv0dT z>IhOR{9x37jCnYo%!lLVvUMr)*Z031Vec6Llj^wAX_l9t?rB_ldR<|R=kq``!^Z#I zcd=lL3~MZlIc|f^R2zIBbK@y#gY94PsO1`sf5}tD=z-?6*D2$#6)gepOTtDH1x@#; zyM!=neV5mS&qS9TGHtHu{Nr(QjxsR%t70wGoT9 zQ^#N0a%bSa;-^*{li{9k`fUN;?G2}WC6_(1D74F9VZAVxVlvoHf4mH|H34BBsH7S7 zQY$*qyB~;qA3g~a-RiQANv0!qEv{TL1C;fdO^67lFG?aRlotE{1}eunAZbwunDpfM zAvLoNq&x?Y0(n4g1^{leVDJGdi4*`giC8ZJ6WLuvQ;+R8kPkeJ9^6FK1SS+y$V?1) zwka6M&xXo%0@+g`a^U>989YnF33La;aiG-I>Gmza(iD``5`m{B1Bc4lCIi#jd`NSV zaWCl75#Z5kz??9hsZ{`S%^uTLU_%iYcwFa!hTH|JUIU$qIR$JXUK0j4e;B_^2R0l< zruVlB2v0u+(+NDh5PU)3eV{0t3@~#Z5P>wLuK?M=@gY#V5L~PN1GfvOEdUOMi2>V% zveWb1fUaB#Z1Qb|HVZEU*^i;kKSp56f5Jw2sH9S+Ct!Z&uN;#8({!Uo>xTx diff --git a/ThirdParty/Ert-windows-x64/lib/geometry.lib b/ThirdParty/Ert-windows-x64/lib/geometry.lib index 2d324fc3f193d52a17d2837cb28854b012a0c08e..30f01971157a960419be5b23338e32df23b87adc 100644 GIT binary patch delta 3035 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 delta 4761 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 diff --git a/ThirdParty/Ert-windows/include/buffer.h b/ThirdParty/Ert-windows/include/buffer.h index b52a3b653d..7df53ca7d7 100644 --- a/ThirdParty/Ert-windows/include/buffer.h +++ b/ThirdParty/Ert-windows/include/buffer.h @@ -92,7 +92,7 @@ extern "C" { buffer_type * buffer_fread_alloc(const char * filename); void buffer_fread_realloc(buffer_type * buffer , const char * filename); -#ifdef HAVE_ZLIB +#ifdef WITH_ZLIB size_t buffer_fwrite_compressed(buffer_type * buffer, const void * ptr , size_t byte_size); size_t buffer_fread_compressed(buffer_type * buffer , size_t compressed_size , void * target_ptr , size_t target_size); #endif diff --git a/ThirdParty/Ert-windows/include/ecl_grid.h b/ThirdParty/Ert-windows/include/ecl_grid.h index c2a4cb358a..1405fbda00 100644 --- a/ThirdParty/Ert-windows/include/ecl_grid.h +++ b/ThirdParty/Ert-windows/include/ecl_grid.h @@ -61,11 +61,15 @@ extern "C" { bool ecl_grid_ijk_valid(const ecl_grid_type * , int , int , int ); int ecl_grid_get_global_index3(const ecl_grid_type * , int , int , int ); int ecl_grid_get_global_index1A(const ecl_grid_type * ecl_grid , int active_index); + ecl_grid_type * ecl_grid_alloc_GRDECL_kw( int nx, int ny , int nz , const ecl_kw_type * zcorn_kw , const ecl_kw_type * coord_kw , const ecl_kw_type * actnum_kw , const ecl_kw_type * mapaxes_kw ); ecl_grid_type * ecl_grid_alloc_GRDECL_data(int , int , int , const float * , const float * , const int * , const float * mapaxes); ecl_grid_type * ecl_grid_alloc_GRID_data(int num_coords , int nx, int ny , int nz , int coords_size , int ** coords , float ** corners , const float * mapaxes); ecl_grid_type * ecl_grid_alloc(const char * ); ecl_grid_type * ecl_grid_load_case( const char * case_input ); + ecl_grid_type * ecl_grid_alloc_rectangular( int nx , int ny , int nz , double dx , double dy , double dz , const int * actnum); + ecl_grid_type * ecl_grid_alloc_regular( int nx, int ny , int nz , const double * ivec, const double * jvec , const double * kvec , const int * actnum); + bool ecl_grid_exists( const char * case_input ); char * ecl_grid_alloc_case_filename( const char * case_input ); @@ -148,6 +152,9 @@ extern "C" { ecl_kw_type * ecl_grid_alloc_hostnum_kw( const ecl_grid_type * grid ); ecl_kw_type * ecl_grid_alloc_gridhead_kw( int nx, int ny , int nz , int grid_nr); + void ecl_grid_ri_export( const ecl_grid_type * ecl_grid , double * ri_points); + void ecl_grid_cell_ri_export( const ecl_grid_type * ecl_grid , int global_index , double * ri_points); + #ifdef __cplusplus } #endif diff --git a/ThirdParty/Ert-windows/include/ecl_kw.h b/ThirdParty/Ert-windows/include/ecl_kw.h index f27ee05c40..986ff5eb38 100644 --- a/ThirdParty/Ert-windows/include/ecl_kw.h +++ b/ThirdParty/Ert-windows/include/ecl_kw.h @@ -103,9 +103,6 @@ extern "C" { bool ecl_kw_is_grdecl_file(FILE * ); bool ecl_kw_is_kw_file(FILE * , bool ); - void ecl_kw_inplace_sub(ecl_kw_type * , const ecl_kw_type * ); - void ecl_kw_inplace_mul(ecl_kw_type * , const ecl_kw_type * ); - void ecl_kw_inplace_div(ecl_kw_type * , const ecl_kw_type * ); double ecl_kw_element_sum_float( const ecl_kw_type * ecl_kw ); void ecl_kw_inplace_inv(ecl_kw_type * my_kw); @@ -113,8 +110,6 @@ extern "C" { void ecl_kw_max_min(const ecl_kw_type * , void * , void *); void * ecl_kw_get_void_ptr(const ecl_kw_type * ecl_kw); - double ecl_kw_iget_as_double(const ecl_kw_type * , int ); - ecl_kw_type * ecl_kw_buffer_alloc(buffer_type * buffer); void ecl_kw_buffer_store(const ecl_kw_type * ecl_kw , buffer_type * buffer); @@ -149,29 +144,29 @@ extern "C" { void ecl_kw_copy_indexed( ecl_kw_type * target_kw , const int_vector_type * index_set , const ecl_kw_type * src_kw); bool ecl_kw_assert_binary_numeric( const ecl_kw_type * kw1, const ecl_kw_type * kw2); -#define ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( ctype ) bool ecl_kw_assert_binary_ ## ctype( const ecl_kw_type * kw1 , const ecl_kw_type * kw2); - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( int ) - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( float ) - ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( double ) +#define ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( ctype ) bool ecl_kw_assert_binary_ ## ctype( const ecl_kw_type * kw1 , const ecl_kw_type * kw2) + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( int ); + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( float ); + ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER( double ); #undef ECL_KW_ASSERT_TYPED_BINARY_OP_HEADER -#define ECL_KW_SCALE_TYPED_HEADER( ctype ) void ecl_kw_scale_ ## ctype (ecl_kw_type * ecl_kw , ctype scale_factor); - ECL_KW_SCALE_TYPED_HEADER( int ) - ECL_KW_SCALE_TYPED_HEADER( float ) - ECL_KW_SCALE_TYPED_HEADER( double ) +#define ECL_KW_SCALE_TYPED_HEADER( ctype ) void ecl_kw_scale_ ## ctype (ecl_kw_type * ecl_kw , ctype scale_factor) + ECL_KW_SCALE_TYPED_HEADER( int ); + ECL_KW_SCALE_TYPED_HEADER( float ); + ECL_KW_SCALE_TYPED_HEADER( double ); #undef ECL_KW_SCALE_TYPED_HEADER void ecl_kw_scale_float_or_double( ecl_kw_type * ecl_kw , double scale_factor ); -#define ECL_KW_SHIFT_TYPED_HEADER( ctype ) void ecl_kw_shift_ ## ctype (ecl_kw_type * ecl_kw , ctype shift_factor); - ECL_KW_SHIFT_TYPED_HEADER( int ) - ECL_KW_SHIFT_TYPED_HEADER( float ) - ECL_KW_SHIFT_TYPED_HEADER( double ) +#define ECL_KW_SHIFT_TYPED_HEADER( ctype ) void ecl_kw_shift_ ## ctype (ecl_kw_type * ecl_kw , ctype shift_factor) + ECL_KW_SHIFT_TYPED_HEADER( int ); + ECL_KW_SHIFT_TYPED_HEADER( float ); + ECL_KW_SHIFT_TYPED_HEADER( double ); #undef ECL_KW_SHIFT_TYPED_HEADER void ecl_kw_shift_float_or_double( ecl_kw_type * ecl_kw , double shift_value ); -#define ECL_KW_IGET_TYPED_HEADER(type) type ecl_kw_iget_ ## type(const ecl_kw_type * , int); +#define ECL_KW_IGET_TYPED_HEADER(type) type ecl_kw_iget_ ## type(const ecl_kw_type * , int) ECL_KW_IGET_TYPED_HEADER(double); ECL_KW_IGET_TYPED_HEADER(float); ECL_KW_IGET_TYPED_HEADER(int); @@ -179,7 +174,7 @@ extern "C" { bool ecl_kw_iget_bool( const ecl_kw_type * ecl_kw , int i ); -#define ECL_KW_ISET_TYPED_HEADER(type) void ecl_kw_iset_ ## type(ecl_kw_type * , int , type ); +#define ECL_KW_ISET_TYPED_HEADER(type) void ecl_kw_iset_ ## type(ecl_kw_type * , int , type ) ECL_KW_ISET_TYPED_HEADER(double); ECL_KW_ISET_TYPED_HEADER(float); ECL_KW_ISET_TYPED_HEADER(int); @@ -187,7 +182,7 @@ extern "C" { void ecl_kw_iset_bool( ecl_kw_type * ecl_kw , int i , bool bool_value); -#define ECL_KW_GET_TYPED_PTR_HEADER(type) type * ecl_kw_get_ ## type ## _ptr(const ecl_kw_type *); +#define ECL_KW_GET_TYPED_PTR_HEADER(type) type * ecl_kw_get_ ## type ## _ptr(const ecl_kw_type *) ECL_KW_GET_TYPED_PTR_HEADER(double); ECL_KW_GET_TYPED_PTR_HEADER(float); ECL_KW_GET_TYPED_PTR_HEADER(int); @@ -195,31 +190,31 @@ extern "C" { #undef ECL_KW_GET_TYPED_PTR_HEADER -#define ECL_KW_SET_INDEXED_HEADER(ctype ) void ecl_kw_set_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype value); +#define ECL_KW_SET_INDEXED_HEADER(ctype ) void ecl_kw_set_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype value) ECL_KW_SET_INDEXED_HEADER( double ); ECL_KW_SET_INDEXED_HEADER( float ); ECL_KW_SET_INDEXED_HEADER( int ); #undef ECL_KW_SET_INDEXED_HEADER -#define ECL_KW_SHIFT_INDEXED_HEADER(ctype) void ecl_kw_shift_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype shift); - ECL_KW_SHIFT_INDEXED_HEADER( int ) - ECL_KW_SHIFT_INDEXED_HEADER( float ) - ECL_KW_SHIFT_INDEXED_HEADER( double ) +#define ECL_KW_SHIFT_INDEXED_HEADER(ctype) void ecl_kw_shift_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype shift) + ECL_KW_SHIFT_INDEXED_HEADER( int ); + ECL_KW_SHIFT_INDEXED_HEADER( float ); + ECL_KW_SHIFT_INDEXED_HEADER( double ); #undef ECL_KW_SHIFT_INDEXED_HEADER -#define ECL_KW_SCALE_INDEXED_HEADER(ctype) void ecl_kw_scale_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype scale); - ECL_KW_SCALE_INDEXED_HEADER( int ) - ECL_KW_SCALE_INDEXED_HEADER( float ) - ECL_KW_SCALE_INDEXED_HEADER( double ) +#define ECL_KW_SCALE_INDEXED_HEADER(ctype) void ecl_kw_scale_indexed_ ## ctype( ecl_kw_type * ecl_kw, const int_vector_type * index_list , ctype scale) + ECL_KW_SCALE_INDEXED_HEADER( int ); + ECL_KW_SCALE_INDEXED_HEADER( float ); + ECL_KW_SCALE_INDEXED_HEADER( double ); #undef ECL_KW_SCALE_INDEXED_HEADER -#define ECL_KW_MAX_MIN_HEADER( ctype ) void ecl_kw_max_min_ ## ctype( const ecl_kw_type * ecl_kw , ctype * _max , ctype * _min); - ECL_KW_MAX_MIN_HEADER( int ) - ECL_KW_MAX_MIN_HEADER( float ) - ECL_KW_MAX_MIN_HEADER( double ) +#define ECL_KW_MAX_MIN_HEADER( ctype ) void ecl_kw_max_min_ ## ctype( const ecl_kw_type * ecl_kw , ctype * _max , ctype * _min) + ECL_KW_MAX_MIN_HEADER( int ); + ECL_KW_MAX_MIN_HEADER( float ); + ECL_KW_MAX_MIN_HEADER( double ); #undef ECL_KW_MAX_MIN_HEADER #include diff --git a/ThirdParty/Ert-windows/include/ecl_kw_magic.h b/ThirdParty/Ert-windows/include/ecl_kw_magic.h index d6453617b0..d47790820e 100644 --- a/ThirdParty/Ert-windows/include/ecl_kw_magic.h +++ b/ThirdParty/Ert-windows/include/ecl_kw_magic.h @@ -255,6 +255,9 @@ extern "C" { /* Common keywords */ #define SPECGRID_KW "SPECGRID" +#define SPECGRID_NX_INDEX 0 +#define SPECGRID_NY_INDEX 1 +#define SPECGRID_NZ_INDEX 2 #define MAPAXES_KW "MAPAXES" /* Keyword used to transform from grid coordinates to world coordinates. */ #define LGR_KW "LGR" /* Name of LGR; for GRID files it can contain two elements, diff --git a/ThirdParty/Ert-windows/include/ecl_smspec.h b/ThirdParty/Ert-windows/include/ecl_smspec.h index 1c122094e5..20046b3595 100644 --- a/ThirdParty/Ert-windows/include/ecl_smspec.h +++ b/ThirdParty/Ert-windows/include/ecl_smspec.h @@ -44,8 +44,9 @@ typedef struct ecl_smspec_struct ecl_smspec_type; ecl_smspec_install_gen_key() must be updated. */ const int_vector_type * ecl_smspec_get_index_map( const ecl_smspec_type * smspec ); - - void ecl_smspec_add_node(ecl_smspec_type * ecl_smspec, smspec_node_type * smspec_node); + void ecl_smspec_index_node( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node); + void ecl_smspec_insert_node(ecl_smspec_type * ecl_smspec, smspec_node_type * smspec_node); + void ecl_smspec_add_node( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node ); ecl_smspec_var_type ecl_smspec_iget_var_type( const ecl_smspec_type * smspec , int index ); bool ecl_smspec_needs_num( ecl_smspec_var_type var_type ); bool ecl_smspec_needs_wgname( ecl_smspec_var_type var_type ); @@ -112,7 +113,7 @@ typedef struct ecl_smspec_struct ecl_smspec_type; - + void ecl_smspec_init_var( ecl_smspec_type * ecl_smspec , smspec_node_type * smspec_node , const char * keyword , const char * wgname , int num, const char * unit ); void ecl_smspec_select_matching_general_var_list( const ecl_smspec_type * smspec , const char * pattern , stringlist_type * keys); stringlist_type * ecl_smspec_alloc_matching_general_var_list(const ecl_smspec_type * smspec , const char * pattern); diff --git a/ThirdParty/Ert-windows/include/ecl_sum.h b/ThirdParty/Ert-windows/include/ecl_sum.h index f336ceb3db..c575b85ae7 100644 --- a/ThirdParty/Ert-windows/include/ecl_sum.h +++ b/ThirdParty/Ert-windows/include/ecl_sum.h @@ -173,6 +173,8 @@ typedef struct ecl_sum_struct ecl_sum_type; void ecl_sum_fwrite( const ecl_sum_type * ecl_sum ); void ecl_sum_fwrite_smspec( const ecl_sum_type * ecl_sum ); smspec_node_type * ecl_sum_add_var( ecl_sum_type * ecl_sum , const char * keyword , const char * wgname , int num , const char * unit , float default_value); + smspec_node_type * ecl_sum_add_blank_var( ecl_sum_type * ecl_sum , float default_value); + void ecl_sum_init_var( ecl_sum_type * ecl_sum , smspec_node_type * smspec_node , const char * keyword , const char * wgname , int num , const char * unit); ecl_sum_tstep_type * ecl_sum_add_tstep( ecl_sum_type * ecl_sum , int report_step , double sim_days); void ecl_sum_update_wgname( ecl_sum_type * ecl_sum , smspec_node_type * node , const char * wgname ); diff --git a/ThirdParty/Ert-windows/include/matrix.h b/ThirdParty/Ert-windows/include/matrix.h index f71c1cec86..a44fd96866 100644 --- a/ThirdParty/Ert-windows/include/matrix.h +++ b/ThirdParty/Ert-windows/include/matrix.h @@ -131,6 +131,7 @@ typedef struct matrix_struct matrix_type; double matrix_trace(const matrix_type *matrix); double matrix_diag_std(const matrix_type * Sk,double mean); double matrix_det3( const matrix_type * A); + double matrix_det4( const matrix_type * A); #ifdef HAVE_ISFINITE bool matrix_is_finite(const matrix_type * matrix); diff --git a/ThirdParty/Ert-windows/include/path_fmt.h b/ThirdParty/Ert-windows/include/path_fmt.h index 6440e49268..fc913fef86 100644 --- a/ThirdParty/Ert-windows/include/path_fmt.h +++ b/ThirdParty/Ert-windows/include/path_fmt.h @@ -25,22 +25,21 @@ extern "C" { #include #include -typedef struct path_fmt_struct path_fmt_type; - - -path_fmt_type * path_fmt_safe_cast(const void * arg); -path_fmt_type * path_fmt_alloc_directory_fmt(const char * ); -path_fmt_type * path_fmt_alloc_path_fmt(const char * ); -path_fmt_type * path_fmt_copyc(const path_fmt_type *); -path_fmt_type * path_fmt_scanf_alloc(const char * , int , const node_ctype * , bool ); -char * path_fmt_alloc_path(const path_fmt_type * , bool , ...); -char * path_fmt_alloc_file(const path_fmt_type * , bool , ...); -void path_fmt_free(path_fmt_type * ); -const char * path_fmt_get_fmt(const path_fmt_type * ); -void path_fmt_reset_fmt(path_fmt_type * , const char * ); -void path_fmt_make_path(const path_fmt_type * ); -path_fmt_type * path_fmt_realloc_path_fmt( path_fmt_type * path_fmt, const char * fmt ); - + typedef struct path_fmt_struct path_fmt_type; + + path_fmt_type * path_fmt_alloc_directory_fmt(const char * ); + path_fmt_type * path_fmt_alloc_path_fmt(const char * ); + path_fmt_type * path_fmt_copyc(const path_fmt_type *); + path_fmt_type * path_fmt_scanf_alloc(const char * , int , const node_ctype * , bool ); + char * path_fmt_alloc_path(const path_fmt_type * , bool , ...); + char * path_fmt_alloc_file(const path_fmt_type * , bool , ...); + void path_fmt_free(path_fmt_type * ); + void path_fmt_free__( void * arg ); + const char * path_fmt_get_fmt(const path_fmt_type * ); + void path_fmt_reset_fmt(path_fmt_type * , const char * ); + void path_fmt_make_path(const path_fmt_type * ); + path_fmt_type * path_fmt_realloc_path_fmt( path_fmt_type * path_fmt, const char * fmt ); + #ifdef __cplusplus } #endif diff --git a/ThirdParty/Ert-windows/include/smspec_node.h b/ThirdParty/Ert-windows/include/smspec_node.h index f5c498fce3..cd5ec9a3b1 100644 --- a/ThirdParty/Ert-windows/include/smspec_node.h +++ b/ThirdParty/Ert-windows/include/smspec_node.h @@ -68,6 +68,15 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , char * smspec_alloc_local_completion_key( const char * join_string, const char * keyword , const char * lgr_name , const char * wgname , int i , int j , int k); + bool smspec_node_init( smspec_node_type * smspec_node, + ecl_smspec_var_type var_type , + const char * wgname , + const char * keyword , + const char * unit , + const char * key_join_string , + const int grid_dims[3] , + int num); + smspec_node_type * smspec_node_alloc( ecl_smspec_var_type var_type , const char * wgname , @@ -87,6 +96,7 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , int param_index, float default_value); + smspec_node_type * smspec_node_alloc_new(int params_index, float default_value); void smspec_node_free( smspec_node_type * index ); void smspec_node_free__(void * arg); @@ -100,11 +110,15 @@ typedef enum {ECL_SMSPEC_INVALID_VAR = 0 , void smspec_node_update_wgname( smspec_node_type * index , const char * wgname , const char * key_join_string); const char * smspec_node_get_keyword( const smspec_node_type * smspec_node); const char * smspec_node_get_unit( const smspec_node_type * smspec_node); + void smspec_node_set_unit( smspec_node_type * smspec_node , const char * unit ); bool smspec_node_is_rate( const smspec_node_type * smspec_node ); bool smspec_node_is_total( const smspec_node_type * smspec_node ); bool smspec_node_need_nums( const smspec_node_type * smspec_node ); - float smspec_node_get_default_value( const smspec_node_type * smspec_node ); void smspec_node_fprintf( const smspec_node_type * smspec_node , FILE * stream); + + void smspec_node_set_default( smspec_node_type * smspec_node , float default_value); + float smspec_node_get_default( const smspec_node_type * smspec_node); + #ifdef __cplusplus } diff --git a/ThirdParty/Ert-windows/include/thread_pool.h b/ThirdParty/Ert-windows/include/thread_pool.h index 0aa675360a..0f4fbe4e0a 100644 --- a/ThirdParty/Ert-windows/include/thread_pool.h +++ b/ThirdParty/Ert-windows/include/thread_pool.h @@ -18,8 +18,8 @@ #ifndef __THREAD_POOL_H__ #define __THREAD_POOL_H__ -#ifdef HAVE_PTHREAD -#define HAVE_THREAD_POOL +#ifdef WITH_PTHREAD +#define WITH_THREAD_POOL #include "thread_pool_posix.h" #endif diff --git a/ThirdParty/Ert-windows/include/util.h b/ThirdParty/Ert-windows/include/util.h index 671e99fd1e..063f8807dc 100644 --- a/ThirdParty/Ert-windows/include/util.h +++ b/ThirdParty/Ert-windows/include/util.h @@ -405,7 +405,7 @@ const char * util_enum_iget( int index , int size , const util_enum_element_type /*****************************************************************/ /* Conditional section below here */ -#ifdef HAVE_ZLIB +#ifdef WITH_ZLIB void util_compress_buffer(const void * , int , void * , unsigned long * ); int util_fread_sizeof_compressed(FILE * stream); void util_fread_compressed(void * , FILE * ); diff --git a/ThirdParty/Ert-windows/include/vector.h b/ThirdParty/Ert-windows/include/vector.h index 6a405858de..48394de0ea 100644 --- a/ThirdParty/Ert-windows/include/vector.h +++ b/ThirdParty/Ert-windows/include/vector.h @@ -23,60 +23,62 @@ extern "C" { #endif #include +#include -typedef void ( vector_func_type ) (void * , void *); -typedef int ( vector_cmp_ftype) (const void * , const void *); - -typedef struct vector_struct vector_type; + typedef void ( vector_func_type ) (void * , void *); + typedef int ( vector_cmp_ftype) (const void * , const void *); + + typedef struct vector_struct vector_type; + vector_type * vector_alloc_new(); + void vector_grow_NULL( vector_type * vector , int new_size ); + vector_type * vector_alloc_NULL_initialized( int size ); -vector_type * vector_alloc_new(); -vector_type * vector_alloc_NULL_initialized( int size ); - -int vector_append_ref( vector_type * , const void *); -int vector_append_owned_ref( vector_type * , const void * , free_ftype * del); -int vector_append_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); - -void vector_iset_ref( vector_type * , int , const void *); -void vector_iset_owned_ref( vector_type * , int , const void * , free_ftype * del); -void vector_iset_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); - -void vector_safe_iset_copy(vector_type * vector , int index , const void * data, copyc_ftype * copyc , free_ftype * del); -void vector_safe_iset_owned_ref(vector_type * vector , int index , const void * data, free_ftype * del); -void vector_safe_iset_ref(vector_type * vector , int index , const void * data); - -void vector_insert_ref( vector_type * , int , const void *); -void vector_insert_owned_ref( vector_type * , int , const void * , free_ftype * del); -void vector_insert_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); -void vector_insert_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); - -void vector_push_ref( vector_type * , const void *); -void vector_push_owned_ref( vector_type * , const void * , free_ftype * del); -void vector_push_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); - - -void vector_clear(vector_type * vector); -void vector_free(vector_type * ); -void vector_free__( void * arg ); -void vector_append_buffer(vector_type * , const void * , int); -void vector_push_buffer(vector_type * , const void * , int); -int vector_get_size(const vector_type * ); -void * vector_safe_iget(const vector_type * vector, int index); -const void * vector_safe_iget_const(const vector_type * vector, int index); -const void * vector_iget_const(const vector_type * , int ); -void * vector_iget(const vector_type * , int ); -void vector_idel(vector_type * vector , int index); -void vector_shrink( vector_type * vector , int new_size ); -void * vector_get_last(const vector_type * ); -const void * vector_get_last_const(const vector_type * ); -int vector_get_size( const vector_type * ); -void * vector_pop(vector_type * ); -void vector_sort(vector_type * vector , vector_cmp_ftype * cmp); -vector_type * vector_alloc_copy(const vector_type * src , bool deep_copy); - -void vector_iset_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); - + int vector_append_ref( vector_type * , const void *); + int vector_append_owned_ref( vector_type * , const void * , free_ftype * del); + int vector_append_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); + + void vector_iset_ref( vector_type * , int , const void *); + void vector_iset_owned_ref( vector_type * , int , const void * , free_ftype * del); + void vector_iset_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); + + void vector_safe_iset_copy(vector_type * vector , int index , const void * data, copyc_ftype * copyc , free_ftype * del); + void vector_safe_iset_owned_ref(vector_type * vector , int index , const void * data, free_ftype * del); + void vector_safe_iset_ref(vector_type * vector , int index , const void * data); + + void vector_insert_ref( vector_type * , int , const void *); + void vector_insert_owned_ref( vector_type * , int , const void * , free_ftype * del); + void vector_insert_copy(vector_type * , int , const void *, copyc_ftype *, free_ftype *); + void vector_insert_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); + + void vector_push_ref( vector_type * , const void *); + void vector_push_owned_ref( vector_type * , const void * , free_ftype * del); + void vector_push_copy(vector_type * , const void *, copyc_ftype *, free_ftype *); + + + void vector_clear(vector_type * vector); + void vector_free(vector_type * ); + void vector_free__( void * arg ); + void vector_append_buffer(vector_type * , const void * , int); + void vector_push_buffer(vector_type * , const void * , int); + int vector_get_size(const vector_type * ); + void * vector_safe_iget(const vector_type * vector, int index); + const void * vector_safe_iget_const(const vector_type * vector, int index); + const void * vector_iget_const(const vector_type * , int ); + void * vector_iget(const vector_type * , int ); + void vector_idel(vector_type * vector , int index); + void vector_shrink( vector_type * vector , int new_size ); + void * vector_get_last(const vector_type * ); + const void * vector_get_last_const(const vector_type * ); + int vector_get_size( const vector_type * ); + void * vector_pop(vector_type * ); + void vector_sort(vector_type * vector , vector_cmp_ftype * cmp); + vector_type * vector_alloc_copy(const vector_type * src , bool deep_copy); + + void vector_iset_buffer(vector_type * vector , int index , const void * buffer, int buffer_size); + + UTIL_IS_INSTANCE_HEADER( vector ); #ifdef __cplusplus } diff --git a/ThirdParty/Ert-windows/lib/ecl.lib b/ThirdParty/Ert-windows/lib/ecl.lib index c28d666bb64605d5b56b13f50d43f41c41f1a7d4..9eb1f76365ce0f7b311033bdf841e8054c256a7d 100644 GIT binary patch delta 93571 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 K!R?3|9rGWk#u9P> delta 88090 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